diff --git a/package.json b/package.json index bdfa2f9c7..75f14f389 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "check:plan": "node refactor/scripts/plan.mjs --check", "test:node": "yarn test:unit && node --test test/toolchain.test.js test/build-docs.test.js test/package-check.test.js test/declarations.test.js test/editor-types.test.js test/coverage.test.js test/performance-report.test.js test/media-gate.test.js", "test:baseline": "node --test refactor/scripts/*.test.mjs", - "ci:check": "yarn check:toolchain --strict && yarn check:commits --report && yarn check:impact --report && yarn check:plan && yarn lint && yarn check:types && yarn typecheck && yarn test", + "ci:check": "yarn check:toolchain --strict && yarn check:commits --report && yarn check:impact --report && yarn test:contracts && yarn check:contracts --report && yarn check:plan && yarn lint && yarn check:types && yarn typecheck && yarn test", "ci:build": "yarn build:types && yarn build all && yarn build:i18n && yarn build:ts && yarn build:docs && yarn test:imports", "test:imports": "node --test test/esm.test.js test/i18n.test.js test/ssr.test.js", "typecheck": "node scripts/typecheck.mjs", @@ -67,7 +67,9 @@ "test:ads-native-visibility": "node refactor/scripts/ads-native-visibility.mjs", "test:vast": "node --test test/vast.test.js test/vast-lifecycle.test.js", "check:commits": "node refactor/scripts/commit-audit.mjs", - "check:impact": "node refactor/scripts/impact.mjs" + "check:impact": "node refactor/scripts/impact.mjs", + "check:contracts": "node refactor/scripts/contracts.mjs", + "test:contracts": "node refactor/scripts/run-contracts.mjs" }, "browserslist": "last 1 Chrome version", "devDependencies": { diff --git a/refactor/README.md b/refactor/README.md index edfe44f89..a8b85fcc1 100644 --- a/refactor/README.md +++ b/refactor/README.md @@ -20,6 +20,7 @@ | [阶段路线](roadmap.md) | 执行顺序、里程碑、范围和阶段出口 | | [执行门槛与分批交付](execution-gates.md) | 最小启动基线、早期试点、历史失败、设备门槛和分包准入 | | [兼容性契约](compatibility.md) | 不可静默改变的接口、行为、类型、样式与包分发约定 | +| [契约覆盖与证据索引](contract-coverage.md) | 22包逐类责任、稳定测试ID、精确版本依据和候选/历史报告对应 | | [核心设计](core-design.md) | 核心各模块的目标职责、迁移方式和生命周期设计 | | [核心阶段验收范围](core-acceptance.md) | 核心契约、已处置差异、性能风险与后续生态/发布门槛 | | [包迁移规范](packages.md) | 全生态统一流程、组合矩阵及包特有风险 | diff --git a/refactor/ai-workflow.md b/refactor/ai-workflow.md index d9441330b..45ee9cf9b 100644 --- a/refactor/ai-workflow.md +++ b/refactor/ai-workflow.md @@ -1,5 +1,8 @@ # AI 协作与文档维护 +契约修改同时维护 [覆盖索引](contract-coverage.md):固定测试ID、精确版本、断言范围 +和候选报告必须对应;旧报告、skip及未索引用例不能折算成当前整包通过。 + AI 用于源码分析、任务拆分、实现、测试和差异审查。现代化的验收是可验证的类型、行为和构建质量,不以生成代码量为指标。 ## 开始任务 diff --git a/refactor/baselines/contract-observations/2026-09-12-source-final.json b/refactor/baselines/contract-observations/2026-09-12-source-final.json new file mode 100644 index 000000000..64818f6a0 --- /dev/null +++ b/refactor/baselines/contract-observations/2026-09-12-source-final.json @@ -0,0 +1,4504 @@ +{ + "schemaVersion": 1, + "command": "yarn test:contracts", + "invocation": [ + "D:\\github\\ArtPlayer\\refactor\\.cache\\toolchains\\node-v24.21.0-win-x64\\node.exe", + "--test", + "--test-reporter=./refactor/scripts/contract-reporter.mjs", + "test/options.test.js", + "test/plugins.test.js", + "test/public-behavior.test.js", + "test/storage.test.js", + "test/chapter.test.js" + ], + "head": "6abac891ceb42bbff2c285befab3fda85490c3e9", + "capturedAt": "2026-09-12T02:37:34.102Z", + "environment": { + "node": "v24.21.0", + "platform": "win32", + "arch": "x64", + "artifactOverrides": "cleared" + }, + "candidate": { + "digest": "54d9523031134ab84df259c50aaa02c80f00cd1215944c5f134f100807f1f723", + "inputs": [ + { + "file": ".node-version", + "sha256": "73fb1b615e2043a933be1c0895cde4358036acc28d785692509b822aa53c761f" + }, + { + "file": "package.json", + "sha256": "a114d0f1c1532e90984a93cc703dfcb250107f5de56b5a62bf4c30ad4f64c25b" + }, + { + "file": "packages/artplayer-plugin-ads/package.json", + "sha256": "9a7d0a2e917902bb64282566e96123244a81aa4859a82c6b1c711d639660a9bf" + }, + { + "file": "packages/artplayer-plugin-ads/src/countdown.ts", + "sha256": "7dab796a3d8fb757da7f87e4396403f0687af52d0876cf74ebb2b8db7c2e752a" + }, + { + "file": "packages/artplayer-plugin-ads/src/index.ts", + "sha256": "7b0e155a6371c71a5c3f5ba0e9e95737648a2b73b0cf124536de8b6f79a92371" + }, + { + "file": "packages/artplayer-plugin-ads/src/options.ts", + "sha256": "3ce2ad78b9f0288314fa75adf14776adf10f2205789268e9599a6d551b3b8b4f" + }, + { + "file": "packages/artplayer-plugin-ads/src/resources.ts", + "sha256": "ba0d5b5f25d79929a39a9cda6b80b9e60a2b746e20312aa658d84fbb9be6562f" + }, + { + "file": "packages/artplayer-plugin-ads/src/session.ts", + "sha256": "c45b0c63870975cf8fbd6f93340427de387d9dc15c56dfb3ad2ddacad8380e63" + }, + { + "file": "packages/artplayer-plugin-ads/src/style.less", + "sha256": "ba2622929cbec1f091ff58b3662acf1c22d8029909211c6c84085753397d6ca5" + }, + { + "file": "packages/artplayer-plugin-ads/src/types.ts", + "sha256": "219d5b06bdbece09b88640fe6f2bc27c44dd34eff5909cec9f7405a9dced759a" + }, + { + "file": "packages/artplayer-plugin-ads/src/view.ts", + "sha256": "7d2cba7a3e20ce02288627723ebc9256d61cee313c3a7d00a31373b7f250eb91" + }, + { + "file": "packages/artplayer-plugin-ads/types/artplayer-plugin-ads.d.cts", + "sha256": "ccd2d5f47bb94f00cad3950d8fa8670f6fd46b384876b0d1c0325ff209a1a1d1" + }, + { + "file": "packages/artplayer-plugin-ads/types/artplayer-plugin-ads.d.mts", + "sha256": "f8c5b9843d0992c2f01200581b8d1c166ba4d3423ccc87496c0a4c0bae5a9c5b" + }, + { + "file": "packages/artplayer-plugin-ads/types/artplayer-plugin-ads.d.ts", + "sha256": "a347e5a3e244ff0e58a28cad7c0e84adcdbadbef4dfe2128c525e6d317e7e0bb" + }, + { + "file": "packages/artplayer-plugin-ads/types/runtime/index.d.cts", + "sha256": "d97fbe931948bce1eb4ab3be7780f096a4b0095db31c1d82b4df1f80ab5c2d90" + }, + { + "file": "packages/artplayer-plugin-ads/types/runtime/index.d.mts", + "sha256": "5f1f7a86be47bd72571e2665f37007c7c250ea0b774806c4864221bd7bef5bc5" + }, + { + "file": "packages/artplayer-plugin-ads/types/runtime/index.d.ts", + "sha256": "ddaa0c124b4d1d2b673f1305bbe625dda83d4296eb7d0a9ede202201bd483b8e" + }, + { + "file": "packages/artplayer-plugin-ambilight/package.json", + "sha256": "dbd40cd642ad1669002e319e91165eaeb141d27679e2d40ea43314d29d35f9e7" + }, + { + "file": "packages/artplayer-plugin-ambilight/src/index.js", + "sha256": "c56e0a1c33a2ff54b20e6bc7eafd3e14b163e3f967cce86d48e594a2f6d1f6fe" + }, + { + "file": "packages/artplayer-plugin-ambilight/types/artplayer-plugin-ambilight.d.ts", + "sha256": "06f86ccc7c6da280c2fdbcb047d12cc51f87c70cd36cedb7274c20f24df5423e" + }, + { + "file": "packages/artplayer-plugin-asr/package.json", + "sha256": "56c6824c136927994ec0e1ea6490eede6d9c153372278b7ee220712cf1e7671c" + }, + { + "file": "packages/artplayer-plugin-asr/src/index.js", + "sha256": "af24a6334298d636235d3af417bdea83444d200563ba6df054b66c53cdaef47f" + }, + { + "file": "packages/artplayer-plugin-asr/src/style.less", + "sha256": "03d3d7223bd0a74ad1a4d888ceea20bab5b4f48209ffaebf033df3c911270b2c" + }, + { + "file": "packages/artplayer-plugin-asr/types/artplayer-plugin-asr.d.ts", + "sha256": "25756d3d8cd21941ed2bbce5392db8d20659f8a095de28fd6c2708ce5c79a130" + }, + { + "file": "packages/artplayer-plugin-audio-track/package.json", + "sha256": "49cddf50186ed3607a949ffe9277071b742995fbcd68ceb40174209645b3a45c" + }, + { + "file": "packages/artplayer-plugin-audio-track/src/index.ts", + "sha256": "769b3d04261456bfb2c10849486244c9c15529229b658e39e48f8f71403abe49" + }, + { + "file": "packages/artplayer-plugin-audio-track/src/track.ts", + "sha256": "9c6d587dc881e30a4d55746088d0122da5e0051258303d50d14a8fe5f69be2df" + }, + { + "file": "packages/artplayer-plugin-audio-track/types/artplayer-plugin-audio-track.d.cts", + "sha256": "41d0490d3050dbed6927942cc9d83bff76b0c9d36f2b9c0913232a20087a311e" + }, + { + "file": "packages/artplayer-plugin-audio-track/types/artplayer-plugin-audio-track.d.mts", + "sha256": "ad46c24c44fe609c5ff7230b84db4fe54e758fa664caa6359c0fa0feeaa578a9" + }, + { + "file": "packages/artplayer-plugin-audio-track/types/artplayer-plugin-audio-track.d.ts", + "sha256": "90315dee18c05e5b547e75c28bcd4c2ac74f2e52d9261ad5b108f57c742419d8" + }, + { + "file": "packages/artplayer-plugin-audio-track/types/runtime/index.d.cts", + "sha256": "4c04bb8f5034d9cca473d7453498c04639e4cfa8f3ec82c972fcb0a6056b0d12" + }, + { + "file": "packages/artplayer-plugin-audio-track/types/runtime/index.d.mts", + "sha256": "93111e551c7f379dfe844de8134e738acd8ecfdc3f45fbe2bcee5a199863ccc7" + }, + { + "file": "packages/artplayer-plugin-audio-track/types/runtime/index.d.ts", + "sha256": "05a123d7b737ef490ca5e7e5b5283aa3b6ef99732a921360687499d7c3907026" + }, + { + "file": "packages/artplayer-plugin-auto-thumbnail/package.json", + "sha256": "e6d2a072116549fac65bcc22154d1b35bb09b61ca4af08bbb9aec0d6304eecab" + }, + { + "file": "packages/artplayer-plugin-auto-thumbnail/src/index.js", + "sha256": "bc9102c014fbb7b87fe94dc71b779e24a88afb92f5e70a97cf26fcaa2d5a864f" + }, + { + "file": "packages/artplayer-plugin-auto-thumbnail/types/artplayer-plugin-auto-thumbnail.d.ts", + "sha256": "b3fd5197b2d1de81bd80a871103821fc38f5af8faa432265ee1fc04ff3e1e51d" + }, + { + "file": "packages/artplayer-plugin-chapter/package.json", + "sha256": "24eec6907b3218439189adab6af3f932c1497c47c2d41209311c01042b07fd4f" + }, + { + "file": "packages/artplayer-plugin-chapter/src/chapters.ts", + "sha256": "92206f524624ac3a7304677b6a69fda88e62caeca52e1e530d746e51579d3a4d" + }, + { + "file": "packages/artplayer-plugin-chapter/src/index.ts", + "sha256": "83dc022253c0539587590f7a551e090684d1944dcb2010a76e8498a683e7ef36" + }, + { + "file": "packages/artplayer-plugin-chapter/src/progress.ts", + "sha256": "4a18d19ed703772d73622ea3fa9d433dbc2c6092ba244c9bb1ec727368996951" + }, + { + "file": "packages/artplayer-plugin-chapter/src/style.less", + "sha256": "17572a96b62ba5588549edd948b879d119b97c670b40dac428839dd1160db7a8" + }, + { + "file": "packages/artplayer-plugin-chapter/src/stylesheet.ts", + "sha256": "6ccd88b6d17127acf6f6c1f02a7fbb3a55d59f427d2d92c007bf658122abd51c" + }, + { + "file": "packages/artplayer-plugin-chapter/src/types.ts", + "sha256": "07c528f9753cc54c12211276f28ff01a5f6e8f1ef1451b2b534f2d6cfaa17ee9" + }, + { + "file": "packages/artplayer-plugin-chapter/types/artplayer-plugin-chapter.d.cts", + "sha256": "4f07514b37453cd6cea8e5aa28fa018ff31738e0d423c11a3b5eccd50ed30bcc" + }, + { + "file": "packages/artplayer-plugin-chapter/types/artplayer-plugin-chapter.d.mts", + "sha256": "610179754db36276e161a07bccf4eaba8b4480f053e716a2bcc5a1574871a171" + }, + { + "file": "packages/artplayer-plugin-chapter/types/artplayer-plugin-chapter.d.ts", + "sha256": "581aa2862e709601c87a23585f54a969ebd350be56a7469a31ff53f1311b578d" + }, + { + "file": "packages/artplayer-plugin-chromecast/package.json", + "sha256": "0b05a62902477f2e95870ee75c960b2a07892773a5a5e9f600014fb3ffc5d76e" + }, + { + "file": "packages/artplayer-plugin-chromecast/src/cast.svg", + "sha256": "8c0f9ad82c2d6c70afb70ab5002204c4948dd282fbf52095aed4b07fa8d466d4" + }, + { + "file": "packages/artplayer-plugin-chromecast/src/index.js", + "sha256": "2ab8967cf7fdbf9fbac8a9afe73713e66047bad7e4d4afc802665ce594fa3274" + }, + { + "file": "packages/artplayer-plugin-chromecast/types/artplayer-plugin-chromecast.d.ts", + "sha256": "20c22f3ada25b392f0bcaf21e2ac66cdc825d88763aa91a337fc4952b2c810c1" + }, + { + "file": "packages/artplayer-plugin-danmuku-mask/package.json", + "sha256": "b3d64683695e038fe45056b33f5988593a067445df555b41f19f64326b369ea3" + }, + { + "file": "packages/artplayer-plugin-danmuku-mask/src/index.js", + "sha256": "2397900688f86bc74bc86a4e870f69478a651bd8df02bba543cdab832773fd6e" + }, + { + "file": "packages/artplayer-plugin-danmuku-mask/types/artplayer-plugin-danmuku-mask.d.ts", + "sha256": "f2b67f82a6471b79d921a7376b24620d0ed8284a3e1882b0f75a9b38dfac3638" + }, + { + "file": "packages/artplayer-plugin-danmuku/package.json", + "sha256": "26ed024a0aa6be488c658b2b7eba3dd8834871cb027269b5d73ac20d0d25743a" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/bilibili.js", + "sha256": "3235b1e7be09d55971a5fd70b7b87b7d7ff9e2b2c84452a64f095d326d5af897" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/danmuku.js", + "sha256": "1723094f73adb7f8d358c244c52972510d845de03d41263d12a45edecc054df1" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/heatmap.js", + "sha256": "3cf77ff82f62958728445eaf9c044bc4cbcf04a4ea82e753e7c44e59128c16f4" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/img/check_off.svg", + "sha256": "8cb8e31da1bf7b5be8f4065920b46e1988755910218fb121dd3d9649c50156cf" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/img/check_on.svg", + "sha256": "c5a34f56c56b0f696b4e3740c73e803076b5bfdfdee89714793118fc4c6baa84" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/img/config.svg", + "sha256": "bbd7c2952740ac8220f396477eaca3b01f6c249866d880ece38c565cc77c5e36" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/img/mode_0_off.svg", + "sha256": "fe9e5e1745e8206a4eda0d0ac30815f301c37acccec2564bbda51c1fa4bd1e1e" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/img/mode_0_on.svg", + "sha256": "96720a81f0315caf6c70664de934e49d22e6dd070a9f6ca1fec2a9a96af4d138" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/img/mode_1_off.svg", + "sha256": "3ccd22bf3648dc260cd1d0b6a60a9226a853764ae20efb8fe9c940cd856c81b2" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/img/mode_1_on.svg", + "sha256": "2238ca27e3c7c4c687d10de13b794d8be70ae1c5ba9225ebad27f251cfe5f12a" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/img/mode_2_off.svg", + "sha256": "31423e3d67c00839adc77dd871dc1da55f77c8b83b5a37b445e4b4c3f46c6d6d" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/img/mode_2_on.svg", + "sha256": "96b4c9db8d5055c8777fda74cb5e0f32b3e12e62a1e0bacbf75d2088f4505e2f" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/img/off.svg", + "sha256": "4e6743ee28002e16117caf47ea3bffb34ca75bcc4118744b4ee720829ae3b563" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/img/on.svg", + "sha256": "cc0fb7048bff6dc3f14a17ed549209c67e9bc34368cb1571e0abd8035c7b59b7" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/img/style.svg", + "sha256": "9034ea7b9a214a6d4c086c02cf85f42b1c4487cec0906e919fc91e99dfff529a" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/index.js", + "sha256": "c457bb11e68a4ebb393f7dbf47ed3872166b72cf12498fc03187ead6f60ce234" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/setting.js", + "sha256": "ffbaa808551410dc015a5f3ffe4e091f5e1b1bb45eee2d9790cf15cbf82eace2" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/style.less", + "sha256": "a497a7c79c9e8329874eec30f7da436ed35a2f80a35048df1eb7c8f1fe34d6c3" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/worker.js", + "sha256": "05995a16cd728dd5ca513587a777b4be9012b8cc4b77e3a46fed1826e6769c53" + }, + { + "file": "packages/artplayer-plugin-danmuku/types/artplayer-plugin-danmuku.d.ts", + "sha256": "3162fc3db91bff06f0709fa0e6ca78de05053e25436ca215846a6267d4680e53" + }, + { + "file": "packages/artplayer-plugin-dash-control/package.json", + "sha256": "0757055e9d84e95a3fe2278b86aefad75ddf6e3a902a2e010645f82d9936a158" + }, + { + "file": "packages/artplayer-plugin-dash-control/src/audio.svg", + "sha256": "dbee5ce7487c9f8ec927e5286188cf9439345bbe947b6c06c32c07193e01e0be" + }, + { + "file": "packages/artplayer-plugin-dash-control/src/index.ts", + "sha256": "d9604df222dcd3efdf602ae397973f8499fadf9ad4ebe30007e07e18c14c5191" + }, + { + "file": "packages/artplayer-plugin-dash-control/src/mapping.ts", + "sha256": "d3a3c65f3879cb1322fac55d78e5e9527d1994f7b4052ba9743412cb08c1757e" + }, + { + "file": "packages/artplayer-plugin-dash-control/src/menu.ts", + "sha256": "87e94b9a7a44a2211676eb088009725b48c4d714bc0ee88b1e3151fb770548f5" + }, + { + "file": "packages/artplayer-plugin-dash-control/src/quality.svg", + "sha256": "4666a4c01764422f9008e442f5a889ff9691bb0386083d673943a0718f4d680c" + }, + { + "file": "packages/artplayer-plugin-dash-control/src/sdk-events.ts", + "sha256": "a576ebbe34b9705204c096bbbfefd39a330b74ae80830056125a121e5d713ec5" + }, + { + "file": "packages/artplayer-plugin-dash-control/src/sdk.ts", + "sha256": "9afd4dbc949648d7f9bb00d57dba04c71505cdd23312813f60c83a5f5506dc69" + }, + { + "file": "packages/artplayer-plugin-dash-control/src/types.ts", + "sha256": "2ddfc7065db8f65885fb69b54d746f3fed901c7a618863a7237431f8d4fc7bf0" + }, + { + "file": "packages/artplayer-plugin-dash-control/types/artplayer-plugin-dash-control.d.cts", + "sha256": "20cbbeed90e0cd7d7b536b945dd01f31679e4325854aa36b732cb8e6ccc70d02" + }, + { + "file": "packages/artplayer-plugin-dash-control/types/artplayer-plugin-dash-control.d.mts", + "sha256": "f52ae616c501be0685a14cb4e48252c88a67c9d4b0a9c1138921de89521f6b81" + }, + { + "file": "packages/artplayer-plugin-dash-control/types/artplayer-plugin-dash-control.d.ts", + "sha256": "8470943bc5f2461f8b5d7420c0fd53828279c5dd8804c044f4c3b516f433506d" + }, + { + "file": "packages/artplayer-plugin-document-pip/package.json", + "sha256": "ead2d02246866e746ab53f428ae446e880b25ca657e1141b8cc3747f3dc58786" + }, + { + "file": "packages/artplayer-plugin-document-pip/src/index.js", + "sha256": "655818d30d82e43443e9a7ea185f91fc951eb72ad11edaaed0264182e62f32ba" + }, + { + "file": "packages/artplayer-plugin-document-pip/src/style.less", + "sha256": "13e1a09bfdaa432f3dadb11db57f1b4b970ae9e3d95eeba7311ac6d5afedb205" + }, + { + "file": "packages/artplayer-plugin-document-pip/types/artplayer-plugin-document-pip.d.ts", + "sha256": "90725c86b8d7b32b5e222d235a15ffeb45d39e98cb097ca6a49b2faa321f5d1d" + }, + { + "file": "packages/artplayer-plugin-hls-control/package.json", + "sha256": "084bb4aea8dfce9880b062f2cf5e89b1fc94a9b403e835505631aea0e1816014" + }, + { + "file": "packages/artplayer-plugin-hls-control/src/audio.svg", + "sha256": "dbee5ce7487c9f8ec927e5286188cf9439345bbe947b6c06c32c07193e01e0be" + }, + { + "file": "packages/artplayer-plugin-hls-control/src/index.ts", + "sha256": "e108247369ddeba4e2da11b16f5ac34ff8557b95d8dd50dd8b589ca85e3874d6" + }, + { + "file": "packages/artplayer-plugin-hls-control/src/mapping.ts", + "sha256": "f517854a7825ab7783375438040602bcfeab16df0218998208dd9a3b8fe443e3" + }, + { + "file": "packages/artplayer-plugin-hls-control/src/menu.ts", + "sha256": "774c43ebdc86555a3518b3f74d226ac03cdf41035d8cf5dd0ab519b7b144d78b" + }, + { + "file": "packages/artplayer-plugin-hls-control/src/quality.svg", + "sha256": "4666a4c01764422f9008e442f5a889ff9691bb0386083d673943a0718f4d680c" + }, + { + "file": "packages/artplayer-plugin-hls-control/src/sdk-events.ts", + "sha256": "4d9ee92d0720601a2c55b597bf99e7ecaf851d5fd2292adff153c539f33e460a" + }, + { + "file": "packages/artplayer-plugin-hls-control/src/types.ts", + "sha256": "2b9c8927e4c16ab4ce486d63d2ee3fb781a01be8a5423643cabd1ec76b17f98c" + }, + { + "file": "packages/artplayer-plugin-hls-control/types/artplayer-plugin-hls-control.d.cts", + "sha256": "ad4c3e7f7d2ba6b8371108bf08dfa13cccf78a1add846ba53cab8774c8fff0b6" + }, + { + "file": "packages/artplayer-plugin-hls-control/types/artplayer-plugin-hls-control.d.mts", + "sha256": "27a3a17a48f0bc92c3c50783be253730d87d01e9be627ab2726bdc552fecf1f3" + }, + { + "file": "packages/artplayer-plugin-hls-control/types/artplayer-plugin-hls-control.d.ts", + "sha256": "3bce772f8f7cb7b6421b2c2dc4a1ea22987f3f1483f1dca7ca4ab08f75cf7a9d" + }, + { + "file": "packages/artplayer-plugin-jassub/package.json", + "sha256": "643127e3148df8721192c2559977d42e55651ee83b95cdd94c6ea6931993604f" + }, + { + "file": "packages/artplayer-plugin-jassub/src/index.js", + "sha256": "697c2109b34e23bebb76c118a92ee216ae2e23af84bcb351a2138835b1fbd3dc" + }, + { + "file": "packages/artplayer-plugin-jassub/src/jassub.es.js", + "sha256": "b973508ade00b5b9cea2f299d49f4943003372729be7350b6938e44fddb32038" + }, + { + "file": "packages/artplayer-plugin-jassub/types/artplayer-plugin-jassub.d.ts", + "sha256": "0c00ce8fd60780c7c01d23534c193cedd32898dc79739e7cf13d8700a6ab7676" + }, + { + "file": "packages/artplayer-plugin-multiple-subtitles/package.json", + "sha256": "77c93bc94154db46bdc2b2a3d02a03421ea0a49af54728bead91896dfae1092a" + }, + { + "file": "packages/artplayer-plugin-multiple-subtitles/src/index.js", + "sha256": "02d7019e92bed7817d815f04df80605ae0bd94f03e2b8c52022b5f622ba2e2ba" + }, + { + "file": "packages/artplayer-plugin-multiple-subtitles/src/parser.js", + "sha256": "ba582074d57fa2d72880e6e4253fe14646787916b2b68e2a1e748e685cf96ab1" + }, + { + "file": "packages/artplayer-plugin-multiple-subtitles/types/artplayer-plugin-multiple-subtitles.d.ts", + "sha256": "ab5dae1d0bdfcf2515cb842b1d465edf21dd195fe2fc5b0cfe351a8c06eb965c" + }, + { + "file": "packages/artplayer-plugin-vast/package.json", + "sha256": "1619c75356a5d1c2526ea965010b8aac6ac30db88b834457d0835a9d0986f477" + }, + { + "file": "packages/artplayer-plugin-vast/src/index.ts", + "sha256": "c17455be188ecb23161729234faa1b4309a3b60f08465509e873fee2f1dd21d6" + }, + { + "file": "packages/artplayer-plugin-vast/src/sdk.ts", + "sha256": "aaff7c1e4a31ff99261b045648663caa46f66b5a25ad129e5fc929facaf1ff89" + }, + { + "file": "packages/artplayer-plugin-vast/src/session.ts", + "sha256": "472ad363276711dd79c375e5cdfe44cc42dd7f781a04974442f2599998c8cbc2" + }, + { + "file": "packages/artplayer-plugin-vast/src/types.ts", + "sha256": "0042303fd4206467724a7c5abda633436ac30a3d1139b24609e1a7dd1e890b23" + }, + { + "file": "packages/artplayer-plugin-vast/src/view.ts", + "sha256": "c36008cdf2e6b7818b166deb4842ce8d405272486e2c07b6226e8e2905640328" + }, + { + "file": "packages/artplayer-plugin-vast/types/artplayer-plugin-vast.d.ts", + "sha256": "c99f260d5ea99924e78018c1e3da7f87097c3ae92443587213a63de84a3a20c1" + }, + { + "file": "packages/artplayer-plugin-vtt-thumbnail/package.json", + "sha256": "5d4d2e1dab951c16af525bc82bcf0edc1f5165f960f821352aa1a0a69cd6adc1" + }, + { + "file": "packages/artplayer-plugin-vtt-thumbnail/src/getVttArray.js", + "sha256": "5184d98a40017829f4c0b3c7514c22f866cea6bc9aa706e140127b694727d71b" + }, + { + "file": "packages/artplayer-plugin-vtt-thumbnail/src/index.js", + "sha256": "183c0f8f5cab033c3277c3d791b0f555ad5858aeb47c0b829d42487b7de921f2" + }, + { + "file": "packages/artplayer-plugin-vtt-thumbnail/types/artplayer-plugin-vtt-thumbnail.d.ts", + "sha256": "fcc44a4a5c6035a82b0207e3f042d95b4cc495698bed30a439c06c483b47dd70" + }, + { + "file": "packages/artplayer-proxy-canvas/package.json", + "sha256": "af900e5e8fe60f0ad844f3b86915f6726034dd7fd78609f7ab7b3891f33d8124" + }, + { + "file": "packages/artplayer-proxy-canvas/src/index.js", + "sha256": "4b5922b05b46adf0d54ae92025b5c70456a5b8c87819c797ef91eb50e0c8f4d4" + }, + { + "file": "packages/artplayer-proxy-canvas/types/artplayer-proxy-canvas.d.ts", + "sha256": "a6630a9412ae081d2ed2bff07dea3f3ae5563c0307add6c59aa6e11858ef918e" + }, + { + "file": "packages/artplayer-proxy-mediabunny/package.json", + "sha256": "025707ceb29ab711c92897b9e16344e71a1d464b300cd480e275317558ce303c" + }, + { + "file": "packages/artplayer-proxy-mediabunny/src/AudioEngine.js", + "sha256": "910d6831372e4895d55dec78010f281a199bc88f99735630a5a3b621f192ac35" + }, + { + "file": "packages/artplayer-proxy-mediabunny/src/EventTarget.js", + "sha256": "c1854510af5a37301b4bd3b1fbcc28f7e0f105f50cb67324c5c05a76f2d054fb" + }, + { + "file": "packages/artplayer-proxy-mediabunny/src/MediaBunnyEngine.js", + "sha256": "3f847bd1e8dfe5334e55def87862af7412af0204691c275293758cff95950189" + }, + { + "file": "packages/artplayer-proxy-mediabunny/src/VideoEngine.js", + "sha256": "6b73dd5867a5640b68f801b397ace36bb6289e50cca176bfc9288d71f67e6e0b" + }, + { + "file": "packages/artplayer-proxy-mediabunny/src/VideoShim.js", + "sha256": "f01c954e8a98fb70138dded78b99eb2765f5cd1e8a98dafbb35ffbf8f7741dbb" + }, + { + "file": "packages/artplayer-proxy-mediabunny/src/index.js", + "sha256": "4e1be8937908ff6e6ef8a4e863e22b4468312cf31d66ac299322e475757773bb" + }, + { + "file": "packages/artplayer-proxy-mediabunny/src/input.js", + "sha256": "4341c27a8d8ebc77334ac96fc8cec11fc28e369e115eb690c6aeb0a352863d81" + }, + { + "file": "packages/artplayer-proxy-mediabunny/src/m3u8.js", + "sha256": "4639f09e0c743dc2b24078f48ca1e58eaaedaa3f5e6b863583cbd4bc4a7d3142" + }, + { + "file": "packages/artplayer-proxy-mediabunny/types/artplayer-proxy-mediabunny.d.ts", + "sha256": "e9f4a88254590a7b1fff8a411519a28b15fe63af0a192fa77866be8bde62bc01" + }, + { + "file": "packages/artplayer-tool-iframe/package.json", + "sha256": "18b08c3f25954be5cda26229c799cdaec1623cc8ae43cdac46ba9fc694e85e09" + }, + { + "file": "packages/artplayer-tool-iframe/src/index.js", + "sha256": "5fd5452640ff57fa35cd0f3378505ffc1318e9c114d9a2a6e2f1adbeaec6fd28" + }, + { + "file": "packages/artplayer-tool-iframe/types/artplayer-tool-iframe.d.ts", + "sha256": "becfcdba00b0275d3a7f00e46f57718685b711ff36fcf11d79271208b0492959" + }, + { + "file": "packages/artplayer-tool-thumbnail/package.json", + "sha256": "998848b478ed5752ea207b9952f6b9441a0370c916966a61ac53186e0601df74" + }, + { + "file": "packages/artplayer-tool-thumbnail/src/emitter.js", + "sha256": "5aa71e4317037c06b94e259beed2e964bbbb7117edbe78d29cc941c4916fd2ff" + }, + { + "file": "packages/artplayer-tool-thumbnail/src/index.js", + "sha256": "67bc1b6a58faf11b14c8d410ae829edd64b84dc9e7b4b388b2e2dd60788bcbe4" + }, + { + "file": "packages/artplayer-tool-thumbnail/src/utils.js", + "sha256": "dc19fe2f338df7058084eb2301d37db59ec4c914a85ba819a856d270c1267105" + }, + { + "file": "packages/artplayer-vitepress/package.json", + "sha256": "01a3147b669e31988cbf1da1b4a7d310d66921bf9cdc086d2e401a6e1be0c3c7" + }, + { + "file": "packages/artplayer/package.json", + "sha256": "82e92699e7c29847f32ac6767ece0401290e7d7a12854722bdbcfd09b90b7954" + }, + { + "file": "packages/artplayer/public/artplayer.cts", + "sha256": "0e91e907d021db02a68004603e6190505fdc0806d873ebb6af171aa089a81da7" + }, + { + "file": "packages/artplayer/public/artplayer.mts", + "sha256": "f6292596a9ccb1d43a6d6a12c35f859b1889ad15924c5ae0f9f280941aade313" + }, + { + "file": "packages/artplayer/public/artplayer.ts", + "sha256": "26a42ac66811e70f68a8ebe62cbf304eb1993451b3e658961be98e7106162527" + }, + { + "file": "packages/artplayer/public/component.ts", + "sha256": "aa1c43be67322781b4b355b143bc69d9f29d22e578e4974d6a13e957a7c0334f" + }, + { + "file": "packages/artplayer/public/config.ts", + "sha256": "c4fd8681bf32b10c743e3e561c532520c8f32e43fd765524850b15e55cb91c72" + }, + { + "file": "packages/artplayer/public/cssVar.ts", + "sha256": "e027d82fb4f01c9ce7559cf679b2d5ee1962d3f7e5b4dd64ca21f472b933efb6" + }, + { + "file": "packages/artplayer/public/emitter.ts", + "sha256": "9c62551cdcc6dd3966bed8a7a85dd477435db977c91a294d2ac8f162f9592537" + }, + { + "file": "packages/artplayer/public/events.ts", + "sha256": "af191f862af4ec8933b09113b8c074603ae254a8b70460d0f3006646cd74ae42" + }, + { + "file": "packages/artplayer/public/i18n.ts", + "sha256": "34b0c684668044f7600c80b9d3979f8fb730138007b7cb4e7034326b340156fb" + }, + { + "file": "packages/artplayer/public/icons.ts", + "sha256": "0d8e8e52e52130dd4a29bab551dd7a2a954797e42e92a6e068c85d583e23e6a4" + }, + { + "file": "packages/artplayer/public/language.cts", + "sha256": "2248040d86a8e34626755c4ecf53ea0174706c653073cf0e15884a030d173120" + }, + { + "file": "packages/artplayer/public/language.mts", + "sha256": "c391e863012c77769e661afbf8fa949e9373aa88d17f58cbba7f5696edb8077f" + }, + { + "file": "packages/artplayer/public/legacy/language.ts", + "sha256": "c452ffd764ff9b29b819b3475c42395d2ea7a33560d8c186ef5df3844b9524c3" + }, + { + "file": "packages/artplayer/public/option.ts", + "sha256": "850e5264219b8b438c80694402225b690b131786677a5da0d22739ec2352d263" + }, + { + "file": "packages/artplayer/public/playback.ts", + "sha256": "1ceaed3aa1cef511fe8b20f4874647f6065c723ad805b742a0a9247e16bb1bb5" + }, + { + "file": "packages/artplayer/public/player.ts", + "sha256": "f1e50257df2ea592d0a0e1f36078dda77eaf2cf3b3d795307501396562d99f28" + }, + { + "file": "packages/artplayer/public/plugin.ts", + "sha256": "2a57e148fda00ee687da5036b890b0f611cb94bb403a1ed52602179060259d35" + }, + { + "file": "packages/artplayer/public/quality.ts", + "sha256": "7ed6ed78cea52991b2f6ddd2bd3b7bd8c5146fdfff7486fe8b814c3e632f1567" + }, + { + "file": "packages/artplayer/public/runtime.cts", + "sha256": "52cfff1daeb6841a90212c8fa8d46ca46d6650bb7ed1b59b62115d854b8ad652" + }, + { + "file": "packages/artplayer/public/runtime.mts", + "sha256": "1b09bc0ee0f0ee2f788689eaff441bdeda1fab0ce783e71b61b9792d81072b03" + }, + { + "file": "packages/artplayer/public/runtime.ts", + "sha256": "ec4b1d56993eb482a77eb0f94b701047549d009e6ba6433f27e7d464fef30c2b" + }, + { + "file": "packages/artplayer/public/runtime/component.ts", + "sha256": "840213299c942fe058eb5436977ceec066b9dccda24c55ae9f464b399c979e39" + }, + { + "file": "packages/artplayer/public/runtime/construction.ts", + "sha256": "24cc5cda1f614314db382271a9b0d5583b781894cfdf6c548700b1b5270467ee" + }, + { + "file": "packages/artplayer/public/runtime/events.ts", + "sha256": "52848f57d35eb1037cf74c8877521edf99a015bcd77f30ef6bbcba1807a99bfe" + }, + { + "file": "packages/artplayer/public/runtime/media.ts", + "sha256": "8828f80953aec3e95328cefe691661e8897cb27cb309483cf806ec45a8549ae3" + }, + { + "file": "packages/artplayer/public/runtime/option.ts", + "sha256": "bb672e49ffe74a6fc78543217f6de80d7d738890146df0857c709d4dc283e4ce" + }, + { + "file": "packages/artplayer/public/runtime/player.ts", + "sha256": "a4a24794e26cfb9e4310bf0f459a7a407e85bf81b4f3a4feb6294331af8036fb" + }, + { + "file": "packages/artplayer/public/runtime/plugin.ts", + "sha256": "9ad482f2a77914a91450419680b8af6b314b926f0831c2f7f6d7c466690f95c9" + }, + { + "file": "packages/artplayer/public/runtime/services.ts", + "sha256": "8e4648d8c61bff47343f9e1c2b995af69fc00947264b826109ceadcbaf553254" + }, + { + "file": "packages/artplayer/public/runtime/setting.ts", + "sha256": "c48d20957b57f79f985ef76a2950cc8a5cfa25dafa8ec5939e562661778e6218" + }, + { + "file": "packages/artplayer/public/runtime/subtitle.ts", + "sha256": "13241c4f9a87517aa2cf7b3e0bb8cedaa12fa0b4d3f8934285797583b752557e" + }, + { + "file": "packages/artplayer/public/runtime/template.ts", + "sha256": "da9975513a1938e7f386f4f65f718f0fc595164bfeac8f0cd99a3e97a54919a1" + }, + { + "file": "packages/artplayer/public/runtime/utils.ts", + "sha256": "cab9916f5224a3b047812b9f759cc9cc62105662599744067a6955020ab36916" + }, + { + "file": "packages/artplayer/public/setting.ts", + "sha256": "d12a75b656fff70cbb30be4bffec46d9c4273636e8722bce971a4d2b188712a1" + }, + { + "file": "packages/artplayer/public/subtitle.ts", + "sha256": "d25b470e47d6a9bd696d9c1ad8adb58e56a208f05695186d513bc8c43c2e8acf" + }, + { + "file": "packages/artplayer/public/template.ts", + "sha256": "68aed9e97d006d6be4fabb8504ca84dafab770b0925f4d6e7319e67c82f21b0d" + }, + { + "file": "packages/artplayer/public/utils.ts", + "sha256": "494ec447ab467a07ddd7a2c2abf778b3fce69fd28a09aaa8ced9759f8de2e3f6" + }, + { + "file": "packages/artplayer/src/accessibility/button.ts", + "sha256": "e5afa7aade56116082f54678c44961157950fa550d66e21a4e1ff9bb5369a6f8" + }, + { + "file": "packages/artplayer/src/accessibility/focus.ts", + "sha256": "2fa16941ac3632cb1e4b466e9a7e29700ef97b7eb2facd4330c59ec0a9320594" + }, + { + "file": "packages/artplayer/src/accessibility/keyboard.ts", + "sha256": "2d82122732f84f39e59c6852ca081614caa6430a82b32c4749e297826c77eb12" + }, + { + "file": "packages/artplayer/src/accessibility/moved-focus.ts", + "sha256": "c3d2a7d496381b2a86819b82fbd26cc940a1204fdf19408ccc8db267741d96c9" + }, + { + "file": "packages/artplayer/src/accessibility/overlay-focus.ts", + "sha256": "93fa088daaa3afed88f645507828a10cb63292937c49b16f6c2a0ea895897878" + }, + { + "file": "packages/artplayer/src/accessibility/player-focus.ts", + "sha256": "e8fd5222cbfc38cd4938324c83d9f5cef3d01a439464e1570d63a5131c84f20a" + }, + { + "file": "packages/artplayer/src/accessibility/slider.ts", + "sha256": "533d5e6d806c32a84a578b43ed50993d30b4a414b5a85a34bbc68c37c5673a44" + }, + { + "file": "packages/artplayer/src/accessibility/suspend-focus.ts", + "sha256": "d95c6097236be66e252165287435cca01b50553d64259add6b011721e4bbc644" + }, + { + "file": "packages/artplayer/src/bootstrap/browser.ts", + "sha256": "8d401627e8ea1c87fb44204227b04177a70cc7a0f79f95fb5dc73fe828e46a8c" + }, + { + "file": "packages/artplayer/src/capture/frame.ts", + "sha256": "eb25d81ec2d40a239103c63cfd80333705251291f2c2da77c740b4d413ea9cd9" + }, + { + "file": "packages/artplayer/src/component/dom.ts", + "sha256": "740f63e6e5942c444b9f05605880f8d56a77b066dbe5c4791da74f78cb96c668" + }, + { + "file": "packages/artplayer/src/component/focus.ts", + "sha256": "f4aff802711f6146c80e8c6bd90bc2cb406ccbdb581aef41f436ff5c03871ad3" + }, + { + "file": "packages/artplayer/src/component/resources.ts", + "sha256": "ff158ef0db8ba13343ff6ba329713820cfe2f5c2c446a7873a6cfff782855edf" + }, + { + "file": "packages/artplayer/src/component/selection.ts", + "sha256": "1f0bd089415da28db862647ffd1a0b4af752576465fb616d4b97ae4f8dcae3a7" + }, + { + "file": "packages/artplayer/src/component/types.ts", + "sha256": "d7b0e7008b0f6c82e3e97ac43e0188598dca4f740a860e7a60b3b38a46f4565d" + }, + { + "file": "packages/artplayer/src/config/index.ts", + "sha256": "a56b4d3d6942cfa3e2b47f909fc5ad87e6e3202fd61b29c7afd7649049e31d05" + }, + { + "file": "packages/artplayer/src/contextmenu/aspectRatio.ts", + "sha256": "18ab60c9acee1e0cecd76c0b6cf750763eed7cfbede4220328b5200154c5c478" + }, + { + "file": "packages/artplayer/src/contextmenu/choices.ts", + "sha256": "6bb880b27afc9457442c3973992da6dc8da48fc61d6b66b3b5a3bb4fc4651dc8" + }, + { + "file": "packages/artplayer/src/contextmenu/close.ts", + "sha256": "84b7a96df910e6f38140df8b1e73519d209a7331e9be9f42d076ae791757024f" + }, + { + "file": "packages/artplayer/src/contextmenu/flip.ts", + "sha256": "a7a4ac375da45dc7b6c996d4534098838646a078abfc4438f688e91e14ef0b38" + }, + { + "file": "packages/artplayer/src/contextmenu/index.ts", + "sha256": "7532165d162fa463f1fe3c538d6bda0f579b5907b05137382efeb0018719b011" + }, + { + "file": "packages/artplayer/src/contextmenu/info.ts", + "sha256": "f37cf0104510c13a130d2f55114c8f7ff15cc1b51863f97e60825442bdb2bf01" + }, + { + "file": "packages/artplayer/src/contextmenu/keyboard.ts", + "sha256": "eaa1af6b1abf8947d957208a0535f1b34f6c88e95394efd56cae905ccdea564c" + }, + { + "file": "packages/artplayer/src/contextmenu/playbackRate.ts", + "sha256": "7e06bb6fab3acdd71fb3ed63f77083172af517b49c1ecaefa3ee6a9068bdfe54" + }, + { + "file": "packages/artplayer/src/contextmenu/position.ts", + "sha256": "851ed1a884a13fbe430be77e7f72ae46d8a719175647e058644834aabd27ac58" + }, + { + "file": "packages/artplayer/src/contextmenu/types.ts", + "sha256": "a93fc90f4e17b731e8f6b486a507117810b61c1f1b0d9e775eba27dabeaeee1d" + }, + { + "file": "packages/artplayer/src/contextmenu/version.ts", + "sha256": "0553a716be0ba49f614059c41eef6dc694a9641fca79e6448b1b30382c6b582b" + }, + { + "file": "packages/artplayer/src/control/airplay.ts", + "sha256": "539bcc3671c7fe428ab95f9fea8a4943444066bcb742c7cf71591ba347642547" + }, + { + "file": "packages/artplayer/src/control/builtins.ts", + "sha256": "2a0e12a9741713c92938e1d2009149bbbde498284aa85c63f270d02b27dc22b1" + }, + { + "file": "packages/artplayer/src/control/fullscreen.ts", + "sha256": "7f8a9e8915abf9cbb9dda05b5c68523a47cc0ccf9ef5e0d9b82bc5c362fe346d" + }, + { + "file": "packages/artplayer/src/control/fullscreenWeb.ts", + "sha256": "9cb30987a3d2cbb334a80d3f2c41f39fd339bf37a9524c7ed0145cf5c98f1859" + }, + { + "file": "packages/artplayer/src/control/index.ts", + "sha256": "0d8e5a281f2eeba06c4cc4ac5a042847df53db1a19fdf140efea17d6ab2c0b78" + }, + { + "file": "packages/artplayer/src/control/layout.ts", + "sha256": "72e0b95bc632561e97569d789b76d16f36edd94eac8c62ba9e1918c9a222d328" + }, + { + "file": "packages/artplayer/src/control/pip.ts", + "sha256": "b829a7c83c5efa6751c2e434345e077339c9f5bc5022af9973f181ca8ce7f7ce" + }, + { + "file": "packages/artplayer/src/control/playAndPause.ts", + "sha256": "20ed88bcc7ac7622e02a7c4e6be518582c05f0d7c571a97a54b851d79dcf13c5" + }, + { + "file": "packages/artplayer/src/control/progress.ts", + "sha256": "629c622864619e2515b2eacb1bdfcf523ccce7ce680c8fdf51812e8e50a0cc7e" + }, + { + "file": "packages/artplayer/src/control/progress/interactions.ts", + "sha256": "da03600375451ecf8c152be5afcc5f1a4f8b759e837bbd54b7faaf8f8b228497" + }, + { + "file": "packages/artplayer/src/control/progress/keyboard.ts", + "sha256": "03d1d47e6641ea08f765d731f10a6aad35f7c3edc16aa97df822c5f9a7f75eb0" + }, + { + "file": "packages/artplayer/src/control/progress/position.ts", + "sha256": "a3794ab5ac5dafa5fd61e56acb12c94998bd4b9065dbf0fa4739c6bba1094aa1" + }, + { + "file": "packages/artplayer/src/control/progress/view.ts", + "sha256": "60ee16d5170be81b8132bb56dd0bc0eaf23e50f5c268d0697c9187b38a14aba9" + }, + { + "file": "packages/artplayer/src/control/resources.ts", + "sha256": "16fd7c53ac8f47b333041c4f298313390dc102523d47767b8a16f39a2564ba74" + }, + { + "file": "packages/artplayer/src/control/screenshot.ts", + "sha256": "11a1e3da919e476e7882abc3f74aaa809c3e9fc1de4346ec808731f78b6f27e2" + }, + { + "file": "packages/artplayer/src/control/selector-keyboard.ts", + "sha256": "6a749f48b23cda62148298e648bb380a6067cc18c7be4258b9ec85c382a56165" + }, + { + "file": "packages/artplayer/src/control/selector.ts", + "sha256": "a6f0c564c674530da9a0e4ed8762c6dfb81fa89373d64313e1020550731441f6" + }, + { + "file": "packages/artplayer/src/control/setting.ts", + "sha256": "10ee1118858c41f2e97a6df70d6d5dc978757d0e5d79ec36c11e743e6df86726" + }, + { + "file": "packages/artplayer/src/control/time.ts", + "sha256": "fa572092e0848878689367fb536e9658d13888d0a0d476babc5acd165af0f8d3" + }, + { + "file": "packages/artplayer/src/control/types.ts", + "sha256": "454846310d4fc3a8576ba030c2e8428bb795cde7b89308d29943bb4d4bc2aaa4" + }, + { + "file": "packages/artplayer/src/control/volume.ts", + "sha256": "45474d8d7f43d59263aa42e774eaaafeb45530ec24b81a5f589f6c906954568b" + }, + { + "file": "packages/artplayer/src/display/fullscreen-abandoned.ts", + "sha256": "1715b30d336976921b4957b444418702b7d93dbf1debce47429269638d15810f" + }, + { + "file": "packages/artplayer/src/display/fullscreen-adapter.ts", + "sha256": "71da10ec21c7706a8264badedac9022c74b865887931e9e369168fe3233c3b2f" + }, + { + "file": "packages/artplayer/src/display/fullscreen-request.ts", + "sha256": "c6292ded96aab0f2dbc978af251f6cd9f5fd074819529ca498077db8d14e1bfe" + }, + { + "file": "packages/artplayer/src/display/mini-drag.ts", + "sha256": "73d2f48f868c0ba4d8d5e5df40cbbdb4698c26540f3973b178d9cd374008f1cb" + }, + { + "file": "packages/artplayer/src/display/mini-focus.ts", + "sha256": "1f717619e183b1cfab668bd2e41c8e9ba02210c94cdb58034ec97aa41e71aa34" + }, + { + "file": "packages/artplayer/src/display/mini-layout.ts", + "sha256": "3835fe3d314da2fc624cbeb0e79fcdfa5393f08d87dfde730d2eac4e827f405b" + }, + { + "file": "packages/artplayer/src/display/mini-view.ts", + "sha256": "bbe69e4419ffc0f6c744cb730a51778f23c311a0fac157223bcf8d8bf0f3edc7" + }, + { + "file": "packages/artplayer/src/display/mini.ts", + "sha256": "a6fed598428bbf8d52931f21bb68b7560a3643d2576f7e7bfbae98b2f7cdd1e5" + }, + { + "file": "packages/artplayer/src/display/native-fullscreen.ts", + "sha256": "323401f2b3ea5186da981a1215b1b9e7dcf4ef4261a8e885fe8ff0c090de6a7a" + }, + { + "file": "packages/artplayer/src/display/native-pip.ts", + "sha256": "647879ae027cc0ebe684daa31d75511dd882e123e4ca8da2942e659bae3719f2" + }, + { + "file": "packages/artplayer/src/display/orientation-native.ts", + "sha256": "909980ba837471d9b456545a18fb0ab19f0990e8788936f0580a4b332cd4baee" + }, + { + "file": "packages/artplayer/src/display/orientation-types.ts", + "sha256": "0d68d2bc99d04db1e2fdf16b74e406e31f8b7e03fd9b6ea271773ed263ffa890" + }, + { + "file": "packages/artplayer/src/display/orientation-web.ts", + "sha256": "aea55c3b9e8c708fe5559f07cf8f0afd7ad37ac5b1a43bf519245c3072ec4129" + }, + { + "file": "packages/artplayer/src/display/placement.ts", + "sha256": "dbe4491ebd0f46b4efe13ac567e476fcd9ca5b84da675f19025935b5e3f8d733" + }, + { + "file": "packages/artplayer/src/display/sizing-types.ts", + "sha256": "da9b3d957dafaca9331f7319257dd8156b3c3e7b6db11f33f11ded48512450ad" + }, + { + "file": "packages/artplayer/src/display/sizing.ts", + "sha256": "c19856976320f1f35ff5a1049d19a940768300e095270b336dd12861b200da2a" + }, + { + "file": "packages/artplayer/src/display/types.ts", + "sha256": "e88c868fd370fcc9dc612489992d446a8d0558bd87c26c5c05fdd73d8a3d1b02" + }, + { + "file": "packages/artplayer/src/display/video-fullscreen-state.ts", + "sha256": "5fcb5e6b80ac45577664ef67e0460e0ceefd4022cafacdd7434c376a86d619be" + }, + { + "file": "packages/artplayer/src/display/video-fullscreen.ts", + "sha256": "b425bf0df462524b5d3accc9e3df383c6635676c152bf4bef09c477a90662728" + }, + { + "file": "packages/artplayer/src/display/web-fullscreen.ts", + "sha256": "bc091e6dcfb28784dd40ea619ce1fb9061b9e85dcc5bf2b6a303679eee5c727d" + }, + { + "file": "packages/artplayer/src/display/webkit-pip.ts", + "sha256": "3617927b4bb8fa46f651d0e584141f804ae438e2b4531cc2e9cf9f7eeb027550" + }, + { + "file": "packages/artplayer/src/dom/event-path.ts", + "sha256": "e952ea847a2e844a79c5c1b83035e03917e0294b80b1eb8af3b3bec0d2f7d333" + }, + { + "file": "packages/artplayer/src/dom/measure.ts", + "sha256": "84a599351d26a790c5a8f6e7d271486a0a68d5b58457d8ce754d540b54902b96" + }, + { + "file": "packages/artplayer/src/dom/presentation.ts", + "sha256": "500bded394579dd8194778f73cc44d0724f0a59cb5400957491928534ed091c6" + }, + { + "file": "packages/artplayer/src/dom/styles.ts", + "sha256": "734e0a4e04d666417a18ac09ed6271ee7630c399d52d7f510a1c19fd6e7b3493" + }, + { + "file": "packages/artplayer/src/dom/tree.ts", + "sha256": "3bc517ab9fa5317a1445156d53afb27182685eb3b4c0ac2ff41bbde55c9eecb6" + }, + { + "file": "packages/artplayer/src/events/clickInit.ts", + "sha256": "bd1ba29fe0af4332ceb19297797c4c942a3a74bfd901998d6b93293f1b309300" + }, + { + "file": "packages/artplayer/src/events/core-types.ts", + "sha256": "a607a3b2eea1b031f23ec0f620f1f4cd68799c4a77138a1443ecb196b00d1662" + }, + { + "file": "packages/artplayer/src/events/gestureInit.ts", + "sha256": "9e9d1ac0da7f87e89dd0d86fa2820b980e9cb810782d6ab30017de8686fc910b" + }, + { + "file": "packages/artplayer/src/events/global-types.ts", + "sha256": "3f4672d7af959cfa34ba39aa84ce614f422901437686bba98b14f578df40021c" + }, + { + "file": "packages/artplayer/src/events/globalInit.ts", + "sha256": "6f6ea497a20a8fd0746b1f020caff76ad6817cd70a1a90fbaea12f992b6d03a7" + }, + { + "file": "packages/artplayer/src/events/hoverInit.ts", + "sha256": "d1250e0dd35a8ba8067275986acbe6320c22adf1a977ec1009c0c012ed1563fe" + }, + { + "file": "packages/artplayer/src/events/index.ts", + "sha256": "30d2286316dbd351e93f5a2234dcca84bf68ca28c05921169cca70c2e0b1ecf9" + }, + { + "file": "packages/artplayer/src/events/listener-registry.ts", + "sha256": "fb062df5151c4e8e970de469f1c7d9af948f72214d32c293c81a5feeb8406124" + }, + { + "file": "packages/artplayer/src/events/moveInit.ts", + "sha256": "da97591723f8b94a34702559b7ee67a35f172aa696d37dfbecd472581ad3de35" + }, + { + "file": "packages/artplayer/src/events/resizeInit.ts", + "sha256": "719e27d11d2f93fcbe8368393c9190e251fc86dd0c3c2919f60e9b3b1edd0192" + }, + { + "file": "packages/artplayer/src/events/scheduling-types.ts", + "sha256": "0fd98e94397064f32cae4c004d9932c006d2db69a7d6d9374ff174d74ff93cd4" + }, + { + "file": "packages/artplayer/src/events/subscriptions.ts", + "sha256": "98573ed6cce73a73467c0e7fdb8ddc45e66b6bdf684c38886749453b2002a1d8" + }, + { + "file": "packages/artplayer/src/events/types.ts", + "sha256": "df03625039605314a96ef15b5e3777cbb9d444fd317e1a2fbeaaa0f1e83f6b0f" + }, + { + "file": "packages/artplayer/src/events/updateInit.ts", + "sha256": "6f174db14d20319f03a76e6ea267a3d71973faac44a92483badfa4420791817a" + }, + { + "file": "packages/artplayer/src/events/viewInit.ts", + "sha256": "d77b83eab802ff0046a4966e28b810a25592bcada49f526adae37556c1e4c3e9" + }, + { + "file": "packages/artplayer/src/events/viewport.ts", + "sha256": "6196fccb8b08ae22bde732c4389d9aceb5d727a63efd87b6d3914e338aadc46f" + }, + { + "file": "packages/artplayer/src/hotkey.ts", + "sha256": "d8e477bf451143e566e1f743a5f253dcf00beb23544709794779f275e11498e8" + }, + { + "file": "packages/artplayer/src/i18n/ar.ts", + "sha256": "897d8935384da16c3c4e96480777fe7fc022f6e3c0d87f62f79ae5f3c98e228c" + }, + { + "file": "packages/artplayer/src/i18n/cs.ts", + "sha256": "cc154ee50d258495d04dd2d49e89e9c0166e8b368969c443ec80cb5e48cf357c" + }, + { + "file": "packages/artplayer/src/i18n/es.ts", + "sha256": "0ed0283cb78847d6d1674be8c8ffa45feab88beaa8dbd11954b793c7b1657c75" + }, + { + "file": "packages/artplayer/src/i18n/fa.ts", + "sha256": "a72e83717f2e3e8f19f1de82516aef4a54ea70563223637bcbb25d21e9eac084" + }, + { + "file": "packages/artplayer/src/i18n/fr.ts", + "sha256": "a7366c75530e87f069216e20a6f09da42f7e77fdce862c02b32acf311068124b" + }, + { + "file": "packages/artplayer/src/i18n/id.ts", + "sha256": "146bf4c4e5bb39d8e1eb1a6fe3c639eb3128c55789de20511201f8ec02c56c0e" + }, + { + "file": "packages/artplayer/src/i18n/index.ts", + "sha256": "09c6f5bce58e4118dde10e8b2a2d3808785b7fde913a54dd189e0b473e21266a" + }, + { + "file": "packages/artplayer/src/i18n/pl.ts", + "sha256": "420f3b620d5c7ccdeba7857872be6176239fdf5da30b9cc72341e85dc95c2c8d" + }, + { + "file": "packages/artplayer/src/i18n/publish.ts", + "sha256": "5b216bbe313b3cda56a5da41fba4fb9d095eeec0dc903fcf284ddd8f94926e99" + }, + { + "file": "packages/artplayer/src/i18n/ru.ts", + "sha256": "9a9f61e6a66b3cd884c609250bf765dcdbc850dae3270d8a1600a5c2542436d3" + }, + { + "file": "packages/artplayer/src/i18n/tr.ts", + "sha256": "631c262a5e6cd00fada5bf2e146007d845816e47edb7643ec792250a403e4ec6" + }, + { + "file": "packages/artplayer/src/i18n/vi.ts", + "sha256": "e6f3f8e53599e27755e162c76c3b049457aae7089eca73ee531986e67f517f6f" + }, + { + "file": "packages/artplayer/src/i18n/zh-cn.ts", + "sha256": "51eb75562ae1ae4e248e1db85c90bcbc69b388a177ada6cbf8c3196a2c343ac6" + }, + { + "file": "packages/artplayer/src/i18n/zh-tw.ts", + "sha256": "6b098739e27ad531172d0f13e53849be30e9936365ce9613a7d938d9f01cce53" + }, + { + "file": "packages/artplayer/src/icons/airplay.svg", + "sha256": "8c75a40f1bfacee2be2a425e132ff51f3712eba60679010f7b1349d4a04374bc" + }, + { + "file": "packages/artplayer/src/icons/arrow-left.svg", + "sha256": "8b9d544b7bd728d01747005fc7a2d63f822eed3b605393e2435b6733861b585f" + }, + { + "file": "packages/artplayer/src/icons/arrow-right.svg", + "sha256": "68c63d6d5810173ec9192c9e96ee7b6aefdc3b79d3c1329fb4d6c750f859fe10" + }, + { + "file": "packages/artplayer/src/icons/aspect-ratio.svg", + "sha256": "987752a87701523057d8dfa7c45a6a139c4542b96fdcfaf8665722bbeb41f3b2" + }, + { + "file": "packages/artplayer/src/icons/check.svg", + "sha256": "963ce0aee2337fdee951aa6c917cc75ee0b4e75158887ccc16baebfd3925942b" + }, + { + "file": "packages/artplayer/src/icons/close.svg", + "sha256": "ebabfe8044f48d5df4d13f4f906a163fd55a4d6f1dedb3b5ba95601209bc8888" + }, + { + "file": "packages/artplayer/src/icons/config.svg", + "sha256": "e1884d5411296b5cd1bfec7803b558b0afa5ab64478393977b07a662e2e0f15c" + }, + { + "file": "packages/artplayer/src/icons/defaults.ts", + "sha256": "31df862d754922fe5d68b20911c477d7c22893a6a67b5dcb1a48d3b437a0b23a" + }, + { + "file": "packages/artplayer/src/icons/error.svg", + "sha256": "b40c01e511a599c9dd369aeb9a3b2a0d1a76ef3c5ede8124cbbc23f8e4e7248c" + }, + { + "file": "packages/artplayer/src/icons/fast-forward.svg", + "sha256": "abef6fe4d75ffa74d3a84683373b4702a4eda2a5b4045952f969ee62cc68b0be" + }, + { + "file": "packages/artplayer/src/icons/flip.svg", + "sha256": "474a9d53a97add71e3fb7bc6530a68580ce63a1d83f9b75d1c2908a7cf494152" + }, + { + "file": "packages/artplayer/src/icons/fullscreen-off.svg", + "sha256": "71125ac56586897e2c0e52035a4d65cff34cf52043a95b45d186e0d268671399" + }, + { + "file": "packages/artplayer/src/icons/fullscreen-on.svg", + "sha256": "d46cdf265cac729c9b7382722ebe7a4c76d71ad4e5a27c2d5ed8323fd595ebf5" + }, + { + "file": "packages/artplayer/src/icons/fullscreen-web-off.svg", + "sha256": "52a6862ecd7cba12ab7042de5064c498bc2e9f86b430358c912401fafe4f4a98" + }, + { + "file": "packages/artplayer/src/icons/fullscreen-web-on.svg", + "sha256": "5cfaae62b61456251e771bff01356fad8376ebedb10a4b8819740f60e6e5a073" + }, + { + "file": "packages/artplayer/src/icons/index.ts", + "sha256": "7152126328f6e485ee92b6d924c34776518b4a3925b2887867b516f7523b15cc" + }, + { + "file": "packages/artplayer/src/icons/loading.svg", + "sha256": "485472153890eff3ed49963f7bf7d841f66ca2f40894c01d6e8bcf1bf4ad1c58" + }, + { + "file": "packages/artplayer/src/icons/lock.svg", + "sha256": "431e9a25fae051016be0efa286387ec3e5f7651c3ecf569bf0ece9842f57156c" + }, + { + "file": "packages/artplayer/src/icons/pause.svg", + "sha256": "57405dba81dd3d9f329d957fdc704101cbb6f6654325eb0083c03324c4453a68" + }, + { + "file": "packages/artplayer/src/icons/pip.svg", + "sha256": "1e922140e0941e5b9ef53dc0b4776813e1c470ea229fe3ec786fd148148c3352" + }, + { + "file": "packages/artplayer/src/icons/play.svg", + "sha256": "41a961c629a55cb25a813e115a25204e492d4e935a0879177e65d6e1ddfd6796" + }, + { + "file": "packages/artplayer/src/icons/playback-rate.svg", + "sha256": "872deecac0365ab04aeb5ccb1cdd9a0c88589a1442709fdac7c0ed12a241ff2b" + }, + { + "file": "packages/artplayer/src/icons/screenshot.svg", + "sha256": "538b5cd0c6b20afb98bd850e15019072d652d191075c2869f2fc0f28b597b131" + }, + { + "file": "packages/artplayer/src/icons/setting.svg", + "sha256": "2976b00d1f03e78f28d0e55ebcb01d5a0746ec1a6ff8de97a5e8294bacdd1fad" + }, + { + "file": "packages/artplayer/src/icons/state.svg", + "sha256": "620a127f74bb5e249993bd7008c027373263eacb4a44af8adeaa0d7523346887" + }, + { + "file": "packages/artplayer/src/icons/switch-off.svg", + "sha256": "95a8d81a4a3bfcf7c016d5f71d46a72be73c5e94790c55fd1d31023416ef5deb" + }, + { + "file": "packages/artplayer/src/icons/switch-on.svg", + "sha256": "cccd0f9c1e54d9ac50c323360da944d8ff44633a82ff17889914b6bc8b1652ae" + }, + { + "file": "packages/artplayer/src/icons/unlock.svg", + "sha256": "fc058db3d99a475fb9ffbbbb6248978a95990a9c532b83d0955ac28eaa626c60" + }, + { + "file": "packages/artplayer/src/icons/volume-close.svg", + "sha256": "f7e100fd9e9f3f6e06afe5bc994d5d9305ee4d1ee23fae37e4108cf286dab379" + }, + { + "file": "packages/artplayer/src/icons/volume.svg", + "sha256": "3a78f40d8b48595e8f15d9189e4d767e0c7abbf0338d3f2db1ac810049dd3942" + }, + { + "file": "packages/artplayer/src/image/load.ts", + "sha256": "b4f1517243249d5fb017b89f993660e8b148906bbf28d08fe5c9f6d3a41e1e88" + }, + { + "file": "packages/artplayer/src/index.ts", + "sha256": "20cfe3738b3ce7e11b69721a5f0bdad9db77807417d8e421397a40dfade4c047" + }, + { + "file": "packages/artplayer/src/info.ts", + "sha256": "6594ff3ee5643d63fec874631865d0e35b4ebdcf8aeafdd9fd3d9c595cfa3713" + }, + { + "file": "packages/artplayer/src/info/keyboard.ts", + "sha256": "13a6f617514388b4d14e0bf752780937f2baf545edb216b8259f56a198112c83" + }, + { + "file": "packages/artplayer/src/info/poll.ts", + "sha256": "d26ff67d9eadf1e032445371dde6f15293a7fc0b2ae6b87c3815e4b4e1ed5dda" + }, + { + "file": "packages/artplayer/src/input/gesture-controller.ts", + "sha256": "1ebbd18184771a623b02ec19c363f84dcc72fdb7cd82bcf2adc97f4a138cb2b4" + }, + { + "file": "packages/artplayer/src/input/gesture-direction.ts", + "sha256": "65737f60e177338ebb3337a13ca75aeae77d77e94bc21495ddb829cc30de33a7" + }, + { + "file": "packages/artplayer/src/input/gesture-types.ts", + "sha256": "5ed25db69e0d9579a2fc0ab6faadf00fa073ad73a1ea5aa48096b4430c71141a" + }, + { + "file": "packages/artplayer/src/input/hotkey-defaults.ts", + "sha256": "c28e14821e5c7f7ac92a302e92439ab68fe77d5ef7d90a36b147b7c979ab96c6" + }, + { + "file": "packages/artplayer/src/input/hotkey-types.ts", + "sha256": "c7232470d725f3700481ab98bf9203403a67f1ab82e72394baa9c3ad6f3c9a4b" + }, + { + "file": "packages/artplayer/src/input/keyboard-focus.ts", + "sha256": "270c9dba40c0eb6d9fb36118b53e7f1d42a301ba4514917849523b6a05ed9e11" + }, + { + "file": "packages/artplayer/src/input/long-press.ts", + "sha256": "110cf16cf9dae845597377ebbc43249e103cbc0ece56f89e44ec6ecc7f3819b0" + }, + { + "file": "packages/artplayer/src/input/pointer-focus.ts", + "sha256": "802087098c786135eefa6727f13177ffe4a98e2abf48fad0e356b91e26960077" + }, + { + "file": "packages/artplayer/src/input/pointer-types.ts", + "sha256": "63e679498f8f42f6842f63e910c38717ac3438d58df3a75ef5b77c009b7931d4" + }, + { + "file": "packages/artplayer/src/layer.ts", + "sha256": "4014268eed043d5dd7b925cdeef6245e357cda67192a1301c5612ef98cdbec12" + }, + { + "file": "packages/artplayer/src/libs/screenfull.js", + "sha256": "2332b50c0c6364d5c99080be0f5739255e4b9e465d2cca40f761adce9a1908f8" + }, + { + "file": "packages/artplayer/src/lifecycle/instance.ts", + "sha256": "3168f7db4271bae7a242e80798546b755ac15443e15dd9ebb7675f5a259299d8" + }, + { + "file": "packages/artplayer/src/lifecycle/resources.ts", + "sha256": "b743daeffb676bb0b31932c3198fa9cf842f5e9015344659594ffffe1a56ba23" + }, + { + "file": "packages/artplayer/src/lifecycle/scope.ts", + "sha256": "e2188e8544b27cf8c7ac149e7146af628a2d6166c82b719a247adef5d85be5db" + }, + { + "file": "packages/artplayer/src/lifecycle/template-rollback.ts", + "sha256": "7a83da6739bcec1587b02f8157934988910d7f9103fe489a0d6f4f65290c3d77" + }, + { + "file": "packages/artplayer/src/loading.ts", + "sha256": "216fa5e2af5be5fcbf95a1578c869553a02f625683a98333d4a404f9a70df9f5" + }, + { + "file": "packages/artplayer/src/mask.ts", + "sha256": "500b8c2fb5ded63d5acab3c984fc9757f28a8b6cbd4d5beeac8c5a6d73ca63e4" + }, + { + "file": "packages/artplayer/src/media/events/forward.ts", + "sha256": "6b1b7e80036bfb523b51843dc6ec6d83c2b949cefb9cef085b2d679a444e46d8" + }, + { + "file": "packages/artplayer/src/media/events/listen.ts", + "sha256": "4eb7e943c1ebca77da8025d83b7d408276187cd02860b7793284344378bd0fe0" + }, + { + "file": "packages/artplayer/src/media/events/playback.ts", + "sha256": "2c68e4f6274a0dc65e56d42c928e500fc1d63bf3e03bbdd8a83c3f3ed7ae8ee4" + }, + { + "file": "packages/artplayer/src/media/events/readiness.ts", + "sha256": "3ba74f26dd9ff0729967097c2cb6f329a9cea57745bfe8173f9173e0d134476a" + }, + { + "file": "packages/artplayer/src/media/events/reconnect.ts", + "sha256": "876027b5116d0d3628755705682b30630f4b713199ed8015541932d81d2944be" + }, + { + "file": "packages/artplayer/src/media/events/types.ts", + "sha256": "02bd29ad8b158fa04ce5c1524e397260ef24b94c2cf1f053e7bd02b23e5d29dd" + }, + { + "file": "packages/artplayer/src/media/hosts.ts", + "sha256": "498d1cde31bf9ee12af1f13523eb0a4553adb285264529378abba5b629829e9a" + }, + { + "file": "packages/artplayer/src/media/playback.ts", + "sha256": "b0364027e1ea26e44e435a938e93c022836885c2622cda6bc3a7ca791d3c2964" + }, + { + "file": "packages/artplayer/src/media/position-revision.ts", + "sha256": "ba074cce7e7c6bda84aa234de8eb315e5ca482aa9b06250896f9ac6251192851" + }, + { + "file": "packages/artplayer/src/media/types.ts", + "sha256": "96d4a7f066cbb6fb9138165dd736b4ca500cb19c827bd7702134d61c44cc0e87" + }, + { + "file": "packages/artplayer/src/notice.ts", + "sha256": "4faa700323a8fdfd91a59491a5f57da2dee9bd1f2de0d900ed16e9809a208c94" + }, + { + "file": "packages/artplayer/src/option/defaults.ts", + "sha256": "f357ef80cf32085fcbc3409d92dfa27b31c13fbcf823f576052c0347911c0cca" + }, + { + "file": "packages/artplayer/src/option/resolve.ts", + "sha256": "53a73627cd540e3f21349c0a43beda35ea5195647a31e3f5b30ac292390b4b1b" + }, + { + "file": "packages/artplayer/src/option/runtime.ts", + "sha256": "d1bcc7682da05a74d7af173304e47f71ba9eb59e5351436040e9dbdef5c58fa8" + }, + { + "file": "packages/artplayer/src/option/types.ts", + "sha256": "f2ce01c01acf45fac6cbb34685b8e6c321bcad6b0da2526f3f189eb5962ea0e5" + }, + { + "file": "packages/artplayer/src/player/airplayMix.ts", + "sha256": "bfa30e1dcd7cbaef97e977344e8a35524fad6bd23089cd8e45945e3b32b4bf04" + }, + { + "file": "packages/artplayer/src/player/aspectRatioMix.ts", + "sha256": "9e5e7365d469aeaef65a6010cb92734702191f9086b2f21d98c9f0ad7f356898" + }, + { + "file": "packages/artplayer/src/player/attrMix.ts", + "sha256": "d82150611a69423ed46bf673f44c3e0f61e80425026effd486a6951b6c0dd90c" + }, + { + "file": "packages/artplayer/src/player/autoHeightMix.ts", + "sha256": "5848e34cd826f5d4cc81d076c83fb3bcea0aed1228cd93a1edb6b8ca402ad175" + }, + { + "file": "packages/artplayer/src/player/autoSizeMix.ts", + "sha256": "6373a8ea7fff4cd875d17c5d3df6dc37764055ab77850a6c6348526969071cbb" + }, + { + "file": "packages/artplayer/src/player/cssVarMix.ts", + "sha256": "0d023f28b7a8b4c1a5e2c4dd5672ef4294c86bce0013babd9d52efa32a443b2a" + }, + { + "file": "packages/artplayer/src/player/currentTimeMix.ts", + "sha256": "cc374abeb85b203b9f31c566a6b9e53a4a1723d609fccc7b0c9c210993b79e75" + }, + { + "file": "packages/artplayer/src/player/durationMix.ts", + "sha256": "60a9d665cf302dcb6b3e37e2f057e31720935e5e588fd7709231f691f6014191" + }, + { + "file": "packages/artplayer/src/player/eventInit.ts", + "sha256": "a915c5a618e70b1ab10536b1273ba0fea4ec11d3a2ca629b538e90b5ad2b55f9" + }, + { + "file": "packages/artplayer/src/player/flipMix.ts", + "sha256": "a1519c83f8c9437a9b7e99a59e38a3d931032c579f4085226fc0955c7c9eab67" + }, + { + "file": "packages/artplayer/src/player/fullscreenMix.ts", + "sha256": "b339bebb4c87f7b75232d7e0d637ebe25bd09a0a0428ba87339a16af5daa71aa" + }, + { + "file": "packages/artplayer/src/player/fullscreenWebMix.ts", + "sha256": "75b83a6093c7887ca8725f63c55503d0bf3aafdbbf2347b579120cb257503555" + }, + { + "file": "packages/artplayer/src/player/index.ts", + "sha256": "359943c88dc99863e510fc0d51f8e8ee2397217e68045f755d4e9538579bdaec" + }, + { + "file": "packages/artplayer/src/player/loadedMix.ts", + "sha256": "6a4c4a08ed74346dad3e138b1dda22c8c9c12f175fe6d00da41b89c78cbe2c18" + }, + { + "file": "packages/artplayer/src/player/miniMix.ts", + "sha256": "d68a0c4f6c6059d5831d2d1fd4823b8d3cbce95eefd6d36d38670d6d8720f44e" + }, + { + "file": "packages/artplayer/src/player/optionInit.ts", + "sha256": "7c1c47679ee6201d0e0d203fc7b449a09309e7b24a0a1099ad259a70fc1b1a35" + }, + { + "file": "packages/artplayer/src/player/pauseMix.ts", + "sha256": "f4fa2b1f05b84ebd27bec9cff5a151addf096dd9b32a38122fb2f1829def0043" + }, + { + "file": "packages/artplayer/src/player/pipMix.ts", + "sha256": "63dfb29ffd66ce7d081b24f8e8bf697c041675b49ab8919e206d2df5132de236" + }, + { + "file": "packages/artplayer/src/player/playMix.ts", + "sha256": "2d46a3f84da0b1dd18139b76e5e2e163f1d9d9c8f54e67807eeec672acd49917" + }, + { + "file": "packages/artplayer/src/player/playbackRateMix.ts", + "sha256": "e185c6ff52cd567f7fd7c30553bbd6c65517324d1d16c4948c3623ef457ef536" + }, + { + "file": "packages/artplayer/src/player/playedMix.ts", + "sha256": "5b6b89bf8dec1efb19cd51e46af1505bae006bdb3fb798e9dec7e3fb5cf0acaa" + }, + { + "file": "packages/artplayer/src/player/playingMix.ts", + "sha256": "968c9f6e6d23c233c77d62a593db64adcc6d1a2411f5f1c61a35c6996d6a54d9" + }, + { + "file": "packages/artplayer/src/player/posterMix.ts", + "sha256": "d569dc24e8e64efe398bd76942bfaf563ffbf64d2a7387ea2e1cb1cf511183d4" + }, + { + "file": "packages/artplayer/src/player/properties.ts", + "sha256": "76806d6273545ff556cf9c6d341b59b9041455a8ecbe1fd40510e841c0d5710b" + }, + { + "file": "packages/artplayer/src/player/qualityMix.ts", + "sha256": "980ff584c8a5793f5ec9f049f144df31d184d7c9acef49fbe9d504b7657a96bb" + }, + { + "file": "packages/artplayer/src/player/rectMix.ts", + "sha256": "a741ee09fa3271df84363c5d73eac1b2e5adb39491f95f8112af81f1219ffed4" + }, + { + "file": "packages/artplayer/src/player/screenshotMix.ts", + "sha256": "1754bbce09f713204c120cd4657b52c06eb09eb1fe3244f84474e5967cd68e50" + }, + { + "file": "packages/artplayer/src/player/seekMix.ts", + "sha256": "e6e1bf00e8441f1ce58d2a67a66f7e5e98c86d78620ff10a5e6268d54f13fadb" + }, + { + "file": "packages/artplayer/src/player/stateMix.ts", + "sha256": "e45b3209a93ab14665d19c5740d5c632187e9fe234b019a2a0263e26884ab3b2" + }, + { + "file": "packages/artplayer/src/player/subtitleOffsetMix.ts", + "sha256": "e7866cf3a6d9fe271a4c34973f7a961542a738e89a3647df85197cee5853ce8b" + }, + { + "file": "packages/artplayer/src/player/switchMix.ts", + "sha256": "b47e174ef0edb2b96ff29f2ddd3c9f2dd2a38713db2a81002b18c89ce71994e9" + }, + { + "file": "packages/artplayer/src/player/themeMix.ts", + "sha256": "5bf11bcf8b77cd5d5f2970bc3edcee315c693c1be3d567770d5107a5951cb48f" + }, + { + "file": "packages/artplayer/src/player/thumbnailsMix.ts", + "sha256": "6c097d7d00779a6d0d3d65cf9ffd126624a48c9bdb98396c84c39f4de4bdf712" + }, + { + "file": "packages/artplayer/src/player/toggleMix.ts", + "sha256": "a3050136248e7d0b942387484c61286ac2b33a90724b1dc3460f5061be76f247" + }, + { + "file": "packages/artplayer/src/player/typeMix.ts", + "sha256": "c2a234a9c09f0269a4bd0659087635995945075ac70a5cf2478c8a135fc1b2fe" + }, + { + "file": "packages/artplayer/src/player/urlMix.ts", + "sha256": "726a42899261879e03c8b1d4f716458bf3e6e614cecc3bb8d7a581afc2b7866d" + }, + { + "file": "packages/artplayer/src/player/volumeMix.ts", + "sha256": "d830bb27b984e0ab2f687943fb49abcbd0331d71fe96049fd81edbddaa64f07f" + }, + { + "file": "packages/artplayer/src/plugins/auto-playback/prompt.ts", + "sha256": "58c6dcaf540296ee6f6bdeeda38ee7302aca2b06ddb152b716c0c2bf9c6c96b4" + }, + { + "file": "packages/artplayer/src/plugins/auto-playback/records.ts", + "sha256": "133a4ba2fd2d3df724d96eb203d05cffb0b82ecb8de72403974f7979bd37ce01" + }, + { + "file": "packages/artplayer/src/plugins/autoOrientation.ts", + "sha256": "4a13b0c010ea7a5002e66c422260ed24bb0d18b3ed41ce10974ac7ca2804cc09" + }, + { + "file": "packages/artplayer/src/plugins/autoPlayback.ts", + "sha256": "e349010813bbcd53503383b707c5f6e6e60d8ade6442d020fe6ba07a128c3122" + }, + { + "file": "packages/artplayer/src/plugins/builtins.ts", + "sha256": "4631c9775732982dfdc87e16b1bd6b41a350be36fb27e0a9132c11a85b0c016d" + }, + { + "file": "packages/artplayer/src/plugins/fastForward.ts", + "sha256": "74c03e3fcfe2f87dcb0ef1a5da5410cb96322509fd07e32930128584c54f62b5" + }, + { + "file": "packages/artplayer/src/plugins/index.ts", + "sha256": "4c97f354769bbcb338263f321876a90745a87a9af2d267e216bd3d9d007f268a" + }, + { + "file": "packages/artplayer/src/plugins/lock-keyboard.ts", + "sha256": "d59ac2fc9d0daf48c7946e0b49698a74e01f5f55e903c1b090fbda5516cbd16f" + }, + { + "file": "packages/artplayer/src/plugins/lock.ts", + "sha256": "8f5fe4469787b7b2a0a302d0fbd925f8eb6d1b261cae6e17367e4d97666a096c" + }, + { + "file": "packages/artplayer/src/plugins/miniProgressBar.ts", + "sha256": "21b4850fcaf6b0e82d5e62ca7aca60c179c578f7ff6d5606e6025628ff4b1cc7" + }, + { + "file": "packages/artplayer/src/plugins/registration.ts", + "sha256": "9891686c32aeaa33c48ca500cf30ab24ffbb0835c6248769b4c645a5ff20129b" + }, + { + "file": "packages/artplayer/src/plugins/types.ts", + "sha256": "6823098d5ec1bf053f60ddfdd36bfcd3f06f3b528cc5dd30fd676a1318dac590" + }, + { + "file": "packages/artplayer/src/scheme/index.ts", + "sha256": "dc4a3b5e08478cf72b46b0b59c023359ad5f79b891ea8a6a119ce24a5251821a" + }, + { + "file": "packages/artplayer/src/setting/activity.ts", + "sha256": "699ceed4bdeddb6d48eacf79c8dbf737f5d2d8c4983be70205322b14807a91b7" + }, + { + "file": "packages/artplayer/src/setting/aspectRatio.ts", + "sha256": "a16eb58fadf77f0a9009cf162d957ffd59d9b8fde83cc193d510fd642e3456cb" + }, + { + "file": "packages/artplayer/src/setting/checkpoint.ts", + "sha256": "9d3bff311f9b15c067ca49661af4f48de939f266b8077e7c2f0d66edef22dde6" + }, + { + "file": "packages/artplayer/src/setting/events.ts", + "sha256": "f7a3347ca146232caf2a8c9a5a18731cf7bc91dca4cd36370e0265c6eb70df53" + }, + { + "file": "packages/artplayer/src/setting/flip.ts", + "sha256": "e72a4ae33300d9e48880897a4f85a04fa6d9a5fff7b06ecaf9081cfb1bb14404" + }, + { + "file": "packages/artplayer/src/setting/index.ts", + "sha256": "f6319af15ebe3600a466123dd9d343b86a8d6ed201693ac7ac86dc1d674d477f" + }, + { + "file": "packages/artplayer/src/setting/keyboard-focus.ts", + "sha256": "b9af20f66342e10564ef606d75550e9eb9c65274af615ff5719598a0620464a3" + }, + { + "file": "packages/artplayer/src/setting/keyboard-item.ts", + "sha256": "d94bfc0266486615ddb79b9eee3886f48891ebb2e5f465652ef98f142ada89d2" + }, + { + "file": "packages/artplayer/src/setting/keyboard.ts", + "sha256": "5a2c717d9ecd368efb1bab2562e8d8a06af7607e9fe6d96c1be4d8d58212d395" + }, + { + "file": "packages/artplayer/src/setting/layout.ts", + "sha256": "584604e8fffaeaf1d633d1ed45e64d94595c2a56976e3a3f7ede01839b83a37d" + }, + { + "file": "packages/artplayer/src/setting/model.ts", + "sha256": "c47348f0f9494c4ce8ea5561bcde6eb698fb11e9197ccdc1ca1359a6d5e370dd" + }, + { + "file": "packages/artplayer/src/setting/panels.ts", + "sha256": "64d48720971763985a2a652a18c2ed2f32300c3553d56b52049ae40c4dfceae1" + }, + { + "file": "packages/artplayer/src/setting/playbackRate.ts", + "sha256": "2e70e0d2a33cb0ec9fcdd6d22424979fed7b2e01f87015d6be4e520d5cf4e88a" + }, + { + "file": "packages/artplayer/src/setting/registration.ts", + "sha256": "c29db62b5d90e0efa4a926c753015e65e96a47add3f5b8840ee51017052edf7c" + }, + { + "file": "packages/artplayer/src/setting/render.ts", + "sha256": "ed73745f2c7e2d76bbe8ce7202336e5f4de217dc8f0806b769127cb25316faba" + }, + { + "file": "packages/artplayer/src/setting/resources.ts", + "sha256": "64c28cc2cb08cb87b0864ab957d7999bc94931be4788f282d6f190b8806a81fd" + }, + { + "file": "packages/artplayer/src/setting/selection.ts", + "sha256": "a642e630924eaf4ad91705fad1fa6e6dc946b32970d809a23da274399fce20ef" + }, + { + "file": "packages/artplayer/src/setting/subtitleOffset.ts", + "sha256": "86513835d4e542ac39e9d551507473e3e14c71fd0d5ea725267008ecbff6ab83" + }, + { + "file": "packages/artplayer/src/setting/types.ts", + "sha256": "21a07d75a28bbbe20b3e107b6f1a09cb6f8ef2773ea10a4bd7caa88956e9b99c" + }, + { + "file": "packages/artplayer/src/setting/update.ts", + "sha256": "79326cb55c52243a7aa8df347a3b081dcd84eb7932fc6162061cc0d9f7078add" + }, + { + "file": "packages/artplayer/src/source/listen.ts", + "sha256": "c0596b98258c1544c8e4b762509646428450e56588da36908cb8583b8b716c37" + }, + { + "file": "packages/artplayer/src/source/operation.ts", + "sha256": "a8d0b89fc706c4ef0ccdd6d94b220207e92b3d3bd3b42b55c90f9bd191f15cf6" + }, + { + "file": "packages/artplayer/src/source/restore-position.ts", + "sha256": "da98a47e8419b33069191e51fc94cc9652302ee4f3eff8ccc7a6dbd4c4c0e2bc" + }, + { + "file": "packages/artplayer/src/source/switch.ts", + "sha256": "c66a3db4ba52dcdb46e1f6ab1f350588a07f64d893423d3f135d9768bed74ab6" + }, + { + "file": "packages/artplayer/src/source/types.ts", + "sha256": "e5fa3a9cd6b84dffbbb02f61aad966d6046204d857de3e4564c795f02a0259ff" + }, + { + "file": "packages/artplayer/src/storage.ts", + "sha256": "9c0a0f3d8ac18261db6e49b2ea14322d1d53bfec3531c7337b85005e708fef30" + }, + { + "file": "packages/artplayer/src/style/accessibility.less", + "sha256": "eb9cfe282c64a059d2e102280750bcd33ac33726fa09042eb9875f534335efef" + }, + { + "file": "packages/artplayer/src/style/artplayer.less", + "sha256": "4e8513138d5d10c05b66986977d24ed17f1de3c0df3816dec6d90db7a97b5da3" + }, + { + "file": "packages/artplayer/src/style/aspectRatio.less", + "sha256": "091931a0cdc83e65a669332811ef3276b85bca9e55f7fff42aa46893d728c1ef" + }, + { + "file": "packages/artplayer/src/style/backdrop.less", + "sha256": "6c2cd0fa200d1f3525df98c3c56dbdc553445724aece3feb0386949245813343" + }, + { + "file": "packages/artplayer/src/style/bottom.less", + "sha256": "6fb307d8449fd04b804d5e72ea0f175f8aa9c9dd2bf1efbf756f800b39ac97ab" + }, + { + "file": "packages/artplayer/src/style/contextmenu.less", + "sha256": "70f6c7e26dc96652b659c7bf6fdad92737ed477dea69d253c57dc7266c76586d" + }, + { + "file": "packages/artplayer/src/style/controls.less", + "sha256": "eb6d4bf4e4ff903d724d45f3ff60f0cf10c02e622fba195555a8179100cdce87" + }, + { + "file": "packages/artplayer/src/style/danmuku.less", + "sha256": "e4215ee9fa2f1d0599e7311a2415cc975138265b7c6af0448d27d21b6c9e3511" + }, + { + "file": "packages/artplayer/src/style/flip.less", + "sha256": "5d3c7a81df9be455c2f683ebf48f39597d218dc2144addacb72ee1736bac3b7f" + }, + { + "file": "packages/artplayer/src/style/fullscreen.less", + "sha256": "dd350d3a0fc556d59b622a53c786b8c2a583e8fb28176e4b9e91baff90479496" + }, + { + "file": "packages/artplayer/src/style/fullscreenWeb.less", + "sha256": "d74e785c2fbbb2976e131620e751326f622f2916eceff9f2333059ca3296cdc9" + }, + { + "file": "packages/artplayer/src/style/hideCursor.less", + "sha256": "09a4607c8b0005dc199828172aa8dda395f861e407769b9696d793476c4a7823" + }, + { + "file": "packages/artplayer/src/style/hint.less", + "sha256": "ae9f3115dfdb1e2d7b8249497c080e6a25f9667f915f6e89820338d67bbc2d85" + }, + { + "file": "packages/artplayer/src/style/icon.less", + "sha256": "52d8f75c1d193e6160f57ca6997c3f9135adad8eb2338ed60c1eb8e5fe443be5" + }, + { + "file": "packages/artplayer/src/style/index.less", + "sha256": "7fece0bc5b5a106d051eb80152d5e4558f2e73953c4c33175aa901b9695be61b" + }, + { + "file": "packages/artplayer/src/style/index.ts", + "sha256": "856afc037ffcd4d18c4b54901ddbb30e310014553fe9d19560e34fb54b8378c1" + }, + { + "file": "packages/artplayer/src/style/info.less", + "sha256": "fa56d1b8c8936218e581b2426026e4ba85cd5fea20d045c4f69aca96be4059be" + }, + { + "file": "packages/artplayer/src/style/inject.ts", + "sha256": "9cddbe51b5de0da74f27c045ab982b509c3854cc6b81eeb02a6b974914760a4d" + }, + { + "file": "packages/artplayer/src/style/layers.less", + "sha256": "9653c581190bb22d60a706109819cd010908898740701c9526957b5682991c5f" + }, + { + "file": "packages/artplayer/src/style/loading.less", + "sha256": "185b0f05274196ba71fdb1d088b55af568f3342a495490c99c3f0e058a40659e" + }, + { + "file": "packages/artplayer/src/style/mask.less", + "sha256": "d1239a171b71ea6184cb4aee6660d74d6ffc0c48f7c47c3cf5fbe52d2e93ac92" + }, + { + "file": "packages/artplayer/src/style/mini.less", + "sha256": "8be782a3054154ab908b1cce650b6131330cf0f0e936b749accb4b2dfe605a27" + }, + { + "file": "packages/artplayer/src/style/mixins.less", + "sha256": "c6be95aa682f266749fe37cb89796fbec6488abc537174f817da79bdac6e00b5" + }, + { + "file": "packages/artplayer/src/style/mobile.less", + "sha256": "ff3f64fca5d2dd7ddd50385d88d9b2fa1a645909488ab7a0978ba4f1670b7c0e" + }, + { + "file": "packages/artplayer/src/style/notice.less", + "sha256": "72a935c0effc557a9d7ab3baccb2c3b77fc3a1783450b4e3178a40a5325fe369" + }, + { + "file": "packages/artplayer/src/style/plugins.less", + "sha256": "ea345094ea5708dd3a3c290f357dbb301b38af35464d213c47e3ec6c60eaadca" + }, + { + "file": "packages/artplayer/src/style/poster.less", + "sha256": "36b38fe138f8c9537ff4e93f7ec4f2dbdba1ec41d243d741ddf1da7c6581e546" + }, + { + "file": "packages/artplayer/src/style/progress.less", + "sha256": "59b9d95d49dbcb1be40752d7086239b6de5925b0574da231199d999e22ff4990" + }, + { + "file": "packages/artplayer/src/style/selector.less", + "sha256": "44585c6b0179e34d21eeefce6d3494faacc0e9d108079426876e8847fd441513" + }, + { + "file": "packages/artplayer/src/style/setting.less", + "sha256": "5618eb443ab6368bc4a18e9a379ce6552629555cdca6074e753aa6fd7baf9bf9" + }, + { + "file": "packages/artplayer/src/style/subtitle.less", + "sha256": "273cacb63ec0214ba434dcf19a4a455dbbdd408fb2d1749de4878804c1371e41" + }, + { + "file": "packages/artplayer/src/style/variables.less", + "sha256": "703739b2bdfc77bfde063d8788ef6b6a55b8730764baae8e7d755b7c54d8ecc7" + }, + { + "file": "packages/artplayer/src/style/video.less", + "sha256": "b89c6f6e27592d49825c68c9ab98d46e81cb1e5add855863f89d19637f98e35f" + }, + { + "file": "packages/artplayer/src/style/volume.less", + "sha256": "6e99bbe0dbcb40667ef99789b65812dc9c94ce8a1071c00d2edec5eba041c434" + }, + { + "file": "packages/artplayer/src/subtitle/index.ts", + "sha256": "b4ead680dc82fa47c53d1ec7e5fb8bf94abbf55730d5d1130ad8d544cb42adc8" + }, + { + "file": "packages/artplayer/src/subtitle/parse.ts", + "sha256": "7db540c5edb1d2312eed82757fd15a7ce6a28996ba20d0087e56730f21dede74" + }, + { + "file": "packages/artplayer/src/subtitle/render.ts", + "sha256": "96493fc35680af635a8db225a8bf002208df79ed48b1d4ee6cc73587543add5c" + }, + { + "file": "packages/artplayer/src/subtitle/request.ts", + "sha256": "543c964571bd5ab984bc1adc9f64a8917dd134ed2892ad10b30ed9c859f34119" + }, + { + "file": "packages/artplayer/src/subtitle/state.ts", + "sha256": "9f79b982d66747170bc39bdaf99b65676310965f23da62a4dec15547c756a56b" + }, + { + "file": "packages/artplayer/src/subtitle/track.ts", + "sha256": "707f4c43af4ebf4b87521f6f577168460e739274d0cec28b9efe5704d2540d18" + }, + { + "file": "packages/artplayer/src/subtitle/types.ts", + "sha256": "615e389b4bb36196a69a059eb04cf7e519cdac13d2da15e4374fede2f3b6631b" + }, + { + "file": "packages/artplayer/src/template.ts", + "sha256": "0ea9155b9292d4c528a464d3c97996ee5a1c9c4aabc2959a744989085db2251b" + }, + { + "file": "packages/artplayer/src/template/html.ts", + "sha256": "351c472bfd01fa5ba1a4e347ed31bd5faaf823d9b4c5cab1ce8c651e3b175021" + }, + { + "file": "packages/artplayer/src/template/nodes.ts", + "sha256": "1572746a636647e4d313cc8752d3a110ff81fddb390ad7b0feb6a0db0d42b9d4" + }, + { + "file": "packages/artplayer/src/template/types.ts", + "sha256": "2bf906b4a209e17dae4d79225e758e2e53772e93f19f188d0131051ea2a0143a" + }, + { + "file": "packages/artplayer/src/thumbnails/layout.ts", + "sha256": "6630439242a880f53fcb374b7b15c7f486405aab8a0fad651b137f02971eeb59" + }, + { + "file": "packages/artplayer/src/utils/compatibility.ts", + "sha256": "1fd2a5b17ee3245712eda961d3c0a15caf3c428010112e48231890176ce1e5e2" + }, + { + "file": "packages/artplayer/src/utils/component.ts", + "sha256": "c3fa96467e8b315d974a42a19591aa4a4a7514853db796135b2acbcdcb160ea3" + }, + { + "file": "packages/artplayer/src/utils/dom.ts", + "sha256": "72f3539dabf296df37ab4cc7ade0c8ac9480f399987101589450c787e7d6719b" + }, + { + "file": "packages/artplayer/src/utils/emitter.ts", + "sha256": "26a93d3ff35b53e71a5f3bb22c252a854559d8151ede50a66a28d9eefae6c008" + }, + { + "file": "packages/artplayer/src/utils/error.ts", + "sha256": "ba303c7d4e4228919088f9d608fa364596f5853ee646eda2008deee354866f38" + }, + { + "file": "packages/artplayer/src/utils/file.ts", + "sha256": "ea71d7fc0e818d473bf5a596211ba9d571e4febdf1878014eadefa8d0a98d4cc" + }, + { + "file": "packages/artplayer/src/utils/format.ts", + "sha256": "891df5b7542b713aef46bf2b93924f42e68eee574afd802db3e6c62ff2655ede" + }, + { + "file": "packages/artplayer/src/utils/index.ts", + "sha256": "5211af833dddb2937d25dcc772740d62f9d5c5039ce5505bffff0796d4afd756" + }, + { + "file": "packages/artplayer/src/utils/property.ts", + "sha256": "c737d4582a4382f4038d12dafdf8b43418e508c9b8b859b2f0cc17c20f370343" + }, + { + "file": "packages/artplayer/src/utils/subtitle.ts", + "sha256": "f058851d11a418e321a8a498472b67fa535fec2c7b5d3df739b6b4f263d00337" + }, + { + "file": "packages/artplayer/src/utils/time.ts", + "sha256": "b8ce3d50865f6c343e8e3ce9f5c87de565a87b4e9fbcbccbe7030e30e80b93fe" + }, + { + "file": "packages/artplayer/types/COMPATIBILITY.md", + "sha256": "a7da9e102a116104b513df4f7451247b7759bc502d3375f30bd5b14a541826e0" + }, + { + "file": "packages/artplayer/types/README.md", + "sha256": "1bd9868e773610e6312fd48a1c5aa20772d29df0af40c3db66e75b7ab4a1aee0" + }, + { + "file": "packages/artplayer/types/artplayer.d.cts", + "sha256": "3685065e4263abcfd9d953176e461d5b3eb990b0363b54689a7f55deba770fef" + }, + { + "file": "packages/artplayer/types/artplayer.d.mts", + "sha256": "b664fec51ee5c5381f2ceab25d99d52aee56feab04a2ee7b4ea5b2145ea5fa0e" + }, + { + "file": "packages/artplayer/types/artplayer.d.ts", + "sha256": "5d0162adf7ac6d0f2bb9b5cfe361f28657c4d9c540cadbf36eba3cc954ce50f8" + }, + { + "file": "packages/artplayer/types/component.d.ts", + "sha256": "ae5bc1ddeaa1ee1ebbc62573e32423993727079205c64751a5a314170e588a32" + }, + { + "file": "packages/artplayer/types/config.d.ts", + "sha256": "36f9a84cd436f17701a0d11d3417fc1fe0414e0c52c80083b94a85dfc329e37e" + }, + { + "file": "packages/artplayer/types/cssVar.d.ts", + "sha256": "93217860fff2ebf750f606d95ddd22220a58837119e63bdf2f5f78fd7488458b" + }, + { + "file": "packages/artplayer/types/emitter.d.ts", + "sha256": "7e1f9a2a8ce65feb95734f1ed52d1334e57aa388bbef2a43d8bc53a9b6f6623c" + }, + { + "file": "packages/artplayer/types/events.d.ts", + "sha256": "f83624c9268a284477e8bd793fe3562a2363b72f2a44d5c64fe8c6a6cede8830" + }, + { + "file": "packages/artplayer/types/i18n.d.ts", + "sha256": "f4f2f05bdfda73c74fef34767cb18ee8e11b743120b1c4598e9714d7846018e5" + }, + { + "file": "packages/artplayer/types/icons.d.ts", + "sha256": "326a67ba7bdcf52862c5b2a269e540140aff98d05c7b96196485a77f84fe5960" + }, + { + "file": "packages/artplayer/types/language.d.cts", + "sha256": "f7928e108cf7b7814c2d75cb0a525333e95873fca6cd6d89a740450656b9c1cd" + }, + { + "file": "packages/artplayer/types/language.d.mts", + "sha256": "6619a26d604b7cccbe2f596243d87ae37cfaae33b8b52874ec071d9787446f9e" + }, + { + "file": "packages/artplayer/types/legacy/language.d.ts", + "sha256": "c7abda4d506fd933c350e9030290bf9e64347a921d683a66115da1995ebe0a81" + }, + { + "file": "packages/artplayer/types/option.d.ts", + "sha256": "ccf2c8ddc537dc65c9682d39f044726e23bff18f476b622512d7e6a4b949b5f6" + }, + { + "file": "packages/artplayer/types/playback.d.ts", + "sha256": "58705c273df6e76a77a6575e769a9ec6c013785c25080f2551aa22415788d870" + }, + { + "file": "packages/artplayer/types/player.d.ts", + "sha256": "92b00211b70ac71336e495899df972a0519dd138111846044fe4e0f967966177" + }, + { + "file": "packages/artplayer/types/plugin.d.ts", + "sha256": "fc3594a41c51d8248713e33c486fb1f6a518ac5c7ce31be6988a6cd8d052c5f3" + }, + { + "file": "packages/artplayer/types/quality.d.ts", + "sha256": "1ac1a48b4f74ff9ba1ce60443e1463d50d1c6a2e5d87d63dc7d2a8eb7f4c2c34" + }, + { + "file": "packages/artplayer/types/runtime.d.cts", + "sha256": "7ee988dfea9a0ac71a34a656f96f7b74e78aa92547cfdfab7ff7e1139a77d4a3" + }, + { + "file": "packages/artplayer/types/runtime.d.mts", + "sha256": "dcb85f59a8b7714918ced0c1d18c2bb24e8b80b56d8c594e019dcbdb5ad88b08" + }, + { + "file": "packages/artplayer/types/runtime.d.ts", + "sha256": "9c6ccd39a1be293f17ae46dae8ea077053e12635ee79d73a5e3b3a559230fcff" + }, + { + "file": "packages/artplayer/types/runtime/component.d.ts", + "sha256": "1b4c0cee44568649e80140fe778febfcae88af0ac85515f1cbeff78ab0c6d14f" + }, + { + "file": "packages/artplayer/types/runtime/construction.d.ts", + "sha256": "7a87bedf6f7ffff0c46078aa5f1551e0077d35574e286516121f5f935e2d9ce4" + }, + { + "file": "packages/artplayer/types/runtime/events.d.ts", + "sha256": "a1e2f9d387475453eaf95c2a5ee79e228636c0bb859bda3fcc46da46574a0c31" + }, + { + "file": "packages/artplayer/types/runtime/media.d.ts", + "sha256": "8fc89401be7fe25542c169d07dd5675f10916ed20be8493e19695966cf3864a8" + }, + { + "file": "packages/artplayer/types/runtime/option.d.ts", + "sha256": "6e334e1a76fdcc40b4665c02523bd31c3994d96078fadeb40e23422aa54c1a1d" + }, + { + "file": "packages/artplayer/types/runtime/player.d.ts", + "sha256": "8ac6383502e4872e83659838844856903031a81a0adc8e8535feb78453aa042c" + }, + { + "file": "packages/artplayer/types/runtime/plugin.d.ts", + "sha256": "8528f2b17843149f42f9cc16d6fd70baa238c9dc2c329b67d2c38096799c69bd" + }, + { + "file": "packages/artplayer/types/runtime/services.d.ts", + "sha256": "604c9f8e4b6c0da818f96576bf9f4b0e96085a9003927b2f7ba30027b1ba237e" + }, + { + "file": "packages/artplayer/types/runtime/setting.d.ts", + "sha256": "349c1fcb205ad312916bd3ee55e6bf241ea8a569fb2ab6c80822e69fc518f7d7" + }, + { + "file": "packages/artplayer/types/runtime/subtitle.d.ts", + "sha256": "269ff84678d327b3a9dc2f5bc6cc0d731d1e081b85422e474621d5d792efb153" + }, + { + "file": "packages/artplayer/types/runtime/template.d.ts", + "sha256": "7a62f968a38b4bf9109a4439557c02074eb1d62ba1f6e21a8eb194e91f0badfe" + }, + { + "file": "packages/artplayer/types/runtime/utils.d.ts", + "sha256": "6bf731705d86853e066dbaf3b8d4003b6548423fe615b7412b722bd0d3a6e48b" + }, + { + "file": "packages/artplayer/types/setting.d.ts", + "sha256": "08305a75dff96f06490430e099338b463df471b550c1d0dac3abc8995b39eb09" + }, + { + "file": "packages/artplayer/types/subtitle.d.ts", + "sha256": "b18314e2d64efdb6045830b6e12f615ae2ed585416130e562329ad3ea337f6ce" + }, + { + "file": "packages/artplayer/types/template.d.ts", + "sha256": "4792bc0c2cbcb7966e4375118bd34b326166e0831862e94ace4cf6b1bbe6a8c8" + }, + { + "file": "packages/artplayer/types/utils.d.ts", + "sha256": "fca0d3d814df94a25f9eb067c86fa0cf272e2791bac793b91229d57680797712" + }, + { + "file": "refactor/baselines/ads-release.json", + "sha256": "e5b47f7d04fe043aaeb40390da4b4c19d80ff6f8889e8e0f5c806ffa44306b69" + }, + { + "file": "refactor/baselines/audio-track-release.json", + "sha256": "637a1c125cdd44102545d231a3bb49554066d8478d20c92b6afeb9b81db98849" + }, + { + "file": "refactor/baselines/dash-control-release.json", + "sha256": "e2cc341ec7d1351baf901856bdb0f722774e1b3d7f912de6ee25e91318a43475" + }, + { + "file": "refactor/baselines/hls-control-release.json", + "sha256": "a46325ad769c324795d8da040d2eddf0e541b59a5cc8eead736a6f54a8c7dc09" + }, + { + "file": "refactor/baselines/releases.json", + "sha256": "56054ecd0b861c91a14bf83fcb4243ab6f5ddb27004ad8eb98901c1f85f9b426" + }, + { + "file": "refactor/baselines/vast-release.json", + "sha256": "493e15fa8d3cd1a9215a409dd78db61ecaef5f82f9629dfdc3f6090e7fad8453" + }, + { + "file": "refactor/contract-policy.json", + "sha256": "ca545a3e721313f0dcb59c549c14589c108e064ff396a72a2c14e4ee993b1a04" + }, + { + "file": "refactor/fixtures/README.md", + "sha256": "83b2d9e2be36c2ee914e09b55f249e1f62efae63456eb99068977f9923f89859" + }, + { + "file": "refactor/fixtures/api.html", + "sha256": "b19a20488892bfbbc7b8cc3d325a0472ce2c09259642443e193a00399b27b069" + }, + { + "file": "refactor/fixtures/api.js", + "sha256": "296785fce39dda7f87b603ee16983f5dd305aada511b6f7fe7ae45ad07669dbf" + }, + { + "file": "refactor/fixtures/build/browser.html", + "sha256": "f23cf184f9280b13e6fc49ed81182030f56072f0abae0027592ba460434046ca" + }, + { + "file": "refactor/fixtures/build/icon.svg", + "sha256": "794225a0e8d9464f748ece35b6fd3b49cf6175088881c4ce1ddd4c0c49ccc759" + }, + { + "file": "refactor/fixtures/build/index.ts", + "sha256": "926ceac2f574f059ed43ecf734129111766023f1ec017d634dc750c2d5b37e84" + }, + { + "file": "refactor/fixtures/build/shared.js", + "sha256": "d7b9fb6cdead2fb729501d24b6dd6c5e8a801b95e665069929e064f34e418056" + }, + { + "file": "refactor/fixtures/build/style.less", + "sha256": "d706fd1267fac56cb207d41d1efe2b19c5b200c1ad346d9f11a9b4e1fad2d5b0" + }, + { + "file": "refactor/fixtures/build/worker.ts", + "sha256": "2c98d00f6cc5efa557839b98fea27dc9004295910c52ae22f60437a2be7dd126" + }, + { + "file": "refactor/fixtures/consumers/ads-published.ts", + "sha256": "0b8e5bb9bb74aebcf309b7af8942a7cbe6036de14f07fac121959eeb7d7d3910" + }, + { + "file": "refactor/fixtures/consumers/ads-workspace.ts", + "sha256": "aee3b18b9c8f566a71e1e9d31a2ce8cdeae5664b246806bceed66bc97e18129e" + }, + { + "file": "refactor/fixtures/consumers/dash-control-legacy.ts", + "sha256": "b9aa4acf17d18820824814a59c3b4ab94c719570791a476164252be3741ebe9c" + }, + { + "file": "refactor/fixtures/consumers/dash-sdk-v4.ts", + "sha256": "d866dcc32319540ee9e2b70dfb2839da3bf13da8c1c35345de943a29e1af6d5c" + }, + { + "file": "refactor/fixtures/consumers/dash-sdk-v5.ts", + "sha256": "aca55f822a2ac454528e5bdd1f18eeeebe09a8ac3b192dcce7bc85500814c712" + }, + { + "file": "refactor/fixtures/consumers/language.ts", + "sha256": "6fe60149ddcd5e68489ff60d01cd6111324afa47a3dd58186e8340d5513552ce" + }, + { + "file": "refactor/fixtures/consumers/legacy-plugin.ts", + "sha256": "50f373587c654160e00482209605481dfcb23fb9ae29d45d1b8d26326e89b853" + }, + { + "file": "refactor/fixtures/consumers/optional-chapter.ts", + "sha256": "3a6f1a3cde46ee68f483d8a33aa699a4cb359a98a1d35a57fe0d09ee632daf0d" + }, + { + "file": "refactor/fixtures/consumers/public.ts", + "sha256": "ff3e6e3bf42d0a950caad5db8925e639bc94a9dcfc4dcd1b44667aec9de85f37" + }, + { + "file": "refactor/fixtures/consumers/runtime.cjs", + "sha256": "8532944f9ee3850385737dd65cd23793105983d04606bc41682b4de1e4347467" + }, + { + "file": "refactor/fixtures/dom.html", + "sha256": "cb2891446f74fb0e3fcb974d41170decb35977522f1ee5bfeb032f4f9b3e1fec" + }, + { + "file": "refactor/fixtures/dom.js", + "sha256": "2a847ba117133046916a46ed586744785dc6e8b024805a69be7a7f3425b0d89b" + }, + { + "file": "refactor/fixtures/lifecycle.html", + "sha256": "120851612220cb5b2101f495f3c90c7bfe1541bc81f320d700a76781689c4a0d" + }, + { + "file": "refactor/fixtures/lifecycle.js", + "sha256": "2017800cf809c386dc06879132aa34c5524cfb404a50ecd887ba28c2639044bd" + }, + { + "file": "refactor/fixtures/performance.html", + "sha256": "0a039781773f0c90edf6cb9fbe11049d321ee971dae8ae0b8779707648775508" + }, + { + "file": "refactor/fixtures/performance.js", + "sha256": "f72abbead56dc6499c5f08cebbd90fffc9fa9ca42d788f71ddcce31f70259a0f" + }, + { + "file": "refactor/fixtures/ssr.html", + "sha256": "57f8ce4d0227b83d01a575551d2d9bc3e0d0042af6038680833b2609849e8ea0" + }, + { + "file": "refactor/fixtures/ssr.js", + "sha256": "6396ad144a29b576f76974dac640ab47ddf28e6a27e71c56570c61d517d54242" + }, + { + "file": "refactor/package-inventory.json", + "sha256": "9524ec325a5d9d97edd76ed852d4e80583521ff7582a88b95cba3bf90e51a0d2" + }, + { + "file": "refactor/scripts/ads-contract.mjs", + "sha256": "f3c23c5298c53d8ed5aff9bf4653771303394daea3475e42d3089d0c03952091" + }, + { + "file": "refactor/scripts/ads-contract.test.mjs", + "sha256": "3c73bf0f6d34fb7078bf3e581238d46f596d8c3c9461ac073d3189a44349ecd5" + }, + { + "file": "refactor/scripts/ads-core.test.mjs", + "sha256": "514b446c5dd42dc3c7b7230699fde45915a64bc5b8d2fc4799f1fc6b66f14516" + }, + { + "file": "refactor/scripts/ads-native-visibility.mjs", + "sha256": "7521c78c3874cdc4b5029fe85b00a9afc6b8a14fb71728d64e588717219f19d0" + }, + { + "file": "refactor/scripts/ads-package-types.mjs", + "sha256": "846af87f5f7f0c84fcbccecd4b3dfd6e2c1946ce47dfe7122760fe5f25cf5b6a" + }, + { + "file": "refactor/scripts/ads-types.test.mjs", + "sha256": "ddecd08afe4f04740c3c915e3a54c88d94fecd4796cbe8e1c668d69c46322685" + }, + { + "file": "refactor/scripts/api.mjs", + "sha256": "5c77a74cf16b9668bb447a5a978d555539001c898e16ab79942d511845bc5cca" + }, + { + "file": "refactor/scripts/api.test.mjs", + "sha256": "fc8975f386a6f0350d4b480f24b82c7f1845db4c3fcb2adfdf7ef64f6661ffd6" + }, + { + "file": "refactor/scripts/audio-contract.mjs", + "sha256": "60eed16f505f9df2943c43bbc50bb44ad149aa31f66b2a3938e8f80e344c3ea1" + }, + { + "file": "refactor/scripts/audio-contract.test.mjs", + "sha256": "f4add70b45cccef183201827b9f92f98cae56f8795b6459bfee4e17d0fb953ca" + }, + { + "file": "refactor/scripts/audio-types.test.mjs", + "sha256": "301a049d9b7567221a50d6d8b5bb35bd2087fcc9c637b849149ab648b07c6d08" + }, + { + "file": "refactor/scripts/browser-server.mjs", + "sha256": "5c0a17100bc3091e7cb38d9edf880cd0a6ba6a55fca62b2feaf87841ea418738" + }, + { + "file": "refactor/scripts/browser-server.test.mjs", + "sha256": "33528900dbc7b3467145d7501e72dc29c36145e001c2b1b4d4825a43aeea5f4b" + }, + { + "file": "refactor/scripts/build.test.mjs", + "sha256": "e5053fdaec53ed09cc34b4de62cc30db4a0662248ab5bfed3b277a8b21a0b852" + }, + { + "file": "refactor/scripts/commit-audit.mjs", + "sha256": "3b2076e428042017df2eb12b02c827a81059704f7435d86279e20f3e986f3d57" + }, + { + "file": "refactor/scripts/commit-audit.test.mjs", + "sha256": "74d807947473ccafb783a9127a8fac480c3051b422a5e2edb9e1509ac02cd49c" + }, + { + "file": "refactor/scripts/consumers.mjs", + "sha256": "0811fb3ed521713f9579c1460c447cf835c742c711dc4014694091f6162aaebd" + }, + { + "file": "refactor/scripts/consumers.test.mjs", + "sha256": "278cec7e9f4d3fc9f239f8fe887fa2f194531e55a57db7477ec6e7c2cdada2b2" + }, + { + "file": "refactor/scripts/contract-reporter.mjs", + "sha256": "9fdd6cd1814e12df18a294558da9a4a561b5b8eee8149b21902c1b99b855b8c9" + }, + { + "file": "refactor/scripts/contracts-model.mjs", + "sha256": "99b3a774de9d4bbfbf6bc7728b74bf8784883e13ac24f5b9b7e5aff81367ca8a" + }, + { + "file": "refactor/scripts/contracts.mjs", + "sha256": "66dd75e6624574dd2648317d087d67fd17f4a310066fc63b3eb32b90f68fcf36" + }, + { + "file": "refactor/scripts/contracts.test.mjs", + "sha256": "022c46ac41b87b28fabded74dcda2658039b4487dfc1ff4d4d70edfbc08b8da3" + }, + { + "file": "refactor/scripts/core-vendor.mjs", + "sha256": "3dac2bd56a0417d7fed0161f412bd98220bd6910bca06f3dd79959706ac312bf" + }, + { + "file": "refactor/scripts/dash-contract.mjs", + "sha256": "c8e8dbb53f1448b7c1e96268732d1282d361eda1e0b96625b400e98b8ea1163d" + }, + { + "file": "refactor/scripts/dash-contract.test.mjs", + "sha256": "9de71a3f6c2d40a853229f0d4d6e999842eb0f19cd65f6996a059d80206e1864" + }, + { + "file": "refactor/scripts/dash-package-types.mjs", + "sha256": "a3dde71af00a7b99793994107bc5930219ecfea63fd01a743d8e7bd235cc9cd7" + }, + { + "file": "refactor/scripts/dash-sdk-types.mjs", + "sha256": "85a500ba1cbba1ec8c12d83c1bed66f08a86f8e23f2a06faabe982f81323c8bb" + }, + { + "file": "refactor/scripts/dash-sdk-types.test.mjs", + "sha256": "a7e618b8e5c6cb2ab896a61efaa9e8f20f32ac563dd97048fb2a7705600d80ad" + }, + { + "file": "refactor/scripts/dash-sdk.test.mjs", + "sha256": "2fdb9e7c4a8dbc4f2119629631b9b2ee7f73ddf26dbe70879229a9dd441a308a" + }, + { + "file": "refactor/scripts/dash-types.test.mjs", + "sha256": "812166d0b34863f896ba89e8cb2df90cbe296955da5835debaad54d777d37fc2" + }, + { + "file": "refactor/scripts/demos.mjs", + "sha256": "99670a35b0e48eaf990523aa7c546b41d52748c7c5801d24b89cdeabe8f57614" + }, + { + "file": "refactor/scripts/demos.test.mjs", + "sha256": "8d3506c3d88f968b07ead9608d87024c065bde05dcd0b4bcef1b50b90d0c1868" + }, + { + "file": "refactor/scripts/distribution.mjs", + "sha256": "a1acc84d72912d4e1e35cd5a8ba941fca9aaef2d19c6ec9db939d462bebd3a04" + }, + { + "file": "refactor/scripts/dom.mjs", + "sha256": "74b09fc232cb3804179ac18f0ce84c4dfba6368f4cb28b9a69c3d1ab5b0d5972" + }, + { + "file": "refactor/scripts/dom.test.mjs", + "sha256": "e3e1f0a3b84102dc5463cbad530e2b28eacfadcd310a2ddcc90fe5531304d241" + }, + { + "file": "refactor/scripts/hls-contract.mjs", + "sha256": "31f4cd9e818dd899c56cc507170b3f0fc9f9cc77af30243ce00f706371f66a6b" + }, + { + "file": "refactor/scripts/hls-sdk-diagnostic.mjs", + "sha256": "ba7b2e1c6decde696a64f9b877c0e6624c0a694f3b888d4e9a68b20295f41a4d" + }, + { + "file": "refactor/scripts/hls-sdk-matrix.test.mjs", + "sha256": "93803fd2f7a12d90cd8636dc0bb7b0d29cbf11a1aa1a297933c33bb8a7fa496e" + }, + { + "file": "refactor/scripts/hls-types.test.mjs", + "sha256": "0c046ab51841c2d3bbf63c45251668e639305bb559b166afbc578f98306bfe01" + }, + { + "file": "refactor/scripts/impact-model.mjs", + "sha256": "d2dc168d2d358694be7e203ab3970deb1f42bff275e89ede88adbe870a962e4c" + }, + { + "file": "refactor/scripts/impact.mjs", + "sha256": "26cb7432fad82f3e9f1e454c911e15692610b6ae3052d9e2e2ec4cbc86957c36" + }, + { + "file": "refactor/scripts/impact.test.mjs", + "sha256": "3a7c82c0b8d47fba7c39b83e12ceba8b3c02c648689def89d73be44c57b31855" + }, + { + "file": "refactor/scripts/lifecycle.mjs", + "sha256": "1cf6a8f6155faad0c5e28844ffb4f7d0db8069d913d2ca097b990a485fc71b08" + }, + { + "file": "refactor/scripts/lifecycle.test.mjs", + "sha256": "c529b0d28693bbff2c5cc07d55be3f36fb554b542884d92e715f1f2651532a51" + }, + { + "file": "refactor/scripts/performance.mjs", + "sha256": "a15d7d9028a7c43f659f9092e354de055e30aa6e9ce79c2ac47564a6730dc04e" + }, + { + "file": "refactor/scripts/performance.test.mjs", + "sha256": "3edf43bcdc62a7dda2ecfa19915e07476e757c1fc577ebfab9d20192c3274cdc" + }, + { + "file": "refactor/scripts/plan.mjs", + "sha256": "85e03b7ac10488c2fe6ddd428322987cc0be5c107d3b8929f9147adb0b12366c" + }, + { + "file": "refactor/scripts/profile-core-layout.mjs", + "sha256": "de464c57f98e01925d7edd197901b8964c8085b1914629c92ad900d2b3220c57" + }, + { + "file": "refactor/scripts/releases.mjs", + "sha256": "ff06a7f9902919dff8f5718d9929cfedfdd0383d41cbd7dcc2a981587bfd628e" + }, + { + "file": "refactor/scripts/releases.test.mjs", + "sha256": "51a6d112cd16521b77d521878b0ded27bfcce3028f94942bc495d6a3a31ab76b" + }, + { + "file": "refactor/scripts/risk-register.mjs", + "sha256": "f7edb4d84389fdbfad0873f98c0fbc416972a8305c45ff79d7b6115a23321011" + }, + { + "file": "refactor/scripts/risk-register.test.mjs", + "sha256": "8ed3ab546478a0cf28982196fe8335026bf7ec14dbc7b6c54dbe8e282f84fe33" + }, + { + "file": "refactor/scripts/run-contracts.mjs", + "sha256": "de7a44af890672605d6ce00c142420d146c4ba45b398786957b65edc3c25afd3" + }, + { + "file": "refactor/scripts/sizes.mjs", + "sha256": "3de93fd5d9ac70dae8d3d47c9af34a821c54300da1736630cdae6543af9027f1" + }, + { + "file": "refactor/scripts/ssr.mjs", + "sha256": "9b80d0c1c6d8645eb281da5df7e84729e5c7002f0e4c7a5346ee9636514125e6" + }, + { + "file": "refactor/scripts/types.test.mjs", + "sha256": "bfe84d620f78be949e95a24dff75ad04a5fede4e1696e47b28b2b27e02b1dbfc" + }, + { + "file": "refactor/scripts/vast-contract.mjs", + "sha256": "718ec6c0765caa7c9604e55d10a3b6c6dc25bdd42fc30d6b6097200888a7dd9e" + }, + { + "file": "refactor/scripts/vast-contract.test.mjs", + "sha256": "b9cfa09402b2f7e91dfead607c303015967c2cc0d96353029bbda798c3b56bc9" + }, + { + "file": "refactor/scripts/vast-core.test.mjs", + "sha256": "74233f2ba5d87314cd3cb6ae8b3bdf8569faf538bd87ee9422e45f461a21cc4a" + }, + { + "file": "scripts/build-analysis.mjs", + "sha256": "dc448ab2e36a36de89601340d9f6a4d6ab6b5edf59f33ec34ffc62816ae1a09c" + }, + { + "file": "scripts/build-docs.js", + "sha256": "95aae678608df443ccd14579fa39f2787ac364705f5d0c360ed55e8b0c8ca6e3" + }, + { + "file": "scripts/build-i18n.js", + "sha256": "70085f66a437961a4cf3dba473f96aabea0fbbad5c892308c83a68bd460a2e34" + }, + { + "file": "scripts/build-llm.js", + "sha256": "6159c455938c8a40bb3e570f8160d28aac6a1808ec428023d027f974791edb4e" + }, + { + "file": "scripts/build-test.js", + "sha256": "1e8ce7bce686b507bcf9f3fd02dfe03102b1940daa0fc14a487abadb909e93c7" + }, + { + "file": "scripts/build-ts.js", + "sha256": "0453b9a9ac25f5be99e9ecfe222c6ae1d16540374b2b6c9b7529a54bdd50f91a" + }, + { + "file": "scripts/build-types.mjs", + "sha256": "9146384edca4ab6d34bac7bfe4ab1f0022432066c852f5d4c008c06093c63d43" + }, + { + "file": "scripts/build.js", + "sha256": "f836f7332b83b022550cdbf3dea04750c699fc6db5175a6fbefe502fee5db374" + }, + { + "file": "scripts/check-toolchain.mjs", + "sha256": "5daedd250a8c2e55bdf282fdf755fa054b7d68235f36fc4f8c60e2d4ff6a1167" + }, + { + "file": "scripts/coverage-maps.mjs", + "sha256": "ffd5fd0f10182a02f633361f130fde765a4a9c028e3cb47cced6b383ab70c5fd" + }, + { + "file": "scripts/coverage-policy.json", + "sha256": "db3f2eacc44d61465031af6e618c8863ac4e9f23ef889865a9202919246ca403" + }, + { + "file": "scripts/coverage-report.mjs", + "sha256": "b670d968bd6e1a5f964f24479b264dfa2f79da4cc839084cf1ec13040c250c21" + }, + { + "file": "scripts/coverage.mjs", + "sha256": "c80b5d1378eea02d43909e6767c04d5b2ac7038d02e33669a572d2956967d75a" + }, + { + "file": "scripts/dev.js", + "sha256": "a611ebdea8bd3ffe811ecb3fa47796a038cf708bb72d30aee2bb12bc61c33c08" + }, + { + "file": "scripts/editor-types.mjs", + "sha256": "951d3d40dc7f90034561fd1a3b3015bdb1449593121bb410e3f15e4415547b8b" + }, + { + "file": "scripts/generate-dash-fixture.mjs", + "sha256": "2ebd7d4c44dee528778e0d95452d408804becd4e5092a23fac8ce63d0c1452ce" + }, + { + "file": "scripts/generate-hls-fixture.mjs", + "sha256": "a204b5d82ce23b97187c66cc4e05b5a6e998998cb827fca3be80baee316b8ffd" + }, + { + "file": "scripts/package-check.mjs", + "sha256": "a6d53bd1be63f65685d2bbba9e29cd4f557d30970343635323ededf95223c652" + }, + { + "file": "scripts/package-consumer.mjs", + "sha256": "3c85b3d664d5cf20e593a938cc756017f55fff5a2df5304054dbaa2f65131044" + }, + { + "file": "scripts/performance-artifacts.mjs", + "sha256": "2064509709bc7c20dc45212e9f3d566ec872ab197da359c7426db98b356c5e8d" + }, + { + "file": "scripts/performance-fixture.mjs", + "sha256": "9088984d7f1d9cf9dc03bfa0719756a25ac131da2337bbc1bdd9b815e186a8ae" + }, + { + "file": "scripts/performance-report.mjs", + "sha256": "8b28db29bb81e55ec3bfde132c10da5ab54493f5d3e82ce694594c82b77bc7ac" + }, + { + "file": "scripts/performance-summary.mjs", + "sha256": "9dd8104e182c0738d2ed6c59698131959d1fa97fcc781ebcf9768ae7fdd435a4" + }, + { + "file": "scripts/plugin-editor-types.mjs", + "sha256": "6ecf896e084a19e5a9a9e7aca65a1108d96d842e3e2da61a05755d74a8f7f9c8" + }, + { + "file": "scripts/plugin/create.js", + "sha256": "f5493761280e3a1cd2063885f5413e8603ca6bda3c2bbb6e8237fdeaf492249b" + }, + { + "file": "scripts/plugin/template/.npmignore", + "sha256": "85bdf9301dca288752913e9c37bcc8a95e791d0aea3044460cb171c0bc5db305" + }, + { + "file": "scripts/plugin/template/README.md", + "sha256": "7d31a2bb73b9d6e8955817eb6ff72a3fb3ed67293e8950e3241dff328adfa430" + }, + { + "file": "scripts/plugin/template/package.json", + "sha256": "8255c75ac387a41205fb402a9eaa3f5789e61a7e197dbe868a116ea7c007620d" + }, + { + "file": "scripts/plugin/template/src/index.js", + "sha256": "c5d7f4c22b3e87cfa7ab890026d232df30b0895a3313da2569326872cea498ac" + }, + { + "file": "scripts/plugin/template/src/style.less", + "sha256": "c9f378c848ace16eb3fd89cd2d2ae8075c1e2d116221f05068559f96e758055a" + }, + { + "file": "scripts/plugin/template/types/artplayer-plugin-{{name}}.d.ts", + "sha256": "7dd83fc8b92bb9e283191da147f8c87eb1a35313aac5028b9eb534663b8d3001" + }, + { + "file": "scripts/projects.js", + "sha256": "a88d5da78a0d50c4ac92a37ea5594a833b169a51d45b5442d3af4d97ffa16965" + }, + { + "file": "scripts/rebuild.js", + "sha256": "56b90edf29597550476c9d2c9ce3d79720d3bf421c4ee9e6a6890b77cca9615a" + }, + { + "file": "scripts/trans-docs.js", + "sha256": "c78c685c9d4145cfe7f4cbdc8c24773bba9ea4fa4c2f171b96ef42c269edd581" + }, + { + "file": "scripts/tsconfig.editor.json", + "sha256": "ce57cedc75093d62f9d62efe1ff24c1d5d0fd157cbe830d082b8cebcf5f0e6a1" + }, + { + "file": "scripts/typecheck.mjs", + "sha256": "9e439c300afa6e37813db312478a3ac3f47d0bb363e615ec49c67cd6ecdbb883" + }, + { + "file": "scripts/utils.js", + "sha256": "4bf07ce5a1029df6360e402d128233e2ce9873316270473f6c5f23d88533a1ec" + }, + { + "file": "test/README.md", + "sha256": "7d85bc4bfc42e0466159a8a6d494c4738feb312432ecff23e54867ce6f83b41d" + }, + { + "file": "test/accessibility-button.test.js", + "sha256": "8def35ef049277d08fcc8389555a53b44273965e143ef91aac85b97f1c32c443" + }, + { + "file": "test/accessibility-focus.test.js", + "sha256": "1210380f832b0dc04b25031549581adf5b809d41a217aa562f53ece337318a11" + }, + { + "file": "test/accessibility-slider.test.js", + "sha256": "80238f1faa8f3fbe440e78613260b5cdf1e0dbd7b65738213749c5e8c90ddcee" + }, + { + "file": "test/ads-lifecycle.test.js", + "sha256": "3411000b63e5bee5ec1f4a422d333e90a856d476eb9f544d5b1049dbd63fbbfd" + }, + { + "file": "test/ads.test.js", + "sha256": "0b5406a5aca3cd69672343f00492f6fcb22db17ec39056f1d89fb5cdd467a7d6" + }, + { + "file": "test/audio-track.test.js", + "sha256": "283a05933e5e2d3630de80161de962e076b248a3456908102ae435c825d40640" + }, + { + "file": "test/auto-playback.test.js", + "sha256": "2d61bffa99bf7acab58f263fb60cb50fef8b1d450d3ea22a4f1eef8066b162a0" + }, + { + "file": "test/browser/README.md", + "sha256": "028824ee6869b0bbb2824f632d4e75a84856a72a08c3d6d142c0b2e2caa09301" + }, + { + "file": "test/browser/accessibility-contextmenu.spec.js", + "sha256": "f7d4be7e317abe7790bf7134479838b0d775974d33bd5bda97319708a6876b27" + }, + { + "file": "test/browser/accessibility-controls.spec.js", + "sha256": "d07d9919b9e9d960116770f82ebb61d165bd4b9fbc343a4e821d9cf9313dccef" + }, + { + "file": "test/browser/accessibility-info.spec.js", + "sha256": "348268395523d4fb5c2d9b6a2486cfb0d1e1b8ef84d13e97ad9db22f5e3ed173" + }, + { + "file": "test/browser/accessibility-integration.spec.js", + "sha256": "b79613a0352085015ea058c35486fbd845155593fd11e3dfca9e7345279a14eb" + }, + { + "file": "test/browser/accessibility-lock.spec.js", + "sha256": "2c208fa3deda0f10769a95c697cb7618225897ede408d857d107706acae5e7f4" + }, + { + "file": "test/browser/accessibility-mini.spec.js", + "sha256": "a0d667265145ff24e37624775ae388f184ad425c4844c47ce8c692de31123a32" + }, + { + "file": "test/browser/accessibility-selector.spec.js", + "sha256": "aae91d2449e2257bfd19999505cf0bb5c631bd49b0dbf597ea1ac48e2f2a25d1" + }, + { + "file": "test/browser/accessibility-setting.spec.js", + "sha256": "779aa12cfd814cab26bdce474dd9d297c6b12a55268618a47ae7d54b74588cbd" + }, + { + "file": "test/browser/accessibility-slider.spec.js", + "sha256": "b88aa23fc1b76e3a902150a8a9d4a801531f397b0a27120b4741baf67f82bc47" + }, + { + "file": "test/browser/accessibility.spec.js", + "sha256": "f10bdefdaac2359d1af5d2099cb8e1770bd7ca486362143f663b5c54459d6cab" + }, + { + "file": "test/browser/ads-editor-types.spec.js", + "sha256": "e55c8674e93b04342e6ca0325a411b74fa4cf8d331e57e571e555c4c1e706b80" + }, + { + "file": "test/browser/ads-ui.spec.js", + "sha256": "90a215d534703aa69654a3258fa5a46c29c308645356348db0229e1bc950bf4f" + }, + { + "file": "test/browser/ads.spec.js", + "sha256": "f0a52956e5d7b8a81f3cfef6b52d6efb01f8fe78f6c63563c596500b2bb5dd80" + }, + { + "file": "test/browser/audio-buffering.spec.js", + "sha256": "cd651c1f16610cde1329770d8e65fbb3c08879e2487e27bdceb1f362d9d259aa" + }, + { + "file": "test/browser/audio-combinations.spec.js", + "sha256": "1db548954678c6fbe7b4757f9a1b105926e4c04e2a65af206402902b60210e68" + }, + { + "file": "test/browser/audio-editor-types.spec.js", + "sha256": "bb41174abd55b2f2e51bb34c957c0dc31bb4ba32bc3fd1c5ac0af60ea545223e" + }, + { + "file": "test/browser/audio-fixture.js", + "sha256": "41215d454fa48b45b248c4af6992aa3980a059d20ca41f95cff910186849aee3" + }, + { + "file": "test/browser/audio-track.spec.js", + "sha256": "ec22095ab3bf7b3716696e8ee78bfb1d39ab211ce62aaf4ba6d439161dc64eaf" + }, + { + "file": "test/browser/auto-playback.spec.js", + "sha256": "39d9258fb808ef42dfbd38836572335a5c759d99cc1b0ecc1b635a2d7cb3b0fe" + }, + { + "file": "test/browser/builtin-layers.spec.js", + "sha256": "4efa0ebe413cbf0ca9b06074ce73ead337136bc477c4f8fda6665be0504a31eb" + }, + { + "file": "test/browser/chapter-combinations.spec.js", + "sha256": "308596abf9156942f462ac050fa49c36d65ab443917b9a4bb4c352d90e470f41" + }, + { + "file": "test/browser/chapter.spec.js", + "sha256": "d1332c5264bea179d4fd4ec3274eb0db28340bffbda3ffd37d80fc6fb636dca2" + }, + { + "file": "test/browser/components.spec.js", + "sha256": "e288fc791cc57bf09580e6f6d458b08e2e5092dc61c784d5f220cc8aa30a385a" + }, + { + "file": "test/browser/dash-buffer-observer.js", + "sha256": "37d8e8ab67155a99a233afa35a82da777fdfb3f691e47a4b0016a46b09b3daa0" + }, + { + "file": "test/browser/dash-control.spec.js", + "sha256": "a770394af0f3291925734e116ab53f8c090349673aa14205bd9a1300c82ad154" + }, + { + "file": "test/browser/dash-editor-types.spec.js", + "sha256": "6a71ce1c1d0569347b5ac212ccccf14ae7eabce64ec6de3e75dc4d30d8c151a0" + }, + { + "file": "test/browser/dash-sdk.spec.js", + "sha256": "51a11287230b7b8a2f392c939cda1c2f8da356208dc8de5966e8cb2c4c69999f" + }, + { + "file": "test/browser/declarations.spec.js", + "sha256": "7340de5f8e34f71cf8d7dbf5f428c3e1c20677a44cc5f561199c9e55d21dc44a" + }, + { + "file": "test/browser/display-mini.spec.js", + "sha256": "eecb351ef6c1b4d5a96c682e9d9b4507260473b10159bad0b918af277c2c58f3" + }, + { + "file": "test/browser/display-native.spec.js", + "sha256": "557f0613a23c8da819d55a62acd5ae47340f16cfb4f91bb9778f7984b8887e49" + }, + { + "file": "test/browser/display-orientation.spec.js", + "sha256": "754bb231c4ef3f634235269aed0588d118ccc9bcbb1bd734f4356cd4222119a8" + }, + { + "file": "test/browser/display-pip-webkit.spec.js", + "sha256": "8169cee87dad40ecc4b1c1b0dbf2a6667e0b54197f889cfb4f8b3044cdd703cf" + }, + { + "file": "test/browser/display-pip.spec.js", + "sha256": "562f25b2e27c4644981d5e95f54bdc1a887ec051a10fe5e91ccad3ae22c8238d" + }, + { + "file": "test/browser/display-sizing.spec.js", + "sha256": "04912463007d1fa53a5d5048a88e7fcb9c0238a4e20e215e11a3dfe381ad74da" + }, + { + "file": "test/browser/display-video-fullscreen.spec.js", + "sha256": "961b21a5965d230e8ab8d7cdf7c72914c8c5f9526408a83ff0552cc263225ccb" + }, + { + "file": "test/browser/display-web.spec.js", + "sha256": "50bdbbb4988e47e34a4cbb08184a68b0000e2dcf34bf60192267648045b3aca0" + }, + { + "file": "test/browser/dom-boundaries.spec.js", + "sha256": "3edeeaed4f642cf2efca29a7b2905dca98bfb1e6527e9053c59a0f9b374a7091" + }, + { + "file": "test/browser/editor-types.spec.js", + "sha256": "11303e272c1a5202ffc1c192ddc70ef3e988c9ec78b4d4dd4936c3c8a7b6636f" + }, + { + "file": "test/browser/emitter.spec.js", + "sha256": "abf5a850835d1a5580d611a0777c0cdf225a6aa796a63b58096f8646007e5870" + }, + { + "file": "test/browser/event-scheduling.spec.js", + "sha256": "4ebd5dab23ca8e49580bd1dc3234e612cbae36b735c7c9401d168059eae11c5c" + }, + { + "file": "test/browser/fast-forward.spec.js", + "sha256": "5b884fae1cd48cb592c2004a8149890aed4741ac0a92b1e415e47b94411bb368" + }, + { + "file": "test/browser/fixtures.js", + "sha256": "313414b8958eb5b03a2da8595fa0bbf6bfdc01484373898c6cb7179545df175d" + }, + { + "file": "test/browser/fixtures/hls-grouped.m3u8", + "sha256": "02c7482a012645a60014d429873f785e94c9a54f13f94f0b82597c7627173bfc" + }, + { + "file": "test/browser/gesture.spec.js", + "sha256": "9301a91220e5cccf1023918580111bf5287f811a51c0b51e7ed71797cb018575" + }, + { + "file": "test/browser/global-events.spec.js", + "sha256": "67ef2bc32419f17bb10ff40f7d9e542c110f2202028e5a17d58780e2cc6cf5f3" + }, + { + "file": "test/browser/hls-control.spec.js", + "sha256": "3e3f841b1b84ef0d2622be3389af570641a5ccc443fc4dff0995036867ec745a" + }, + { + "file": "test/browser/hls-editor-types.spec.js", + "sha256": "b5a993b04cbc531019ce216d7e12b898602c6b492e0b4855f4be1d66e64546f3" + }, + { + "file": "test/browser/hls-sdk.spec.js", + "sha256": "c6cd7332b38fe30d999811b209a1cf5786867f6c7d5455e9cca034527615f2ba" + }, + { + "file": "test/browser/hotkey.spec.js", + "sha256": "a6565949f25d702aeb33ef8ebbddf2ed995d67f09a47c7bfaa20010da34dfa1c" + }, + { + "file": "test/browser/initialization.spec.js", + "sha256": "cf85dfc88faf2c43b885bf1438b53dbcb4116dc445fc49e8f107bd78ccaa467c" + }, + { + "file": "test/browser/input-closeout.spec.js", + "sha256": "6ede540965e404c58cf71a23dabb6be9ab2b107e75d5937e6d63b11dbf11cf98" + }, + { + "file": "test/browser/lifecycle.spec.js", + "sha256": "7726535769bdf01a57d15d562bad9b3bb2cce0d979b7b0def6cbcf77bd72f453" + }, + { + "file": "test/browser/listener-registry.spec.js", + "sha256": "54c40eebcd818342e92f875cb639d31d1fa0a0fc95897de2cbfbbd4df793ac94" + }, + { + "file": "test/browser/media-events.spec.js", + "sha256": "3f5c719facfb97498e6f254117fc4d7d2d91e7f0d53efeab6d877e107dac174b" + }, + { + "file": "test/browser/media-gate-native.spec.js", + "sha256": "961cb3f9a82ae41dbdbf25d4b04c07bc03c475671b0365b92f58f5814f1349a2" + }, + { + "file": "test/browser/media-hosts.spec.js", + "sha256": "543e974f5bb89116a688defb2c1e4afdc72bb6cf4b1bf9838d0e837e661d7845" + }, + { + "file": "test/browser/media/audio-tone.json", + "sha256": "3c87ff43501c48b984c42d6f161085f11a81099f0a38f7505d3ef3464accc330" + }, + { + "file": "test/browser/media/audio-tone.m4a", + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56" + }, + { + "file": "test/browser/media/dash/chunk-0-00001.m4s", + "sha256": "0bc9f5c9bfc50526dfdc0241ac5d2da2332097d738450a41887bceb8d0b1f305" + }, + { + "file": "test/browser/media/dash/chunk-0-00002.m4s", + "sha256": "a3baefa3f68381a844419beabdee422dc4298c102a7b45a9da16d89b74f461fc" + }, + { + "file": "test/browser/media/dash/chunk-0-00003.m4s", + "sha256": "f2540e0a1871967a910e25567aa19ce9aaef002bba84f8cdda8ca9bbc8abd40e" + }, + { + "file": "test/browser/media/dash/chunk-0-00004.m4s", + "sha256": "21905f15e90b22cd868d55924d44723b9a02a7b1132384a60b526e49646e9e07" + }, + { + "file": "test/browser/media/dash/chunk-0-00005.m4s", + "sha256": "9d0cb0486da40f3a4e6819a5964d4db945305d328cce6ce2c21a60a57c413f42" + }, + { + "file": "test/browser/media/dash/chunk-0-00006.m4s", + "sha256": "f52fd4ecf9d0276261b183c6e44096ad2f28267a5f2a0a15ac65cec8705b605f" + }, + { + "file": "test/browser/media/dash/chunk-1-00001.m4s", + "sha256": "389d6f02741679ed7ef43f529bbec746b5e1b62a97519ca80be16f114e76845c" + }, + { + "file": "test/browser/media/dash/chunk-1-00002.m4s", + "sha256": "5cc737843b84a064acb65d985b2ea7ff151c26937f5bf48cacdf0f39c9e60122" + }, + { + "file": "test/browser/media/dash/chunk-1-00003.m4s", + "sha256": "2a1b56d88858f3d9b6070ab8645d878b12f8baa29c567b038d190f89c2f863e6" + }, + { + "file": "test/browser/media/dash/chunk-1-00004.m4s", + "sha256": "be7198ae2b2d04e27748fcbe8669734a7ead3a51c25fb7f1c9d981740bf5f92d" + }, + { + "file": "test/browser/media/dash/chunk-1-00005.m4s", + "sha256": "502e3dd1ce6ca85c442ba849e605a1b0cb1ca23472af6fe6e0dacaea8a38d5dc" + }, + { + "file": "test/browser/media/dash/chunk-1-00006.m4s", + "sha256": "34d6e27576dc3c834d0aff9e5925581a899c354c4fdd34fc639cc63f9807c62f" + }, + { + "file": "test/browser/media/dash/chunk-2-00001.m4s", + "sha256": "23eaaffa433ed1808f57b95e14b85fba15b2d7e8eea6c51fd02ce409dbccf7de" + }, + { + "file": "test/browser/media/dash/chunk-2-00002.m4s", + "sha256": "f40e15cb8d377dcd4eeac508493694e4a131fd4a0d970ff2636b1b40fc728f0a" + }, + { + "file": "test/browser/media/dash/chunk-2-00003.m4s", + "sha256": "e1a1f49359d23f460f9b0a32df5f5da7ba6d234fe59cc4a9c0a5f7e201fed643" + }, + { + "file": "test/browser/media/dash/chunk-2-00004.m4s", + "sha256": "a5b0625a33a62cf2b73414c92b7c9f6ac945650d3ff6dadaff26705d10920bf6" + }, + { + "file": "test/browser/media/dash/chunk-2-00005.m4s", + "sha256": "ed446e2eb99474765e9b0eb40728bd5d79eba79e74b5fa688a0dbddfb3f4b82a" + }, + { + "file": "test/browser/media/dash/chunk-2-00006.m4s", + "sha256": "6b969d834a87836f84eac8769fba2962c8303aacbb832f4710e642a371c6e38e" + }, + { + "file": "test/browser/media/dash/chunk-3-00001.m4s", + "sha256": "9171ffc0421c4dc0f874eb8801c2df0b4bf312981a8841455b13081cca1b0feb" + }, + { + "file": "test/browser/media/dash/chunk-3-00002.m4s", + "sha256": "da7a827ad08e9b48647f2bc6c90d5db1b53ef15965575d38b7e9facbddd37fc1" + }, + { + "file": "test/browser/media/dash/chunk-3-00003.m4s", + "sha256": "3d5f9fd99a21ce3d59f11416936d79252a12bc95560988f1abe4ccf802733ebc" + }, + { + "file": "test/browser/media/dash/chunk-3-00004.m4s", + "sha256": "eeca9b9a3f91c8491ad663cb5d686b168c530dc771d46c35ff5919b3a8b4ee37" + }, + { + "file": "test/browser/media/dash/chunk-3-00005.m4s", + "sha256": "747526362131944d696b09059ba0a19c106e363a30fa07cf7ec86081c4e277e8" + }, + { + "file": "test/browser/media/dash/chunk-3-00006.m4s", + "sha256": "5234fd26fd201536c839a1740d3bd57a5fe8c86e3e180f7f1e4c70cc41f30072" + }, + { + "file": "test/browser/media/dash/init-0.m4s", + "sha256": "d0a16341c48647e27452db83de88f88209dbec7e539e159e5057469d28980881" + }, + { + "file": "test/browser/media/dash/init-1.m4s", + "sha256": "3e814e958e68e98f947883a2b7511a36fb06db127ea074ccd569af0200839948" + }, + { + "file": "test/browser/media/dash/init-2.m4s", + "sha256": "866460ae9e8465b1473c3dbbc63f38416815d75d906790109575cf1de8332423" + }, + { + "file": "test/browser/media/dash/init-3.m4s", + "sha256": "866460ae9e8465b1473c3dbbc63f38416815d75d906790109575cf1de8332423" + }, + { + "file": "test/browser/media/dash/manifest.json", + "sha256": "72438762905eadca3c08e7e152c7895483743cb6264eba158fd7547d00dfa9b1" + }, + { + "file": "test/browser/media/dash/master.mpd", + "sha256": "6a4cb0a956861dee9aff1c592525c41fb4cf660be86b4c3892a91a46aeec53ef" + }, + { + "file": "test/browser/media/dash/single.mpd", + "sha256": "bdbd8a027281cefec1d4021d7e5a2731875188eb331612bc35eef75f265a700b" + }, + { + "file": "test/browser/media/dash/video-only.mpd", + "sha256": "b7f8d37c023810ecc38a2564d4644eda4b5a0b0dd2d10dfd39f70a4b49be0566" + }, + { + "file": "test/browser/media/declaration-cues.vtt", + "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704" + }, + { + "file": "test/browser/media/hls/README.md", + "sha256": "e1a016e0af6d439cebf905188dac67771b4d6ce4cbe4a455067adc7b014588c6" + }, + { + "file": "test/browser/media/hls/english-00.mpegts", + "sha256": "cc599f7c270385e85c28f710a34c5bd90b09d4d27adb3b1e6af3de65584b8207" + }, + { + "file": "test/browser/media/hls/english-01.mpegts", + "sha256": "01b17c28defc8a8ebf4978c5236eb759d80521a1cb840898095c35dac420cec5" + }, + { + "file": "test/browser/media/hls/english-02.mpegts", + "sha256": "90751b8b5abedd6b2f2e4eb83ccd609098ec7f2901163aaebf977cb9a11c46eb" + }, + { + "file": "test/browser/media/hls/english-03.mpegts", + "sha256": "9b1d86b7b261df66dbdace4ef1e846796cd710ffb72b22fc69532c1fe7d1c55e" + }, + { + "file": "test/browser/media/hls/english-04.mpegts", + "sha256": "dbfddd4f997942dd0b912f4c8bdbc5c11ee2a3fc51ac67df48d3aed2756715b9" + }, + { + "file": "test/browser/media/hls/english-05.mpegts", + "sha256": "9b53790d4f50f172852b7d4ff51bdd4bedd39e4c7a1efbfe734edf7b9a68a533" + }, + { + "file": "test/browser/media/hls/english-06.mpegts", + "sha256": "50baaa5e9fe7ca49b22c4d0817c44103b3edc763aee7f1b17d22f796d4189d4a" + }, + { + "file": "test/browser/media/hls/english.m3u8", + "sha256": "5aae9d117d458f65f7febae68555ea4e48b2055b4cfb123fb919e385a1edda21" + }, + { + "file": "test/browser/media/hls/french-00.mpegts", + "sha256": "7278acd094bc7caeeeea424a2c11ac4285fc45a8becb6c8ec55068f295ae35cd" + }, + { + "file": "test/browser/media/hls/french-01.mpegts", + "sha256": "e9464d109e36a53d7f151442b544d47ce79324bbaa805e0a98f171621c9c7a13" + }, + { + "file": "test/browser/media/hls/french-02.mpegts", + "sha256": "3ac48cab6aac942950b59f79ac6bd950dcae425f14821b83b1b5bb72d6815eb0" + }, + { + "file": "test/browser/media/hls/french-03.mpegts", + "sha256": "906f2d8b1f29bb7d57240b145563bab975d8f7dfff78cebd1505b6d2a3feb43b" + }, + { + "file": "test/browser/media/hls/french-04.mpegts", + "sha256": "cbf82876118d41af254bdef51f6cd08d842e8c6edf53250667fad2b8088e3601" + }, + { + "file": "test/browser/media/hls/french-05.mpegts", + "sha256": "a91e564ec54d845837217c45b8e25b08fe208f2b5f97562f513baabd515427d9" + }, + { + "file": "test/browser/media/hls/french-06.mpegts", + "sha256": "2c8edc11b06bacf1e62c4db67594ce187aa93e0241012011ebcf587b64ccff46" + }, + { + "file": "test/browser/media/hls/french.m3u8", + "sha256": "6f7fb3eacb944597fa3105cb6d708eac3a8dc413e1706a11b6fb0e631214634e" + }, + { + "file": "test/browser/media/hls/high-00.mpegts", + "sha256": "c5a8faac85b0594818255117696dce43fda6b363df40e2f3ffc453bd236cc833" + }, + { + "file": "test/browser/media/hls/high-01.mpegts", + "sha256": "5714640c3f17d86c56036453dc17d45f871af63b461318c43527af3482f8661c" + }, + { + "file": "test/browser/media/hls/high-02.mpegts", + "sha256": "fea1cbfb199bc867a322c7a646d43594a1d0d1d23fa0bcb6e770f2669b489440" + }, + { + "file": "test/browser/media/hls/high-03.mpegts", + "sha256": "4a74a28e7ad6bc626358e32365a0b07df1da82c92753e28032983e22404958b5" + }, + { + "file": "test/browser/media/hls/high-04.mpegts", + "sha256": "d04889b3b996d3e79c12bc297f9577690d3ae4f4172cdc0484b584954dab789c" + }, + { + "file": "test/browser/media/hls/high-05.mpegts", + "sha256": "36ee0c64b8c3637d0e2282c611e9250650ac493440095fc2efbe9de1c54add15" + }, + { + "file": "test/browser/media/hls/high.m3u8", + "sha256": "672c0e8b99242be05b16fc747a00715b2c25579b1ecc1623c0579fa34f0cb11d" + }, + { + "file": "test/browser/media/hls/low-00.mpegts", + "sha256": "cbd62f5f4641cbe188a15640139bea393b5927fce600ff7513ef9ade9b33fb62" + }, + { + "file": "test/browser/media/hls/low-01.mpegts", + "sha256": "f7821fba38c63f5d80daef21cdd3430880bdc9fd5f5adfa939ed6481106c2507" + }, + { + "file": "test/browser/media/hls/low-02.mpegts", + "sha256": "3dc93f9f0fd065678b01fc6c568c12350e9ab0b324d1e0fa0e9f77787da7e7d2" + }, + { + "file": "test/browser/media/hls/low-03.mpegts", + "sha256": "d94c8913f7fde98161550041287529b90a58d537d6083d4382540c5fce0b430b" + }, + { + "file": "test/browser/media/hls/low-04.mpegts", + "sha256": "11596c59b547c2ff23bbba1f70e15f061a3e87bbdc1f4f59daa9b5279a6003af" + }, + { + "file": "test/browser/media/hls/low-05.mpegts", + "sha256": "5c6ec25a69fdad73a23cfbc34f0f3c6d8abe44592650c92fa9110a38d6bd9e45" + }, + { + "file": "test/browser/media/hls/low.m3u8", + "sha256": "404a8d868ed2af3598269aee89caba0563c2805dac223fe4c00c9a9eda73554f" + }, + { + "file": "test/browser/media/hls/manifest.json", + "sha256": "2453095f835627ccf513304f03df3682e952137abd248f9249386c211a4e9a0c" + }, + { + "file": "test/browser/media/hls/master.m3u8", + "sha256": "f226bd38f3c76714ada2b5a6866ad1cb39b041023e4a18d971d175f26f917e38" + }, + { + "file": "test/browser/media/hls/video-only.m3u8", + "sha256": "3d7bb9069f6218191dc65745389bf1ab0ba6d5ed66cbd14e2cf30211913da3fc" + }, + { + "file": "test/browser/media/pattern.mp4", + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233" + }, + { + "file": "test/browser/media/pattern.webm", + "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f" + }, + { + "file": "test/browser/media/thumbnail-grid.svg", + "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6" + }, + { + "file": "test/browser/notice.spec.js", + "sha256": "2b57c1307aace558aae0c4d8d4434a473780eb9d70c6cf62962147f476bdc94b" + }, + { + "file": "test/browser/options.spec.js", + "sha256": "17733db5056f04f829ecaa925b021d339d0f6f6960cfb8bd277c68cf8c4e119a" + }, + { + "file": "test/browser/playback-properties.spec.js", + "sha256": "14e0774bf272cca78d203fef9c343b9b2eac5c30ffbe5c354b00640e1cd9627c" + }, + { + "file": "test/browser/playback.spec.js", + "sha256": "5cc5df6f3968f3e834a6b2bc2c76c3c1c4ec5e7bda5ee3e99aa7394d24ac7e18" + }, + { + "file": "test/browser/player.html", + "sha256": "4037c6eadc5da176f9dd67b2b517acb06c8cb2246c841316df26c660e55584b4" + }, + { + "file": "test/browser/plugins.spec.js", + "sha256": "526c58db1ae2080cf76a13b542e502b4847b23f07e8cd012f40129dda3358a00" + }, + { + "file": "test/browser/pointer-events.spec.js", + "sha256": "fa789898942d6eeffcb1f8867af46abcdb1dc8a515470ffdb18e89e8fafc4985" + }, + { + "file": "test/browser/progress-quality.spec.js", + "sha256": "824596e3f0f1a7d8304ca7fed38de4f00b2f967eb87fd48346ad714fbb2e280f" + }, + { + "file": "test/browser/prompt-components.spec.js", + "sha256": "2513a31306bb17b713aca2f9bc44f045ce34ac547482b4507955b0f1f14484ed" + }, + { + "file": "test/browser/resource-scope.spec.js", + "sha256": "0196bd9943c1ce2f6560f87156cd0de47606579c1a736bd46d4943179a121d3f" + }, + { + "file": "test/browser/runtime-types.spec.js", + "sha256": "7ec0442c3cd5a9cad8cc581a11038c85ef9bf85b473198dd4a94e62a77856c8e" + }, + { + "file": "test/browser/screenshot.spec.js", + "sha256": "a2b49fbd8616533fc351892c1f6687d588d2bc9350fda4be5475decb97d77a0e" + }, + { + "file": "test/browser/server.mjs", + "sha256": "af513e1e64f875668b6a7cbd060276d85d930e0cc1715577e97907cc26c3b58d" + }, + { + "file": "test/browser/setting-interaction.spec.js", + "sha256": "030266515b16e1bf8677b30e7748f6a6451b10eba541c5ead9a54b5e57bb05b6" + }, + { + "file": "test/browser/setting-ownership.spec.js", + "sha256": "ef345200701ef826faa7c3aca564726bc9fad6587cc0af091c579d78ee7f3b4e" + }, + { + "file": "test/browser/setting-update.spec.js", + "sha256": "2f61a9790ebbdb0f3d86adfc2f9bce5e789806af2517403a47d5c02f1eddd1b1" + }, + { + "file": "test/browser/setting.spec.js", + "sha256": "19acfd07cb6316381e3bce61e0ae284303aeafc8fca14e1657d73568553c5bb6" + }, + { + "file": "test/browser/source-intent.spec.js", + "sha256": "a56f5fc2e30dd45a4fcdf9fb6180e9d7f052545a9ad59e5d57fb2b9a814d3c23" + }, + { + "file": "test/browser/source.spec.js", + "sha256": "8bbd3b0eba2dda89f8b5f484468e916a34e2e53319f3ed3106116db51436ffd1" + }, + { + "file": "test/browser/subtitle-lifecycle.spec.js", + "sha256": "ba91719ccdc9e539aee252d80deaba622fd6e5cb30cdd74697658af1e49dfd58" + }, + { + "file": "test/browser/template-resources.spec.js", + "sha256": "993ce9876ae9d49f291af4173ffa34276f9b8972828e8d42b8789c5ee512ac6d" + }, + { + "file": "test/browser/thumbnails.spec.js", + "sha256": "bc00e6fe6eb6987bd36193f26c69e2377249b53f41dfc1474dd44d6e833a2c09" + }, + { + "file": "test/browser/utils.spec.js", + "sha256": "e7f1739938791a6d19ec2cdf544f57c69ad7caaaa6f379128b3676d73d8611b1" + }, + { + "file": "test/browser/vast.spec.js", + "sha256": "7cef5364837e3e0b4818ecfa954c1e4214ac6627be78ee85bd32cdb479b37f62" + }, + { + "file": "test/build-docs.test.js", + "sha256": "4382e9f445118ac02984425673c84b0678f598cc03ac418ec2bf3b0b2bad23d2" + }, + { + "file": "test/builtin-layers.test.js", + "sha256": "14af539fe85896a26fcc46891d56bb33adb0aac54dc273ad8061cb93ecdd0ebc" + }, + { + "file": "test/chapter.test.js", + "sha256": "59dc68c79d13c89c59c6134af58bf6bc0f6149d1a8f14b3c7934c8f3051606b8" + }, + { + "file": "test/component-resources.test.js", + "sha256": "70a9520d48cf52fe38c53b5cdff33a03fa860ed25c1b2af870aae5d0d2db63d4" + }, + { + "file": "test/contracts/emitter.js", + "sha256": "243e3b3b41c14b78cc6e6990e983afacbdab92d0590584124ab5166edf5ddad0" + }, + { + "file": "test/core-vendor.test.js", + "sha256": "394e17fac91bc3110a284609b08d55c9993ce32e701b34ed8476cf3a1eba5eb6" + }, + { + "file": "test/coverage.test.js", + "sha256": "91ecbcf0568d393bc5f729a7c1911544702f95a0189eab59c78e2b5374b78d34" + }, + { + "file": "test/dash-contract.test.js", + "sha256": "4477b48fc53224890a7eb22ed5f1554b57fd6265c864fb4039393978e63ceb31" + }, + { + "file": "test/dash-control.test.js", + "sha256": "2a123bbd93659c053ab206f09ab489d04380b222885179203c0bfb401590b35d" + }, + { + "file": "test/dash-events.test.js", + "sha256": "5fd73376dd1581911c88d05ec80849751c5134e6424aa1527668e5c20262b0a6" + }, + { + "file": "test/dash-lifecycle.test.js", + "sha256": "bc65b93b6a5a2f5e5ad9ffd7a467914bdc891af528dd135a96545b1cd6fc2bcb" + }, + { + "file": "test/declarations.test.js", + "sha256": "5f7c72b23fcde96082f5e7ef639c9f85d10d186336271363d6882b50b338aee6" + }, + { + "file": "test/display-mini.test.js", + "sha256": "7e3d1a88dc0145c49b68c91d75a6f2444dc224fc73ba6921712bc1647d2582c1" + }, + { + "file": "test/display-native.test.js", + "sha256": "416738577500ac34e832fb43c9b17b84c4b39ffbd8f2c745fb9e48a7b2525ed6" + }, + { + "file": "test/display-orientation.test.js", + "sha256": "d9d789962f92aac1cd38af782bd24adffd17d3650ea2a431967af891d5249254" + }, + { + "file": "test/display-pip.test.js", + "sha256": "aba0510a9afd53b689c266a849449d8256d94a5fe9f823832f88b8798c75db5f" + }, + { + "file": "test/display-sizing.test.js", + "sha256": "e6ce3dcfa1d96f9200cf9ab6c08f001e032f6d973d2b47c6792e5c18ed64f7fc" + }, + { + "file": "test/display-video-fullscreen.test.js", + "sha256": "2310d4434e37af92083ac4bba1cf8668f5d440cad2ad2fb1a51168771b4b6d60" + }, + { + "file": "test/dom-boundaries.test.js", + "sha256": "88709ebc26c1de950bdfb982e3ffdc8863b9680d784d8e7d1b31023591f85ea3" + }, + { + "file": "test/editor-types.test.js", + "sha256": "e121aa83e75cc9487ca0accbcbb0566d0a92b9bac516d9d45dcc0cd113b4a6b8" + }, + { + "file": "test/entry.test.js", + "sha256": "ac065ac5ff662a50ea5c95fa4a4c51d193e34dc20efbf35090748c2c59bdb9dd" + }, + { + "file": "test/environment.test.js", + "sha256": "4fd9bd8bccb35beff7ded2404ab4b910e0f59c9fb3ddf696744191df69857a2e" + }, + { + "file": "test/esm.test.js", + "sha256": "324576fff9291ca27a8ccd5137dcda1f85e02709117c285890c44d42743af389" + }, + { + "file": "test/event-scheduling.test.js", + "sha256": "65faab59cef6223140808bc310871853610fe3944ea0ab882173037726ddc258" + }, + { + "file": "test/facade-properties.test.js", + "sha256": "4f3ab56b0027e8d7499078916cd8b38b91774c7797beb09e773044325786aee2" + }, + { + "file": "test/fast-forward.test.js", + "sha256": "81172dc0fadbf62cf88904fb7a54d131f848602a0fdfe3be93a37fcf4ca7b389" + }, + { + "file": "test/gesture.test.js", + "sha256": "77235aa134d380a2bb39e572e41bd33b02f6c86ebe72426e55da4b00a5701f4e" + }, + { + "file": "test/global-events.test.js", + "sha256": "12494982e1846b6d6f6062eb209b7c1218c87a8b2ffb8342b5515ed91da2d337" + }, + { + "file": "test/helpers.test.js", + "sha256": "4dc1ea43a94ee0a790ec73329bdb35311fceff9c54aa7e3c7dad1046f1f504f5" + }, + { + "file": "test/helpers/ads.js", + "sha256": "89f6a65006810813be7b3d60d35837241c2076470131f29d2291ba0a29fae387" + }, + { + "file": "test/helpers/audio-track.js", + "sha256": "63c5d640172567dbce255e205fe4cd494c94915248f880544e80ae20650dac85" + }, + { + "file": "test/helpers/dash-control.js", + "sha256": "03695a8b4987459a20f1986bfa7e19ae55371314f403ec26035abec31661a734" + }, + { + "file": "test/helpers/hls-control.js", + "sha256": "72dcc20c9af6155a401d882716f91cffe598ebf357ccef2d4654476d3f71a87d" + }, + { + "file": "test/helpers/legacy-airplay.js", + "sha256": "c2d203894557b42f3969e66518e7c27af3a3ae04a0081ea916d0d530e7a0cfe0" + }, + { + "file": "test/helpers/legacy-option-init.js", + "sha256": "36995b0105b59057b5bf4190ae6cba0ec8b3774d2d5988deed78482259d61c6e" + }, + { + "file": "test/helpers/legacy-safe-area.js", + "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a" + }, + { + "file": "test/helpers/load.js", + "sha256": "cde6d80685bdacfc92a38dea045b924ac0a1504e9e5fd3ab0a7712397c9f97bc" + }, + { + "file": "test/helpers/media-gate.js", + "sha256": "b9bc0e8550739902ed4d94674b53d6c5b35795cd25ddf3e567ed22eed591f385" + }, + { + "file": "test/helpers/native-chrome.js", + "sha256": "4f486db36f3e5738ee835005b0bd073b3878507b6ea417a01e5663ab6954d93b" + }, + { + "file": "test/helpers/playback.js", + "sha256": "04cc009a6231295d0ff1c4fde347df8878dc355cf2e74efe48582d359d2e2fd6" + }, + { + "file": "test/helpers/vast-sdk.js", + "sha256": "f8bc792ef16da9396bafefaf89f1b53b6254bf263d0c3019b87ee188eac35bd1" + }, + { + "file": "test/helpers/vast.js", + "sha256": "ea985ca97946645a8b6fc76c9d69ec4fc12f959ab175402cd34e93bc81c14ce9" + }, + { + "file": "test/helpers/worker-observer.js", + "sha256": "8ecd23a41293b7b6b065a077ba352fff0007ba07f41ce5f84943ac5f546a1cc1" + }, + { + "file": "test/hls-control.test.js", + "sha256": "60956426bc13125cb5e899170916e360ac1750c0a2de4b9b3f5c92bd99b3092d" + }, + { + "file": "test/hotkey.test.js", + "sha256": "b647a4552ce43591f532d6295bf6d2034d7c301a2a9dae88cdb1b77e651ad5b5" + }, + { + "file": "test/i18n.test.js", + "sha256": "0a4c1904195f49520bde50b9e9db92694eff05a3d6eaeb62a38225a38653585e" + }, + { + "file": "test/initialization.test.js", + "sha256": "55eb564c40753dcddd1bd1d1e7e0e76886153a75a606ef7b66da63ac0a4ae512" + }, + { + "file": "test/instance-lifecycle.test.js", + "sha256": "ca288cdbbf92471ba8b0c9e16fa702a86911c0a7fbbca86f938c29632a55e536" + }, + { + "file": "test/listener-registry.test.js", + "sha256": "07dcdb1945e530a3928b28a3758d22eca0db70bf4a00dd7e0527a56ef407c133" + }, + { + "file": "test/media-events.test.js", + "sha256": "498505a80b2de35408f5c603b4a8877eb492a2ff818a854d8cc1ca9b2af2135c" + }, + { + "file": "test/media-gate.test.js", + "sha256": "2f27f469011eb13fe451c0ecae27ffa2ede0510ebf011b0f9dc2bf6c8c3dc60b" + }, + { + "file": "test/media-hosts.test.js", + "sha256": "6bca83248d83f01dda3e7997e3d93faf193e8b57ac7b77c3232c6ef504b4774e" + }, + { + "file": "test/notice.test.js", + "sha256": "c8622608041aac4ba4dbbc5362a4513ba279456e04d49755926f7f26efdca66d" + }, + { + "file": "test/options.test.js", + "sha256": "88f2473c99ecaa62a509a06a9a3ce7a1ec94dea2e1c5e200feb128bd967b0bf3" + }, + { + "file": "test/package-check.test.js", + "sha256": "daecef5ca8f436efb8a72c5e99632061aa9110d2c295cd97eeed5bc9fd0a3aa5" + }, + { + "file": "test/package/README.md", + "sha256": "f5f2b16ae57ba4c0ef692935534116f1ecaed8ff2247b24b17b38a565cd3dc5b" + }, + { + "file": "test/package/known-types.json", + "sha256": "838be763ffcdc34f803c5bb0599804ff73bc5e8dbb7c5f26259c1a3a5f54386f" + }, + { + "file": "test/package/runtime.cjs", + "sha256": "5973b860d377de22354fb597e602354cca7bff6b615a1e3a01747330a557c071" + }, + { + "file": "test/performance-report.test.js", + "sha256": "be76bbda2690d713b9b68d5a764e46bd7bfcf3e673ec4af288dde54e4cabd9fa" + }, + { + "file": "test/performance/README.md", + "sha256": "7f3a881025dbc75b5eb6daf5d17d8d2626b8452d5fe0da57823d41ee79c08aa4" + }, + { + "file": "test/performance/paired.spec.js", + "sha256": "b75029f94287dc00ca8313332b23004bcae302c18651b7eaff829f116d6c2159" + }, + { + "file": "test/playback-properties.test.js", + "sha256": "834b6b70d876dfc24d23a9bd46bbf18f5347d0dea359971887ab2ededbaae78f" + }, + { + "file": "test/playback.test.js", + "sha256": "af40485704227e0a9ec50cf4ea1ddbd2ff964288aabac31f55575c17cf726b86" + }, + { + "file": "test/plugins.test.js", + "sha256": "e79015cf10da6f80d59d42cf58ee8a75908847d55aaa549346b1a9c8e7551740" + }, + { + "file": "test/pointer-events.test.js", + "sha256": "8eccc6b72f025183cb93f1bbc2c03e42a98e1a3bdf6c03e8609c1b2fc9c2ea2d" + }, + { + "file": "test/progress.test.js", + "sha256": "3f6472aec1b2534d894d05477b19d77404c064e3d448531a005786f75a947b2f" + }, + { + "file": "test/prompt-components.test.js", + "sha256": "c8328abace4cbb34d0f08780983cdf98406287018247a7ded5cc18d847b96c82" + }, + { + "file": "test/public-behavior.test.js", + "sha256": "a69ef36fcfb4b8408ef4ad10d9a062c07508c35517bfd4dbd902c8c9a1f51864" + }, + { + "file": "test/resource-scope.test.js", + "sha256": "37f84e1716d05682966ce398bfc4d73cdee0f1879236ab0a018dd73563884559" + }, + { + "file": "test/screenshot.test.js", + "sha256": "740e879c9159c75e62240d37e3a327facb228f54b0b531e9da375c1f184abb24" + }, + { + "file": "test/setting-layout.test.js", + "sha256": "a7da46075bd478182559b9af4817b128eb9f9c219b6032d77fd437370f2a3563" + }, + { + "file": "test/setting-model.test.js", + "sha256": "8b3914c1c756ec9d25fb4cccd592071fe95e4f85816b59c172e6e32761cc163e" + }, + { + "file": "test/setting-resources.test.js", + "sha256": "1f3749da962e9101be07ebe3e633adfb6b56767a3ca6b64bb349563f276eb139" + }, + { + "file": "test/source.test.js", + "sha256": "f5d8e7c9aa2a6cda92c619d87ba7f582553d0c8238517e2d43ab905242d32949" + }, + { + "file": "test/ssr.test.js", + "sha256": "dcb99a02c9a7fcf8943c7621846b75a5f803b786a80bf6db40c12f0bc0f85ea8" + }, + { + "file": "test/storage.test.js", + "sha256": "10308076ed82ef8321d865f3f5041fc0d789066daac4278e882e4df21d5bf675" + }, + { + "file": "test/subtitle.test.js", + "sha256": "b4dd24d74fe3b37ea80bed15aebb07d6d477c66db4d3d3a93dfdf6592ed2abb5" + }, + { + "file": "test/template-resources.test.js", + "sha256": "24ae3141bb7463d440a88b3079e024241ac0dd2cc9a4a22beb5973b08f4b137b" + }, + { + "file": "test/thumbnails.test.js", + "sha256": "367882200a3898cce718379f95bb80706d9d5ee06e8d8e3624acada118ccc41c" + }, + { + "file": "test/toolchain.test.js", + "sha256": "7c15579e37f531e4d762dda05622a9c8047ec5e8f22e25a46ad95f69e0026829" + }, + { + "file": "test/types.plugin.test.ts", + "sha256": "d698e283a6e636003e3149523094f4e2fb307b51dffdc0ce66df76b3bf558ed4" + }, + { + "file": "test/types.test.ts", + "sha256": "445de50bf829ae58b3904a16a4a26a05454c16a76c72403985755d16923065e4" + }, + { + "file": "test/types/ads-source.ts", + "sha256": "02221946a6cb726045c4910a40027ff8e0a6e011426443e28e11762bc1cdb52e" + }, + { + "file": "test/types/ads.ts", + "sha256": "16b333c61f7a57f9d8ba8e6fab6e40aba761c4dc746e99d6b38e122315b0dde3" + }, + { + "file": "test/types/audio-track-source.ts", + "sha256": "be72de19410e05dda55feeb805d39851eb7c91afe8bbe574834bd1113489769c" + }, + { + "file": "test/types/audio-track.ts", + "sha256": "d9c01d2d4cb9ce28da599440f71cafe7b87c8c9521eb4d0c2ce1168ba3d2fde4" + }, + { + "file": "test/types/auto-playback.ts", + "sha256": "3af10afc38be6eb0d6a8c9f82f76b6b046ab0b0439a22c1318fab5557a2157e4" + }, + { + "file": "test/types/browser.ts", + "sha256": "b4c67febf37bdb2295f9ee178c2b6969788f3693c215ccf4ae8b85dfb6a98439" + }, + { + "file": "test/types/builtin-layers.ts", + "sha256": "4bf0c661011e15bb3f620e0e4bf7b51ca381c420dda261fcd59988cafd2e53c8" + }, + { + "file": "test/types/chapter-exports.ts", + "sha256": "165bc3ea422bd0dd63b143fef0b73916cf33548aa839ddf4a1ddab500877c04a" + }, + { + "file": "test/types/chapter-options.ts", + "sha256": "8ae16ff704befdcf5303012d15d108bad4aa7dab4d62da9c02cff4776680fe60" + }, + { + "file": "test/types/commonjs.cts", + "sha256": "4096c569923fe5646d4787c11fe421884b0c592682d6c585a73745ebf5ef15b1" + }, + { + "file": "test/types/components.ts", + "sha256": "e705f0c3efdf531e0eb4a5f733332c141e7bddf2450024cd71ea67bb3efc5b24" + }, + { + "file": "test/types/core-initialization.ts", + "sha256": "4126fb41037c636ca14f114ceb3542f4021c9516cfb22051df52a131b3151357" + }, + { + "file": "test/types/dash-control.ts", + "sha256": "4046e5b2b40d15c4a75c53730c38570e0f7dee08a932a22c60a0dc1aa1f603a7" + }, + { + "file": "test/types/dash-source.ts", + "sha256": "ba8b9b24cca2047edd8e9597780f974d5d36c1e2af8c417af273ee8e82b472f6" + }, + { + "file": "test/types/declaration-inputs.ts", + "sha256": "24279eec4ed375febc6f791cf40913d290ec8b62f2a67a62288476b14b0bedfe" + }, + { + "file": "test/types/declaration-legacy.ts", + "sha256": "1ee51cbcbcde133d4df17af424b1fc478bdf45d673db5981dd2d1e67b54e9b32" + }, + { + "file": "test/types/display-mini.ts", + "sha256": "e4b0e053681eda6d4db97a6a84781149146d37a3f51ee67d5c4aad281072fa65" + }, + { + "file": "test/types/display-orientation.ts", + "sha256": "4c93125b488e73f568c7af3a267dec187599da054599c9e50d95e4d827e9fd34" + }, + { + "file": "test/types/display-pip.ts", + "sha256": "7c12d5e92730a93cc803b78faf9a856fd34d8ccdc4d85e057571a048fd8ae978" + }, + { + "file": "test/types/display-sizing.ts", + "sha256": "cd0b79fb7c53516dd86ecc6566b4969793633bcf7ffa0126c48788a3f7c615d8" + }, + { + "file": "test/types/display-web.ts", + "sha256": "801d5b42efd879ff1b65f52cbed4a355b52cf2327b5a1ba9320c62935026777e" + }, + { + "file": "test/types/emitter-source.ts", + "sha256": "d6111dc541deabbe952446a6bbd99bfe2ec3dc23c097d042cb08ddc7d5a0cfb8" + }, + { + "file": "test/types/entry-source.ts", + "sha256": "d75d97b9c0425a15a4caa7f87ce146a1d227c56b67f23675c1bf7d9637f6e79e" + }, + { + "file": "test/types/events-source.ts", + "sha256": "504d33f54d995c245ea759a08ec55085f38f22707c39e45d26ddfdce261911f5" + }, + { + "file": "test/types/fast-forward.ts", + "sha256": "bd724069d82a78b8f9264f73ac3d7862f27b2bb161936a49763812e5d5966246" + }, + { + "file": "test/types/gesture.ts", + "sha256": "3fb8fd3d895738443bedab2c00b1afda1009fcee5695555d25b73b9bcea61d8f" + }, + { + "file": "test/types/hls-control.ts", + "sha256": "3bbdeae926b6a5aad6e5b7c34a21babbc7784007c49d65acc44dac0962ba2b61" + }, + { + "file": "test/types/hls-source.ts", + "sha256": "4dfb36411352ecda0c857f5d24e5587f6d0c7723078ca3d6eb29aec687e9f4ae" + }, + { + "file": "test/types/hotkey.ts", + "sha256": "bc08aa59a8359a86e49cc95f880ae09d5c90a501d4d0ddae7d7467e90b042ef7" + }, + { + "file": "test/types/known-diagnostics.json", + "sha256": "8d3200355e82501beb0891eb9cbb5fe90919ccc1e436a09abe5cb62e707ce266" + }, + { + "file": "test/types/language-value.ts", + "sha256": "84352425836a03681a5578d277bdbd02131f0079cce778788ecbb256d72eed68" + }, + { + "file": "test/types/media-events.ts", + "sha256": "7c7869877de7d4f8b74fd3c05e703345afd90ed47c581eb65a655fb7dc8b651e" + }, + { + "file": "test/types/media-hosts.ts", + "sha256": "d5ef7166683bed51a2e4395d03315ea5bcbfb4e0c93b942961febe1a45d55573" + }, + { + "file": "test/types/notice.ts", + "sha256": "f896ea15c1dc1f71e7018e3a00e7276f415b9ff58fb6058d8767cac9438a047a" + }, + { + "file": "test/types/options-source.ts", + "sha256": "1bb15ec10dc92af1e5d2a32b70e76961b314aa559c7971c31c2a4b1c75fabf75" + }, + { + "file": "test/types/playback-properties.ts", + "sha256": "ac71544fcd9a16f6a5ef00566b47a26daf7128dbb92d9ccefff1f3451619f4a4" + }, + { + "file": "test/types/playback-public.ts", + "sha256": "368fda3fd82c35437fac9212ac736e7b9a35cd283405e6c56ea9e15e30a16ff3" + }, + { + "file": "test/types/plugins-public.ts", + "sha256": "bd06fa0f883fc22da8efe34e9a20329fb096954595741d1a559b0ddb6a54064f" + }, + { + "file": "test/types/plugins-source.ts", + "sha256": "a67b7a9f029309d5596c6672e500869342a0f5866f2691c1a82fbee65c925df8" + }, + { + "file": "test/types/prompt-components.ts", + "sha256": "ee577d2d7a148767c929131d641bfbadf5e42c2aa178451a704bef0d815e67fa" + }, + { + "file": "test/types/public.ts", + "sha256": "67d63abebd3ba678707828a93d8f8826a9756532cfb9044f2c777dacc9c3eb84" + }, + { + "file": "test/types/resource-scope.ts", + "sha256": "a8c056914e8529c871891ed672030248d359a19f8571a5ac5a5f18952ea5def0" + }, + { + "file": "test/types/runtime-commonjs.cts", + "sha256": "66517d93d7d4b3e0770aa5a38d0a25fe34e796456426f35c0a47fdeef3ccfc11" + }, + { + "file": "test/types/runtime-components.ts", + "sha256": "81b2d00a92681846bd873e26ce26de09f0f61db8188e9893252bb0bc194342a1" + }, + { + "file": "test/types/runtime-construction.ts", + "sha256": "275d14830abf9d0c88aacadc4efbffc5995a282f39b9f86ae2d7065ee88b27c4" + }, + { + "file": "test/types/runtime-events.ts", + "sha256": "e4d5739bdaf4ee1d3ab6f025787661cd7f29e0601afeabb75ef0e2f4565c0ff4" + }, + { + "file": "test/types/runtime-facade.ts", + "sha256": "e33da4f2a2043c007ac4e1e9a48f134b2b3f7980fc71c8988e7b06f8bee465bf" + }, + { + "file": "test/types/runtime-leaf-consumer.ts", + "sha256": "08ad31dc7b9b3fc0e11430ca1bc3d1072e0e6f0974a8fe61341351256d565701" + }, + { + "file": "test/types/runtime-player.ts", + "sha256": "5dab542f969c0968b93f33d5fc565d5876d13b7dd7ac16645b1d8cba3d49a39b" + }, + { + "file": "test/types/runtime-public.ts", + "sha256": "32ec19042ba294d350bf4b1f5f75cc0f2ea70144fb9dcbdf6e3898d6dedf9f17" + }, + { + "file": "test/types/runtime-subsystems.ts", + "sha256": "e851a18f917896154e163938c9571a9b282e5616b871e685b15dc34865f61dda" + }, + { + "file": "test/types/runtime-utils.ts", + "sha256": "9a2ba10222de3288abdaf880386a703136333fdea77c816646be9547d9a8624d" + }, + { + "file": "test/types/screenshot.ts", + "sha256": "f329d9b897e9e9e4190ebc6ededfe55ccd0bebf796683615af103c19cf6b3947" + }, + { + "file": "test/types/setting-manager.ts", + "sha256": "27e3687a89909ea6f97aa842347cb8fbcd6f8ce5cf779a24d5dabad3eff8dc5c" + }, + { + "file": "test/types/setting-model.ts", + "sha256": "ba024ffeae26428d06f07f98f62f211db94ef8b259251f9f424a4203f1187c7b" + }, + { + "file": "test/types/source.ts", + "sha256": "0cd6c84c3a7a107c8ece4b2594a192b8a25ef2190dfb21f732c2f6704446e708" + }, + { + "file": "test/types/subtitle-manager.ts", + "sha256": "c813fbb8f87efb00683d35ef872378c3801ec840572b5dc639a7adf9c1a5ba3b" + }, + { + "file": "test/types/template-resources.ts", + "sha256": "a2b77f6ee6d9b03d8b1d8040def11808bc01178473e511e64475828c2f9de747" + }, + { + "file": "test/types/thumbnails.ts", + "sha256": "2b01c655ad30be3e9ef6732d13f85dbdf32cf71c734d63537bdb0f82ac69350c" + }, + { + "file": "test/types/utils-source.ts", + "sha256": "764b8d18ec7fd575f44d9d86add339d792c6ee084656d9361a1dbbd6131b446c" + }, + { + "file": "test/utils.test.js", + "sha256": "ad43c90a5fa2109380e0c5164833722e6d3c2d9c3c9e439ce16030eccc7983a3" + }, + { + "file": "test/utils.test.ts", + "sha256": "f77a28984a1168f1bbf52566ec43a34677c37cd77e57ce51ae40e93ad7cf30b4" + }, + { + "file": "test/vast-lifecycle.test.js", + "sha256": "5b6eb97ee038755046fdc31b4fa12e4a3e20903deafc208d6378f7e5de61dfbc" + }, + { + "file": "test/vast.test.js", + "sha256": "b02c12c0440540f4f13929bbdcb3607621a42fdc6f29debbc912189c3aa025a6" + }, + { + "file": "types/assets.d.ts", + "sha256": "34fa550a7f540f0396f45d8a02ebaab4984e18a56f3decb713dd9020b878fca1" + }, + { + "file": "types/option-validator.d.ts", + "sha256": "fea6cba0dc35678fccd784bcf5a43f605c80e99e7654592a30e6cd9fc274fdae" + }, + { + "file": "yarn.lock", + "sha256": "1a6642a9728e77faf26dce43a849b56ba24573b44f08096a07fa36593eecc8de" + } + ] + }, + "events": [ + { + "type": "test:pass", + "name": "Chapter normalization preserves caller array and objects while filling every gap", + "file": "test/chapter.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "Chapter endpoints, adjacency and Infinity normalization retain historical behavior", + "file": "test/chapter.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "No usable timeline leaves input untouched and produces no chapters", + "file": "test/chapter.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "Invalid chapter types and times are rejected including non-finite values", + "file": "test/chapter.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:summary", + "file": "test/chapter.test.js", + "counts": { + "tests": 4, + "failed": 0, + "passed": 4, + "cancelled": 0, + "skipped": 0, + "todo": 0, + "topLevel": 4, + "suites": 0 + }, + "success": true + }, + { + "type": "test:pass", + "name": "option defaults are fresh, keep all fields and callback shape: published 5.4.0", + "file": "test/options.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "option defaults are fresh, keep all fields and callback shape: workspace", + "file": "test/options.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "default values, keys and nested order match the published getter", + "file": "test/options.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "resolved options preserve unknown fields, merge ownership and collection item identity: published", + "file": "test/options.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "getter reads and inherited container restoration retain their order: published", + "file": "test/options.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "resolved options preserve unknown fields, merge ownership and collection item identity: workspace", + "file": "test/options.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "getter reads and inherited container restoration retain their order: workspace", + "file": "test/options.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "invalid JS input keeps the published validation path, first error and thrown kind", + "file": "test/options.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:summary", + "file": "test/options.test.js", + "counts": { + "tests": 8, + "failed": 0, + "passed": 8, + "cancelled": 0, + "skipped": 0, + "todo": 0, + "topLevel": 8, + "suites": 0 + }, + "success": true + }, + { + "type": "test:pass", + "name": "plugin registration keeps receiver, arguments, id, descriptors and naming precedence", + "file": "test/plugins.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "async factories preserve pending visibility, completion-time fallback and registry fulfillment", + "file": "test/plugins.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "only same-realm Promises are awaited, preserving catch-less thenables and foreign promises", + "file": "test/plugins.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "closed registries ignore late results without inspecting or destroying them and reject new factories", + "file": "test/plugins.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "reentrant destruction in a name getter or property-key coercion cannot publish a result", + "file": "test/plugins.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "live key coercion order and symbol-name failure retain native behavior", + "file": "test/plugins.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "constructor stops after a synchronous close and observes its own async rejection", + "file": "test/plugins.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "registration during reset is rejected before resource scope disposal", + "file": "test/plugins.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:summary", + "file": "test/plugins.test.js", + "counts": { + "tests": 8, + "failed": 0, + "passed": 8, + "cancelled": 0, + "skipped": 0, + "todo": 0, + "topLevel": 8, + "suites": 0 + }, + "success": true + }, + { + "type": "test:pass", + "name": "EVENT.lazy-registry: published 5.4.0", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.symbol-number-channels: published 5.4.0", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.context-removal: published 5.4.0", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.once-throw-consumed: published 5.4.0", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.chain-context-arguments: published 5.4.0", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.once-reentry: published 5.4.0", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.dispatch-snapshot: published 5.4.0", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.off-original-once: published 5.4.0", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.throw-propagation: published 5.4.0", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.lazy-registry: workspace", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.symbol-number-channels: workspace", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.context-removal: workspace", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.once-throw-consumed: workspace", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.chain-context-arguments: workspace", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.once-reentry: workspace", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.dispatch-snapshot: workspace", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.off-original-once: workspace", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.throw-propagation: workspace", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.prototype-event-names: candidate supports names that collide with Object.prototype", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.once-nested-snapshot: candidate consumes a once registration across nested dispatch snapshots", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:summary", + "file": "test/public-behavior.test.js", + "counts": { + "tests": 20, + "failed": 0, + "passed": 20, + "cancelled": 0, + "skipped": 0, + "todo": 0, + "topLevel": 20, + "suites": 0 + }, + "success": true + }, + { + "type": "test:pass", + "name": "storage preserves envelope, mutable name/settings fields and synchronous returns", + "file": "test/storage.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "storage retains truthy key selection and historical JSON payload shapes", + "file": "test/storage.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "storage falls back on denied native access and retains in-memory references", + "file": "test/storage.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "storage write failure does not merge fallback into successful native reads", + "file": "test/storage.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:summary", + "file": "test/storage.test.js", + "counts": { + "tests": 4, + "failed": 0, + "passed": 4, + "cancelled": 0, + "skipped": 0, + "todo": 0, + "topLevel": 4, + "suites": 0 + }, + "success": true + }, + { + "type": "test:summary", + "counts": { + "tests": 44, + "failed": 0, + "passed": 44, + "cancelled": 0, + "skipped": 0, + "todo": 0, + "topLevel": 44, + "suites": 0 + }, + "success": true + } + ], + "outcome": "passed", + "cases": [ + { + "id": "CT-CORE-OPTIONS-001", + "definition": { + "id": "CT-CORE-OPTIONS-001", + "package": "artplayer", + "contracts": [ + "API-01" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/options.test.js", + "title": "default values, keys and nested order match the published getter", + "versionIds": [ + "WS-artplayer", + "PUB-artplayer-5.4.0" + ], + "scope": "Current option getter compared with archived published 5.4.0", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + "definitionSha256": "09563a14a8a96828bc82a0d71e9dc644ccd8604cbbf8f4532e871e541a90ff30", + "status": "passed" + }, + { + "id": "CT-CORE-OPTIONS-002", + "definition": { + "id": "CT-CORE-OPTIONS-002", + "package": "artplayer", + "contracts": [ + "API-01" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/options.test.js", + "title": "invalid JS input keeps the published validation path, first error and thrown kind", + "versionIds": [ + "WS-artplayer", + "PUB-artplayer-5.4.0" + ], + "scope": "Nine invalid input patches compare first error name/message with published 5.4.0", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + "definitionSha256": "0b30ac351c3a3187c2fe9f43d43e8ec62cb0f90c07acccad6689401c4efa91d7", + "status": "passed" + }, + { + "id": "CT-CORE-PLUGINS-001", + "definition": { + "id": "CT-CORE-PLUGINS-001", + "package": "artplayer", + "contracts": [ + "API-03", + "API-06" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/plugins.test.js", + "title": "plugin registration keeps receiver, arguments, id, descriptors and naming precedence", + "versionIds": [ + "WS-artplayer" + ], + "scope": "Controlled registry checks receiver, identity, hidden nonwritable descriptor and naming conflicts", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + "definitionSha256": "18869a4baab6d23bff5c4eb8de9dddb1366763c684d28fc0c34459cb907d2139", + "status": "passed" + }, + { + "id": "CT-CORE-PLUGINS-002", + "definition": { + "id": "CT-CORE-PLUGINS-002", + "package": "artplayer", + "contracts": [ + "API-02", + "API-06" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/plugins.test.js", + "title": "async factories preserve pending visibility, completion-time fallback and registry fulfillment", + "versionIds": [ + "WS-artplayer" + ], + "scope": "Controlled asynchronous factory visibility and returned registry", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + "definitionSha256": "d088ea5491818ddddea2f7bcbcff3409904d3725f221826ea0f15c28d4e638c8", + "status": "passed" + }, + { + "id": "CT-CORE-PLUGINS-003", + "definition": { + "id": "CT-CORE-PLUGINS-003", + "package": "artplayer", + "contracts": [ + "API-05", + "API-06" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/plugins.test.js", + "title": "closed registries ignore late results without inspecting or destroying them and reject new factories", + "versionIds": [ + "WS-artplayer" + ], + "scope": "Disposed scope suppresses late result getters and disallows further factory execution", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + "definitionSha256": "0e53fcb5fcacef46b28e5aea1493e79fe39a8ffa12bd63cb048551d3e53618d8", + "status": "passed" + }, + { + "id": "CT-CORE-EVENTS-001", + "definition": { + "id": "CT-CORE-EVENTS-001", + "package": "artplayer", + "contracts": [ + "API-04" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/public-behavior.test.js", + "title": "EVENT.once-nested-snapshot: candidate consumes a once registration across nested dispatch snapshots", + "versionIds": [ + "WS-artplayer", + "PUB-artplayer-5.4.0" + ], + "scope": "Published duplicate nested once dispatch is reproduced; current consumes once exactly once", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + "definitionSha256": "c1aaec5a180bc6f280ce6f3c4907ca5653e77b8aa9c311db3436f3629bf11bcd", + "status": "passed" + }, + { + "id": "CT-CORE-STORAGE-001", + "definition": { + "id": "CT-CORE-STORAGE-001", + "package": "artplayer", + "contracts": [ + "API-02", + "API-12" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/storage.test.js", + "title": "storage preserves envelope, mutable name/settings fields and synchronous returns", + "versionIds": [ + "WS-artplayer" + ], + "scope": "Controlled localStorage verifies exact key/envelope and synchronous returns", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + "definitionSha256": "838782dda9d76569ffcd6f87bdaa5c6a80273b153fd6d7c469ae240a67c075b6", + "status": "passed" + }, + { + "id": "CT-CORE-STORAGE-002", + "definition": { + "id": "CT-CORE-STORAGE-002", + "package": "artplayer", + "contracts": [ + "API-12" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/storage.test.js", + "title": "storage retains truthy key selection and historical JSON payload shapes", + "versionIds": [ + "WS-artplayer" + ], + "scope": "Array/scalar/null/malformed JSON cases retain historical fallback semantics", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + "definitionSha256": "f0b40446b3c91cd4c9635d23e8976e5bc60c926cbb5926f7e48b3b05ad822581", + "status": "passed" + }, + { + "id": "CT-CHAPTER-NORMALIZE-001", + "definition": { + "id": "CT-CHAPTER-NORMALIZE-001", + "package": "artplayer-plugin-chapter", + "contracts": [ + "API-01", + "API-02" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/chapter.test.js", + "title": "Chapter normalization preserves caller array and objects while filling every gap", + "versionIds": [ + "WS-artplayer-plugin-chapter" + ], + "scope": "Current normalizer retains caller array and chapter identity across repeated normalization", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + "definitionSha256": "e1aae329f55e06f9d9fa310082c469fd55dfaa967316eb836b3fe2e55d06a89e", + "status": "passed" + }, + { + "id": "CT-CHAPTER-NORMALIZE-002", + "definition": { + "id": "CT-CHAPTER-NORMALIZE-002", + "package": "artplayer-plugin-chapter", + "contracts": [ + "API-02" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/chapter.test.js", + "title": "Chapter endpoints, adjacency and Infinity normalization retain historical behavior", + "versionIds": [ + "WS-artplayer-plugin-chapter" + ], + "scope": "Current normalizer retains adjacent endpoints and resolves Infinity against duration", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + "definitionSha256": "189793fb5c9852facd32fe54407575ec42287a5c4ae58891f8ce42f70195ebd5", + "status": "passed" + } + ], + "limitations": "Selected source/controlled-host assertions only; not full family, package tarball, browser, device, SDK or support-range acceptance" +} diff --git a/refactor/baselines/contract-observations/2026-09-12-source.json b/refactor/baselines/contract-observations/2026-09-12-source.json new file mode 100644 index 000000000..18f91a51e --- /dev/null +++ b/refactor/baselines/contract-observations/2026-09-12-source.json @@ -0,0 +1,4504 @@ +{ + "schemaVersion": 1, + "command": "yarn test:contracts", + "invocation": [ + "D:\\github\\ArtPlayer\\refactor\\.cache\\toolchains\\node-v24.21.0-win-x64\\node.exe", + "--test", + "--test-reporter=./refactor/scripts/contract-reporter.mjs", + "test/options.test.js", + "test/plugins.test.js", + "test/public-behavior.test.js", + "test/storage.test.js", + "test/chapter.test.js" + ], + "head": "6abac891ceb42bbff2c285befab3fda85490c3e9", + "capturedAt": "2026-09-12T02:31:49.175Z", + "environment": { + "node": "v24.21.0", + "platform": "win32", + "arch": "x64", + "artifactOverrides": "cleared" + }, + "candidate": { + "digest": "60d804d8da15f9a508f82b333c3a8adfa936b8d064fa07bf0b9a011f7177f6f5", + "inputs": [ + { + "file": ".node-version", + "sha256": "73fb1b615e2043a933be1c0895cde4358036acc28d785692509b822aa53c761f" + }, + { + "file": "package.json", + "sha256": "a114d0f1c1532e90984a93cc703dfcb250107f5de56b5a62bf4c30ad4f64c25b" + }, + { + "file": "packages/artplayer-plugin-ads/package.json", + "sha256": "9a7d0a2e917902bb64282566e96123244a81aa4859a82c6b1c711d639660a9bf" + }, + { + "file": "packages/artplayer-plugin-ads/src/countdown.ts", + "sha256": "7dab796a3d8fb757da7f87e4396403f0687af52d0876cf74ebb2b8db7c2e752a" + }, + { + "file": "packages/artplayer-plugin-ads/src/index.ts", + "sha256": "7b0e155a6371c71a5c3f5ba0e9e95737648a2b73b0cf124536de8b6f79a92371" + }, + { + "file": "packages/artplayer-plugin-ads/src/options.ts", + "sha256": "3ce2ad78b9f0288314fa75adf14776adf10f2205789268e9599a6d551b3b8b4f" + }, + { + "file": "packages/artplayer-plugin-ads/src/resources.ts", + "sha256": "ba0d5b5f25d79929a39a9cda6b80b9e60a2b746e20312aa658d84fbb9be6562f" + }, + { + "file": "packages/artplayer-plugin-ads/src/session.ts", + "sha256": "c45b0c63870975cf8fbd6f93340427de387d9dc15c56dfb3ad2ddacad8380e63" + }, + { + "file": "packages/artplayer-plugin-ads/src/style.less", + "sha256": "ba2622929cbec1f091ff58b3662acf1c22d8029909211c6c84085753397d6ca5" + }, + { + "file": "packages/artplayer-plugin-ads/src/types.ts", + "sha256": "219d5b06bdbece09b88640fe6f2bc27c44dd34eff5909cec9f7405a9dced759a" + }, + { + "file": "packages/artplayer-plugin-ads/src/view.ts", + "sha256": "7d2cba7a3e20ce02288627723ebc9256d61cee313c3a7d00a31373b7f250eb91" + }, + { + "file": "packages/artplayer-plugin-ads/types/artplayer-plugin-ads.d.cts", + "sha256": "ccd2d5f47bb94f00cad3950d8fa8670f6fd46b384876b0d1c0325ff209a1a1d1" + }, + { + "file": "packages/artplayer-plugin-ads/types/artplayer-plugin-ads.d.mts", + "sha256": "f8c5b9843d0992c2f01200581b8d1c166ba4d3423ccc87496c0a4c0bae5a9c5b" + }, + { + "file": "packages/artplayer-plugin-ads/types/artplayer-plugin-ads.d.ts", + "sha256": "a347e5a3e244ff0e58a28cad7c0e84adcdbadbef4dfe2128c525e6d317e7e0bb" + }, + { + "file": "packages/artplayer-plugin-ads/types/runtime/index.d.cts", + "sha256": "d97fbe931948bce1eb4ab3be7780f096a4b0095db31c1d82b4df1f80ab5c2d90" + }, + { + "file": "packages/artplayer-plugin-ads/types/runtime/index.d.mts", + "sha256": "5f1f7a86be47bd72571e2665f37007c7c250ea0b774806c4864221bd7bef5bc5" + }, + { + "file": "packages/artplayer-plugin-ads/types/runtime/index.d.ts", + "sha256": "ddaa0c124b4d1d2b673f1305bbe625dda83d4296eb7d0a9ede202201bd483b8e" + }, + { + "file": "packages/artplayer-plugin-ambilight/package.json", + "sha256": "dbd40cd642ad1669002e319e91165eaeb141d27679e2d40ea43314d29d35f9e7" + }, + { + "file": "packages/artplayer-plugin-ambilight/src/index.js", + "sha256": "c56e0a1c33a2ff54b20e6bc7eafd3e14b163e3f967cce86d48e594a2f6d1f6fe" + }, + { + "file": "packages/artplayer-plugin-ambilight/types/artplayer-plugin-ambilight.d.ts", + "sha256": "06f86ccc7c6da280c2fdbcb047d12cc51f87c70cd36cedb7274c20f24df5423e" + }, + { + "file": "packages/artplayer-plugin-asr/package.json", + "sha256": "56c6824c136927994ec0e1ea6490eede6d9c153372278b7ee220712cf1e7671c" + }, + { + "file": "packages/artplayer-plugin-asr/src/index.js", + "sha256": "af24a6334298d636235d3af417bdea83444d200563ba6df054b66c53cdaef47f" + }, + { + "file": "packages/artplayer-plugin-asr/src/style.less", + "sha256": "03d3d7223bd0a74ad1a4d888ceea20bab5b4f48209ffaebf033df3c911270b2c" + }, + { + "file": "packages/artplayer-plugin-asr/types/artplayer-plugin-asr.d.ts", + "sha256": "25756d3d8cd21941ed2bbce5392db8d20659f8a095de28fd6c2708ce5c79a130" + }, + { + "file": "packages/artplayer-plugin-audio-track/package.json", + "sha256": "49cddf50186ed3607a949ffe9277071b742995fbcd68ceb40174209645b3a45c" + }, + { + "file": "packages/artplayer-plugin-audio-track/src/index.ts", + "sha256": "769b3d04261456bfb2c10849486244c9c15529229b658e39e48f8f71403abe49" + }, + { + "file": "packages/artplayer-plugin-audio-track/src/track.ts", + "sha256": "9c6d587dc881e30a4d55746088d0122da5e0051258303d50d14a8fe5f69be2df" + }, + { + "file": "packages/artplayer-plugin-audio-track/types/artplayer-plugin-audio-track.d.cts", + "sha256": "41d0490d3050dbed6927942cc9d83bff76b0c9d36f2b9c0913232a20087a311e" + }, + { + "file": "packages/artplayer-plugin-audio-track/types/artplayer-plugin-audio-track.d.mts", + "sha256": "ad46c24c44fe609c5ff7230b84db4fe54e758fa664caa6359c0fa0feeaa578a9" + }, + { + "file": "packages/artplayer-plugin-audio-track/types/artplayer-plugin-audio-track.d.ts", + "sha256": "90315dee18c05e5b547e75c28bcd4c2ac74f2e52d9261ad5b108f57c742419d8" + }, + { + "file": "packages/artplayer-plugin-audio-track/types/runtime/index.d.cts", + "sha256": "4c04bb8f5034d9cca473d7453498c04639e4cfa8f3ec82c972fcb0a6056b0d12" + }, + { + "file": "packages/artplayer-plugin-audio-track/types/runtime/index.d.mts", + "sha256": "93111e551c7f379dfe844de8134e738acd8ecfdc3f45fbe2bcee5a199863ccc7" + }, + { + "file": "packages/artplayer-plugin-audio-track/types/runtime/index.d.ts", + "sha256": "05a123d7b737ef490ca5e7e5b5283aa3b6ef99732a921360687499d7c3907026" + }, + { + "file": "packages/artplayer-plugin-auto-thumbnail/package.json", + "sha256": "e6d2a072116549fac65bcc22154d1b35bb09b61ca4af08bbb9aec0d6304eecab" + }, + { + "file": "packages/artplayer-plugin-auto-thumbnail/src/index.js", + "sha256": "bc9102c014fbb7b87fe94dc71b779e24a88afb92f5e70a97cf26fcaa2d5a864f" + }, + { + "file": "packages/artplayer-plugin-auto-thumbnail/types/artplayer-plugin-auto-thumbnail.d.ts", + "sha256": "b3fd5197b2d1de81bd80a871103821fc38f5af8faa432265ee1fc04ff3e1e51d" + }, + { + "file": "packages/artplayer-plugin-chapter/package.json", + "sha256": "24eec6907b3218439189adab6af3f932c1497c47c2d41209311c01042b07fd4f" + }, + { + "file": "packages/artplayer-plugin-chapter/src/chapters.ts", + "sha256": "92206f524624ac3a7304677b6a69fda88e62caeca52e1e530d746e51579d3a4d" + }, + { + "file": "packages/artplayer-plugin-chapter/src/index.ts", + "sha256": "83dc022253c0539587590f7a551e090684d1944dcb2010a76e8498a683e7ef36" + }, + { + "file": "packages/artplayer-plugin-chapter/src/progress.ts", + "sha256": "4a18d19ed703772d73622ea3fa9d433dbc2c6092ba244c9bb1ec727368996951" + }, + { + "file": "packages/artplayer-plugin-chapter/src/style.less", + "sha256": "17572a96b62ba5588549edd948b879d119b97c670b40dac428839dd1160db7a8" + }, + { + "file": "packages/artplayer-plugin-chapter/src/stylesheet.ts", + "sha256": "6ccd88b6d17127acf6f6c1f02a7fbb3a55d59f427d2d92c007bf658122abd51c" + }, + { + "file": "packages/artplayer-plugin-chapter/src/types.ts", + "sha256": "07c528f9753cc54c12211276f28ff01a5f6e8f1ef1451b2b534f2d6cfaa17ee9" + }, + { + "file": "packages/artplayer-plugin-chapter/types/artplayer-plugin-chapter.d.cts", + "sha256": "4f07514b37453cd6cea8e5aa28fa018ff31738e0d423c11a3b5eccd50ed30bcc" + }, + { + "file": "packages/artplayer-plugin-chapter/types/artplayer-plugin-chapter.d.mts", + "sha256": "610179754db36276e161a07bccf4eaba8b4480f053e716a2bcc5a1574871a171" + }, + { + "file": "packages/artplayer-plugin-chapter/types/artplayer-plugin-chapter.d.ts", + "sha256": "581aa2862e709601c87a23585f54a969ebd350be56a7469a31ff53f1311b578d" + }, + { + "file": "packages/artplayer-plugin-chromecast/package.json", + "sha256": "0b05a62902477f2e95870ee75c960b2a07892773a5a5e9f600014fb3ffc5d76e" + }, + { + "file": "packages/artplayer-plugin-chromecast/src/cast.svg", + "sha256": "8c0f9ad82c2d6c70afb70ab5002204c4948dd282fbf52095aed4b07fa8d466d4" + }, + { + "file": "packages/artplayer-plugin-chromecast/src/index.js", + "sha256": "2ab8967cf7fdbf9fbac8a9afe73713e66047bad7e4d4afc802665ce594fa3274" + }, + { + "file": "packages/artplayer-plugin-chromecast/types/artplayer-plugin-chromecast.d.ts", + "sha256": "20c22f3ada25b392f0bcaf21e2ac66cdc825d88763aa91a337fc4952b2c810c1" + }, + { + "file": "packages/artplayer-plugin-danmuku-mask/package.json", + "sha256": "b3d64683695e038fe45056b33f5988593a067445df555b41f19f64326b369ea3" + }, + { + "file": "packages/artplayer-plugin-danmuku-mask/src/index.js", + "sha256": "2397900688f86bc74bc86a4e870f69478a651bd8df02bba543cdab832773fd6e" + }, + { + "file": "packages/artplayer-plugin-danmuku-mask/types/artplayer-plugin-danmuku-mask.d.ts", + "sha256": "f2b67f82a6471b79d921a7376b24620d0ed8284a3e1882b0f75a9b38dfac3638" + }, + { + "file": "packages/artplayer-plugin-danmuku/package.json", + "sha256": "26ed024a0aa6be488c658b2b7eba3dd8834871cb027269b5d73ac20d0d25743a" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/bilibili.js", + "sha256": "3235b1e7be09d55971a5fd70b7b87b7d7ff9e2b2c84452a64f095d326d5af897" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/danmuku.js", + "sha256": "1723094f73adb7f8d358c244c52972510d845de03d41263d12a45edecc054df1" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/heatmap.js", + "sha256": "3cf77ff82f62958728445eaf9c044bc4cbcf04a4ea82e753e7c44e59128c16f4" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/img/check_off.svg", + "sha256": "8cb8e31da1bf7b5be8f4065920b46e1988755910218fb121dd3d9649c50156cf" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/img/check_on.svg", + "sha256": "c5a34f56c56b0f696b4e3740c73e803076b5bfdfdee89714793118fc4c6baa84" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/img/config.svg", + "sha256": "bbd7c2952740ac8220f396477eaca3b01f6c249866d880ece38c565cc77c5e36" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/img/mode_0_off.svg", + "sha256": "fe9e5e1745e8206a4eda0d0ac30815f301c37acccec2564bbda51c1fa4bd1e1e" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/img/mode_0_on.svg", + "sha256": "96720a81f0315caf6c70664de934e49d22e6dd070a9f6ca1fec2a9a96af4d138" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/img/mode_1_off.svg", + "sha256": "3ccd22bf3648dc260cd1d0b6a60a9226a853764ae20efb8fe9c940cd856c81b2" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/img/mode_1_on.svg", + "sha256": "2238ca27e3c7c4c687d10de13b794d8be70ae1c5ba9225ebad27f251cfe5f12a" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/img/mode_2_off.svg", + "sha256": "31423e3d67c00839adc77dd871dc1da55f77c8b83b5a37b445e4b4c3f46c6d6d" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/img/mode_2_on.svg", + "sha256": "96b4c9db8d5055c8777fda74cb5e0f32b3e12e62a1e0bacbf75d2088f4505e2f" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/img/off.svg", + "sha256": "4e6743ee28002e16117caf47ea3bffb34ca75bcc4118744b4ee720829ae3b563" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/img/on.svg", + "sha256": "cc0fb7048bff6dc3f14a17ed549209c67e9bc34368cb1571e0abd8035c7b59b7" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/img/style.svg", + "sha256": "9034ea7b9a214a6d4c086c02cf85f42b1c4487cec0906e919fc91e99dfff529a" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/index.js", + "sha256": "c457bb11e68a4ebb393f7dbf47ed3872166b72cf12498fc03187ead6f60ce234" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/setting.js", + "sha256": "ffbaa808551410dc015a5f3ffe4e091f5e1b1bb45eee2d9790cf15cbf82eace2" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/style.less", + "sha256": "a497a7c79c9e8329874eec30f7da436ed35a2f80a35048df1eb7c8f1fe34d6c3" + }, + { + "file": "packages/artplayer-plugin-danmuku/src/worker.js", + "sha256": "05995a16cd728dd5ca513587a777b4be9012b8cc4b77e3a46fed1826e6769c53" + }, + { + "file": "packages/artplayer-plugin-danmuku/types/artplayer-plugin-danmuku.d.ts", + "sha256": "3162fc3db91bff06f0709fa0e6ca78de05053e25436ca215846a6267d4680e53" + }, + { + "file": "packages/artplayer-plugin-dash-control/package.json", + "sha256": "0757055e9d84e95a3fe2278b86aefad75ddf6e3a902a2e010645f82d9936a158" + }, + { + "file": "packages/artplayer-plugin-dash-control/src/audio.svg", + "sha256": "dbee5ce7487c9f8ec927e5286188cf9439345bbe947b6c06c32c07193e01e0be" + }, + { + "file": "packages/artplayer-plugin-dash-control/src/index.ts", + "sha256": "d9604df222dcd3efdf602ae397973f8499fadf9ad4ebe30007e07e18c14c5191" + }, + { + "file": "packages/artplayer-plugin-dash-control/src/mapping.ts", + "sha256": "d3a3c65f3879cb1322fac55d78e5e9527d1994f7b4052ba9743412cb08c1757e" + }, + { + "file": "packages/artplayer-plugin-dash-control/src/menu.ts", + "sha256": "87e94b9a7a44a2211676eb088009725b48c4d714bc0ee88b1e3151fb770548f5" + }, + { + "file": "packages/artplayer-plugin-dash-control/src/quality.svg", + "sha256": "4666a4c01764422f9008e442f5a889ff9691bb0386083d673943a0718f4d680c" + }, + { + "file": "packages/artplayer-plugin-dash-control/src/sdk-events.ts", + "sha256": "a576ebbe34b9705204c096bbbfefd39a330b74ae80830056125a121e5d713ec5" + }, + { + "file": "packages/artplayer-plugin-dash-control/src/sdk.ts", + "sha256": "9afd4dbc949648d7f9bb00d57dba04c71505cdd23312813f60c83a5f5506dc69" + }, + { + "file": "packages/artplayer-plugin-dash-control/src/types.ts", + "sha256": "2ddfc7065db8f65885fb69b54d746f3fed901c7a618863a7237431f8d4fc7bf0" + }, + { + "file": "packages/artplayer-plugin-dash-control/types/artplayer-plugin-dash-control.d.cts", + "sha256": "20cbbeed90e0cd7d7b536b945dd01f31679e4325854aa36b732cb8e6ccc70d02" + }, + { + "file": "packages/artplayer-plugin-dash-control/types/artplayer-plugin-dash-control.d.mts", + "sha256": "f52ae616c501be0685a14cb4e48252c88a67c9d4b0a9c1138921de89521f6b81" + }, + { + "file": "packages/artplayer-plugin-dash-control/types/artplayer-plugin-dash-control.d.ts", + "sha256": "8470943bc5f2461f8b5d7420c0fd53828279c5dd8804c044f4c3b516f433506d" + }, + { + "file": "packages/artplayer-plugin-document-pip/package.json", + "sha256": "ead2d02246866e746ab53f428ae446e880b25ca657e1141b8cc3747f3dc58786" + }, + { + "file": "packages/artplayer-plugin-document-pip/src/index.js", + "sha256": "655818d30d82e43443e9a7ea185f91fc951eb72ad11edaaed0264182e62f32ba" + }, + { + "file": "packages/artplayer-plugin-document-pip/src/style.less", + "sha256": "13e1a09bfdaa432f3dadb11db57f1b4b970ae9e3d95eeba7311ac6d5afedb205" + }, + { + "file": "packages/artplayer-plugin-document-pip/types/artplayer-plugin-document-pip.d.ts", + "sha256": "90725c86b8d7b32b5e222d235a15ffeb45d39e98cb097ca6a49b2faa321f5d1d" + }, + { + "file": "packages/artplayer-plugin-hls-control/package.json", + "sha256": "084bb4aea8dfce9880b062f2cf5e89b1fc94a9b403e835505631aea0e1816014" + }, + { + "file": "packages/artplayer-plugin-hls-control/src/audio.svg", + "sha256": "dbee5ce7487c9f8ec927e5286188cf9439345bbe947b6c06c32c07193e01e0be" + }, + { + "file": "packages/artplayer-plugin-hls-control/src/index.ts", + "sha256": "e108247369ddeba4e2da11b16f5ac34ff8557b95d8dd50dd8b589ca85e3874d6" + }, + { + "file": "packages/artplayer-plugin-hls-control/src/mapping.ts", + "sha256": "f517854a7825ab7783375438040602bcfeab16df0218998208dd9a3b8fe443e3" + }, + { + "file": "packages/artplayer-plugin-hls-control/src/menu.ts", + "sha256": "774c43ebdc86555a3518b3f74d226ac03cdf41035d8cf5dd0ab519b7b144d78b" + }, + { + "file": "packages/artplayer-plugin-hls-control/src/quality.svg", + "sha256": "4666a4c01764422f9008e442f5a889ff9691bb0386083d673943a0718f4d680c" + }, + { + "file": "packages/artplayer-plugin-hls-control/src/sdk-events.ts", + "sha256": "4d9ee92d0720601a2c55b597bf99e7ecaf851d5fd2292adff153c539f33e460a" + }, + { + "file": "packages/artplayer-plugin-hls-control/src/types.ts", + "sha256": "2b9c8927e4c16ab4ce486d63d2ee3fb781a01be8a5423643cabd1ec76b17f98c" + }, + { + "file": "packages/artplayer-plugin-hls-control/types/artplayer-plugin-hls-control.d.cts", + "sha256": "ad4c3e7f7d2ba6b8371108bf08dfa13cccf78a1add846ba53cab8774c8fff0b6" + }, + { + "file": "packages/artplayer-plugin-hls-control/types/artplayer-plugin-hls-control.d.mts", + "sha256": "27a3a17a48f0bc92c3c50783be253730d87d01e9be627ab2726bdc552fecf1f3" + }, + { + "file": "packages/artplayer-plugin-hls-control/types/artplayer-plugin-hls-control.d.ts", + "sha256": "3bce772f8f7cb7b6421b2c2dc4a1ea22987f3f1483f1dca7ca4ab08f75cf7a9d" + }, + { + "file": "packages/artplayer-plugin-jassub/package.json", + "sha256": "643127e3148df8721192c2559977d42e55651ee83b95cdd94c6ea6931993604f" + }, + { + "file": "packages/artplayer-plugin-jassub/src/index.js", + "sha256": "697c2109b34e23bebb76c118a92ee216ae2e23af84bcb351a2138835b1fbd3dc" + }, + { + "file": "packages/artplayer-plugin-jassub/src/jassub.es.js", + "sha256": "b973508ade00b5b9cea2f299d49f4943003372729be7350b6938e44fddb32038" + }, + { + "file": "packages/artplayer-plugin-jassub/types/artplayer-plugin-jassub.d.ts", + "sha256": "0c00ce8fd60780c7c01d23534c193cedd32898dc79739e7cf13d8700a6ab7676" + }, + { + "file": "packages/artplayer-plugin-multiple-subtitles/package.json", + "sha256": "77c93bc94154db46bdc2b2a3d02a03421ea0a49af54728bead91896dfae1092a" + }, + { + "file": "packages/artplayer-plugin-multiple-subtitles/src/index.js", + "sha256": "02d7019e92bed7817d815f04df80605ae0bd94f03e2b8c52022b5f622ba2e2ba" + }, + { + "file": "packages/artplayer-plugin-multiple-subtitles/src/parser.js", + "sha256": "ba582074d57fa2d72880e6e4253fe14646787916b2b68e2a1e748e685cf96ab1" + }, + { + "file": "packages/artplayer-plugin-multiple-subtitles/types/artplayer-plugin-multiple-subtitles.d.ts", + "sha256": "ab5dae1d0bdfcf2515cb842b1d465edf21dd195fe2fc5b0cfe351a8c06eb965c" + }, + { + "file": "packages/artplayer-plugin-vast/package.json", + "sha256": "1619c75356a5d1c2526ea965010b8aac6ac30db88b834457d0835a9d0986f477" + }, + { + "file": "packages/artplayer-plugin-vast/src/index.ts", + "sha256": "c17455be188ecb23161729234faa1b4309a3b60f08465509e873fee2f1dd21d6" + }, + { + "file": "packages/artplayer-plugin-vast/src/sdk.ts", + "sha256": "aaff7c1e4a31ff99261b045648663caa46f66b5a25ad129e5fc929facaf1ff89" + }, + { + "file": "packages/artplayer-plugin-vast/src/session.ts", + "sha256": "472ad363276711dd79c375e5cdfe44cc42dd7f781a04974442f2599998c8cbc2" + }, + { + "file": "packages/artplayer-plugin-vast/src/types.ts", + "sha256": "0042303fd4206467724a7c5abda633436ac30a3d1139b24609e1a7dd1e890b23" + }, + { + "file": "packages/artplayer-plugin-vast/src/view.ts", + "sha256": "c36008cdf2e6b7818b166deb4842ce8d405272486e2c07b6226e8e2905640328" + }, + { + "file": "packages/artplayer-plugin-vast/types/artplayer-plugin-vast.d.ts", + "sha256": "c99f260d5ea99924e78018c1e3da7f87097c3ae92443587213a63de84a3a20c1" + }, + { + "file": "packages/artplayer-plugin-vtt-thumbnail/package.json", + "sha256": "5d4d2e1dab951c16af525bc82bcf0edc1f5165f960f821352aa1a0a69cd6adc1" + }, + { + "file": "packages/artplayer-plugin-vtt-thumbnail/src/getVttArray.js", + "sha256": "5184d98a40017829f4c0b3c7514c22f866cea6bc9aa706e140127b694727d71b" + }, + { + "file": "packages/artplayer-plugin-vtt-thumbnail/src/index.js", + "sha256": "183c0f8f5cab033c3277c3d791b0f555ad5858aeb47c0b829d42487b7de921f2" + }, + { + "file": "packages/artplayer-plugin-vtt-thumbnail/types/artplayer-plugin-vtt-thumbnail.d.ts", + "sha256": "fcc44a4a5c6035a82b0207e3f042d95b4cc495698bed30a439c06c483b47dd70" + }, + { + "file": "packages/artplayer-proxy-canvas/package.json", + "sha256": "af900e5e8fe60f0ad844f3b86915f6726034dd7fd78609f7ab7b3891f33d8124" + }, + { + "file": "packages/artplayer-proxy-canvas/src/index.js", + "sha256": "4b5922b05b46adf0d54ae92025b5c70456a5b8c87819c797ef91eb50e0c8f4d4" + }, + { + "file": "packages/artplayer-proxy-canvas/types/artplayer-proxy-canvas.d.ts", + "sha256": "a6630a9412ae081d2ed2bff07dea3f3ae5563c0307add6c59aa6e11858ef918e" + }, + { + "file": "packages/artplayer-proxy-mediabunny/package.json", + "sha256": "025707ceb29ab711c92897b9e16344e71a1d464b300cd480e275317558ce303c" + }, + { + "file": "packages/artplayer-proxy-mediabunny/src/AudioEngine.js", + "sha256": "910d6831372e4895d55dec78010f281a199bc88f99735630a5a3b621f192ac35" + }, + { + "file": "packages/artplayer-proxy-mediabunny/src/EventTarget.js", + "sha256": "c1854510af5a37301b4bd3b1fbcc28f7e0f105f50cb67324c5c05a76f2d054fb" + }, + { + "file": "packages/artplayer-proxy-mediabunny/src/MediaBunnyEngine.js", + "sha256": "3f847bd1e8dfe5334e55def87862af7412af0204691c275293758cff95950189" + }, + { + "file": "packages/artplayer-proxy-mediabunny/src/VideoEngine.js", + "sha256": "6b73dd5867a5640b68f801b397ace36bb6289e50cca176bfc9288d71f67e6e0b" + }, + { + "file": "packages/artplayer-proxy-mediabunny/src/VideoShim.js", + "sha256": "f01c954e8a98fb70138dded78b99eb2765f5cd1e8a98dafbb35ffbf8f7741dbb" + }, + { + "file": "packages/artplayer-proxy-mediabunny/src/index.js", + "sha256": "4e1be8937908ff6e6ef8a4e863e22b4468312cf31d66ac299322e475757773bb" + }, + { + "file": "packages/artplayer-proxy-mediabunny/src/input.js", + "sha256": "4341c27a8d8ebc77334ac96fc8cec11fc28e369e115eb690c6aeb0a352863d81" + }, + { + "file": "packages/artplayer-proxy-mediabunny/src/m3u8.js", + "sha256": "4639f09e0c743dc2b24078f48ca1e58eaaedaa3f5e6b863583cbd4bc4a7d3142" + }, + { + "file": "packages/artplayer-proxy-mediabunny/types/artplayer-proxy-mediabunny.d.ts", + "sha256": "e9f4a88254590a7b1fff8a411519a28b15fe63af0a192fa77866be8bde62bc01" + }, + { + "file": "packages/artplayer-tool-iframe/package.json", + "sha256": "18b08c3f25954be5cda26229c799cdaec1623cc8ae43cdac46ba9fc694e85e09" + }, + { + "file": "packages/artplayer-tool-iframe/src/index.js", + "sha256": "5fd5452640ff57fa35cd0f3378505ffc1318e9c114d9a2a6e2f1adbeaec6fd28" + }, + { + "file": "packages/artplayer-tool-iframe/types/artplayer-tool-iframe.d.ts", + "sha256": "becfcdba00b0275d3a7f00e46f57718685b711ff36fcf11d79271208b0492959" + }, + { + "file": "packages/artplayer-tool-thumbnail/package.json", + "sha256": "998848b478ed5752ea207b9952f6b9441a0370c916966a61ac53186e0601df74" + }, + { + "file": "packages/artplayer-tool-thumbnail/src/emitter.js", + "sha256": "5aa71e4317037c06b94e259beed2e964bbbb7117edbe78d29cc941c4916fd2ff" + }, + { + "file": "packages/artplayer-tool-thumbnail/src/index.js", + "sha256": "67bc1b6a58faf11b14c8d410ae829edd64b84dc9e7b4b388b2e2dd60788bcbe4" + }, + { + "file": "packages/artplayer-tool-thumbnail/src/utils.js", + "sha256": "dc19fe2f338df7058084eb2301d37db59ec4c914a85ba819a856d270c1267105" + }, + { + "file": "packages/artplayer-vitepress/package.json", + "sha256": "01a3147b669e31988cbf1da1b4a7d310d66921bf9cdc086d2e401a6e1be0c3c7" + }, + { + "file": "packages/artplayer/package.json", + "sha256": "82e92699e7c29847f32ac6767ece0401290e7d7a12854722bdbcfd09b90b7954" + }, + { + "file": "packages/artplayer/public/artplayer.cts", + "sha256": "0e91e907d021db02a68004603e6190505fdc0806d873ebb6af171aa089a81da7" + }, + { + "file": "packages/artplayer/public/artplayer.mts", + "sha256": "f6292596a9ccb1d43a6d6a12c35f859b1889ad15924c5ae0f9f280941aade313" + }, + { + "file": "packages/artplayer/public/artplayer.ts", + "sha256": "26a42ac66811e70f68a8ebe62cbf304eb1993451b3e658961be98e7106162527" + }, + { + "file": "packages/artplayer/public/component.ts", + "sha256": "aa1c43be67322781b4b355b143bc69d9f29d22e578e4974d6a13e957a7c0334f" + }, + { + "file": "packages/artplayer/public/config.ts", + "sha256": "c4fd8681bf32b10c743e3e561c532520c8f32e43fd765524850b15e55cb91c72" + }, + { + "file": "packages/artplayer/public/cssVar.ts", + "sha256": "e027d82fb4f01c9ce7559cf679b2d5ee1962d3f7e5b4dd64ca21f472b933efb6" + }, + { + "file": "packages/artplayer/public/emitter.ts", + "sha256": "9c62551cdcc6dd3966bed8a7a85dd477435db977c91a294d2ac8f162f9592537" + }, + { + "file": "packages/artplayer/public/events.ts", + "sha256": "af191f862af4ec8933b09113b8c074603ae254a8b70460d0f3006646cd74ae42" + }, + { + "file": "packages/artplayer/public/i18n.ts", + "sha256": "34b0c684668044f7600c80b9d3979f8fb730138007b7cb4e7034326b340156fb" + }, + { + "file": "packages/artplayer/public/icons.ts", + "sha256": "0d8e8e52e52130dd4a29bab551dd7a2a954797e42e92a6e068c85d583e23e6a4" + }, + { + "file": "packages/artplayer/public/language.cts", + "sha256": "2248040d86a8e34626755c4ecf53ea0174706c653073cf0e15884a030d173120" + }, + { + "file": "packages/artplayer/public/language.mts", + "sha256": "c391e863012c77769e661afbf8fa949e9373aa88d17f58cbba7f5696edb8077f" + }, + { + "file": "packages/artplayer/public/legacy/language.ts", + "sha256": "c452ffd764ff9b29b819b3475c42395d2ea7a33560d8c186ef5df3844b9524c3" + }, + { + "file": "packages/artplayer/public/option.ts", + "sha256": "850e5264219b8b438c80694402225b690b131786677a5da0d22739ec2352d263" + }, + { + "file": "packages/artplayer/public/playback.ts", + "sha256": "1ceaed3aa1cef511fe8b20f4874647f6065c723ad805b742a0a9247e16bb1bb5" + }, + { + "file": "packages/artplayer/public/player.ts", + "sha256": "f1e50257df2ea592d0a0e1f36078dda77eaf2cf3b3d795307501396562d99f28" + }, + { + "file": "packages/artplayer/public/plugin.ts", + "sha256": "2a57e148fda00ee687da5036b890b0f611cb94bb403a1ed52602179060259d35" + }, + { + "file": "packages/artplayer/public/quality.ts", + "sha256": "7ed6ed78cea52991b2f6ddd2bd3b7bd8c5146fdfff7486fe8b814c3e632f1567" + }, + { + "file": "packages/artplayer/public/runtime.cts", + "sha256": "52cfff1daeb6841a90212c8fa8d46ca46d6650bb7ed1b59b62115d854b8ad652" + }, + { + "file": "packages/artplayer/public/runtime.mts", + "sha256": "1b09bc0ee0f0ee2f788689eaff441bdeda1fab0ce783e71b61b9792d81072b03" + }, + { + "file": "packages/artplayer/public/runtime.ts", + "sha256": "ec4b1d56993eb482a77eb0f94b701047549d009e6ba6433f27e7d464fef30c2b" + }, + { + "file": "packages/artplayer/public/runtime/component.ts", + "sha256": "840213299c942fe058eb5436977ceec066b9dccda24c55ae9f464b399c979e39" + }, + { + "file": "packages/artplayer/public/runtime/construction.ts", + "sha256": "24cc5cda1f614314db382271a9b0d5583b781894cfdf6c548700b1b5270467ee" + }, + { + "file": "packages/artplayer/public/runtime/events.ts", + "sha256": "52848f57d35eb1037cf74c8877521edf99a015bcd77f30ef6bbcba1807a99bfe" + }, + { + "file": "packages/artplayer/public/runtime/media.ts", + "sha256": "8828f80953aec3e95328cefe691661e8897cb27cb309483cf806ec45a8549ae3" + }, + { + "file": "packages/artplayer/public/runtime/option.ts", + "sha256": "bb672e49ffe74a6fc78543217f6de80d7d738890146df0857c709d4dc283e4ce" + }, + { + "file": "packages/artplayer/public/runtime/player.ts", + "sha256": "a4a24794e26cfb9e4310bf0f459a7a407e85bf81b4f3a4feb6294331af8036fb" + }, + { + "file": "packages/artplayer/public/runtime/plugin.ts", + "sha256": "9ad482f2a77914a91450419680b8af6b314b926f0831c2f7f6d7c466690f95c9" + }, + { + "file": "packages/artplayer/public/runtime/services.ts", + "sha256": "8e4648d8c61bff47343f9e1c2b995af69fc00947264b826109ceadcbaf553254" + }, + { + "file": "packages/artplayer/public/runtime/setting.ts", + "sha256": "c48d20957b57f79f985ef76a2950cc8a5cfa25dafa8ec5939e562661778e6218" + }, + { + "file": "packages/artplayer/public/runtime/subtitle.ts", + "sha256": "13241c4f9a87517aa2cf7b3e0bb8cedaa12fa0b4d3f8934285797583b752557e" + }, + { + "file": "packages/artplayer/public/runtime/template.ts", + "sha256": "da9975513a1938e7f386f4f65f718f0fc595164bfeac8f0cd99a3e97a54919a1" + }, + { + "file": "packages/artplayer/public/runtime/utils.ts", + "sha256": "cab9916f5224a3b047812b9f759cc9cc62105662599744067a6955020ab36916" + }, + { + "file": "packages/artplayer/public/setting.ts", + "sha256": "d12a75b656fff70cbb30be4bffec46d9c4273636e8722bce971a4d2b188712a1" + }, + { + "file": "packages/artplayer/public/subtitle.ts", + "sha256": "d25b470e47d6a9bd696d9c1ad8adb58e56a208f05695186d513bc8c43c2e8acf" + }, + { + "file": "packages/artplayer/public/template.ts", + "sha256": "68aed9e97d006d6be4fabb8504ca84dafab770b0925f4d6e7319e67c82f21b0d" + }, + { + "file": "packages/artplayer/public/utils.ts", + "sha256": "494ec447ab467a07ddd7a2c2abf778b3fce69fd28a09aaa8ced9759f8de2e3f6" + }, + { + "file": "packages/artplayer/src/accessibility/button.ts", + "sha256": "e5afa7aade56116082f54678c44961157950fa550d66e21a4e1ff9bb5369a6f8" + }, + { + "file": "packages/artplayer/src/accessibility/focus.ts", + "sha256": "2fa16941ac3632cb1e4b466e9a7e29700ef97b7eb2facd4330c59ec0a9320594" + }, + { + "file": "packages/artplayer/src/accessibility/keyboard.ts", + "sha256": "2d82122732f84f39e59c6852ca081614caa6430a82b32c4749e297826c77eb12" + }, + { + "file": "packages/artplayer/src/accessibility/moved-focus.ts", + "sha256": "c3d2a7d496381b2a86819b82fbd26cc940a1204fdf19408ccc8db267741d96c9" + }, + { + "file": "packages/artplayer/src/accessibility/overlay-focus.ts", + "sha256": "93fa088daaa3afed88f645507828a10cb63292937c49b16f6c2a0ea895897878" + }, + { + "file": "packages/artplayer/src/accessibility/player-focus.ts", + "sha256": "e8fd5222cbfc38cd4938324c83d9f5cef3d01a439464e1570d63a5131c84f20a" + }, + { + "file": "packages/artplayer/src/accessibility/slider.ts", + "sha256": "533d5e6d806c32a84a578b43ed50993d30b4a414b5a85a34bbc68c37c5673a44" + }, + { + "file": "packages/artplayer/src/accessibility/suspend-focus.ts", + "sha256": "d95c6097236be66e252165287435cca01b50553d64259add6b011721e4bbc644" + }, + { + "file": "packages/artplayer/src/bootstrap/browser.ts", + "sha256": "8d401627e8ea1c87fb44204227b04177a70cc7a0f79f95fb5dc73fe828e46a8c" + }, + { + "file": "packages/artplayer/src/capture/frame.ts", + "sha256": "eb25d81ec2d40a239103c63cfd80333705251291f2c2da77c740b4d413ea9cd9" + }, + { + "file": "packages/artplayer/src/component/dom.ts", + "sha256": "740f63e6e5942c444b9f05605880f8d56a77b066dbe5c4791da74f78cb96c668" + }, + { + "file": "packages/artplayer/src/component/focus.ts", + "sha256": "f4aff802711f6146c80e8c6bd90bc2cb406ccbdb581aef41f436ff5c03871ad3" + }, + { + "file": "packages/artplayer/src/component/resources.ts", + "sha256": "ff158ef0db8ba13343ff6ba329713820cfe2f5c2c446a7873a6cfff782855edf" + }, + { + "file": "packages/artplayer/src/component/selection.ts", + "sha256": "1f0bd089415da28db862647ffd1a0b4af752576465fb616d4b97ae4f8dcae3a7" + }, + { + "file": "packages/artplayer/src/component/types.ts", + "sha256": "d7b0e7008b0f6c82e3e97ac43e0188598dca4f740a860e7a60b3b38a46f4565d" + }, + { + "file": "packages/artplayer/src/config/index.ts", + "sha256": "a56b4d3d6942cfa3e2b47f909fc5ad87e6e3202fd61b29c7afd7649049e31d05" + }, + { + "file": "packages/artplayer/src/contextmenu/aspectRatio.ts", + "sha256": "18ab60c9acee1e0cecd76c0b6cf750763eed7cfbede4220328b5200154c5c478" + }, + { + "file": "packages/artplayer/src/contextmenu/choices.ts", + "sha256": "6bb880b27afc9457442c3973992da6dc8da48fc61d6b66b3b5a3bb4fc4651dc8" + }, + { + "file": "packages/artplayer/src/contextmenu/close.ts", + "sha256": "84b7a96df910e6f38140df8b1e73519d209a7331e9be9f42d076ae791757024f" + }, + { + "file": "packages/artplayer/src/contextmenu/flip.ts", + "sha256": "a7a4ac375da45dc7b6c996d4534098838646a078abfc4438f688e91e14ef0b38" + }, + { + "file": "packages/artplayer/src/contextmenu/index.ts", + "sha256": "7532165d162fa463f1fe3c538d6bda0f579b5907b05137382efeb0018719b011" + }, + { + "file": "packages/artplayer/src/contextmenu/info.ts", + "sha256": "f37cf0104510c13a130d2f55114c8f7ff15cc1b51863f97e60825442bdb2bf01" + }, + { + "file": "packages/artplayer/src/contextmenu/keyboard.ts", + "sha256": "eaa1af6b1abf8947d957208a0535f1b34f6c88e95394efd56cae905ccdea564c" + }, + { + "file": "packages/artplayer/src/contextmenu/playbackRate.ts", + "sha256": "7e06bb6fab3acdd71fb3ed63f77083172af517b49c1ecaefa3ee6a9068bdfe54" + }, + { + "file": "packages/artplayer/src/contextmenu/position.ts", + "sha256": "851ed1a884a13fbe430be77e7f72ae46d8a719175647e058644834aabd27ac58" + }, + { + "file": "packages/artplayer/src/contextmenu/types.ts", + "sha256": "a93fc90f4e17b731e8f6b486a507117810b61c1f1b0d9e775eba27dabeaeee1d" + }, + { + "file": "packages/artplayer/src/contextmenu/version.ts", + "sha256": "0553a716be0ba49f614059c41eef6dc694a9641fca79e6448b1b30382c6b582b" + }, + { + "file": "packages/artplayer/src/control/airplay.ts", + "sha256": "539bcc3671c7fe428ab95f9fea8a4943444066bcb742c7cf71591ba347642547" + }, + { + "file": "packages/artplayer/src/control/builtins.ts", + "sha256": "2a0e12a9741713c92938e1d2009149bbbde498284aa85c63f270d02b27dc22b1" + }, + { + "file": "packages/artplayer/src/control/fullscreen.ts", + "sha256": "7f8a9e8915abf9cbb9dda05b5c68523a47cc0ccf9ef5e0d9b82bc5c362fe346d" + }, + { + "file": "packages/artplayer/src/control/fullscreenWeb.ts", + "sha256": "9cb30987a3d2cbb334a80d3f2c41f39fd339bf37a9524c7ed0145cf5c98f1859" + }, + { + "file": "packages/artplayer/src/control/index.ts", + "sha256": "0d8e5a281f2eeba06c4cc4ac5a042847df53db1a19fdf140efea17d6ab2c0b78" + }, + { + "file": "packages/artplayer/src/control/layout.ts", + "sha256": "72e0b95bc632561e97569d789b76d16f36edd94eac8c62ba9e1918c9a222d328" + }, + { + "file": "packages/artplayer/src/control/pip.ts", + "sha256": "b829a7c83c5efa6751c2e434345e077339c9f5bc5022af9973f181ca8ce7f7ce" + }, + { + "file": "packages/artplayer/src/control/playAndPause.ts", + "sha256": "20ed88bcc7ac7622e02a7c4e6be518582c05f0d7c571a97a54b851d79dcf13c5" + }, + { + "file": "packages/artplayer/src/control/progress.ts", + "sha256": "629c622864619e2515b2eacb1bdfcf523ccce7ce680c8fdf51812e8e50a0cc7e" + }, + { + "file": "packages/artplayer/src/control/progress/interactions.ts", + "sha256": "da03600375451ecf8c152be5afcc5f1a4f8b759e837bbd54b7faaf8f8b228497" + }, + { + "file": "packages/artplayer/src/control/progress/keyboard.ts", + "sha256": "03d1d47e6641ea08f765d731f10a6aad35f7c3edc16aa97df822c5f9a7f75eb0" + }, + { + "file": "packages/artplayer/src/control/progress/position.ts", + "sha256": "a3794ab5ac5dafa5fd61e56acb12c94998bd4b9065dbf0fa4739c6bba1094aa1" + }, + { + "file": "packages/artplayer/src/control/progress/view.ts", + "sha256": "60ee16d5170be81b8132bb56dd0bc0eaf23e50f5c268d0697c9187b38a14aba9" + }, + { + "file": "packages/artplayer/src/control/resources.ts", + "sha256": "16fd7c53ac8f47b333041c4f298313390dc102523d47767b8a16f39a2564ba74" + }, + { + "file": "packages/artplayer/src/control/screenshot.ts", + "sha256": "11a1e3da919e476e7882abc3f74aaa809c3e9fc1de4346ec808731f78b6f27e2" + }, + { + "file": "packages/artplayer/src/control/selector-keyboard.ts", + "sha256": "6a749f48b23cda62148298e648bb380a6067cc18c7be4258b9ec85c382a56165" + }, + { + "file": "packages/artplayer/src/control/selector.ts", + "sha256": "a6f0c564c674530da9a0e4ed8762c6dfb81fa89373d64313e1020550731441f6" + }, + { + "file": "packages/artplayer/src/control/setting.ts", + "sha256": "10ee1118858c41f2e97a6df70d6d5dc978757d0e5d79ec36c11e743e6df86726" + }, + { + "file": "packages/artplayer/src/control/time.ts", + "sha256": "fa572092e0848878689367fb536e9658d13888d0a0d476babc5acd165af0f8d3" + }, + { + "file": "packages/artplayer/src/control/types.ts", + "sha256": "454846310d4fc3a8576ba030c2e8428bb795cde7b89308d29943bb4d4bc2aaa4" + }, + { + "file": "packages/artplayer/src/control/volume.ts", + "sha256": "45474d8d7f43d59263aa42e774eaaafeb45530ec24b81a5f589f6c906954568b" + }, + { + "file": "packages/artplayer/src/display/fullscreen-abandoned.ts", + "sha256": "1715b30d336976921b4957b444418702b7d93dbf1debce47429269638d15810f" + }, + { + "file": "packages/artplayer/src/display/fullscreen-adapter.ts", + "sha256": "71da10ec21c7706a8264badedac9022c74b865887931e9e369168fe3233c3b2f" + }, + { + "file": "packages/artplayer/src/display/fullscreen-request.ts", + "sha256": "c6292ded96aab0f2dbc978af251f6cd9f5fd074819529ca498077db8d14e1bfe" + }, + { + "file": "packages/artplayer/src/display/mini-drag.ts", + "sha256": "73d2f48f868c0ba4d8d5e5df40cbbdb4698c26540f3973b178d9cd374008f1cb" + }, + { + "file": "packages/artplayer/src/display/mini-focus.ts", + "sha256": "1f717619e183b1cfab668bd2e41c8e9ba02210c94cdb58034ec97aa41e71aa34" + }, + { + "file": "packages/artplayer/src/display/mini-layout.ts", + "sha256": "3835fe3d314da2fc624cbeb0e79fcdfa5393f08d87dfde730d2eac4e827f405b" + }, + { + "file": "packages/artplayer/src/display/mini-view.ts", + "sha256": "bbe69e4419ffc0f6c744cb730a51778f23c311a0fac157223bcf8d8bf0f3edc7" + }, + { + "file": "packages/artplayer/src/display/mini.ts", + "sha256": "a6fed598428bbf8d52931f21bb68b7560a3643d2576f7e7bfbae98b2f7cdd1e5" + }, + { + "file": "packages/artplayer/src/display/native-fullscreen.ts", + "sha256": "323401f2b3ea5186da981a1215b1b9e7dcf4ef4261a8e885fe8ff0c090de6a7a" + }, + { + "file": "packages/artplayer/src/display/native-pip.ts", + "sha256": "647879ae027cc0ebe684daa31d75511dd882e123e4ca8da2942e659bae3719f2" + }, + { + "file": "packages/artplayer/src/display/orientation-native.ts", + "sha256": "909980ba837471d9b456545a18fb0ab19f0990e8788936f0580a4b332cd4baee" + }, + { + "file": "packages/artplayer/src/display/orientation-types.ts", + "sha256": "0d68d2bc99d04db1e2fdf16b74e406e31f8b7e03fd9b6ea271773ed263ffa890" + }, + { + "file": "packages/artplayer/src/display/orientation-web.ts", + "sha256": "aea55c3b9e8c708fe5559f07cf8f0afd7ad37ac5b1a43bf519245c3072ec4129" + }, + { + "file": "packages/artplayer/src/display/placement.ts", + "sha256": "dbe4491ebd0f46b4efe13ac567e476fcd9ca5b84da675f19025935b5e3f8d733" + }, + { + "file": "packages/artplayer/src/display/sizing-types.ts", + "sha256": "da9b3d957dafaca9331f7319257dd8156b3c3e7b6db11f33f11ded48512450ad" + }, + { + "file": "packages/artplayer/src/display/sizing.ts", + "sha256": "c19856976320f1f35ff5a1049d19a940768300e095270b336dd12861b200da2a" + }, + { + "file": "packages/artplayer/src/display/types.ts", + "sha256": "e88c868fd370fcc9dc612489992d446a8d0558bd87c26c5c05fdd73d8a3d1b02" + }, + { + "file": "packages/artplayer/src/display/video-fullscreen-state.ts", + "sha256": "5fcb5e6b80ac45577664ef67e0460e0ceefd4022cafacdd7434c376a86d619be" + }, + { + "file": "packages/artplayer/src/display/video-fullscreen.ts", + "sha256": "b425bf0df462524b5d3accc9e3df383c6635676c152bf4bef09c477a90662728" + }, + { + "file": "packages/artplayer/src/display/web-fullscreen.ts", + "sha256": "bc091e6dcfb28784dd40ea619ce1fb9061b9e85dcc5bf2b6a303679eee5c727d" + }, + { + "file": "packages/artplayer/src/display/webkit-pip.ts", + "sha256": "3617927b4bb8fa46f651d0e584141f804ae438e2b4531cc2e9cf9f7eeb027550" + }, + { + "file": "packages/artplayer/src/dom/event-path.ts", + "sha256": "e952ea847a2e844a79c5c1b83035e03917e0294b80b1eb8af3b3bec0d2f7d333" + }, + { + "file": "packages/artplayer/src/dom/measure.ts", + "sha256": "84a599351d26a790c5a8f6e7d271486a0a68d5b58457d8ce754d540b54902b96" + }, + { + "file": "packages/artplayer/src/dom/presentation.ts", + "sha256": "500bded394579dd8194778f73cc44d0724f0a59cb5400957491928534ed091c6" + }, + { + "file": "packages/artplayer/src/dom/styles.ts", + "sha256": "734e0a4e04d666417a18ac09ed6271ee7630c399d52d7f510a1c19fd6e7b3493" + }, + { + "file": "packages/artplayer/src/dom/tree.ts", + "sha256": "3bc517ab9fa5317a1445156d53afb27182685eb3b4c0ac2ff41bbde55c9eecb6" + }, + { + "file": "packages/artplayer/src/events/clickInit.ts", + "sha256": "bd1ba29fe0af4332ceb19297797c4c942a3a74bfd901998d6b93293f1b309300" + }, + { + "file": "packages/artplayer/src/events/core-types.ts", + "sha256": "a607a3b2eea1b031f23ec0f620f1f4cd68799c4a77138a1443ecb196b00d1662" + }, + { + "file": "packages/artplayer/src/events/gestureInit.ts", + "sha256": "9e9d1ac0da7f87e89dd0d86fa2820b980e9cb810782d6ab30017de8686fc910b" + }, + { + "file": "packages/artplayer/src/events/global-types.ts", + "sha256": "3f4672d7af959cfa34ba39aa84ce614f422901437686bba98b14f578df40021c" + }, + { + "file": "packages/artplayer/src/events/globalInit.ts", + "sha256": "6f6ea497a20a8fd0746b1f020caff76ad6817cd70a1a90fbaea12f992b6d03a7" + }, + { + "file": "packages/artplayer/src/events/hoverInit.ts", + "sha256": "d1250e0dd35a8ba8067275986acbe6320c22adf1a977ec1009c0c012ed1563fe" + }, + { + "file": "packages/artplayer/src/events/index.ts", + "sha256": "30d2286316dbd351e93f5a2234dcca84bf68ca28c05921169cca70c2e0b1ecf9" + }, + { + "file": "packages/artplayer/src/events/listener-registry.ts", + "sha256": "fb062df5151c4e8e970de469f1c7d9af948f72214d32c293c81a5feeb8406124" + }, + { + "file": "packages/artplayer/src/events/moveInit.ts", + "sha256": "da97591723f8b94a34702559b7ee67a35f172aa696d37dfbecd472581ad3de35" + }, + { + "file": "packages/artplayer/src/events/resizeInit.ts", + "sha256": "719e27d11d2f93fcbe8368393c9190e251fc86dd0c3c2919f60e9b3b1edd0192" + }, + { + "file": "packages/artplayer/src/events/scheduling-types.ts", + "sha256": "0fd98e94397064f32cae4c004d9932c006d2db69a7d6d9374ff174d74ff93cd4" + }, + { + "file": "packages/artplayer/src/events/subscriptions.ts", + "sha256": "98573ed6cce73a73467c0e7fdb8ddc45e66b6bdf684c38886749453b2002a1d8" + }, + { + "file": "packages/artplayer/src/events/types.ts", + "sha256": "df03625039605314a96ef15b5e3777cbb9d444fd317e1a2fbeaaa0f1e83f6b0f" + }, + { + "file": "packages/artplayer/src/events/updateInit.ts", + "sha256": "6f174db14d20319f03a76e6ea267a3d71973faac44a92483badfa4420791817a" + }, + { + "file": "packages/artplayer/src/events/viewInit.ts", + "sha256": "d77b83eab802ff0046a4966e28b810a25592bcada49f526adae37556c1e4c3e9" + }, + { + "file": "packages/artplayer/src/events/viewport.ts", + "sha256": "6196fccb8b08ae22bde732c4389d9aceb5d727a63efd87b6d3914e338aadc46f" + }, + { + "file": "packages/artplayer/src/hotkey.ts", + "sha256": "d8e477bf451143e566e1f743a5f253dcf00beb23544709794779f275e11498e8" + }, + { + "file": "packages/artplayer/src/i18n/ar.ts", + "sha256": "897d8935384da16c3c4e96480777fe7fc022f6e3c0d87f62f79ae5f3c98e228c" + }, + { + "file": "packages/artplayer/src/i18n/cs.ts", + "sha256": "cc154ee50d258495d04dd2d49e89e9c0166e8b368969c443ec80cb5e48cf357c" + }, + { + "file": "packages/artplayer/src/i18n/es.ts", + "sha256": "0ed0283cb78847d6d1674be8c8ffa45feab88beaa8dbd11954b793c7b1657c75" + }, + { + "file": "packages/artplayer/src/i18n/fa.ts", + "sha256": "a72e83717f2e3e8f19f1de82516aef4a54ea70563223637bcbb25d21e9eac084" + }, + { + "file": "packages/artplayer/src/i18n/fr.ts", + "sha256": "a7366c75530e87f069216e20a6f09da42f7e77fdce862c02b32acf311068124b" + }, + { + "file": "packages/artplayer/src/i18n/id.ts", + "sha256": "146bf4c4e5bb39d8e1eb1a6fe3c639eb3128c55789de20511201f8ec02c56c0e" + }, + { + "file": "packages/artplayer/src/i18n/index.ts", + "sha256": "09c6f5bce58e4118dde10e8b2a2d3808785b7fde913a54dd189e0b473e21266a" + }, + { + "file": "packages/artplayer/src/i18n/pl.ts", + "sha256": "420f3b620d5c7ccdeba7857872be6176239fdf5da30b9cc72341e85dc95c2c8d" + }, + { + "file": "packages/artplayer/src/i18n/publish.ts", + "sha256": "5b216bbe313b3cda56a5da41fba4fb9d095eeec0dc903fcf284ddd8f94926e99" + }, + { + "file": "packages/artplayer/src/i18n/ru.ts", + "sha256": "9a9f61e6a66b3cd884c609250bf765dcdbc850dae3270d8a1600a5c2542436d3" + }, + { + "file": "packages/artplayer/src/i18n/tr.ts", + "sha256": "631c262a5e6cd00fada5bf2e146007d845816e47edb7643ec792250a403e4ec6" + }, + { + "file": "packages/artplayer/src/i18n/vi.ts", + "sha256": "e6f3f8e53599e27755e162c76c3b049457aae7089eca73ee531986e67f517f6f" + }, + { + "file": "packages/artplayer/src/i18n/zh-cn.ts", + "sha256": "51eb75562ae1ae4e248e1db85c90bcbc69b388a177ada6cbf8c3196a2c343ac6" + }, + { + "file": "packages/artplayer/src/i18n/zh-tw.ts", + "sha256": "6b098739e27ad531172d0f13e53849be30e9936365ce9613a7d938d9f01cce53" + }, + { + "file": "packages/artplayer/src/icons/airplay.svg", + "sha256": "8c75a40f1bfacee2be2a425e132ff51f3712eba60679010f7b1349d4a04374bc" + }, + { + "file": "packages/artplayer/src/icons/arrow-left.svg", + "sha256": "8b9d544b7bd728d01747005fc7a2d63f822eed3b605393e2435b6733861b585f" + }, + { + "file": "packages/artplayer/src/icons/arrow-right.svg", + "sha256": "68c63d6d5810173ec9192c9e96ee7b6aefdc3b79d3c1329fb4d6c750f859fe10" + }, + { + "file": "packages/artplayer/src/icons/aspect-ratio.svg", + "sha256": "987752a87701523057d8dfa7c45a6a139c4542b96fdcfaf8665722bbeb41f3b2" + }, + { + "file": "packages/artplayer/src/icons/check.svg", + "sha256": "963ce0aee2337fdee951aa6c917cc75ee0b4e75158887ccc16baebfd3925942b" + }, + { + "file": "packages/artplayer/src/icons/close.svg", + "sha256": "ebabfe8044f48d5df4d13f4f906a163fd55a4d6f1dedb3b5ba95601209bc8888" + }, + { + "file": "packages/artplayer/src/icons/config.svg", + "sha256": "e1884d5411296b5cd1bfec7803b558b0afa5ab64478393977b07a662e2e0f15c" + }, + { + "file": "packages/artplayer/src/icons/defaults.ts", + "sha256": "31df862d754922fe5d68b20911c477d7c22893a6a67b5dcb1a48d3b437a0b23a" + }, + { + "file": "packages/artplayer/src/icons/error.svg", + "sha256": "b40c01e511a599c9dd369aeb9a3b2a0d1a76ef3c5ede8124cbbc23f8e4e7248c" + }, + { + "file": "packages/artplayer/src/icons/fast-forward.svg", + "sha256": "abef6fe4d75ffa74d3a84683373b4702a4eda2a5b4045952f969ee62cc68b0be" + }, + { + "file": "packages/artplayer/src/icons/flip.svg", + "sha256": "474a9d53a97add71e3fb7bc6530a68580ce63a1d83f9b75d1c2908a7cf494152" + }, + { + "file": "packages/artplayer/src/icons/fullscreen-off.svg", + "sha256": "71125ac56586897e2c0e52035a4d65cff34cf52043a95b45d186e0d268671399" + }, + { + "file": "packages/artplayer/src/icons/fullscreen-on.svg", + "sha256": "d46cdf265cac729c9b7382722ebe7a4c76d71ad4e5a27c2d5ed8323fd595ebf5" + }, + { + "file": "packages/artplayer/src/icons/fullscreen-web-off.svg", + "sha256": "52a6862ecd7cba12ab7042de5064c498bc2e9f86b430358c912401fafe4f4a98" + }, + { + "file": "packages/artplayer/src/icons/fullscreen-web-on.svg", + "sha256": "5cfaae62b61456251e771bff01356fad8376ebedb10a4b8819740f60e6e5a073" + }, + { + "file": "packages/artplayer/src/icons/index.ts", + "sha256": "7152126328f6e485ee92b6d924c34776518b4a3925b2887867b516f7523b15cc" + }, + { + "file": "packages/artplayer/src/icons/loading.svg", + "sha256": "485472153890eff3ed49963f7bf7d841f66ca2f40894c01d6e8bcf1bf4ad1c58" + }, + { + "file": "packages/artplayer/src/icons/lock.svg", + "sha256": "431e9a25fae051016be0efa286387ec3e5f7651c3ecf569bf0ece9842f57156c" + }, + { + "file": "packages/artplayer/src/icons/pause.svg", + "sha256": "57405dba81dd3d9f329d957fdc704101cbb6f6654325eb0083c03324c4453a68" + }, + { + "file": "packages/artplayer/src/icons/pip.svg", + "sha256": "1e922140e0941e5b9ef53dc0b4776813e1c470ea229fe3ec786fd148148c3352" + }, + { + "file": "packages/artplayer/src/icons/play.svg", + "sha256": "41a961c629a55cb25a813e115a25204e492d4e935a0879177e65d6e1ddfd6796" + }, + { + "file": "packages/artplayer/src/icons/playback-rate.svg", + "sha256": "872deecac0365ab04aeb5ccb1cdd9a0c88589a1442709fdac7c0ed12a241ff2b" + }, + { + "file": "packages/artplayer/src/icons/screenshot.svg", + "sha256": "538b5cd0c6b20afb98bd850e15019072d652d191075c2869f2fc0f28b597b131" + }, + { + "file": "packages/artplayer/src/icons/setting.svg", + "sha256": "2976b00d1f03e78f28d0e55ebcb01d5a0746ec1a6ff8de97a5e8294bacdd1fad" + }, + { + "file": "packages/artplayer/src/icons/state.svg", + "sha256": "620a127f74bb5e249993bd7008c027373263eacb4a44af8adeaa0d7523346887" + }, + { + "file": "packages/artplayer/src/icons/switch-off.svg", + "sha256": "95a8d81a4a3bfcf7c016d5f71d46a72be73c5e94790c55fd1d31023416ef5deb" + }, + { + "file": "packages/artplayer/src/icons/switch-on.svg", + "sha256": "cccd0f9c1e54d9ac50c323360da944d8ff44633a82ff17889914b6bc8b1652ae" + }, + { + "file": "packages/artplayer/src/icons/unlock.svg", + "sha256": "fc058db3d99a475fb9ffbbbb6248978a95990a9c532b83d0955ac28eaa626c60" + }, + { + "file": "packages/artplayer/src/icons/volume-close.svg", + "sha256": "f7e100fd9e9f3f6e06afe5bc994d5d9305ee4d1ee23fae37e4108cf286dab379" + }, + { + "file": "packages/artplayer/src/icons/volume.svg", + "sha256": "3a78f40d8b48595e8f15d9189e4d767e0c7abbf0338d3f2db1ac810049dd3942" + }, + { + "file": "packages/artplayer/src/image/load.ts", + "sha256": "b4f1517243249d5fb017b89f993660e8b148906bbf28d08fe5c9f6d3a41e1e88" + }, + { + "file": "packages/artplayer/src/index.ts", + "sha256": "20cfe3738b3ce7e11b69721a5f0bdad9db77807417d8e421397a40dfade4c047" + }, + { + "file": "packages/artplayer/src/info.ts", + "sha256": "6594ff3ee5643d63fec874631865d0e35b4ebdcf8aeafdd9fd3d9c595cfa3713" + }, + { + "file": "packages/artplayer/src/info/keyboard.ts", + "sha256": "13a6f617514388b4d14e0bf752780937f2baf545edb216b8259f56a198112c83" + }, + { + "file": "packages/artplayer/src/info/poll.ts", + "sha256": "d26ff67d9eadf1e032445371dde6f15293a7fc0b2ae6b87c3815e4b4e1ed5dda" + }, + { + "file": "packages/artplayer/src/input/gesture-controller.ts", + "sha256": "1ebbd18184771a623b02ec19c363f84dcc72fdb7cd82bcf2adc97f4a138cb2b4" + }, + { + "file": "packages/artplayer/src/input/gesture-direction.ts", + "sha256": "65737f60e177338ebb3337a13ca75aeae77d77e94bc21495ddb829cc30de33a7" + }, + { + "file": "packages/artplayer/src/input/gesture-types.ts", + "sha256": "5ed25db69e0d9579a2fc0ab6faadf00fa073ad73a1ea5aa48096b4430c71141a" + }, + { + "file": "packages/artplayer/src/input/hotkey-defaults.ts", + "sha256": "c28e14821e5c7f7ac92a302e92439ab68fe77d5ef7d90a36b147b7c979ab96c6" + }, + { + "file": "packages/artplayer/src/input/hotkey-types.ts", + "sha256": "c7232470d725f3700481ab98bf9203403a67f1ab82e72394baa9c3ad6f3c9a4b" + }, + { + "file": "packages/artplayer/src/input/keyboard-focus.ts", + "sha256": "270c9dba40c0eb6d9fb36118b53e7f1d42a301ba4514917849523b6a05ed9e11" + }, + { + "file": "packages/artplayer/src/input/long-press.ts", + "sha256": "110cf16cf9dae845597377ebbc43249e103cbc0ece56f89e44ec6ecc7f3819b0" + }, + { + "file": "packages/artplayer/src/input/pointer-focus.ts", + "sha256": "802087098c786135eefa6727f13177ffe4a98e2abf48fad0e356b91e26960077" + }, + { + "file": "packages/artplayer/src/input/pointer-types.ts", + "sha256": "63e679498f8f42f6842f63e910c38717ac3438d58df3a75ef5b77c009b7931d4" + }, + { + "file": "packages/artplayer/src/layer.ts", + "sha256": "4014268eed043d5dd7b925cdeef6245e357cda67192a1301c5612ef98cdbec12" + }, + { + "file": "packages/artplayer/src/libs/screenfull.js", + "sha256": "2332b50c0c6364d5c99080be0f5739255e4b9e465d2cca40f761adce9a1908f8" + }, + { + "file": "packages/artplayer/src/lifecycle/instance.ts", + "sha256": "3168f7db4271bae7a242e80798546b755ac15443e15dd9ebb7675f5a259299d8" + }, + { + "file": "packages/artplayer/src/lifecycle/resources.ts", + "sha256": "b743daeffb676bb0b31932c3198fa9cf842f5e9015344659594ffffe1a56ba23" + }, + { + "file": "packages/artplayer/src/lifecycle/scope.ts", + "sha256": "e2188e8544b27cf8c7ac149e7146af628a2d6166c82b719a247adef5d85be5db" + }, + { + "file": "packages/artplayer/src/lifecycle/template-rollback.ts", + "sha256": "7a83da6739bcec1587b02f8157934988910d7f9103fe489a0d6f4f65290c3d77" + }, + { + "file": "packages/artplayer/src/loading.ts", + "sha256": "216fa5e2af5be5fcbf95a1578c869553a02f625683a98333d4a404f9a70df9f5" + }, + { + "file": "packages/artplayer/src/mask.ts", + "sha256": "500b8c2fb5ded63d5acab3c984fc9757f28a8b6cbd4d5beeac8c5a6d73ca63e4" + }, + { + "file": "packages/artplayer/src/media/events/forward.ts", + "sha256": "6b1b7e80036bfb523b51843dc6ec6d83c2b949cefb9cef085b2d679a444e46d8" + }, + { + "file": "packages/artplayer/src/media/events/listen.ts", + "sha256": "4eb7e943c1ebca77da8025d83b7d408276187cd02860b7793284344378bd0fe0" + }, + { + "file": "packages/artplayer/src/media/events/playback.ts", + "sha256": "2c68e4f6274a0dc65e56d42c928e500fc1d63bf3e03bbdd8a83c3f3ed7ae8ee4" + }, + { + "file": "packages/artplayer/src/media/events/readiness.ts", + "sha256": "3ba74f26dd9ff0729967097c2cb6f329a9cea57745bfe8173f9173e0d134476a" + }, + { + "file": "packages/artplayer/src/media/events/reconnect.ts", + "sha256": "876027b5116d0d3628755705682b30630f4b713199ed8015541932d81d2944be" + }, + { + "file": "packages/artplayer/src/media/events/types.ts", + "sha256": "02bd29ad8b158fa04ce5c1524e397260ef24b94c2cf1f053e7bd02b23e5d29dd" + }, + { + "file": "packages/artplayer/src/media/hosts.ts", + "sha256": "498d1cde31bf9ee12af1f13523eb0a4553adb285264529378abba5b629829e9a" + }, + { + "file": "packages/artplayer/src/media/playback.ts", + "sha256": "b0364027e1ea26e44e435a938e93c022836885c2622cda6bc3a7ca791d3c2964" + }, + { + "file": "packages/artplayer/src/media/position-revision.ts", + "sha256": "ba074cce7e7c6bda84aa234de8eb315e5ca482aa9b06250896f9ac6251192851" + }, + { + "file": "packages/artplayer/src/media/types.ts", + "sha256": "96d4a7f066cbb6fb9138165dd736b4ca500cb19c827bd7702134d61c44cc0e87" + }, + { + "file": "packages/artplayer/src/notice.ts", + "sha256": "4faa700323a8fdfd91a59491a5f57da2dee9bd1f2de0d900ed16e9809a208c94" + }, + { + "file": "packages/artplayer/src/option/defaults.ts", + "sha256": "f357ef80cf32085fcbc3409d92dfa27b31c13fbcf823f576052c0347911c0cca" + }, + { + "file": "packages/artplayer/src/option/resolve.ts", + "sha256": "53a73627cd540e3f21349c0a43beda35ea5195647a31e3f5b30ac292390b4b1b" + }, + { + "file": "packages/artplayer/src/option/runtime.ts", + "sha256": "d1bcc7682da05a74d7af173304e47f71ba9eb59e5351436040e9dbdef5c58fa8" + }, + { + "file": "packages/artplayer/src/option/types.ts", + "sha256": "f2ce01c01acf45fac6cbb34685b8e6c321bcad6b0da2526f3f189eb5962ea0e5" + }, + { + "file": "packages/artplayer/src/player/airplayMix.ts", + "sha256": "bfa30e1dcd7cbaef97e977344e8a35524fad6bd23089cd8e45945e3b32b4bf04" + }, + { + "file": "packages/artplayer/src/player/aspectRatioMix.ts", + "sha256": "9e5e7365d469aeaef65a6010cb92734702191f9086b2f21d98c9f0ad7f356898" + }, + { + "file": "packages/artplayer/src/player/attrMix.ts", + "sha256": "d82150611a69423ed46bf673f44c3e0f61e80425026effd486a6951b6c0dd90c" + }, + { + "file": "packages/artplayer/src/player/autoHeightMix.ts", + "sha256": "5848e34cd826f5d4cc81d076c83fb3bcea0aed1228cd93a1edb6b8ca402ad175" + }, + { + "file": "packages/artplayer/src/player/autoSizeMix.ts", + "sha256": "6373a8ea7fff4cd875d17c5d3df6dc37764055ab77850a6c6348526969071cbb" + }, + { + "file": "packages/artplayer/src/player/cssVarMix.ts", + "sha256": "0d023f28b7a8b4c1a5e2c4dd5672ef4294c86bce0013babd9d52efa32a443b2a" + }, + { + "file": "packages/artplayer/src/player/currentTimeMix.ts", + "sha256": "cc374abeb85b203b9f31c566a6b9e53a4a1723d609fccc7b0c9c210993b79e75" + }, + { + "file": "packages/artplayer/src/player/durationMix.ts", + "sha256": "60a9d665cf302dcb6b3e37e2f057e31720935e5e588fd7709231f691f6014191" + }, + { + "file": "packages/artplayer/src/player/eventInit.ts", + "sha256": "a915c5a618e70b1ab10536b1273ba0fea4ec11d3a2ca629b538e90b5ad2b55f9" + }, + { + "file": "packages/artplayer/src/player/flipMix.ts", + "sha256": "a1519c83f8c9437a9b7e99a59e38a3d931032c579f4085226fc0955c7c9eab67" + }, + { + "file": "packages/artplayer/src/player/fullscreenMix.ts", + "sha256": "b339bebb4c87f7b75232d7e0d637ebe25bd09a0a0428ba87339a16af5daa71aa" + }, + { + "file": "packages/artplayer/src/player/fullscreenWebMix.ts", + "sha256": "75b83a6093c7887ca8725f63c55503d0bf3aafdbbf2347b579120cb257503555" + }, + { + "file": "packages/artplayer/src/player/index.ts", + "sha256": "359943c88dc99863e510fc0d51f8e8ee2397217e68045f755d4e9538579bdaec" + }, + { + "file": "packages/artplayer/src/player/loadedMix.ts", + "sha256": "6a4c4a08ed74346dad3e138b1dda22c8c9c12f175fe6d00da41b89c78cbe2c18" + }, + { + "file": "packages/artplayer/src/player/miniMix.ts", + "sha256": "d68a0c4f6c6059d5831d2d1fd4823b8d3cbce95eefd6d36d38670d6d8720f44e" + }, + { + "file": "packages/artplayer/src/player/optionInit.ts", + "sha256": "7c1c47679ee6201d0e0d203fc7b449a09309e7b24a0a1099ad259a70fc1b1a35" + }, + { + "file": "packages/artplayer/src/player/pauseMix.ts", + "sha256": "f4fa2b1f05b84ebd27bec9cff5a151addf096dd9b32a38122fb2f1829def0043" + }, + { + "file": "packages/artplayer/src/player/pipMix.ts", + "sha256": "63dfb29ffd66ce7d081b24f8e8bf697c041675b49ab8919e206d2df5132de236" + }, + { + "file": "packages/artplayer/src/player/playMix.ts", + "sha256": "2d46a3f84da0b1dd18139b76e5e2e163f1d9d9c8f54e67807eeec672acd49917" + }, + { + "file": "packages/artplayer/src/player/playbackRateMix.ts", + "sha256": "e185c6ff52cd567f7fd7c30553bbd6c65517324d1d16c4948c3623ef457ef536" + }, + { + "file": "packages/artplayer/src/player/playedMix.ts", + "sha256": "5b6b89bf8dec1efb19cd51e46af1505bae006bdb3fb798e9dec7e3fb5cf0acaa" + }, + { + "file": "packages/artplayer/src/player/playingMix.ts", + "sha256": "968c9f6e6d23c233c77d62a593db64adcc6d1a2411f5f1c61a35c6996d6a54d9" + }, + { + "file": "packages/artplayer/src/player/posterMix.ts", + "sha256": "d569dc24e8e64efe398bd76942bfaf563ffbf64d2a7387ea2e1cb1cf511183d4" + }, + { + "file": "packages/artplayer/src/player/properties.ts", + "sha256": "76806d6273545ff556cf9c6d341b59b9041455a8ecbe1fd40510e841c0d5710b" + }, + { + "file": "packages/artplayer/src/player/qualityMix.ts", + "sha256": "980ff584c8a5793f5ec9f049f144df31d184d7c9acef49fbe9d504b7657a96bb" + }, + { + "file": "packages/artplayer/src/player/rectMix.ts", + "sha256": "a741ee09fa3271df84363c5d73eac1b2e5adb39491f95f8112af81f1219ffed4" + }, + { + "file": "packages/artplayer/src/player/screenshotMix.ts", + "sha256": "1754bbce09f713204c120cd4657b52c06eb09eb1fe3244f84474e5967cd68e50" + }, + { + "file": "packages/artplayer/src/player/seekMix.ts", + "sha256": "e6e1bf00e8441f1ce58d2a67a66f7e5e98c86d78620ff10a5e6268d54f13fadb" + }, + { + "file": "packages/artplayer/src/player/stateMix.ts", + "sha256": "e45b3209a93ab14665d19c5740d5c632187e9fe234b019a2a0263e26884ab3b2" + }, + { + "file": "packages/artplayer/src/player/subtitleOffsetMix.ts", + "sha256": "e7866cf3a6d9fe271a4c34973f7a961542a738e89a3647df85197cee5853ce8b" + }, + { + "file": "packages/artplayer/src/player/switchMix.ts", + "sha256": "b47e174ef0edb2b96ff29f2ddd3c9f2dd2a38713db2a81002b18c89ce71994e9" + }, + { + "file": "packages/artplayer/src/player/themeMix.ts", + "sha256": "5bf11bcf8b77cd5d5f2970bc3edcee315c693c1be3d567770d5107a5951cb48f" + }, + { + "file": "packages/artplayer/src/player/thumbnailsMix.ts", + "sha256": "6c097d7d00779a6d0d3d65cf9ffd126624a48c9bdb98396c84c39f4de4bdf712" + }, + { + "file": "packages/artplayer/src/player/toggleMix.ts", + "sha256": "a3050136248e7d0b942387484c61286ac2b33a90724b1dc3460f5061be76f247" + }, + { + "file": "packages/artplayer/src/player/typeMix.ts", + "sha256": "c2a234a9c09f0269a4bd0659087635995945075ac70a5cf2478c8a135fc1b2fe" + }, + { + "file": "packages/artplayer/src/player/urlMix.ts", + "sha256": "726a42899261879e03c8b1d4f716458bf3e6e614cecc3bb8d7a581afc2b7866d" + }, + { + "file": "packages/artplayer/src/player/volumeMix.ts", + "sha256": "d830bb27b984e0ab2f687943fb49abcbd0331d71fe96049fd81edbddaa64f07f" + }, + { + "file": "packages/artplayer/src/plugins/auto-playback/prompt.ts", + "sha256": "58c6dcaf540296ee6f6bdeeda38ee7302aca2b06ddb152b716c0c2bf9c6c96b4" + }, + { + "file": "packages/artplayer/src/plugins/auto-playback/records.ts", + "sha256": "133a4ba2fd2d3df724d96eb203d05cffb0b82ecb8de72403974f7979bd37ce01" + }, + { + "file": "packages/artplayer/src/plugins/autoOrientation.ts", + "sha256": "4a13b0c010ea7a5002e66c422260ed24bb0d18b3ed41ce10974ac7ca2804cc09" + }, + { + "file": "packages/artplayer/src/plugins/autoPlayback.ts", + "sha256": "e349010813bbcd53503383b707c5f6e6e60d8ade6442d020fe6ba07a128c3122" + }, + { + "file": "packages/artplayer/src/plugins/builtins.ts", + "sha256": "4631c9775732982dfdc87e16b1bd6b41a350be36fb27e0a9132c11a85b0c016d" + }, + { + "file": "packages/artplayer/src/plugins/fastForward.ts", + "sha256": "74c03e3fcfe2f87dcb0ef1a5da5410cb96322509fd07e32930128584c54f62b5" + }, + { + "file": "packages/artplayer/src/plugins/index.ts", + "sha256": "4c97f354769bbcb338263f321876a90745a87a9af2d267e216bd3d9d007f268a" + }, + { + "file": "packages/artplayer/src/plugins/lock-keyboard.ts", + "sha256": "d59ac2fc9d0daf48c7946e0b49698a74e01f5f55e903c1b090fbda5516cbd16f" + }, + { + "file": "packages/artplayer/src/plugins/lock.ts", + "sha256": "8f5fe4469787b7b2a0a302d0fbd925f8eb6d1b261cae6e17367e4d97666a096c" + }, + { + "file": "packages/artplayer/src/plugins/miniProgressBar.ts", + "sha256": "21b4850fcaf6b0e82d5e62ca7aca60c179c578f7ff6d5606e6025628ff4b1cc7" + }, + { + "file": "packages/artplayer/src/plugins/registration.ts", + "sha256": "9891686c32aeaa33c48ca500cf30ab24ffbb0835c6248769b4c645a5ff20129b" + }, + { + "file": "packages/artplayer/src/plugins/types.ts", + "sha256": "6823098d5ec1bf053f60ddfdd36bfcd3f06f3b528cc5dd30fd676a1318dac590" + }, + { + "file": "packages/artplayer/src/scheme/index.ts", + "sha256": "dc4a3b5e08478cf72b46b0b59c023359ad5f79b891ea8a6a119ce24a5251821a" + }, + { + "file": "packages/artplayer/src/setting/activity.ts", + "sha256": "699ceed4bdeddb6d48eacf79c8dbf737f5d2d8c4983be70205322b14807a91b7" + }, + { + "file": "packages/artplayer/src/setting/aspectRatio.ts", + "sha256": "a16eb58fadf77f0a9009cf162d957ffd59d9b8fde83cc193d510fd642e3456cb" + }, + { + "file": "packages/artplayer/src/setting/checkpoint.ts", + "sha256": "9d3bff311f9b15c067ca49661af4f48de939f266b8077e7c2f0d66edef22dde6" + }, + { + "file": "packages/artplayer/src/setting/events.ts", + "sha256": "f7a3347ca146232caf2a8c9a5a18731cf7bc91dca4cd36370e0265c6eb70df53" + }, + { + "file": "packages/artplayer/src/setting/flip.ts", + "sha256": "e72a4ae33300d9e48880897a4f85a04fa6d9a5fff7b06ecaf9081cfb1bb14404" + }, + { + "file": "packages/artplayer/src/setting/index.ts", + "sha256": "f6319af15ebe3600a466123dd9d343b86a8d6ed201693ac7ac86dc1d674d477f" + }, + { + "file": "packages/artplayer/src/setting/keyboard-focus.ts", + "sha256": "b9af20f66342e10564ef606d75550e9eb9c65274af615ff5719598a0620464a3" + }, + { + "file": "packages/artplayer/src/setting/keyboard-item.ts", + "sha256": "d94bfc0266486615ddb79b9eee3886f48891ebb2e5f465652ef98f142ada89d2" + }, + { + "file": "packages/artplayer/src/setting/keyboard.ts", + "sha256": "5a2c717d9ecd368efb1bab2562e8d8a06af7607e9fe6d96c1be4d8d58212d395" + }, + { + "file": "packages/artplayer/src/setting/layout.ts", + "sha256": "584604e8fffaeaf1d633d1ed45e64d94595c2a56976e3a3f7ede01839b83a37d" + }, + { + "file": "packages/artplayer/src/setting/model.ts", + "sha256": "c47348f0f9494c4ce8ea5561bcde6eb698fb11e9197ccdc1ca1359a6d5e370dd" + }, + { + "file": "packages/artplayer/src/setting/panels.ts", + "sha256": "64d48720971763985a2a652a18c2ed2f32300c3553d56b52049ae40c4dfceae1" + }, + { + "file": "packages/artplayer/src/setting/playbackRate.ts", + "sha256": "2e70e0d2a33cb0ec9fcdd6d22424979fed7b2e01f87015d6be4e520d5cf4e88a" + }, + { + "file": "packages/artplayer/src/setting/registration.ts", + "sha256": "c29db62b5d90e0efa4a926c753015e65e96a47add3f5b8840ee51017052edf7c" + }, + { + "file": "packages/artplayer/src/setting/render.ts", + "sha256": "ed73745f2c7e2d76bbe8ce7202336e5f4de217dc8f0806b769127cb25316faba" + }, + { + "file": "packages/artplayer/src/setting/resources.ts", + "sha256": "64c28cc2cb08cb87b0864ab957d7999bc94931be4788f282d6f190b8806a81fd" + }, + { + "file": "packages/artplayer/src/setting/selection.ts", + "sha256": "a642e630924eaf4ad91705fad1fa6e6dc946b32970d809a23da274399fce20ef" + }, + { + "file": "packages/artplayer/src/setting/subtitleOffset.ts", + "sha256": "86513835d4e542ac39e9d551507473e3e14c71fd0d5ea725267008ecbff6ab83" + }, + { + "file": "packages/artplayer/src/setting/types.ts", + "sha256": "21a07d75a28bbbe20b3e107b6f1a09cb6f8ef2773ea10a4bd7caa88956e9b99c" + }, + { + "file": "packages/artplayer/src/setting/update.ts", + "sha256": "79326cb55c52243a7aa8df347a3b081dcd84eb7932fc6162061cc0d9f7078add" + }, + { + "file": "packages/artplayer/src/source/listen.ts", + "sha256": "c0596b98258c1544c8e4b762509646428450e56588da36908cb8583b8b716c37" + }, + { + "file": "packages/artplayer/src/source/operation.ts", + "sha256": "a8d0b89fc706c4ef0ccdd6d94b220207e92b3d3bd3b42b55c90f9bd191f15cf6" + }, + { + "file": "packages/artplayer/src/source/restore-position.ts", + "sha256": "da98a47e8419b33069191e51fc94cc9652302ee4f3eff8ccc7a6dbd4c4c0e2bc" + }, + { + "file": "packages/artplayer/src/source/switch.ts", + "sha256": "c66a3db4ba52dcdb46e1f6ab1f350588a07f64d893423d3f135d9768bed74ab6" + }, + { + "file": "packages/artplayer/src/source/types.ts", + "sha256": "e5fa3a9cd6b84dffbbb02f61aad966d6046204d857de3e4564c795f02a0259ff" + }, + { + "file": "packages/artplayer/src/storage.ts", + "sha256": "9c0a0f3d8ac18261db6e49b2ea14322d1d53bfec3531c7337b85005e708fef30" + }, + { + "file": "packages/artplayer/src/style/accessibility.less", + "sha256": "eb9cfe282c64a059d2e102280750bcd33ac33726fa09042eb9875f534335efef" + }, + { + "file": "packages/artplayer/src/style/artplayer.less", + "sha256": "4e8513138d5d10c05b66986977d24ed17f1de3c0df3816dec6d90db7a97b5da3" + }, + { + "file": "packages/artplayer/src/style/aspectRatio.less", + "sha256": "091931a0cdc83e65a669332811ef3276b85bca9e55f7fff42aa46893d728c1ef" + }, + { + "file": "packages/artplayer/src/style/backdrop.less", + "sha256": "6c2cd0fa200d1f3525df98c3c56dbdc553445724aece3feb0386949245813343" + }, + { + "file": "packages/artplayer/src/style/bottom.less", + "sha256": "6fb307d8449fd04b804d5e72ea0f175f8aa9c9dd2bf1efbf756f800b39ac97ab" + }, + { + "file": "packages/artplayer/src/style/contextmenu.less", + "sha256": "70f6c7e26dc96652b659c7bf6fdad92737ed477dea69d253c57dc7266c76586d" + }, + { + "file": "packages/artplayer/src/style/controls.less", + "sha256": "eb6d4bf4e4ff903d724d45f3ff60f0cf10c02e622fba195555a8179100cdce87" + }, + { + "file": "packages/artplayer/src/style/danmuku.less", + "sha256": "e4215ee9fa2f1d0599e7311a2415cc975138265b7c6af0448d27d21b6c9e3511" + }, + { + "file": "packages/artplayer/src/style/flip.less", + "sha256": "5d3c7a81df9be455c2f683ebf48f39597d218dc2144addacb72ee1736bac3b7f" + }, + { + "file": "packages/artplayer/src/style/fullscreen.less", + "sha256": "dd350d3a0fc556d59b622a53c786b8c2a583e8fb28176e4b9e91baff90479496" + }, + { + "file": "packages/artplayer/src/style/fullscreenWeb.less", + "sha256": "d74e785c2fbbb2976e131620e751326f622f2916eceff9f2333059ca3296cdc9" + }, + { + "file": "packages/artplayer/src/style/hideCursor.less", + "sha256": "09a4607c8b0005dc199828172aa8dda395f861e407769b9696d793476c4a7823" + }, + { + "file": "packages/artplayer/src/style/hint.less", + "sha256": "ae9f3115dfdb1e2d7b8249497c080e6a25f9667f915f6e89820338d67bbc2d85" + }, + { + "file": "packages/artplayer/src/style/icon.less", + "sha256": "52d8f75c1d193e6160f57ca6997c3f9135adad8eb2338ed60c1eb8e5fe443be5" + }, + { + "file": "packages/artplayer/src/style/index.less", + "sha256": "7fece0bc5b5a106d051eb80152d5e4558f2e73953c4c33175aa901b9695be61b" + }, + { + "file": "packages/artplayer/src/style/index.ts", + "sha256": "856afc037ffcd4d18c4b54901ddbb30e310014553fe9d19560e34fb54b8378c1" + }, + { + "file": "packages/artplayer/src/style/info.less", + "sha256": "fa56d1b8c8936218e581b2426026e4ba85cd5fea20d045c4f69aca96be4059be" + }, + { + "file": "packages/artplayer/src/style/inject.ts", + "sha256": "9cddbe51b5de0da74f27c045ab982b509c3854cc6b81eeb02a6b974914760a4d" + }, + { + "file": "packages/artplayer/src/style/layers.less", + "sha256": "9653c581190bb22d60a706109819cd010908898740701c9526957b5682991c5f" + }, + { + "file": "packages/artplayer/src/style/loading.less", + "sha256": "185b0f05274196ba71fdb1d088b55af568f3342a495490c99c3f0e058a40659e" + }, + { + "file": "packages/artplayer/src/style/mask.less", + "sha256": "d1239a171b71ea6184cb4aee6660d74d6ffc0c48f7c47c3cf5fbe52d2e93ac92" + }, + { + "file": "packages/artplayer/src/style/mini.less", + "sha256": "8be782a3054154ab908b1cce650b6131330cf0f0e936b749accb4b2dfe605a27" + }, + { + "file": "packages/artplayer/src/style/mixins.less", + "sha256": "c6be95aa682f266749fe37cb89796fbec6488abc537174f817da79bdac6e00b5" + }, + { + "file": "packages/artplayer/src/style/mobile.less", + "sha256": "ff3f64fca5d2dd7ddd50385d88d9b2fa1a645909488ab7a0978ba4f1670b7c0e" + }, + { + "file": "packages/artplayer/src/style/notice.less", + "sha256": "72a935c0effc557a9d7ab3baccb2c3b77fc3a1783450b4e3178a40a5325fe369" + }, + { + "file": "packages/artplayer/src/style/plugins.less", + "sha256": "ea345094ea5708dd3a3c290f357dbb301b38af35464d213c47e3ec6c60eaadca" + }, + { + "file": "packages/artplayer/src/style/poster.less", + "sha256": "36b38fe138f8c9537ff4e93f7ec4f2dbdba1ec41d243d741ddf1da7c6581e546" + }, + { + "file": "packages/artplayer/src/style/progress.less", + "sha256": "59b9d95d49dbcb1be40752d7086239b6de5925b0574da231199d999e22ff4990" + }, + { + "file": "packages/artplayer/src/style/selector.less", + "sha256": "44585c6b0179e34d21eeefce6d3494faacc0e9d108079426876e8847fd441513" + }, + { + "file": "packages/artplayer/src/style/setting.less", + "sha256": "5618eb443ab6368bc4a18e9a379ce6552629555cdca6074e753aa6fd7baf9bf9" + }, + { + "file": "packages/artplayer/src/style/subtitle.less", + "sha256": "273cacb63ec0214ba434dcf19a4a455dbbdd408fb2d1749de4878804c1371e41" + }, + { + "file": "packages/artplayer/src/style/variables.less", + "sha256": "703739b2bdfc77bfde063d8788ef6b6a55b8730764baae8e7d755b7c54d8ecc7" + }, + { + "file": "packages/artplayer/src/style/video.less", + "sha256": "b89c6f6e27592d49825c68c9ab98d46e81cb1e5add855863f89d19637f98e35f" + }, + { + "file": "packages/artplayer/src/style/volume.less", + "sha256": "6e99bbe0dbcb40667ef99789b65812dc9c94ce8a1071c00d2edec5eba041c434" + }, + { + "file": "packages/artplayer/src/subtitle/index.ts", + "sha256": "b4ead680dc82fa47c53d1ec7e5fb8bf94abbf55730d5d1130ad8d544cb42adc8" + }, + { + "file": "packages/artplayer/src/subtitle/parse.ts", + "sha256": "7db540c5edb1d2312eed82757fd15a7ce6a28996ba20d0087e56730f21dede74" + }, + { + "file": "packages/artplayer/src/subtitle/render.ts", + "sha256": "96493fc35680af635a8db225a8bf002208df79ed48b1d4ee6cc73587543add5c" + }, + { + "file": "packages/artplayer/src/subtitle/request.ts", + "sha256": "543c964571bd5ab984bc1adc9f64a8917dd134ed2892ad10b30ed9c859f34119" + }, + { + "file": "packages/artplayer/src/subtitle/state.ts", + "sha256": "9f79b982d66747170bc39bdaf99b65676310965f23da62a4dec15547c756a56b" + }, + { + "file": "packages/artplayer/src/subtitle/track.ts", + "sha256": "707f4c43af4ebf4b87521f6f577168460e739274d0cec28b9efe5704d2540d18" + }, + { + "file": "packages/artplayer/src/subtitle/types.ts", + "sha256": "615e389b4bb36196a69a059eb04cf7e519cdac13d2da15e4374fede2f3b6631b" + }, + { + "file": "packages/artplayer/src/template.ts", + "sha256": "0ea9155b9292d4c528a464d3c97996ee5a1c9c4aabc2959a744989085db2251b" + }, + { + "file": "packages/artplayer/src/template/html.ts", + "sha256": "351c472bfd01fa5ba1a4e347ed31bd5faaf823d9b4c5cab1ce8c651e3b175021" + }, + { + "file": "packages/artplayer/src/template/nodes.ts", + "sha256": "1572746a636647e4d313cc8752d3a110ff81fddb390ad7b0feb6a0db0d42b9d4" + }, + { + "file": "packages/artplayer/src/template/types.ts", + "sha256": "2bf906b4a209e17dae4d79225e758e2e53772e93f19f188d0131051ea2a0143a" + }, + { + "file": "packages/artplayer/src/thumbnails/layout.ts", + "sha256": "6630439242a880f53fcb374b7b15c7f486405aab8a0fad651b137f02971eeb59" + }, + { + "file": "packages/artplayer/src/utils/compatibility.ts", + "sha256": "1fd2a5b17ee3245712eda961d3c0a15caf3c428010112e48231890176ce1e5e2" + }, + { + "file": "packages/artplayer/src/utils/component.ts", + "sha256": "c3fa96467e8b315d974a42a19591aa4a4a7514853db796135b2acbcdcb160ea3" + }, + { + "file": "packages/artplayer/src/utils/dom.ts", + "sha256": "72f3539dabf296df37ab4cc7ade0c8ac9480f399987101589450c787e7d6719b" + }, + { + "file": "packages/artplayer/src/utils/emitter.ts", + "sha256": "26a93d3ff35b53e71a5f3bb22c252a854559d8151ede50a66a28d9eefae6c008" + }, + { + "file": "packages/artplayer/src/utils/error.ts", + "sha256": "ba303c7d4e4228919088f9d608fa364596f5853ee646eda2008deee354866f38" + }, + { + "file": "packages/artplayer/src/utils/file.ts", + "sha256": "ea71d7fc0e818d473bf5a596211ba9d571e4febdf1878014eadefa8d0a98d4cc" + }, + { + "file": "packages/artplayer/src/utils/format.ts", + "sha256": "891df5b7542b713aef46bf2b93924f42e68eee574afd802db3e6c62ff2655ede" + }, + { + "file": "packages/artplayer/src/utils/index.ts", + "sha256": "5211af833dddb2937d25dcc772740d62f9d5c5039ce5505bffff0796d4afd756" + }, + { + "file": "packages/artplayer/src/utils/property.ts", + "sha256": "c737d4582a4382f4038d12dafdf8b43418e508c9b8b859b2f0cc17c20f370343" + }, + { + "file": "packages/artplayer/src/utils/subtitle.ts", + "sha256": "f058851d11a418e321a8a498472b67fa535fec2c7b5d3df739b6b4f263d00337" + }, + { + "file": "packages/artplayer/src/utils/time.ts", + "sha256": "b8ce3d50865f6c343e8e3ce9f5c87de565a87b4e9fbcbccbe7030e30e80b93fe" + }, + { + "file": "packages/artplayer/types/COMPATIBILITY.md", + "sha256": "a7da9e102a116104b513df4f7451247b7759bc502d3375f30bd5b14a541826e0" + }, + { + "file": "packages/artplayer/types/README.md", + "sha256": "1bd9868e773610e6312fd48a1c5aa20772d29df0af40c3db66e75b7ab4a1aee0" + }, + { + "file": "packages/artplayer/types/artplayer.d.cts", + "sha256": "3685065e4263abcfd9d953176e461d5b3eb990b0363b54689a7f55deba770fef" + }, + { + "file": "packages/artplayer/types/artplayer.d.mts", + "sha256": "b664fec51ee5c5381f2ceab25d99d52aee56feab04a2ee7b4ea5b2145ea5fa0e" + }, + { + "file": "packages/artplayer/types/artplayer.d.ts", + "sha256": "5d0162adf7ac6d0f2bb9b5cfe361f28657c4d9c540cadbf36eba3cc954ce50f8" + }, + { + "file": "packages/artplayer/types/component.d.ts", + "sha256": "ae5bc1ddeaa1ee1ebbc62573e32423993727079205c64751a5a314170e588a32" + }, + { + "file": "packages/artplayer/types/config.d.ts", + "sha256": "36f9a84cd436f17701a0d11d3417fc1fe0414e0c52c80083b94a85dfc329e37e" + }, + { + "file": "packages/artplayer/types/cssVar.d.ts", + "sha256": "93217860fff2ebf750f606d95ddd22220a58837119e63bdf2f5f78fd7488458b" + }, + { + "file": "packages/artplayer/types/emitter.d.ts", + "sha256": "7e1f9a2a8ce65feb95734f1ed52d1334e57aa388bbef2a43d8bc53a9b6f6623c" + }, + { + "file": "packages/artplayer/types/events.d.ts", + "sha256": "f83624c9268a284477e8bd793fe3562a2363b72f2a44d5c64fe8c6a6cede8830" + }, + { + "file": "packages/artplayer/types/i18n.d.ts", + "sha256": "f4f2f05bdfda73c74fef34767cb18ee8e11b743120b1c4598e9714d7846018e5" + }, + { + "file": "packages/artplayer/types/icons.d.ts", + "sha256": "326a67ba7bdcf52862c5b2a269e540140aff98d05c7b96196485a77f84fe5960" + }, + { + "file": "packages/artplayer/types/language.d.cts", + "sha256": "f7928e108cf7b7814c2d75cb0a525333e95873fca6cd6d89a740450656b9c1cd" + }, + { + "file": "packages/artplayer/types/language.d.mts", + "sha256": "6619a26d604b7cccbe2f596243d87ae37cfaae33b8b52874ec071d9787446f9e" + }, + { + "file": "packages/artplayer/types/legacy/language.d.ts", + "sha256": "c7abda4d506fd933c350e9030290bf9e64347a921d683a66115da1995ebe0a81" + }, + { + "file": "packages/artplayer/types/option.d.ts", + "sha256": "ccf2c8ddc537dc65c9682d39f044726e23bff18f476b622512d7e6a4b949b5f6" + }, + { + "file": "packages/artplayer/types/playback.d.ts", + "sha256": "58705c273df6e76a77a6575e769a9ec6c013785c25080f2551aa22415788d870" + }, + { + "file": "packages/artplayer/types/player.d.ts", + "sha256": "92b00211b70ac71336e495899df972a0519dd138111846044fe4e0f967966177" + }, + { + "file": "packages/artplayer/types/plugin.d.ts", + "sha256": "fc3594a41c51d8248713e33c486fb1f6a518ac5c7ce31be6988a6cd8d052c5f3" + }, + { + "file": "packages/artplayer/types/quality.d.ts", + "sha256": "1ac1a48b4f74ff9ba1ce60443e1463d50d1c6a2e5d87d63dc7d2a8eb7f4c2c34" + }, + { + "file": "packages/artplayer/types/runtime.d.cts", + "sha256": "7ee988dfea9a0ac71a34a656f96f7b74e78aa92547cfdfab7ff7e1139a77d4a3" + }, + { + "file": "packages/artplayer/types/runtime.d.mts", + "sha256": "dcb85f59a8b7714918ced0c1d18c2bb24e8b80b56d8c594e019dcbdb5ad88b08" + }, + { + "file": "packages/artplayer/types/runtime.d.ts", + "sha256": "9c6ccd39a1be293f17ae46dae8ea077053e12635ee79d73a5e3b3a559230fcff" + }, + { + "file": "packages/artplayer/types/runtime/component.d.ts", + "sha256": "1b4c0cee44568649e80140fe778febfcae88af0ac85515f1cbeff78ab0c6d14f" + }, + { + "file": "packages/artplayer/types/runtime/construction.d.ts", + "sha256": "7a87bedf6f7ffff0c46078aa5f1551e0077d35574e286516121f5f935e2d9ce4" + }, + { + "file": "packages/artplayer/types/runtime/events.d.ts", + "sha256": "a1e2f9d387475453eaf95c2a5ee79e228636c0bb859bda3fcc46da46574a0c31" + }, + { + "file": "packages/artplayer/types/runtime/media.d.ts", + "sha256": "8fc89401be7fe25542c169d07dd5675f10916ed20be8493e19695966cf3864a8" + }, + { + "file": "packages/artplayer/types/runtime/option.d.ts", + "sha256": "6e334e1a76fdcc40b4665c02523bd31c3994d96078fadeb40e23422aa54c1a1d" + }, + { + "file": "packages/artplayer/types/runtime/player.d.ts", + "sha256": "8ac6383502e4872e83659838844856903031a81a0adc8e8535feb78453aa042c" + }, + { + "file": "packages/artplayer/types/runtime/plugin.d.ts", + "sha256": "8528f2b17843149f42f9cc16d6fd70baa238c9dc2c329b67d2c38096799c69bd" + }, + { + "file": "packages/artplayer/types/runtime/services.d.ts", + "sha256": "604c9f8e4b6c0da818f96576bf9f4b0e96085a9003927b2f7ba30027b1ba237e" + }, + { + "file": "packages/artplayer/types/runtime/setting.d.ts", + "sha256": "349c1fcb205ad312916bd3ee55e6bf241ea8a569fb2ab6c80822e69fc518f7d7" + }, + { + "file": "packages/artplayer/types/runtime/subtitle.d.ts", + "sha256": "269ff84678d327b3a9dc2f5bc6cc0d731d1e081b85422e474621d5d792efb153" + }, + { + "file": "packages/artplayer/types/runtime/template.d.ts", + "sha256": "7a62f968a38b4bf9109a4439557c02074eb1d62ba1f6e21a8eb194e91f0badfe" + }, + { + "file": "packages/artplayer/types/runtime/utils.d.ts", + "sha256": "6bf731705d86853e066dbaf3b8d4003b6548423fe615b7412b722bd0d3a6e48b" + }, + { + "file": "packages/artplayer/types/setting.d.ts", + "sha256": "08305a75dff96f06490430e099338b463df471b550c1d0dac3abc8995b39eb09" + }, + { + "file": "packages/artplayer/types/subtitle.d.ts", + "sha256": "b18314e2d64efdb6045830b6e12f615ae2ed585416130e562329ad3ea337f6ce" + }, + { + "file": "packages/artplayer/types/template.d.ts", + "sha256": "4792bc0c2cbcb7966e4375118bd34b326166e0831862e94ace4cf6b1bbe6a8c8" + }, + { + "file": "packages/artplayer/types/utils.d.ts", + "sha256": "fca0d3d814df94a25f9eb067c86fa0cf272e2791bac793b91229d57680797712" + }, + { + "file": "refactor/baselines/ads-release.json", + "sha256": "e5b47f7d04fe043aaeb40390da4b4c19d80ff6f8889e8e0f5c806ffa44306b69" + }, + { + "file": "refactor/baselines/audio-track-release.json", + "sha256": "637a1c125cdd44102545d231a3bb49554066d8478d20c92b6afeb9b81db98849" + }, + { + "file": "refactor/baselines/dash-control-release.json", + "sha256": "e2cc341ec7d1351baf901856bdb0f722774e1b3d7f912de6ee25e91318a43475" + }, + { + "file": "refactor/baselines/hls-control-release.json", + "sha256": "a46325ad769c324795d8da040d2eddf0e541b59a5cc8eead736a6f54a8c7dc09" + }, + { + "file": "refactor/baselines/releases.json", + "sha256": "56054ecd0b861c91a14bf83fcb4243ab6f5ddb27004ad8eb98901c1f85f9b426" + }, + { + "file": "refactor/baselines/vast-release.json", + "sha256": "493e15fa8d3cd1a9215a409dd78db61ecaef5f82f9629dfdc3f6090e7fad8453" + }, + { + "file": "refactor/contract-policy.json", + "sha256": "ca545a3e721313f0dcb59c549c14589c108e064ff396a72a2c14e4ee993b1a04" + }, + { + "file": "refactor/fixtures/README.md", + "sha256": "83b2d9e2be36c2ee914e09b55f249e1f62efae63456eb99068977f9923f89859" + }, + { + "file": "refactor/fixtures/api.html", + "sha256": "b19a20488892bfbbc7b8cc3d325a0472ce2c09259642443e193a00399b27b069" + }, + { + "file": "refactor/fixtures/api.js", + "sha256": "296785fce39dda7f87b603ee16983f5dd305aada511b6f7fe7ae45ad07669dbf" + }, + { + "file": "refactor/fixtures/build/browser.html", + "sha256": "f23cf184f9280b13e6fc49ed81182030f56072f0abae0027592ba460434046ca" + }, + { + "file": "refactor/fixtures/build/icon.svg", + "sha256": "794225a0e8d9464f748ece35b6fd3b49cf6175088881c4ce1ddd4c0c49ccc759" + }, + { + "file": "refactor/fixtures/build/index.ts", + "sha256": "926ceac2f574f059ed43ecf734129111766023f1ec017d634dc750c2d5b37e84" + }, + { + "file": "refactor/fixtures/build/shared.js", + "sha256": "d7b9fb6cdead2fb729501d24b6dd6c5e8a801b95e665069929e064f34e418056" + }, + { + "file": "refactor/fixtures/build/style.less", + "sha256": "d706fd1267fac56cb207d41d1efe2b19c5b200c1ad346d9f11a9b4e1fad2d5b0" + }, + { + "file": "refactor/fixtures/build/worker.ts", + "sha256": "2c98d00f6cc5efa557839b98fea27dc9004295910c52ae22f60437a2be7dd126" + }, + { + "file": "refactor/fixtures/consumers/ads-published.ts", + "sha256": "0b8e5bb9bb74aebcf309b7af8942a7cbe6036de14f07fac121959eeb7d7d3910" + }, + { + "file": "refactor/fixtures/consumers/ads-workspace.ts", + "sha256": "aee3b18b9c8f566a71e1e9d31a2ce8cdeae5664b246806bceed66bc97e18129e" + }, + { + "file": "refactor/fixtures/consumers/dash-control-legacy.ts", + "sha256": "b9aa4acf17d18820824814a59c3b4ab94c719570791a476164252be3741ebe9c" + }, + { + "file": "refactor/fixtures/consumers/dash-sdk-v4.ts", + "sha256": "d866dcc32319540ee9e2b70dfb2839da3bf13da8c1c35345de943a29e1af6d5c" + }, + { + "file": "refactor/fixtures/consumers/dash-sdk-v5.ts", + "sha256": "aca55f822a2ac454528e5bdd1f18eeeebe09a8ac3b192dcce7bc85500814c712" + }, + { + "file": "refactor/fixtures/consumers/language.ts", + "sha256": "6fe60149ddcd5e68489ff60d01cd6111324afa47a3dd58186e8340d5513552ce" + }, + { + "file": "refactor/fixtures/consumers/legacy-plugin.ts", + "sha256": "50f373587c654160e00482209605481dfcb23fb9ae29d45d1b8d26326e89b853" + }, + { + "file": "refactor/fixtures/consumers/optional-chapter.ts", + "sha256": "3a6f1a3cde46ee68f483d8a33aa699a4cb359a98a1d35a57fe0d09ee632daf0d" + }, + { + "file": "refactor/fixtures/consumers/public.ts", + "sha256": "ff3e6e3bf42d0a950caad5db8925e639bc94a9dcfc4dcd1b44667aec9de85f37" + }, + { + "file": "refactor/fixtures/consumers/runtime.cjs", + "sha256": "8532944f9ee3850385737dd65cd23793105983d04606bc41682b4de1e4347467" + }, + { + "file": "refactor/fixtures/dom.html", + "sha256": "cb2891446f74fb0e3fcb974d41170decb35977522f1ee5bfeb032f4f9b3e1fec" + }, + { + "file": "refactor/fixtures/dom.js", + "sha256": "2a847ba117133046916a46ed586744785dc6e8b024805a69be7a7f3425b0d89b" + }, + { + "file": "refactor/fixtures/lifecycle.html", + "sha256": "120851612220cb5b2101f495f3c90c7bfe1541bc81f320d700a76781689c4a0d" + }, + { + "file": "refactor/fixtures/lifecycle.js", + "sha256": "2017800cf809c386dc06879132aa34c5524cfb404a50ecd887ba28c2639044bd" + }, + { + "file": "refactor/fixtures/performance.html", + "sha256": "0a039781773f0c90edf6cb9fbe11049d321ee971dae8ae0b8779707648775508" + }, + { + "file": "refactor/fixtures/performance.js", + "sha256": "f72abbead56dc6499c5f08cebbd90fffc9fa9ca42d788f71ddcce31f70259a0f" + }, + { + "file": "refactor/fixtures/ssr.html", + "sha256": "57f8ce4d0227b83d01a575551d2d9bc3e0d0042af6038680833b2609849e8ea0" + }, + { + "file": "refactor/fixtures/ssr.js", + "sha256": "6396ad144a29b576f76974dac640ab47ddf28e6a27e71c56570c61d517d54242" + }, + { + "file": "refactor/package-inventory.json", + "sha256": "9524ec325a5d9d97edd76ed852d4e80583521ff7582a88b95cba3bf90e51a0d2" + }, + { + "file": "refactor/scripts/ads-contract.mjs", + "sha256": "f3c23c5298c53d8ed5aff9bf4653771303394daea3475e42d3089d0c03952091" + }, + { + "file": "refactor/scripts/ads-contract.test.mjs", + "sha256": "3c73bf0f6d34fb7078bf3e581238d46f596d8c3c9461ac073d3189a44349ecd5" + }, + { + "file": "refactor/scripts/ads-core.test.mjs", + "sha256": "514b446c5dd42dc3c7b7230699fde45915a64bc5b8d2fc4799f1fc6b66f14516" + }, + { + "file": "refactor/scripts/ads-native-visibility.mjs", + "sha256": "7521c78c3874cdc4b5029fe85b00a9afc6b8a14fb71728d64e588717219f19d0" + }, + { + "file": "refactor/scripts/ads-package-types.mjs", + "sha256": "846af87f5f7f0c84fcbccecd4b3dfd6e2c1946ce47dfe7122760fe5f25cf5b6a" + }, + { + "file": "refactor/scripts/ads-types.test.mjs", + "sha256": "ddecd08afe4f04740c3c915e3a54c88d94fecd4796cbe8e1c668d69c46322685" + }, + { + "file": "refactor/scripts/api.mjs", + "sha256": "5c77a74cf16b9668bb447a5a978d555539001c898e16ab79942d511845bc5cca" + }, + { + "file": "refactor/scripts/api.test.mjs", + "sha256": "fc8975f386a6f0350d4b480f24b82c7f1845db4c3fcb2adfdf7ef64f6661ffd6" + }, + { + "file": "refactor/scripts/audio-contract.mjs", + "sha256": "60eed16f505f9df2943c43bbc50bb44ad149aa31f66b2a3938e8f80e344c3ea1" + }, + { + "file": "refactor/scripts/audio-contract.test.mjs", + "sha256": "f4add70b45cccef183201827b9f92f98cae56f8795b6459bfee4e17d0fb953ca" + }, + { + "file": "refactor/scripts/audio-types.test.mjs", + "sha256": "301a049d9b7567221a50d6d8b5bb35bd2087fcc9c637b849149ab648b07c6d08" + }, + { + "file": "refactor/scripts/browser-server.mjs", + "sha256": "5c0a17100bc3091e7cb38d9edf880cd0a6ba6a55fca62b2feaf87841ea418738" + }, + { + "file": "refactor/scripts/browser-server.test.mjs", + "sha256": "33528900dbc7b3467145d7501e72dc29c36145e001c2b1b4d4825a43aeea5f4b" + }, + { + "file": "refactor/scripts/build.test.mjs", + "sha256": "e5053fdaec53ed09cc34b4de62cc30db4a0662248ab5bfed3b277a8b21a0b852" + }, + { + "file": "refactor/scripts/commit-audit.mjs", + "sha256": "3b2076e428042017df2eb12b02c827a81059704f7435d86279e20f3e986f3d57" + }, + { + "file": "refactor/scripts/commit-audit.test.mjs", + "sha256": "74d807947473ccafb783a9127a8fac480c3051b422a5e2edb9e1509ac02cd49c" + }, + { + "file": "refactor/scripts/consumers.mjs", + "sha256": "0811fb3ed521713f9579c1460c447cf835c742c711dc4014694091f6162aaebd" + }, + { + "file": "refactor/scripts/consumers.test.mjs", + "sha256": "278cec7e9f4d3fc9f239f8fe887fa2f194531e55a57db7477ec6e7c2cdada2b2" + }, + { + "file": "refactor/scripts/contract-reporter.mjs", + "sha256": "9fdd6cd1814e12df18a294558da9a4a561b5b8eee8149b21902c1b99b855b8c9" + }, + { + "file": "refactor/scripts/contracts-model.mjs", + "sha256": "155aa4aa6e3406edbe1d754b409162e638c748e2ebaaa73d69fd9390c4f54279" + }, + { + "file": "refactor/scripts/contracts.mjs", + "sha256": "66dd75e6624574dd2648317d087d67fd17f4a310066fc63b3eb32b90f68fcf36" + }, + { + "file": "refactor/scripts/contracts.test.mjs", + "sha256": "0b82ae4a843d52679052e9528162ee43bfdadd0bf6c08c9af9628cf69ebf4216" + }, + { + "file": "refactor/scripts/core-vendor.mjs", + "sha256": "3dac2bd56a0417d7fed0161f412bd98220bd6910bca06f3dd79959706ac312bf" + }, + { + "file": "refactor/scripts/dash-contract.mjs", + "sha256": "c8e8dbb53f1448b7c1e96268732d1282d361eda1e0b96625b400e98b8ea1163d" + }, + { + "file": "refactor/scripts/dash-contract.test.mjs", + "sha256": "9de71a3f6c2d40a853229f0d4d6e999842eb0f19cd65f6996a059d80206e1864" + }, + { + "file": "refactor/scripts/dash-package-types.mjs", + "sha256": "a3dde71af00a7b99793994107bc5930219ecfea63fd01a743d8e7bd235cc9cd7" + }, + { + "file": "refactor/scripts/dash-sdk-types.mjs", + "sha256": "85a500ba1cbba1ec8c12d83c1bed66f08a86f8e23f2a06faabe982f81323c8bb" + }, + { + "file": "refactor/scripts/dash-sdk-types.test.mjs", + "sha256": "a7e618b8e5c6cb2ab896a61efaa9e8f20f32ac563dd97048fb2a7705600d80ad" + }, + { + "file": "refactor/scripts/dash-sdk.test.mjs", + "sha256": "2fdb9e7c4a8dbc4f2119629631b9b2ee7f73ddf26dbe70879229a9dd441a308a" + }, + { + "file": "refactor/scripts/dash-types.test.mjs", + "sha256": "812166d0b34863f896ba89e8cb2df90cbe296955da5835debaad54d777d37fc2" + }, + { + "file": "refactor/scripts/demos.mjs", + "sha256": "99670a35b0e48eaf990523aa7c546b41d52748c7c5801d24b89cdeabe8f57614" + }, + { + "file": "refactor/scripts/demos.test.mjs", + "sha256": "8d3506c3d88f968b07ead9608d87024c065bde05dcd0b4bcef1b50b90d0c1868" + }, + { + "file": "refactor/scripts/distribution.mjs", + "sha256": "a1acc84d72912d4e1e35cd5a8ba941fca9aaef2d19c6ec9db939d462bebd3a04" + }, + { + "file": "refactor/scripts/dom.mjs", + "sha256": "74b09fc232cb3804179ac18f0ce84c4dfba6368f4cb28b9a69c3d1ab5b0d5972" + }, + { + "file": "refactor/scripts/dom.test.mjs", + "sha256": "e3e1f0a3b84102dc5463cbad530e2b28eacfadcd310a2ddcc90fe5531304d241" + }, + { + "file": "refactor/scripts/hls-contract.mjs", + "sha256": "31f4cd9e818dd899c56cc507170b3f0fc9f9cc77af30243ce00f706371f66a6b" + }, + { + "file": "refactor/scripts/hls-sdk-diagnostic.mjs", + "sha256": "ba7b2e1c6decde696a64f9b877c0e6624c0a694f3b888d4e9a68b20295f41a4d" + }, + { + "file": "refactor/scripts/hls-sdk-matrix.test.mjs", + "sha256": "93803fd2f7a12d90cd8636dc0bb7b0d29cbf11a1aa1a297933c33bb8a7fa496e" + }, + { + "file": "refactor/scripts/hls-types.test.mjs", + "sha256": "0c046ab51841c2d3bbf63c45251668e639305bb559b166afbc578f98306bfe01" + }, + { + "file": "refactor/scripts/impact-model.mjs", + "sha256": "d2dc168d2d358694be7e203ab3970deb1f42bff275e89ede88adbe870a962e4c" + }, + { + "file": "refactor/scripts/impact.mjs", + "sha256": "26cb7432fad82f3e9f1e454c911e15692610b6ae3052d9e2e2ec4cbc86957c36" + }, + { + "file": "refactor/scripts/impact.test.mjs", + "sha256": "3a7c82c0b8d47fba7c39b83e12ceba8b3c02c648689def89d73be44c57b31855" + }, + { + "file": "refactor/scripts/lifecycle.mjs", + "sha256": "1cf6a8f6155faad0c5e28844ffb4f7d0db8069d913d2ca097b990a485fc71b08" + }, + { + "file": "refactor/scripts/lifecycle.test.mjs", + "sha256": "c529b0d28693bbff2c5cc07d55be3f36fb554b542884d92e715f1f2651532a51" + }, + { + "file": "refactor/scripts/performance.mjs", + "sha256": "a15d7d9028a7c43f659f9092e354de055e30aa6e9ce79c2ac47564a6730dc04e" + }, + { + "file": "refactor/scripts/performance.test.mjs", + "sha256": "3edf43bcdc62a7dda2ecfa19915e07476e757c1fc577ebfab9d20192c3274cdc" + }, + { + "file": "refactor/scripts/plan.mjs", + "sha256": "85e03b7ac10488c2fe6ddd428322987cc0be5c107d3b8929f9147adb0b12366c" + }, + { + "file": "refactor/scripts/profile-core-layout.mjs", + "sha256": "de464c57f98e01925d7edd197901b8964c8085b1914629c92ad900d2b3220c57" + }, + { + "file": "refactor/scripts/releases.mjs", + "sha256": "ff06a7f9902919dff8f5718d9929cfedfdd0383d41cbd7dcc2a981587bfd628e" + }, + { + "file": "refactor/scripts/releases.test.mjs", + "sha256": "51a6d112cd16521b77d521878b0ded27bfcce3028f94942bc495d6a3a31ab76b" + }, + { + "file": "refactor/scripts/risk-register.mjs", + "sha256": "f7edb4d84389fdbfad0873f98c0fbc416972a8305c45ff79d7b6115a23321011" + }, + { + "file": "refactor/scripts/risk-register.test.mjs", + "sha256": "8ed3ab546478a0cf28982196fe8335026bf7ec14dbc7b6c54dbe8e282f84fe33" + }, + { + "file": "refactor/scripts/run-contracts.mjs", + "sha256": "de7a44af890672605d6ce00c142420d146c4ba45b398786957b65edc3c25afd3" + }, + { + "file": "refactor/scripts/sizes.mjs", + "sha256": "3de93fd5d9ac70dae8d3d47c9af34a821c54300da1736630cdae6543af9027f1" + }, + { + "file": "refactor/scripts/ssr.mjs", + "sha256": "9b80d0c1c6d8645eb281da5df7e84729e5c7002f0e4c7a5346ee9636514125e6" + }, + { + "file": "refactor/scripts/types.test.mjs", + "sha256": "bfe84d620f78be949e95a24dff75ad04a5fede4e1696e47b28b2b27e02b1dbfc" + }, + { + "file": "refactor/scripts/vast-contract.mjs", + "sha256": "718ec6c0765caa7c9604e55d10a3b6c6dc25bdd42fc30d6b6097200888a7dd9e" + }, + { + "file": "refactor/scripts/vast-contract.test.mjs", + "sha256": "b9cfa09402b2f7e91dfead607c303015967c2cc0d96353029bbda798c3b56bc9" + }, + { + "file": "refactor/scripts/vast-core.test.mjs", + "sha256": "74233f2ba5d87314cd3cb6ae8b3bdf8569faf538bd87ee9422e45f461a21cc4a" + }, + { + "file": "scripts/build-analysis.mjs", + "sha256": "dc448ab2e36a36de89601340d9f6a4d6ab6b5edf59f33ec34ffc62816ae1a09c" + }, + { + "file": "scripts/build-docs.js", + "sha256": "95aae678608df443ccd14579fa39f2787ac364705f5d0c360ed55e8b0c8ca6e3" + }, + { + "file": "scripts/build-i18n.js", + "sha256": "70085f66a437961a4cf3dba473f96aabea0fbbad5c892308c83a68bd460a2e34" + }, + { + "file": "scripts/build-llm.js", + "sha256": "6159c455938c8a40bb3e570f8160d28aac6a1808ec428023d027f974791edb4e" + }, + { + "file": "scripts/build-test.js", + "sha256": "1e8ce7bce686b507bcf9f3fd02dfe03102b1940daa0fc14a487abadb909e93c7" + }, + { + "file": "scripts/build-ts.js", + "sha256": "0453b9a9ac25f5be99e9ecfe222c6ae1d16540374b2b6c9b7529a54bdd50f91a" + }, + { + "file": "scripts/build-types.mjs", + "sha256": "9146384edca4ab6d34bac7bfe4ab1f0022432066c852f5d4c008c06093c63d43" + }, + { + "file": "scripts/build.js", + "sha256": "f836f7332b83b022550cdbf3dea04750c699fc6db5175a6fbefe502fee5db374" + }, + { + "file": "scripts/check-toolchain.mjs", + "sha256": "5daedd250a8c2e55bdf282fdf755fa054b7d68235f36fc4f8c60e2d4ff6a1167" + }, + { + "file": "scripts/coverage-maps.mjs", + "sha256": "ffd5fd0f10182a02f633361f130fde765a4a9c028e3cb47cced6b383ab70c5fd" + }, + { + "file": "scripts/coverage-policy.json", + "sha256": "db3f2eacc44d61465031af6e618c8863ac4e9f23ef889865a9202919246ca403" + }, + { + "file": "scripts/coverage-report.mjs", + "sha256": "b670d968bd6e1a5f964f24479b264dfa2f79da4cc839084cf1ec13040c250c21" + }, + { + "file": "scripts/coverage.mjs", + "sha256": "c80b5d1378eea02d43909e6767c04d5b2ac7038d02e33669a572d2956967d75a" + }, + { + "file": "scripts/dev.js", + "sha256": "a611ebdea8bd3ffe811ecb3fa47796a038cf708bb72d30aee2bb12bc61c33c08" + }, + { + "file": "scripts/editor-types.mjs", + "sha256": "951d3d40dc7f90034561fd1a3b3015bdb1449593121bb410e3f15e4415547b8b" + }, + { + "file": "scripts/generate-dash-fixture.mjs", + "sha256": "2ebd7d4c44dee528778e0d95452d408804becd4e5092a23fac8ce63d0c1452ce" + }, + { + "file": "scripts/generate-hls-fixture.mjs", + "sha256": "a204b5d82ce23b97187c66cc4e05b5a6e998998cb827fca3be80baee316b8ffd" + }, + { + "file": "scripts/package-check.mjs", + "sha256": "a6d53bd1be63f65685d2bbba9e29cd4f557d30970343635323ededf95223c652" + }, + { + "file": "scripts/package-consumer.mjs", + "sha256": "3c85b3d664d5cf20e593a938cc756017f55fff5a2df5304054dbaa2f65131044" + }, + { + "file": "scripts/performance-artifacts.mjs", + "sha256": "2064509709bc7c20dc45212e9f3d566ec872ab197da359c7426db98b356c5e8d" + }, + { + "file": "scripts/performance-fixture.mjs", + "sha256": "9088984d7f1d9cf9dc03bfa0719756a25ac131da2337bbc1bdd9b815e186a8ae" + }, + { + "file": "scripts/performance-report.mjs", + "sha256": "8b28db29bb81e55ec3bfde132c10da5ab54493f5d3e82ce694594c82b77bc7ac" + }, + { + "file": "scripts/performance-summary.mjs", + "sha256": "9dd8104e182c0738d2ed6c59698131959d1fa97fcc781ebcf9768ae7fdd435a4" + }, + { + "file": "scripts/plugin-editor-types.mjs", + "sha256": "6ecf896e084a19e5a9a9e7aca65a1108d96d842e3e2da61a05755d74a8f7f9c8" + }, + { + "file": "scripts/plugin/create.js", + "sha256": "f5493761280e3a1cd2063885f5413e8603ca6bda3c2bbb6e8237fdeaf492249b" + }, + { + "file": "scripts/plugin/template/.npmignore", + "sha256": "85bdf9301dca288752913e9c37bcc8a95e791d0aea3044460cb171c0bc5db305" + }, + { + "file": "scripts/plugin/template/README.md", + "sha256": "7d31a2bb73b9d6e8955817eb6ff72a3fb3ed67293e8950e3241dff328adfa430" + }, + { + "file": "scripts/plugin/template/package.json", + "sha256": "8255c75ac387a41205fb402a9eaa3f5789e61a7e197dbe868a116ea7c007620d" + }, + { + "file": "scripts/plugin/template/src/index.js", + "sha256": "c5d7f4c22b3e87cfa7ab890026d232df30b0895a3313da2569326872cea498ac" + }, + { + "file": "scripts/plugin/template/src/style.less", + "sha256": "c9f378c848ace16eb3fd89cd2d2ae8075c1e2d116221f05068559f96e758055a" + }, + { + "file": "scripts/plugin/template/types/artplayer-plugin-{{name}}.d.ts", + "sha256": "7dd83fc8b92bb9e283191da147f8c87eb1a35313aac5028b9eb534663b8d3001" + }, + { + "file": "scripts/projects.js", + "sha256": "a88d5da78a0d50c4ac92a37ea5594a833b169a51d45b5442d3af4d97ffa16965" + }, + { + "file": "scripts/rebuild.js", + "sha256": "56b90edf29597550476c9d2c9ce3d79720d3bf421c4ee9e6a6890b77cca9615a" + }, + { + "file": "scripts/trans-docs.js", + "sha256": "c78c685c9d4145cfe7f4cbdc8c24773bba9ea4fa4c2f171b96ef42c269edd581" + }, + { + "file": "scripts/tsconfig.editor.json", + "sha256": "ce57cedc75093d62f9d62efe1ff24c1d5d0fd157cbe830d082b8cebcf5f0e6a1" + }, + { + "file": "scripts/typecheck.mjs", + "sha256": "9e439c300afa6e37813db312478a3ac3f47d0bb363e615ec49c67cd6ecdbb883" + }, + { + "file": "scripts/utils.js", + "sha256": "4bf07ce5a1029df6360e402d128233e2ce9873316270473f6c5f23d88533a1ec" + }, + { + "file": "test/README.md", + "sha256": "7d85bc4bfc42e0466159a8a6d494c4738feb312432ecff23e54867ce6f83b41d" + }, + { + "file": "test/accessibility-button.test.js", + "sha256": "8def35ef049277d08fcc8389555a53b44273965e143ef91aac85b97f1c32c443" + }, + { + "file": "test/accessibility-focus.test.js", + "sha256": "1210380f832b0dc04b25031549581adf5b809d41a217aa562f53ece337318a11" + }, + { + "file": "test/accessibility-slider.test.js", + "sha256": "80238f1faa8f3fbe440e78613260b5cdf1e0dbd7b65738213749c5e8c90ddcee" + }, + { + "file": "test/ads-lifecycle.test.js", + "sha256": "3411000b63e5bee5ec1f4a422d333e90a856d476eb9f544d5b1049dbd63fbbfd" + }, + { + "file": "test/ads.test.js", + "sha256": "0b5406a5aca3cd69672343f00492f6fcb22db17ec39056f1d89fb5cdd467a7d6" + }, + { + "file": "test/audio-track.test.js", + "sha256": "283a05933e5e2d3630de80161de962e076b248a3456908102ae435c825d40640" + }, + { + "file": "test/auto-playback.test.js", + "sha256": "2d61bffa99bf7acab58f263fb60cb50fef8b1d450d3ea22a4f1eef8066b162a0" + }, + { + "file": "test/browser/README.md", + "sha256": "028824ee6869b0bbb2824f632d4e75a84856a72a08c3d6d142c0b2e2caa09301" + }, + { + "file": "test/browser/accessibility-contextmenu.spec.js", + "sha256": "f7d4be7e317abe7790bf7134479838b0d775974d33bd5bda97319708a6876b27" + }, + { + "file": "test/browser/accessibility-controls.spec.js", + "sha256": "d07d9919b9e9d960116770f82ebb61d165bd4b9fbc343a4e821d9cf9313dccef" + }, + { + "file": "test/browser/accessibility-info.spec.js", + "sha256": "348268395523d4fb5c2d9b6a2486cfb0d1e1b8ef84d13e97ad9db22f5e3ed173" + }, + { + "file": "test/browser/accessibility-integration.spec.js", + "sha256": "b79613a0352085015ea058c35486fbd845155593fd11e3dfca9e7345279a14eb" + }, + { + "file": "test/browser/accessibility-lock.spec.js", + "sha256": "2c208fa3deda0f10769a95c697cb7618225897ede408d857d107706acae5e7f4" + }, + { + "file": "test/browser/accessibility-mini.spec.js", + "sha256": "a0d667265145ff24e37624775ae388f184ad425c4844c47ce8c692de31123a32" + }, + { + "file": "test/browser/accessibility-selector.spec.js", + "sha256": "aae91d2449e2257bfd19999505cf0bb5c631bd49b0dbf597ea1ac48e2f2a25d1" + }, + { + "file": "test/browser/accessibility-setting.spec.js", + "sha256": "779aa12cfd814cab26bdce474dd9d297c6b12a55268618a47ae7d54b74588cbd" + }, + { + "file": "test/browser/accessibility-slider.spec.js", + "sha256": "b88aa23fc1b76e3a902150a8a9d4a801531f397b0a27120b4741baf67f82bc47" + }, + { + "file": "test/browser/accessibility.spec.js", + "sha256": "f10bdefdaac2359d1af5d2099cb8e1770bd7ca486362143f663b5c54459d6cab" + }, + { + "file": "test/browser/ads-editor-types.spec.js", + "sha256": "e55c8674e93b04342e6ca0325a411b74fa4cf8d331e57e571e555c4c1e706b80" + }, + { + "file": "test/browser/ads-ui.spec.js", + "sha256": "90a215d534703aa69654a3258fa5a46c29c308645356348db0229e1bc950bf4f" + }, + { + "file": "test/browser/ads.spec.js", + "sha256": "f0a52956e5d7b8a81f3cfef6b52d6efb01f8fe78f6c63563c596500b2bb5dd80" + }, + { + "file": "test/browser/audio-buffering.spec.js", + "sha256": "cd651c1f16610cde1329770d8e65fbb3c08879e2487e27bdceb1f362d9d259aa" + }, + { + "file": "test/browser/audio-combinations.spec.js", + "sha256": "1db548954678c6fbe7b4757f9a1b105926e4c04e2a65af206402902b60210e68" + }, + { + "file": "test/browser/audio-editor-types.spec.js", + "sha256": "bb41174abd55b2f2e51bb34c957c0dc31bb4ba32bc3fd1c5ac0af60ea545223e" + }, + { + "file": "test/browser/audio-fixture.js", + "sha256": "41215d454fa48b45b248c4af6992aa3980a059d20ca41f95cff910186849aee3" + }, + { + "file": "test/browser/audio-track.spec.js", + "sha256": "ec22095ab3bf7b3716696e8ee78bfb1d39ab211ce62aaf4ba6d439161dc64eaf" + }, + { + "file": "test/browser/auto-playback.spec.js", + "sha256": "39d9258fb808ef42dfbd38836572335a5c759d99cc1b0ecc1b635a2d7cb3b0fe" + }, + { + "file": "test/browser/builtin-layers.spec.js", + "sha256": "4efa0ebe413cbf0ca9b06074ce73ead337136bc477c4f8fda6665be0504a31eb" + }, + { + "file": "test/browser/chapter-combinations.spec.js", + "sha256": "308596abf9156942f462ac050fa49c36d65ab443917b9a4bb4c352d90e470f41" + }, + { + "file": "test/browser/chapter.spec.js", + "sha256": "d1332c5264bea179d4fd4ec3274eb0db28340bffbda3ffd37d80fc6fb636dca2" + }, + { + "file": "test/browser/components.spec.js", + "sha256": "e288fc791cc57bf09580e6f6d458b08e2e5092dc61c784d5f220cc8aa30a385a" + }, + { + "file": "test/browser/dash-buffer-observer.js", + "sha256": "37d8e8ab67155a99a233afa35a82da777fdfb3f691e47a4b0016a46b09b3daa0" + }, + { + "file": "test/browser/dash-control.spec.js", + "sha256": "a770394af0f3291925734e116ab53f8c090349673aa14205bd9a1300c82ad154" + }, + { + "file": "test/browser/dash-editor-types.spec.js", + "sha256": "6a71ce1c1d0569347b5ac212ccccf14ae7eabce64ec6de3e75dc4d30d8c151a0" + }, + { + "file": "test/browser/dash-sdk.spec.js", + "sha256": "51a11287230b7b8a2f392c939cda1c2f8da356208dc8de5966e8cb2c4c69999f" + }, + { + "file": "test/browser/declarations.spec.js", + "sha256": "7340de5f8e34f71cf8d7dbf5f428c3e1c20677a44cc5f561199c9e55d21dc44a" + }, + { + "file": "test/browser/display-mini.spec.js", + "sha256": "eecb351ef6c1b4d5a96c682e9d9b4507260473b10159bad0b918af277c2c58f3" + }, + { + "file": "test/browser/display-native.spec.js", + "sha256": "557f0613a23c8da819d55a62acd5ae47340f16cfb4f91bb9778f7984b8887e49" + }, + { + "file": "test/browser/display-orientation.spec.js", + "sha256": "754bb231c4ef3f634235269aed0588d118ccc9bcbb1bd734f4356cd4222119a8" + }, + { + "file": "test/browser/display-pip-webkit.spec.js", + "sha256": "8169cee87dad40ecc4b1c1b0dbf2a6667e0b54197f889cfb4f8b3044cdd703cf" + }, + { + "file": "test/browser/display-pip.spec.js", + "sha256": "562f25b2e27c4644981d5e95f54bdc1a887ec051a10fe5e91ccad3ae22c8238d" + }, + { + "file": "test/browser/display-sizing.spec.js", + "sha256": "04912463007d1fa53a5d5048a88e7fcb9c0238a4e20e215e11a3dfe381ad74da" + }, + { + "file": "test/browser/display-video-fullscreen.spec.js", + "sha256": "961b21a5965d230e8ab8d7cdf7c72914c8c5f9526408a83ff0552cc263225ccb" + }, + { + "file": "test/browser/display-web.spec.js", + "sha256": "50bdbbb4988e47e34a4cbb08184a68b0000e2dcf34bf60192267648045b3aca0" + }, + { + "file": "test/browser/dom-boundaries.spec.js", + "sha256": "3edeeaed4f642cf2efca29a7b2905dca98bfb1e6527e9053c59a0f9b374a7091" + }, + { + "file": "test/browser/editor-types.spec.js", + "sha256": "11303e272c1a5202ffc1c192ddc70ef3e988c9ec78b4d4dd4936c3c8a7b6636f" + }, + { + "file": "test/browser/emitter.spec.js", + "sha256": "abf5a850835d1a5580d611a0777c0cdf225a6aa796a63b58096f8646007e5870" + }, + { + "file": "test/browser/event-scheduling.spec.js", + "sha256": "4ebd5dab23ca8e49580bd1dc3234e612cbae36b735c7c9401d168059eae11c5c" + }, + { + "file": "test/browser/fast-forward.spec.js", + "sha256": "5b884fae1cd48cb592c2004a8149890aed4741ac0a92b1e415e47b94411bb368" + }, + { + "file": "test/browser/fixtures.js", + "sha256": "313414b8958eb5b03a2da8595fa0bbf6bfdc01484373898c6cb7179545df175d" + }, + { + "file": "test/browser/fixtures/hls-grouped.m3u8", + "sha256": "02c7482a012645a60014d429873f785e94c9a54f13f94f0b82597c7627173bfc" + }, + { + "file": "test/browser/gesture.spec.js", + "sha256": "9301a91220e5cccf1023918580111bf5287f811a51c0b51e7ed71797cb018575" + }, + { + "file": "test/browser/global-events.spec.js", + "sha256": "67ef2bc32419f17bb10ff40f7d9e542c110f2202028e5a17d58780e2cc6cf5f3" + }, + { + "file": "test/browser/hls-control.spec.js", + "sha256": "3e3f841b1b84ef0d2622be3389af570641a5ccc443fc4dff0995036867ec745a" + }, + { + "file": "test/browser/hls-editor-types.spec.js", + "sha256": "b5a993b04cbc531019ce216d7e12b898602c6b492e0b4855f4be1d66e64546f3" + }, + { + "file": "test/browser/hls-sdk.spec.js", + "sha256": "c6cd7332b38fe30d999811b209a1cf5786867f6c7d5455e9cca034527615f2ba" + }, + { + "file": "test/browser/hotkey.spec.js", + "sha256": "a6565949f25d702aeb33ef8ebbddf2ed995d67f09a47c7bfaa20010da34dfa1c" + }, + { + "file": "test/browser/initialization.spec.js", + "sha256": "cf85dfc88faf2c43b885bf1438b53dbcb4116dc445fc49e8f107bd78ccaa467c" + }, + { + "file": "test/browser/input-closeout.spec.js", + "sha256": "6ede540965e404c58cf71a23dabb6be9ab2b107e75d5937e6d63b11dbf11cf98" + }, + { + "file": "test/browser/lifecycle.spec.js", + "sha256": "7726535769bdf01a57d15d562bad9b3bb2cce0d979b7b0def6cbcf77bd72f453" + }, + { + "file": "test/browser/listener-registry.spec.js", + "sha256": "54c40eebcd818342e92f875cb639d31d1fa0a0fc95897de2cbfbbd4df793ac94" + }, + { + "file": "test/browser/media-events.spec.js", + "sha256": "3f5c719facfb97498e6f254117fc4d7d2d91e7f0d53efeab6d877e107dac174b" + }, + { + "file": "test/browser/media-gate-native.spec.js", + "sha256": "961cb3f9a82ae41dbdbf25d4b04c07bc03c475671b0365b92f58f5814f1349a2" + }, + { + "file": "test/browser/media-hosts.spec.js", + "sha256": "543e974f5bb89116a688defb2c1e4afdc72bb6cf4b1bf9838d0e837e661d7845" + }, + { + "file": "test/browser/media/audio-tone.json", + "sha256": "3c87ff43501c48b984c42d6f161085f11a81099f0a38f7505d3ef3464accc330" + }, + { + "file": "test/browser/media/audio-tone.m4a", + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56" + }, + { + "file": "test/browser/media/dash/chunk-0-00001.m4s", + "sha256": "0bc9f5c9bfc50526dfdc0241ac5d2da2332097d738450a41887bceb8d0b1f305" + }, + { + "file": "test/browser/media/dash/chunk-0-00002.m4s", + "sha256": "a3baefa3f68381a844419beabdee422dc4298c102a7b45a9da16d89b74f461fc" + }, + { + "file": "test/browser/media/dash/chunk-0-00003.m4s", + "sha256": "f2540e0a1871967a910e25567aa19ce9aaef002bba84f8cdda8ca9bbc8abd40e" + }, + { + "file": "test/browser/media/dash/chunk-0-00004.m4s", + "sha256": "21905f15e90b22cd868d55924d44723b9a02a7b1132384a60b526e49646e9e07" + }, + { + "file": "test/browser/media/dash/chunk-0-00005.m4s", + "sha256": "9d0cb0486da40f3a4e6819a5964d4db945305d328cce6ce2c21a60a57c413f42" + }, + { + "file": "test/browser/media/dash/chunk-0-00006.m4s", + "sha256": "f52fd4ecf9d0276261b183c6e44096ad2f28267a5f2a0a15ac65cec8705b605f" + }, + { + "file": "test/browser/media/dash/chunk-1-00001.m4s", + "sha256": "389d6f02741679ed7ef43f529bbec746b5e1b62a97519ca80be16f114e76845c" + }, + { + "file": "test/browser/media/dash/chunk-1-00002.m4s", + "sha256": "5cc737843b84a064acb65d985b2ea7ff151c26937f5bf48cacdf0f39c9e60122" + }, + { + "file": "test/browser/media/dash/chunk-1-00003.m4s", + "sha256": "2a1b56d88858f3d9b6070ab8645d878b12f8baa29c567b038d190f89c2f863e6" + }, + { + "file": "test/browser/media/dash/chunk-1-00004.m4s", + "sha256": "be7198ae2b2d04e27748fcbe8669734a7ead3a51c25fb7f1c9d981740bf5f92d" + }, + { + "file": "test/browser/media/dash/chunk-1-00005.m4s", + "sha256": "502e3dd1ce6ca85c442ba849e605a1b0cb1ca23472af6fe6e0dacaea8a38d5dc" + }, + { + "file": "test/browser/media/dash/chunk-1-00006.m4s", + "sha256": "34d6e27576dc3c834d0aff9e5925581a899c354c4fdd34fc639cc63f9807c62f" + }, + { + "file": "test/browser/media/dash/chunk-2-00001.m4s", + "sha256": "23eaaffa433ed1808f57b95e14b85fba15b2d7e8eea6c51fd02ce409dbccf7de" + }, + { + "file": "test/browser/media/dash/chunk-2-00002.m4s", + "sha256": "f40e15cb8d377dcd4eeac508493694e4a131fd4a0d970ff2636b1b40fc728f0a" + }, + { + "file": "test/browser/media/dash/chunk-2-00003.m4s", + "sha256": "e1a1f49359d23f460f9b0a32df5f5da7ba6d234fe59cc4a9c0a5f7e201fed643" + }, + { + "file": "test/browser/media/dash/chunk-2-00004.m4s", + "sha256": "a5b0625a33a62cf2b73414c92b7c9f6ac945650d3ff6dadaff26705d10920bf6" + }, + { + "file": "test/browser/media/dash/chunk-2-00005.m4s", + "sha256": "ed446e2eb99474765e9b0eb40728bd5d79eba79e74b5fa688a0dbddfb3f4b82a" + }, + { + "file": "test/browser/media/dash/chunk-2-00006.m4s", + "sha256": "6b969d834a87836f84eac8769fba2962c8303aacbb832f4710e642a371c6e38e" + }, + { + "file": "test/browser/media/dash/chunk-3-00001.m4s", + "sha256": "9171ffc0421c4dc0f874eb8801c2df0b4bf312981a8841455b13081cca1b0feb" + }, + { + "file": "test/browser/media/dash/chunk-3-00002.m4s", + "sha256": "da7a827ad08e9b48647f2bc6c90d5db1b53ef15965575d38b7e9facbddd37fc1" + }, + { + "file": "test/browser/media/dash/chunk-3-00003.m4s", + "sha256": "3d5f9fd99a21ce3d59f11416936d79252a12bc95560988f1abe4ccf802733ebc" + }, + { + "file": "test/browser/media/dash/chunk-3-00004.m4s", + "sha256": "eeca9b9a3f91c8491ad663cb5d686b168c530dc771d46c35ff5919b3a8b4ee37" + }, + { + "file": "test/browser/media/dash/chunk-3-00005.m4s", + "sha256": "747526362131944d696b09059ba0a19c106e363a30fa07cf7ec86081c4e277e8" + }, + { + "file": "test/browser/media/dash/chunk-3-00006.m4s", + "sha256": "5234fd26fd201536c839a1740d3bd57a5fe8c86e3e180f7f1e4c70cc41f30072" + }, + { + "file": "test/browser/media/dash/init-0.m4s", + "sha256": "d0a16341c48647e27452db83de88f88209dbec7e539e159e5057469d28980881" + }, + { + "file": "test/browser/media/dash/init-1.m4s", + "sha256": "3e814e958e68e98f947883a2b7511a36fb06db127ea074ccd569af0200839948" + }, + { + "file": "test/browser/media/dash/init-2.m4s", + "sha256": "866460ae9e8465b1473c3dbbc63f38416815d75d906790109575cf1de8332423" + }, + { + "file": "test/browser/media/dash/init-3.m4s", + "sha256": "866460ae9e8465b1473c3dbbc63f38416815d75d906790109575cf1de8332423" + }, + { + "file": "test/browser/media/dash/manifest.json", + "sha256": "72438762905eadca3c08e7e152c7895483743cb6264eba158fd7547d00dfa9b1" + }, + { + "file": "test/browser/media/dash/master.mpd", + "sha256": "6a4cb0a956861dee9aff1c592525c41fb4cf660be86b4c3892a91a46aeec53ef" + }, + { + "file": "test/browser/media/dash/single.mpd", + "sha256": "bdbd8a027281cefec1d4021d7e5a2731875188eb331612bc35eef75f265a700b" + }, + { + "file": "test/browser/media/dash/video-only.mpd", + "sha256": "b7f8d37c023810ecc38a2564d4644eda4b5a0b0dd2d10dfd39f70a4b49be0566" + }, + { + "file": "test/browser/media/declaration-cues.vtt", + "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704" + }, + { + "file": "test/browser/media/hls/README.md", + "sha256": "e1a016e0af6d439cebf905188dac67771b4d6ce4cbe4a455067adc7b014588c6" + }, + { + "file": "test/browser/media/hls/english-00.mpegts", + "sha256": "cc599f7c270385e85c28f710a34c5bd90b09d4d27adb3b1e6af3de65584b8207" + }, + { + "file": "test/browser/media/hls/english-01.mpegts", + "sha256": "01b17c28defc8a8ebf4978c5236eb759d80521a1cb840898095c35dac420cec5" + }, + { + "file": "test/browser/media/hls/english-02.mpegts", + "sha256": "90751b8b5abedd6b2f2e4eb83ccd609098ec7f2901163aaebf977cb9a11c46eb" + }, + { + "file": "test/browser/media/hls/english-03.mpegts", + "sha256": "9b1d86b7b261df66dbdace4ef1e846796cd710ffb72b22fc69532c1fe7d1c55e" + }, + { + "file": "test/browser/media/hls/english-04.mpegts", + "sha256": "dbfddd4f997942dd0b912f4c8bdbc5c11ee2a3fc51ac67df48d3aed2756715b9" + }, + { + "file": "test/browser/media/hls/english-05.mpegts", + "sha256": "9b53790d4f50f172852b7d4ff51bdd4bedd39e4c7a1efbfe734edf7b9a68a533" + }, + { + "file": "test/browser/media/hls/english-06.mpegts", + "sha256": "50baaa5e9fe7ca49b22c4d0817c44103b3edc763aee7f1b17d22f796d4189d4a" + }, + { + "file": "test/browser/media/hls/english.m3u8", + "sha256": "5aae9d117d458f65f7febae68555ea4e48b2055b4cfb123fb919e385a1edda21" + }, + { + "file": "test/browser/media/hls/french-00.mpegts", + "sha256": "7278acd094bc7caeeeea424a2c11ac4285fc45a8becb6c8ec55068f295ae35cd" + }, + { + "file": "test/browser/media/hls/french-01.mpegts", + "sha256": "e9464d109e36a53d7f151442b544d47ce79324bbaa805e0a98f171621c9c7a13" + }, + { + "file": "test/browser/media/hls/french-02.mpegts", + "sha256": "3ac48cab6aac942950b59f79ac6bd950dcae425f14821b83b1b5bb72d6815eb0" + }, + { + "file": "test/browser/media/hls/french-03.mpegts", + "sha256": "906f2d8b1f29bb7d57240b145563bab975d8f7dfff78cebd1505b6d2a3feb43b" + }, + { + "file": "test/browser/media/hls/french-04.mpegts", + "sha256": "cbf82876118d41af254bdef51f6cd08d842e8c6edf53250667fad2b8088e3601" + }, + { + "file": "test/browser/media/hls/french-05.mpegts", + "sha256": "a91e564ec54d845837217c45b8e25b08fe208f2b5f97562f513baabd515427d9" + }, + { + "file": "test/browser/media/hls/french-06.mpegts", + "sha256": "2c8edc11b06bacf1e62c4db67594ce187aa93e0241012011ebcf587b64ccff46" + }, + { + "file": "test/browser/media/hls/french.m3u8", + "sha256": "6f7fb3eacb944597fa3105cb6d708eac3a8dc413e1706a11b6fb0e631214634e" + }, + { + "file": "test/browser/media/hls/high-00.mpegts", + "sha256": "c5a8faac85b0594818255117696dce43fda6b363df40e2f3ffc453bd236cc833" + }, + { + "file": "test/browser/media/hls/high-01.mpegts", + "sha256": "5714640c3f17d86c56036453dc17d45f871af63b461318c43527af3482f8661c" + }, + { + "file": "test/browser/media/hls/high-02.mpegts", + "sha256": "fea1cbfb199bc867a322c7a646d43594a1d0d1d23fa0bcb6e770f2669b489440" + }, + { + "file": "test/browser/media/hls/high-03.mpegts", + "sha256": "4a74a28e7ad6bc626358e32365a0b07df1da82c92753e28032983e22404958b5" + }, + { + "file": "test/browser/media/hls/high-04.mpegts", + "sha256": "d04889b3b996d3e79c12bc297f9577690d3ae4f4172cdc0484b584954dab789c" + }, + { + "file": "test/browser/media/hls/high-05.mpegts", + "sha256": "36ee0c64b8c3637d0e2282c611e9250650ac493440095fc2efbe9de1c54add15" + }, + { + "file": "test/browser/media/hls/high.m3u8", + "sha256": "672c0e8b99242be05b16fc747a00715b2c25579b1ecc1623c0579fa34f0cb11d" + }, + { + "file": "test/browser/media/hls/low-00.mpegts", + "sha256": "cbd62f5f4641cbe188a15640139bea393b5927fce600ff7513ef9ade9b33fb62" + }, + { + "file": "test/browser/media/hls/low-01.mpegts", + "sha256": "f7821fba38c63f5d80daef21cdd3430880bdc9fd5f5adfa939ed6481106c2507" + }, + { + "file": "test/browser/media/hls/low-02.mpegts", + "sha256": "3dc93f9f0fd065678b01fc6c568c12350e9ab0b324d1e0fa0e9f77787da7e7d2" + }, + { + "file": "test/browser/media/hls/low-03.mpegts", + "sha256": "d94c8913f7fde98161550041287529b90a58d537d6083d4382540c5fce0b430b" + }, + { + "file": "test/browser/media/hls/low-04.mpegts", + "sha256": "11596c59b547c2ff23bbba1f70e15f061a3e87bbdc1f4f59daa9b5279a6003af" + }, + { + "file": "test/browser/media/hls/low-05.mpegts", + "sha256": "5c6ec25a69fdad73a23cfbc34f0f3c6d8abe44592650c92fa9110a38d6bd9e45" + }, + { + "file": "test/browser/media/hls/low.m3u8", + "sha256": "404a8d868ed2af3598269aee89caba0563c2805dac223fe4c00c9a9eda73554f" + }, + { + "file": "test/browser/media/hls/manifest.json", + "sha256": "2453095f835627ccf513304f03df3682e952137abd248f9249386c211a4e9a0c" + }, + { + "file": "test/browser/media/hls/master.m3u8", + "sha256": "f226bd38f3c76714ada2b5a6866ad1cb39b041023e4a18d971d175f26f917e38" + }, + { + "file": "test/browser/media/hls/video-only.m3u8", + "sha256": "3d7bb9069f6218191dc65745389bf1ab0ba6d5ed66cbd14e2cf30211913da3fc" + }, + { + "file": "test/browser/media/pattern.mp4", + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233" + }, + { + "file": "test/browser/media/pattern.webm", + "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f" + }, + { + "file": "test/browser/media/thumbnail-grid.svg", + "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6" + }, + { + "file": "test/browser/notice.spec.js", + "sha256": "2b57c1307aace558aae0c4d8d4434a473780eb9d70c6cf62962147f476bdc94b" + }, + { + "file": "test/browser/options.spec.js", + "sha256": "17733db5056f04f829ecaa925b021d339d0f6f6960cfb8bd277c68cf8c4e119a" + }, + { + "file": "test/browser/playback-properties.spec.js", + "sha256": "14e0774bf272cca78d203fef9c343b9b2eac5c30ffbe5c354b00640e1cd9627c" + }, + { + "file": "test/browser/playback.spec.js", + "sha256": "5cc5df6f3968f3e834a6b2bc2c76c3c1c4ec5e7bda5ee3e99aa7394d24ac7e18" + }, + { + "file": "test/browser/player.html", + "sha256": "4037c6eadc5da176f9dd67b2b517acb06c8cb2246c841316df26c660e55584b4" + }, + { + "file": "test/browser/plugins.spec.js", + "sha256": "526c58db1ae2080cf76a13b542e502b4847b23f07e8cd012f40129dda3358a00" + }, + { + "file": "test/browser/pointer-events.spec.js", + "sha256": "fa789898942d6eeffcb1f8867af46abcdb1dc8a515470ffdb18e89e8fafc4985" + }, + { + "file": "test/browser/progress-quality.spec.js", + "sha256": "824596e3f0f1a7d8304ca7fed38de4f00b2f967eb87fd48346ad714fbb2e280f" + }, + { + "file": "test/browser/prompt-components.spec.js", + "sha256": "2513a31306bb17b713aca2f9bc44f045ce34ac547482b4507955b0f1f14484ed" + }, + { + "file": "test/browser/resource-scope.spec.js", + "sha256": "0196bd9943c1ce2f6560f87156cd0de47606579c1a736bd46d4943179a121d3f" + }, + { + "file": "test/browser/runtime-types.spec.js", + "sha256": "7ec0442c3cd5a9cad8cc581a11038c85ef9bf85b473198dd4a94e62a77856c8e" + }, + { + "file": "test/browser/screenshot.spec.js", + "sha256": "a2b49fbd8616533fc351892c1f6687d588d2bc9350fda4be5475decb97d77a0e" + }, + { + "file": "test/browser/server.mjs", + "sha256": "af513e1e64f875668b6a7cbd060276d85d930e0cc1715577e97907cc26c3b58d" + }, + { + "file": "test/browser/setting-interaction.spec.js", + "sha256": "030266515b16e1bf8677b30e7748f6a6451b10eba541c5ead9a54b5e57bb05b6" + }, + { + "file": "test/browser/setting-ownership.spec.js", + "sha256": "ef345200701ef826faa7c3aca564726bc9fad6587cc0af091c579d78ee7f3b4e" + }, + { + "file": "test/browser/setting-update.spec.js", + "sha256": "2f61a9790ebbdb0f3d86adfc2f9bce5e789806af2517403a47d5c02f1eddd1b1" + }, + { + "file": "test/browser/setting.spec.js", + "sha256": "19acfd07cb6316381e3bce61e0ae284303aeafc8fca14e1657d73568553c5bb6" + }, + { + "file": "test/browser/source-intent.spec.js", + "sha256": "a56f5fc2e30dd45a4fcdf9fb6180e9d7f052545a9ad59e5d57fb2b9a814d3c23" + }, + { + "file": "test/browser/source.spec.js", + "sha256": "8bbd3b0eba2dda89f8b5f484468e916a34e2e53319f3ed3106116db51436ffd1" + }, + { + "file": "test/browser/subtitle-lifecycle.spec.js", + "sha256": "ba91719ccdc9e539aee252d80deaba622fd6e5cb30cdd74697658af1e49dfd58" + }, + { + "file": "test/browser/template-resources.spec.js", + "sha256": "993ce9876ae9d49f291af4173ffa34276f9b8972828e8d42b8789c5ee512ac6d" + }, + { + "file": "test/browser/thumbnails.spec.js", + "sha256": "bc00e6fe6eb6987bd36193f26c69e2377249b53f41dfc1474dd44d6e833a2c09" + }, + { + "file": "test/browser/utils.spec.js", + "sha256": "e7f1739938791a6d19ec2cdf544f57c69ad7caaaa6f379128b3676d73d8611b1" + }, + { + "file": "test/browser/vast.spec.js", + "sha256": "7cef5364837e3e0b4818ecfa954c1e4214ac6627be78ee85bd32cdb479b37f62" + }, + { + "file": "test/build-docs.test.js", + "sha256": "4382e9f445118ac02984425673c84b0678f598cc03ac418ec2bf3b0b2bad23d2" + }, + { + "file": "test/builtin-layers.test.js", + "sha256": "14af539fe85896a26fcc46891d56bb33adb0aac54dc273ad8061cb93ecdd0ebc" + }, + { + "file": "test/chapter.test.js", + "sha256": "59dc68c79d13c89c59c6134af58bf6bc0f6149d1a8f14b3c7934c8f3051606b8" + }, + { + "file": "test/component-resources.test.js", + "sha256": "70a9520d48cf52fe38c53b5cdff33a03fa860ed25c1b2af870aae5d0d2db63d4" + }, + { + "file": "test/contracts/emitter.js", + "sha256": "243e3b3b41c14b78cc6e6990e983afacbdab92d0590584124ab5166edf5ddad0" + }, + { + "file": "test/core-vendor.test.js", + "sha256": "394e17fac91bc3110a284609b08d55c9993ce32e701b34ed8476cf3a1eba5eb6" + }, + { + "file": "test/coverage.test.js", + "sha256": "91ecbcf0568d393bc5f729a7c1911544702f95a0189eab59c78e2b5374b78d34" + }, + { + "file": "test/dash-contract.test.js", + "sha256": "4477b48fc53224890a7eb22ed5f1554b57fd6265c864fb4039393978e63ceb31" + }, + { + "file": "test/dash-control.test.js", + "sha256": "2a123bbd93659c053ab206f09ab489d04380b222885179203c0bfb401590b35d" + }, + { + "file": "test/dash-events.test.js", + "sha256": "5fd73376dd1581911c88d05ec80849751c5134e6424aa1527668e5c20262b0a6" + }, + { + "file": "test/dash-lifecycle.test.js", + "sha256": "bc65b93b6a5a2f5e5ad9ffd7a467914bdc891af528dd135a96545b1cd6fc2bcb" + }, + { + "file": "test/declarations.test.js", + "sha256": "5f7c72b23fcde96082f5e7ef639c9f85d10d186336271363d6882b50b338aee6" + }, + { + "file": "test/display-mini.test.js", + "sha256": "7e3d1a88dc0145c49b68c91d75a6f2444dc224fc73ba6921712bc1647d2582c1" + }, + { + "file": "test/display-native.test.js", + "sha256": "416738577500ac34e832fb43c9b17b84c4b39ffbd8f2c745fb9e48a7b2525ed6" + }, + { + "file": "test/display-orientation.test.js", + "sha256": "d9d789962f92aac1cd38af782bd24adffd17d3650ea2a431967af891d5249254" + }, + { + "file": "test/display-pip.test.js", + "sha256": "aba0510a9afd53b689c266a849449d8256d94a5fe9f823832f88b8798c75db5f" + }, + { + "file": "test/display-sizing.test.js", + "sha256": "e6ce3dcfa1d96f9200cf9ab6c08f001e032f6d973d2b47c6792e5c18ed64f7fc" + }, + { + "file": "test/display-video-fullscreen.test.js", + "sha256": "2310d4434e37af92083ac4bba1cf8668f5d440cad2ad2fb1a51168771b4b6d60" + }, + { + "file": "test/dom-boundaries.test.js", + "sha256": "88709ebc26c1de950bdfb982e3ffdc8863b9680d784d8e7d1b31023591f85ea3" + }, + { + "file": "test/editor-types.test.js", + "sha256": "e121aa83e75cc9487ca0accbcbb0566d0a92b9bac516d9d45dcc0cd113b4a6b8" + }, + { + "file": "test/entry.test.js", + "sha256": "ac065ac5ff662a50ea5c95fa4a4c51d193e34dc20efbf35090748c2c59bdb9dd" + }, + { + "file": "test/environment.test.js", + "sha256": "4fd9bd8bccb35beff7ded2404ab4b910e0f59c9fb3ddf696744191df69857a2e" + }, + { + "file": "test/esm.test.js", + "sha256": "324576fff9291ca27a8ccd5137dcda1f85e02709117c285890c44d42743af389" + }, + { + "file": "test/event-scheduling.test.js", + "sha256": "65faab59cef6223140808bc310871853610fe3944ea0ab882173037726ddc258" + }, + { + "file": "test/facade-properties.test.js", + "sha256": "4f3ab56b0027e8d7499078916cd8b38b91774c7797beb09e773044325786aee2" + }, + { + "file": "test/fast-forward.test.js", + "sha256": "81172dc0fadbf62cf88904fb7a54d131f848602a0fdfe3be93a37fcf4ca7b389" + }, + { + "file": "test/gesture.test.js", + "sha256": "77235aa134d380a2bb39e572e41bd33b02f6c86ebe72426e55da4b00a5701f4e" + }, + { + "file": "test/global-events.test.js", + "sha256": "12494982e1846b6d6f6062eb209b7c1218c87a8b2ffb8342b5515ed91da2d337" + }, + { + "file": "test/helpers.test.js", + "sha256": "4dc1ea43a94ee0a790ec73329bdb35311fceff9c54aa7e3c7dad1046f1f504f5" + }, + { + "file": "test/helpers/ads.js", + "sha256": "89f6a65006810813be7b3d60d35837241c2076470131f29d2291ba0a29fae387" + }, + { + "file": "test/helpers/audio-track.js", + "sha256": "63c5d640172567dbce255e205fe4cd494c94915248f880544e80ae20650dac85" + }, + { + "file": "test/helpers/dash-control.js", + "sha256": "03695a8b4987459a20f1986bfa7e19ae55371314f403ec26035abec31661a734" + }, + { + "file": "test/helpers/hls-control.js", + "sha256": "72dcc20c9af6155a401d882716f91cffe598ebf357ccef2d4654476d3f71a87d" + }, + { + "file": "test/helpers/legacy-airplay.js", + "sha256": "c2d203894557b42f3969e66518e7c27af3a3ae04a0081ea916d0d530e7a0cfe0" + }, + { + "file": "test/helpers/legacy-option-init.js", + "sha256": "36995b0105b59057b5bf4190ae6cba0ec8b3774d2d5988deed78482259d61c6e" + }, + { + "file": "test/helpers/legacy-safe-area.js", + "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a" + }, + { + "file": "test/helpers/load.js", + "sha256": "cde6d80685bdacfc92a38dea045b924ac0a1504e9e5fd3ab0a7712397c9f97bc" + }, + { + "file": "test/helpers/media-gate.js", + "sha256": "b9bc0e8550739902ed4d94674b53d6c5b35795cd25ddf3e567ed22eed591f385" + }, + { + "file": "test/helpers/native-chrome.js", + "sha256": "4f486db36f3e5738ee835005b0bd073b3878507b6ea417a01e5663ab6954d93b" + }, + { + "file": "test/helpers/playback.js", + "sha256": "04cc009a6231295d0ff1c4fde347df8878dc355cf2e74efe48582d359d2e2fd6" + }, + { + "file": "test/helpers/vast-sdk.js", + "sha256": "f8bc792ef16da9396bafefaf89f1b53b6254bf263d0c3019b87ee188eac35bd1" + }, + { + "file": "test/helpers/vast.js", + "sha256": "ea985ca97946645a8b6fc76c9d69ec4fc12f959ab175402cd34e93bc81c14ce9" + }, + { + "file": "test/helpers/worker-observer.js", + "sha256": "8ecd23a41293b7b6b065a077ba352fff0007ba07f41ce5f84943ac5f546a1cc1" + }, + { + "file": "test/hls-control.test.js", + "sha256": "60956426bc13125cb5e899170916e360ac1750c0a2de4b9b3f5c92bd99b3092d" + }, + { + "file": "test/hotkey.test.js", + "sha256": "b647a4552ce43591f532d6295bf6d2034d7c301a2a9dae88cdb1b77e651ad5b5" + }, + { + "file": "test/i18n.test.js", + "sha256": "0a4c1904195f49520bde50b9e9db92694eff05a3d6eaeb62a38225a38653585e" + }, + { + "file": "test/initialization.test.js", + "sha256": "55eb564c40753dcddd1bd1d1e7e0e76886153a75a606ef7b66da63ac0a4ae512" + }, + { + "file": "test/instance-lifecycle.test.js", + "sha256": "ca288cdbbf92471ba8b0c9e16fa702a86911c0a7fbbca86f938c29632a55e536" + }, + { + "file": "test/listener-registry.test.js", + "sha256": "07dcdb1945e530a3928b28a3758d22eca0db70bf4a00dd7e0527a56ef407c133" + }, + { + "file": "test/media-events.test.js", + "sha256": "498505a80b2de35408f5c603b4a8877eb492a2ff818a854d8cc1ca9b2af2135c" + }, + { + "file": "test/media-gate.test.js", + "sha256": "2f27f469011eb13fe451c0ecae27ffa2ede0510ebf011b0f9dc2bf6c8c3dc60b" + }, + { + "file": "test/media-hosts.test.js", + "sha256": "6bca83248d83f01dda3e7997e3d93faf193e8b57ac7b77c3232c6ef504b4774e" + }, + { + "file": "test/notice.test.js", + "sha256": "c8622608041aac4ba4dbbc5362a4513ba279456e04d49755926f7f26efdca66d" + }, + { + "file": "test/options.test.js", + "sha256": "88f2473c99ecaa62a509a06a9a3ce7a1ec94dea2e1c5e200feb128bd967b0bf3" + }, + { + "file": "test/package-check.test.js", + "sha256": "daecef5ca8f436efb8a72c5e99632061aa9110d2c295cd97eeed5bc9fd0a3aa5" + }, + { + "file": "test/package/README.md", + "sha256": "f5f2b16ae57ba4c0ef692935534116f1ecaed8ff2247b24b17b38a565cd3dc5b" + }, + { + "file": "test/package/known-types.json", + "sha256": "838be763ffcdc34f803c5bb0599804ff73bc5e8dbb7c5f26259c1a3a5f54386f" + }, + { + "file": "test/package/runtime.cjs", + "sha256": "5973b860d377de22354fb597e602354cca7bff6b615a1e3a01747330a557c071" + }, + { + "file": "test/performance-report.test.js", + "sha256": "be76bbda2690d713b9b68d5a764e46bd7bfcf3e673ec4af288dde54e4cabd9fa" + }, + { + "file": "test/performance/README.md", + "sha256": "7f3a881025dbc75b5eb6daf5d17d8d2626b8452d5fe0da57823d41ee79c08aa4" + }, + { + "file": "test/performance/paired.spec.js", + "sha256": "b75029f94287dc00ca8313332b23004bcae302c18651b7eaff829f116d6c2159" + }, + { + "file": "test/playback-properties.test.js", + "sha256": "834b6b70d876dfc24d23a9bd46bbf18f5347d0dea359971887ab2ededbaae78f" + }, + { + "file": "test/playback.test.js", + "sha256": "af40485704227e0a9ec50cf4ea1ddbd2ff964288aabac31f55575c17cf726b86" + }, + { + "file": "test/plugins.test.js", + "sha256": "e79015cf10da6f80d59d42cf58ee8a75908847d55aaa549346b1a9c8e7551740" + }, + { + "file": "test/pointer-events.test.js", + "sha256": "8eccc6b72f025183cb93f1bbc2c03e42a98e1a3bdf6c03e8609c1b2fc9c2ea2d" + }, + { + "file": "test/progress.test.js", + "sha256": "3f6472aec1b2534d894d05477b19d77404c064e3d448531a005786f75a947b2f" + }, + { + "file": "test/prompt-components.test.js", + "sha256": "c8328abace4cbb34d0f08780983cdf98406287018247a7ded5cc18d847b96c82" + }, + { + "file": "test/public-behavior.test.js", + "sha256": "a69ef36fcfb4b8408ef4ad10d9a062c07508c35517bfd4dbd902c8c9a1f51864" + }, + { + "file": "test/resource-scope.test.js", + "sha256": "37f84e1716d05682966ce398bfc4d73cdee0f1879236ab0a018dd73563884559" + }, + { + "file": "test/screenshot.test.js", + "sha256": "740e879c9159c75e62240d37e3a327facb228f54b0b531e9da375c1f184abb24" + }, + { + "file": "test/setting-layout.test.js", + "sha256": "a7da46075bd478182559b9af4817b128eb9f9c219b6032d77fd437370f2a3563" + }, + { + "file": "test/setting-model.test.js", + "sha256": "8b3914c1c756ec9d25fb4cccd592071fe95e4f85816b59c172e6e32761cc163e" + }, + { + "file": "test/setting-resources.test.js", + "sha256": "1f3749da962e9101be07ebe3e633adfb6b56767a3ca6b64bb349563f276eb139" + }, + { + "file": "test/source.test.js", + "sha256": "f5d8e7c9aa2a6cda92c619d87ba7f582553d0c8238517e2d43ab905242d32949" + }, + { + "file": "test/ssr.test.js", + "sha256": "dcb99a02c9a7fcf8943c7621846b75a5f803b786a80bf6db40c12f0bc0f85ea8" + }, + { + "file": "test/storage.test.js", + "sha256": "10308076ed82ef8321d865f3f5041fc0d789066daac4278e882e4df21d5bf675" + }, + { + "file": "test/subtitle.test.js", + "sha256": "b4dd24d74fe3b37ea80bed15aebb07d6d477c66db4d3d3a93dfdf6592ed2abb5" + }, + { + "file": "test/template-resources.test.js", + "sha256": "24ae3141bb7463d440a88b3079e024241ac0dd2cc9a4a22beb5973b08f4b137b" + }, + { + "file": "test/thumbnails.test.js", + "sha256": "367882200a3898cce718379f95bb80706d9d5ee06e8d8e3624acada118ccc41c" + }, + { + "file": "test/toolchain.test.js", + "sha256": "7c15579e37f531e4d762dda05622a9c8047ec5e8f22e25a46ad95f69e0026829" + }, + { + "file": "test/types.plugin.test.ts", + "sha256": "d698e283a6e636003e3149523094f4e2fb307b51dffdc0ce66df76b3bf558ed4" + }, + { + "file": "test/types.test.ts", + "sha256": "445de50bf829ae58b3904a16a4a26a05454c16a76c72403985755d16923065e4" + }, + { + "file": "test/types/ads-source.ts", + "sha256": "02221946a6cb726045c4910a40027ff8e0a6e011426443e28e11762bc1cdb52e" + }, + { + "file": "test/types/ads.ts", + "sha256": "16b333c61f7a57f9d8ba8e6fab6e40aba761c4dc746e99d6b38e122315b0dde3" + }, + { + "file": "test/types/audio-track-source.ts", + "sha256": "be72de19410e05dda55feeb805d39851eb7c91afe8bbe574834bd1113489769c" + }, + { + "file": "test/types/audio-track.ts", + "sha256": "d9c01d2d4cb9ce28da599440f71cafe7b87c8c9521eb4d0c2ce1168ba3d2fde4" + }, + { + "file": "test/types/auto-playback.ts", + "sha256": "3af10afc38be6eb0d6a8c9f82f76b6b046ab0b0439a22c1318fab5557a2157e4" + }, + { + "file": "test/types/browser.ts", + "sha256": "b4c67febf37bdb2295f9ee178c2b6969788f3693c215ccf4ae8b85dfb6a98439" + }, + { + "file": "test/types/builtin-layers.ts", + "sha256": "4bf0c661011e15bb3f620e0e4bf7b51ca381c420dda261fcd59988cafd2e53c8" + }, + { + "file": "test/types/chapter-exports.ts", + "sha256": "165bc3ea422bd0dd63b143fef0b73916cf33548aa839ddf4a1ddab500877c04a" + }, + { + "file": "test/types/chapter-options.ts", + "sha256": "8ae16ff704befdcf5303012d15d108bad4aa7dab4d62da9c02cff4776680fe60" + }, + { + "file": "test/types/commonjs.cts", + "sha256": "4096c569923fe5646d4787c11fe421884b0c592682d6c585a73745ebf5ef15b1" + }, + { + "file": "test/types/components.ts", + "sha256": "e705f0c3efdf531e0eb4a5f733332c141e7bddf2450024cd71ea67bb3efc5b24" + }, + { + "file": "test/types/core-initialization.ts", + "sha256": "4126fb41037c636ca14f114ceb3542f4021c9516cfb22051df52a131b3151357" + }, + { + "file": "test/types/dash-control.ts", + "sha256": "4046e5b2b40d15c4a75c53730c38570e0f7dee08a932a22c60a0dc1aa1f603a7" + }, + { + "file": "test/types/dash-source.ts", + "sha256": "ba8b9b24cca2047edd8e9597780f974d5d36c1e2af8c417af273ee8e82b472f6" + }, + { + "file": "test/types/declaration-inputs.ts", + "sha256": "24279eec4ed375febc6f791cf40913d290ec8b62f2a67a62288476b14b0bedfe" + }, + { + "file": "test/types/declaration-legacy.ts", + "sha256": "1ee51cbcbcde133d4df17af424b1fc478bdf45d673db5981dd2d1e67b54e9b32" + }, + { + "file": "test/types/display-mini.ts", + "sha256": "e4b0e053681eda6d4db97a6a84781149146d37a3f51ee67d5c4aad281072fa65" + }, + { + "file": "test/types/display-orientation.ts", + "sha256": "4c93125b488e73f568c7af3a267dec187599da054599c9e50d95e4d827e9fd34" + }, + { + "file": "test/types/display-pip.ts", + "sha256": "7c12d5e92730a93cc803b78faf9a856fd34d8ccdc4d85e057571a048fd8ae978" + }, + { + "file": "test/types/display-sizing.ts", + "sha256": "cd0b79fb7c53516dd86ecc6566b4969793633bcf7ffa0126c48788a3f7c615d8" + }, + { + "file": "test/types/display-web.ts", + "sha256": "801d5b42efd879ff1b65f52cbed4a355b52cf2327b5a1ba9320c62935026777e" + }, + { + "file": "test/types/emitter-source.ts", + "sha256": "d6111dc541deabbe952446a6bbd99bfe2ec3dc23c097d042cb08ddc7d5a0cfb8" + }, + { + "file": "test/types/entry-source.ts", + "sha256": "d75d97b9c0425a15a4caa7f87ce146a1d227c56b67f23675c1bf7d9637f6e79e" + }, + { + "file": "test/types/events-source.ts", + "sha256": "504d33f54d995c245ea759a08ec55085f38f22707c39e45d26ddfdce261911f5" + }, + { + "file": "test/types/fast-forward.ts", + "sha256": "bd724069d82a78b8f9264f73ac3d7862f27b2bb161936a49763812e5d5966246" + }, + { + "file": "test/types/gesture.ts", + "sha256": "3fb8fd3d895738443bedab2c00b1afda1009fcee5695555d25b73b9bcea61d8f" + }, + { + "file": "test/types/hls-control.ts", + "sha256": "3bbdeae926b6a5aad6e5b7c34a21babbc7784007c49d65acc44dac0962ba2b61" + }, + { + "file": "test/types/hls-source.ts", + "sha256": "4dfb36411352ecda0c857f5d24e5587f6d0c7723078ca3d6eb29aec687e9f4ae" + }, + { + "file": "test/types/hotkey.ts", + "sha256": "bc08aa59a8359a86e49cc95f880ae09d5c90a501d4d0ddae7d7467e90b042ef7" + }, + { + "file": "test/types/known-diagnostics.json", + "sha256": "8d3200355e82501beb0891eb9cbb5fe90919ccc1e436a09abe5cb62e707ce266" + }, + { + "file": "test/types/language-value.ts", + "sha256": "84352425836a03681a5578d277bdbd02131f0079cce778788ecbb256d72eed68" + }, + { + "file": "test/types/media-events.ts", + "sha256": "7c7869877de7d4f8b74fd3c05e703345afd90ed47c581eb65a655fb7dc8b651e" + }, + { + "file": "test/types/media-hosts.ts", + "sha256": "d5ef7166683bed51a2e4395d03315ea5bcbfb4e0c93b942961febe1a45d55573" + }, + { + "file": "test/types/notice.ts", + "sha256": "f896ea15c1dc1f71e7018e3a00e7276f415b9ff58fb6058d8767cac9438a047a" + }, + { + "file": "test/types/options-source.ts", + "sha256": "1bb15ec10dc92af1e5d2a32b70e76961b314aa559c7971c31c2a4b1c75fabf75" + }, + { + "file": "test/types/playback-properties.ts", + "sha256": "ac71544fcd9a16f6a5ef00566b47a26daf7128dbb92d9ccefff1f3451619f4a4" + }, + { + "file": "test/types/playback-public.ts", + "sha256": "368fda3fd82c35437fac9212ac736e7b9a35cd283405e6c56ea9e15e30a16ff3" + }, + { + "file": "test/types/plugins-public.ts", + "sha256": "bd06fa0f883fc22da8efe34e9a20329fb096954595741d1a559b0ddb6a54064f" + }, + { + "file": "test/types/plugins-source.ts", + "sha256": "a67b7a9f029309d5596c6672e500869342a0f5866f2691c1a82fbee65c925df8" + }, + { + "file": "test/types/prompt-components.ts", + "sha256": "ee577d2d7a148767c929131d641bfbadf5e42c2aa178451a704bef0d815e67fa" + }, + { + "file": "test/types/public.ts", + "sha256": "67d63abebd3ba678707828a93d8f8826a9756532cfb9044f2c777dacc9c3eb84" + }, + { + "file": "test/types/resource-scope.ts", + "sha256": "a8c056914e8529c871891ed672030248d359a19f8571a5ac5a5f18952ea5def0" + }, + { + "file": "test/types/runtime-commonjs.cts", + "sha256": "66517d93d7d4b3e0770aa5a38d0a25fe34e796456426f35c0a47fdeef3ccfc11" + }, + { + "file": "test/types/runtime-components.ts", + "sha256": "81b2d00a92681846bd873e26ce26de09f0f61db8188e9893252bb0bc194342a1" + }, + { + "file": "test/types/runtime-construction.ts", + "sha256": "275d14830abf9d0c88aacadc4efbffc5995a282f39b9f86ae2d7065ee88b27c4" + }, + { + "file": "test/types/runtime-events.ts", + "sha256": "e4d5739bdaf4ee1d3ab6f025787661cd7f29e0601afeabb75ef0e2f4565c0ff4" + }, + { + "file": "test/types/runtime-facade.ts", + "sha256": "e33da4f2a2043c007ac4e1e9a48f134b2b3f7980fc71c8988e7b06f8bee465bf" + }, + { + "file": "test/types/runtime-leaf-consumer.ts", + "sha256": "08ad31dc7b9b3fc0e11430ca1bc3d1072e0e6f0974a8fe61341351256d565701" + }, + { + "file": "test/types/runtime-player.ts", + "sha256": "5dab542f969c0968b93f33d5fc565d5876d13b7dd7ac16645b1d8cba3d49a39b" + }, + { + "file": "test/types/runtime-public.ts", + "sha256": "32ec19042ba294d350bf4b1f5f75cc0f2ea70144fb9dcbdf6e3898d6dedf9f17" + }, + { + "file": "test/types/runtime-subsystems.ts", + "sha256": "e851a18f917896154e163938c9571a9b282e5616b871e685b15dc34865f61dda" + }, + { + "file": "test/types/runtime-utils.ts", + "sha256": "9a2ba10222de3288abdaf880386a703136333fdea77c816646be9547d9a8624d" + }, + { + "file": "test/types/screenshot.ts", + "sha256": "f329d9b897e9e9e4190ebc6ededfe55ccd0bebf796683615af103c19cf6b3947" + }, + { + "file": "test/types/setting-manager.ts", + "sha256": "27e3687a89909ea6f97aa842347cb8fbcd6f8ce5cf779a24d5dabad3eff8dc5c" + }, + { + "file": "test/types/setting-model.ts", + "sha256": "ba024ffeae26428d06f07f98f62f211db94ef8b259251f9f424a4203f1187c7b" + }, + { + "file": "test/types/source.ts", + "sha256": "0cd6c84c3a7a107c8ece4b2594a192b8a25ef2190dfb21f732c2f6704446e708" + }, + { + "file": "test/types/subtitle-manager.ts", + "sha256": "c813fbb8f87efb00683d35ef872378c3801ec840572b5dc639a7adf9c1a5ba3b" + }, + { + "file": "test/types/template-resources.ts", + "sha256": "a2b77f6ee6d9b03d8b1d8040def11808bc01178473e511e64475828c2f9de747" + }, + { + "file": "test/types/thumbnails.ts", + "sha256": "2b01c655ad30be3e9ef6732d13f85dbdf32cf71c734d63537bdb0f82ac69350c" + }, + { + "file": "test/types/utils-source.ts", + "sha256": "764b8d18ec7fd575f44d9d86add339d792c6ee084656d9361a1dbbd6131b446c" + }, + { + "file": "test/utils.test.js", + "sha256": "ad43c90a5fa2109380e0c5164833722e6d3c2d9c3c9e439ce16030eccc7983a3" + }, + { + "file": "test/utils.test.ts", + "sha256": "f77a28984a1168f1bbf52566ec43a34677c37cd77e57ce51ae40e93ad7cf30b4" + }, + { + "file": "test/vast-lifecycle.test.js", + "sha256": "5b6eb97ee038755046fdc31b4fa12e4a3e20903deafc208d6378f7e5de61dfbc" + }, + { + "file": "test/vast.test.js", + "sha256": "b02c12c0440540f4f13929bbdcb3607621a42fdc6f29debbc912189c3aa025a6" + }, + { + "file": "types/assets.d.ts", + "sha256": "34fa550a7f540f0396f45d8a02ebaab4984e18a56f3decb713dd9020b878fca1" + }, + { + "file": "types/option-validator.d.ts", + "sha256": "fea6cba0dc35678fccd784bcf5a43f605c80e99e7654592a30e6cd9fc274fdae" + }, + { + "file": "yarn.lock", + "sha256": "1a6642a9728e77faf26dce43a849b56ba24573b44f08096a07fa36593eecc8de" + } + ] + }, + "events": [ + { + "type": "test:pass", + "name": "Chapter normalization preserves caller array and objects while filling every gap", + "file": "test/chapter.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "Chapter endpoints, adjacency and Infinity normalization retain historical behavior", + "file": "test/chapter.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "No usable timeline leaves input untouched and produces no chapters", + "file": "test/chapter.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "Invalid chapter types and times are rejected including non-finite values", + "file": "test/chapter.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:summary", + "file": "test/chapter.test.js", + "counts": { + "tests": 4, + "failed": 0, + "passed": 4, + "cancelled": 0, + "skipped": 0, + "todo": 0, + "topLevel": 4, + "suites": 0 + }, + "success": true + }, + { + "type": "test:pass", + "name": "option defaults are fresh, keep all fields and callback shape: published 5.4.0", + "file": "test/options.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "option defaults are fresh, keep all fields and callback shape: workspace", + "file": "test/options.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "default values, keys and nested order match the published getter", + "file": "test/options.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "resolved options preserve unknown fields, merge ownership and collection item identity: published", + "file": "test/options.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "getter reads and inherited container restoration retain their order: published", + "file": "test/options.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "resolved options preserve unknown fields, merge ownership and collection item identity: workspace", + "file": "test/options.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "getter reads and inherited container restoration retain their order: workspace", + "file": "test/options.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "invalid JS input keeps the published validation path, first error and thrown kind", + "file": "test/options.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:summary", + "file": "test/options.test.js", + "counts": { + "tests": 8, + "failed": 0, + "passed": 8, + "cancelled": 0, + "skipped": 0, + "todo": 0, + "topLevel": 8, + "suites": 0 + }, + "success": true + }, + { + "type": "test:pass", + "name": "plugin registration keeps receiver, arguments, id, descriptors and naming precedence", + "file": "test/plugins.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "async factories preserve pending visibility, completion-time fallback and registry fulfillment", + "file": "test/plugins.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "only same-realm Promises are awaited, preserving catch-less thenables and foreign promises", + "file": "test/plugins.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "closed registries ignore late results without inspecting or destroying them and reject new factories", + "file": "test/plugins.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "reentrant destruction in a name getter or property-key coercion cannot publish a result", + "file": "test/plugins.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "live key coercion order and symbol-name failure retain native behavior", + "file": "test/plugins.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "constructor stops after a synchronous close and observes its own async rejection", + "file": "test/plugins.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "registration during reset is rejected before resource scope disposal", + "file": "test/plugins.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:summary", + "file": "test/plugins.test.js", + "counts": { + "tests": 8, + "failed": 0, + "passed": 8, + "cancelled": 0, + "skipped": 0, + "todo": 0, + "topLevel": 8, + "suites": 0 + }, + "success": true + }, + { + "type": "test:pass", + "name": "EVENT.lazy-registry: published 5.4.0", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.symbol-number-channels: published 5.4.0", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.context-removal: published 5.4.0", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.once-throw-consumed: published 5.4.0", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.chain-context-arguments: published 5.4.0", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.once-reentry: published 5.4.0", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.dispatch-snapshot: published 5.4.0", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.off-original-once: published 5.4.0", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.throw-propagation: published 5.4.0", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.lazy-registry: workspace", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.symbol-number-channels: workspace", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.context-removal: workspace", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.once-throw-consumed: workspace", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.chain-context-arguments: workspace", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.once-reentry: workspace", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.dispatch-snapshot: workspace", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.off-original-once: workspace", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.throw-propagation: workspace", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.prototype-event-names: candidate supports names that collide with Object.prototype", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "EVENT.once-nested-snapshot: candidate consumes a once registration across nested dispatch snapshots", + "file": "test/public-behavior.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:summary", + "file": "test/public-behavior.test.js", + "counts": { + "tests": 20, + "failed": 0, + "passed": 20, + "cancelled": 0, + "skipped": 0, + "todo": 0, + "topLevel": 20, + "suites": 0 + }, + "success": true + }, + { + "type": "test:pass", + "name": "storage preserves envelope, mutable name/settings fields and synchronous returns", + "file": "test/storage.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "storage retains truthy key selection and historical JSON payload shapes", + "file": "test/storage.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "storage falls back on denied native access and retains in-memory references", + "file": "test/storage.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:pass", + "name": "storage write failure does not merge fallback into successful native reads", + "file": "test/storage.test.js", + "nesting": 0, + "kind": "test" + }, + { + "type": "test:summary", + "file": "test/storage.test.js", + "counts": { + "tests": 4, + "failed": 0, + "passed": 4, + "cancelled": 0, + "skipped": 0, + "todo": 0, + "topLevel": 4, + "suites": 0 + }, + "success": true + }, + { + "type": "test:summary", + "counts": { + "tests": 44, + "failed": 0, + "passed": 44, + "cancelled": 0, + "skipped": 0, + "todo": 0, + "topLevel": 44, + "suites": 0 + }, + "success": true + } + ], + "outcome": "passed", + "cases": [ + { + "id": "CT-CORE-OPTIONS-001", + "definition": { + "id": "CT-CORE-OPTIONS-001", + "package": "artplayer", + "contracts": [ + "API-01" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/options.test.js", + "title": "default values, keys and nested order match the published getter", + "versionIds": [ + "WS-artplayer", + "PUB-artplayer-5.4.0" + ], + "scope": "Current option getter compared with archived published 5.4.0", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + "definitionSha256": "09563a14a8a96828bc82a0d71e9dc644ccd8604cbbf8f4532e871e541a90ff30", + "status": "passed" + }, + { + "id": "CT-CORE-OPTIONS-002", + "definition": { + "id": "CT-CORE-OPTIONS-002", + "package": "artplayer", + "contracts": [ + "API-01" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/options.test.js", + "title": "invalid JS input keeps the published validation path, first error and thrown kind", + "versionIds": [ + "WS-artplayer", + "PUB-artplayer-5.4.0" + ], + "scope": "Nine invalid input patches compare first error name/message with published 5.4.0", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + "definitionSha256": "0b30ac351c3a3187c2fe9f43d43e8ec62cb0f90c07acccad6689401c4efa91d7", + "status": "passed" + }, + { + "id": "CT-CORE-PLUGINS-001", + "definition": { + "id": "CT-CORE-PLUGINS-001", + "package": "artplayer", + "contracts": [ + "API-03", + "API-06" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/plugins.test.js", + "title": "plugin registration keeps receiver, arguments, id, descriptors and naming precedence", + "versionIds": [ + "WS-artplayer" + ], + "scope": "Controlled registry checks receiver, identity, hidden nonwritable descriptor and naming conflicts", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + "definitionSha256": "18869a4baab6d23bff5c4eb8de9dddb1366763c684d28fc0c34459cb907d2139", + "status": "passed" + }, + { + "id": "CT-CORE-PLUGINS-002", + "definition": { + "id": "CT-CORE-PLUGINS-002", + "package": "artplayer", + "contracts": [ + "API-02", + "API-06" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/plugins.test.js", + "title": "async factories preserve pending visibility, completion-time fallback and registry fulfillment", + "versionIds": [ + "WS-artplayer" + ], + "scope": "Controlled asynchronous factory visibility and returned registry", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + "definitionSha256": "d088ea5491818ddddea2f7bcbcff3409904d3725f221826ea0f15c28d4e638c8", + "status": "passed" + }, + { + "id": "CT-CORE-PLUGINS-003", + "definition": { + "id": "CT-CORE-PLUGINS-003", + "package": "artplayer", + "contracts": [ + "API-05", + "API-06" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/plugins.test.js", + "title": "closed registries ignore late results without inspecting or destroying them and reject new factories", + "versionIds": [ + "WS-artplayer" + ], + "scope": "Disposed scope suppresses late result getters and disallows further factory execution", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + "definitionSha256": "0e53fcb5fcacef46b28e5aea1493e79fe39a8ffa12bd63cb048551d3e53618d8", + "status": "passed" + }, + { + "id": "CT-CORE-EVENTS-001", + "definition": { + "id": "CT-CORE-EVENTS-001", + "package": "artplayer", + "contracts": [ + "API-04" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/public-behavior.test.js", + "title": "EVENT.once-nested-snapshot: candidate consumes a once registration across nested dispatch snapshots", + "versionIds": [ + "WS-artplayer", + "PUB-artplayer-5.4.0" + ], + "scope": "Published duplicate nested once dispatch is reproduced; current consumes once exactly once", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + "definitionSha256": "c1aaec5a180bc6f280ce6f3c4907ca5653e77b8aa9c311db3436f3629bf11bcd", + "status": "passed" + }, + { + "id": "CT-CORE-STORAGE-001", + "definition": { + "id": "CT-CORE-STORAGE-001", + "package": "artplayer", + "contracts": [ + "API-02", + "API-12" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/storage.test.js", + "title": "storage preserves envelope, mutable name/settings fields and synchronous returns", + "versionIds": [ + "WS-artplayer" + ], + "scope": "Controlled localStorage verifies exact key/envelope and synchronous returns", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + "definitionSha256": "838782dda9d76569ffcd6f87bdaa5c6a80273b153fd6d7c469ae240a67c075b6", + "status": "passed" + }, + { + "id": "CT-CORE-STORAGE-002", + "definition": { + "id": "CT-CORE-STORAGE-002", + "package": "artplayer", + "contracts": [ + "API-12" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/storage.test.js", + "title": "storage retains truthy key selection and historical JSON payload shapes", + "versionIds": [ + "WS-artplayer" + ], + "scope": "Array/scalar/null/malformed JSON cases retain historical fallback semantics", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + "definitionSha256": "f0b40446b3c91cd4c9635d23e8976e5bc60c926cbb5926f7e48b3b05ad822581", + "status": "passed" + }, + { + "id": "CT-CHAPTER-NORMALIZE-001", + "definition": { + "id": "CT-CHAPTER-NORMALIZE-001", + "package": "artplayer-plugin-chapter", + "contracts": [ + "API-01", + "API-02" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/chapter.test.js", + "title": "Chapter normalization preserves caller array and objects while filling every gap", + "versionIds": [ + "WS-artplayer-plugin-chapter" + ], + "scope": "Current normalizer retains caller array and chapter identity across repeated normalization", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + "definitionSha256": "e1aae329f55e06f9d9fa310082c469fd55dfaa967316eb836b3fe2e55d06a89e", + "status": "passed" + }, + { + "id": "CT-CHAPTER-NORMALIZE-002", + "definition": { + "id": "CT-CHAPTER-NORMALIZE-002", + "package": "artplayer-plugin-chapter", + "contracts": [ + "API-02" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/chapter.test.js", + "title": "Chapter endpoints, adjacency and Infinity normalization retain historical behavior", + "versionIds": [ + "WS-artplayer-plugin-chapter" + ], + "scope": "Current normalizer retains adjacent endpoints and resolves Infinity against duration", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + "definitionSha256": "189793fb5c9852facd32fe54407575ec42287a5c4ae58891f8ce42f70195ebd5", + "status": "passed" + } + ], + "limitations": "Selected source/controlled-host assertions only; not full family, package tarball, browser, device, SDK or support-range acceptance" +} diff --git a/refactor/baselines/contracts-validation.json b/refactor/baselines/contracts-validation.json new file mode 100644 index 000000000..e195ccd9f --- /dev/null +++ b/refactor/baselines/contracts-validation.json @@ -0,0 +1,107 @@ +{ + "schemaVersion": 1, + "task": "ENG-COVERAGE-01", + "status": "done", + "sourceCommit": "6abac891ceb42bbff2c285befab3fda85490c3e9", + "model": { + "packages": 22, + "contractFamilies": 12, + "ownerRows": 264, + "workspaceVersionPoints": 22, + "publishedVersionPoints": 7, + "indexedCases": 10, + "rowsAwaitingTestIndexing": 255 + }, + "checks": [ + { + "command": "node --test refactor/scripts/contracts.test.mjs", + "result": "pass", + "tests": 7, + "log": { + "file": "refactor/.cache/contracts-tests-final-guards.log", + "sha256": "3d4c38f9710755ff6f825171d4798b0f53d516e2422c02a688315f10fe0e7d78" + } + }, + { + "command": "node --test --test-reporter=D:/github/ArtPlayer/refactor/scripts/contract-reporter.mjs test/chapter.test.js", + "result": "Windows absolute ESM specifier failure reproduced; fixture fixed with file URL", + "log": { + "file": "refactor/.cache/contracts-reporter-path-before.log", + "sha256": "5009c96b9108020b163f72bf9ae50d9e7336616977e023f79e1ff3368c3b205f" + } + }, + { + "command": "eslint contract index/model/runner/reporter/tests --no-fix", + "result": "pass", + "log": { + "file": "refactor/.cache/contracts-lint-verified.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + { + "command": "node refactor/scripts/run-contracts.mjs (final targeted verification)", + "result": "pass", + "executedTests": 44, + "indexedAssertions": 10, + "scope": "Five existing Node files; repeated executions are not new functional coverage", + "report": "refactor/baselines/contract-observations/2026-09-12-source-final.json", + "log": { + "file": "refactor/.cache/contracts-run-verified.log", + "sha256": "d34a6bfaa5bef99e48622886612aef299c8a7c475ab69baf721f951019aa14a4" + } + }, + { + "command": "yarn ci:check", + "result": "pass", + "tests": { + "unit": 832, + "engineering": 14, + "baseline": 72, + "mainTestChainTotal": 918, + "additionalRepeatedContractExecutions": 44 + }, + "log": { + "file": "refactor/.cache/contracts-ci-verified.log", + "sha256": "3695a31e9952fc7d24d4221b306e8e61eaf44e86d945a681e2e05f290362085a" + } + } + ], + "inputs": [ + { + "file": "package.json", + "sha256LF": "a114d0f1c1532e90984a93cc703dfcb250107f5de56b5a62bf4c30ad4f64c25b" + }, + { + "file": "refactor/contract-policy.json", + "sha256LF": "ca545a3e721313f0dcb59c549c14589c108e064ff396a72a2c14e4ee993b1a04" + }, + { + "file": "refactor/scripts/contracts-model.mjs", + "sha256LF": "99b3a774de9d4bbfbf6bc7728b74bf8784883e13ac24f5b9b7e5aff81367ca8a" + }, + { + "file": "refactor/scripts/contracts.mjs", + "sha256LF": "66dd75e6624574dd2648317d087d67fd17f4a310066fc63b3eb32b90f68fcf36" + }, + { + "file": "refactor/scripts/contracts.test.mjs", + "sha256LF": "022c46ac41b87b28fabded74dcda2658039b4487dfc1ff4d4d70edfbc08b8da3" + }, + { + "file": "refactor/scripts/contract-reporter.mjs", + "sha256LF": "9fdd6cd1814e12df18a294558da9a4a561b5b8eee8149b21902c1b99b855b8c9" + }, + { + "file": "refactor/scripts/run-contracts.mjs", + "sha256LF": "de7a44af890672605d6ce00c142420d146c4ba45b398786957b65edc3c25afd3" + } + ], + "limitations": [ + "Ownership index covers the twelve declared contract families, not exhaustive testing of every public member", + "255 rows lack exact test indexing; recorded historical tests are not thereby absent or failed", + "Only Node literal assertions normalized so far; browser/type/device/vendor evidence remains in its original reports and package/review tasks", + "Exact baseline versions do not establish continuous support ranges", + "Local CI only, no remote GitHub run; no npm release acceptance", + "Existing generated-doc lint warning and Yarn url.parse deprecation remain outside this engineering change" + ] +} diff --git a/refactor/changes/2026-09-12-ENG-COVERAGE-01-index.md b/refactor/changes/2026-09-12-ENG-COVERAGE-01-index.md new file mode 100644 index 000000000..fe5c82ff1 --- /dev/null +++ b/refactor/changes/2026-09-12-ENG-COVERAGE-01-index.md @@ -0,0 +1,22 @@ +# ENG-COVERAGE-01 契约覆盖与报告对应 + +起点6abac891。创建22包×12契约归属、29个版本依据(22工作区/7发布),从真实断言 +逐条登记10个稳定ID。其他用例待索引,历史JSON按任务列出,不把旧总数当作当前契约 +通过。维护方式见 [契约覆盖维护](../contract-coverage.md)。 + +check:contracts/test:contracts接入ci:check,五文件44项产生10个精确观察,保留候选 +字节指纹、实际事件、当时定义及来源;输入/定义变化标旧,skip/todo/失败不算通过。 +没有生产源码或运行时依赖修改。 + +七组测试覆盖路径/版本/任务/ID/报告反例,并启动真实Node验证失败、skip/todo。首轮 +发现Windows绝对路径不能直接作ESM reporter specifier,独立复现后改file URL。生产 +runner原本用相对specifier,不受影响。失败日志保留,完整结果在完成前归档。 + +文档入口明确早期未运行描述是历史目录,后续查progress与包记录,没有批量改成通过。 +未运行远端Actions或发布。回退本步移除CI两个命令及相应脚本/策略/报告/文档,原有 +包行为和测试不受影响。逐成员映射、浏览器/类型解析和设备/SDK验收由包任务及REVIEW/ +REL继续;本任务不批准发布。 + +最终七组反例通过,主测试链918项及44项重复观察执行通过,专项lint通过。补齐空清单 +拒绝和不同ID重复同一断言的拒绝,避免隐式发现或虚增索引。两个阶段实际报告分别 +归档,旧候选保持历史;完整记录见 [验证证据](../baselines/contracts-validation.json)。 diff --git a/refactor/ci-setup.md b/refactor/ci-setup.md index cf0bcda26..419ca7f8d 100644 --- a/refactor/ci-setup.md +++ b/refactor/ci-setup.md @@ -15,6 +15,8 @@ | `yarn test:browser` | 隔离服务执行 Chromium/Firefox/WebKit 真实播放;首次先运行 test:browser:install,详见 [入口](../test/browser/README.md) | | `yarn test:imports` | 3 个既有包导入 smoke,构建后执行以使用新产物;不把 console 示例视为完整行为断言 | | `yarn test:baseline` | 固定发布包完整性及本地 HTTP 基线测试;首次可能下载已固定归档到缓存 | +| `yarn test:contracts` | 重跑已登记断言的Node文件并采集精确事件/候选指纹,当前44项包含10个索引断言 | +| `yarn check:contracts --report` | 校验12类契约/22包归属、版本及报告对应;--write更新静态表,详见 [维护说明](contract-coverage.md) | | `yarn ci:check` | 严格 Node/Yarn/锁检查、计划、只读 lint、类型、Node 和基线测试;允许写忽略缓存,不修改源码 | | `yarn ci:build` | 21 库包、i18n、编辑器声明和文档站构建,以及构建后包导入 smoke;会生成 dist 和 docs 内容 | | `yarn check:impact --report` | 读取实际依赖/验证关系和Git变更,核对workflow必需命令,写CI影响报告;已接入ci:check,见[影响映射](impact-analysis.md) | diff --git a/refactor/contract-coverage.md b/refactor/contract-coverage.md new file mode 100644 index 000000000..f3481bc4f --- /dev/null +++ b/refactor/contract-coverage.md @@ -0,0 +1,73 @@ +# 契约、版本与测试证据维护 + +ENG-COVERAGE-01建立可校验的归属和证据索引,不把索引建成当作全项目兼容通过。 +[生成的索引](contract-index.md)覆盖compatibility.md的12类契约及实际22包,共264行。 +每行有责任任务;未整理的测试、精确支持范围、设备和发布包验证保持缺口。站点契约 +适用性由SITE审查,不给文档站编造播放器构造器。逐成员复盘仍属各包契约及REVIEW-02; +宽泛API编号不是每个方法、参数、事件都已测过的证明。 + +## 数据与版本 + +`contract-policy.json`维护逐包逐类责任、版本依据及稳定测试ID。版本用JSON pointer +指向冻结清单,核对包名、版本和发布archive integrity;工作区单独标识。当前22个 +工作区、7个发布对照点,不由单个版本推断连续支持区间。 + +`contract-runs.json`引用归档报告及LF规范化SHA-256。报告保存当时定义、实际事件、 +输入指纹、命令、HEAD和Node/OS。其他tasks.json历史JSON证据列为recorded-not-normalized, +保留原文及任务,不能按通过总数猜具体断言已执行。 + +本批逐条核对10个已有断言,涉及核心配置、注册、事件、存储及chapter归一化。五个 +文件执行44项,仅精确匹配的10项作索引观察,其余34项不自动分配契约。255行尚未 +录入测试ID,表示索引缺口,不表示这些功能都没有测试;历史事实仍查包记录及changes。 + +## 命令与CI + +```sh +yarn test:contracts +yarn check:contracts --write +yarn check:contracts --report +``` + +执行器使用独立Node进程,固定文件列表且不接受过滤器;清除ARTPLAYER产物覆盖及 +NODE_OPTIONS,避免把临时指定产物误记为当前源码。执行前后核对包源码/声明/manifest、 +测试/脚本/夹具、工具锁及版本依据;输入变化拒绝结果。指纹是实际字节快照,换行或 +相关脚本变化也会保守判旧。 + +Reporter记录Node实际pass/fail/summary的文件、名称、skip/todo及整体结果,不按数量 +猜通过。接口依据[Node24官方文档](https://nodejs.org/docs/latest-v24.x/api/test.html#custom-reporters)。 +测试ID须唯一对应源码中的Node test字面量调用;参数化、浏览器和类型报告仍保留 +历史原始记录,后续增加各自解析器及反例,不能用当前适配器假装已经覆盖。 + +CI先执行观察,再检查索引。`refactor/.cache/ci/contracts-run.json`保存本轮结果, +`contracts.json`保存动态索引,随已有checks artifact收集。原始事件和stderr另存 +`refactor/.cache/contracts/run-*/`。原有测试不减少;44项重复执行是链路验证,不算 +新增44种功能覆盖。 + +## 状态 + +| 状态 | 含义 | +| --- | --- | +| tests-not-indexed | 尚无精确映射,仍有责任任务 | +| planned-not-observed | 映射存在,没有结构化执行报告 | +| partial-observations | 有具体结果,不代表整个契约类或包通过 | +| current-inputs | 定义及输入指纹与当前一致 | +| historical-inputs | 定义一致,源码/测试/工具等输入已变化 | +| historical-definition | 定义已变化,保留旧定义实际范围 | +| skipped / failed | 原始结果原样保留,不折算成通过 | + +无效路径、重复ID、错误任务、错包/版本/integrity、无实际测试、报告被修改或结果 +矛盾会失败。旧输入、未索引或缺环境明确列为缺口,不阻止无关迁移;对应发布由REL/ +REVIEW把关。哈希和结构只能证明对应关系,不能证明断言充分,也不是证据数字签名。 + +## 后续AI维护 + +1. 修改前检查包的12行及历史报告,定位具体公开成员/参数/事件并核对适用性。 +2. 登记稳定ID、精确文件/标题、命令、版本依据、断言范围和限制。ID不能改归其他包; + 旧报告保留旧定义,不能重写历史消除差异。 +3. 修改后执行test:contracts。归档时复制实际report.json到baselines/contract-observations, + 将LF哈希加入runs;核对输入、skip/todo、整体失败及语义,不手写passed。 +4. --write更新静态表,--report检查动态结果,再跑ci:check。done及独立commit遵循 + commit-audit;不能拿旧CI总数批准新实现。 + +支持窗口仍需包契约、旧核心组合和环境证明。VAST的VPN例外不改变类型、生命周期或 +其他包结论;当前没有据此新增skip。 diff --git a/refactor/contract-index.md b/refactor/contract-index.md new file mode 100644 index 000000000..c10b93a24 --- /dev/null +++ b/refactor/contract-index.md @@ -0,0 +1,318 @@ +# 公开契约覆盖索引 + +> 由 contract-policy.json 生成;`yarn check:contracts --write` 更新。动态候选/报告状态见 `yarn check:contracts --report`。 + +覆盖12类兼容契约与22包的验证归属;不是每个公开成员的穷尽测试证明。没有固定测试ID的行仍需逐成员补齐。 +版本均为精确冻结对照点,不能推导连续支持区间。历史报告保留原状态,只有精确用例和候选指纹对应时才列为观察结果。 + +| 包 | 契约 | 责任任务 | 固定测试ID | +| --- | --- | --- | --- | +| artplayer | API-01 构造与配置 | REVIEW-02 | CT-CORE-OPTIONS-001, CT-CORE-OPTIONS-002 | +| artplayer | API-02 属性与方法 | REVIEW-02 | CT-CORE-PLUGINS-002, CT-CORE-STORAGE-001 | +| artplayer | API-03 属性描述符 | REVIEW-02 | CT-CORE-PLUGINS-001 | +| artplayer | API-04 事件 | REVIEW-02 | CT-CORE-EVENTS-001 | +| artplayer | API-05 生命周期 | REVIEW-02 | CT-CORE-PLUGINS-003 | +| artplayer | API-06 插件注册 | REVIEW-02 | CT-CORE-PLUGINS-001, CT-CORE-PLUGINS-002, CT-CORE-PLUGINS-003 | +| artplayer | API-07 生态集成 | REVIEW-02 | 待索引;不代表没有历史测试 | +| artplayer | API-08 DOM/CSS | REVIEW-02 | 待索引;不代表没有历史测试 | +| artplayer | API-09 包分发 | REVIEW-02 | 待索引;不代表没有历史测试 | +| artplayer | API-10 浏览器能力 | REL-03 | 待索引;不代表没有历史测试 | +| artplayer | API-11 TypeScript | REVIEW-02 | 待索引;不代表没有历史测试 | +| artplayer | API-12 持久状态与协议 | REVIEW-02 | CT-CORE-STORAGE-001, CT-CORE-STORAGE-002 | +| artplayer-plugin-ads | API-01 构造与配置 | PKG-ADS-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-ads | API-02 属性与方法 | PKG-ADS-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-ads | API-03 属性描述符 | PKG-ADS-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-ads | API-04 事件 | PKG-ADS-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-ads | API-05 生命周期 | PKG-ADS-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-ads | API-06 插件注册 | PKG-ADS-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-ads | API-07 生态集成 | PKG-ADS-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-ads | API-08 DOM/CSS | PKG-ADS-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-ads | API-09 包分发 | PKG-ADS-06 | 待索引;不代表没有历史测试 | +| artplayer-plugin-ads | API-10 浏览器能力 | REL-03 | 待索引;不代表没有历史测试 | +| artplayer-plugin-ads | API-11 TypeScript | PKG-ADS-04 | 待索引;不代表没有历史测试 | +| artplayer-plugin-ads | API-12 持久状态与协议 | PKG-ADS-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-ambilight | API-01 构造与配置 | PKG-AMBILIGHT-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-ambilight | API-02 属性与方法 | PKG-AMBILIGHT-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-ambilight | API-03 属性描述符 | PKG-AMBILIGHT-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-ambilight | API-04 事件 | PKG-AMBILIGHT-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-ambilight | API-05 生命周期 | PKG-AMBILIGHT-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-ambilight | API-06 插件注册 | PKG-AMBILIGHT-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-ambilight | API-07 生态集成 | PKG-AMBILIGHT-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-ambilight | API-08 DOM/CSS | PKG-AMBILIGHT-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-ambilight | API-09 包分发 | PKG-AMBILIGHT-06 | 待索引;不代表没有历史测试 | +| artplayer-plugin-ambilight | API-10 浏览器能力 | REL-03 | 待索引;不代表没有历史测试 | +| artplayer-plugin-ambilight | API-11 TypeScript | PKG-AMBILIGHT-04 | 待索引;不代表没有历史测试 | +| artplayer-plugin-ambilight | API-12 持久状态与协议 | PKG-AMBILIGHT-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-asr | API-01 构造与配置 | PKG-ASR-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-asr | API-02 属性与方法 | PKG-ASR-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-asr | API-03 属性描述符 | PKG-ASR-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-asr | API-04 事件 | PKG-ASR-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-asr | API-05 生命周期 | PKG-ASR-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-asr | API-06 插件注册 | PKG-ASR-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-asr | API-07 生态集成 | PKG-ASR-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-asr | API-08 DOM/CSS | PKG-ASR-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-asr | API-09 包分发 | PKG-ASR-06 | 待索引;不代表没有历史测试 | +| artplayer-plugin-asr | API-10 浏览器能力 | REL-03 | 待索引;不代表没有历史测试 | +| artplayer-plugin-asr | API-11 TypeScript | PKG-ASR-04 | 待索引;不代表没有历史测试 | +| artplayer-plugin-asr | API-12 持久状态与协议 | PKG-ASR-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-audio-track | API-01 构造与配置 | PKG-AUDIO-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-audio-track | API-02 属性与方法 | PKG-AUDIO-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-audio-track | API-03 属性描述符 | PKG-AUDIO-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-audio-track | API-04 事件 | PKG-AUDIO-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-audio-track | API-05 生命周期 | PKG-AUDIO-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-audio-track | API-06 插件注册 | PKG-AUDIO-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-audio-track | API-07 生态集成 | PKG-AUDIO-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-audio-track | API-08 DOM/CSS | PKG-AUDIO-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-audio-track | API-09 包分发 | PKG-AUDIO-06 | 待索引;不代表没有历史测试 | +| artplayer-plugin-audio-track | API-10 浏览器能力 | REL-03 | 待索引;不代表没有历史测试 | +| artplayer-plugin-audio-track | API-11 TypeScript | PKG-AUDIO-04 | 待索引;不代表没有历史测试 | +| artplayer-plugin-audio-track | API-12 持久状态与协议 | PKG-AUDIO-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-auto-thumbnail | API-01 构造与配置 | PKG-AUTO-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-auto-thumbnail | API-02 属性与方法 | PKG-AUTO-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-auto-thumbnail | API-03 属性描述符 | PKG-AUTO-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-auto-thumbnail | API-04 事件 | PKG-AUTO-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-auto-thumbnail | API-05 生命周期 | PKG-AUTO-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-auto-thumbnail | API-06 插件注册 | PKG-AUTO-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-auto-thumbnail | API-07 生态集成 | PKG-AUTO-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-auto-thumbnail | API-08 DOM/CSS | PKG-AUTO-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-auto-thumbnail | API-09 包分发 | PKG-AUTO-THUMB-06 | 待索引;不代表没有历史测试 | +| artplayer-plugin-auto-thumbnail | API-10 浏览器能力 | REL-03 | 待索引;不代表没有历史测试 | +| artplayer-plugin-auto-thumbnail | API-11 TypeScript | PKG-AUTO-THUMB-04 | 待索引;不代表没有历史测试 | +| artplayer-plugin-auto-thumbnail | API-12 持久状态与协议 | PKG-AUTO-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-chapter | API-01 构造与配置 | PKG-CHAPTER-02 | CT-CHAPTER-NORMALIZE-001 | +| artplayer-plugin-chapter | API-02 属性与方法 | PKG-CHAPTER-02 | CT-CHAPTER-NORMALIZE-001, CT-CHAPTER-NORMALIZE-002 | +| artplayer-plugin-chapter | API-03 属性描述符 | PKG-CHAPTER-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-chapter | API-04 事件 | PKG-CHAPTER-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-chapter | API-05 生命周期 | PKG-CHAPTER-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-chapter | API-06 插件注册 | PKG-CHAPTER-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-chapter | API-07 生态集成 | PKG-CHAPTER-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-chapter | API-08 DOM/CSS | PKG-CHAPTER-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-chapter | API-09 包分发 | PKG-CHAPTER-06 | 待索引;不代表没有历史测试 | +| artplayer-plugin-chapter | API-10 浏览器能力 | REL-03 | 待索引;不代表没有历史测试 | +| artplayer-plugin-chapter | API-11 TypeScript | PKG-CHAPTER-04 | 待索引;不代表没有历史测试 | +| artplayer-plugin-chapter | API-12 持久状态与协议 | PKG-CHAPTER-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-chromecast | API-01 构造与配置 | PKG-CAST-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-chromecast | API-02 属性与方法 | PKG-CAST-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-chromecast | API-03 属性描述符 | PKG-CAST-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-chromecast | API-04 事件 | PKG-CAST-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-chromecast | API-05 生命周期 | PKG-CAST-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-chromecast | API-06 插件注册 | PKG-CAST-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-chromecast | API-07 生态集成 | PKG-CAST-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-chromecast | API-08 DOM/CSS | PKG-CAST-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-chromecast | API-09 包分发 | PKG-CAST-06 | 待索引;不代表没有历史测试 | +| artplayer-plugin-chromecast | API-10 浏览器能力 | REL-03 | 待索引;不代表没有历史测试 | +| artplayer-plugin-chromecast | API-11 TypeScript | PKG-CAST-04 | 待索引;不代表没有历史测试 | +| artplayer-plugin-chromecast | API-12 持久状态与协议 | PKG-CAST-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-danmuku | API-01 构造与配置 | PKG-DANMUKU-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-danmuku | API-02 属性与方法 | PKG-DANMUKU-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-danmuku | API-03 属性描述符 | PKG-DANMUKU-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-danmuku | API-04 事件 | PKG-DANMUKU-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-danmuku | API-05 生命周期 | PKG-DANMUKU-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-danmuku | API-06 插件注册 | PKG-DANMUKU-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-danmuku | API-07 生态集成 | PKG-DANMUKU-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-danmuku | API-08 DOM/CSS | PKG-DANMUKU-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-danmuku | API-09 包分发 | PKG-DANMUKU-06 | 待索引;不代表没有历史测试 | +| artplayer-plugin-danmuku | API-10 浏览器能力 | REL-03 | 待索引;不代表没有历史测试 | +| artplayer-plugin-danmuku | API-11 TypeScript | PKG-DANMUKU-04 | 待索引;不代表没有历史测试 | +| artplayer-plugin-danmuku | API-12 持久状态与协议 | PKG-DANMUKU-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-danmuku-mask | API-01 构造与配置 | PKG-MASK-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-danmuku-mask | API-02 属性与方法 | PKG-MASK-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-danmuku-mask | API-03 属性描述符 | PKG-MASK-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-danmuku-mask | API-04 事件 | PKG-MASK-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-danmuku-mask | API-05 生命周期 | PKG-MASK-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-danmuku-mask | API-06 插件注册 | PKG-MASK-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-danmuku-mask | API-07 生态集成 | PKG-MASK-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-danmuku-mask | API-08 DOM/CSS | PKG-MASK-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-danmuku-mask | API-09 包分发 | PKG-MASK-06 | 待索引;不代表没有历史测试 | +| artplayer-plugin-danmuku-mask | API-10 浏览器能力 | REL-03 | 待索引;不代表没有历史测试 | +| artplayer-plugin-danmuku-mask | API-11 TypeScript | PKG-MASK-04 | 待索引;不代表没有历史测试 | +| artplayer-plugin-danmuku-mask | API-12 持久状态与协议 | PKG-MASK-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-dash-control | API-01 构造与配置 | PKG-DASH-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-dash-control | API-02 属性与方法 | PKG-DASH-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-dash-control | API-03 属性描述符 | PKG-DASH-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-dash-control | API-04 事件 | PKG-DASH-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-dash-control | API-05 生命周期 | PKG-DASH-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-dash-control | API-06 插件注册 | PKG-DASH-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-dash-control | API-07 生态集成 | PKG-DASH-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-dash-control | API-08 DOM/CSS | PKG-DASH-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-dash-control | API-09 包分发 | PKG-DASH-06 | 待索引;不代表没有历史测试 | +| artplayer-plugin-dash-control | API-10 浏览器能力 | REL-03 | 待索引;不代表没有历史测试 | +| artplayer-plugin-dash-control | API-11 TypeScript | PKG-DASH-04 | 待索引;不代表没有历史测试 | +| artplayer-plugin-dash-control | API-12 持久状态与协议 | PKG-DASH-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-document-pip | API-01 构造与配置 | PKG-DPIP-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-document-pip | API-02 属性与方法 | PKG-DPIP-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-document-pip | API-03 属性描述符 | PKG-DPIP-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-document-pip | API-04 事件 | PKG-DPIP-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-document-pip | API-05 生命周期 | PKG-DPIP-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-document-pip | API-06 插件注册 | PKG-DPIP-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-document-pip | API-07 生态集成 | PKG-DPIP-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-document-pip | API-08 DOM/CSS | PKG-DPIP-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-document-pip | API-09 包分发 | PKG-DPIP-06 | 待索引;不代表没有历史测试 | +| artplayer-plugin-document-pip | API-10 浏览器能力 | REL-03 | 待索引;不代表没有历史测试 | +| artplayer-plugin-document-pip | API-11 TypeScript | PKG-DPIP-04 | 待索引;不代表没有历史测试 | +| artplayer-plugin-document-pip | API-12 持久状态与协议 | PKG-DPIP-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-hls-control | API-01 构造与配置 | PKG-HLS-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-hls-control | API-02 属性与方法 | PKG-HLS-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-hls-control | API-03 属性描述符 | PKG-HLS-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-hls-control | API-04 事件 | PKG-HLS-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-hls-control | API-05 生命周期 | PKG-HLS-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-hls-control | API-06 插件注册 | PKG-HLS-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-hls-control | API-07 生态集成 | PKG-HLS-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-hls-control | API-08 DOM/CSS | PKG-HLS-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-hls-control | API-09 包分发 | PKG-HLS-06 | 待索引;不代表没有历史测试 | +| artplayer-plugin-hls-control | API-10 浏览器能力 | REL-03 | 待索引;不代表没有历史测试 | +| artplayer-plugin-hls-control | API-11 TypeScript | PKG-HLS-04 | 待索引;不代表没有历史测试 | +| artplayer-plugin-hls-control | API-12 持久状态与协议 | PKG-HLS-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-jassub | API-01 构造与配置 | PKG-JASSUB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-jassub | API-02 属性与方法 | PKG-JASSUB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-jassub | API-03 属性描述符 | PKG-JASSUB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-jassub | API-04 事件 | PKG-JASSUB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-jassub | API-05 生命周期 | PKG-JASSUB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-jassub | API-06 插件注册 | PKG-JASSUB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-jassub | API-07 生态集成 | PKG-JASSUB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-jassub | API-08 DOM/CSS | PKG-JASSUB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-jassub | API-09 包分发 | PKG-JASSUB-06 | 待索引;不代表没有历史测试 | +| artplayer-plugin-jassub | API-10 浏览器能力 | REL-03 | 待索引;不代表没有历史测试 | +| artplayer-plugin-jassub | API-11 TypeScript | PKG-JASSUB-04 | 待索引;不代表没有历史测试 | +| artplayer-plugin-jassub | API-12 持久状态与协议 | PKG-JASSUB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-multiple-subtitles | API-01 构造与配置 | PKG-MULTI-SUB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-multiple-subtitles | API-02 属性与方法 | PKG-MULTI-SUB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-multiple-subtitles | API-03 属性描述符 | PKG-MULTI-SUB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-multiple-subtitles | API-04 事件 | PKG-MULTI-SUB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-multiple-subtitles | API-05 生命周期 | PKG-MULTI-SUB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-multiple-subtitles | API-06 插件注册 | PKG-MULTI-SUB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-multiple-subtitles | API-07 生态集成 | PKG-MULTI-SUB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-multiple-subtitles | API-08 DOM/CSS | PKG-MULTI-SUB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-multiple-subtitles | API-09 包分发 | PKG-MULTI-SUB-06 | 待索引;不代表没有历史测试 | +| artplayer-plugin-multiple-subtitles | API-10 浏览器能力 | REL-03 | 待索引;不代表没有历史测试 | +| artplayer-plugin-multiple-subtitles | API-11 TypeScript | PKG-MULTI-SUB-04 | 待索引;不代表没有历史测试 | +| artplayer-plugin-multiple-subtitles | API-12 持久状态与协议 | PKG-MULTI-SUB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-vast | API-01 构造与配置 | PKG-VAST-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-vast | API-02 属性与方法 | PKG-VAST-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-vast | API-03 属性描述符 | PKG-VAST-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-vast | API-04 事件 | PKG-VAST-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-vast | API-05 生命周期 | PKG-VAST-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-vast | API-06 插件注册 | PKG-VAST-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-vast | API-07 生态集成 | PKG-VAST-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-vast | API-08 DOM/CSS | PKG-VAST-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-vast | API-09 包分发 | PKG-VAST-06 | 待索引;不代表没有历史测试 | +| artplayer-plugin-vast | API-10 浏览器能力 | REL-03 | 待索引;不代表没有历史测试 | +| artplayer-plugin-vast | API-11 TypeScript | PKG-VAST-04 | 待索引;不代表没有历史测试 | +| artplayer-plugin-vast | API-12 持久状态与协议 | PKG-VAST-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-vtt-thumbnail | API-01 构造与配置 | PKG-VTT-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-vtt-thumbnail | API-02 属性与方法 | PKG-VTT-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-vtt-thumbnail | API-03 属性描述符 | PKG-VTT-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-vtt-thumbnail | API-04 事件 | PKG-VTT-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-vtt-thumbnail | API-05 生命周期 | PKG-VTT-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-vtt-thumbnail | API-06 插件注册 | PKG-VTT-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-vtt-thumbnail | API-07 生态集成 | PKG-VTT-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-vtt-thumbnail | API-08 DOM/CSS | PKG-VTT-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-plugin-vtt-thumbnail | API-09 包分发 | PKG-VTT-THUMB-06 | 待索引;不代表没有历史测试 | +| artplayer-plugin-vtt-thumbnail | API-10 浏览器能力 | REL-03 | 待索引;不代表没有历史测试 | +| artplayer-plugin-vtt-thumbnail | API-11 TypeScript | PKG-VTT-THUMB-04 | 待索引;不代表没有历史测试 | +| artplayer-plugin-vtt-thumbnail | API-12 持久状态与协议 | PKG-VTT-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-proxy-canvas | API-01 构造与配置 | PKG-CANVAS-02 | 待索引;不代表没有历史测试 | +| artplayer-proxy-canvas | API-02 属性与方法 | PKG-CANVAS-02 | 待索引;不代表没有历史测试 | +| artplayer-proxy-canvas | API-03 属性描述符 | PKG-CANVAS-02 | 待索引;不代表没有历史测试 | +| artplayer-proxy-canvas | API-04 事件 | PKG-CANVAS-02 | 待索引;不代表没有历史测试 | +| artplayer-proxy-canvas | API-05 生命周期 | PKG-CANVAS-02 | 待索引;不代表没有历史测试 | +| artplayer-proxy-canvas | API-06 插件注册 | PKG-CANVAS-02 | 待索引;不代表没有历史测试 | +| artplayer-proxy-canvas | API-07 生态集成 | PKG-CANVAS-02 | 待索引;不代表没有历史测试 | +| artplayer-proxy-canvas | API-08 DOM/CSS | PKG-CANVAS-02 | 待索引;不代表没有历史测试 | +| artplayer-proxy-canvas | API-09 包分发 | PKG-CANVAS-06 | 待索引;不代表没有历史测试 | +| artplayer-proxy-canvas | API-10 浏览器能力 | REL-03 | 待索引;不代表没有历史测试 | +| artplayer-proxy-canvas | API-11 TypeScript | PKG-CANVAS-04 | 待索引;不代表没有历史测试 | +| artplayer-proxy-canvas | API-12 持久状态与协议 | PKG-CANVAS-02 | 待索引;不代表没有历史测试 | +| artplayer-proxy-mediabunny | API-01 构造与配置 | PKG-MB-02 | 待索引;不代表没有历史测试 | +| artplayer-proxy-mediabunny | API-02 属性与方法 | PKG-MB-02 | 待索引;不代表没有历史测试 | +| artplayer-proxy-mediabunny | API-03 属性描述符 | PKG-MB-02 | 待索引;不代表没有历史测试 | +| artplayer-proxy-mediabunny | API-04 事件 | PKG-MB-02 | 待索引;不代表没有历史测试 | +| artplayer-proxy-mediabunny | API-05 生命周期 | PKG-MB-02 | 待索引;不代表没有历史测试 | +| artplayer-proxy-mediabunny | API-06 插件注册 | PKG-MB-02 | 待索引;不代表没有历史测试 | +| artplayer-proxy-mediabunny | API-07 生态集成 | PKG-MB-02 | 待索引;不代表没有历史测试 | +| artplayer-proxy-mediabunny | API-08 DOM/CSS | PKG-MB-02 | 待索引;不代表没有历史测试 | +| artplayer-proxy-mediabunny | API-09 包分发 | PKG-MB-10 | 待索引;不代表没有历史测试 | +| artplayer-proxy-mediabunny | API-10 浏览器能力 | REL-03 | 待索引;不代表没有历史测试 | +| artplayer-proxy-mediabunny | API-11 TypeScript | PKG-MB-08 | 待索引;不代表没有历史测试 | +| artplayer-proxy-mediabunny | API-12 持久状态与协议 | PKG-MB-02 | 待索引;不代表没有历史测试 | +| artplayer-tool-iframe | API-01 构造与配置 | PKG-IFRAME-02 | 待索引;不代表没有历史测试 | +| artplayer-tool-iframe | API-02 属性与方法 | PKG-IFRAME-02 | 待索引;不代表没有历史测试 | +| artplayer-tool-iframe | API-03 属性描述符 | PKG-IFRAME-02 | 待索引;不代表没有历史测试 | +| artplayer-tool-iframe | API-04 事件 | PKG-IFRAME-02 | 待索引;不代表没有历史测试 | +| artplayer-tool-iframe | API-05 生命周期 | PKG-IFRAME-02 | 待索引;不代表没有历史测试 | +| artplayer-tool-iframe | API-06 插件注册 | PKG-IFRAME-02 | 待索引;不代表没有历史测试 | +| artplayer-tool-iframe | API-07 生态集成 | PKG-IFRAME-02 | 待索引;不代表没有历史测试 | +| artplayer-tool-iframe | API-08 DOM/CSS | PKG-IFRAME-02 | 待索引;不代表没有历史测试 | +| artplayer-tool-iframe | API-09 包分发 | PKG-IFRAME-06 | 待索引;不代表没有历史测试 | +| artplayer-tool-iframe | API-10 浏览器能力 | REL-03 | 待索引;不代表没有历史测试 | +| artplayer-tool-iframe | API-11 TypeScript | PKG-IFRAME-04 | 待索引;不代表没有历史测试 | +| artplayer-tool-iframe | API-12 持久状态与协议 | PKG-IFRAME-02 | 待索引;不代表没有历史测试 | +| artplayer-tool-thumbnail | API-01 构造与配置 | PKG-TOOL-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-tool-thumbnail | API-02 属性与方法 | PKG-TOOL-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-tool-thumbnail | API-03 属性描述符 | PKG-TOOL-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-tool-thumbnail | API-04 事件 | PKG-TOOL-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-tool-thumbnail | API-05 生命周期 | PKG-TOOL-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-tool-thumbnail | API-06 插件注册 | PKG-TOOL-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-tool-thumbnail | API-07 生态集成 | PKG-TOOL-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-tool-thumbnail | API-08 DOM/CSS | PKG-TOOL-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-tool-thumbnail | API-09 包分发 | PKG-TOOL-THUMB-06 | 待索引;不代表没有历史测试 | +| artplayer-tool-thumbnail | API-10 浏览器能力 | REL-03 | 待索引;不代表没有历史测试 | +| artplayer-tool-thumbnail | API-11 TypeScript | PKG-TOOL-THUMB-04 | 待索引;不代表没有历史测试 | +| artplayer-tool-thumbnail | API-12 持久状态与协议 | PKG-TOOL-THUMB-02 | 待索引;不代表没有历史测试 | +| artplayer-vitepress | API-01 构造与配置 | SITE-06 | 待索引;不代表没有历史测试 | +| artplayer-vitepress | API-02 属性与方法 | SITE-06 | 待索引;不代表没有历史测试 | +| artplayer-vitepress | API-03 属性描述符 | SITE-06 | 待索引;不代表没有历史测试 | +| artplayer-vitepress | API-04 事件 | SITE-06 | 待索引;不代表没有历史测试 | +| artplayer-vitepress | API-05 生命周期 | SITE-06 | 待索引;不代表没有历史测试 | +| artplayer-vitepress | API-06 插件注册 | SITE-06 | 待索引;不代表没有历史测试 | +| artplayer-vitepress | API-07 生态集成 | SITE-06 | 待索引;不代表没有历史测试 | +| artplayer-vitepress | API-08 DOM/CSS | SITE-06 | 待索引;不代表没有历史测试 | +| artplayer-vitepress | API-09 包分发 | SITE-06 | 待索引;不代表没有历史测试 | +| artplayer-vitepress | API-10 浏览器能力 | SITE-06 | 待索引;不代表没有历史测试 | +| artplayer-vitepress | API-11 TypeScript | SITE-06 | 待索引;不代表没有历史测试 | +| artplayer-vitepress | API-12 持久状态与协议 | SITE-06 | 待索引;不代表没有历史测试 | + +## 精确测试及限制 + +- CT-CORE-OPTIONS-001: [test/options.test.js](../test/options.test.js) — default values, keys and nested order match the published getter。Current option getter compared with archived published 5.4.0。限制:Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim。命令:`yarn test:contracts`。版本依据:WS-artplayer, PUB-artplayer-5.4.0。 +- CT-CORE-OPTIONS-002: [test/options.test.js](../test/options.test.js) — invalid JS input keeps the published validation path, first error and thrown kind。Nine invalid input patches compare first error name/message with published 5.4.0。限制:Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim。命令:`yarn test:contracts`。版本依据:WS-artplayer, PUB-artplayer-5.4.0。 +- CT-CORE-PLUGINS-001: [test/plugins.test.js](../test/plugins.test.js) — plugin registration keeps receiver, arguments, id, descriptors and naming precedence。Controlled registry checks receiver, identity, hidden nonwritable descriptor and naming conflicts。限制:Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim。命令:`yarn test:contracts`。版本依据:WS-artplayer。 +- CT-CORE-PLUGINS-002: [test/plugins.test.js](../test/plugins.test.js) — async factories preserve pending visibility, completion-time fallback and registry fulfillment。Controlled asynchronous factory visibility and returned registry。限制:Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim。命令:`yarn test:contracts`。版本依据:WS-artplayer。 +- CT-CORE-PLUGINS-003: [test/plugins.test.js](../test/plugins.test.js) — closed registries ignore late results without inspecting or destroying them and reject new factories。Disposed scope suppresses late result getters and disallows further factory execution。限制:Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim。命令:`yarn test:contracts`。版本依据:WS-artplayer。 +- CT-CORE-EVENTS-001: [test/public-behavior.test.js](../test/public-behavior.test.js) — EVENT.once-nested-snapshot: candidate consumes a once registration across nested dispatch snapshots。Published duplicate nested once dispatch is reproduced; current consumes once exactly once。限制:Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim。命令:`yarn test:contracts`。版本依据:WS-artplayer, PUB-artplayer-5.4.0。 +- CT-CORE-STORAGE-001: [test/storage.test.js](../test/storage.test.js) — storage preserves envelope, mutable name/settings fields and synchronous returns。Controlled localStorage verifies exact key/envelope and synchronous returns。限制:Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim。命令:`yarn test:contracts`。版本依据:WS-artplayer。 +- CT-CORE-STORAGE-002: [test/storage.test.js](../test/storage.test.js) — storage retains truthy key selection and historical JSON payload shapes。Array/scalar/null/malformed JSON cases retain historical fallback semantics。限制:Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim。命令:`yarn test:contracts`。版本依据:WS-artplayer。 +- CT-CHAPTER-NORMALIZE-001: [test/chapter.test.js](../test/chapter.test.js) — Chapter normalization preserves caller array and objects while filling every gap。Current normalizer retains caller array and chapter identity across repeated normalization。限制:Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim。命令:`yarn test:contracts`。版本依据:WS-artplayer-plugin-chapter。 +- CT-CHAPTER-NORMALIZE-002: [test/chapter.test.js](../test/chapter.test.js) — Chapter endpoints, adjacency and Infinity normalization retain historical behavior。Current normalizer retains adjacent endpoints and resolves Infinity against duration。限制:Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim。命令:`yarn test:contracts`。版本依据:WS-artplayer-plugin-chapter。 + +## 版本依据 + +- WS-artplayer: artplayer@5.4.1 (workspace-baseline);[来源](../refactor/package-inventory.json) JSON pointer `/packages/0`。 +- WS-artplayer-plugin-ads: artplayer-plugin-ads@2.1.0 (workspace-baseline);[来源](../refactor/package-inventory.json) JSON pointer `/packages/1`。 +- WS-artplayer-plugin-ambilight: artplayer-plugin-ambilight@1.1.0 (workspace-baseline);[来源](../refactor/package-inventory.json) JSON pointer `/packages/2`。 +- WS-artplayer-plugin-asr: artplayer-plugin-asr@2.1.0 (workspace-baseline);[来源](../refactor/package-inventory.json) JSON pointer `/packages/3`。 +- WS-artplayer-plugin-audio-track: artplayer-plugin-audio-track@1.1.0 (workspace-baseline);[来源](../refactor/package-inventory.json) JSON pointer `/packages/4`。 +- WS-artplayer-plugin-auto-thumbnail: artplayer-plugin-auto-thumbnail@1.1.0 (workspace-baseline);[来源](../refactor/package-inventory.json) JSON pointer `/packages/5`。 +- WS-artplayer-plugin-chapter: artplayer-plugin-chapter@1.1.0 (workspace-baseline);[来源](../refactor/package-inventory.json) JSON pointer `/packages/6`。 +- WS-artplayer-plugin-chromecast: artplayer-plugin-chromecast@1.1.0 (workspace-baseline);[来源](../refactor/package-inventory.json) JSON pointer `/packages/7`。 +- WS-artplayer-plugin-danmuku: artplayer-plugin-danmuku@5.3.0 (workspace-baseline);[来源](../refactor/package-inventory.json) JSON pointer `/packages/8`。 +- WS-artplayer-plugin-danmuku-mask: artplayer-plugin-danmuku-mask@1.1.0 (workspace-baseline);[来源](../refactor/package-inventory.json) JSON pointer `/packages/9`。 +- WS-artplayer-plugin-dash-control: artplayer-plugin-dash-control@1.1.0 (workspace-baseline);[来源](../refactor/package-inventory.json) JSON pointer `/packages/10`。 +- WS-artplayer-plugin-document-pip: artplayer-plugin-document-pip@1.1.0 (workspace-baseline);[来源](../refactor/package-inventory.json) JSON pointer `/packages/11`。 +- WS-artplayer-plugin-hls-control: artplayer-plugin-hls-control@1.1.0 (workspace-baseline);[来源](../refactor/package-inventory.json) JSON pointer `/packages/12`。 +- WS-artplayer-plugin-jassub: artplayer-plugin-jassub@1.1.0 (workspace-baseline);[来源](../refactor/package-inventory.json) JSON pointer `/packages/13`。 +- WS-artplayer-plugin-multiple-subtitles: artplayer-plugin-multiple-subtitles@1.2.0 (workspace-baseline);[来源](../refactor/package-inventory.json) JSON pointer `/packages/14`。 +- WS-artplayer-plugin-vast: artplayer-plugin-vast@1.2.0 (workspace-baseline);[来源](../refactor/package-inventory.json) JSON pointer `/packages/15`。 +- WS-artplayer-plugin-vtt-thumbnail: artplayer-plugin-vtt-thumbnail@1.1.0 (workspace-baseline);[来源](../refactor/package-inventory.json) JSON pointer `/packages/16`。 +- WS-artplayer-proxy-canvas: artplayer-proxy-canvas@1.1.0 (workspace-baseline);[来源](../refactor/package-inventory.json) JSON pointer `/packages/17`。 +- WS-artplayer-proxy-mediabunny: artplayer-proxy-mediabunny@1.2.0 (workspace-baseline);[来源](../refactor/package-inventory.json) JSON pointer `/packages/18`。 +- WS-artplayer-tool-iframe: artplayer-tool-iframe@1.1.0 (workspace-baseline);[来源](../refactor/package-inventory.json) JSON pointer `/packages/19`。 +- WS-artplayer-tool-thumbnail: artplayer-tool-thumbnail@4.4.0 (workspace-baseline);[来源](../refactor/package-inventory.json) JSON pointer `/packages/20`。 +- WS-artplayer-vitepress: artplayer-vitepress@1.1.0 (workspace-baseline);[来源](../refactor/package-inventory.json) JSON pointer `/packages/21`。 +- PUB-artplayer-5.4.0: artplayer@5.4.0 (published-baseline);[来源](../refactor/baselines/releases.json) JSON pointer `/releases/0`。 +- PUB-artplayer-plugin-chapter-1.1.0: artplayer-plugin-chapter@1.1.0 (published-baseline);[来源](../refactor/baselines/releases.json) JSON pointer `/releases/1`。 +- PUB-artplayer-plugin-audio-track-1.1.0: artplayer-plugin-audio-track@1.1.0 (published-baseline);[来源](../refactor/baselines/audio-track-release.json) JSON pointer `/release`。 +- PUB-artplayer-plugin-hls-control-1.1.0: artplayer-plugin-hls-control@1.1.0 (published-baseline);[来源](../refactor/baselines/hls-control-release.json) JSON pointer `/release`。 +- PUB-artplayer-plugin-dash-control-1.1.0: artplayer-plugin-dash-control@1.1.0 (published-baseline);[来源](../refactor/baselines/dash-control-release.json) JSON pointer `/release`。 +- PUB-artplayer-plugin-ads-1.0.6: artplayer-plugin-ads@1.0.6 (published-baseline);[来源](../refactor/baselines/ads-release.json) JSON pointer `/release`。 +- PUB-artplayer-plugin-vast-1.0.0: artplayer-plugin-vast@1.0.0 (published-baseline);[来源](../refactor/baselines/vast-release.json) JSON pointer `/release`。 diff --git a/refactor/contract-policy.json b/refactor/contract-policy.json new file mode 100644 index 000000000..a1b406679 --- /dev/null +++ b/refactor/contract-policy.json @@ -0,0 +1,957 @@ +{ + "schemaVersion": 1, + "families": [ + { + "id": "API-01", + "name": "构造与配置" + }, + { + "id": "API-02", + "name": "属性与方法" + }, + { + "id": "API-03", + "name": "属性描述符" + }, + { + "id": "API-04", + "name": "事件" + }, + { + "id": "API-05", + "name": "生命周期" + }, + { + "id": "API-06", + "name": "插件注册" + }, + { + "id": "API-07", + "name": "生态集成" + }, + { + "id": "API-08", + "name": "DOM/CSS" + }, + { + "id": "API-09", + "name": "包分发" + }, + { + "id": "API-10", + "name": "浏览器能力" + }, + { + "id": "API-11", + "name": "TypeScript" + }, + { + "id": "API-12", + "name": "持久状态与协议" + } + ], + "packages": [ + { + "name": "artplayer", + "owners": { + "API-01": "REVIEW-02", + "API-02": "REVIEW-02", + "API-03": "REVIEW-02", + "API-04": "REVIEW-02", + "API-05": "REVIEW-02", + "API-06": "REVIEW-02", + "API-07": "REVIEW-02", + "API-08": "REVIEW-02", + "API-09": "REVIEW-02", + "API-10": "REL-03", + "API-11": "REVIEW-02", + "API-12": "REVIEW-02" + }, + "versionIds": [ + "WS-artplayer", + "PUB-artplayer-5.4.0" + ], + "supportWindow": "not-inferred-from-baseline", + "scopeReview": "Each public member, callback, option, event and capability requires package contract review; family ownership alone is not exhaustive coverage" + }, + { + "name": "artplayer-plugin-ads", + "owners": { + "API-01": "PKG-ADS-02", + "API-02": "PKG-ADS-02", + "API-03": "PKG-ADS-02", + "API-04": "PKG-ADS-02", + "API-05": "PKG-ADS-02", + "API-06": "PKG-ADS-02", + "API-07": "PKG-ADS-02", + "API-08": "PKG-ADS-02", + "API-09": "PKG-ADS-06", + "API-10": "REL-03", + "API-11": "PKG-ADS-04", + "API-12": "PKG-ADS-02" + }, + "versionIds": [ + "WS-artplayer-plugin-ads", + "PUB-artplayer-plugin-ads-1.0.6" + ], + "supportWindow": "not-inferred-from-baseline", + "scopeReview": "Each public member, callback, option, event and capability requires package contract review; family ownership alone is not exhaustive coverage" + }, + { + "name": "artplayer-plugin-ambilight", + "owners": { + "API-01": "PKG-AMBILIGHT-02", + "API-02": "PKG-AMBILIGHT-02", + "API-03": "PKG-AMBILIGHT-02", + "API-04": "PKG-AMBILIGHT-02", + "API-05": "PKG-AMBILIGHT-02", + "API-06": "PKG-AMBILIGHT-02", + "API-07": "PKG-AMBILIGHT-02", + "API-08": "PKG-AMBILIGHT-02", + "API-09": "PKG-AMBILIGHT-06", + "API-10": "REL-03", + "API-11": "PKG-AMBILIGHT-04", + "API-12": "PKG-AMBILIGHT-02" + }, + "versionIds": [ + "WS-artplayer-plugin-ambilight" + ], + "supportWindow": "not-inferred-from-baseline", + "scopeReview": "Each public member, callback, option, event and capability requires package contract review; family ownership alone is not exhaustive coverage" + }, + { + "name": "artplayer-plugin-asr", + "owners": { + "API-01": "PKG-ASR-02", + "API-02": "PKG-ASR-02", + "API-03": "PKG-ASR-02", + "API-04": "PKG-ASR-02", + "API-05": "PKG-ASR-02", + "API-06": "PKG-ASR-02", + "API-07": "PKG-ASR-02", + "API-08": "PKG-ASR-02", + "API-09": "PKG-ASR-06", + "API-10": "REL-03", + "API-11": "PKG-ASR-04", + "API-12": "PKG-ASR-02" + }, + "versionIds": [ + "WS-artplayer-plugin-asr" + ], + "supportWindow": "not-inferred-from-baseline", + "scopeReview": "Each public member, callback, option, event and capability requires package contract review; family ownership alone is not exhaustive coverage" + }, + { + "name": "artplayer-plugin-audio-track", + "owners": { + "API-01": "PKG-AUDIO-02", + "API-02": "PKG-AUDIO-02", + "API-03": "PKG-AUDIO-02", + "API-04": "PKG-AUDIO-02", + "API-05": "PKG-AUDIO-02", + "API-06": "PKG-AUDIO-02", + "API-07": "PKG-AUDIO-02", + "API-08": "PKG-AUDIO-02", + "API-09": "PKG-AUDIO-06", + "API-10": "REL-03", + "API-11": "PKG-AUDIO-04", + "API-12": "PKG-AUDIO-02" + }, + "versionIds": [ + "WS-artplayer-plugin-audio-track", + "PUB-artplayer-plugin-audio-track-1.1.0" + ], + "supportWindow": "not-inferred-from-baseline", + "scopeReview": "Each public member, callback, option, event and capability requires package contract review; family ownership alone is not exhaustive coverage" + }, + { + "name": "artplayer-plugin-auto-thumbnail", + "owners": { + "API-01": "PKG-AUTO-THUMB-02", + "API-02": "PKG-AUTO-THUMB-02", + "API-03": "PKG-AUTO-THUMB-02", + "API-04": "PKG-AUTO-THUMB-02", + "API-05": "PKG-AUTO-THUMB-02", + "API-06": "PKG-AUTO-THUMB-02", + "API-07": "PKG-AUTO-THUMB-02", + "API-08": "PKG-AUTO-THUMB-02", + "API-09": "PKG-AUTO-THUMB-06", + "API-10": "REL-03", + "API-11": "PKG-AUTO-THUMB-04", + "API-12": "PKG-AUTO-THUMB-02" + }, + "versionIds": [ + "WS-artplayer-plugin-auto-thumbnail" + ], + "supportWindow": "not-inferred-from-baseline", + "scopeReview": "Each public member, callback, option, event and capability requires package contract review; family ownership alone is not exhaustive coverage" + }, + { + "name": "artplayer-plugin-chapter", + "owners": { + "API-01": "PKG-CHAPTER-02", + "API-02": "PKG-CHAPTER-02", + "API-03": "PKG-CHAPTER-02", + "API-04": "PKG-CHAPTER-02", + "API-05": "PKG-CHAPTER-02", + "API-06": "PKG-CHAPTER-02", + "API-07": "PKG-CHAPTER-02", + "API-08": "PKG-CHAPTER-02", + "API-09": "PKG-CHAPTER-06", + "API-10": "REL-03", + "API-11": "PKG-CHAPTER-04", + "API-12": "PKG-CHAPTER-02" + }, + "versionIds": [ + "WS-artplayer-plugin-chapter", + "PUB-artplayer-plugin-chapter-1.1.0" + ], + "supportWindow": "not-inferred-from-baseline", + "scopeReview": "Each public member, callback, option, event and capability requires package contract review; family ownership alone is not exhaustive coverage" + }, + { + "name": "artplayer-plugin-chromecast", + "owners": { + "API-01": "PKG-CAST-02", + "API-02": "PKG-CAST-02", + "API-03": "PKG-CAST-02", + "API-04": "PKG-CAST-02", + "API-05": "PKG-CAST-02", + "API-06": "PKG-CAST-02", + "API-07": "PKG-CAST-02", + "API-08": "PKG-CAST-02", + "API-09": "PKG-CAST-06", + "API-10": "REL-03", + "API-11": "PKG-CAST-04", + "API-12": "PKG-CAST-02" + }, + "versionIds": [ + "WS-artplayer-plugin-chromecast" + ], + "supportWindow": "not-inferred-from-baseline", + "scopeReview": "Each public member, callback, option, event and capability requires package contract review; family ownership alone is not exhaustive coverage" + }, + { + "name": "artplayer-plugin-danmuku", + "owners": { + "API-01": "PKG-DANMUKU-02", + "API-02": "PKG-DANMUKU-02", + "API-03": "PKG-DANMUKU-02", + "API-04": "PKG-DANMUKU-02", + "API-05": "PKG-DANMUKU-02", + "API-06": "PKG-DANMUKU-02", + "API-07": "PKG-DANMUKU-02", + "API-08": "PKG-DANMUKU-02", + "API-09": "PKG-DANMUKU-06", + "API-10": "REL-03", + "API-11": "PKG-DANMUKU-04", + "API-12": "PKG-DANMUKU-02" + }, + "versionIds": [ + "WS-artplayer-plugin-danmuku" + ], + "supportWindow": "not-inferred-from-baseline", + "scopeReview": "Each public member, callback, option, event and capability requires package contract review; family ownership alone is not exhaustive coverage" + }, + { + "name": "artplayer-plugin-danmuku-mask", + "owners": { + "API-01": "PKG-MASK-02", + "API-02": "PKG-MASK-02", + "API-03": "PKG-MASK-02", + "API-04": "PKG-MASK-02", + "API-05": "PKG-MASK-02", + "API-06": "PKG-MASK-02", + "API-07": "PKG-MASK-02", + "API-08": "PKG-MASK-02", + "API-09": "PKG-MASK-06", + "API-10": "REL-03", + "API-11": "PKG-MASK-04", + "API-12": "PKG-MASK-02" + }, + "versionIds": [ + "WS-artplayer-plugin-danmuku-mask" + ], + "supportWindow": "not-inferred-from-baseline", + "scopeReview": "Each public member, callback, option, event and capability requires package contract review; family ownership alone is not exhaustive coverage" + }, + { + "name": "artplayer-plugin-dash-control", + "owners": { + "API-01": "PKG-DASH-02", + "API-02": "PKG-DASH-02", + "API-03": "PKG-DASH-02", + "API-04": "PKG-DASH-02", + "API-05": "PKG-DASH-02", + "API-06": "PKG-DASH-02", + "API-07": "PKG-DASH-02", + "API-08": "PKG-DASH-02", + "API-09": "PKG-DASH-06", + "API-10": "REL-03", + "API-11": "PKG-DASH-04", + "API-12": "PKG-DASH-02" + }, + "versionIds": [ + "WS-artplayer-plugin-dash-control", + "PUB-artplayer-plugin-dash-control-1.1.0" + ], + "supportWindow": "not-inferred-from-baseline", + "scopeReview": "Each public member, callback, option, event and capability requires package contract review; family ownership alone is not exhaustive coverage" + }, + { + "name": "artplayer-plugin-document-pip", + "owners": { + "API-01": "PKG-DPIP-02", + "API-02": "PKG-DPIP-02", + "API-03": "PKG-DPIP-02", + "API-04": "PKG-DPIP-02", + "API-05": "PKG-DPIP-02", + "API-06": "PKG-DPIP-02", + "API-07": "PKG-DPIP-02", + "API-08": "PKG-DPIP-02", + "API-09": "PKG-DPIP-06", + "API-10": "REL-03", + "API-11": "PKG-DPIP-04", + "API-12": "PKG-DPIP-02" + }, + "versionIds": [ + "WS-artplayer-plugin-document-pip" + ], + "supportWindow": "not-inferred-from-baseline", + "scopeReview": "Each public member, callback, option, event and capability requires package contract review; family ownership alone is not exhaustive coverage" + }, + { + "name": "artplayer-plugin-hls-control", + "owners": { + "API-01": "PKG-HLS-02", + "API-02": "PKG-HLS-02", + "API-03": "PKG-HLS-02", + "API-04": "PKG-HLS-02", + "API-05": "PKG-HLS-02", + "API-06": "PKG-HLS-02", + "API-07": "PKG-HLS-02", + "API-08": "PKG-HLS-02", + "API-09": "PKG-HLS-06", + "API-10": "REL-03", + "API-11": "PKG-HLS-04", + "API-12": "PKG-HLS-02" + }, + "versionIds": [ + "WS-artplayer-plugin-hls-control", + "PUB-artplayer-plugin-hls-control-1.1.0" + ], + "supportWindow": "not-inferred-from-baseline", + "scopeReview": "Each public member, callback, option, event and capability requires package contract review; family ownership alone is not exhaustive coverage" + }, + { + "name": "artplayer-plugin-jassub", + "owners": { + "API-01": "PKG-JASSUB-02", + "API-02": "PKG-JASSUB-02", + "API-03": "PKG-JASSUB-02", + "API-04": "PKG-JASSUB-02", + "API-05": "PKG-JASSUB-02", + "API-06": "PKG-JASSUB-02", + "API-07": "PKG-JASSUB-02", + "API-08": "PKG-JASSUB-02", + "API-09": "PKG-JASSUB-06", + "API-10": "REL-03", + "API-11": "PKG-JASSUB-04", + "API-12": "PKG-JASSUB-02" + }, + "versionIds": [ + "WS-artplayer-plugin-jassub" + ], + "supportWindow": "not-inferred-from-baseline", + "scopeReview": "Each public member, callback, option, event and capability requires package contract review; family ownership alone is not exhaustive coverage" + }, + { + "name": "artplayer-plugin-multiple-subtitles", + "owners": { + "API-01": "PKG-MULTI-SUB-02", + "API-02": "PKG-MULTI-SUB-02", + "API-03": "PKG-MULTI-SUB-02", + "API-04": "PKG-MULTI-SUB-02", + "API-05": "PKG-MULTI-SUB-02", + "API-06": "PKG-MULTI-SUB-02", + "API-07": "PKG-MULTI-SUB-02", + "API-08": "PKG-MULTI-SUB-02", + "API-09": "PKG-MULTI-SUB-06", + "API-10": "REL-03", + "API-11": "PKG-MULTI-SUB-04", + "API-12": "PKG-MULTI-SUB-02" + }, + "versionIds": [ + "WS-artplayer-plugin-multiple-subtitles" + ], + "supportWindow": "not-inferred-from-baseline", + "scopeReview": "Each public member, callback, option, event and capability requires package contract review; family ownership alone is not exhaustive coverage" + }, + { + "name": "artplayer-plugin-vast", + "owners": { + "API-01": "PKG-VAST-02", + "API-02": "PKG-VAST-02", + "API-03": "PKG-VAST-02", + "API-04": "PKG-VAST-02", + "API-05": "PKG-VAST-02", + "API-06": "PKG-VAST-02", + "API-07": "PKG-VAST-02", + "API-08": "PKG-VAST-02", + "API-09": "PKG-VAST-06", + "API-10": "REL-03", + "API-11": "PKG-VAST-04", + "API-12": "PKG-VAST-02" + }, + "versionIds": [ + "WS-artplayer-plugin-vast", + "PUB-artplayer-plugin-vast-1.0.0" + ], + "supportWindow": "not-inferred-from-baseline", + "scopeReview": "Each public member, callback, option, event and capability requires package contract review; family ownership alone is not exhaustive coverage" + }, + { + "name": "artplayer-plugin-vtt-thumbnail", + "owners": { + "API-01": "PKG-VTT-THUMB-02", + "API-02": "PKG-VTT-THUMB-02", + "API-03": "PKG-VTT-THUMB-02", + "API-04": "PKG-VTT-THUMB-02", + "API-05": "PKG-VTT-THUMB-02", + "API-06": "PKG-VTT-THUMB-02", + "API-07": "PKG-VTT-THUMB-02", + "API-08": "PKG-VTT-THUMB-02", + "API-09": "PKG-VTT-THUMB-06", + "API-10": "REL-03", + "API-11": "PKG-VTT-THUMB-04", + "API-12": "PKG-VTT-THUMB-02" + }, + "versionIds": [ + "WS-artplayer-plugin-vtt-thumbnail" + ], + "supportWindow": "not-inferred-from-baseline", + "scopeReview": "Each public member, callback, option, event and capability requires package contract review; family ownership alone is not exhaustive coverage" + }, + { + "name": "artplayer-proxy-canvas", + "owners": { + "API-01": "PKG-CANVAS-02", + "API-02": "PKG-CANVAS-02", + "API-03": "PKG-CANVAS-02", + "API-04": "PKG-CANVAS-02", + "API-05": "PKG-CANVAS-02", + "API-06": "PKG-CANVAS-02", + "API-07": "PKG-CANVAS-02", + "API-08": "PKG-CANVAS-02", + "API-09": "PKG-CANVAS-06", + "API-10": "REL-03", + "API-11": "PKG-CANVAS-04", + "API-12": "PKG-CANVAS-02" + }, + "versionIds": [ + "WS-artplayer-proxy-canvas" + ], + "supportWindow": "not-inferred-from-baseline", + "scopeReview": "Each public member, callback, option, event and capability requires package contract review; family ownership alone is not exhaustive coverage" + }, + { + "name": "artplayer-proxy-mediabunny", + "owners": { + "API-01": "PKG-MB-02", + "API-02": "PKG-MB-02", + "API-03": "PKG-MB-02", + "API-04": "PKG-MB-02", + "API-05": "PKG-MB-02", + "API-06": "PKG-MB-02", + "API-07": "PKG-MB-02", + "API-08": "PKG-MB-02", + "API-09": "PKG-MB-10", + "API-10": "REL-03", + "API-11": "PKG-MB-08", + "API-12": "PKG-MB-02" + }, + "versionIds": [ + "WS-artplayer-proxy-mediabunny" + ], + "supportWindow": "not-inferred-from-baseline", + "scopeReview": "Each public member, callback, option, event and capability requires package contract review; family ownership alone is not exhaustive coverage" + }, + { + "name": "artplayer-tool-iframe", + "owners": { + "API-01": "PKG-IFRAME-02", + "API-02": "PKG-IFRAME-02", + "API-03": "PKG-IFRAME-02", + "API-04": "PKG-IFRAME-02", + "API-05": "PKG-IFRAME-02", + "API-06": "PKG-IFRAME-02", + "API-07": "PKG-IFRAME-02", + "API-08": "PKG-IFRAME-02", + "API-09": "PKG-IFRAME-06", + "API-10": "REL-03", + "API-11": "PKG-IFRAME-04", + "API-12": "PKG-IFRAME-02" + }, + "versionIds": [ + "WS-artplayer-tool-iframe" + ], + "supportWindow": "not-inferred-from-baseline", + "scopeReview": "Each public member, callback, option, event and capability requires package contract review; family ownership alone is not exhaustive coverage" + }, + { + "name": "artplayer-tool-thumbnail", + "owners": { + "API-01": "PKG-TOOL-THUMB-02", + "API-02": "PKG-TOOL-THUMB-02", + "API-03": "PKG-TOOL-THUMB-02", + "API-04": "PKG-TOOL-THUMB-02", + "API-05": "PKG-TOOL-THUMB-02", + "API-06": "PKG-TOOL-THUMB-02", + "API-07": "PKG-TOOL-THUMB-02", + "API-08": "PKG-TOOL-THUMB-02", + "API-09": "PKG-TOOL-THUMB-06", + "API-10": "REL-03", + "API-11": "PKG-TOOL-THUMB-04", + "API-12": "PKG-TOOL-THUMB-02" + }, + "versionIds": [ + "WS-artplayer-tool-thumbnail" + ], + "supportWindow": "not-inferred-from-baseline", + "scopeReview": "Each public member, callback, option, event and capability requires package contract review; family ownership alone is not exhaustive coverage" + }, + { + "name": "artplayer-vitepress", + "owners": { + "API-01": "SITE-06", + "API-02": "SITE-06", + "API-03": "SITE-06", + "API-04": "SITE-06", + "API-05": "SITE-06", + "API-06": "SITE-06", + "API-07": "SITE-06", + "API-08": "SITE-06", + "API-09": "SITE-06", + "API-10": "SITE-06", + "API-11": "SITE-06", + "API-12": "SITE-06" + }, + "versionIds": [ + "WS-artplayer-vitepress" + ], + "supportWindow": "not-inferred-from-baseline", + "scopeReview": "SITE-01/06 must distinguish website behavior from npm library APIs; all families retain review ownership, no invented player constructor" + } + ], + "versions": [ + { + "id": "WS-artplayer", + "package": "artplayer", + "kind": "workspace-baseline", + "version": "5.4.1", + "file": "refactor/package-inventory.json", + "pointer": "/packages/0" + }, + { + "id": "WS-artplayer-plugin-ads", + "package": "artplayer-plugin-ads", + "kind": "workspace-baseline", + "version": "2.1.0", + "file": "refactor/package-inventory.json", + "pointer": "/packages/1" + }, + { + "id": "WS-artplayer-plugin-ambilight", + "package": "artplayer-plugin-ambilight", + "kind": "workspace-baseline", + "version": "1.1.0", + "file": "refactor/package-inventory.json", + "pointer": "/packages/2" + }, + { + "id": "WS-artplayer-plugin-asr", + "package": "artplayer-plugin-asr", + "kind": "workspace-baseline", + "version": "2.1.0", + "file": "refactor/package-inventory.json", + "pointer": "/packages/3" + }, + { + "id": "WS-artplayer-plugin-audio-track", + "package": "artplayer-plugin-audio-track", + "kind": "workspace-baseline", + "version": "1.1.0", + "file": "refactor/package-inventory.json", + "pointer": "/packages/4" + }, + { + "id": "WS-artplayer-plugin-auto-thumbnail", + "package": "artplayer-plugin-auto-thumbnail", + "kind": "workspace-baseline", + "version": "1.1.0", + "file": "refactor/package-inventory.json", + "pointer": "/packages/5" + }, + { + "id": "WS-artplayer-plugin-chapter", + "package": "artplayer-plugin-chapter", + "kind": "workspace-baseline", + "version": "1.1.0", + "file": "refactor/package-inventory.json", + "pointer": "/packages/6" + }, + { + "id": "WS-artplayer-plugin-chromecast", + "package": "artplayer-plugin-chromecast", + "kind": "workspace-baseline", + "version": "1.1.0", + "file": "refactor/package-inventory.json", + "pointer": "/packages/7" + }, + { + "id": "WS-artplayer-plugin-danmuku", + "package": "artplayer-plugin-danmuku", + "kind": "workspace-baseline", + "version": "5.3.0", + "file": "refactor/package-inventory.json", + "pointer": "/packages/8" + }, + { + "id": "WS-artplayer-plugin-danmuku-mask", + "package": "artplayer-plugin-danmuku-mask", + "kind": "workspace-baseline", + "version": "1.1.0", + "file": "refactor/package-inventory.json", + "pointer": "/packages/9" + }, + { + "id": "WS-artplayer-plugin-dash-control", + "package": "artplayer-plugin-dash-control", + "kind": "workspace-baseline", + "version": "1.1.0", + "file": "refactor/package-inventory.json", + "pointer": "/packages/10" + }, + { + "id": "WS-artplayer-plugin-document-pip", + "package": "artplayer-plugin-document-pip", + "kind": "workspace-baseline", + "version": "1.1.0", + "file": "refactor/package-inventory.json", + "pointer": "/packages/11" + }, + { + "id": "WS-artplayer-plugin-hls-control", + "package": "artplayer-plugin-hls-control", + "kind": "workspace-baseline", + "version": "1.1.0", + "file": "refactor/package-inventory.json", + "pointer": "/packages/12" + }, + { + "id": "WS-artplayer-plugin-jassub", + "package": "artplayer-plugin-jassub", + "kind": "workspace-baseline", + "version": "1.1.0", + "file": "refactor/package-inventory.json", + "pointer": "/packages/13" + }, + { + "id": "WS-artplayer-plugin-multiple-subtitles", + "package": "artplayer-plugin-multiple-subtitles", + "kind": "workspace-baseline", + "version": "1.2.0", + "file": "refactor/package-inventory.json", + "pointer": "/packages/14" + }, + { + "id": "WS-artplayer-plugin-vast", + "package": "artplayer-plugin-vast", + "kind": "workspace-baseline", + "version": "1.2.0", + "file": "refactor/package-inventory.json", + "pointer": "/packages/15" + }, + { + "id": "WS-artplayer-plugin-vtt-thumbnail", + "package": "artplayer-plugin-vtt-thumbnail", + "kind": "workspace-baseline", + "version": "1.1.0", + "file": "refactor/package-inventory.json", + "pointer": "/packages/16" + }, + { + "id": "WS-artplayer-proxy-canvas", + "package": "artplayer-proxy-canvas", + "kind": "workspace-baseline", + "version": "1.1.0", + "file": "refactor/package-inventory.json", + "pointer": "/packages/17" + }, + { + "id": "WS-artplayer-proxy-mediabunny", + "package": "artplayer-proxy-mediabunny", + "kind": "workspace-baseline", + "version": "1.2.0", + "file": "refactor/package-inventory.json", + "pointer": "/packages/18" + }, + { + "id": "WS-artplayer-tool-iframe", + "package": "artplayer-tool-iframe", + "kind": "workspace-baseline", + "version": "1.1.0", + "file": "refactor/package-inventory.json", + "pointer": "/packages/19" + }, + { + "id": "WS-artplayer-tool-thumbnail", + "package": "artplayer-tool-thumbnail", + "kind": "workspace-baseline", + "version": "4.4.0", + "file": "refactor/package-inventory.json", + "pointer": "/packages/20" + }, + { + "id": "WS-artplayer-vitepress", + "package": "artplayer-vitepress", + "kind": "workspace-baseline", + "version": "1.1.0", + "file": "refactor/package-inventory.json", + "pointer": "/packages/21" + }, + { + "id": "PUB-artplayer-5.4.0", + "package": "artplayer", + "kind": "published-baseline", + "version": "5.4.0", + "file": "refactor/baselines/releases.json", + "pointer": "/releases/0", + "archiveSha256": "42b269a66b9658d53f9a92572bb36d656ea9af56254a387b3a69c7ddea43979e" + }, + { + "id": "PUB-artplayer-plugin-chapter-1.1.0", + "package": "artplayer-plugin-chapter", + "kind": "published-baseline", + "version": "1.1.0", + "file": "refactor/baselines/releases.json", + "pointer": "/releases/1", + "archiveSha256": "4c3173661854ff96f643a479c0f1c2db7ce9e54681523bd059a7dd9bd77eeada" + }, + { + "id": "PUB-artplayer-plugin-audio-track-1.1.0", + "package": "artplayer-plugin-audio-track", + "kind": "published-baseline", + "version": "1.1.0", + "file": "refactor/baselines/audio-track-release.json", + "pointer": "/release", + "archiveSha256": "7e84f6a2f4bfada428a77ef04b749bf3db53e0149fa1afe7bf5749d925e801ff" + }, + { + "id": "PUB-artplayer-plugin-hls-control-1.1.0", + "package": "artplayer-plugin-hls-control", + "kind": "published-baseline", + "version": "1.1.0", + "file": "refactor/baselines/hls-control-release.json", + "pointer": "/release", + "archiveSha256": "598c354d78d3cb77965136fa61dfc0f94cdea6906a91a30781c1acef2b0c3e8b" + }, + { + "id": "PUB-artplayer-plugin-dash-control-1.1.0", + "package": "artplayer-plugin-dash-control", + "kind": "published-baseline", + "version": "1.1.0", + "file": "refactor/baselines/dash-control-release.json", + "pointer": "/release", + "archiveSha256": "f4047a569d99b6a7de57b3719b7ad40109f2a1d360566a840f50ab32aacefcd9" + }, + { + "id": "PUB-artplayer-plugin-ads-1.0.6", + "package": "artplayer-plugin-ads", + "kind": "published-baseline", + "version": "1.0.6", + "file": "refactor/baselines/ads-release.json", + "pointer": "/release", + "archiveSha256": "ff132ff8a7108d8b26421621e4aac1d7edf8c99099a5ab4fd2190bd79b8636cd" + }, + { + "id": "PUB-artplayer-plugin-vast-1.0.0", + "package": "artplayer-plugin-vast", + "kind": "published-baseline", + "version": "1.0.0", + "file": "refactor/baselines/vast-release.json", + "pointer": "/release", + "archiveSha256": "35681d60fa3fa09b92f0f30887e39c73cf55e7b14d51a1c38fccbc6c1f253bab" + } + ], + "cases": [ + { + "id": "CT-CORE-OPTIONS-001", + "package": "artplayer", + "contracts": [ + "API-01" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/options.test.js", + "title": "default values, keys and nested order match the published getter", + "versionIds": [ + "WS-artplayer", + "PUB-artplayer-5.4.0" + ], + "scope": "Current option getter compared with archived published 5.4.0", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + { + "id": "CT-CORE-OPTIONS-002", + "package": "artplayer", + "contracts": [ + "API-01" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/options.test.js", + "title": "invalid JS input keeps the published validation path, first error and thrown kind", + "versionIds": [ + "WS-artplayer", + "PUB-artplayer-5.4.0" + ], + "scope": "Nine invalid input patches compare first error name/message with published 5.4.0", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + { + "id": "CT-CORE-PLUGINS-001", + "package": "artplayer", + "contracts": [ + "API-03", + "API-06" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/plugins.test.js", + "title": "plugin registration keeps receiver, arguments, id, descriptors and naming precedence", + "versionIds": [ + "WS-artplayer" + ], + "scope": "Controlled registry checks receiver, identity, hidden nonwritable descriptor and naming conflicts", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + { + "id": "CT-CORE-PLUGINS-002", + "package": "artplayer", + "contracts": [ + "API-02", + "API-06" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/plugins.test.js", + "title": "async factories preserve pending visibility, completion-time fallback and registry fulfillment", + "versionIds": [ + "WS-artplayer" + ], + "scope": "Controlled asynchronous factory visibility and returned registry", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + { + "id": "CT-CORE-PLUGINS-003", + "package": "artplayer", + "contracts": [ + "API-05", + "API-06" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/plugins.test.js", + "title": "closed registries ignore late results without inspecting or destroying them and reject new factories", + "versionIds": [ + "WS-artplayer" + ], + "scope": "Disposed scope suppresses late result getters and disallows further factory execution", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + { + "id": "CT-CORE-EVENTS-001", + "package": "artplayer", + "contracts": [ + "API-04" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/public-behavior.test.js", + "title": "EVENT.once-nested-snapshot: candidate consumes a once registration across nested dispatch snapshots", + "versionIds": [ + "WS-artplayer", + "PUB-artplayer-5.4.0" + ], + "scope": "Published duplicate nested once dispatch is reproduced; current consumes once exactly once", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + { + "id": "CT-CORE-STORAGE-001", + "package": "artplayer", + "contracts": [ + "API-02", + "API-12" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/storage.test.js", + "title": "storage preserves envelope, mutable name/settings fields and synchronous returns", + "versionIds": [ + "WS-artplayer" + ], + "scope": "Controlled localStorage verifies exact key/envelope and synchronous returns", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + { + "id": "CT-CORE-STORAGE-002", + "package": "artplayer", + "contracts": [ + "API-12" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/storage.test.js", + "title": "storage retains truthy key selection and historical JSON payload shapes", + "versionIds": [ + "WS-artplayer" + ], + "scope": "Array/scalar/null/malformed JSON cases retain historical fallback semantics", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + { + "id": "CT-CHAPTER-NORMALIZE-001", + "package": "artplayer-plugin-chapter", + "contracts": [ + "API-01", + "API-02" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/chapter.test.js", + "title": "Chapter normalization preserves caller array and objects while filling every gap", + "versionIds": [ + "WS-artplayer-plugin-chapter" + ], + "scope": "Current normalizer retains caller array and chapter identity across repeated normalization", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + }, + { + "id": "CT-CHAPTER-NORMALIZE-002", + "package": "artplayer-plugin-chapter", + "contracts": [ + "API-02" + ], + "runner": "node", + "command": "yarn test:contracts", + "file": "test/chapter.test.js", + "title": "Chapter endpoints, adjacency and Infinity normalization retain historical behavior", + "versionIds": [ + "WS-artplayer-plugin-chapter" + ], + "scope": "Current normalizer retains adjacent endpoints and resolves Infinity against duration", + "limitations": "Source/controlled-host assertions only; no whole-family acceptance, installed tarball, browser, device or continuous support-range claim" + } + ] +} diff --git a/refactor/contract-runs.json b/refactor/contract-runs.json new file mode 100644 index 000000000..b0c815104 --- /dev/null +++ b/refactor/contract-runs.json @@ -0,0 +1,13 @@ +{ + "schemaVersion": 1, + "runs": [ + { + "file": "refactor/baselines/contract-observations/2026-09-12-source.json", + "sha256LF": "53e8b6f0483b9fcd555790faf454d17b652f15c30e82997d82fda69012061096" + }, + { + "file": "refactor/baselines/contract-observations/2026-09-12-source-final.json", + "sha256LF": "9700e66ba9b33b811d2178c8c6c0c2b58c6cc7d802f33e929d6aa447204b6c42" + } + ] +} diff --git a/refactor/environment-matrix.md b/refactor/environment-matrix.md index 1575ffda0..95256bfbb 100644 --- a/refactor/environment-matrix.md +++ b/refactor/environment-matrix.md @@ -1,5 +1,9 @@ # 消费者与真实环境矩阵 +时间范围说明:BASE-08初始状态及分段补充保留采集时事实,不是当前全局进度快照。 +早期“未运行”不能覆盖后续证据;当前查progress和包validation。逐包契约、版本、 +测试及历史报告入口见 [契约覆盖索引](contract-coverage.md)。 + BASE-08;2026-09-10;来源提交 ed293231。矩阵建立完成,矩阵内未运行的检查仍待完成。版本与路径以 [发布冻结](baselines/releases.json)、[包初始快照](package-inventory.json)、[分发观察](baselines/distribution.json)、[demo 清单](baselines/demo-inventory.json) 和 [第三方清单](third-party.json) 为依据。 ## 版本和分发维度 diff --git a/refactor/plan.md b/refactor/plan.md index d6926531b..b5cf227a4 100644 --- a/refactor/plan.md +++ b/refactor/plan.md @@ -4,7 +4,7 @@ 基线:`40fcda6a37d0049d42e49c1e64e70d4fd9ba5f7f`。总任务 220 项,范围 22 个包及工作区/示例。 -状态:todo 132 / doing 6 / blocked 0 / done 82 / deferred 0。风险 L/M/H 表示兼容风险,不表示工期。 +状态:todo 131 / doing 6 / blocked 0 / done 83 / deferred 0。风险 L/M/H 表示兼容风险,不表示工期。 前置依赖是启动条件;验收是完成条件。任务可以继续拆分,但不能复用或悄悄删除旧 ID。 @@ -84,7 +84,7 @@ | ENG-08 | workspace
增加覆盖率、资源与性能报告 | ENG-03, ENG-05, BASE-06 | 覆盖率基线、资源清理断言、性能报告与阈值 | 关键生命周期分支有门槛,报告不靠无意义断言堆数量;将 BASE-06 的同环境多组配对、计时/压缩审查阈值与资源异常分开接入候选,不把历史现象冻结成正常要求 | M | done | | ENG-AUDIT-01 | workspace
核对每任务完成提交的真实Git历史 | ENG-07, DOC-04 | 独立完成提交、初始DOC例外、父分支合并和证据共提交审计;CI完整历史与报告 | 真实仓库及隔离Git反例通过,done任务不允许缺独立commit,固定DOC-01~04例外可追溯;提交后验证自身 | M | done | | ENG-IMPACT-01 | workspace
建立全包依赖与共享变更影响映射 | ENG-07, DOC-04 | 核心/构建/类型/锁文件到受影响包和必需生态检查的映射及CI接入 | 核心变化触发必需生态检查;新增包、未知共享文件或失配依赖不能静默漏检;解释受影响路径和测试命令 | M | done | -| ENG-COVERAGE-01 | workspace
建立公开契约与版本测试证据覆盖索引 | BASE-08, CORE-22, ENG-07 | 契约-包-支持版本-固定测试ID-命令-候选/报告-责任任务索引和文档检查 | 计划、已执行和缺证据状态分开,所有公开契约都有验证归属;无效路径、版本依据或报告对应不明确会被识别 | M | todo | +| ENG-COVERAGE-01 | workspace
建立公开契约与版本测试证据覆盖索引 | BASE-08, CORE-22, ENG-07 | 契约-包-支持版本-固定测试ID-命令-候选/报告-责任任务索引和文档检查 | 计划、已执行和缺证据状态分开,所有公开契约都有验证归属;无效路径、版本依据或报告对应不明确会被识别 | M | done | | ENG-09 | workspace
建立全包依赖影响和文档检查 | ENG-07, DOC-04, ENG-AUDIT-01, ENG-IMPACT-01, ENG-COVERAGE-01 | 共享核心/构建影响映射、文档及每任务完成提交的 Git 审计接入;契约-支持版本-测试 ID-命令-候选/报告-任务的覆盖索引 | 核心变化触发必需生态检查;原有 DOC-01 至 04 基线例外明确,后续 done 任务不能缺失独立 commit;计划/已执行/缺证据分开,识别缺少验证归属的公开契约 | M | todo | | ENG-10 | workspace
建立历史失败分级和测试可靠性规则 | ENG-03, ENG-04, ENG-05, ENG-07, BASE-07 | 历史失败 ID/环境/旧版复现/负责修复任务、逐模块门槛、受控等待与 trace/retry 规则 | 不靠全局忽略或无理由 skip 隐藏问题,新增回归阻止交付,设备缺口和偶发失败单独可见;以 risks.json 为统一差异索引;关闭必须有 resolutionEvidence/rationale,已复现、源码事实、未验证分开,登记不等于豁免 | M | done | | ENG-11 | workspace
增加不改变产物的模块构建分析 | ENG-03, ENG-08 | 正式构建的可选模块归因报告及源码/产物指纹 | 相同构建开关前后三格式字节一致,报告不进入分发包;区分 Rollup 渲染字节与压缩体积,并保留真实工作区/发布来源 | L | done | @@ -442,6 +442,7 @@ - ENG-08: [记录](coverage-performance.md) [记录](baselines/quality-validation.json) [记录](changes/2026-09-11-ENG-08-quality-reports.md) - ENG-AUDIT-01: [记录](commit-audit.md) [记录](changes/2026-09-12-ENG-AUDIT-01-commits.md) [记录](baselines/commit-audit-validation.json) - ENG-IMPACT-01: [记录](impact-analysis.md) [记录](changes/2026-09-12-ENG-IMPACT-01-mapping.md) [记录](baselines/impact-validation.json) +- ENG-COVERAGE-01: [记录](contract-coverage.md) [记录](contract-index.md) [记录](changes/2026-09-12-ENG-COVERAGE-01-index.md) [记录](baselines/contracts-validation.json) - ENG-10: [记录](changes/2026-09-10-ENG-10-test-reliability.md) [记录](test-reliability.md) - ENG-11: [记录](build-analysis.md) [记录](baselines/bundle-attribution.json) [记录](changes/2026-09-11-ENG-11-build-analysis.md) - PILOT-01: [记录](changes/2026-09-10-PILOT-01-chapter.md) [记录](baselines/pilot-validation.json) diff --git a/refactor/progress.md b/refactor/progress.md index ae318185c..ffa78e2f9 100644 --- a/refactor/progress.md +++ b/refactor/progress.md @@ -1,5 +1,16 @@ # 进度与证据 +## 最新完成:ENG-COVERAGE-01 契约归属及精确证据索引 + +22包×12类契约共264行已分配验证任务,29个冻结版本对照点可校验。逐条核对10个已有 +断言并接入Node结构化执行;44项重跑通过,不当成新增功能覆盖。旧报告、旧输入、 +旧定义、skip/失败和未索引状态分别记录;255行仍待精确测试索引,不表示没有历史测试。 +7组反例及完整CI主测试链918项通过;另有44项报告链路重复执行。修复Windows reporter +specifier,补上空清单与重复断言防护,完整失败/通过证据归档。当前220项:83 done、 +6 doing、131 todo。父ENG-09仍待整合核验;VAST初始化选择待确认,其他包实施继续。 +本步独立本地提交,随后审计自身;未推送/发布。见 [实施记录](changes/2026-09-12-ENG-COVERAGE-01-index.md) +和 [验证记录](baselines/contracts-validation.json)。 + ## 最新完成:ENG-IMPACT-01 全包影响与必需检查映射 实际22包依赖/验证关系、共享构建/类型/锁文件及示例映射已接入ci:check;Git变更包含 diff --git a/refactor/scripts/contract-reporter.mjs b/refactor/scripts/contract-reporter.mjs new file mode 100644 index 000000000..37f4cc2d4 --- /dev/null +++ b/refactor/scripts/contract-reporter.mjs @@ -0,0 +1,8 @@ +export default async function* contractReporter(events) { + for await (const event of events) { + if (['test:pass', 'test:fail', 'test:summary'].includes(event.type)) { + const { name, file, nesting, skip, todo, counts, success, details } = event.data + yield `${JSON.stringify({ type: event.type, name, file, nesting, skip, todo, counts, success, kind: details?.type, error: details?.error?.message })}\n` + } + } +} diff --git a/refactor/scripts/contracts-model.mjs b/refactor/scripts/contracts-model.mjs new file mode 100644 index 000000000..03d475fcf --- /dev/null +++ b/refactor/scripts/contracts-model.mjs @@ -0,0 +1,200 @@ +import assert from 'node:assert/strict' +import { execFileSync } from 'node:child_process' +import { createHash } from 'node:crypto' +import fs from 'node:fs' +import path from 'node:path' +import ts from 'typescript' +import { repositoryPath } from './impact-model.mjs' + +export const sha256 = value => createHash('sha256').update(value).digest('hex') +export const readJson = (directory, file) => JSON.parse(fs.readFileSync(localFile(directory, file), 'utf8')) + +export function localFile(directory, file) { + assert.equal(repositoryPath(file), file, `Noncanonical contract path: ${file}`) + const absolute = path.join(directory, file) + const relative = path.relative(fs.realpathSync(directory), fs.realpathSync(absolute)) + assert(relative && !relative.startsWith('..') && !path.isAbsolute(relative), `Redirected contract path: ${file}`) + assert(fs.statSync(absolute).isFile(), `Contract evidence is not a file: ${file}`) + return absolute +} + +export function pointer(document, value) { + assert(/^\//.test(value), 'Expected a JSON pointer') + return value.slice(1).split('/').reduce((item, part) => { + const key = part.replaceAll('~1', '/').replaceAll('~0', '~') + assert(item && Object.hasOwn(item, key), `Missing version evidence pointer: ${value}`) + return item[key] + }, document) +} + +export function candidateInputs(directory, model) { + const files = new Set(['package.json', 'yarn.lock', 'refactor/contract-policy.json', '.node-version']) + const walk = (folder) => { + if (!fs.existsSync(path.join(directory, folder))) + return + for (const entry of fs.readdirSync(path.join(directory, folder), { withFileTypes: true })) { + const file = `${folder}/${entry.name}` + assert(!entry.isSymbolicLink(), `Review redirected contract input: ${file}`) + if (entry.isDirectory()) + walk(file) + else files.add(file) + } + } + for (const pkg of model.policy.packages) { + files.add(`packages/${pkg.name}/package.json`) + for (const folder of ['src', 'types', 'public']) walk(`packages/${pkg.name}/${folder}`) + } + for (const folder of ['scripts', 'test', 'types', 'refactor/scripts', 'refactor/fixtures']) walk(folder) + for (const version of model.policy.versions) files.add(version.file) + const inputs = [...files].sort().map(file => ({ file, sha256: sha256(fs.readFileSync(localFile(directory, file))) })) + return { digest: sha256(JSON.stringify(inputs)), inputs } +} + +function validateTest(directory, item) { + assert(/^CT-[A-Z0-9-]+$/.test(item.id), 'Invalid stable contract test ID') + assert(item.command === 'yarn test:contracts' && item.runner === 'node', 'Unsupported contract runner/command') + const source = ts.createSourceFile(item.file, fs.readFileSync(localFile(directory, item.file), 'utf8'), ts.ScriptTarget.Latest, true) + assert.equal(source.parseDiagnostics.length, 0, `Malformed contract test: ${item.file}`) + const imported = source.statements.some(statement => ts.isImportDeclaration(statement) && statement.moduleSpecifier.text === 'node:test' + && (statement.importClause?.name?.text === 'test' || statement.importClause?.namedBindings?.elements?.some(element => element.name.text === 'test' && (!element.propertyName || element.propertyName.text === 'test')))) + assert(imported, `Contract case requires the Node test binding: ${item.id}`) + const matches = [] + function visit(node) { + if (ts.isCallExpression(node) && ts.isIdentifier(node.expression) && node.expression.text === 'test' && node.arguments[0] && ts.isStringLiteralLike(node.arguments[0]) && node.arguments[0].text === item.title) + matches.push(node) + ts.forEachChild(node, visit) + } + visit(source) + assert.equal(matches.length, 1, `Contract test title must identify exactly one literal test: ${item.id}`) + assert(item.scope?.length && item.limitations?.length, `Missing assertion scope/limits: ${item.id}`) +} + +export function readContractModel(directory) { + const policy = readJson(directory, 'refactor/contract-policy.json') + assert.equal(policy.schemaVersion, 1) + const scripts = readJson(directory, 'package.json').scripts + assert.equal(scripts?.['test:contracts'], 'node refactor/scripts/run-contracts.mjs', 'Contract runner command changed; review its evidence adapter') + assert.equal(scripts?.['check:contracts'], 'node refactor/scripts/contracts.mjs', 'Contract index command changed') + const stages = scripts['ci:check']?.split(' && ') || [] + assert(stages.includes('yarn test:contracts') && stages.indexOf('yarn check:contracts --report') > stages.indexOf('yarn test:contracts'), 'CI must run contract observations before checking their report') + const tasks = readJson(directory, 'refactor/tasks.json').tasks + const inventory = readJson(directory, 'refactor/package-inventory.json').packages + const families = [...fs.readFileSync(localFile(directory, 'refactor/compatibility.md'), 'utf8').matchAll(/^\| (API-\d{2}) \| ([^|]+) \|/gm)].map(match => ({ id: match[1], name: match[2].trim() })) + assert(families.length > 0) + assert.deepEqual(policy.families, families, 'Public contract families changed; update their coverage ownership') + const names = inventory.map(pkg => pkg.name).sort() + assert.deepEqual(policy.packages.map(pkg => pkg.name).sort(), names, 'Contract package ownership is incomplete or duplicated') + const actual = fs.readdirSync(path.join(directory, 'packages')).filter(name => fs.existsSync(path.join(directory, 'packages', name, 'package.json'))).sort() + assert.deepEqual(actual, names, 'New package must be registered in inventory and contracts') + const unique = (items, label) => assert.equal(new Set(items.map(item => item.id)).size, items.length, `Duplicate ${label} ID`) + unique(policy.versions, 'version') + unique(policy.cases, 'case') + assert(policy.cases.length > 0, 'Contract runner requires explicit cases; empty selection must not discover unrelated tests') + assert.equal(new Set(policy.cases.map(item => JSON.stringify([item.file, item.title]))).size, policy.cases.length, 'Duplicate file/title under different contract IDs') + for (const version of policy.versions) { + assert(names.includes(version.package), 'Version references unknown package') + const origin = pointer(readJson(directory, version.file), version.pointer) + assert.equal(origin.name, version.package, `Wrong package in version evidence: ${version.id}`) + assert.equal(origin.version, version.version, `Wrong version evidence: ${version.id}`) + if (version.kind === 'published-baseline') { + assert(/^[a-f\d]{64}$/.test(origin.sha256) && origin.integrity?.startsWith('sha512-'), `Published version needs archived integrity: ${version.id}`) + assert.equal(version.archiveSha256, origin.sha256, `Published archive identity changed: ${version.id}`) + } + else { + assert.equal(version.kind, 'workspace-baseline') + assert.equal(version.file, 'refactor/package-inventory.json', 'Workspace version must use the frozen inventory') + } + } + for (const pkg of policy.packages) { + assert.deepEqual(Object.keys(pkg.owners).sort(), families.map(family => family.id).sort(), `Missing contract owner: ${pkg.name}`) + for (const owner of Object.values(pkg.owners)) { + const task = tasks.find(task => task.id === owner) + assert(task && (task.scope.includes(pkg.name) || task.scope.includes('workspace')), `Invalid contract responsibility: ${pkg.name}/${owner}`) + } + assert(pkg.versionIds.length && pkg.versionIds.every(id => policy.versions.some(version => version.id === id && version.package === pkg.name)), `Missing package version basis: ${pkg.name}`) + assert.equal(pkg.supportWindow, 'not-inferred-from-baseline', 'A baseline must not become an invented supported version range') + assert(pkg.scopeReview?.length, 'Contract applicability must remain explicit') + } + for (const item of policy.cases) { + const pkg = policy.packages.find(pkg => pkg.name === item.package) + assert(pkg && item.contracts.length && item.contracts.every(id => families.some(family => family.id === id)), 'Unknown case package/contract') + assert(item.versionIds.length && item.versionIds.every(id => policy.versions.some(version => version.id === id && version.package === item.package)), 'Unknown test version basis') + validateTest(directory, item) + } + const historical = tasks.flatMap(task => task.evidence.filter(file => /\.json$/.test(file)).map(file => ({ task: task.id, scope: task.scope, file: `refactor/${file}` }))) + for (const item of historical) localFile(directory, item.file) + return { policy, families, tasks, historical } +} + +export function evaluateRun(model, report, currentDigest) { + assert.equal(report.schemaVersion, 1) + assert.equal(report.command, 'yarn test:contracts') + assert(/^[a-f\d]{40}$/.test(report.head) && report.environment?.node && report.environment?.platform, 'Run lacks candidate/environment provenance') + assert.equal(report.candidate.digest, sha256(JSON.stringify(report.candidate.inputs)), 'Candidate input fingerprint mismatch') + assert(report.candidate.inputs.length && report.candidate.inputs.every(input => /^[a-f\d]{64}$/.test(input.sha256)), 'Invalid candidate inputs') + for (const input of report.candidate.inputs) repositoryPath(input.file) + assert.equal(new Set(report.cases.map(item => item.id)).size, report.cases.length, 'Duplicate run case identity') + assert(report.events.length && ['passed', 'failed'].includes(report.outcome), 'Run is missing test events/outcome') + const summaries = report.events.filter(event => event.type === 'test:summary' && !event.file) + assert.equal(summaries.length, 1, 'Run requires one process summary') + assert.equal(report.outcome === 'passed', summaries[0].success === true, 'Run outcome contradicts process summary') + if (report.outcome === 'passed') + assert(!report.events.some(event => event.type === 'test:fail' && !event.todo), 'Passed run contains a failed test') + return report.cases.map((item) => { + const defined = model.policy.cases.find(candidate => candidate.id === item.id) + assert(defined, `Unknown reported test ID: ${item.id}`) + assert.equal(item.definition?.id, item.id, `Wrong recorded definition: ${item.id}`) + assert.equal(item.definitionSha256, sha256(JSON.stringify(item.definition)), `Reported test definition fingerprint changed: ${item.id}`) + assert.equal(item.definition.package, defined.package, `Stable test ID was reassigned to another package: ${item.id}`) + const matches = report.events.filter(event => ['test:pass', 'test:fail'].includes(event.type) && event.file === item.definition.file && event.name === item.definition.title) + assert.equal(matches.length, 1, `Missing or ambiguous executed test: ${item.id}`) + const event = matches[0] + const status = event.skip || event.todo ? 'skipped' : event.type === 'test:fail' ? 'failed' : 'passed' + assert.equal(item.status, status, `Reported test outcome mismatch: ${item.id}`) + return { id: item.id, package: item.definition.package, contracts: item.definition.contracts, versionIds: item.definition.versionIds, status, freshness: item.definitionSha256 !== sha256(JSON.stringify(defined)) ? 'historical-definition' : report.candidate.digest === currentDigest ? 'current-inputs' : 'historical-inputs', scope: item.definition.scope } + }) +} + +export function contractStatus(directory, model) { + const current = candidateInputs(directory, model) + const registry = readJson(directory, 'refactor/contract-runs.json') + assert.equal(registry.schemaVersion, 1) + assert.equal(new Set(registry.runs.map(run => run.file)).size, registry.runs.length, 'Duplicate registered report') + const observations = [] + for (const ref of registry.runs) { + const bytes = fs.readFileSync(localFile(directory, ref.file)) + assert.equal(sha256(bytes.toString('utf8').replaceAll('\r\n', '\n')), ref.sha256LF, `Contract report changed: ${ref.file}`) + const report = JSON.parse(bytes) + observations.push({ file: ref.file, outcome: report.outcome, cases: evaluateRun(model, report, current.digest) }) + } + const latest = 'refactor/.cache/ci/contracts-run.json' + if (fs.existsSync(path.join(directory, latest))) { + const report = readJson(directory, latest) + observations.push({ file: latest, outcome: report.outcome, cases: evaluateRun(model, report, current.digest) }) + } + const rows = model.policy.packages.flatMap(pkg => model.families.map((family) => { + const cases = model.policy.cases.filter(item => item.package === pkg.name && item.contracts.includes(family.id)) + const results = observations.flatMap(run => run.cases.filter(item => item.package === pkg.name && item.contracts.includes(family.id)).map(item => ({ ...item, report: run.file, runOutcome: run.outcome }))) + return { package: pkg.name, contract: family.id, owner: pkg.owners[family.id], versionIds: pkg.versionIds, supportWindow: pkg.supportWindow, state: results.length ? 'partial-observations' : cases.length ? 'planned-not-observed' : 'tests-not-indexed', cases: cases.map(item => item.id), observations: results, remaining: 'Family-wide acceptance, version combinations and environment scope are not implied by individual test observations' } + })) + return { schemaVersion: 1, candidateDigest: current.digest, rows, observations, historicalRecords: model.historical.map(item => ({ ...item, state: 'recorded-not-normalized' })), limitation: 'Index status is not package compatibility or npm release approval' } +} + +export function renderContracts(model) { + const lines = ['# 公开契约覆盖索引', '', '> 由 contract-policy.json 生成;`yarn check:contracts --write` 更新。动态候选/报告状态见 `yarn check:contracts --report`。', '', '覆盖12类兼容契约与22包的验证归属;不是每个公开成员的穷尽测试证明。没有固定测试ID的行仍需逐成员补齐。', '版本均为精确冻结对照点,不能推导连续支持区间。历史报告保留原状态,只有精确用例和候选指纹对应时才列为观察结果。', '', '| 包 | 契约 | 责任任务 | 固定测试ID |', '| --- | --- | --- | --- |'] + for (const pkg of model.policy.packages) { + for (const family of model.families) { + const cases = model.policy.cases.filter(item => item.package === pkg.name && item.contracts.includes(family.id)) + lines.push(`| ${pkg.name} | ${family.id} ${family.name} | ${pkg.owners[family.id]} | ${cases.map(item => item.id).join(', ') || '待索引;不代表没有历史测试'} |`) + } + } + lines.push('', '## 精确测试及限制', '') + for (const item of model.policy.cases) + lines.push(`- ${item.id}: [${item.file}](../${item.file}) — ${item.title}。${item.scope}。限制:${item.limitations}。命令:\`${item.command}\`。版本依据:${item.versionIds.join(', ')}。`) + lines.push('', '## 版本依据', '') + for (const version of model.policy.versions) + lines.push(`- ${version.id}: ${version.package}@${version.version} (${version.kind});[来源](../${version.file}) JSON pointer \`${version.pointer}\`。`) + return `${lines.join('\n')}\n` +} + +export const currentHead = directory => execFileSync('git', ['rev-parse', 'HEAD'], { cwd: directory, encoding: 'utf8' }).trim() diff --git a/refactor/scripts/contracts.mjs b/refactor/scripts/contracts.mjs new file mode 100644 index 000000000..88d00a5ea --- /dev/null +++ b/refactor/scripts/contracts.mjs @@ -0,0 +1,23 @@ +import assert from 'node:assert/strict' +import fs from 'node:fs' +import path from 'node:path' +import process from 'node:process' +import { fileURLToPath } from 'node:url' +import { contractStatus, readContractModel, renderContracts } from './contracts-model.mjs' + +const root = fileURLToPath(new URL('../../', import.meta.url)) +const args = process.argv.slice(2) +assert(args.every(arg => ['--write', '--report'].includes(arg)), 'Use --write and/or --report') +const model = readContractModel(root) +const markdown = renderContracts(model) +const file = path.join(root, 'refactor/contract-index.md') +if (args.includes('--write')) + fs.writeFileSync(file, markdown) +else assert.equal(fs.readFileSync(file, 'utf8').replaceAll('\r\n', '\n'), markdown, 'Contract index is stale; run yarn check:contracts --write') +const report = contractStatus(root, model) +if (args.includes('--report')) { + fs.mkdirSync(path.join(root, 'refactor/.cache/ci'), { recursive: true }) + fs.writeFileSync(path.join(root, 'refactor/.cache/ci/contracts.json'), `${JSON.stringify(report, null, 2)}\n`) +} +console.log(`Contracts: ${model.policy.packages.length} packages, ${report.rows.length} assigned families, ${model.policy.cases.length} indexed cases, ${report.observations.length} structured runs`) +console.log(`${report.rows.filter(row => row.state === 'tests-not-indexed').length} family rows need test indexing; historical records are not auto-promoted to current acceptance`) diff --git a/refactor/scripts/contracts.test.mjs b/refactor/scripts/contracts.test.mjs new file mode 100644 index 000000000..10a38d924 --- /dev/null +++ b/refactor/scripts/contracts.test.mjs @@ -0,0 +1,185 @@ +import assert from 'node:assert/strict' +import { spawnSync } from 'node:child_process' +import fs from 'node:fs' +import path from 'node:path' +import process from 'node:process' +// eslint-disable-next-line test/no-import-node-test -- Contract evidence validation uses real Node runner results and isolated files. +import test from 'node:test' +import { fileURLToPath, pathToFileURL } from 'node:url' +import { candidateInputs, contractStatus, evaluateRun, localFile, pointer, readContractModel, renderContracts, sha256 } from './contracts-model.mjs' + +const root = fileURLToPath(new URL('../../', import.meta.url)) +const actual = readContractModel(root) +const cache = path.join(root, 'refactor/.cache') + +function fixture(t) { + fs.mkdirSync(cache, { recursive: true }) + const directory = fs.mkdtempSync(path.join(cache, 'contracts-test-')) + t.after(() => { + const relative = path.relative(cache, directory) + assert(relative.startsWith('contracts-test-') && !relative.includes(path.sep)) + fs.rmSync(directory, { recursive: true, force: true }) + }) + const write = (file, value) => { + fs.mkdirSync(path.dirname(path.join(directory, file)), { recursive: true }) + fs.writeFileSync(path.join(directory, file), typeof value === 'string' ? value : JSON.stringify(value)) + } + const policy = structuredClone(actual.policy) + const save = () => write('refactor/contract-policy.json', policy) + save() + write('refactor/tasks.json', { tasks: actual.tasks.map(task => ({ ...task, evidence: [] })) }) + for (const file of new Set(['refactor/package-inventory.json', 'refactor/compatibility.md', ...policy.versions.map(version => version.file)])) + write(file, fs.readFileSync(path.join(root, file), 'utf8')) + for (const pkg of policy.packages) { + write(`packages/${pkg.name}/package.json`, { name: pkg.name }) + write(`packages/${pkg.name}/src/index.ts`, 'export const value = 1') + } + for (const file of new Set(policy.cases.map(item => item.file))) + write(file, `import test from 'node:test'\n${policy.cases.filter(item => item.file === file).map(item => `test(${JSON.stringify(item.title)}, () => {})`).join('\n')}`) + for (const file of ['package.json', 'yarn.lock', '.node-version']) write(file, fs.readFileSync(path.join(root, file), 'utf8')) + write('refactor/contract-runs.json', { schemaVersion: 1, runs: [] }) + return { directory, policy, save, write, model: () => readContractModel(directory) } +} + +test('Actual contract model assigns all 264 family rows and separates exact published versions from workspace snapshots', () => { + assert.equal(actual.policy.packages.length, 22) + assert.equal(actual.families.length, 12) + assert.equal(actual.policy.versions.filter(version => version.kind === 'published-baseline').length, 7) + assert.equal(actual.policy.versions.filter(version => version.kind === 'workspace-baseline').length, 22) + assert.equal(actual.policy.cases.length, 10) + const markdown = renderContracts(actual) + assert.equal(markdown.split('\n').filter(line => /^\| artplayer[^|]* \| API-/.test(line)).length, 264) + assert.equal(pointer({ 'a/b': { '~': 2 } }, '/a~1b/~0'), 2) +}) + +test('Missing families, package owners, tasks and unsupported version claims cannot silently pass', (t) => { + for (const edit of [ + (policy) => { policy.families.pop() }, + (policy) => { policy.packages.pop() }, + (policy) => { delete policy.packages[0].owners['API-01'] }, + (policy) => { policy.packages[0].owners['API-01'] = 'NONEXISTENT' }, + (policy) => { policy.packages[0].supportWindow = 'all-historical-versions' }, + (policy) => { policy.packages[0].versionIds = ['invented'] }, + ]) { + const repo = fixture(t) + edit(repo.policy) + repo.save() + assert.throws(repo.model) + } + const repo = fixture(t) + const manifest = JSON.parse(fs.readFileSync(path.join(repo.directory, 'package.json'), 'utf8')) + manifest.scripts['ci:check'] = manifest.scripts['ci:check'].replace('yarn test:contracts && ', '') + repo.write('package.json', manifest) + assert.throws(repo.model, /CI must run/) +}) + +test('Version evidence checks JSON pointer, package identity, exact version and archive integrity', (t) => { + for (const edit of [ + (version) => { version.pointer = '/releases/99' }, + (version) => { version.version = '99.0.0' }, + (version) => { version.package = 'artplayer-plugin-chapter' }, + (version) => { version.archiveSha256 = 'a'.repeat(64) }, + (version) => { version.file = '../outside.json' }, + ]) { + const repo = fixture(t) + edit(repo.policy.versions.find(version => version.kind === 'published-baseline')) + repo.save() + assert.throws(repo.model) + } +}) + +test('Stable IDs require an actual unique literal test and valid paths; comments, skips and renamed assertions are not enough', (t) => { + for (const source of [ + title => `import test from 'node:test'; // test(${JSON.stringify(title)}, () => {})`, + title => `import test from 'node:test'; test.skip(${JSON.stringify(title)}, () => {})`, + () => `import test from 'node:test'; test('renamed', () => {})`, + title => `import test from 'node:test'; test(${JSON.stringify(title)}, () => {}); test(${JSON.stringify(title)}, () => {})`, + ]) { + const repo = fixture(t) + repo.write(repo.policy.cases[0].file, source(repo.policy.cases[0].title)) + assert.throws(repo.model, /exactly one literal/) + } + const repo = fixture(t) + repo.policy.cases.push(repo.policy.cases[0]) + repo.save() + assert.throws(repo.model, /Duplicate case/) + repo.policy.cases[repo.policy.cases.length - 1] = { ...repo.policy.cases[0], id: 'CT-DUPLICATE-ASSERTION' } + repo.save() + assert.throws(repo.model, /Duplicate file\/title/) + repo.policy.cases = [] + repo.save() + assert.throws(repo.model, /requires explicit cases/) + for (const file of ['../outside', 'D:/outside', '/absolute', 'test\\outside.js']) + assert.throws(() => localFile(repo.directory, file)) +}) + +function observation(model, candidate, item, status = 'passed') { + const event = { type: status === 'failed' ? 'test:fail' : 'test:pass', name: item.title, file: item.file, ...(status === 'skipped' ? { skip: 'unsupported fixture' } : {}) } + return { schemaVersion: 1, command: 'yarn test:contracts', head: 'a'.repeat(40), environment: { node: process.version, platform: process.platform }, candidate, outcome: status === 'failed' ? 'failed' : 'passed', events: [event, { type: 'test:summary', success: status !== 'failed' }], cases: [{ id: item.id, definition: item, definitionSha256: sha256(JSON.stringify(item)), status }] } +} + +test('Evidence distinguishes current, stale, skipped and failed; wrong titles, fingerprints and process outcomes fail', (t) => { + const repo = fixture(t) + const model = repo.model() + const candidate = candidateInputs(repo.directory, model) + const item = model.policy.cases[0] + const passed = observation(model, candidate, item) + assert.equal(evaluateRun(model, passed, candidate.digest)[0].freshness, 'current-inputs') + repo.write('packages/artplayer/src/index.ts', 'export const value = 2') + assert.equal(evaluateRun(model, passed, candidateInputs(repo.directory, model).digest)[0].freshness, 'historical-inputs') + for (const status of ['skipped', 'failed']) + assert.equal(evaluateRun(model, observation(model, candidate, item, status), candidate.digest)[0].status, status) + for (const edit of [ + (report) => { report.events[0].name = 'different assertion' }, + (report) => { report.cases[0].status = 'skipped' }, + (report) => { report.candidate.digest = 'a'.repeat(64) }, + (report) => { report.cases[0].definitionSha256 = 'b'.repeat(64) }, + (report) => { report.events.at(-1).success = false }, + (report) => { report.events.push(report.events[0]) }, + ]) { + const report = structuredClone(passed) + edit(report) + assert.throws(() => evaluateRun(model, report, candidate.digest)) + } + const modified = structuredClone(model) + modified.policy.cases[0].scope = 'A revised assertion scope' + assert.equal(evaluateRun(modified, passed, candidate.digest)[0].freshness, 'historical-definition') +}) + +test('Report registry checks immutable bytes and never upgrades individual observations into complete families', (t) => { + const repo = fixture(t) + const model = repo.model() + const report = observation(model, candidateInputs(repo.directory, model), model.policy.cases[0]) + const file = 'refactor/observation.json' + repo.write(file, report) + const bytes = fs.readFileSync(path.join(repo.directory, file)) + repo.write('refactor/contract-runs.json', { schemaVersion: 1, runs: [{ file, sha256LF: sha256(bytes) }] }) + const result = contractStatus(repo.directory, model) + assert.equal(result.rows.length, 264) + assert.equal(result.rows.find(row => row.package === 'artplayer' && row.contract === 'API-01').state, 'partial-observations') + assert(result.rows.some(row => row.state === 'planned-not-observed')) + assert(result.rows.some(row => row.state === 'tests-not-indexed')) + repo.policy.cases[0].contracts = ['API-09'] + repo.save() + const revised = contractStatus(repo.directory, repo.model()) + assert.equal(revised.rows.find(row => row.package === 'artplayer' && row.contract === 'API-09').observations.length, 0) + assert.equal(revised.rows.find(row => row.package === 'artplayer' && row.contract === 'API-01').observations[0].freshness, 'historical-definition') + repo.write(file, { ...report, outcome: 'failed' }) + assert.throws(() => contractStatus(repo.directory, model), /Contract report changed/) +}) + +test('Real Node reporter retains exact file/name, failure, skip, todo and overall process failure', (t) => { + const repo = fixture(t) + repo.write('runner.test.mjs', 'import test from \'node:test\';test(\'passing\',()=>{});test(\'failure\',()=>{throw Error(\'fixture failure\')});test(\'skipped\',{skip:\'no environment\'},()=>{});test(\'todo\',{todo:\'pending\'},()=>{});') + const env = { ...process.env } + delete env.NODE_TEST_CONTEXT + delete env.NODE_OPTIONS + const result = spawnSync(process.execPath, ['--test', `--test-reporter=${pathToFileURL(path.join(root, 'refactor/scripts/contract-reporter.mjs')).href}`, 'runner.test.mjs'], { cwd: repo.directory, env, encoding: 'utf8' }) + assert.equal(result.status, 1, result.stderr) + const events = result.stdout.trim().split(/\r?\n/).map(line => JSON.parse(line)) + assert(events.some(event => event.name === 'passing' && event.type === 'test:pass' && event.file === path.join(repo.directory, 'runner.test.mjs'))) + assert(events.some(event => event.name === 'failure' && event.type === 'test:fail')) + assert(events.some(event => event.name === 'skipped' && event.skip)) + assert(events.some(event => event.name === 'todo' && event.todo)) + assert.equal(events.find(event => event.type === 'test:summary' && !event.file).success, false) +}) diff --git a/refactor/scripts/run-contracts.mjs b/refactor/scripts/run-contracts.mjs new file mode 100644 index 000000000..8a6d0fad1 --- /dev/null +++ b/refactor/scripts/run-contracts.mjs @@ -0,0 +1,54 @@ +import assert from 'node:assert/strict' +import { spawnSync } from 'node:child_process' +import fs from 'node:fs' +import path from 'node:path' +import process from 'node:process' +import { fileURLToPath } from 'node:url' +import { candidateInputs, currentHead, evaluateRun, readContractModel, sha256 } from './contracts-model.mjs' + +const root = fileURLToPath(new URL('../../', import.meta.url)) +assert.equal(process.argv.length, 2, 'Contract runner does not accept filters or alternate artifacts') +const model = readContractModel(root) +const candidate = candidateInputs(root, model) +const head = currentHead(root) +const directory = path.join(root, 'refactor/.cache/contracts') +fs.mkdirSync(directory, { recursive: true }) +const output = fs.mkdtempSync(path.join(directory, 'run-')) +const files = [...new Set(model.policy.cases.map(item => item.file))] +const env = { ...process.env } +for (const key of Object.keys(env)) { + if (key.startsWith('ARTPLAYER_') || ['NODE_OPTIONS', 'NODE_TEST_CONTEXT', 'NODE_V8_COVERAGE'].includes(key)) + delete env[key] +} +const command = ['--test', '--test-reporter=./refactor/scripts/contract-reporter.mjs', ...files] +const executed = spawnSync(process.execPath, command, { cwd: root, env, encoding: 'utf8', timeout: 180000, maxBuffer: 16 * 1024 * 1024 }) +fs.writeFileSync(path.join(output, 'events.jsonl'), executed.stdout || '') +fs.writeFileSync(path.join(output, 'stderr.log'), executed.stderr || '') +assert(!executed.error, `Contract process failed: ${executed.error?.message}; evidence ${output}`) +assert.equal(candidateInputs(root, model).digest, candidate.digest, 'Contract inputs changed during execution') +const events = executed.stdout.split(/\r?\n/).filter(Boolean).map(line => JSON.parse(line)).map(event => ({ ...event, ...(event.file ? { file: path.relative(root, event.file).split(path.sep).join('/') } : {}) })) +const report = { + schemaVersion: 1, + command: 'yarn test:contracts', + invocation: [process.execPath, ...command], + head, + capturedAt: new Date().toISOString(), + environment: { node: process.version, platform: process.platform, arch: process.arch, artifactOverrides: 'cleared' }, + candidate, + events, + outcome: executed.status === 0 ? 'passed' : 'failed', + cases: model.policy.cases.map((item) => { + const matches = events.filter(event => ['test:pass', 'test:fail'].includes(event.type) && event.file === item.file && event.name === item.title) + assert.equal(matches.length, 1, `Missing or ambiguous runner result: ${item.id}; evidence ${output}`) + const event = matches[0] + return { id: item.id, definition: item, definitionSha256: sha256(JSON.stringify(item)), status: event.skip || event.todo ? 'skipped' : event.type === 'test:pass' ? 'passed' : 'failed' } + }), + limitations: 'Selected source/controlled-host assertions only; not full family, package tarball, browser, device, SDK or support-range acceptance', +} +evaluateRun(model, report, candidate.digest) +fs.writeFileSync(path.join(output, 'report.json'), `${JSON.stringify(report, null, 2)}\n`) +fs.mkdirSync(path.join(root, 'refactor/.cache/ci'), { recursive: true }) +fs.writeFileSync(path.join(root, 'refactor/.cache/ci/contracts-run.json'), `${JSON.stringify(report, null, 2)}\n`) +fs.writeFileSync(path.join(directory, 'latest.json'), `${JSON.stringify({ output: path.relative(root, output).split(path.sep).join('/') }, null, 2)}\n`) +console.log(`Contract observations: ${report.cases.length} indexed cases; process ${report.outcome}; ${path.relative(root, output)}`) +process.exitCode = executed.status === 0 && report.cases.every(item => item.status === 'passed') ? 0 : 1 diff --git a/refactor/tasks.json b/refactor/tasks.json index f864958a3..a3908f9b2 100644 --- a/refactor/tasks.json +++ b/refactor/tasks.json @@ -654,7 +654,7 @@ "risk": "M", "id": "ENG-COVERAGE-01", "title": "建立公开契约与版本测试证据覆盖索引", - "status": "todo", + "status": "done", "dependsOn": [ "BASE-08", "CORE-22", @@ -662,7 +662,12 @@ ], "deliverable": "契约-包-支持版本-固定测试ID-命令-候选/报告-责任任务索引和文档检查", "acceptance": "计划、已执行和缺证据状态分开,所有公开契约都有验证归属;无效路径、版本依据或报告对应不明确会被识别", - "evidence": [] + "evidence": [ + "contract-coverage.md", + "contract-index.md", + "changes/2026-09-12-ENG-COVERAGE-01-index.md", + "baselines/contracts-validation.json" + ] }, { "id": "ENG-09", diff --git a/refactor/testing.md b/refactor/testing.md index 7a686ec16..c113b0250 100644 --- a/refactor/testing.md +++ b/refactor/testing.md @@ -1,5 +1,8 @@ # 测试与验收 +本清单是验收目录,早期未勾选项不代表当前未实施。计划、历史执行与精确候选观察 +见tasks/progress及 [契约覆盖索引](contract-coverage.md),不能以总通过数代替契约验证。 + 核心/chapter 的 Node TS 覆盖率使用 `yarn test:coverage`。源映射防伪验证、关键生命周期门槛、报告位置及资源/性能实施状态见 [覆盖率与性能维护说明](coverage-performance.md)。 ## 测试层次 @@ -79,4 +82,4 @@ ENG-02 先交付仓库内可执行的 CI 配置;GitHub required checks 的实 ## 本计划不代表已有测试 -以上新增命令、测试目录和矩阵都是待实现内容。现有测试事实及评估范围见 [progress.md](progress.md)。 +以上目录源自初始计划,部分命令、测试和矩阵已实施;当前事实及范围见 [progress.md](progress.md)。