diff --git a/.forgejo/workflows/ci.yaml b/.forgejo/workflows/ci.yaml index 6c53208..e7610ed 100644 --- a/.forgejo/workflows/ci.yaml +++ b/.forgejo/workflows/ci.yaml @@ -28,22 +28,17 @@ jobs: run: | TARGET=$(rustc --version --verbose | grep "host:" | sed -e 's/^host: //') cd ~ - curl -SsL -o rustypipe-botguard.tar.xz "https://codeberg.org/ThetaDev/rustypipe-botguard/releases/download/v0.1.1/rustypipe-botguard-v0.1.1-${TARGET}.tar.xz" + curl -SsL -o rustypipe-botguard.tar.xz "https://codeberg.org/ThetaDev/rustypipe-botguard/releases/download/v0.1.0/rustypipe-botguard-v0.1.0-${TARGET}.tar.xz" cd /usr/local/bin sudo tar -xJf ~/rustypipe-botguard.tar.xz rm ~/rustypipe-botguard.tar.xz rustypipe-botguard --version - name: 📎 Clippy - run: | - cargo clippy --all --tests --features=rss,userdata,indicatif,audiotag -- -D warnings - cargo clippy --package=rustypipe --tests -- -D warnings - cargo clippy --package=rustypipe-downloader -- -D warnings - cargo clippy --package=rustypipe-cli -- -D warnings - cargo clippy --package=rustypipe-cli --features=timezone -- -D warnings + run: cargo clippy --all --tests --features=rss,indicatif,audiotag -- -D warnings - name: 🧪 Test - run: cargo nextest run --config-file ~/.config/nextest.toml --profile ci --retries 2 --features rss,userdata --workspace -- --skip 'user_data::' + run: cargo nextest run --config-file ~/.config/nextest.toml --profile ci --retries 2 --features rss --workspace -- --skip 'cookie_auth::' env: ALL_PROXY: "http://warpproxy:8124" diff --git a/.forgejo/workflows/release-cli.yaml b/.forgejo/workflows/release-cli.yaml deleted file mode 100644 index 6268ead..0000000 --- a/.forgejo/workflows/release-cli.yaml +++ /dev/null @@ -1,69 +0,0 @@ -name: Release CLI -on: - push: - tags: - - "rustypipe-cli/v*.*.*" - -jobs: - Release: - runs-on: cimaster-latest - steps: - - name: 📦 Checkout repository - uses: actions/checkout@v4 - - - name: Setup cross compilation - run: | - rustup target add x86_64-pc-windows-msvc x86_64-apple-darwin aarch64-apple-darwin - cargo install cargo-xwin - - # https://wapl.es/rust/2019/02/17/rust-cross-compile-linux-to-macos.html/ - sudo apt-get install -y llvm clang cmake - cd ~ - git clone https://github.com/tpoechtrager/osxcross - cd osxcross - wget -nc "https://github.com/joseluisq/macosx-sdks/releases/download/12.3/MacOSX12.3.sdk.tar.xz" - mv MacOSX12.3.sdk.tar.xz tarballs/ - UNATTENDED=yes OSX_VERSION_MIN=12.3 ./build.sh - OSXCROSS_BIN="$(pwd)/target/bin" - - echo "CARGO_TARGET_X86_64_APPLE_DARWIN_LINKER=$(find "$OSXCROSS_BIN" -name "x86_64-apple-darwin*-clang")" >> $GITHUB_ENV - echo "CARGO_TARGET_X86_64_APPLE_DARWIN_RUSTFLAGS=-Car=$(find "$OSXCROSS_BIN" -name "x86_64-apple-darwin*-ar"),-Clink-arg=-undefined,-Clink-arg=dynamic_lookup" >> $GITHUB_ENV - echo "CARGO_TARGET_AARCH64_APPLE_DARWIN_LINKER=$(find "$OSXCROSS_BIN" -name "aarch64-apple-darwin*-clang")" >> $GITHUB_ENV - echo "CARGO_TARGET_AARCH64_APPLE_DARWIN_RUSTFLAGS=-Car=$(find "$OSXCROSS_BIN" -name "aarch64-apple-darwin*-ar"),-Clink-arg=-undefined,-Clink-arg=dynamic_lookup" >> $GITHUB_ENV - - - name: ⚒️ Build application - run: | - export PATH="$PATH:$HOME/osxcross/target/bin" - CRATE="rustypipe-cli" - PKG_CONFIG_SYSROOT_DIR=/usr/x86_64-linux-gnu cargo build --release --package=$CRATE --target x86_64-unknown-linux-gnu - PKG_CONFIG_SYSROOT_DIR=/usr/aarch64-linux-gnu cargo build --release --package=$CRATE --target aarch64-unknown-linux-gnu - CC="$CARGO_TARGET_X86_64_APPLE_DARWIN_LINKER" CXX="$CARGO_TARGET_X86_64_APPLE_DARWIN_LINKER++" cargo build --release --package=$CRATE --target x86_64-apple-darwin - CC="$CARGO_TARGET_AARCH64_APPLE_DARWIN_LINKER" CXX="$CARGO_TARGET_AARCH64_APPLE_DARWIN_LINKER++" cargo build --release --package=$CRATE --target aarch64-apple-darwin - cargo xwin build --release --package=$CRATE --target x86_64-pc-windows-msvc - - - name: Prepare release - run: | - CRATE="rustypipe-cli" - BIN="rustypipe" - echo "CRATE=$CRATE" >> "$GITHUB_ENV" - echo "CRATE_VERSION=$(echo '${{ github.ref_name }}' | awk 'BEGIN{RS="/"} NR==2{print}')" >> "$GITHUB_ENV" - CL_PATH="cli/CHANGELOG.md" - { - echo 'CHANGELOG<> "$GITHUB_ENV" - - mkdir dist - - for arch in x86_64-unknown-linux-gnu aarch64-unknown-linux-gnu x86_64-apple-darwin aarch64-apple-darwin; do - tar -cJf "dist/${BIN}-${CRATE_VERSION}-${arch}.tar.xz" -C target/${arch}/release "${BIN}" - done - (cd target/x86_64-pc-windows-msvc/release && zip -9 "../../../dist/${BIN}-${CRATE_VERSION}-x86_64-pc-windows-msvc.zip" "${BIN}.exe") - - - name: 🎉 Publish release - uses: https://gitea.com/actions/release-action@main - with: - title: "${{ env.CRATE }} ${{ env.CRATE_VERSION }}" - body: "${{ env.CHANGELOG }}" - files: dist/* diff --git a/.forgejo/workflows/renovate.yaml.bak b/.forgejo/workflows/renovate.yaml similarity index 100% rename from .forgejo/workflows/renovate.yaml.bak rename to .forgejo/workflows/renovate.yaml diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9a0cbb3..d48fd4e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -10,8 +10,4 @@ repos: hooks: - id: cargo-fmt - id: cargo-clippy - name: cargo-clippy rustypipe - args: ["--package=rustypipe", "--tests", "--", "-D", "warnings"] - - id: cargo-clippy - name: cargo-clippy workspace - args: ["--all", "--tests", "--features=rss,userdata,indicatif,audiotag", "--", "-D", "warnings"] + args: ["--all", "--tests", "--features=rss,indicatif,audiotag", "--", "-D", "warnings"] diff --git a/.woodpecker.yml b/.woodpecker.yml new file mode 100644 index 0000000..c76d6d0 --- /dev/null +++ b/.woodpecker.yml @@ -0,0 +1,10 @@ +steps: + test: + image: rust:latest + environment: + - CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse + commands: + - rustup component add rustfmt clippy + - cargo fmt --all --check + - cargo clippy --all --features=rss -- -D warnings + - cargo test --features=rss --workspace diff --git a/CHANGELOG.md b/CHANGELOG.md index b44ec1f..1a8d160 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,104 +3,6 @@ All notable changes to this project will be documented in this file. -## [v0.11.4](https://codeberg.org/ThetaDev/rustypipe/compare/rustypipe/v0.11.3..rustypipe/v0.11.4) - 2025-04-23 - -### 🚀 Features - -- Player: handle VPN ban and captcha required error messages - ([be6da5e](https://codeberg.org/ThetaDev/rustypipe/commit/be6da5e7e3558ef39773bf45bcb8afbf006bacec)) - -### 🐛 Bug Fixes - -- Deobfuscator: handle 1-char long global variables, find nsig fn (player 6450230e) - ([d675987](https://codeberg.org/ThetaDev/rustypipe/commit/d675987654972c6aa4cc2b291d25bc49fa60173e)) - - -## [v0.11.3](https://codeberg.org/ThetaDev/rustypipe/compare/rustypipe/v0.11.2..rustypipe/v0.11.3) - 2025-04-03 - -### 🐛 Bug Fixes - -- Deobfuscator: global variable extraction fixed - ([ac44e95](https://codeberg.org/ThetaDev/rustypipe/commit/ac44e95a88d95f9d2d1ec672f86ca9d31d6991b9)) -- Deobfuscator: small simplification - ([189ba81](https://codeberg.org/ThetaDev/rustypipe/commit/189ba81a42e6c09f6af4d2768c449c22b864101e)) -- Deobfuscator: handle global functions as well - ([939a7ae](https://codeberg.org/ThetaDev/rustypipe/commit/939a7aea61a3eee4c1e67bfbfc835f0ce3934171)) -- Handle music playlist/album not found - ([ea80717](https://codeberg.org/ThetaDev/rustypipe/commit/ea80717f692b2c45b5063c362c9fa8ebca5a3471)) -- Switch client if no adaptive stream URLs were returned - ([187bf1c](https://codeberg.org/ThetaDev/rustypipe/commit/187bf1c9a0e846bff205e0d71a19c5a1ce7b1943)) -- Handle music artist not found - ([daf3d03](https://codeberg.org/ThetaDev/rustypipe/commit/daf3d035be38b59aef1ae205ac91c2bbdda2fe66)) - -### ⚙️ Miscellaneous Tasks - -- *(deps)* Update rust crate rand to 0.9.0 - ([af415dd](https://codeberg.org/ThetaDev/rustypipe/commit/af415ddf8f94f00edb918f271d8e6336503e9faf)) - - -## [v0.11.2](https://codeberg.org/ThetaDev/rustypipe/compare/rustypipe/v0.11.1..rustypipe/v0.11.2) - 2025-03-24 - -### 🐛 Bug Fixes - -- A/B test 22: commandExecutorCommand for playlist continuations - ([e8acbfb](https://codeberg.org/ThetaDev/rustypipe/commit/e8acbfbbcf5d31b5ac34410ddf334e5534e3762f)) -- Extract deobf data with global strings variable - ([4ce6746](https://codeberg.org/ThetaDev/rustypipe/commit/4ce6746be538564e79f7e3c67d7a91aaa53f48ea)) -- Handle player returning no adaptive stream URLs - ([07db7b1](https://codeberg.org/ThetaDev/rustypipe/commit/07db7b1166e912e1554f98f2ae20c2c356fed38f)) - - -## [v0.11.1](https://codeberg.org/ThetaDev/rustypipe/compare/rustypipe/v0.11.0..rustypipe/v0.11.1) - 2025-03-16 - -### 🐛 Bug Fixes - -- Simplify get_player_from_clients logic - ([c04b606](https://codeberg.org/ThetaDev/rustypipe/commit/c04b60604d2628bf8f0e3de453c243adbb966e57)) -- Desktop client: generate PO token from user_syncid when authenticated - ([8342cae](https://codeberg.org/ThetaDev/rustypipe/commit/8342caeb0f566a38060a6ec69f3ca65b9a2afcd6)) -- Always skip failed clients - ([63a6f50](https://codeberg.org/ThetaDev/rustypipe/commit/63a6f50a8b5ad6bb984282335c1481ae3cd2fe83)) - -### ⚙️ Miscellaneous Tasks - -- *(deps)* Update rust crate rstest to 0.25.0 - ([9ed1306](https://codeberg.org/ThetaDev/rustypipe/commit/9ed1306f3aaeb993c409997ddfbc47499e4f4d22)) - - -## [v0.11.0](https://codeberg.org/ThetaDev/rustypipe/compare/rustypipe/v0.10.0..rustypipe/v0.11.0) - 2025-02-26 - -### 🚀 Features - -- Add original album track count, fix fetching albums with more than 200 tracks - ([544782f](https://codeberg.org/ThetaDev/rustypipe/commit/544782f8de728cda0aca9a1cb95837cdfbd001f1)) - -### 🐛 Bug Fixes - -- A/B test 21: music album recommendations - ([6737512](https://codeberg.org/ThetaDev/rustypipe/commit/6737512f5f67c8cd05d4552dd0e0f24381035b35)) - - -## [v0.10.0](https://codeberg.org/ThetaDev/rustypipe/compare/rustypipe/v0.9.0..rustypipe/v0.10.0) - 2025-02-09 - -### 🚀 Features - -- Add visitor data cache, remove random visitor data - ([b12f4c5](https://codeberg.org/ThetaDev/rustypipe/commit/b12f4c5d821a9189d7ed8410ad860824b6d052ef)) -- Add support for rustypipe-botguard to get PO tokens - ([b90a252](https://codeberg.org/ThetaDev/rustypipe/commit/b90a252a5e1bf05a5294168b0ec16a73cbb88f42)) -- Add session po token cache - ([b72b501](https://codeberg.org/ThetaDev/rustypipe/commit/b72b501b6dbcf4333b24cd80e7c8c61b0c21ec91)) -- Check rustypipe-botguard-api version - ([8385b87](https://codeberg.org/ThetaDev/rustypipe/commit/8385b87c63677f32a240679a78702f53072e517a)) -- Rewrite request attempt system, retry with different visitor data - ([dfd03ed](https://codeberg.org/ThetaDev/rustypipe/commit/dfd03edfadff2657e9cfbf04e5d313ba409520ac)) -- Log failed player fetch attempts with player_from_clients - ([8e35358](https://codeberg.org/ThetaDev/rustypipe/commit/8e35358c8941301f6ebf7646a11ab22711082569)) -- Add timezone query option - ([3a2370b](https://codeberg.org/ThetaDev/rustypipe/commit/3a2370b97ca3d0f40d72d66a23295557317d29fb)) -- [**breaking**] Add userdata feature for all personal data queries (playback history, subscriptions) - ([65cb424](https://codeberg.org/ThetaDev/rustypipe/commit/65cb4244c6ab547f53d0cb12af802c4189188c86)) -- Add RustyPipe::version_botguard fn, detect rustypipe-botguard in current dir, add botguard version to report - ([1d755b7](https://codeberg.org/ThetaDev/rustypipe/commit/1d755b76bf4569f7d0bb90a65494ac8e7aae499a)) - -### 🐛 Bug Fixes - -- Parsing history dates - ([af7dc10](https://codeberg.org/ThetaDev/rustypipe/commit/af7dc1016322a87dd8fec0b739939c2b12b6f400)) -- A/V streams incorrectly recognized as video-only - ([2b891ca](https://codeberg.org/ThetaDev/rustypipe/commit/2b891ca0788f91f16dbb9203191cb3d2092ecc74)) -- Update iOS client - ([e915416](https://codeberg.org/ThetaDev/rustypipe/commit/e91541629d6c944c1001f5883e3c1264aeeb3969)) -- A/B test 20: music continuation item renderer - ([9c67f8f](https://codeberg.org/ThetaDev/rustypipe/commit/9c67f8f85bef8214848dc9d17bff6cff252e015e)) -- Include whole request body in report - ([15245c1](https://codeberg.org/ThetaDev/rustypipe/commit/15245c18b584e42523762b94fcc7284d483660a0)) -- Extracting nsig fn when outside variable starts with $ - ([eda16e3](https://codeberg.org/ThetaDev/rustypipe/commit/eda16e378730a3b57c4982a626df1622a93c574a)) -- Retry updating deobf data after a RustyPipe update - ([50ab1f7](https://codeberg.org/ThetaDev/rustypipe/commit/50ab1f7a5d8aeaa3720264b4a4b27805bb0e8121)) -- Allow player data to be fetched without botguard - ([29c854b](https://codeberg.org/ThetaDev/rustypipe/commit/29c854b20d7a6677415b1744e7ba7ecd4f594ea5)) -- Output full request body in reports, clean up `get_player_po_token` - ([a0d850f](https://codeberg.org/ThetaDev/rustypipe/commit/a0d850f8e01428a73bbd66397d0dbf797b45958f)) -- Correct timezone offset for parsed dates, add timezone_local option - ([a5a7be5](https://codeberg.org/ThetaDev/rustypipe/commit/a5a7be5b4e0a0b73d7e1dc802ebd7bd48dafc76d)) -- Use localzone crate to get local tz - ([5acbf0e](https://codeberg.org/ThetaDev/rustypipe/commit/5acbf0e456b1f10707e0a56125d993a8129eee3a)) -- Only use cached potokens with min. 10min lifetime - ([0c94267](https://codeberg.org/ThetaDev/rustypipe/commit/0c94267d0371b2b26c7b5c9abfa156d5cde2153e)) - -### 📚 Documentation - -- Add Botguard info to README - ([9957add](https://codeberg.org/ThetaDev/rustypipe/commit/9957add2b5d6391b2c1869d2019fd7dd91b8cd41)) - -### ⚙️ Miscellaneous Tasks - -- *(deps)* Update rust crate rquickjs to 0.9.0 (#33) - ([2c8ac41](https://codeberg.org/ThetaDev/rustypipe/commit/2c8ac410aa535d83f8bcc7181f81914b13bceb77)) - - ## [v0.9.0](https://codeberg.org/ThetaDev/rustypipe/compare/rustypipe/v0.8.0..rustypipe/v0.9.0) - 2025-01-16 ### 🚀 Features diff --git a/Cargo.toml b/Cargo.toml index ae8bbec..4831324 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rustypipe" -version = "0.11.4" +version = "0.9.0" rust-version = "1.67.1" edition.workspace = true authors.workspace = true @@ -40,7 +40,7 @@ serde_with = { version = "3.0.0", default-features = false, features = [ ] } serde_plain = "1.0.0" sha1 = "0.10.0" -rand = "0.9.0" +rand = "0.8.0" time = { version = "0.3.37", features = [ "macros", "serde-human-readable", @@ -67,15 +67,15 @@ dirs = "6.0.0" filenamify = "0.1.0" # Testing -rstest = "0.25.0" +rstest = "0.24.0" tokio-test = "0.4.2" insta = { version = "1.17.1", features = ["ron", "redactions"] } path_macro = "1.0.0" tracing-test = "0.2.5" # Included crates -rustypipe = { path = ".", version = "0.11.4", default-features = false } -rustypipe-downloader = { path = "./downloader", version = "0.3.1", default-features = false, features = [ +rustypipe = { path = ".", version = "0.9.0", default-features = false } +rustypipe-downloader = { path = "./downloader", version = "0.2.1", default-features = false, features = [ "indicatif", "audiotag", ] } @@ -84,7 +84,6 @@ rustypipe-downloader = { path = "./downloader", version = "0.3.1", default-featu default = ["default-tls"] rss = ["dep:quick-xml"] -userdata = [] # Reqwest TLS options default-tls = ["reqwest/default-tls"] @@ -127,6 +126,6 @@ tracing-test.workspace = true [package.metadata.docs.rs] # To build locally: -# RUSTDOCFLAGS="--cfg docsrs" cargo +nightly doc --features rss,userdata --no-deps --open -features = ["rss", "userdata"] +# RUSTDOCFLAGS="--cfg docsrs" cargo +nightly doc --features rss --no-deps --open +features = ["rss"] rustdoc-args = ["--cfg", "docsrs"] diff --git a/Justfile b/Justfile index d8bd7aa..76e8102 100644 --- a/Justfile +++ b/Justfile @@ -1,19 +1,19 @@ test: - # cargo test --features=rss,userdata - cargo nextest run --workspace --features=rss,userdata --no-fail-fast --retries 1 -- --skip 'user_data::' + # cargo test --features=rss + cargo nextest run --workspace --features=rss --no-fail-fast --retries 1 -- --skip 'cookie_auth::' unittest: - cargo nextest run --features=rss,userdata --no-fail-fast --lib + cargo nextest run --features=rss --no-fail-fast --lib testyt: - cargo nextest run --features=rss,userdata --no-fail-fast --retries 1 --test youtube -- --skip 'user_data::' + cargo nextest run --features=rss --no-fail-fast --retries 1 --test youtube -- --skip 'cookie_auth::' testyt-cookie: - cargo nextest run --features=rss,userdata --no-fail-fast --retries 1 --test youtube + cargo nextest run --features=rss --no-fail-fast --retries 1 --test youtube testyt-localized: - YT_LANG=th cargo nextest run --features=rss,userdata --no-fail-fast --retries 1 --test youtube -- \ - --skip 'user_data::' --skip 'search_suggestion' --skip 'isrc_search_languages' + YT_LANG=th cargo nextest run --features=rss --no-fail-fast --retries 1 --test youtube -- \ + --skip 'cookie_auth::' --skip 'search_suggestion' --skip 'isrc_search_languages' testintl: #!/usr/bin/env bash @@ -33,7 +33,7 @@ testintl: echo "---TESTS FOR $YT_LANG ---" if YT_LANG="$YT_LANG" cargo nextest run --no-fail-fast --retries 1 --test-threads 4 --test youtube -- \ - --skip 'user_data::' --skip 'search_suggestion' --skip 'isrc_search_languages' --skip 'resolve_'; then + --skip 'cookie_auth::' --skip 'search_suggestion' --skip 'isrc_search_languages' --skip 'resolve_'; then echo "--- $YT_LANG COMPLETED ---" else echo "--- $YT_LANG FAILED ---" diff --git a/README.md b/README.md index 767680f..c4df0c2 100644 --- a/README.md +++ b/README.md @@ -181,19 +181,6 @@ Subscribers: 1780000 ... ``` -## Crate features - -Some features of RustyPipe are gated behind features to avoid compiling unneeded -dependencies. - -- `rss` Fetch a channel's RSS feed, which is faster than fetching the channel page -- `userdata` Add functions to fetch YouTube user data (watch history, subscriptions, - music library) - -You can also choose the TLS library used for making web requests using the same features -as the reqwest crate (`default-tls`, `native-tls`, `native-tls-alpn`, -`native-tls-vendored`, `rustls-tls-webpki-roots`, `rustls-tls-native-roots`). - ## Cache storage The RustyPipe cache holds the current version numbers for all clients, the JavaScript @@ -226,21 +213,6 @@ RustyPipe reports come in 3 severity levels: incomplete) - ERR (entire response could not be deserialized/parsed, RustyPipe returned an error) -## PO tokens - -Since August 2024 YouTube requires PO tokens to access streams from web-based clients -(Desktop, Mobile). Otherwise streams will return a 403 error. - -Generating PO tokens requires a simulated browser environment, which would be too large -to include in RustyPipe directly. - -Therefore, the PO token generation is handled by a seperate CLI application -([rustypipe-botguard](https://codeberg.org/ThetaDev/rustypipe-botguard)) which is called -by the RustyPipe crate. RustyPipe automatically detects the rustypipe-botguard binary if -it is located in PATH or the current working directory. If your rustypipe-botguard -binary is located at a different path, you can specify it with the `.botguard_bin(path)` -option. - ## Authentication RustyPipe supports authenticating with your YouTube account to access diff --git a/bg_snapshot.bin b/bg_snapshot.bin new file mode 100644 index 0000000..e2228dc Binary files /dev/null and b/bg_snapshot.bin differ diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md index efe7ee5..9ebf81a 100644 --- a/cli/CHANGELOG.md +++ b/cli/CHANGELOG.md @@ -3,52 +3,6 @@ All notable changes to this project will be documented in this file. -## [v0.7.2](https://codeberg.org/ThetaDev/rustypipe/compare/rustypipe-cli/v0.7.1..rustypipe-cli/v0.7.2) - 2025-03-16 - -### ⚙️ Miscellaneous Tasks - -- *(deps)* Update rustypipe to 0.11.1 -- *(deps)* Update rustypipe-downloader to 0.3.1 -- *(deps)* Update rust crate rstest to 0.25.0 - ([9ed1306](https://codeberg.org/ThetaDev/rustypipe/commit/9ed1306f3aaeb993c409997ddfbc47499e4f4d22)) - - -## [v0.7.1](https://codeberg.org/ThetaDev/rustypipe/compare/rustypipe-cli/v0.7.0..rustypipe-cli/v0.7.1) - 2025-02-26 - -### ⚙️ Miscellaneous Tasks - -- *(deps)* Update rustypipe to 0.11.0 - ([035c07f](https://codeberg.org/ThetaDev/rustypipe/commit/035c07f170aa293bcc626f27998c2b2b28660881)) - - -## [v0.7.0](https://codeberg.org/ThetaDev/rustypipe/compare/rustypipe-cli/v0.6.0..rustypipe-cli/v0.7.0) - 2025-02-09 - -### 🚀 Features - -- Add support for rustypipe-botguard to get PO tokens - ([b90a252](https://codeberg.org/ThetaDev/rustypipe/commit/b90a252a5e1bf05a5294168b0ec16a73cbb88f42)) -- [**breaking**] Remove manual PO token options from downloader/cli, add new rustypipe-botguard options - ([cddb32f](https://codeberg.org/ThetaDev/rustypipe/commit/cddb32f190276265258c6ab45b3d43a8891c4b39)) -- Add session po token cache - ([b72b501](https://codeberg.org/ThetaDev/rustypipe/commit/b72b501b6dbcf4333b24cd80e7c8c61b0c21ec91)) -- Add timezone query option - ([3a2370b](https://codeberg.org/ThetaDev/rustypipe/commit/3a2370b97ca3d0f40d72d66a23295557317d29fb)) -- Add --timezone-local CLI option - ([4f2bb47](https://codeberg.org/ThetaDev/rustypipe/commit/4f2bb47ab42ae0c68a64f3b3c2831fa7850b6f56)) -- Add verbose flag - ([629b590](https://codeberg.org/ThetaDev/rustypipe/commit/629b5905da653c6fe0f3c6b5814dd2f49030e7ed)) - -### 🐛 Bug Fixes - -- Parsing mixed-case language codes like zh-CN - ([9c73ed4](https://codeberg.org/ThetaDev/rustypipe/commit/9c73ed4b3008cb093c0fa7fd94fd9f1ba8cd3627)) - -### 🚜 Refactor - -- [**breaking**] Add client_type field to DownloadError, rename cli option po-token-cache to pot-cache - ([594e675](https://codeberg.org/ThetaDev/rustypipe/commit/594e675b39efc5fbcdbd5e920a4d2cdee64f718e)) -- Rename rustypipe-cli binary to rustypipe - ([c1a872e](https://codeberg.org/ThetaDev/rustypipe/commit/c1a872e1c14ea0956053bd7c65f6875b1cb3bc55)) - -### 📚 Documentation - -- Add Botguard info to README - ([9957add](https://codeberg.org/ThetaDev/rustypipe/commit/9957add2b5d6391b2c1869d2019fd7dd91b8cd41)) - -### ⚙️ Miscellaneous Tasks - -- *(deps)* Update rustypipe to 0.10.0 -- *(deps)* Update rust crate rquickjs to 0.9.0 (#33) - ([2c8ac41](https://codeberg.org/ThetaDev/rustypipe/commit/2c8ac410aa535d83f8bcc7181f81914b13bceb77)) - - ## [v0.6.0](https://codeberg.org/ThetaDev/rustypipe/compare/rustypipe-cli/v0.5.0..rustypipe-cli/v0.6.0) - 2025-01-16 ### 🚀 Features diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 175f4cd..c4cd005 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rustypipe-cli" -version = "0.7.2" +version = "0.6.0" rust-version = "1.70.0" edition.workspace = true authors.workspace = true @@ -42,7 +42,7 @@ rustls-tls-native-roots = [ ] [dependencies] -rustypipe = { workspace = true, features = ["rss", "userdata"] } +rustypipe = { workspace = true, features = ["rss"] } rustypipe-downloader.workspace = true reqwest.workspace = true tokio = { workspace = true, features = ["macros", "rt-multi-thread"] } @@ -64,7 +64,3 @@ dirs.workspace = true anstream = "0.6.15" owo-colors = "4.0.0" const_format = "0.2.33" - -[[bin]] -name = "rustypipe" -path = "src/main.rs" diff --git a/cli/README.md b/cli/README.md index 7474f0a..28c34a4 100644 --- a/cli/README.md +++ b/cli/README.md @@ -8,19 +8,7 @@ The RustyPipe CLI is a powerful YouTube client for the command line. It allows y access most of the features of the RustyPipe crate: getting data from YouTube and downloading videos. -## Installation - -You can download a compiled version of RustyPipe here: - - -Alternatively, you can compile it yourself by installing [Rust](https://rustup.rs/) and -running `cargo install rustypipe-cli`. - -To be able to access streams from web-based clients (Desktop, Mobile) you need to -download [rustypipe-botguard](https://codeberg.org/ThetaDev/rustypipe-botguard/releases) -and place the binary either in the PATH or the current working directory. - -For downloading videos you also need to have ffmpeg installed. +The following subcommands are included: ## `get`: Fetch information @@ -139,8 +127,8 @@ Fetch a list of all the items saved in your YouTube/YouTube Music profile. - **Proxy:** RustyPipe respects the environment variables `HTTP_PROXY`, `HTTPS_PROXY` and `ALL_PROXY` -- **Logging:** Enable debug logging with the `-v` (verbose) flag. If you want more - fine-grained control, use the `RUST_LOG` environment variable. +- **Logging:** You can change the log level with the `RUST_LOG` environment variable, it + is set to `info` by default - **Visitor data:** A custom visitor data ID can be used with the `--vdata` flag - **Authentication:** Use the commands `rustypipe login` and `rustypipe login --cookie` to log into your Google account using either OAuth or YouTube cookies. With the @@ -152,7 +140,6 @@ Fetch a list of all the items saved in your YouTube/YouTube Music profile. Europe/Berlin, Australia/Sydney) **Note:** this requires building rustypipe-cli with the `timezone` feature - - `--local-tz` Use the local timezone instead of UTC - `--report` Generate a report on every request and store it in a `rustypipe_reports` folder in the current directory diff --git a/cli/src/main.rs b/cli/src/main.rs index b226221..f192dd8 100644 --- a/cli/src/main.rs +++ b/cli/src/main.rs @@ -80,9 +80,6 @@ struct Cli { /// Enable caching for session-bound PO tokens #[clap(long, global = true)] pot_cache: bool, - /// Enable debug logging - #[clap(short, long, global = true)] - verbose: bool, } #[derive(Parser)] @@ -881,15 +878,12 @@ async fn run() -> anyhow::Result<()> { let cli = Cli::parse(); let multi = MultiProgress::new(); - let mut env_filter = EnvFilter::builder() - .with_default_directive(LevelFilter::INFO.into()) - .from_env_lossy(); - if cli.verbose { - env_filter = env_filter.add_directive("rustypipe=debug".parse().unwrap()); - } - tracing_subscriber::fmt::SubscriberBuilder::default() - .with_env_filter(env_filter) + .with_env_filter( + EnvFilter::builder() + .with_default_directive(LevelFilter::INFO.into()) + .from_env_lossy(), + ) .with_writer(ProgWriter(multi.clone())) .init(); diff --git a/codegen/Cargo.toml b/codegen/Cargo.toml index 4b602d8..0ccb5ac 100644 --- a/codegen/Cargo.toml +++ b/codegen/Cargo.toml @@ -9,7 +9,7 @@ repository.workspace = true publish = false [dependencies] -rustypipe = { path = "../", features = ["userdata"] } +rustypipe = { path = "../" } reqwest.workspace = true tokio = { workspace = true, features = ["rt-multi-thread"] } futures-util.workspace = true diff --git a/codegen/src/abtest.rs b/codegen/src/abtest.rs index de8001a..91aaf5e 100644 --- a/codegen/src/abtest.rs +++ b/codegen/src/abtest.rs @@ -40,15 +40,12 @@ pub enum ABTest { MusicPlaylistFacepile = 18, MusicAlbumGroupsReordered = 19, MusicContinuationItemRenderer = 20, - AlbumRecommends = 21, - CommandExecutorCommand = 22, } /// List of active A/B tests that are run when none is manually specified const TESTS_TO_RUN: &[ABTest] = &[ ABTest::MusicAlbumGroupsReordered, - ABTest::AlbumRecommends, - ABTest::CommandExecutorCommand, + ABTest::MusicContinuationItemRenderer, ]; #[derive(Debug, Serialize, Deserialize)] @@ -124,8 +121,6 @@ pub async fn run_test( ABTest::MusicContinuationItemRenderer => { music_continuation_item_renderer(&query).await } - ABTest::AlbumRecommends => album_recommends(&query).await, - ABTest::CommandExecutorCommand => command_executor_command(&query).await, } .unwrap(); pb.inc(1); @@ -448,33 +443,3 @@ pub async fn music_continuation_item_renderer(rp: &RustyPipeQuery) -> Result Result { - let id = "MPREb_u1I69lSAe5v"; - let res = rp - .raw( - ClientType::DesktopMusic, - "browse", - &QBrowse { - browse_id: id, - params: None, - }, - ) - .await?; - Ok(res.contains("\"musicCarouselShelfRenderer\"")) -} - -pub async fn command_executor_command(rp: &RustyPipeQuery) -> Result { - let id = "VLPLbZIPy20-1pN7mqjckepWF78ndb6ci_qi"; - let res = rp - .raw( - ClientType::Desktop, - "browse", - &QBrowse { - browse_id: id, - params: None, - }, - ) - .await?; - Ok(res.contains("\"commandExecutorCommand\"")) -} diff --git a/codegen/src/collect_album_versions_titles.rs b/codegen/src/collect_album_versions_titles.rs deleted file mode 100644 index 0cb513c..0000000 --- a/codegen/src/collect_album_versions_titles.rs +++ /dev/null @@ -1,130 +0,0 @@ -use std::{collections::BTreeMap, fs::File, io::BufReader}; - -use path_macro::path; -use rustypipe::{ - client::{ClientType, RustyPipe}, - param::{Language, LANGUAGES}, -}; -use serde::Deserialize; -use serde_with::rust::deserialize_ignore_any; - -use crate::{ - model::{QBrowse, SectionList, TextRuns}, - util::{self, DICT_DIR}, -}; - -pub async fn collect_album_versions_titles() { - let json_path = path!(*DICT_DIR / "other_versions_titles.json"); - let mut res = BTreeMap::new(); - - let rp = RustyPipe::new(); - - for lang in LANGUAGES { - let query = QBrowse { - browse_id: "MPREb_nlBWQROfvjo", - params: None, - }; - let raw_resp = rp - .query() - .lang(lang) - .raw(ClientType::DesktopMusic, "browse", &query) - .await - .unwrap(); - let data = serde_json::from_str::(&raw_resp).unwrap(); - let title = data - .contents - .two_column_browse_results_renderer - .secondary_contents - .section_list_renderer - .contents - .into_iter() - .find_map(|x| match x { - ItemSection::MusicCarouselShelfRenderer(music_carousel_shelf) => { - Some(music_carousel_shelf) - } - ItemSection::None => None, - }) - .expect("other versions") - .header - .expect("header") - .music_carousel_shelf_basic_header_renderer - .title - .runs - .into_iter() - .next() - .unwrap() - .text; - println!("{lang}: {title}"); - res.insert(lang, title); - } - - let file = File::create(json_path).unwrap(); - serde_json::to_writer_pretty(file, &res).unwrap(); -} - -pub fn write_samples_to_dict() { - let json_path = path!(*DICT_DIR / "other_versions_titles.json"); - let json_file = File::open(json_path).unwrap(); - let collected: BTreeMap = - serde_json::from_reader(BufReader::new(json_file)).unwrap(); - let mut dict = util::read_dict(); - let langs = dict.keys().copied().collect::>(); - - for lang in langs { - let dict_entry = dict.entry(lang).or_default(); - - let e = collected.get(&lang).unwrap(); - assert_eq!(e, e.trim()); - dict_entry.album_versions_title = e.to_owned(); - - for lang in &dict_entry.equivalent { - let ee = collected.get(lang).unwrap(); - if ee != e { - panic!("equivalent lang conflict, lang: {lang}"); - } - } - } - - util::write_dict(dict); -} - -#[derive(Debug, Deserialize)] -struct AlbumData { - contents: AlbumDataContents, -} - -#[derive(Debug, Deserialize)] -#[serde(rename_all = "camelCase")] -struct AlbumDataContents { - two_column_browse_results_renderer: X1, -} - -#[derive(Debug, Deserialize)] -#[serde(rename_all = "camelCase")] -struct X1 { - secondary_contents: SectionList, -} - -#[derive(Debug, Deserialize)] -#[serde(rename_all = "camelCase")] -enum ItemSection { - MusicCarouselShelfRenderer(MusicCarouselShelf), - #[serde(other, deserialize_with = "deserialize_ignore_any")] - None, -} - -#[derive(Debug, Deserialize)] -struct MusicCarouselShelf { - header: Option, -} - -#[derive(Debug, Deserialize)] -#[serde(rename_all = "camelCase")] -struct MusicCarouselShelfHeader { - music_carousel_shelf_basic_header_renderer: MusicCarouselShelfHeaderRenderer, -} - -#[derive(Debug, Deserialize)] -struct MusicCarouselShelfHeaderRenderer { - title: TextRuns, -} diff --git a/codegen/src/collect_video_durations.rs b/codegen/src/collect_video_durations.rs index cfb5a64..9ee06df 100644 --- a/codegen/src/collect_video_durations.rs +++ b/codegen/src/collect_video_durations.rs @@ -204,6 +204,8 @@ pub fn parse_video_durations() { parse(&mut words, lang, dict_entry.by_char, txt, *d); } + // dbg!(&words); + for (k, v) in words { if let Some(v) = v { dict_entry.timeago_tokens.insert(k, v.to_string()); diff --git a/codegen/src/download_testfiles.rs b/codegen/src/download_testfiles.rs index cd85654..9e6f2bf 100644 --- a/codegen/src/download_testfiles.rs +++ b/codegen/src/download_testfiles.rs @@ -39,6 +39,9 @@ pub async fn download_testfiles() { search_playlists().await; search_empty().await; trending().await; + history().await; + subscriptions().await; + subscription_feed().await; music_playlist().await; music_playlist_cont().await; @@ -62,12 +65,6 @@ pub async fn download_testfiles() { music_charts().await; music_genres().await; music_genre().await; - - // User data - history().await; - subscriptions().await; - subscription_feed().await; - music_history().await; music_saved_artists().await; music_saved_albums().await; @@ -467,7 +464,7 @@ async fn trending() { } async fn history() { - let json_path = path!(*TESTFILES_DIR / "userdata" / "history.json"); + let json_path = path!(*TESTFILES_DIR / "history" / "history.json"); if json_path.exists() { return; } @@ -477,7 +474,7 @@ async fn history() { } async fn subscriptions() { - let json_path = path!(*TESTFILES_DIR / "userdata" / "subscriptions.json"); + let json_path = path!(*TESTFILES_DIR / "history" / "subscriptions.json"); if json_path.exists() { return; } @@ -487,7 +484,7 @@ async fn subscriptions() { } async fn subscription_feed() { - let json_path = path!(*TESTFILES_DIR / "userdata" / "subscription_feed.json"); + let json_path = path!(*TESTFILES_DIR / "history" / "subscription_feed.json"); if json_path.exists() { return; } @@ -819,7 +816,7 @@ async fn music_genre() { } async fn music_history() { - let json_path = path!(*TESTFILES_DIR / "music_userdata" / "music_history.json"); + let json_path = path!(*TESTFILES_DIR / "music_history" / "music_history.json"); if json_path.exists() { return; } @@ -829,7 +826,7 @@ async fn music_history() { } async fn music_saved_artists() { - let json_path = path!(*TESTFILES_DIR / "music_userdata" / "saved_artists.json"); + let json_path = path!(*TESTFILES_DIR / "music_history" / "saved_artists.json"); if json_path.exists() { return; } @@ -839,7 +836,7 @@ async fn music_saved_artists() { } async fn music_saved_albums() { - let json_path = path!(*TESTFILES_DIR / "music_userdata" / "saved_albums.json"); + let json_path = path!(*TESTFILES_DIR / "music_history" / "saved_albums.json"); if json_path.exists() { return; } @@ -849,7 +846,7 @@ async fn music_saved_albums() { } async fn music_saved_tracks() { - let json_path = path!(*TESTFILES_DIR / "music_userdata" / "saved_tracks.json"); + let json_path = path!(*TESTFILES_DIR / "music_history" / "saved_tracks.json"); if json_path.exists() { return; } @@ -859,7 +856,7 @@ async fn music_saved_tracks() { } async fn music_saved_playlists() { - let json_path = path!(*TESTFILES_DIR / "music_userdata" / "saved_playlists.json"); + let json_path = path!(*TESTFILES_DIR / "music_history" / "saved_playlists.json"); if json_path.exists() { return; } diff --git a/codegen/src/gen_dictionary.rs b/codegen/src/gen_dictionary.rs index 549fb83..e5ce310 100644 --- a/codegen/src/gen_dictionary.rs +++ b/codegen/src/gen_dictionary.rs @@ -90,8 +90,6 @@ pub(crate) struct Entry { pub chan_prefix: &'static str, /// Channel name suffix on playlist pages pub chan_suffix: &'static str, - /// "Other versions" title on album pages - pub album_versions_title: &'static str, } "#; @@ -180,8 +178,8 @@ pub(crate) fn entry(lang: Language) -> Entry { .to_string() .replace('\n', "\n "); - write!(code_timeago_tokens, "{} => Entry {{\n timeago_tokens: {},\n month_before_day: {:?},\n months: {},\n timeago_nd_tokens: {},\n comma_decimal: {:?},\n number_tokens: {},\n number_nd_tokens: {},\n album_types: {},\n chan_prefix: {:?},\n chan_suffix: {:?},\n album_versions_title: {:?},\n }},\n ", - selector, code_ta_tokens, entry.month_before_day, code_months, code_ta_nd_tokens, entry.comma_decimal, code_number_tokens, code_number_nd_tokens, code_album_types, entry.chan_prefix, entry.chan_suffix, entry.album_versions_title).unwrap(); + write!(code_timeago_tokens, "{} => Entry {{\n timeago_tokens: {},\n month_before_day: {:?},\n months: {},\n timeago_nd_tokens: {},\n comma_decimal: {:?},\n number_tokens: {},\n number_nd_tokens: {},\n album_types: {},\n chan_prefix: {:?},\n chan_suffix: {:?},\n }},\n ", + selector, code_ta_tokens, entry.month_before_day, code_months, code_ta_nd_tokens, entry.comma_decimal, code_number_tokens, code_number_nd_tokens, code_album_types, entry.chan_prefix, entry.chan_suffix).unwrap(); } code_timeago_tokens = code_timeago_tokens.trim_end().to_owned() + "\n }\n}\n"; diff --git a/codegen/src/main.rs b/codegen/src/main.rs index 74b5d85..87f484f 100644 --- a/codegen/src/main.rs +++ b/codegen/src/main.rs @@ -2,7 +2,6 @@ mod abtest; mod collect_album_types; -mod collect_album_versions_titles; mod collect_chan_prefixes; mod collect_history_dates; mod collect_large_numbers; @@ -35,14 +34,12 @@ enum Commands { CollectHistoryDates, CollectMusicHistoryDates, CollectChanPrefixes, - CollectAlbumVersionsTitles, ParsePlaylistDates, ParseHistoryDates, ParseLargeNumbers, ParseAlbumTypes, ParseVideoDurations, ParseChanPrefixes, - ParseAlbumVersionsTitles, GenLocales, GenDict, DownloadTestfiles, @@ -61,25 +58,28 @@ async fn main() { match cli.command { Commands::CollectPlaylistDates => { - collect_playlist_dates::collect_dates(cli.concurrency).await + collect_playlist_dates::collect_dates(cli.concurrency).await; } Commands::CollectLargeNumbers => { - collect_large_numbers::collect_large_numbers(cli.concurrency).await + collect_large_numbers::collect_large_numbers(cli.concurrency).await; } Commands::CollectAlbumTypes => { - collect_album_types::collect_album_types(cli.concurrency).await + collect_album_types::collect_album_types(cli.concurrency).await; } Commands::CollectVideoDurations => { - collect_video_durations::collect_video_durations(cli.concurrency).await + collect_video_durations::collect_video_durations(cli.concurrency).await; } Commands::CollectVideoDates => { - collect_video_dates::collect_video_dates(cli.concurrency).await + collect_video_dates::collect_video_dates(cli.concurrency).await; } - Commands::CollectHistoryDates => collect_history_dates::collect_dates().await, - Commands::CollectMusicHistoryDates => collect_history_dates::collect_dates_music().await, - Commands::CollectChanPrefixes => collect_chan_prefixes::collect_chan_prefixes().await, - Commands::CollectAlbumVersionsTitles => { - collect_album_versions_titles::collect_album_versions_titles().await + Commands::CollectHistoryDates => { + collect_history_dates::collect_dates().await; + } + Commands::CollectMusicHistoryDates => { + collect_history_dates::collect_dates_music().await; + } + Commands::CollectChanPrefixes => { + collect_chan_prefixes::collect_chan_prefixes().await; } Commands::ParsePlaylistDates => collect_playlist_dates::write_samples_to_dict(), Commands::ParseHistoryDates => collect_history_dates::write_samples_to_dict(), @@ -87,10 +87,9 @@ async fn main() { Commands::ParseAlbumTypes => collect_album_types::write_samples_to_dict(), Commands::ParseVideoDurations => collect_video_durations::parse_video_durations(), Commands::ParseChanPrefixes => collect_chan_prefixes::write_samples_to_dict(), - Commands::ParseAlbumVersionsTitles => { - collect_album_versions_titles::write_samples_to_dict() + Commands::GenLocales => { + gen_locales::generate_locales().await; } - Commands::GenLocales => gen_locales::generate_locales().await, Commands::GenDict => gen_dictionary::generate_dictionary(), Commands::DownloadTestfiles => download_testfiles::download_testfiles().await, Commands::AbTest { id, n } => { diff --git a/codegen/src/model.rs b/codegen/src/model.rs index 2d9929f..3002451 100644 --- a/codegen/src/model.rs +++ b/codegen/src/model.rs @@ -61,8 +61,6 @@ pub struct DictEntry { pub chan_prefix: String, /// Channel name suffix on playlist pages pub chan_suffix: String, - /// "Other versions" title on album pages - pub album_versions_title: String, } /// Parsed TimeAgo string, contains amount and time unit. diff --git a/downloader/CHANGELOG.md b/downloader/CHANGELOG.md index f0779d4..25d7681 100644 --- a/downloader/CHANGELOG.md +++ b/downloader/CHANGELOG.md @@ -3,37 +3,6 @@ All notable changes to this project will be documented in this file. -## [v0.3.1](https://codeberg.org/ThetaDev/rustypipe/compare/rustypipe-downloader/v0.3.0..rustypipe-downloader/v0.3.1) - 2024-12-20 - -### ⚙️ Miscellaneous Tasks - -- *(deps)* Update rustypipe to 0.11.0 - - -## [v0.3.0](https://codeberg.org/ThetaDev/rustypipe/compare/rustypipe-downloader/v0.2.7..rustypipe-downloader/v0.3.0) - 2025-02-09 - -### 🚀 Features - -- [**breaking**] Remove manual PO token options from downloader in favor of rustypipe-botguard - ([cddb32f](https://codeberg.org/ThetaDev/rustypipe/commit/cddb32f190276265258c6ab45b3d43a8891c4b39)) - -### 🐛 Bug Fixes - -- Ensure downloader futures are send - ([812ff4c](https://codeberg.org/ThetaDev/rustypipe/commit/812ff4c5bafffc5708a6d5066f1ebadb6d9fc958)) -- Download audio with dolby codec - ([9234005](https://codeberg.org/ThetaDev/rustypipe/commit/92340056f868007beccb64e9e26eb39abc40f7aa)) - -### 🚜 Refactor - -- [**breaking**] Add client_type field to DownloadError, rename cli option po-token-cache to pot-cache - ([594e675](https://codeberg.org/ThetaDev/rustypipe/commit/594e675b39efc5fbcdbd5e920a4d2cdee64f718e)) - -### 📚 Documentation - -- Add Botguard info to README - ([9957add](https://codeberg.org/ThetaDev/rustypipe/commit/9957add2b5d6391b2c1869d2019fd7dd91b8cd41)) - -### ⚙️ Miscellaneous Tasks - -- *(deps)* Update rustypipe to 0.10.0 - - ## [v0.2.7](https://codeberg.org/ThetaDev/rustypipe/compare/rustypipe-downloader/v0.2.6..rustypipe-downloader/v0.2.7) - 2025-01-16 ### 🚀 Features diff --git a/downloader/Cargo.toml b/downloader/Cargo.toml index dba74ce..a410beb 100644 --- a/downloader/Cargo.toml +++ b/downloader/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rustypipe-downloader" -version = "0.3.1" +version = "0.2.7" rust-version = "1.67.1" edition.workspace = true authors.workspace = true @@ -51,7 +51,7 @@ image = { version = "0.25.0", optional = true, default-features = false, feature "jpeg", "webp", ] } -smartcrop2 = { version = "0.4.0", optional = true } +smartcrop2 = { version = "0.3.1", optional = true } [dev-dependencies] path_macro.workspace = true diff --git a/downloader/src/lib.rs b/downloader/src/lib.rs index c63d5c5..8dc00c0 100644 --- a/downloader/src/lib.rs +++ b/downloader/src/lib.rs @@ -1033,13 +1033,9 @@ impl DownloadQuery { image::load_from_memory(&img_bts)? }; - let crop = smartcrop::find_best_crop_no_borders( - &img, - NonZeroU32::MIN, - NonZeroU32::MIN, - ) - .map_err(|e| DownloadError::AudioTag(format!("image crop: {e}").into()))? - .crop; + let crop = smartcrop::find_best_crop(&img, NonZeroU32::MIN, NonZeroU32::MIN) + .map_err(|e| DownloadError::AudioTag(format!("image crop: {e}").into()))? + .crop; img = img.crop_imm(crop.x, crop.y, crop.width, crop.height); let mut enc_bts = Vec::new(); img.write_with_encoder(image::codecs::jpeg::JpegEncoder::new_with_quality( @@ -1067,8 +1063,8 @@ impl DownloadQuery { } fn get_download_range(offset: u64, size: Option) -> Range { - let mut rng = rand::rng(); - let chunk_size = rng.random_range(CHUNK_SIZE_MIN..CHUNK_SIZE_MAX); + let mut rng = rand::thread_rng(); + let chunk_size = rng.gen_range(CHUNK_SIZE_MIN..CHUNK_SIZE_MAX); let mut chunk_end = offset + chunk_size; if let Some(size) = size { @@ -1201,8 +1197,6 @@ async fn download_single_file( } } - tracing::debug!("downloading {} to {}", url, output.to_string_lossy()); - let mut file = fs::OpenOptions::new() .append(true) .create(true) diff --git a/notes/AB_Tests.md b/notes/AB_Tests.md index 8742ef6..c85156a 100644 --- a/notes/AB_Tests.md +++ b/notes/AB_Tests.md @@ -3,13 +3,13 @@ When YouTube introduces a new feature, it does so gradually. When a user creates a new session, YouTube decided randomly which new features should be enabled. -YouTube sessions are identified by the visitor data ID. This cookie is sent with every -API request using the `context.client.visitor_data` JSON parameter. It is also returned -in the `responseContext.visitorData` response parameter and stored as the `__SECURE-YEC` -cookie. +YouTube sessions are identified by the visitor data ID. This cookie is sent with +every API request using the `context.client.visitor_data` JSON parameter. It is also +returned in the `responseContext.visitorData` response parameter and stored as the +`__SECURE-YEC` cookie. -By sending the same visitor data ID, A/B tests can be reproduced, which is important for -testing alternative YouTube clients. +By sending the same visitor data ID, A/B tests can be reproduced, which is important +for testing alternative YouTube clients. This page lists all A/B tests that were encountered while maintaining the RustyPipe client. @@ -1030,7 +1030,7 @@ commandContext missing). - **Encountered on:** 13.01.2025 - **Impact:** 🟢 Low - **Endpoint:** browse (YTM) -- **Status:** Frequent (59%) +- **Status:** Common (10%) YouTube Music used to group artist albums into 2 rows: "Albums" and "Singles". @@ -1042,7 +1042,7 @@ omitted for albums in their group, while singles and EPs have a label with their - **Encountered on:** 25.01.2025 - **Impact:** 🟢 Low - **Endpoint:** browse (YTM) -- **Status:** Stabilized +- **Status:** Common (4%) YouTube Music now uses a `continuationItemRenderer` for music playlists instead of putting the continuations in a separate attribute of the MusicShelf. @@ -1052,52 +1052,3 @@ items. YouTube Music now also sends a random 16-character string as a `clientScreenNonce` in the request context. This is not mandatory though. - -## [21] Music album recommendations - -- **Encountered on:** 26.02.2025 -- **Impact:** 🟢 Low -- **Endpoint:** browse (YTM) -- **Status:** Common (15%) - -![A/B test 21 screenshot](./_img/ab_21.png) - -YouTube Music has added "Recommended" and "More from \" carousels to album -pages. The difficulty is distinguishing them reliably for parsing the album variants. - -The current solution is adding the "Other versions" title in all languages to the -dictionary and comparing it. - -## [22] commandExecutorCommand for continuations - -- **Encountered on:** 16.03.2025 -- **Impact:** 🟢 Low -- **Endpoint:** browse (YTM) -- **Status:** Experimental (1%) - -YouTube playlists may use a commandExecutorCommand which holds a list of commands: the -`continuationCommand` that needs to be extracted as well as a `playlistVotingRefreshPopupCommand`. - -```json -{ - "continuationItemRenderer": { - "continuationEndpoint": { - "commandExecutorCommand": { - "commands": [ - { - "playlistVotingRefreshPopupCommand": { - "command": {} - } - }, - { - "continuationCommand": { - "request": "CONTINUATION_REQUEST_TYPE_BROWSE", - "token": "4qmFsgKBARIkVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpGjRDQUY2SGxCVU9rTklTV2xGUkVreVVtdEZOVTVFU1hsU2FrWkRVa1JKZWs1NldRJTNEJTNEmgIiUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaQ%3D%3D" - } - } - ] - } - } - } -} -``` diff --git a/notes/_img/ab_21.png b/notes/_img/ab_21.png deleted file mode 100644 index 929f5d3..0000000 Binary files a/notes/_img/ab_21.png and /dev/null differ diff --git a/src/client/channel.rs b/src/client/channel.rs index dc67579..8dcb827 100644 --- a/src/client/channel.rs +++ b/src/client/channel.rs @@ -468,9 +468,8 @@ fn map_channel( let subscriber_count = sub_part.and_then(|t| { util::parse_large_numstr_or_warn::(t.as_str(), ctx.lang, &mut warnings) }); - let video_count = vc_part.and_then(|t| { - util::parse_large_numstr_or_warn(t.as_str(), ctx.lang, &mut warnings) - }); + let video_count = + vc_part.and_then(|t| util::parse_numeric_or_warn(t.as_str(), &mut warnings)); Channel { id: metadata.external_id, diff --git a/src/client/channel_rss.rs b/src/client/channel_rss.rs index f3f7319..b28a802 100644 --- a/src/client/channel_rss.rs +++ b/src/client/channel_rss.rs @@ -3,7 +3,7 @@ use std::fmt::Debug; use crate::{ error::{Error, ExtractionError}, model::ChannelRss, - report::Report, + report::{Report, RustyPipeInfo}, util, }; @@ -45,7 +45,7 @@ impl RustyPipeQuery { Err(e) => { if let Some(reporter) = &self.client.inner.reporter { let report = Report { - info: self.rp_info(), + info: RustyPipeInfo::new(Some(self.opts.lang)), level: crate::report::Level::ERR, operation: "channel_rss", error: Some(e.to_string()), diff --git a/src/client/userdata.rs b/src/client/history.rs similarity index 89% rename from src/client/userdata.rs rename to src/client/history.rs index 89eb4b5..427715c 100644 --- a/src/client/userdata.rs +++ b/src/client/history.rs @@ -7,7 +7,7 @@ use crate::{ error::{Error, ExtractionError}, model::{ paginator::{ContinuationEndpoint, Paginator}, - ChannelItem, HistoryItem, Playlist, PlaylistItem, VideoItem, + ChannelItem, HistoryItem, PlaylistItem, VideoItem, }, serializer::MapResult, }; @@ -148,28 +148,6 @@ impl RustyPipeQuery { ) .await } - - /// Get all liked videos of the logged-in user - /// - /// Requires authentication cookies. - pub async fn liked_videos(&self) -> Result { - self.clone() - .authenticated() - .playlist("LL") - .await - .map_err(crate::util::map_internal_playlist_err) - } - - /// Get the "Watch later" playlist of the logged-in user - /// - /// Requires authentication cookies. - pub async fn watch_later(&self) -> Result { - self.clone() - .authenticated() - .playlist("WL") - .await - .map_err(crate::util::map_internal_playlist_err) - } } impl MapResponse>> for response::History { @@ -207,9 +185,11 @@ impl MapResponse>> for response::History { &mut map_res, ); } - response::YouTubeListItem::ContinuationItemRenderer(ep) => { + response::YouTubeListItem::ContinuationItemRenderer { + continuation_endpoint, + } => { if ctoken.is_none() { - ctoken = ep.continuation_endpoint.into_token(); + ctoken = Some(continuation_endpoint.continuation_command.token); } } _ => {} @@ -278,7 +258,7 @@ mod tests { #[test] fn map_history() { - let json_path = path!(*TESTFILES / "userdata" / "history.json"); + let json_path = path!(*TESTFILES / "history" / "history.json"); let json_file = File::open(json_path).unwrap(); let history: response::History = @@ -298,7 +278,7 @@ mod tests { #[test] fn map_subscription_feed() { - let json_path = path!(*TESTFILES / "userdata" / "subscription_feed.json"); + let json_path = path!(*TESTFILES / "history" / "subscription_feed.json"); let json_file = File::open(json_path).unwrap(); let history: response::History = diff --git a/src/client/mod.rs b/src/client/mod.rs index 06386bc..61e358e 100644 --- a/src/client/mod.rs +++ b/src/client/mod.rs @@ -3,10 +3,12 @@ pub(crate) mod response; mod channel; +mod history; mod music_artist; mod music_charts; mod music_details; mod music_genres; +mod music_history; mod music_new; mod music_playlist; mod music_search; @@ -18,13 +20,6 @@ mod trends; mod url_resolver; mod video_details; -#[cfg(feature = "userdata")] -#[cfg_attr(docsrs, doc(cfg(feature = "userdata")))] -mod music_userdata; -#[cfg(feature = "userdata")] -#[cfg_attr(docsrs, doc(cfg(feature = "userdata")))] -mod userdata; - #[cfg(feature = "rss")] #[cfg_attr(docsrs, doc(cfg(feature = "rss")))] mod channel_rss; @@ -293,10 +288,8 @@ struct OauthToken { #[derive(Debug, Clone, Serialize, Deserialize)] struct AuthCookie { cookie: String, - #[serde(alias = "account_syncid", skip_serializing_if = "Option::is_none")] - channel_syncid: Option, #[serde(skip_serializing_if = "Option::is_none")] - user_syncid: Option, + account_syncid: Option, #[serde(skip_serializing_if = "Option::is_none")] session_index: Option, } @@ -321,9 +314,8 @@ impl AuthCookie { fn new(cookie: String) -> Self { Self { cookie, - channel_syncid: None, + account_syncid: None, session_index: None, - user_syncid: None, } } } @@ -365,8 +357,6 @@ const OAUTH_CLIENT_ID: &str = const OAUTH_CLIENT_SECRET: &str = "SboVhoG9s0rNafixCSGGKXAT"; const OAUTH_SCOPES: &str = "http://gdata.youtube.com https://www.googleapis.com/auth/youtube"; -const BOTGUARD_API_VERSION: &str = "1"; - static CLIENT_VERSION_REGEX: Lazy = Lazy::new(|| Regex::new(r#""INNERTUBE_CONTEXT_CLIENT_VERSION":"([\w\d\._-]+?)""#).unwrap()); @@ -384,7 +374,7 @@ struct RustyPipeRef { http: Client, storage: Option>, reporter: Option>, - n_http_retries: u32, + n_request_attempts: u32, cache: CacheHolder, default_opts: RustyPipeOpts, user_agent: Cow<'static, str>, @@ -408,19 +398,17 @@ struct RustyPipeOpts { pub struct RustyPipeBuilder { storage: DefaultOpt>, reporter: DefaultOpt>, - n_http_retries: u32, + n_request_attempts: u32, timeout: DefaultOpt, user_agent: Option, default_opts: RustyPipeOpts, storage_dir: Option, botguard_bin: DefaultOpt, - snapshot_file: Option, po_token_cache: bool, } struct BotguardCfg { program: OsString, - version: String, snapshot_file: PathBuf, po_token_cache: bool, } @@ -448,6 +436,13 @@ impl DefaultOpt { DefaultOpt::Default => Some(f()), } } + fn or_default_opt Option>(self, f: F) -> Option { + match self { + DefaultOpt::Some(x) => Some(x), + DefaultOpt::None => None, + DefaultOpt::Default => f(), + } + } } /// # RustyPipe query @@ -508,26 +503,6 @@ impl DefaultOpt { /// - [`music_new_albums`](RustyPipeQuery::music_new_albums) /// - [`music_new_videos`](RustyPipeQuery::music_new_videos) /// -/// ### User data (🔒 Feature `userdata`) -/// -/// - **Playback history** -/// - [`history`](RustyPipeQuery::history) -/// - [`history_search`](RustyPipeQuery::history_search) -/// - [`music_history`](RustyPipeQuery::music_history) -/// - **YouTube library** -/// - [`liked_videos`](RustyPipeQuery::liked_videos) -/// - [`watch_later`](RustyPipeQuery::watch_later) -/// - [`saved_playlists`](RustyPipeQuery::saved_playlists) -/// - **Music library** -/// - [`music_saved_artists`](RustyPipeQuery::music_saved_artists) -/// - [`music_saved_albums`](RustyPipeQuery::music_saved_albums) -/// - [`music_saved_tracks`](RustyPipeQuery::music_saved_tracks) -/// - [`music_saved_playlists`](RustyPipeQuery::music_saved_playlists) -/// - [`music_liked_tracks`](RustyPipeQuery::music_liked_tracks) -/// - **Subscriptions** -/// - [`subscriptions`](RustyPipeQuery::subscriptions) -/// - [`subscription_feed`](RustyPipeQuery::subscription_feed) -/// /// ## Options /// /// You can set the language, country and visitor data ID for individual requests. @@ -680,11 +655,10 @@ impl RustyPipeBuilder { storage: DefaultOpt::Default, reporter: DefaultOpt::Default, timeout: DefaultOpt::Default, - n_http_retries: 2, + n_request_attempts: 2, user_agent: None, storage_dir: None, botguard_bin: DefaultOpt::Default, - snapshot_file: None, po_token_cache: false, } } @@ -750,31 +724,27 @@ impl RustyPipeBuilder { let visitor_data_cache = VisitorDataCache::new(http.clone(), 50, 20); - let botguard = match self.botguard_bin { - DefaultOpt::Some(botguard_bin) => Some(detect_botguard_bin(botguard_bin)?), - DefaultOpt::None => None, - DefaultOpt::Default => detect_botguard_bin("./rustypipe-botguard".into()) - .or_else(|_| detect_botguard_bin("rustypipe-botguard".into())) - .map_err(|e| tracing::debug!("could not detect rustypipe-botguard: {e}")) - .ok(), - } - .map(|(program, version)| { - tracing::debug!( - "rustypipe-botguard: using {} at {}", - version, - program.to_string_lossy() - ); - - BotguardCfg { - program: program.to_owned(), - version, - snapshot_file: self.snapshot_file.unwrap_or_else(|| { - let mut snapshot_file = storage_dir.clone(); - snapshot_file.push("bg_snapshot.bin"); - snapshot_file - }), - po_token_cache: self.po_token_cache, + let botguard_bin = self.botguard_bin.or_default_opt(|| { + let n = OsString::from("rustypipe-botguard"); + let out = std::process::Command::new(&n) + .arg("--version") + .output() + .ok()?; + if !out.status.success() { + return None; } + let output = String::from_utf8_lossy(&out.stdout); + let pat = "rustypipe-botguard-api "; + let pos = output.find(pat)? + pat.len(); + let pos_end = output[pos..] + .char_indices() + .find(|(_, c)| !c.is_ascii_digit()) + .map(|(p, _)| p + pos) + .unwrap_or(output.len()); + if &output[pos..pos_end] != "1" { + return None; + } + Some(n) }); Ok(RustyPipe { @@ -782,11 +752,11 @@ impl RustyPipeBuilder { http, storage, reporter: self.reporter.or_default(|| { - let mut report_dir = storage_dir; + let mut report_dir = storage_dir.clone(); report_dir.push(DEFAULT_REPORT_DIR); Box::new(FileReporter::new(report_dir)) }), - n_http_retries: self.n_http_retries, + n_request_attempts: self.n_request_attempts, cache: CacheHolder { clients: cache_clients, deobf: AsyncRwLock::new(cdata.deobf), @@ -796,7 +766,15 @@ impl RustyPipeBuilder { default_opts: self.default_opts, user_agent, visitor_data_cache, - botguard, + botguard: botguard_bin.map(|program| { + let mut snapshot_file = storage_dir; + snapshot_file.push("bg_snapshot.bin"); + BotguardCfg { + program, + snapshot_file, + po_token_cache: self.po_token_cache, + } + }), }), }) } @@ -865,9 +843,9 @@ impl RustyPipeBuilder { self } - /// Set the maximum number of retries for YouTube requests. + /// Set the maximum number of attempts for HTTP requests (at least 1). /// - /// If a request fails because of a serverside error and retries are enabled, + /// If a HTTP requests fails because of a serverside error and retries are enabled, /// RustyPipe waits 1 second before the next attempt. /// /// The wait time is doubled for subsequent attempts (including a bit of @@ -875,8 +853,8 @@ impl RustyPipeBuilder { /// /// **Default value**: 2 #[must_use] - pub fn n_http_retries(mut self, n_retries: u32) -> Self { - self.n_http_retries = n_retries.max(1); + pub fn n_request_attempts(mut self, n_retries: u32) -> Self { + self.n_request_attempts = n_retries.max(1); self } @@ -1032,18 +1010,6 @@ impl RustyPipeBuilder { self } - /// Set the path where the rustypipe-botguard snapshot file is stored - /// - /// After solving a Botguard challenge, rustypipe-botguard stores its - /// JavaScript environment in a snapshot file, so it can quickly generate additional tokens. - /// - /// By default the snapshot is stored in the storage_dir (Filename: bg_snapshot.bin). - #[must_use] - pub fn botguard_snapshot_file>(mut self, snapshot_file: P) -> Self { - self.snapshot_file = Some(snapshot_file.into()); - self - } - /// Enable caching for session-bound PO tokens /// /// By default, RustyPipe calls Botguard for every player request to fetch both a @@ -1094,7 +1060,7 @@ impl RustyPipe { /// Execute the given http request. async fn http_request(&self, request: &Request) -> Result { let mut last_resp = None; - for n in 0..=self.inner.n_http_retries { + for n in 0..=self.inner.n_request_attempts { let resp = self.inner.http.execute(request.try_clone().unwrap()).await; let err = match resp { @@ -1120,7 +1086,7 @@ impl RustyPipe { }; // Retry in case of a recoverable status code (server err, too many requests) - if n != self.inner.n_http_retries { + if n != self.inner.n_request_attempts { let ms = util::retry_delay(n, 1000, 60000, 3); tracing::warn!( "Retry attempt #{}. Error: {}. Waiting {} ms", @@ -1594,17 +1560,6 @@ impl RustyPipe { .ok_or(Error::Auth(AuthError::NoLogin)) } - fn user_auth_datasync_id(&self) -> Result { - self.inner - .cache - .auth_cookie - .read() - .unwrap() - .as_ref() - .and_then(|c| c.user_syncid.as_ref().map(|id| id.to_owned())) - .ok_or(Error::Auth(AuthError::NoLogin)) - } - /// Set the user authentication cookie /// /// The cookie is used for authenticated requests with browser-based clients @@ -1699,17 +1654,17 @@ impl RustyPipe { ))?; // datasyncid is of the form "channel_syncid||user_syncid" for secondary channel - // and just "user_syncid||" for primary channel. - let (p1, p2) = + // and just "user_syncid||" for primary channel. We only want the channel_syncid + let (channel_syncid, user_syncid) = datasync_id .split_once("||") .ok_or(Error::Extraction(ExtractionError::InvalidData( "datasyncId does not contain || seperator".into(), )))?; - (auth_cookie.channel_syncid, auth_cookie.user_syncid) = if p2.is_empty() { - (None, Some(p1.to_owned())) + auth_cookie.account_syncid = if user_syncid.is_empty() { + None } else { - (Some(p1.to_owned()), Some(p2.to_owned())) + Some(channel_syncid.to_owned()) }; auth_cookie.session_index = Some( @@ -1719,11 +1674,6 @@ impl RustyPipe { ); Ok(()) } - - /// Get the version string (e.g. `rustypipe-botguard 0.1.1`) of the used botguard binary - pub async fn version_botguard(&self) -> Option { - self.inner.botguard.as_ref().map(|bg| bg.version.to_owned()) - } } impl RustyPipeQuery { @@ -2143,7 +2093,7 @@ impl RustyPipeQuery { if let Some(session_index) = auth_cookie.session_index { r = r.header("X-Goog-AuthUser", session_index); } - if let Some(account_syncid) = auth_cookie.channel_syncid { + if let Some(account_syncid) = auth_cookie.account_syncid { r = r.header("X-Goog-PageId", account_syncid); } cookie = Some(auth_cookie.cookie); @@ -2202,7 +2152,7 @@ impl RustyPipeQuery { self.client.inner.visitor_data_cache.remove(visitor_data); } - /// Generate PO tokens + /// Get PO tokens async fn get_po_tokens(&self, idents: &[&str]) -> Result<(Vec, OffsetDateTime), Error> { let bg = self .client @@ -2241,41 +2191,28 @@ impl RustyPipeQuery { } let mut valid_until = None; - let mut from_snapshot = false; for word in words { if let Some((k, v)) = word.split_once('=') { - match k { - "valid_until" => { - valid_until = Some( - v.parse::() - .ok() - .and_then(|x| OffsetDateTime::from_unix_timestamp(x).ok()) - .ok_or(ExtractionError::Botguard( - format!("invalid validity date: {v}").into(), - ))?, - ); - } - "from_snapshot" => { - from_snapshot = v.eq_ignore_ascii_case("true") || v == "1"; - } - _ => {} + if k == "valid_until" { + valid_until = Some( + v.parse::() + .ok() + .and_then(|x| OffsetDateTime::from_unix_timestamp(x).ok()) + .ok_or(ExtractionError::Botguard( + format!("invalid validity date: {v}").into(), + ))?, + ); } } } - let valid_until = - valid_until.unwrap_or_else(|| OffsetDateTime::now_utc() + time::Duration::hours(12)); - - tracing::debug!( - "generated PO token (valid_until {}, from_snapshot={}, took {}ms)", - valid_until, - from_snapshot, - start.elapsed().as_millis() - ); - Ok((tokens, valid_until)) + tracing::debug!("generated PO token (took {:?})", start.elapsed()); + Ok(( + tokens, + valid_until.unwrap_or_else(|| OffsetDateTime::now_utc() + time::Duration::hours(12)), + )) } - /// Get a session-bound PO token (either from cache or newly generated) async fn get_session_po_token(&self, visitor_data: &str) -> Result { if let Some(po_token) = self.client.inner.visitor_data_cache.get_pot(visitor_data) { return Ok(po_token); @@ -2289,7 +2226,7 @@ impl RustyPipeQuery { Ok(po_token) } - /// Get a PO token (Proof-of-origin token) + /// Get a Proof-of-origin token /// /// PO tokens are used by the web-based YouTube clients for requesting player data and video streams. /// @@ -2303,22 +2240,6 @@ impl RustyPipeQuery { }) } - /// Get a new RustyPipeInfo object for reports - fn rp_info(&self) -> RustyPipeInfo<'_> { - RustyPipeInfo::new( - Some(self.opts.lang), - self.client - .inner - .botguard - .as_ref() - .map(|bg| bg.version.as_str()), - ) - } - - /// Execute a request to the YouTube API, then deobfuscate and map the response. - /// - /// Runs a single attempt, returns Ok with a erroneous RequestResult in case of a - /// HTTP or mapping error so it can be retried/reported. async fn execute_request_attempt< R: DeserializeOwned + MapResponse + Debug, M, @@ -2410,10 +2331,6 @@ impl RustyPipeQuery { }) } - /// Execute a request to the YouTube API, then deobfuscate and map the response. - /// - /// Runs up to n_request_attempts, returns Ok with a erroneous RequestResult in case of a - /// HTTP or mapping error so it can be reported. async fn execute_request_inner< R: DeserializeOwned + MapResponse + Debug, M, @@ -2427,7 +2344,7 @@ impl RustyPipeQuery { ctx_src: &MapRespOptions<'_>, ) -> Result, Error> { let mut last_resp = None; - for n in 0..=self.client.inner.n_http_retries { + for n in 0..=self.client.inner.n_request_attempts { let resp = self .execute_request_attempt::(ctype, id, endpoint, body, ctx_src) .await?; @@ -2445,7 +2362,7 @@ impl RustyPipeQuery { // Remove the used visitor data from cache if the request resulted in a recoverable error self.remove_visitor_data(&resp.visitor_data); - if n != self.client.inner.n_http_retries { + if n != self.client.inner.n_request_attempts { let ms = util::retry_delay(n, 1000, 60000, 3); tracing::warn!( "Retry attempt #{}. Error: {}. Waiting {} ms", @@ -2520,7 +2437,7 @@ impl RustyPipeQuery { if level > Level::DBG || self.opts.report { if let Some(reporter) = &self.client.inner.reporter { let report = Report { - info: self.rp_info(), + info: RustyPipeInfo::new(Some(self.opts.lang)), level, operation: &format!("{operation}({id})"), error, @@ -2720,46 +2637,6 @@ fn local_tz_offset() -> (String, i16) { } } -/// Check if a valid Botguard binary is available at the given location -fn detect_botguard_bin(program: OsString) -> Result<(OsString, String), Error> { - let out = std::process::Command::new(&program) - .arg("--version") - .output() - .map_err(|e| { - if e.kind() == std::io::ErrorKind::NotFound { - Error::Other("rustypipe-botguard binary not found".into()) - } else { - Error::Other(format!("error calling rustypipe-botguard {e}").into()) - } - })?; - if !out.status.success() { - return Err(Error::Extraction(ExtractionError::Botguard( - format!("version check failed with status {}", out.status).into(), - ))); - } - let output = String::from_utf8_lossy(&out.stdout); - let pat = "rustypipe-botguard-api "; - let pos = output.find(pat).ok_or(Error::Other( - "no rustypipe-botguard-api version returned".into(), - ))? + pat.len(); - let pos_end = output[pos..] - .char_indices() - .find(|(_, c)| !c.is_ascii_digit()) - .map(|(p, _)| p + pos) - .unwrap_or(output.len()); - let api_version = &output[pos..pos_end]; - if api_version != BOTGUARD_API_VERSION { - return Err(Error::Other( - format!( - "incompatible rustypipe-botguard-api version {api_version}, expected {BOTGUARD_API_VERSION}" - ) - .into(), - )); - } - let version = output[..pos].lines().next().unwrap_or_default().to_owned(); - Ok((program, version)) -} - #[cfg(test)] mod tests { use super::*; diff --git a/src/client/music_artist.rs b/src/client/music_artist.rs index 13cbeda..8e4deb6 100644 --- a/src/client/music_artist.rs +++ b/src/client/music_artist.rs @@ -154,24 +154,9 @@ fn map_artist_page( ctx: &MapRespCtx<'_>, skip_extendables: bool, ) -> Result, ExtractionError> { - let contents = match res.contents { - Some(c) => c, - None => { - if res.microformat.microformat_data_renderer.noindex { - return Err(ExtractionError::NotFound { - id: ctx.id.to_owned(), - msg: "no contents".into(), - }); - } else { - return Err(ExtractionError::InvalidData("no contents".into())); - } - } - }; + // dbg!(&res); - let header = res - .header - .ok_or(ExtractionError::InvalidData("no header".into()))? - .music_immersive_header_renderer; + let header = res.header.music_immersive_header_renderer; if let Some(share) = header.share_endpoint { let pb = share.share_entity_endpoint.serialized_share_entity; @@ -188,7 +173,8 @@ fn map_artist_page( } } - let sections = contents + let sections = res + .contents .single_column_browse_results_renderer .contents .into_iter() @@ -352,6 +338,8 @@ impl MapResponse for response::MusicArtistAlbums { self, ctx: &MapRespCtx<'_>, ) -> Result, ExtractionError> { + // dbg!(&self); + let Some(header) = self.header else { return Err(ExtractionError::NotFound { id: ctx.id.into(), diff --git a/src/client/music_genres.rs b/src/client/music_genres.rs index c931fa4..cfda986 100644 --- a/src/client/music_genres.rs +++ b/src/client/music_genres.rs @@ -105,6 +105,8 @@ impl MapResponse> for response::MusicGenres { impl MapResponse for response::MusicGenre { fn map_response(self, ctx: &MapRespCtx<'_>) -> Result, ExtractionError> { + // dbg!(&self); + let content = self .contents .single_column_browse_results_renderer diff --git a/src/client/music_userdata.rs b/src/client/music_history.rs similarity index 90% rename from src/client/music_userdata.rs rename to src/client/music_history.rs index 8c256cb..50c5844 100644 --- a/src/client/music_userdata.rs +++ b/src/client/music_history.rs @@ -8,7 +8,7 @@ use crate::{ error::{Error, ExtractionError}, model::{ paginator::{ContinuationEndpoint, Paginator}, - AlbumItem, ArtistItem, HistoryItem, MusicPlaylist, MusicPlaylistItem, TrackItem, + AlbumItem, ArtistItem, HistoryItem, MusicPlaylistItem, TrackItem, }, serializer::MapResult, }; @@ -127,20 +127,6 @@ impl RustyPipeQuery { ) .await } - - /// Get all liked YouTube Music tracks of the logged-in user - /// - /// The difference to [`RustyPipeQuery::music_saved_tracks`] is that this function only returns - /// tracks that were explicitly liked by the user. - /// - /// Requires authentication cookies. - pub async fn music_liked_tracks(&self) -> Result { - self.clone() - .authenticated() - .music_playlist("LM") - .await - .map_err(crate::util::map_internal_playlist_err) - } } impl MapResponse>> for response::MusicHistory { @@ -209,7 +195,7 @@ mod tests { #[test] fn map_history() { - let json_path = path!(*TESTFILES / "music_userdata" / "music_history.json"); + let json_path = path!(*TESTFILES / "music_history" / "music_history.json"); let json_file = File::open(json_path).unwrap(); let history: response::MusicHistory = diff --git a/src/client/music_playlist.rs b/src/client/music_playlist.rs index 3ef6e95..b09656a 100644 --- a/src/client/music_playlist.rs +++ b/src/client/music_playlist.rs @@ -9,7 +9,7 @@ use crate::{ AlbumId, ChannelId, MusicAlbum, MusicPlaylist, TrackItem, TrackType, }, serializer::{text::TextComponents, MapResult}, - util::{self, dictionary, TryRemove, DOT_SEPARATOR}, + util::{self, TryRemove, DOT_SEPARATOR}, }; use self::response::url_endpoint::MusicPageType; @@ -87,7 +87,7 @@ impl RustyPipeQuery { .iter() .enumerate() .filter_map(|(i, track)| { - if track.track_type.is_video() && !track.unavailable { + if track.track_type.is_video() { Some((i, track.name.clone())) } else { None @@ -95,61 +95,47 @@ impl RustyPipeQuery { }) .collect::>(); - let last_tn = album - .tracks - .last() - .and_then(|t| t.track_nr) - .unwrap_or_default(); - if !to_replace.is_empty() || last_tn < album.track_count { - tracing::debug!( - "fetching album playlist ({} tracks, {} to replace)", - album.track_count, - to_replace.len() - ); + if !to_replace.is_empty() { let mut playlist = self.music_playlist(playlist_id).await?; playlist .tracks - .extend_limit(&self, album.track_count.into()) + .extend_limit(&self, album.tracks.len()) .await?; for (i, title) in to_replace { let found_track = playlist.tracks.items.iter().find_map(|track| { if track.name == title && track.track_type.is_track() { - Some((track.id.clone(), track.duration, track.unavailable)) + Some((track.id.clone(), track.duration)) } else { None } }); - if let Some((track_id, duration, unavailable)) = found_track { + if let Some((track_id, duration)) = found_track { album.tracks[i].id = track_id; if let Some(duration) = duration { album.tracks[i].duration = Some(duration); } album.tracks[i].track_type = TrackType::Track; - album.tracks[i].unavailable = unavailable; - } - } - - // Extend the list of album tracks with the ones from the playlist if the playlist returned more tracks - // This is the case for albums with more than 200 tracks (e.g. audiobooks) - // Note: in some cases the playlist may contain a loop of repeating tracks. If a track was found in the playlist - // that already exists in the album, stop. - if album.tracks.len() < playlist.tracks.items.len() { - let mut tn = last_tn; - for mut t in playlist.tracks.items.into_iter().skip(album.tracks.len()) { - if album.tracks.iter().any(|at| at.id == t.id) { - break; - } - tn += 1; - t.album = album.tracks.first().and_then(|t| t.album.clone()); - t.track_nr = Some(tn); - album.tracks.push(t); } } } } Ok(album) } + + /// Get all liked YouTube Music tracks of the logged-in user + /// + /// The difference to [`RustyPipeQuery::music_saved_tracks`] is that this function only returns + /// tracks that were explicitly liked by the user. + /// + /// Requires authentication cookies. + pub async fn music_liked_tracks(&self) -> Result { + self.clone() + .authenticated() + .music_playlist("LM") + .await + .map_err(util::map_internal_playlist_err) + } } impl MapResponse for response::MusicPlaylist { @@ -157,21 +143,9 @@ impl MapResponse for response::MusicPlaylist { self, ctx: &MapRespCtx<'_>, ) -> Result, ExtractionError> { - let contents = match self.contents { - Some(c) => c, - None => { - if self.microformat.microformat_data_renderer.noindex { - return Err(ExtractionError::NotFound { - id: ctx.id.to_owned(), - msg: "no contents".into(), - }); - } else { - return Err(ExtractionError::InvalidData("no contents".into())); - } - } - }; + // dbg!(&self); - let (header, music_contents) = match contents { + let (header, music_contents) = match self.contents { response::music_playlist::Contents::SingleColumnBrowseResultsRenderer(c) => ( self.header, c.contents @@ -302,8 +276,8 @@ impl MapResponse for response::MusicPlaylist { // Album playlists fetched via the playlist method dont include a header let (album, cover) = map_res .c - .iter() - .find_map(|t: &TrackItem| { + .first() + .and_then(|t: &TrackItem| { t.album.as_ref().map(|a| (a.clone(), t.cover.clone())) }) .ok_or(ExtractionError::InvalidData(Cow::Borrowed( @@ -311,11 +285,10 @@ impl MapResponse for response::MusicPlaylist { )))?; if !map_res.c.iter().all(|t| { - t.unavailable - || t.album - .as_ref() - .map(|a| a.id == album.id) - .unwrap_or_default() + t.album + .as_ref() + .map(|a| a.id == album.id) + .unwrap_or_default() }) { return Err(ExtractionError::InvalidData(Cow::Borrowed( "album playlist containing items from different albums", @@ -359,21 +332,9 @@ impl MapResponse for response::MusicPlaylist { impl MapResponse for response::MusicPlaylist { fn map_response(self, ctx: &MapRespCtx<'_>) -> Result, ExtractionError> { - let contents = match self.contents { - Some(c) => c, - None => { - if self.microformat.microformat_data_renderer.noindex { - return Err(ExtractionError::NotFound { - id: ctx.id.to_owned(), - msg: "no contents".into(), - }); - } else { - return Err(ExtractionError::InvalidData("no contents".into())); - } - } - }; + // dbg!(&self); - let (header, sections) = match contents { + let (header, sections) = match self.contents { response::music_playlist::Contents::SingleColumnBrowseResultsRenderer(c) => ( self.header, c.contents @@ -413,18 +374,7 @@ impl MapResponse for response::MusicPlaylist { match section { response::music_item::ItemSection::MusicShelfRenderer(sh) => shelf = Some(sh), response::music_item::ItemSection::MusicCarouselShelfRenderer(sh) => { - if sh - .header - .map(|h| { - h.music_carousel_shelf_basic_header_renderer - .title - .first_str() - == dictionary::entry(ctx.lang).album_versions_title - }) - .unwrap_or_default() - { - album_variants = Some(sh.contents); - } + album_variants = Some(sh.contents); } _ => (), } @@ -489,14 +439,12 @@ impl MapResponse for response::MusicPlaylist { } } - let playlist_id = self - .microformat - .microformat_data_renderer - .url_canonical - .and_then(|x| { - x.strip_prefix("https://music.youtube.com/playlist?list=") - .map(str::to_owned) - }); + let playlist_id = self.microformat.and_then(|mf| { + mf.microformat_data_renderer + .url_canonical + .strip_prefix("https://music.youtube.com/playlist?list=") + .map(str::to_owned) + }); let (playlist_id, artist_id) = header .menu .or_else(|| header.buttons.into_iter().next()) @@ -523,14 +471,6 @@ impl MapResponse for response::MusicPlaylist { .unwrap_or_default(); let artist_id = artist_id.or_else(|| artists.first().and_then(|a| a.id.clone())); - let second_subtitle_parts = header - .second_subtitle - .split(|p| p == DOT_SEPARATOR) - .collect::>(); - let track_count = second_subtitle_parts - .get(usize::from(second_subtitle_parts.len() > 2)) - .and_then(|txt| util::parse_numeric::(&txt[0]).ok()); - let mut mapper = MusicListMapper::with_album( ctx.lang, artists.clone(), @@ -565,7 +505,6 @@ impl MapResponse for response::MusicPlaylist { album_type, year, by_va, - track_count: track_count.unwrap_or(tracks_res.c.len() as u16), tracks: tracks_res.c, variants: variants_res.c, }, @@ -616,8 +555,8 @@ mod tests { #[case::single("single", "MPREb_bHfHGoy7vuv")] #[case::description("description", "MPREb_PiyfuVl6aYd")] #[case::unavailable("unavailable", "MPREb_AzuWg8qAVVl")] + #[case::unavailable("unavailable", "MPREb_AzuWg8qAVVl")] #[case::two_columns("20240228_twoColumns", "MPREb_bHfHGoy7vuv")] - #[case::recommends("20250225_recommends", "MPREb_u1I69lSAe5v")] fn map_music_album(#[case] name: &str, #[case] id: &str) { let json_path = path!(*TESTFILES / "music_playlist" / format!("album_{name}.json")); let json_file = File::open(json_path).unwrap(); diff --git a/src/client/music_search.rs b/src/client/music_search.rs index a083dcc..dd40ada 100644 --- a/src/client/music_search.rs +++ b/src/client/music_search.rs @@ -155,6 +155,8 @@ impl MapResponse> for response::MusicSearch self, ctx: &MapRespCtx<'_>, ) -> Result>, ExtractionError> { + // dbg!(&self); + let tabs = self.contents.tabbed_search_results_renderer.contents; let sections = tabs .into_iter() diff --git a/src/client/pagination.rs b/src/client/pagination.rs index f0f052e..1440ebe 100644 --- a/src/client/pagination.rs +++ b/src/client/pagination.rs @@ -6,15 +6,12 @@ use crate::model::{ traits::FromYtItem, Comment, MusicItem, YouTubeItem, }; +use crate::model::{HistoryItem, TrackItem, VideoItem}; use crate::serializer::MapResult; -#[cfg(feature = "userdata")] -use crate::model::{HistoryItem, TrackItem, VideoItem}; +use self::response::YouTubeListItem; -use super::response::{ - music_item::{map_queue_item, MusicListMapper, PlaylistPanelVideo}, - YouTubeListItem, -}; +use super::response::music_item::{map_queue_item, MusicListMapper, PlaylistPanelVideo}; use super::{ response, ClientType, MapRespCtx, MapRespOptions, MapResponse, QContinuation, RustyPipeQuery, }; @@ -228,7 +225,6 @@ impl MapResponse> for response::MusicContinuation { } } -#[cfg(feature = "userdata")] impl MapResponse>> for response::Continuation { fn map_response( self, @@ -249,9 +245,11 @@ impl MapResponse>> for response::Continuation { &mut map_res, ); } - response::YouTubeListItem::ContinuationItemRenderer(ep) => { + response::YouTubeListItem::ContinuationItemRenderer { + continuation_endpoint, + } => { if ctoken.is_none() { - ctoken = ep.continuation_endpoint.into_token(); + ctoken = Some(continuation_endpoint.continuation_command.token); } } _ => {} @@ -272,7 +270,6 @@ impl MapResponse>> for response::Continuation { } } -#[cfg(feature = "userdata")] impl MapResponse>> for response::MusicContinuation { fn map_response( self, @@ -425,8 +422,6 @@ impl Paginator { } } -#[cfg(feature = "userdata")] -#[cfg_attr(docsrs, doc(cfg(feature = "userdata")))] impl Paginator> { /// Get the next page from the paginator (or `None` if the paginator is exhausted) pub async fn next>(&self, query: Q) -> Result, Error> { @@ -442,8 +437,6 @@ impl Paginator> { } } -#[cfg(feature = "userdata")] -#[cfg_attr(docsrs, doc(cfg(feature = "userdata")))] impl Paginator> { /// Get the next page from the paginator (or `None` if the paginator is exhausted) pub async fn next>(&self, query: Q) -> Result, Error> { @@ -540,11 +533,7 @@ macro_rules! paginator { } paginator!(Comment); -#[cfg(feature = "userdata")] -#[cfg_attr(docsrs, doc(cfg(feature = "userdata")))] paginator!(HistoryItem); -#[cfg(feature = "userdata")] -#[cfg_attr(docsrs, doc(cfg(feature = "userdata")))] paginator!(HistoryItem); #[cfg(test)] @@ -631,7 +620,7 @@ mod tests { } #[rstest] - #[case::subscriptions("subscriptions", path!("userdata" / "subscriptions.json"))] + #[case::subscriptions("subscriptions", path!("history" / "subscriptions.json"))] fn map_continuation_channels(#[case] name: &str, #[case] path: PathBuf) { let json_path = path!(*TESTFILES / path); let json_file = File::open(json_path).unwrap(); @@ -655,7 +644,7 @@ mod tests { #[case::playlist_tracks("playlist_tracks", path!("music_playlist" / "playlist_cont.json"))] #[case::search_tracks("search_tracks", path!("music_search" / "tracks_cont.json"))] #[case::radio_tracks("radio_tracks", path!("music_details" / "radio_cont.json"))] - #[case::saved_tracks("saved_tracks", path!("music_userdata" / "saved_tracks.json"))] + #[case::saved_tracks("saved_tracks", path!("music_history" / "saved_tracks.json"))] fn map_continuation_tracks(#[case] name: &str, #[case] path: PathBuf) { let json_path = path!(*TESTFILES / path); let json_file = File::open(json_path).unwrap(); @@ -676,7 +665,7 @@ mod tests { } #[rstest] - #[case::saved_artists("saved_artists", path!("music_userdata" / "saved_artists.json"))] + #[case::saved_artists("saved_artists", path!("music_history" / "saved_artists.json"))] fn map_continuation_artists(#[case] name: &str, #[case] path: PathBuf) { let json_path = path!(*TESTFILES / path); let json_file = File::open(json_path).unwrap(); @@ -697,7 +686,7 @@ mod tests { } #[rstest] - #[case::saved_albums("saved_albums", path!("music_userdata" / "saved_albums.json"))] + #[case::saved_albums("saved_albums", path!("music_history" / "saved_albums.json"))] fn map_continuation_albums(#[case] name: &str, #[case] path: PathBuf) { let json_path = path!(*TESTFILES / path); let json_file = File::open(json_path).unwrap(); @@ -719,7 +708,7 @@ mod tests { #[rstest] #[case::playlist_related("playlist_related", path!("music_playlist" / "playlist_related.json"))] - #[case::saved_playlists("saved_playlists", path!("music_userdata" / "saved_playlists.json"))] + #[case::saved_playlists("saved_playlists", path!("music_history" / "saved_playlists.json"))] fn map_continuation_music_playlists(#[case] name: &str, #[case] path: PathBuf) { let json_path = path!(*TESTFILES / path); let json_file = File::open(json_path).unwrap(); diff --git a/src/client/player.rs b/src/client/player.rs index 9bae601..f5e0c53 100644 --- a/src/client/player.rs +++ b/src/client/player.rs @@ -1,6 +1,6 @@ use std::{ borrow::Cow, - collections::{BTreeMap, HashMap, HashSet}, + collections::{BTreeMap, HashMap}, fmt::Debug, }; @@ -104,29 +104,42 @@ impl RustyPipeQuery { ) -> Result { let video_id = video_id.as_ref(); let mut last_e = None; - let mut query = Cow::Borrowed(self); let mut clients_iter = clients.iter().peekable(); - let mut failed_clients = HashSet::new(); while let Some(client) = clients_iter.next() { - if query.opts.auth == Some(true) && !self.auth_enabled(*client) { + if self.opts.auth == Some(true) && !self.auth_enabled(*client) { // If no client has auth enabled, return NoLogin error instead of "no clients" if last_e.is_none() { last_e = Some(Error::Auth(AuthError::NoLogin)); } continue; } - if failed_clients.contains(client) { - continue; - } - let res = query.player_from_client(video_id, *client).await; + let res = self.player_from_client(video_id, *client).await; match res { Ok(res) => return Ok(res), Err(Error::Extraction(e)) => { - if e.use_login() && query.opts.auth.is_none() { - clients_iter = clients.iter().peekable(); - query = Cow::Owned(self.clone().authenticated()); + if e.use_login() { + if let Some(c) = self.auth_enabled_client(clients) { + tracing::info!("{e}; fetching player with login"); + + match self + .clone() + .authenticated() + .player_from_client(video_id, c) + .await + { + Ok(res) => return Ok(res), + Err(Error::Extraction(e)) => { + if !e.switch_client() { + return Err(Error::Extraction(e)); + } + } + Err(e) => return Err(e), + } + } else { + return Err(Error::Extraction(e)); + } } else if !e.switch_client() { return Err(Error::Extraction(e)); } @@ -134,7 +147,6 @@ impl RustyPipeQuery { tracing::warn!("error fetching player with {client:?} client: {e}; retrying with {next_client:?} client"); } last_e = Some(Error::Extraction(e)); - failed_clients.insert(*client); } Err(e) => return Err(e), } @@ -144,27 +156,22 @@ impl RustyPipeQuery { async fn get_player_po_token(&self, video_id: &str) -> Result { if let Some(bg) = &self.client.inner.botguard { - let (ident, visitor_data) = if self.opts.auth == Some(true) { - (self.client.user_auth_datasync_id()?, None) - } else { - let visitor_data = self.get_visitor_data(false).await?; - (visitor_data.to_owned(), Some(visitor_data)) - }; - + let visitor_data = self.get_visitor_data(false).await?; if bg.po_token_cache { - let session_token = self.get_session_po_token(&ident).await?; + let session_token = self.get_session_po_token(&visitor_data).await?; Ok(PlayerPoToken { - visitor_data, + visitor_data: Some(visitor_data), session_po_token: Some(session_token), content_po_token: None, }) } else { - let (po_tokens, valid_until) = self.get_po_tokens(&[video_id, &ident]).await?; + let (po_tokens, valid_until) = + self.get_po_tokens(&[video_id, &visitor_data]).await?; let mut po_tokens = po_tokens.into_iter(); let po_token = po_tokens.next().unwrap(); let session_po_token = po_tokens.next().unwrap(); Ok(PlayerPoToken { - visitor_data, + visitor_data: Some(visitor_data), session_po_token: Some(PoToken { po_token: session_po_token, valid_until, @@ -184,11 +191,6 @@ impl RustyPipeQuery { video_id: S, client_type: ClientType, ) -> Result { - if self.opts.auth == Some(true) { - tracing::info!("fetching {client_type:?} player with login"); - } else { - tracing::debug!("fetching {client_type:?} player"); - } let video_id = video_id.as_ref(); let (deobf, player_po) = tokio::try_join!( @@ -307,28 +309,24 @@ impl MapResponse for response::Player { error_screen, } => { let mut msg = reason; - if let Some(error_screen) = error_screen.player_error_message_renderer { + if let Some(error_screen) = error_screen { msg.push_str(" - "); - msg.push_str(&error_screen.subreason); + msg.push_str(&error_screen.player_error_message_renderer.subreason); } - let reason = if error_screen.player_captcha_view_model.is_some() { - UnavailabilityReason::Captcha - } else { - msg.split_whitespace() - .find_map(|word| match word { - "payment" => Some(UnavailabilityReason::Paid), - "Premium" => Some(UnavailabilityReason::Premium), - "members-only" => Some(UnavailabilityReason::MembersOnly), - "country" => Some(UnavailabilityReason::Geoblocked), - "version" | "websites" => Some(UnavailabilityReason::UnsupportedClient), - "bot" => Some(UnavailabilityReason::IpBan), - "VPN/Proxy" => Some(UnavailabilityReason::VpnBan), - "later." => Some(UnavailabilityReason::TryAgain), - _ => None, - }) - .unwrap_or_default() - }; + let reason = msg + .split_whitespace() + .find_map(|word| match word { + "payment" => Some(UnavailabilityReason::Paid), + "Premium" => Some(UnavailabilityReason::Premium), + "members-only" => Some(UnavailabilityReason::MembersOnly), + "country" => Some(UnavailabilityReason::Geoblocked), + "version" | "websites" => Some(UnavailabilityReason::UnsupportedClient), + "bot" => Some(UnavailabilityReason::IpBan), + "later." => Some(UnavailabilityReason::TryAgain), + _ => None, + }) + .unwrap_or_default(); return Err(ExtractionError::Unavailable { reason, msg }); } response::player::PlayabilityStatus::LoginRequired { reason, messages } => { @@ -387,21 +385,6 @@ impl MapResponse for response::Player { video_details.video_id, ctx.id ))); } - // Sometimes YouTube Desktop does not output any URLs for adaptive streams. - // Since this is currently rare, it is best to retry the request in this case. - if !is_live - && !streaming_data.adaptive_formats.c.is_empty() - && streaming_data - .adaptive_formats - .c - .iter() - .all(|f| f.url.is_none() && f.signature_cipher.is_none()) - { - return Err(ExtractionError::Unavailable { - reason: UnavailabilityReason::TryAgain, - msg: "no adaptive stream URLs".to_owned(), - }); - } let video_info = VideoPlayerDetails { id: video_details.video_id, @@ -644,7 +627,7 @@ impl<'a> StreamsMapper<'a> { fn deobf(&self) -> Result<&Deobfuscator, DeobfError> { self.deobf .as_ref() - .ok_or(DeobfError::Other("no deobfuscator".into())) + .ok_or(DeobfError::Other("no deobfuscator")) } fn cipher_to_url_params( diff --git a/src/client/playlist.rs b/src/client/playlist.rs index c080dd6..79e2329 100644 --- a/src/client/playlist.rs +++ b/src/client/playlist.rs @@ -33,6 +33,28 @@ impl RustyPipeQuery { ) .await } + + /// Get all liked videos of the logged-in user + /// + /// Requires authentication cookies. + pub async fn liked_videos(&self) -> Result { + self.clone() + .authenticated() + .playlist("LL") + .await + .map_err(util::map_internal_playlist_err) + } + + /// Get the "Watch later" playlist of the logged-in user + /// + /// Requires authentication cookies. + pub async fn watch_later(&self) -> Result { + self.clone() + .authenticated() + .playlist("WL") + .await + .map_err(util::map_internal_playlist_err) + } } impl MapResponse for response::Playlist { @@ -140,10 +162,10 @@ impl MapResponse for response::Playlist { .next() .and_then(|r| r.metadata_parts.into_iter().next()) .and_then(|p| match p { - response::MetadataPart::Text { .. } => None, - response::MetadataPart::AvatarStack { avatar_stack } => { - ChannelId::try_from(avatar_stack.avatar_stack_view_model.text).ok() - } + response::MetadataPart::Text(_) => None, + response::MetadataPart::AvatarStack { + avatar_stack_view_model, + } => ChannelId::try_from(avatar_stack_view_model.text).ok(), }); // remove "by" prefix if let Some(c) = channel.as_mut() { @@ -257,7 +279,6 @@ mod tests { #[case::nomusic("nomusic", "PL1J-6JOckZtE_P9Xx8D3b2O6w0idhuKBe")] #[case::live("live", "UULVvqRdlKsE5Q8mf8YXbdIJLw")] #[case::pageheader("20241011_pageheader", "PLT2w2oBf1TZKyvY_M6JsASs73m-wjLzH5")] - #[case::cmdexecutor("20250316_cmdexecutor", "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi")] fn map_playlist_data(#[case] name: &str, #[case] id: &str) { let json_path = path!(*TESTFILES / "playlist" / format!("playlist_{name}.json")); let json_file = File::open(json_path).unwrap(); diff --git a/src/client/response/mod.rs b/src/client/response/mod.rs index e160826..c23c449 100644 --- a/src/client/response/mod.rs +++ b/src/client/response/mod.rs @@ -1,8 +1,10 @@ pub(crate) mod channel; +pub(crate) mod history; pub(crate) mod music_artist; pub(crate) mod music_charts; pub(crate) mod music_details; pub(crate) mod music_genres; +pub(crate) mod music_history; pub(crate) mod music_item; pub(crate) mod music_new; pub(crate) mod music_playlist; @@ -17,6 +19,7 @@ pub(crate) mod video_item; pub(crate) use channel::Channel; pub(crate) use channel::ChannelAbout; +pub(crate) use history::History; pub(crate) use music_artist::MusicArtist; pub(crate) use music_artist::MusicArtistAlbums; pub(crate) use music_charts::MusicCharts; @@ -25,6 +28,7 @@ pub(crate) use music_details::MusicLyrics; pub(crate) use music_details::MusicRelated; pub(crate) use music_genres::MusicGenre; pub(crate) use music_genres::MusicGenres; +pub(crate) use music_history::MusicHistory; pub(crate) use music_item::MusicContinuation; pub(crate) use music_new::MusicNew; pub(crate) use music_playlist::MusicPlaylist; @@ -47,15 +51,6 @@ pub(crate) mod channel_rss; #[cfg(feature = "rss")] pub(crate) use channel_rss::ChannelRss; -#[cfg(feature = "userdata")] -pub(crate) mod history; -#[cfg(feature = "userdata")] -pub(crate) use history::History; -#[cfg(feature = "userdata")] -pub(crate) mod music_history; -#[cfg(feature = "userdata")] -pub(crate) use music_history::MusicHistory; - use std::borrow::Cow; use std::collections::HashMap; use std::marker::PhantomData; @@ -152,16 +147,9 @@ pub(crate) struct ContinuationItemRenderer { pub continuation_endpoint: ContinuationEndpoint, } -#[derive(Debug, Deserialize)] -#[serde(untagged)] -pub(crate) enum ContinuationEndpoint { - ContinuationCommand(ContinuationCommandWrap), - CommandExecutorCommand(CommandExecutorCommandWrap), -} - #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] -pub(crate) struct ContinuationCommandWrap { +pub(crate) struct ContinuationEndpoint { pub continuation_command: ContinuationCommand, } @@ -171,34 +159,7 @@ pub(crate) struct ContinuationCommand { pub token: String, } -#[derive(Debug, Deserialize)] -#[serde(rename_all = "camelCase")] -pub(crate) struct CommandExecutorCommandWrap { - pub command_executor_command: CommandExecutorCommand, -} - #[serde_as] -#[derive(Debug, Deserialize)] -#[serde(rename_all = "camelCase")] -pub(crate) struct CommandExecutorCommand { - #[serde_as(as = "VecSkipError<_>")] - commands: Vec, -} - -impl ContinuationEndpoint { - pub fn into_token(self) -> Option { - match self { - Self::ContinuationCommand(cmd) => Some(cmd.continuation_command.token), - Self::CommandExecutorCommand(cmd) => cmd - .command_executor_command - .commands - .into_iter() - .next() - .map(|c| c.continuation_command.token), - } - } -} - #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) struct Icon { @@ -646,37 +607,32 @@ pub(crate) struct PhMetadataRow { } #[serde_as] -#[derive(Debug, Deserialize)] -#[serde(untagged)] -pub(crate) enum MetadataPart { - Text { - #[serde_as(as = "AttributedText")] - text: TextComponent, - }, - #[serde(rename_all = "camelCase")] - AvatarStack { avatar_stack: AvatarStackInner }, -} - #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] -pub(crate) struct AvatarStackInner { - pub avatar_stack_view_model: TextComponentBox, +pub(crate) enum MetadataPart { + Text(#[serde_as(as = "AttributedText")] TextComponent), + #[serde(rename_all = "camelCase")] + AvatarStack { + avatar_stack_view_model: TextComponentBox, + }, } impl MetadataPart { pub fn into_text_component(self) -> TextComponent { match self { - MetadataPart::Text { text } => text, - MetadataPart::AvatarStack { avatar_stack } => avatar_stack.avatar_stack_view_model.text, + MetadataPart::Text(text_component) => text_component, + MetadataPart::AvatarStack { + avatar_stack_view_model, + } => avatar_stack_view_model.text, } } pub fn as_str(&self) -> &str { match self { - MetadataPart::Text { text } => text.as_str(), - MetadataPart::AvatarStack { avatar_stack } => { - avatar_stack.avatar_stack_view_model.text.as_str() - } + MetadataPart::Text(s) => s.as_str(), + MetadataPart::AvatarStack { + avatar_stack_view_model, + } => avatar_stack_view_model.text.as_str(), } } } diff --git a/src/client/response/music_artist.rs b/src/client/response/music_artist.rs index d510cf9..88232ad 100644 --- a/src/client/response/music_artist.rs +++ b/src/client/response/music_artist.rs @@ -5,8 +5,7 @@ use crate::serializer::text::Text; use super::{ music_item::{ - Button, Grid, ItemSection, MusicMicroformat, MusicThumbnailRenderer, SimpleHeader, - SingleColumnBrowseResult, + Button, Grid, ItemSection, MusicThumbnailRenderer, SimpleHeader, SingleColumnBrowseResult, }, SectionList, Tab, }; @@ -15,10 +14,8 @@ use super::{ #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) struct MusicArtist { - pub contents: Option>>>, - pub header: Option
, - #[serde(default)] - pub microformat: MusicMicroformat, + pub contents: SingleColumnBrowseResult>>, + pub header: Header, } #[derive(Debug, Deserialize)] diff --git a/src/client/response/music_item.rs b/src/client/response/music_item.rs index 5d9907d..d2bf983 100644 --- a/src/client/response/music_item.rs +++ b/src/client/response/music_item.rs @@ -1,10 +1,11 @@ use serde::Deserialize; use serde_with::{rust::deserialize_ignore_any, serde_as, DefaultOnError, VecSkipError}; +use time::UtcOffset; use crate::{ model::{ self, traits::FromYtItem, AlbumId, AlbumItem, AlbumType, ArtistId, ArtistItem, ChannelId, - MusicItem, MusicItemType, MusicPlaylistItem, TrackItem, UserItem, + HistoryItem, MusicItem, MusicItemType, MusicPlaylistItem, TrackItem, UserItem, }, param::Language, serializer::{ @@ -22,11 +23,6 @@ use super::{ SimpleHeaderRenderer, Thumbnails, ThumbnailsWrap, }; -#[cfg(feature = "userdata")] -use crate::model::HistoryItem; -#[cfg(feature = "userdata")] -use time::UtcOffset; - #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) enum ItemSection { @@ -44,7 +40,6 @@ pub(crate) enum ItemSection { #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) struct MusicShelf { - #[cfg(feature = "userdata")] #[serde_as(as = "Option")] pub title: Option, /// Playlist ID (only for playlists) @@ -433,22 +428,6 @@ pub(crate) enum TrackBadge { LiveBadgeRenderer {}, } -#[serde_as] -#[derive(Default, Debug, Deserialize)] -#[serde(rename_all = "camelCase")] -pub(crate) struct MusicMicroformat { - #[serde_as(as = "DefaultOnError")] - pub microformat_data_renderer: MicroformatData, -} - -#[derive(Default, Debug, Deserialize)] -#[serde(rename_all = "camelCase")] -pub(crate) struct MicroformatData { - pub url_canonical: Option, - #[serde(default)] - pub noindex: bool, -} - /* #MAPPER */ @@ -546,9 +525,7 @@ impl MusicListMapper { MusicResponseItem::ContinuationItemRenderer { continuation_endpoint, } => { - if self.ctoken.is_none() { - self.ctoken = continuation_endpoint.into_token(); - } + self.ctoken = Some(continuation_endpoint.continuation_command.token); Ok(None) } } @@ -797,7 +774,6 @@ impl MusicListMapper { track_type: vtype.into(), track_nr, by_va, - unavailable: item.music_item_renderer_display_policy == DisplayPolicy::GreyOut, })); Ok(Some(MusicItemType::Track)) } @@ -978,7 +954,6 @@ impl MusicListMapper { track_type: vtype.into(), track_nr: None, by_va, - unavailable: false, })); Ok(Some(MusicItemType::Track)) } @@ -1143,7 +1118,6 @@ impl MusicListMapper { track_type: vtype.into(), track_nr: None, by_va, - unavailable: false, })); } else { let (artists, by_va) = map_artists(subtitle_p2); @@ -1181,7 +1155,6 @@ impl MusicListMapper { track_type: vtype.into(), track_nr: None, by_va, - unavailable: false, })); } Some(MusicItemType::Track) @@ -1297,7 +1270,6 @@ impl MusicListMapper { } } - #[cfg(feature = "userdata")] pub fn conv_history_items( self, date_txt: Option, @@ -1439,7 +1411,6 @@ pub(crate) fn map_queue_item(item: QueueMusicItem, lang: Language) -> MapResult< track_type: MusicVideoType::from_is_video(is_video).into(), track_nr: None, by_va, - unavailable: false, }, warnings, } diff --git a/src/client/response/music_playlist.rs b/src/client/response/music_playlist.rs index 84202f0..0cb1a17 100644 --- a/src/client/response/music_playlist.rs +++ b/src/client/response/music_playlist.rs @@ -5,21 +5,22 @@ use crate::serializer::text::{AttributedText, Text, TextComponents}; use super::{ music_item::{ - Button, ItemSection, MusicContentsRenderer, MusicItemMenuEntry, MusicMicroformat, - MusicThumbnailRenderer, + Button, ItemSection, MusicContentsRenderer, MusicItemMenuEntry, MusicThumbnailRenderer, }, url_endpoint::OnTapWrap, ContentsRenderer, SectionList, Tab, }; /// Response model for YouTube Music playlists and albums +#[serde_as] #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) struct MusicPlaylist { - pub contents: Option, + pub contents: Contents, pub header: Option
, #[serde(default)] - pub microformat: MusicMicroformat, + #[serde_as(as = "DefaultOnError")] + pub microformat: Option, } #[serde_as] @@ -161,3 +162,15 @@ pub(crate) struct AvatarStackViewModel { pub(crate) struct AvatarStackRendererContext { pub command_context: Option, } + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct Microformat { + pub microformat_data_renderer: MicroformatData, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct MicroformatData { + pub url_canonical: String, +} diff --git a/src/client/response/player.rs b/src/client/response/player.rs index a880dd5..4fbcb28 100644 --- a/src/client/response/player.rs +++ b/src/client/response/player.rs @@ -37,7 +37,8 @@ pub(crate) enum PlayabilityStatus { #[serde(default)] reason: String, #[serde(default)] - error_screen: ErrorScreen, + #[serde_as(deserialize_as = "DefaultOnError")] + error_screen: Option, }, /// Age limit / Private video #[serde(rename_all = "camelCase")] @@ -60,18 +61,14 @@ pub(crate) enum PlayabilityStatus { }, } -#[serde_as] -#[derive(Default, Debug, Deserialize)] +#[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) struct ErrorScreen { - #[serde(default)] - #[serde_as(deserialize_as = "DefaultOnError")] - pub player_error_message_renderer: Option, - pub player_captcha_view_model: Option, + pub player_error_message_renderer: ErrorMessage, } #[serde_as] -#[derive(Default, Debug, Deserialize)] +#[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) struct ErrorMessage { #[serde_as(as = "Text")] diff --git a/src/client/response/video_details.rs b/src/client/response/video_details.rs index 10bd232..51d6ce4 100644 --- a/src/client/response/video_details.rs +++ b/src/client/response/video_details.rs @@ -530,14 +530,15 @@ pub(crate) enum ContinuationItemVariants { } impl ContinuationItemVariants { - pub fn into_token(self) -> Option { + pub fn token(self) -> String { match self { ContinuationItemVariants::Ep { continuation_endpoint, } => continuation_endpoint, ContinuationItemVariants::Btn { button } => button.button_renderer.command, } - .into_token() + .continuation_command + .token } } diff --git a/src/client/response/video_item.rs b/src/client/response/video_item.rs index 5fa22bf..f855f3f 100644 --- a/src/client/response/video_item.rs +++ b/src/client/response/video_item.rs @@ -2,11 +2,14 @@ use serde::Deserialize; use serde_with::{ rust::deserialize_ignore_any, serde_as, DefaultOnError, DisplayFromStr, VecSkipError, }; -use time::OffsetDateTime; +use time::{OffsetDateTime, UtcOffset}; -use super::{ChannelBadge, ContentImage, ContinuationItemRenderer, PhMetadataView, Thumbnails}; +use super::{ + ChannelBadge, ContentImage, ContinuationEndpoint, PhMetadataView, SimpleHeaderRenderer, + Thumbnails, +}; use crate::{ - model::{Channel, ChannelItem, ChannelTag, PlaylistItem, VideoItem, YouTubeItem}, + model::{Channel, ChannelItem, ChannelTag, HistoryItem, PlaylistItem, VideoItem, YouTubeItem}, param::Language, serializer::{ text::{AttributedText, Text, TextComponent}, @@ -15,11 +18,6 @@ use crate::{ util::{self, timeago, TryRemove}, }; -#[cfg(feature = "userdata")] -use crate::{client::response::SimpleHeaderRenderer, model::HistoryItem}; -#[cfg(feature = "userdata")] -use time::UtcOffset; - #[serde_as] #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] @@ -37,9 +35,12 @@ pub(crate) enum YouTubeListItem { LockupViewModel(LockupViewModel), - /// Continuation items are located at the end of a list + /// Continauation items are located at the end of a list /// and contain the continuation token for progressive loading - ContinuationItemRenderer(ContinuationItemRenderer), + #[serde(rename_all = "camelCase")] + ContinuationItemRenderer { + continuation_endpoint: ContinuationEndpoint, + }, /// Corrected search query #[serde(rename_all = "camelCase")] @@ -65,7 +66,6 @@ pub(crate) enum YouTubeListItem { /// GridRenderer: contains videos on channel page #[serde(alias = "expandedShelfContentsRenderer", alias = "gridRenderer")] ItemSectionRenderer { - #[cfg(feature = "userdata")] header: Option, #[serde(alias = "items")] contents: MapResult>, @@ -298,7 +298,6 @@ pub(crate) struct YouTubeListRenderer { pub contents: MapResult>, } -#[cfg(feature = "userdata")] #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) struct ItemSectionHeader { @@ -835,11 +834,9 @@ impl YouTubeListMapper { self.items.push(mapped); } } - YouTubeListItem::ContinuationItemRenderer(r) => { - if self.ctoken.is_none() { - self.ctoken = r.continuation_endpoint.into_token(); - } - } + YouTubeListItem::ContinuationItemRenderer { + continuation_endpoint, + } => self.ctoken = Some(continuation_endpoint.continuation_command.token), YouTubeListItem::ShowingResultsForRenderer { corrected_query } => { self.corrected_query = Some(corrected_query); } @@ -885,11 +882,9 @@ impl YouTubeListMapper { self.items.push(mapped); } } - YouTubeListItem::ContinuationItemRenderer(r) => { - if self.ctoken.is_none() { - self.ctoken = r.continuation_endpoint.into_token(); - } - } + YouTubeListItem::ContinuationItemRenderer { + continuation_endpoint, + } => self.ctoken = Some(continuation_endpoint.continuation_command.token), YouTubeListItem::ShowingResultsForRenderer { corrected_query } => { self.corrected_query = Some(corrected_query); } @@ -909,7 +904,6 @@ impl YouTubeListMapper { res.c.into_iter().for_each(|item| self.map_item(item)); } - #[cfg(feature = "userdata")] pub(crate) fn conv_history_items( self, date_txt: Option, @@ -939,11 +933,9 @@ impl YouTubeListMapper { self.items.push(mapped); } } - YouTubeListItem::ContinuationItemRenderer(r) => { - if self.ctoken.is_none() { - self.ctoken = r.continuation_endpoint.into_token(); - } - } + YouTubeListItem::ContinuationItemRenderer { + continuation_endpoint, + } => self.ctoken = Some(continuation_endpoint.continuation_command.token), YouTubeListItem::ShowingResultsForRenderer { corrected_query } => { self.corrected_query = Some(corrected_query); } diff --git a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_playlists_20241109_lockup.snap b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_playlists_20241109_lockup.snap index 8dc1c76..3ae88c8 100644 --- a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_playlists_20241109_lockup.snap +++ b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_playlists_20241109_lockup.snap @@ -7,7 +7,7 @@ Channel( name: "EEVblog", handle: Some("@EEVblog"), subscriber_count: Some(952000), - video_count: Some(2000), + video_count: Some(2), avatar: [ Thumbnail( url: "https://yt3.googleusercontent.com/ytc/AIdro_l17lYcTcRSydZeQK-RuiSfEeH5eX9m4irSNQj6109v5MQ=s72-c-k-c0x00ffffff-no-rj", diff --git a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_20240324_pageheader2.snap b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_20240324_pageheader2.snap index ae0a957..2d7ebad 100644 --- a/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_20240324_pageheader2.snap +++ b/src/client/snapshots/rustypipe__client__channel__tests__map_channel_videos_20240324_pageheader2.snap @@ -7,7 +7,7 @@ Channel( name: "EEVblog", handle: Some("@EEVblog"), subscriber_count: Some(933000), - video_count: Some(1900), + video_count: Some(19), avatar: [ Thumbnail( url: "https://yt3.googleusercontent.com/ytc/AIdro_lagjGDfXbXlQXhznx3CDRitOBdxvebllQd_YP1ag=s72-c-k-c0x00ffffff-no-rj", diff --git a/src/client/snapshots/rustypipe__client__userdata__tests__map_history.snap b/src/client/snapshots/rustypipe__client__history__tests__map_history.snap similarity index 100% rename from src/client/snapshots/rustypipe__client__userdata__tests__map_history.snap rename to src/client/snapshots/rustypipe__client__history__tests__map_history.snap diff --git a/src/client/snapshots/rustypipe__client__userdata__tests__map_subscription_feed.snap b/src/client/snapshots/rustypipe__client__history__tests__map_subscription_feed.snap similarity index 100% rename from src/client/snapshots/rustypipe__client__userdata__tests__map_subscription_feed.snap rename to src/client/snapshots/rustypipe__client__history__tests__map_subscription_feed.snap diff --git a/src/client/snapshots/rustypipe__client__music_artist__tests__map_music_artist_20250113_grouped_albums.snap b/src/client/snapshots/rustypipe__client__music_artist__tests__map_music_artist_20250113_grouped_albums.snap index cf847e8..9c9acaa 100644 --- a/src/client/snapshots/rustypipe__client__music_artist__tests__map_music_artist_20250113_grouped_albums.snap +++ b/src/client/snapshots/rustypipe__client__music_artist__tests__map_music_artist_20250113_grouped_albums.snap @@ -52,7 +52,6 @@ MusicArtist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "h3T_NXRUUjM", @@ -85,7 +84,6 @@ MusicArtist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "XZfoFwWvkGQ", @@ -118,7 +116,6 @@ MusicArtist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "LOuVxwVFJhs", @@ -151,7 +148,6 @@ MusicArtist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "GePZUYeIQQQ", @@ -184,7 +180,6 @@ MusicArtist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "0mcING0Zdis", @@ -214,7 +209,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "EAC-2ttHCyk", @@ -244,7 +238,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Bret5VaVzJk", @@ -274,7 +267,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "EqP1_IcjW-s", @@ -304,7 +296,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "3EoF9Of98e4", @@ -334,7 +325,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "qr0eN_uIcTs", @@ -364,7 +354,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "McgSyiug6XE", @@ -398,7 +387,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ioZxvVhjFs8", @@ -428,7 +416,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "3jyZJEcomkw", @@ -458,7 +445,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "9oM-cflYhGk", @@ -488,7 +474,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), ], albums: [ diff --git a/src/client/snapshots/rustypipe__client__music_artist__tests__map_music_artist_default.snap b/src/client/snapshots/rustypipe__client__music_artist__tests__map_music_artist_default.snap index e684565..6cc16cc 100644 --- a/src/client/snapshots/rustypipe__client__music_artist__tests__map_music_artist_default.snap +++ b/src/client/snapshots/rustypipe__client__music_artist__tests__map_music_artist_default.snap @@ -67,7 +67,6 @@ MusicArtist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "xTvyyoF_LZY", @@ -100,7 +99,6 @@ MusicArtist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "SlbfAYvA_gI", @@ -133,7 +131,6 @@ MusicArtist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "fdz_cabS9BU", @@ -166,7 +163,6 @@ MusicArtist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "hJWSZDJb-W4", @@ -199,7 +195,6 @@ MusicArtist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "fezKpDFKf5U", @@ -229,7 +224,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "doGzjheI604", @@ -259,7 +253,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "zjEdX8-3CD8", @@ -289,7 +282,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "DQZcxN9v0RA", @@ -319,7 +311,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "2Vv-BfVoq4g", @@ -349,7 +340,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "JGwWNGJdvx8", @@ -379,7 +369,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "nSDgHBxUbVQ", @@ -409,7 +398,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "lp-EO5I60KA", @@ -439,7 +427,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "orJSJGHjBLI", @@ -469,7 +456,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Il0S8BoucSA", @@ -499,7 +485,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), ], albums: [ diff --git a/src/client/snapshots/rustypipe__client__music_artist__tests__map_music_artist_no_cont.snap b/src/client/snapshots/rustypipe__client__music_artist__tests__map_music_artist_no_cont.snap index 7deecd8..c921dda 100644 --- a/src/client/snapshots/rustypipe__client__music_artist__tests__map_music_artist_no_cont.snap +++ b/src/client/snapshots/rustypipe__client__music_artist__tests__map_music_artist_no_cont.snap @@ -67,7 +67,6 @@ MusicArtist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "xTvyyoF_LZY", @@ -100,7 +99,6 @@ MusicArtist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "SlbfAYvA_gI", @@ -133,7 +131,6 @@ MusicArtist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "fdz_cabS9BU", @@ -166,7 +163,6 @@ MusicArtist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "hJWSZDJb-W4", @@ -199,7 +195,6 @@ MusicArtist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "fezKpDFKf5U", @@ -229,7 +224,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "doGzjheI604", @@ -259,7 +253,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "zjEdX8-3CD8", @@ -289,7 +282,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "DQZcxN9v0RA", @@ -319,7 +311,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "2Vv-BfVoq4g", @@ -349,7 +340,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "JGwWNGJdvx8", @@ -379,7 +369,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "nSDgHBxUbVQ", @@ -409,7 +398,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "lp-EO5I60KA", @@ -439,7 +427,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "orJSJGHjBLI", @@ -469,7 +456,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Il0S8BoucSA", @@ -499,7 +485,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), ], albums: [ diff --git a/src/client/snapshots/rustypipe__client__music_artist__tests__map_music_artist_only_more_singles.snap b/src/client/snapshots/rustypipe__client__music_artist__tests__map_music_artist_only_more_singles.snap index bca05ab..2c63b24 100644 --- a/src/client/snapshots/rustypipe__client__music_artist__tests__map_music_artist_only_more_singles.snap +++ b/src/client/snapshots/rustypipe__client__music_artist__tests__map_music_artist_only_more_singles.snap @@ -67,7 +67,6 @@ MusicArtist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "uZpH7EQ_PwE", @@ -100,7 +99,6 @@ MusicArtist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "WmQHSkjgyDM", @@ -145,7 +143,6 @@ MusicArtist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "9ssQKlLxBdQ", @@ -178,7 +175,6 @@ MusicArtist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "y4FiCl-tUJc", @@ -211,7 +207,6 @@ MusicArtist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "KSav7HayxtI", @@ -241,7 +236,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "7wtfhZwyrcc", @@ -271,7 +265,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "TO-_3tck2tg", @@ -301,7 +294,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "D9G1VOjN_84", @@ -331,7 +323,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "fKopy74weus", @@ -361,7 +352,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "mWRsgZuwf_8", @@ -391,7 +381,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ktvTqknDobU", @@ -421,7 +410,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "I-QfPUz1es8", @@ -446,7 +434,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "0I647GU3Jsc", @@ -476,7 +463,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "gOsM-DYAEhY", @@ -506,7 +492,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), ], albums: [ diff --git a/src/client/snapshots/rustypipe__client__music_artist__tests__map_music_artist_only_singles.snap b/src/client/snapshots/rustypipe__client__music_artist__tests__map_music_artist_only_singles.snap index 879b878..b90c6e2 100644 --- a/src/client/snapshots/rustypipe__client__music_artist__tests__map_music_artist_only_singles.snap +++ b/src/client/snapshots/rustypipe__client__music_artist__tests__map_music_artist_only_singles.snap @@ -67,7 +67,6 @@ MusicArtist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "7_Bav4c7UGM", @@ -100,7 +99,6 @@ MusicArtist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "kzUZABVj5UQ", @@ -133,7 +131,6 @@ MusicArtist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "P5uE7KDkDFE", @@ -163,7 +160,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "kxjZwdLWFrc", @@ -193,7 +189,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "-aneeaddeXc", @@ -223,7 +218,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "YWijFdsj_Ew", @@ -253,7 +247,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "N217ZuMQnfY", @@ -283,7 +276,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "STNyxlYFyVY", @@ -313,7 +305,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "v5KZ5dalhzU", @@ -343,7 +334,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "vaSSdzgDNw0", @@ -373,7 +363,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Rq_JkcROjsI", @@ -403,7 +392,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "5VNZWTzJFso", @@ -433,7 +421,6 @@ MusicArtist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), ], albums: [ diff --git a/src/client/snapshots/rustypipe__client__music_charts__tests__map_music_charts_US.snap b/src/client/snapshots/rustypipe__client__music_charts__tests__map_music_charts_US.snap index d766194..0ce196c 100644 --- a/src/client/snapshots/rustypipe__client__music_charts__tests__map_music_charts_US.snap +++ b/src/client/snapshots/rustypipe__client__music_charts__tests__map_music_charts_US.snap @@ -36,7 +36,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "UhbixyxgsiU", @@ -66,7 +65,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "saGYMhApaH8", @@ -96,7 +94,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "8n5dJwWXrbo", @@ -126,7 +123,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Cr8K88UcO0s", @@ -156,7 +152,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "pfxyk1glEq4", @@ -186,7 +181,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "VtKcDwz6hiM", @@ -216,7 +210,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "aAkMkVFwAoo", @@ -246,7 +239,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "3V8aen7Flhs", @@ -276,7 +268,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "rb0bjyt1OD0", @@ -306,7 +297,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "-1vsm5bhoyE", @@ -336,7 +326,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ao3SN7fkQQU", @@ -370,7 +359,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "J9QwBwUnhQo", @@ -400,7 +388,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "WyhU6Zb_fhY", @@ -430,7 +417,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "aV-pJ8BBxj8", @@ -468,7 +454,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "gSeBZqcTHLc", @@ -498,7 +483,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Vzkr-G1QEh8", @@ -528,7 +512,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "SK37InR9j38", @@ -562,7 +545,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "C2YSX4sV_bA", @@ -592,7 +574,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ca48oMV59LU", @@ -622,7 +603,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "TUbmIriJlp4", @@ -656,7 +636,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Z02zptUN8gI", @@ -690,7 +669,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Uq9gPaIzbe8", @@ -724,7 +702,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "b1kbLwvqugk", @@ -754,7 +731,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "VF-FGf_ZZiI", @@ -784,7 +760,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Om0rYw6qzb8", @@ -818,7 +793,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "PrSBuEFdRFU", @@ -852,7 +826,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "9YdgldMKGGU", @@ -882,7 +855,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "kiUIkL4aZ5o", @@ -912,7 +884,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "mTkPFsVC5NE", @@ -946,7 +917,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "YsMB0i5YTOc", @@ -976,7 +946,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "3CkLMG5NwUg", @@ -1006,7 +975,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "9yvzvUgzxxg", @@ -1036,7 +1004,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "gPCCYMeXin0", @@ -1066,7 +1033,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "gkkuezo7kX4", @@ -1104,7 +1070,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "D2nyu8d7Sq0", @@ -1134,7 +1099,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "SXrcyqCPu4E", @@ -1164,7 +1128,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "p38WgakuYDo", @@ -1194,7 +1157,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "n4Z1cpdkgQU", @@ -1224,7 +1186,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "4F_vcZ6KD9Q", @@ -1254,7 +1215,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), ], trending_tracks: [ @@ -1281,7 +1241,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "UhbixyxgsiU", @@ -1306,7 +1265,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "zugAhfd2r0g", @@ -1331,7 +1289,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "5jJJYYaw8vw", @@ -1360,7 +1317,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "VMZefv4Vrwg", @@ -1385,7 +1341,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "3V8aen7Flhs", @@ -1410,7 +1365,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "rb0bjyt1OD0", @@ -1435,7 +1389,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Ut1OzEVUiM4", @@ -1460,7 +1413,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "rAr3-Pn9yRI", @@ -1485,7 +1437,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "PtPewTyPmUg", @@ -1510,7 +1461,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "G6xgMW7U0aY", @@ -1535,7 +1485,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "C2YSX4sV_bA", @@ -1560,7 +1509,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "kiUIkL4aZ5o", @@ -1585,7 +1533,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "9YdgldMKGGU", @@ -1610,7 +1557,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Z02zptUN8gI", @@ -1639,7 +1585,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "S0_888ZjlAA", @@ -1664,7 +1609,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "J9QwBwUnhQo", @@ -1689,7 +1633,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "DWRj2BB8YHs", @@ -1722,7 +1665,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "hX0aI5Jz8i8", @@ -1747,7 +1689,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Dw9VmOLwxoM", @@ -1772,7 +1713,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), ], artists: [ diff --git a/src/client/snapshots/rustypipe__client__music_charts__tests__map_music_charts_global.snap b/src/client/snapshots/rustypipe__client__music_charts__tests__map_music_charts_global.snap index c7db51e..36575bf 100644 --- a/src/client/snapshots/rustypipe__client__music_charts__tests__map_music_charts_global.snap +++ b/src/client/snapshots/rustypipe__client__music_charts__tests__map_music_charts_global.snap @@ -32,7 +32,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "jEdfjuG0Fx4", @@ -66,7 +65,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "pRpeEdMmmQ0", @@ -96,7 +94,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Gzs60iBgd3E", @@ -130,7 +127,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "sABN7goDbZ8", @@ -164,7 +160,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "saGYMhApaH8", @@ -194,7 +189,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "zuVV9Y55gvc", @@ -228,7 +222,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "TiM_TFpT_DE", @@ -258,7 +251,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "WcIcVapfqXw", @@ -292,7 +284,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Cr8K88UcO0s", @@ -322,7 +313,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "BddP6PYo2gs", @@ -352,7 +342,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "POe9SOEKotk", @@ -382,7 +371,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Z02zptUN8gI", @@ -416,7 +404,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "e8laLiWolGg", @@ -458,7 +445,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "SK37InR9j38", @@ -492,7 +478,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "5kJMtNWUytY", @@ -522,7 +507,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "gQlMMD8auMs", @@ -552,7 +536,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "D0gWr9K8Lb4", @@ -582,7 +565,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "7ouFkoU8Ap8", @@ -612,7 +594,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "-1vsm5bhoyE", @@ -642,7 +623,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "gnMdTTeY1FY", @@ -672,7 +652,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ca48oMV59LU", @@ -702,7 +681,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "VtKcDwz6hiM", @@ -732,7 +710,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "5g2hT4GmAGU", @@ -762,7 +739,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "CQLsdm1ZYAw", @@ -796,7 +772,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "UhbixyxgsiU", @@ -826,7 +801,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "mxF58TYuPaM", @@ -856,7 +830,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "8n5dJwWXrbo", @@ -886,7 +859,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "j5y6xLpRwx4", @@ -920,7 +892,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "jRxDUsGmwuc", @@ -950,7 +921,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "RgKAFK5djSk", @@ -980,7 +950,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "TGtWWb9emYI", @@ -1010,7 +979,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "no0RhhdJMlE", @@ -1040,7 +1008,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "dzsuE5ugxf4", @@ -1070,7 +1037,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "aAkMkVFwAoo", @@ -1100,7 +1066,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "jpYkoa-uE_c", @@ -1138,7 +1103,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "A_g3lMcWVy0", @@ -1172,7 +1136,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "gIOyB9ZXn8s", @@ -1206,7 +1169,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "MwpMEbgC7DA", @@ -1236,7 +1198,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "AJleGCGFyIg", @@ -1266,7 +1227,6 @@ MusicCharts( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), ], trending_tracks: [], diff --git a/src/client/snapshots/rustypipe__client__music_details__tests__map_music_details_mv.snap b/src/client/snapshots/rustypipe__client__music_details__tests__map_music_details_mv.snap index 9abe6e6..fc22ac9 100644 --- a/src/client/snapshots/rustypipe__client__music_details__tests__map_music_details_mv.snap +++ b/src/client/snapshots/rustypipe__client__music_details__tests__map_music_details_mv.snap @@ -36,7 +36,6 @@ TrackDetails( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), lyrics_id: Some("MPLYt_wrKjTn9hmry"), related_id: Some("MPTRt_wrKjTn9hmry"), diff --git a/src/client/snapshots/rustypipe__client__music_details__tests__map_music_details_track.snap b/src/client/snapshots/rustypipe__client__music_details__tests__map_music_details_track.snap index 6185cd5..7f559f0 100644 --- a/src/client/snapshots/rustypipe__client__music_details__tests__map_music_details_track.snap +++ b/src/client/snapshots/rustypipe__client__music_details__tests__map_music_details_track.snap @@ -54,7 +54,6 @@ TrackDetails( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), lyrics_id: Some("MPLYt_4xbv14CiQJm-1"), related_id: Some("MPTRt_4xbv14CiQJm-1"), diff --git a/src/client/snapshots/rustypipe__client__music_details__tests__map_music_radio_mv.snap b/src/client/snapshots/rustypipe__client__music_details__tests__map_music_radio_mv.snap index b76786f..dab21d2 100644 --- a/src/client/snapshots/rustypipe__client__music_details__tests__map_music_radio_mv.snap +++ b/src/client/snapshots/rustypipe__client__music_details__tests__map_music_radio_mv.snap @@ -38,7 +38,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Y8JFxS1HlDo", @@ -73,7 +72,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "CM4CkVFmTds", @@ -108,7 +106,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "_ysomCGaZLw", @@ -143,7 +140,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "gQlMMD8auMs", @@ -178,7 +174,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "uR8Mrt1IpXg", @@ -213,7 +208,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "PkKnp4SdE-w", @@ -248,7 +242,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "4vbDFu0PUew", @@ -283,7 +276,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "A5H8zBb3iao", @@ -318,7 +310,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "_xJUCsyMQes", @@ -348,7 +339,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "n0j5NPptyM0", @@ -383,7 +373,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "3GWscde8rM8", @@ -418,7 +407,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "uBY1AoiF5Vo", @@ -453,7 +441,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "WPdWvnAAurg", @@ -488,7 +475,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "tyrVtwE8Gv0", @@ -523,7 +509,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Jh4QFaPmdss", @@ -558,7 +543,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "2OvyA2__Eas", @@ -593,7 +577,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "dYRITmpFbJ4", @@ -628,7 +611,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "POe9SOEKotk", @@ -663,7 +645,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "pSudEWBAYRE", @@ -698,7 +679,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "nnVjsos40qk", @@ -733,7 +713,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "H69tJmsgd9I", @@ -768,7 +747,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "0IBSemQmno8", @@ -803,7 +781,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "MjCZfZfucEc", @@ -833,7 +810,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "tg2uF3R_Ozo", @@ -868,7 +844,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), ], ctoken: Some("CBkSSBILdGcydUYzUl9Pem8iEVJEQU1WTVplZXJybnVMaTVFMg53QUVCOGdFQ2VBRSUzRDgY0AEB-gEQQzcxNUY2RDFGQjIwNEQwQRgKggEVUFQ6RWd0MFp6SjFSak5TWDA5NmJ3"), diff --git a/src/client/snapshots/rustypipe__client__music_details__tests__map_music_radio_track.snap b/src/client/snapshots/rustypipe__client__music_details__tests__map_music_radio_track.snap index ee4e860..6524f42 100644 --- a/src/client/snapshots/rustypipe__client__music_details__tests__map_music_radio_track.snap +++ b/src/client/snapshots/rustypipe__client__music_details__tests__map_music_radio_track.snap @@ -56,7 +56,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "u1uvv_yKhH8", @@ -109,7 +108,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "QiziJ40kTz0", @@ -162,7 +160,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "OXWz_x6-dro", @@ -215,7 +212,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ghrlZIMDzbM", @@ -268,7 +264,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "04tYkKUPPv4", @@ -321,7 +316,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "wjCrjR5WpgQ", @@ -374,7 +368,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "wkVlb8rSies", @@ -427,7 +420,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "RdU3F5vN3_s", @@ -480,7 +472,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "950BdJKBhGo", @@ -533,7 +524,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "W0x7GcZkvH4", @@ -586,7 +576,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "0EK_M2taRIM", @@ -639,7 +628,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "INLFlN-PZq4", @@ -692,7 +680,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "8JXc4idKS_c", @@ -745,7 +732,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "vFFT1iAUNDE", @@ -802,7 +788,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "g92HIac9ufA", @@ -855,7 +840,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "CinJhZF5ZuA", @@ -908,7 +892,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "t7hmovsG_f0", @@ -961,7 +944,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "FrEDny55ch8", @@ -1014,7 +996,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "PyyT5tHbOLw", @@ -1067,7 +1048,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "_ZkUb7iIOqQ", @@ -1120,7 +1100,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "UxZH9lRdLD0", @@ -1173,7 +1152,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "aYlXNpaQydk", @@ -1226,7 +1204,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "SZiwpL62to8", @@ -1279,7 +1256,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "mbg1Cn6Ua9U", @@ -1332,7 +1308,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), ], ctoken: Some("CBkSSBILbWJnMUNuNlVhOVUiEVJEQU1WTTduaWdYUVMxWGIwMg53QUVCOGdFQ2VBRSUzRDgY0AEB-gEQQzcxNUY2RDFGQjIwNEQwQRgKggEVUFQ6RWd0dFltY3hRMjQyVldFNVZR"), diff --git a/src/client/snapshots/rustypipe__client__music_details__tests__map_music_related.snap b/src/client/snapshots/rustypipe__client__music_details__tests__map_music_related.snap index c882bc6..4749fc2 100644 --- a/src/client/snapshots/rustypipe__client__music_details__tests__map_music_related.snap +++ b/src/client/snapshots/rustypipe__client__music_details__tests__map_music_related.snap @@ -35,7 +35,6 @@ MusicRelated( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "g92HIac9ufA", @@ -68,7 +67,6 @@ MusicRelated( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "khgCIMs_lVQ", @@ -101,7 +99,6 @@ MusicRelated( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "i2VGa-ETiM4", @@ -134,7 +131,6 @@ MusicRelated( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "INLFlN-PZq4", @@ -167,7 +163,6 @@ MusicRelated( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ZzbNM2l-AAA", @@ -200,7 +195,6 @@ MusicRelated( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "i4loHXi8f3A", @@ -233,7 +227,6 @@ MusicRelated( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "miqQAzOXPBo", @@ -266,7 +259,6 @@ MusicRelated( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "hh5GKVa8VtM", @@ -299,7 +291,6 @@ MusicRelated( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "dzwSnvfKEtw", @@ -332,7 +323,6 @@ MusicRelated( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "REmUidcJt5I", @@ -365,7 +355,6 @@ MusicRelated( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "OXWz_x6-dro", @@ -398,7 +387,6 @@ MusicRelated( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "aFoqCI75WoY", @@ -431,7 +419,6 @@ MusicRelated( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "_Pm74XignKI", @@ -464,7 +451,6 @@ MusicRelated( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "-uOShlFu1v8", @@ -497,7 +483,6 @@ MusicRelated( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "LP9sF1v-vz4", @@ -530,7 +515,6 @@ MusicRelated( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "KJrPsT2X-yk", @@ -563,7 +547,6 @@ MusicRelated( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "tkzYyEp4zB4", @@ -596,7 +579,6 @@ MusicRelated( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ZpD59tu5_Rk", @@ -629,7 +611,6 @@ MusicRelated( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "_eNXeEx9Hvk", @@ -662,7 +643,6 @@ MusicRelated( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), ], other_versions: [ @@ -689,7 +669,6 @@ MusicRelated( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Yi2nsnpw5h0", @@ -714,7 +693,6 @@ MusicRelated( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "2Qefh0W_H88", @@ -739,7 +717,6 @@ MusicRelated( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "oo89OQvzkIo", @@ -764,7 +741,6 @@ MusicRelated( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), ], albums: [ diff --git a/src/client/snapshots/rustypipe__client__music_userdata__tests__map_history.snap b/src/client/snapshots/rustypipe__client__music_history__tests__map_history.snap similarity index 97% rename from src/client/snapshots/rustypipe__client__music_userdata__tests__map_history.snap rename to src/client/snapshots/rustypipe__client__music_history__tests__map_history.snap index 06d0fe8..d025f4a 100644 --- a/src/client/snapshots/rustypipe__client__music_userdata__tests__map_history.snap +++ b/src/client/snapshots/rustypipe__client__music_history__tests__map_history.snap @@ -1,5 +1,5 @@ --- -source: src/client/music_userdata.rs +source: src/client/music_history.rs expression: map_res.c --- Paginator( @@ -37,7 +37,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), playback_date: "[date]", playback_date_txt: Some("Today"), @@ -74,7 +73,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), playback_date: "[date]", playback_date_txt: Some("Today"), @@ -111,7 +109,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), playback_date: "[date]", playback_date_txt: Some("Today"), @@ -148,7 +145,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), playback_date: "[date]", playback_date_txt: Some("Today"), @@ -185,7 +181,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), playback_date: "[date]", playback_date_txt: Some("Today"), @@ -222,7 +217,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), playback_date: "[date]", playback_date_txt: Some("Today"), @@ -263,7 +257,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), playback_date: "[date]", playback_date_txt: Some("Today"), @@ -292,7 +285,6 @@ Paginator( track_type: episode, track_nr: None, by_va: false, - unavailable: false, ), playback_date: "[date]", playback_date_txt: Some("Today"), @@ -329,7 +321,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), playback_date: "[date]", playback_date_txt: Some("Last week"), @@ -366,7 +357,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), playback_date: "[date]", playback_date_txt: Some("Last week"), @@ -403,7 +393,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), playback_date: "[date]", playback_date_txt: Some("Last week"), @@ -440,7 +429,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), playback_date: "[date]", playback_date_txt: Some("Last week"), @@ -481,7 +469,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), playback_date: "[date]", playback_date_txt: Some("Last week"), @@ -518,7 +505,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), playback_date: "[date]", playback_date_txt: Some("Last week"), @@ -555,7 +541,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), playback_date: "[date]", playback_date_txt: Some("Last week"), @@ -592,7 +577,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), playback_date: "[date]", playback_date_txt: Some("Last week"), @@ -633,7 +617,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), playback_date: "[date]", playback_date_txt: Some("Last week"), @@ -670,7 +653,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), playback_date: "[date]", playback_date_txt: Some("Last week"), @@ -707,7 +689,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), playback_date: "[date]", playback_date_txt: Some("Last week"), @@ -744,7 +725,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), playback_date: "[date]", playback_date_txt: Some("Last week"), @@ -781,7 +761,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), playback_date: "[date]", playback_date_txt: Some("Last week"), @@ -818,7 +797,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), playback_date: "[date]", playback_date_txt: Some("Last week"), @@ -851,7 +829,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), playback_date: "[date]", playback_date_txt: Some("Last week"), diff --git a/src/client/snapshots/rustypipe__client__music_new__tests__map_music_new_videos_default.snap b/src/client/snapshots/rustypipe__client__music_new__tests__map_music_new_videos_default.snap index 88ae8ab..0702ea3 100644 --- a/src/client/snapshots/rustypipe__client__music_new__tests__map_music_new_videos_default.snap +++ b/src/client/snapshots/rustypipe__client__music_new__tests__map_music_new_videos_default.snap @@ -31,7 +31,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "gFERoNpcnFU", @@ -61,7 +60,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "bmEzom5sfCI", @@ -91,7 +89,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "QHY2pm7uT3k", @@ -121,7 +118,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Su42LK7I4NM", @@ -151,7 +147,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "mly7ha04bEE", @@ -181,7 +176,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "c91bmLbGt-g", @@ -219,7 +213,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "IwzkfMmNMpM", @@ -249,7 +242,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "_-spkuonX2k", @@ -283,7 +275,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "48pBUciAbRY", @@ -313,6 +304,5 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), ] diff --git a/src/client/snapshots/rustypipe__client__music_new__tests__map_music_new_videos_w_podcasts.snap b/src/client/snapshots/rustypipe__client__music_new__tests__map_music_new_videos_w_podcasts.snap index 2423d08..3ab035d 100644 --- a/src/client/snapshots/rustypipe__client__music_new__tests__map_music_new_videos_w_podcasts.snap +++ b/src/client/snapshots/rustypipe__client__music_new__tests__map_music_new_videos_w_podcasts.snap @@ -31,7 +31,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "_UN2gwabRBI", @@ -61,7 +60,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "aY72b4ZGPbo", @@ -91,7 +89,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Cu82AvG87_g", @@ -121,7 +118,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "p9R94XSYjwI", @@ -151,7 +147,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Tlg574e9fuU", @@ -181,7 +176,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "1L-RpSmlWp0", @@ -211,7 +205,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "EI28gmgBMfw", @@ -241,7 +234,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Z1DEwM1E7ho", @@ -275,7 +267,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "hqnDi07CsJU", @@ -305,7 +296,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "_T2tvIwOMfc", @@ -335,7 +325,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "seDc-M7aSOI", @@ -365,7 +354,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "APJAQoSCwuA", @@ -395,7 +383,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "965Lv2AwODM", @@ -425,7 +412,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Yl7NAOn0YJw", @@ -455,7 +441,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "TVhoS5qhVi4", @@ -485,7 +470,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "dZdaP7DGze4", @@ -515,7 +499,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "SsizZ2VZe6c", @@ -545,7 +528,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "xFRIddDw8bw", @@ -575,7 +557,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Rbhky_2qIUo", @@ -605,7 +586,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ECovqS_ItUo", @@ -635,7 +615,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "uxP0y-m6ysA", @@ -665,7 +644,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "simC880SUGk", @@ -695,7 +673,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "dGLVJ35_gnA", @@ -725,7 +702,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "vY6UiUDPuMk", @@ -755,7 +731,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "QMQw_waEPi0", @@ -785,7 +760,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Sc2-3BK2mzM", @@ -819,7 +793,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "bprHBlahnmM", @@ -844,7 +817,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "FMhHc5x2DzE", @@ -874,7 +846,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "nOjbJdw2dPs", @@ -904,7 +875,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "1G1zcTV5yX4", @@ -934,7 +904,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "BcbKoY7XpJE", @@ -964,7 +933,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "mq6zggKZTFU", @@ -994,7 +962,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "aQFl1xhloVo", @@ -1024,7 +991,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "A3IhjA2aMUg", @@ -1058,7 +1024,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "cxIOWM0xLc4", @@ -1088,7 +1053,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "IFKAgKgVaSI", @@ -1118,7 +1082,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "iGUN99hW3nU", @@ -1148,7 +1111,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "_alKEACsIds", @@ -1178,7 +1140,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "WGNJIF7OoAc", @@ -1208,7 +1169,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "a_TotMZ5hxc", @@ -1242,7 +1202,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "0eoeyKkWBRs", @@ -1272,7 +1231,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "DU4NtqyTnuM", @@ -1302,7 +1260,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "kLbn61Z4LDI", @@ -1332,7 +1289,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "vMFNI5lOLwU", @@ -1370,7 +1326,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "AZoZbtI67Yk", @@ -1400,7 +1355,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Ah4Dn3VAnMk", @@ -1430,7 +1384,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "sLklEvxhmAQ", @@ -1460,7 +1413,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "2Lbp1P4pP6c", @@ -1490,7 +1442,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "2TYIa09PXyo", @@ -1520,7 +1471,6 @@ expression: map_res.c track_type: episode, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Hdy7l8fkREo", @@ -1550,7 +1500,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "A-sjPe3xvqY", @@ -1584,7 +1533,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "jFVX_v2yAas", @@ -1614,7 +1562,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "YDfL2Ns8wz4", @@ -1644,7 +1591,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "du4hVdxqyr8", @@ -1674,7 +1620,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "G5vlW0PZ878", @@ -1704,7 +1649,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Gtg2TSR19Mg", @@ -1734,7 +1678,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "vJ3wwezOV_8", @@ -1764,7 +1707,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "76q5EiRyYks", @@ -1794,7 +1736,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "nEjntI9GMVM", @@ -1824,7 +1765,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Gtct_ipIQmo", @@ -1854,7 +1794,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "aw4kqTyZshk", @@ -1884,7 +1823,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "xjoCNfK3vxo", @@ -1914,7 +1852,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "DN1gYO3bu-k", @@ -1939,7 +1876,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "X_cqTeG7v98", @@ -1969,7 +1905,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "b_B4ebhKvQ4", @@ -1999,7 +1934,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "VQp1QmwOzxw", @@ -2029,7 +1963,6 @@ expression: map_res.c track_type: episode, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "suAR1PYFNYA", @@ -2059,7 +1992,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "No3Cr6ph-9U", @@ -2089,7 +2021,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ORJEgiVY08U", @@ -2119,7 +2050,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "2px4-y1Y0PI", @@ -2149,7 +2079,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "kchzKOizhGg", @@ -2179,7 +2108,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "V6eAGSz4JI8", @@ -2209,7 +2137,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "1A5hWzS00Nc", @@ -2239,7 +2166,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "bzsSkarE4zw", @@ -2273,7 +2199,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "59HJZIMVxAg", @@ -2303,7 +2228,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "8XQYz7JKjWI", @@ -2333,7 +2257,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "5FkJkpTWSWk", @@ -2371,7 +2294,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "1m51ncAU4uA", @@ -2405,7 +2327,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Ycff6mFkoPY", @@ -2435,7 +2356,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "g0ghPuWqYR0", @@ -2465,7 +2385,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "1YiTQJcKajE", @@ -2495,7 +2414,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "TuyisGsNr4g", @@ -2525,7 +2443,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ClU3aqamHGQ", @@ -2555,7 +2472,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "bYyB3FzPRfg", @@ -2589,7 +2505,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "I5eu4XMWZR8", @@ -2619,7 +2534,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ziNtA-mcXTY", @@ -2649,7 +2563,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "CDEikOST7ZQ", @@ -2683,7 +2596,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "YQzvJSR5jy8", @@ -2713,7 +2625,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "lPaplIqUXJc", @@ -2743,7 +2654,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "78Y0SxVVxP4", @@ -2773,7 +2683,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "2e-xqMWT9GY", @@ -2803,7 +2712,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "81RRIPE404o", @@ -2833,7 +2741,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "uxR8VhGG9Pc", @@ -2863,7 +2770,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "JSNwR0MzGZQ", @@ -2893,7 +2799,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "DS8dvzDXpjQ", @@ -2923,7 +2828,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "j10zAWP5KsM", @@ -2953,7 +2857,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ugFKFWhsoZA", @@ -2983,7 +2886,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "xXO1h6Kthcw", @@ -3013,7 +2915,6 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "VOUqmbeilXA", @@ -3043,6 +2944,5 @@ expression: map_res.c track_type: video, track_nr: None, by_va: false, - unavailable: false, ), ] diff --git a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_20240228_twoColumns.snap b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_20240228_twoColumns.snap index 3438871..84ca230 100644 --- a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_20240228_twoColumns.snap +++ b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_20240228_twoColumns.snap @@ -43,7 +43,6 @@ MusicAlbum( album_type: single, year: Some(2020), by_va: false, - track_count: 1, tracks: [ TrackItem( id: "XX0epju-YvY", @@ -69,7 +68,6 @@ MusicAlbum( track_type: video, track_nr: Some(1), by_va: false, - unavailable: false, ), ], variants: [], diff --git a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_20250225_recommends.snap b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_20250225_recommends.snap deleted file mode 100644 index ee819e1..0000000 --- a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_20250225_recommends.snap +++ /dev/null @@ -1,156 +0,0 @@ ---- -source: src/client/music_playlist.rs -expression: map_res.c ---- -MusicAlbum( - id: "MPREb_u1I69lSAe5v", - playlist_id: Some("OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY"), - name: "Waldbrand", - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/IYxE8yTIpFUu0OayA5SaxFEn6zQ7T21hpkvI8CODY9NEH1XIhyoUhGohkZuaK-xSu22BC4wjp6srNjIW=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/IYxE8yTIpFUu0OayA5SaxFEn6zQ7T21hpkvI8CODY9NEH1XIhyoUhGohkZuaK-xSu22BC4wjp6srNjIW=w120-h120-l90-rj", - width: 120, - height: 120, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/IYxE8yTIpFUu0OayA5SaxFEn6zQ7T21hpkvI8CODY9NEH1XIhyoUhGohkZuaK-xSu22BC4wjp6srNjIW=w226-h226-l90-rj", - width: 226, - height: 226, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/IYxE8yTIpFUu0OayA5SaxFEn6zQ7T21hpkvI8CODY9NEH1XIhyoUhGohkZuaK-xSu22BC4wjp6srNjIW=w544-h544-l90-rj", - width: 544, - height: 544, - ), - ], - artists: [ - ArtistId( - id: Some("UCpJyCbFbdTrx0M90HCNBHFQ"), - name: "Madeline Juno", - ), - ], - artist_id: Some("UCpJyCbFbdTrx0M90HCNBHFQ"), - description: None, - album_type: ep, - year: Some(2016), - by_va: false, - track_count: 5, - tracks: [ - TrackItem( - id: "aGd3VKSOTxY", - name: "Ich wache auf", - duration: Some(222), - cover: [], - artists: [ - ArtistId( - id: Some("UCpJyCbFbdTrx0M90HCNBHFQ"), - name: "Madeline Juno", - ), - ], - artist_id: Some("UCpJyCbFbdTrx0M90HCNBHFQ"), - album: Some(AlbumId( - id: "MPREb_u1I69lSAe5v", - name: "Waldbrand", - )), - view_count: Some(208000), - track_type: track, - track_nr: Some(1), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "lhPOMUjV4rE", - name: "Waldbrand", - duration: Some(209), - cover: [], - artists: [ - ArtistId( - id: Some("UCpJyCbFbdTrx0M90HCNBHFQ"), - name: "Madeline Juno", - ), - ], - artist_id: Some("UCpJyCbFbdTrx0M90HCNBHFQ"), - album: Some(AlbumId( - id: "MPREb_u1I69lSAe5v", - name: "Waldbrand", - )), - view_count: Some(6000000), - track_type: video, - track_nr: Some(2), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "Bu26uFtpt58", - name: "Verlernt", - duration: Some(224), - cover: [], - artists: [ - ArtistId( - id: Some("UCpJyCbFbdTrx0M90HCNBHFQ"), - name: "Madeline Juno", - ), - ], - artist_id: Some("UCpJyCbFbdTrx0M90HCNBHFQ"), - album: Some(AlbumId( - id: "MPREb_u1I69lSAe5v", - name: "Waldbrand", - )), - view_count: Some(418000), - track_type: track, - track_nr: Some(3), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "RgwNqqiVqdY", - name: "In Farbe", - duration: Some(222), - cover: [], - artists: [ - ArtistId( - id: Some("UCpJyCbFbdTrx0M90HCNBHFQ"), - name: "Madeline Juno", - ), - ], - artist_id: Some("UCpJyCbFbdTrx0M90HCNBHFQ"), - album: Some(AlbumId( - id: "MPREb_u1I69lSAe5v", - name: "Waldbrand", - )), - view_count: Some(127000), - track_type: track, - track_nr: Some(4), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "2TuOh30XbCI", - name: "Stadt im Hinterland", - duration: Some(198), - cover: [], - artists: [ - ArtistId( - id: Some("UCpJyCbFbdTrx0M90HCNBHFQ"), - name: "Madeline Juno", - ), - ], - artist_id: Some("UCpJyCbFbdTrx0M90HCNBHFQ"), - album: Some(AlbumId( - id: "MPREb_u1I69lSAe5v", - name: "Waldbrand", - )), - view_count: Some(79000), - track_type: track, - track_nr: Some(5), - by_va: false, - unavailable: false, - ), - ], - variants: [], -) diff --git a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_description.snap b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_description.snap index fcd9927..13e1d87 100644 --- a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_description.snap +++ b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_description.snap @@ -43,7 +43,6 @@ MusicAlbum( album_type: album, year: Some(2015), by_va: false, - track_count: 11, tracks: [ TrackItem( id: "YQHsXMglC9A", @@ -65,7 +64,6 @@ MusicAlbum( track_type: video, track_nr: Some(1), by_va: false, - unavailable: false, ), TrackItem( id: "fk4BbF7B29w", @@ -87,7 +85,6 @@ MusicAlbum( track_type: video, track_nr: Some(2), by_va: false, - unavailable: false, ), TrackItem( id: "z7NEG3SGZ_g", @@ -109,7 +106,6 @@ MusicAlbum( track_type: track, track_nr: Some(3), by_va: false, - unavailable: false, ), TrackItem( id: "a1IuJLebHgM", @@ -131,7 +127,6 @@ MusicAlbum( track_type: track, track_nr: Some(4), by_va: false, - unavailable: false, ), TrackItem( id: "-fsCc7Be1H0", @@ -153,7 +148,6 @@ MusicAlbum( track_type: track, track_nr: Some(5), by_va: false, - unavailable: false, ), TrackItem( id: "l8djdhhFuxo", @@ -175,7 +169,6 @@ MusicAlbum( track_type: track, track_nr: Some(6), by_va: false, - unavailable: false, ), TrackItem( id: "Qiu59lZShCo", @@ -197,7 +190,6 @@ MusicAlbum( track_type: track, track_nr: Some(7), by_va: false, - unavailable: false, ), TrackItem( id: "-hzFTJDJGkQ", @@ -219,7 +211,6 @@ MusicAlbum( track_type: track, track_nr: Some(8), by_va: false, - unavailable: false, ), TrackItem( id: "Db9ciJPIaEU", @@ -241,7 +232,6 @@ MusicAlbum( track_type: track, track_nr: Some(9), by_va: false, - unavailable: false, ), TrackItem( id: "jb5g4UFHmfQ", @@ -263,7 +253,6 @@ MusicAlbum( track_type: track, track_nr: Some(10), by_va: false, - unavailable: false, ), TrackItem( id: "1kZsaRkVEUY", @@ -285,7 +274,6 @@ MusicAlbum( track_type: track, track_nr: Some(11), by_va: false, - unavailable: false, ), ], variants: [], diff --git a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_one_artist.snap b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_one_artist.snap index e0ebfef..486d93f 100644 --- a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_one_artist.snap +++ b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_one_artist.snap @@ -39,7 +39,6 @@ MusicAlbum( album_type: album, year: Some(2016), by_va: false, - track_count: 18, tracks: [ TrackItem( id: "g0iRiJ_ck48", @@ -61,7 +60,6 @@ MusicAlbum( track_type: track, track_nr: Some(1), by_va: false, - unavailable: false, ), TrackItem( id: "rREEBXp0y9s", @@ -83,7 +81,6 @@ MusicAlbum( track_type: track, track_nr: Some(2), by_va: false, - unavailable: false, ), TrackItem( id: "zvU5Y8Q19hU", @@ -105,7 +102,6 @@ MusicAlbum( track_type: track, track_nr: Some(3), by_va: false, - unavailable: false, ), TrackItem( id: "ARKLrzzTQA0", @@ -127,7 +123,6 @@ MusicAlbum( track_type: track, track_nr: Some(4), by_va: false, - unavailable: false, ), TrackItem( id: "tstLgN8A_Ng", @@ -149,7 +144,6 @@ MusicAlbum( track_type: track, track_nr: Some(5), by_va: false, - unavailable: false, ), TrackItem( id: "k2DjgQOY3Ts", @@ -171,7 +165,6 @@ MusicAlbum( track_type: track, track_nr: Some(6), by_va: false, - unavailable: false, ), TrackItem( id: "azHwhecxEsI", @@ -193,7 +186,6 @@ MusicAlbum( track_type: track, track_nr: Some(7), by_va: false, - unavailable: false, ), TrackItem( id: "_FcsdYIQ2co", @@ -215,7 +207,6 @@ MusicAlbum( track_type: track, track_nr: Some(8), by_va: false, - unavailable: false, ), TrackItem( id: "27bOWEbshyE", @@ -237,7 +228,6 @@ MusicAlbum( track_type: track, track_nr: Some(9), by_va: false, - unavailable: false, ), TrackItem( id: "riD_3oZwt8w", @@ -259,7 +249,6 @@ MusicAlbum( track_type: track, track_nr: Some(10), by_va: false, - unavailable: false, ), TrackItem( id: "8GNvjF3no9s", @@ -281,7 +270,6 @@ MusicAlbum( track_type: track, track_nr: Some(11), by_va: false, - unavailable: false, ), TrackItem( id: "YHMFzf1uN2U", @@ -303,7 +291,6 @@ MusicAlbum( track_type: track, track_nr: Some(12), by_va: false, - unavailable: false, ), TrackItem( id: "jvV-z5F3oAo", @@ -325,7 +312,6 @@ MusicAlbum( track_type: track, track_nr: Some(13), by_va: false, - unavailable: false, ), TrackItem( id: "u8_9cxlrh8k", @@ -347,7 +333,6 @@ MusicAlbum( track_type: track, track_nr: Some(14), by_va: false, - unavailable: false, ), TrackItem( id: "gSvKcvM1Wk0", @@ -369,7 +354,6 @@ MusicAlbum( track_type: track, track_nr: Some(15), by_va: false, - unavailable: false, ), TrackItem( id: "wQHgKRJ0pDQ", @@ -391,7 +375,6 @@ MusicAlbum( track_type: track, track_nr: Some(16), by_va: false, - unavailable: false, ), TrackItem( id: "Ckz5i6-hzf0", @@ -413,7 +396,6 @@ MusicAlbum( track_type: track, track_nr: Some(17), by_va: false, - unavailable: false, ), TrackItem( id: "y5zuUgyFqrc", @@ -435,7 +417,6 @@ MusicAlbum( track_type: track, track_nr: Some(18), by_va: false, - unavailable: false, ), ], variants: [ diff --git a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_single.snap b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_single.snap index 9bb270a..ed4ce55 100644 --- a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_single.snap +++ b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_single.snap @@ -43,7 +43,6 @@ MusicAlbum( album_type: single, year: Some(2020), by_va: false, - track_count: 1, tracks: [ TrackItem( id: "XX0epju-YvY", @@ -69,7 +68,6 @@ MusicAlbum( track_type: video, track_nr: Some(1), by_va: false, - unavailable: false, ), ], variants: [], diff --git a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_unavailable.snap b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_unavailable.snap index 3637c4f..16fb88f 100644 --- a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_unavailable.snap +++ b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_unavailable.snap @@ -34,7 +34,6 @@ MusicAlbum( album_type: album, year: Some(2019), by_va: true, - track_count: 18, tracks: [ TrackItem( id: "JWeJHN5P-E8", @@ -56,7 +55,6 @@ MusicAlbum( track_type: video, track_nr: Some(1), by_va: false, - unavailable: false, ), TrackItem( id: "5jd-AhBwcCQ", @@ -78,7 +76,6 @@ MusicAlbum( track_type: video, track_nr: Some(2), by_va: false, - unavailable: false, ), TrackItem( id: "_cmORZMgv6I", @@ -100,7 +97,6 @@ MusicAlbum( track_type: video, track_nr: Some(3), by_va: false, - unavailable: false, ), TrackItem( id: "M_kVMsFaGYs", @@ -122,7 +118,6 @@ MusicAlbum( track_type: video, track_nr: Some(5), by_va: false, - unavailable: false, ), TrackItem( id: "c8AfY6yhdkM", @@ -144,7 +139,6 @@ MusicAlbum( track_type: track, track_nr: Some(6), by_va: false, - unavailable: false, ), TrackItem( id: "DSQEKEegiH0", @@ -166,7 +160,6 @@ MusicAlbum( track_type: video, track_nr: Some(7), by_va: false, - unavailable: false, ), TrackItem( id: "2TTOKQSzuQY", @@ -188,7 +181,6 @@ MusicAlbum( track_type: video, track_nr: Some(8), by_va: false, - unavailable: false, ), TrackItem( id: "iRaX0BfME70", @@ -210,7 +202,6 @@ MusicAlbum( track_type: video, track_nr: Some(9), by_va: false, - unavailable: false, ), TrackItem( id: "Kn3cruxYj0c", @@ -232,7 +223,6 @@ MusicAlbum( track_type: track, track_nr: Some(11), by_va: false, - unavailable: false, ), TrackItem( id: "-P1FyntN_Uc", @@ -254,7 +244,6 @@ MusicAlbum( track_type: video, track_nr: Some(12), by_va: false, - unavailable: false, ), TrackItem( id: "njdlNT1RRo4", @@ -276,7 +265,6 @@ MusicAlbum( track_type: track, track_nr: Some(13), by_va: false, - unavailable: false, ), TrackItem( id: "Si-CXM8CHqQ", @@ -298,7 +286,6 @@ MusicAlbum( track_type: track, track_nr: Some(18), by_va: false, - unavailable: false, ), ], variants: [], diff --git a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_various_artists.snap b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_various_artists.snap index d8f03c7..932ff7c 100644 --- a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_various_artists.snap +++ b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_album_various_artists.snap @@ -34,7 +34,6 @@ MusicAlbum( album_type: single, year: Some(2022), by_va: true, - track_count: 6, tracks: [ TrackItem( id: "8IqLxg0GqXc", @@ -56,7 +55,6 @@ MusicAlbum( track_type: video, track_nr: Some(1), by_va: false, - unavailable: false, ), TrackItem( id: "9WYpLYAEub0", @@ -78,7 +76,6 @@ MusicAlbum( track_type: track, track_nr: Some(2), by_va: false, - unavailable: false, ), TrackItem( id: "R48tE237bW4", @@ -100,7 +97,6 @@ MusicAlbum( track_type: track, track_nr: Some(3), by_va: false, - unavailable: false, ), TrackItem( id: "-UzsoR6z-vg", @@ -122,7 +118,6 @@ MusicAlbum( track_type: track, track_nr: Some(4), by_va: false, - unavailable: false, ), TrackItem( id: "kbNVyn8Ex28", @@ -144,7 +139,6 @@ MusicAlbum( track_type: track, track_nr: Some(5), by_va: false, - unavailable: false, ), TrackItem( id: "NJrQZUzWP5Y", @@ -166,7 +160,6 @@ MusicAlbum( track_type: track, track_nr: Some(6), by_va: false, - unavailable: false, ), ], variants: [], diff --git a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_20240228_album.snap b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_20240228_album.snap index eeafa78..5d69c60 100644 --- a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_20240228_album.snap +++ b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_20240228_album.snap @@ -59,7 +59,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), ], ctoken: None, diff --git a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_20240228_twoColumns.snap b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_20240228_twoColumns.snap index 4694e0f..367d1be 100644 --- a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_20240228_twoColumns.snap +++ b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_20240228_twoColumns.snap @@ -84,7 +84,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "P-zJCLBqZc4", @@ -117,7 +116,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "_mAPAtjWZGE", @@ -150,7 +148,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "JbXkjRqWTxc", @@ -187,7 +184,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "72b8D6s_y_U", @@ -220,7 +216,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "mHKNroJOcig", @@ -253,7 +248,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "0C1NFu4NB_4", @@ -286,7 +280,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "EnLWwwtO1-A", @@ -323,7 +316,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "cafxLTAWi-g", @@ -360,7 +352,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "uyemSV1SpnE", @@ -393,7 +384,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ogc58xMpPCc", @@ -418,7 +408,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "tsw1LgVkFjE", @@ -451,7 +440,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "xSB8trUFX1A", @@ -484,7 +472,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "yEKTrciCvvY", @@ -509,7 +496,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "LbHsWjX9dv4", @@ -542,7 +528,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "L2apFB6EF-Y", @@ -575,7 +560,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "uCW2sZZofhk", @@ -608,7 +592,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "XZ9DKiNZszM", @@ -633,7 +616,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "J1AOKFRqCjg", @@ -670,7 +652,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "XNd6d6H1LBo", @@ -695,7 +676,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "SSy4VdjEJKM", @@ -728,7 +708,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "0am_BfODDvc", @@ -765,7 +744,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "xv3qKrCq2w8", @@ -798,7 +776,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "pZC82a-2eo0", @@ -831,7 +808,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "kOmmYiigFLE", @@ -864,7 +840,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Jcp48M-vRJw", @@ -897,7 +872,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "YeSgtLJQGJs", @@ -930,7 +904,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "_LY6aFUVmOU", @@ -967,7 +940,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "SCTMdJ1cuoU", @@ -1000,7 +972,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "TEOwoK-CMes", @@ -1033,7 +1004,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "JgI6z6aQhEA", @@ -1066,7 +1036,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "1FxeCa6kypU", @@ -1103,7 +1072,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "hG6YzmvbosI", @@ -1136,7 +1104,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "y3PKcVd7UtM", @@ -1169,7 +1136,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "UiCRuNo4dGg", @@ -1202,7 +1168,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "3uXHaVENo6E", @@ -1227,7 +1192,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "EX2d37tT5fo", @@ -1260,7 +1224,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "RjQxmy90hTg", @@ -1305,7 +1268,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "IsLFK8TkaVw", @@ -1338,7 +1300,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "myRx1SRqxic", @@ -1371,7 +1332,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "BDuDCIt2eiY", @@ -1408,7 +1368,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Do0lH6GDy7w", @@ -1441,7 +1400,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "g2oZ6FSl9TU", @@ -1474,7 +1432,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "cHc3cXXIydc", @@ -1507,7 +1464,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ITW3C8lIQlk", @@ -1540,7 +1496,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "rKGRuQBnatM", @@ -1573,7 +1528,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "JstDN42iDDo", @@ -1610,7 +1564,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "POcbY0NTG9w", @@ -1643,7 +1596,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Jf3JOkPsogI", @@ -1680,7 +1632,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "lKLGceNzFAM", @@ -1713,7 +1664,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "XNupKC5A6jc", @@ -1746,7 +1696,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "BDWxBtjUyWQ", @@ -1779,7 +1728,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "7LZIEUxH9Ro", @@ -1812,7 +1760,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "5K9y2WGUl0E", @@ -1845,7 +1792,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "UzuQCBPpZ7U", @@ -1882,7 +1828,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "SU20Ah4PE48", @@ -1915,7 +1860,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "3RI2LsrZ9OE", @@ -1948,7 +1892,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "2KoWN3sAFms", @@ -1981,7 +1924,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "EcHhTnHOzAk", @@ -2014,7 +1956,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "NjjMprtE004", @@ -2047,7 +1988,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "gk5sKJ4PgPU", @@ -2080,7 +2020,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "K81Cfizqe9A", @@ -2113,7 +2052,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "bM7QN9S0Dno", @@ -2146,7 +2084,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "07O7i2BzqUM", @@ -2179,7 +2116,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "m2mJGmMtBfA", @@ -2212,7 +2148,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "0gTcGawN9xk", @@ -2245,7 +2180,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "_tbHFWpYFbA", @@ -2278,7 +2212,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "X2rGbIe14Ys", @@ -2311,7 +2244,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "HIVVqNy5w_g", @@ -2348,7 +2280,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "cJH0qBxeBmI", @@ -2373,7 +2304,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "a0C_z75ES4A", @@ -2406,7 +2336,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "jJQAZKK5_5I", @@ -2439,7 +2368,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "FcBaTjGk5Cg", @@ -2472,7 +2400,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "vwNNfKpGw00", @@ -2505,7 +2432,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "UKwFZI9zHlY", @@ -2538,7 +2464,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "x62rX6BYeYE", @@ -2571,7 +2496,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "9BXn7ZNc35Q", @@ -2608,7 +2532,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "QKYN0pLq1ew", @@ -2641,7 +2564,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "P5Aq3oxynt4", @@ -2674,7 +2596,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "tYbZqVBulkU", @@ -2707,7 +2628,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "KUpIwlt3TAA", @@ -2740,7 +2660,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "nlkNJ4oavoQ", @@ -2773,7 +2692,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "pduHLli6NnA", @@ -2798,7 +2716,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "rbNpTesNEuw", @@ -2831,7 +2748,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ecMLL1XKbQA", @@ -2864,7 +2780,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "OvfD_geCvkI", @@ -2897,7 +2812,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Qg9ea0wi_18", @@ -2930,7 +2844,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "z5bVgD6KjQU", @@ -2967,7 +2880,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "UqiemFNeprQ", @@ -3000,7 +2912,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "1yAcDPQ7bPs", @@ -3025,7 +2936,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "xbHdNkV1Bgg", @@ -3062,7 +2972,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "AjGbzsAH2dI", @@ -3099,7 +3008,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "29OvRKJlOX4", @@ -3132,7 +3040,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "JVUypCxmfQA", @@ -3165,7 +3072,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "KWIfPu8860w", @@ -3198,7 +3104,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "x1DGqCmCeaE", @@ -3231,7 +3136,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Of5EmGLKEn4", @@ -3256,7 +3160,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "T9_p5vicleo", @@ -3289,7 +3192,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "R_X1K3arztQ", @@ -3322,7 +3224,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "VTFALCPPUN4", @@ -3355,7 +3256,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), ], ctoken: Some("4qmFsgJbEi1WTFJEQ0xBSzV1eV9rYjdFQmk2eTNHcnRKcmk0X1pINTZNczc4NkRGRWltYk0aKmVoVlFWRHBGWjNSWFZrVmFRbFJGVGxGVlJsWlBUa0dTQVFNSXVnUSUzRA%3D%3D"), diff --git a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_20241125_facepile.snap b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_20241125_facepile.snap index 5646999..68e8b5d 100644 --- a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_20241125_facepile.snap +++ b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_20241125_facepile.snap @@ -59,7 +59,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "RPGLMuxkLCs", @@ -84,7 +83,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "z-ALpnnQLrk", @@ -109,7 +107,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "_rrbTTv8zcQ", @@ -134,7 +131,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "JE16OKTawLw", @@ -159,7 +155,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "RQNY0Wzm7DQ", @@ -184,7 +179,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "uhy24PKBkd0", @@ -209,7 +203,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "OL1hQadBHfs", @@ -234,7 +227,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "Zge_SUfk0r8", @@ -259,7 +251,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "yFGIeU_IDE4", @@ -284,7 +275,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "P6MVqfQzPIg", @@ -309,7 +299,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "9n0pLDn8Z_I", @@ -334,7 +323,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "oXbx2YtIkeQ", @@ -359,7 +347,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "pfBBTTwxo8Q", @@ -384,7 +371,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "WxtRqzxSAh0", @@ -409,7 +395,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "ianUckvxtLw", @@ -434,7 +419,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "eb2Ghj1g1ic", @@ -459,7 +443,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "8TpEsyVtCog", @@ -484,7 +467,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "KD_WAei4LMg", @@ -509,7 +491,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "qfpOCrtweKk", @@ -534,7 +515,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "6gv3nrOA_bQ", @@ -559,7 +539,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "waaic6UnkU8", @@ -584,7 +563,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "lSy4MLC_uV4", @@ -609,7 +587,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "BuN8-U_quok", @@ -634,7 +611,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "g_UTG10nzaQ", @@ -659,7 +635,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "kNykFWaDbGw", @@ -684,7 +659,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "gJF7vxCYTgY", @@ -709,7 +683,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "CodZMQ_Anc0", @@ -734,7 +707,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "oKHMTKJdZ_M", @@ -759,7 +731,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "--O_Eyok_eE", @@ -784,7 +755,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "2bT3ljKMSo8", @@ -809,7 +779,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "YRAX_slrbsI", @@ -834,7 +803,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "aRRbCEwUSuw", @@ -859,7 +827,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "5sV8SzTbJS8", @@ -884,7 +851,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "ZxxZlU2o1TE", @@ -909,7 +875,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "gIjo5at4AxE", @@ -934,7 +899,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "NSGk7-kyeEU", @@ -959,7 +923,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "cgJtZ7Otc4Y", @@ -984,7 +947,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "l5LQu3Q0nWY", @@ -1009,7 +971,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "YX4Z3ZlWUFc", @@ -1034,7 +995,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "LoyvqR41lKw", @@ -1059,7 +1019,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "HbQtMZbtx_Q", @@ -1084,7 +1043,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "0DHRbP9ecgw", @@ -1109,7 +1067,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "rFOFkvk-xus", @@ -1134,7 +1091,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "P8zxnSihJ_8", @@ -1159,7 +1115,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "RWgeHl9XkCY", @@ -1184,7 +1139,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "I1n539enNNY", @@ -1209,7 +1163,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "70VKekyZz5g", @@ -1234,7 +1187,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "2OWJ1bwFu6Y", @@ -1259,7 +1211,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "zLiSA2i-niw", @@ -1284,7 +1235,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "wyXlw7nMpko", @@ -1309,7 +1259,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "NrU4fhzvFpA", @@ -1334,7 +1283,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "1xhKegaA1hQ", @@ -1359,7 +1307,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "9F4lZ8psBtg", @@ -1384,7 +1331,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "G3uUtejX9to", @@ -1409,7 +1355,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "-0Xn5pViCss", @@ -1434,7 +1379,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "a7u71Fco99I", @@ -1459,7 +1403,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "H6uUbvcgKdk", @@ -1484,7 +1427,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "tPRTCauHtkw", @@ -1509,7 +1451,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "pMKAQExcarM", @@ -1534,7 +1475,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "7E-z-7KCdBI", @@ -1559,7 +1499,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "EPtbC0ZVddo", @@ -1584,7 +1523,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "TpPHng0eGJs", @@ -1609,7 +1547,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "rt2QFQwJYcs", @@ -1634,7 +1571,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "WPyfaztFDQ4", @@ -1659,7 +1595,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "5lmumP0DaUw", @@ -1684,7 +1619,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), ], ctoken: None, diff --git a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_long.snap b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_long.snap index 77ffab3..0c6184d 100644 --- a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_long.snap +++ b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_long.snap @@ -59,7 +59,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "8rRj5ZXRNko", @@ -84,7 +83,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "lHZtcC67yrY", @@ -109,7 +107,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "TSkVVVBS9k8", @@ -134,7 +131,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "lc-cnCRhE7c", @@ -159,7 +155,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "3ryohiCVq3M", @@ -184,7 +179,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "BNHamTwxJ6Q", @@ -213,7 +207,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "5mqelmYUcI0", @@ -238,7 +231,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "k9EYjn5f_nE", @@ -263,7 +255,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "fkMg_X9lHMc", @@ -288,7 +279,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "4wOoLLDXbDY", @@ -313,7 +303,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Z_mf9aCHag8", @@ -338,7 +327,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "cZ58odQo87A", @@ -363,7 +351,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "1il3RFk5Okw", @@ -388,7 +375,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "8WQMBv2deYQ", @@ -413,7 +399,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "vGrfFzagzHs", @@ -438,7 +423,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "1gDbpWC_9pE", @@ -463,7 +447,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "p-AWcCCbBHw", @@ -488,7 +471,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "RPN88D_HjMU", @@ -517,7 +499,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "5PST7Ld4wWU", @@ -542,7 +523,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "opoDBF_b-fg", @@ -567,7 +547,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "AMT9IOyXmBM", @@ -592,7 +571,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "VP5B1UmgHfc", @@ -617,7 +595,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "vcuQpbs0yT0", @@ -642,7 +619,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "LeMLVEJLruQ", @@ -667,7 +643,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "MtDPKJSsBgc", @@ -692,7 +667,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "4tDpYxNYqPg", @@ -717,7 +691,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "EkWjaoH7k6w", @@ -742,7 +715,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "tERRFWuYG48", @@ -767,7 +739,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "wCcJuN47UcY", @@ -792,7 +763,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "qdtLCfEcPL4", @@ -817,7 +787,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "wjXUBG15eZ8", @@ -842,7 +811,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "HBjDZMJUduo", @@ -867,7 +835,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "xkXQQ0IAbk0", @@ -892,7 +859,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "DraA3PUuoQc", @@ -917,7 +883,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "wMIGQp4YhuU", @@ -942,7 +907,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "38lrK74voaI", @@ -967,7 +931,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "2qW9rOSFF1M", @@ -996,7 +959,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "tMILH6UEfPA", @@ -1021,7 +983,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "izHB2EdMngg", @@ -1046,7 +1007,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "haECT-SerHk", @@ -1071,7 +1031,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "cVikZ8Oe_XA", @@ -1096,7 +1055,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "drFsXLChrWc", @@ -1121,7 +1079,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "1EMFt7m_8yE", @@ -1146,7 +1103,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "_yWU0lFghxU", @@ -1171,7 +1127,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "XlD-LO3ogFM", @@ -1196,7 +1151,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "nAzjWqNfgvc", @@ -1225,7 +1179,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "PySC3RGhZJU", @@ -1250,7 +1203,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "G-iwLoyH6ZE", @@ -1275,7 +1227,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "fgCOUO-s8nY", @@ -1300,7 +1251,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "m-Ik3yy728Y", @@ -1325,7 +1275,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "U0_UYW5Y4cM", @@ -1350,7 +1299,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "rsrDYTEicq8", @@ -1375,7 +1323,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "2aU4wRgl_0E", @@ -1400,7 +1347,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "FzcJxJAxFtw", @@ -1429,7 +1375,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "2hyibXdOp5w", @@ -1454,7 +1399,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "YaKG5cUVB30", @@ -1479,7 +1423,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Ahwc-ouFeTQ", @@ -1504,7 +1447,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "SoImFhORKpg", @@ -1529,7 +1471,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "jP4-XrbGt3M", @@ -1554,7 +1495,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Yy2RsG4lnm4", @@ -1579,7 +1519,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "388e_8mu1t4", @@ -1604,7 +1543,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "dHHtPi-j7dQ", @@ -1629,7 +1567,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "d8ERTCVXIUE", @@ -1654,7 +1591,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "vQXn3EzzYY4", @@ -1679,7 +1615,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "zA-BTpC-yvI", @@ -1704,7 +1639,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "rnzIN9H_G10", @@ -1729,7 +1663,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "fcBbT1GTxqM", @@ -1754,7 +1687,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "wCDsm_dt1cI", @@ -1779,7 +1711,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "4j3AOJV1J8I", @@ -1804,7 +1735,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "RtuW08ZIgvg", @@ -1829,7 +1759,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "cbTXqKBIQ40", @@ -1854,7 +1783,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "oSd0Lph4luY", @@ -1879,7 +1807,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "oq0rrYrufYU", @@ -1904,7 +1831,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "0-P_YkS0z8s", @@ -1929,7 +1855,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "4BAKb2p450Q", @@ -1954,7 +1879,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "yqObMM_QzVQ", @@ -1979,7 +1903,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "dlvStoOyEzE", @@ -2004,7 +1927,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "VNttGAaek2U", @@ -2029,7 +1951,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "TxZMfufRJfo", @@ -2054,7 +1975,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "6agT2asF4as", @@ -2079,7 +1999,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "EcW0n83La5A", @@ -2104,7 +2023,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "_b61hg8UlZM", @@ -2129,7 +2047,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "kDMFranvFuQ", @@ -2154,7 +2071,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "1apku0pVDeE", @@ -2179,7 +2095,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "g6JYzOjglBs", @@ -2204,7 +2119,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "GYK-NfOo7b4", @@ -2229,7 +2143,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "omUuR45iU0g", @@ -2254,7 +2167,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "w7BE3inS-NM", @@ -2279,7 +2191,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "FM-5BPMnhm0", @@ -2304,7 +2215,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "MnNZNfixTOw", @@ -2329,7 +2239,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "qe80EeU8cT8", @@ -2354,7 +2263,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "-s2-6KYgqpQ", @@ -2379,7 +2287,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "RSlp874hESE", @@ -2408,7 +2315,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "oTI3tRQ_-3k", @@ -2433,7 +2339,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "_okA84gaEJw", @@ -2458,7 +2363,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "pLHnnJRaP7Q", @@ -2483,7 +2387,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "H2hGrsExuyc", @@ -2508,7 +2411,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "RsZvjqG2lec", @@ -2533,7 +2435,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "qYRCiQ6d35w", @@ -2562,7 +2463,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), ], ctoken: Some("4qmFsgI-EiRWTFBMNWREeDY4MVQ0YlI3WkYxSXVXek92MW9tbFJiRTdQaUoaFmVnWlFWRHBEUjFtU0FRTUl1Z1ElM0Q%3D"), diff --git a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_nomusic.snap b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_nomusic.snap index 30b53f4..2abbf05 100644 --- a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_nomusic.snap +++ b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_nomusic.snap @@ -59,7 +59,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "RPGLMuxkLCs", @@ -84,7 +83,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "z-ALpnnQLrk", @@ -109,7 +107,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "_rrbTTv8zcQ", @@ -134,7 +131,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "JE16OKTawLw", @@ -159,7 +155,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "RQNY0Wzm7DQ", @@ -184,7 +179,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "uhy24PKBkd0", @@ -209,7 +203,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "OL1hQadBHfs", @@ -234,7 +227,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "Zge_SUfk0r8", @@ -259,7 +251,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "yFGIeU_IDE4", @@ -284,7 +275,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "P6MVqfQzPIg", @@ -309,7 +299,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "9n0pLDn8Z_I", @@ -334,7 +323,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "oXbx2YtIkeQ", @@ -359,7 +347,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "pfBBTTwxo8Q", @@ -384,7 +371,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "WxtRqzxSAh0", @@ -409,7 +395,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "ianUckvxtLw", @@ -434,7 +419,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "eb2Ghj1g1ic", @@ -459,7 +443,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "8TpEsyVtCog", @@ -484,7 +467,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "KD_WAei4LMg", @@ -509,7 +491,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "qfpOCrtweKk", @@ -534,7 +515,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "6gv3nrOA_bQ", @@ -559,7 +539,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "waaic6UnkU8", @@ -584,7 +563,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "lSy4MLC_uV4", @@ -609,7 +587,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "BuN8-U_quok", @@ -634,7 +611,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "g_UTG10nzaQ", @@ -659,7 +635,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "kNykFWaDbGw", @@ -684,7 +659,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "gJF7vxCYTgY", @@ -709,7 +683,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "CodZMQ_Anc0", @@ -734,7 +707,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "oKHMTKJdZ_M", @@ -759,7 +731,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "--O_Eyok_eE", @@ -784,7 +755,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "2bT3ljKMSo8", @@ -809,7 +779,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "YRAX_slrbsI", @@ -834,7 +803,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "aRRbCEwUSuw", @@ -859,7 +827,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "5sV8SzTbJS8", @@ -884,7 +851,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "ZxxZlU2o1TE", @@ -909,7 +875,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "gIjo5at4AxE", @@ -934,7 +899,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "NSGk7-kyeEU", @@ -959,7 +923,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "cgJtZ7Otc4Y", @@ -984,7 +947,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "l5LQu3Q0nWY", @@ -1009,7 +971,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "YX4Z3ZlWUFc", @@ -1034,7 +995,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "LoyvqR41lKw", @@ -1059,7 +1019,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "HbQtMZbtx_Q", @@ -1084,7 +1043,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "0DHRbP9ecgw", @@ -1109,7 +1067,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "rFOFkvk-xus", @@ -1134,7 +1091,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "P8zxnSihJ_8", @@ -1159,7 +1115,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "RWgeHl9XkCY", @@ -1184,7 +1139,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "I1n539enNNY", @@ -1209,7 +1163,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "70VKekyZz5g", @@ -1234,7 +1187,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "2OWJ1bwFu6Y", @@ -1259,7 +1211,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "zLiSA2i-niw", @@ -1284,7 +1235,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "wyXlw7nMpko", @@ -1309,7 +1259,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "NrU4fhzvFpA", @@ -1334,7 +1283,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "1xhKegaA1hQ", @@ -1359,7 +1307,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "9F4lZ8psBtg", @@ -1384,7 +1331,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "G3uUtejX9to", @@ -1409,7 +1355,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "-0Xn5pViCss", @@ -1434,7 +1379,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "a7u71Fco99I", @@ -1459,7 +1403,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "H6uUbvcgKdk", @@ -1484,7 +1427,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "tPRTCauHtkw", @@ -1509,7 +1451,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "pMKAQExcarM", @@ -1534,7 +1475,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "7E-z-7KCdBI", @@ -1559,7 +1499,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "EPtbC0ZVddo", @@ -1584,7 +1523,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "TpPHng0eGJs", @@ -1609,7 +1547,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "rt2QFQwJYcs", @@ -1634,7 +1571,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "WPyfaztFDQ4", @@ -1659,7 +1595,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "5lmumP0DaUw", @@ -1684,7 +1619,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), ], ctoken: None, diff --git a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_short.snap b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_short.snap index 14a7a71..7f4f115 100644 --- a/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_short.snap +++ b/src/client/snapshots/rustypipe__client__music_playlist__tests__map_music_playlist_short.snap @@ -61,7 +61,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "nBZlrbrBO1I", @@ -86,7 +85,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "AcTDlsUej2w", @@ -111,7 +109,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "k6ZoE4RrcDs", @@ -136,7 +133,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "2n5GKLdrTfk", @@ -161,7 +157,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "psuRGfAaju4", @@ -186,7 +181,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "_JGGLJMpVks", @@ -211,7 +205,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "1YUBbF24H44", @@ -236,7 +229,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "E0WRQpjckYg", @@ -261,7 +253,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "mqiH0ZSkM9I", @@ -286,7 +277,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "UAWcs5H-qgQ", @@ -311,7 +301,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "bqO3Y5e4Dow", @@ -336,7 +325,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ouEezpuPc3A", @@ -361,7 +349,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "i-qT5n_5Mys", @@ -386,7 +373,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "PMGY8fLwess", @@ -411,7 +397,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "2ebfSItB0oM", @@ -436,7 +421,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "c4BLVznuWnU", @@ -461,7 +445,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "c0wUKCekI34", @@ -486,7 +469,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "vNfgVjZF8_4", @@ -511,7 +493,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "XPpTgCho5ZA", @@ -536,7 +517,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "-oqAU5VxFWs", @@ -561,7 +541,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "CA1VHbdq5hY", @@ -586,7 +565,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "aNzCDt2eidg", @@ -611,7 +589,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "A48hOToMuRE", @@ -636,7 +613,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "qHm9MG9xw1o", @@ -661,7 +637,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "74NhLkjIeMs", @@ -686,7 +661,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "EptPhiK_q0E", @@ -711,7 +685,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "44u7_wQ1s0g", @@ -736,7 +709,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "toOyxylnNkI", @@ -761,7 +733,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ljXSjIph5ZM", @@ -786,7 +757,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "DJFMRLIe-0o", @@ -815,7 +785,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "goqqohUitmw", @@ -840,7 +809,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "_LwX7GCE5rI", @@ -865,7 +833,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "7KHPC-kEQOA", @@ -894,7 +861,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "26PAgklYYvo", @@ -919,7 +885,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "bO3S8CKafbE", @@ -944,7 +909,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "tMsbeyeTtpk", @@ -969,7 +933,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "fvXn3rmhdc4", @@ -994,7 +957,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "2p4n7JgdCsc", @@ -1019,7 +981,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "HtNS1afUOnE", @@ -1044,7 +1005,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ufbDvPaVrzs", @@ -1069,7 +1029,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "H1_icnjg6MY", @@ -1094,7 +1053,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "7Lna4Hu4-AQ", @@ -1123,7 +1081,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "K9qu2QMBguw", @@ -1156,7 +1113,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "uWeqeQkjLto", @@ -1181,7 +1137,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "X_ZOGHUWwqE", @@ -1206,7 +1161,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "mHeK0Cwr9sg", @@ -1231,7 +1185,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "0Bf3CJZ4hvg", @@ -1256,7 +1209,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "7TCncxWNcPU", @@ -1281,7 +1233,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "PxNYvk_0Onw", @@ -1306,7 +1257,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "WLoWBe9BRP4", @@ -1331,7 +1281,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "1XYLKoEETVA", @@ -1356,7 +1305,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Ghl_vkEV3tc", @@ -1381,7 +1329,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "5qHRMFQ0pLg", @@ -1406,7 +1353,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "X-vispdELDo", @@ -1431,7 +1377,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "il_L6c_fOvs", @@ -1456,7 +1401,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "hCjcgoubkPM", @@ -1481,7 +1425,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "nwXlRq_QyTI", @@ -1506,7 +1449,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ZdsER1S3t8k", @@ -1535,7 +1477,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "fyrsExw_LUg", @@ -1560,7 +1501,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "BS4t017LSoA", @@ -1593,7 +1533,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "0AYzzzBaPBI", @@ -1618,7 +1557,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "zM0K3LC7Aak", @@ -1643,7 +1581,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "1le0xDbrVj8", @@ -1668,7 +1605,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "RdFaKz71-5M", @@ -1693,7 +1629,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "d6hUByfuhM4", @@ -1718,7 +1653,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "-uxeu0MbNR0", @@ -1743,7 +1677,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "35VK8yonvsc", @@ -1768,7 +1701,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ELD3aRzbVQg", @@ -1793,7 +1725,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "BD7HwXv18aU", @@ -1818,7 +1749,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "WJJLfUwIVR4", @@ -1843,7 +1773,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "NjW1S0WIiJw", @@ -1868,7 +1797,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "-4szr0EMrgk", @@ -1893,7 +1821,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "88NWeOGrxys", @@ -1926,7 +1853,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "BxqtS-7GxFM", @@ -1951,7 +1877,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "KUKt_LbaBnM", @@ -1976,7 +1901,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "bhL7A8k6kU8", @@ -2001,7 +1925,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "mUN36hFtazE", @@ -2026,7 +1949,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "dcBZP_pt0uY", @@ -2051,7 +1973,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "m342B1Vv3tM", @@ -2076,7 +1997,6 @@ MusicPlaylist( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "N_5RiRBvPSk", @@ -2109,7 +2029,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Q5kH0wg_sKo", @@ -2142,7 +2061,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "j9zlc5zufl8", @@ -2175,7 +2093,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ufxjiU7BgR4", @@ -2208,7 +2125,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "7OfB_8rrtug", @@ -2241,7 +2157,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "UqmvAc81XuM", @@ -2274,7 +2189,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "QDULTFB8gSY", @@ -2307,7 +2221,6 @@ MusicPlaylist( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), ], ctoken: None, diff --git a/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_main_artist.snap b/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_main_artist.snap index 9824ee8..05732a9 100644 --- a/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_main_artist.snap +++ b/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_main_artist.snap @@ -54,7 +54,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "aZ1hziFhj1o", @@ -87,7 +86,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, )), Album(AlbumItem( id: "MPREb_l2IU1O3l6QK", @@ -156,7 +154,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "65Q7EdWnjqM", @@ -189,7 +186,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "EL72UcDZLSk", @@ -222,7 +218,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "b1kbLwvqugk", @@ -247,7 +242,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "3tmd-ClpJxA", @@ -272,7 +266,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "FuXNumBwDOM", @@ -297,7 +290,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, )), Album(AlbumItem( id: "MPREb_BiCQyyofUtj", diff --git a/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_main_default.snap b/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_main_default.snap index 8aa60c8..ae29e6a 100644 --- a/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_main_default.snap +++ b/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_main_default.snap @@ -29,7 +29,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "NU611fxGyPU", @@ -54,7 +53,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "Yi2nsnpw5h0", @@ -79,7 +77,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "2Qefh0W_H88", @@ -104,7 +101,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "BL-aIpCLWnU", @@ -137,7 +133,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "PpKu3UsHYrk", @@ -170,7 +165,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "jynOfK8JB0E", @@ -203,7 +197,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "pgjQkcYD-rQ", @@ -228,7 +221,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "w2GXdb-pHo8", @@ -253,7 +245,6 @@ MusicSearchResult( track_type: episode, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "JepNreB58TA", @@ -278,7 +269,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, )), Album(AlbumItem( id: "MPREb_rR0VQ4fTxPM", @@ -626,7 +616,6 @@ MusicSearchResult( track_type: episode, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "GE0UAdxPTc0", @@ -651,7 +640,6 @@ MusicSearchResult( track_type: episode, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "4gi9y3sTrXE", @@ -676,7 +664,6 @@ MusicSearchResult( track_type: episode, track_nr: None, by_va: false, - unavailable: false, )), User(UserItem( id: "UCOeTBeQwhOSvNcaZhxM1PUg", diff --git a/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_main_live.snap b/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_main_live.snap index ff12ea6..b0f605b 100644 --- a/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_main_live.snap +++ b/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_main_live.snap @@ -67,7 +67,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "Yx-sGL0xX-U", @@ -100,7 +99,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "HzdD8kbDzZA", @@ -133,7 +131,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "Zh7Un8gVFak", @@ -158,7 +155,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "BMnD36Abw_0", @@ -183,7 +179,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, )), Album(AlbumItem( id: "MPREb_UQFAF6UM4DN", @@ -616,7 +611,6 @@ MusicSearchResult( track_type: episode, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "MiVivWh7zrA", @@ -641,7 +635,6 @@ MusicSearchResult( track_type: episode, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "7-hMhhUO8b8", @@ -666,7 +659,6 @@ MusicSearchResult( track_type: episode, track_nr: None, by_va: false, - unavailable: false, )), User(UserItem( id: "UCdQrWgvHD9f-caMSn3SS-WQ", diff --git a/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_main_radio.snap b/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_main_radio.snap index d08f976..c399053 100644 --- a/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_main_radio.snap +++ b/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_main_radio.snap @@ -37,7 +37,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "VHLPvrlclmQ", @@ -70,7 +69,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "R9TPed_ohKM", @@ -103,7 +101,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "Ej1nxBxFSKc", @@ -128,7 +125,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "26OrUhkRa3c", @@ -153,7 +149,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "Idk-oFqn3kM", @@ -178,7 +173,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, )), Album(AlbumItem( id: "MPREb_CYbQPbuAWrt", diff --git a/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_main_typo.snap b/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_main_typo.snap index 708bfcf..2128d16 100644 --- a/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_main_typo.snap +++ b/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_main_typo.snap @@ -73,7 +73,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "pt0YvfnhGgI", @@ -106,7 +105,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "0yPnvetCm-U", @@ -139,7 +137,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "3ryohiCVq3M", @@ -164,7 +161,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "6Bt1KeMNqvc", @@ -189,7 +185,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, )), Track(TrackItem( id: "5YQRHUItXTI", @@ -214,7 +209,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, )), Album(AlbumItem( id: "MPREb_V5f8YfHKp2j", diff --git a/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_suggestion_default.snap b/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_suggestion_default.snap index 9846487..e7e40c0 100644 --- a/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_suggestion_default.snap +++ b/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_suggestion_default.snap @@ -75,7 +75,6 @@ MusicSearchSuggestion( track_type: track, track_nr: None, by_va: false, - unavailable: false, )), ], ) diff --git a/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_tracks_default.snap b/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_tracks_default.snap index c47ba13..1a7fbc3 100644 --- a/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_tracks_default.snap +++ b/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_tracks_default.snap @@ -37,7 +37,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "cATe8Toht70", @@ -74,7 +73,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "0I1UpXSYdOQ", @@ -107,7 +105,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "9G2tG8V5_PY", @@ -140,7 +137,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "WwNKyoizf8k", @@ -173,7 +169,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "kS1o36LXQkc", @@ -206,7 +201,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "UQQ6L1j6mXE", @@ -239,7 +233,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "9l9dCro-7l8", @@ -272,7 +265,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "S_PRpDtgUfI", @@ -305,7 +297,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Xt_ReZc0gnw", @@ -338,7 +329,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "diN3WCxpqis", @@ -371,7 +361,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "9q3FfH_57Rc", @@ -404,7 +393,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "U29V08A9yBs", @@ -441,7 +429,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "HHEKbGlLoEM", @@ -474,7 +461,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "qE_dGvQG1rU", @@ -507,7 +493,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "1tyPs3ccT7E", @@ -544,7 +529,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "6pSmQ-MHKbg", @@ -577,7 +561,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "rNsISA-kWzM", @@ -610,7 +593,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "AdvPpJVvyEg", @@ -643,7 +625,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "7q7o-kjIKpo", @@ -676,7 +657,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), ], ctoken: Some("EqQDEgtibGFjayBtYW1iYRqUA0VnV0tBUUlJQVVnVWFnd1FBeEFFRUFrUURoQUtFQVdDQVF0Q1RDMWhTWEJEVEZkdVZZSUJDMk5CVkdVNFZHOW9kRGN3Z2dFTE1Fa3hWWEJZVTFsa1QxR0NBUXM1UnpKMFJ6aFdOVjlRV1lJQkMxZDNUa3Q1YjJsNlpqaHJnZ0VMYTFNeGJ6TTJURmhSYTJPQ0FRdFZVVkUyVERGcU5tMVlSWUlCQ3psc09XUkRjbTh0TjJ3NGdnRUxVMTlRVW5CRWRHZFZaa21DQVF0WWRGOVNaVnBqTUdkdWQ0SUJDMlJwVGpOWFEzaHdjV2x6Z2dFTE9YRXpSbVpJWHpVM1VtT0NBUXRWTWpsV01EaEJPWGxDYzRJQkMwaElSVXRpUjJ4TWIwVk5nZ0VMY1VWZlpFZDJVVWN4Y2xXQ0FRdEVXak14Y0hoNVdXaFNhNElCQ3pad1UyMVJMVTFJUzJKbmdnRUxjazV6U1ZOQkxXdFhlazJDQVF0QlpIWlFjRXBXZG5sRlo0SUJDemR4TjI4dGEycEpTM0J2GPHq0C4%3D"), diff --git a/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_tracks_no_artist_link.snap b/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_tracks_no_artist_link.snap index 25fd51f..89e49d0 100644 --- a/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_tracks_no_artist_link.snap +++ b/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_tracks_no_artist_link.snap @@ -41,7 +41,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "OJ5ZittaTCk", @@ -74,7 +73,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "H199HKaUk3g", @@ -107,7 +105,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "UlNOkZEcSjQ", @@ -140,7 +137,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "L61sF-655Zw", @@ -173,7 +169,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "bOK90e8P3k0", @@ -206,7 +201,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "oRHLx2mc2zY", @@ -247,7 +241,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), ], ctoken: None, diff --git a/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_tracks_typo.snap b/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_tracks_typo.snap index f5dc29e..b66f30c 100644 --- a/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_tracks_typo.snap +++ b/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_tracks_typo.snap @@ -37,7 +37,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "pt0YvfnhGgI", @@ -70,7 +69,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "VinJmH-uidY", @@ -103,7 +101,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "YmSmymHRnEE", @@ -136,7 +133,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "TgfIbiHCOLo", @@ -169,7 +165,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "lCi6N_uq3vE", @@ -202,7 +197,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "QIjqe2B3RdQ", @@ -235,7 +229,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "q2pUotlXPeM", @@ -268,7 +261,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "0yPnvetCm-U", @@ -301,7 +293,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "EU5Vly60VGU", @@ -334,7 +325,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "UnxQ0TI4IMs", @@ -367,7 +357,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ufpny1KxwcU", @@ -400,7 +389,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "duzWgZFJNwA", @@ -433,7 +421,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "rnXq-1n0lt0", @@ -466,7 +453,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "vHkqdC6-rOI", @@ -499,7 +485,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "nTlceSET_b8", @@ -532,7 +517,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "D8GhmRiIfxI", @@ -565,7 +549,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "01CS-jTaY1U", @@ -598,7 +581,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "2sKkKKKXO28", @@ -631,7 +613,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "czlgl6n9voM", @@ -664,7 +645,6 @@ MusicSearchResult( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), ], ctoken: Some("EqcDEg5saWJsaW5nc21lbnNjaBqUA0VnV0tBUUlJQVVnVWFnd1FBeEFFRUFrUURoQUtFQVdDQVFzMk5EZzFVR2hQZEVoNldZSUJDM0IwTUZsMlptNW9SMmRKZ2dFTFZtbHVTbTFJTFhWcFpGbUNBUXRaYlZOdGVXMUlVbTVGUllJQkMxUm5aa2xpYVVoRFQweHZnZ0VMYkVOcE5rNWZkWEV6ZGtXQ0FRdFJTV3B4WlRKQ00xSmtVWUlCQzNFeWNGVnZkR3hZVUdWTmdnRUxNSGxRYm5abGRFTnRMVldDQVF0RlZUVldiSGsyTUZaSFZZSUJDMVZ1ZUZFd1ZFazBTVTF6Z2dFTGRXWndibmt4UzNoM1kxV0NBUXRrZFhwWFoxcEdTazUzUVlJQkMzSnVXSEV0TVc0d2JIUXdnZ0VMZGtocmNXUkROaTF5VDBtQ0FRdHVWR3hqWlZORlZGOWlPSUlCQzBRNFIyaHRVbWxKWm5oSmdnRUxNREZEVXkxcVZHRlpNVldDQVFzeWMwdHJTMHRMV0U4eU9JSUJDMk42Ykdkc05tNDVkbTlOGPHq0C4%3D"), diff --git a/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_tracks_videos.snap b/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_tracks_videos.snap index 9298f11..0bd76fe 100644 --- a/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_tracks_videos.snap +++ b/src/client/snapshots/rustypipe__client__music_search__tests__map_music_search_tracks_videos.snap @@ -29,7 +29,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "vbl9KrZxOF8", @@ -54,7 +53,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "eMfROJt0a7Q", @@ -79,7 +77,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "1ktLEhfkBCI", @@ -104,7 +101,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "2hAlp3Khsnk", @@ -129,7 +125,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "CHixjhwY0ek", @@ -154,7 +149,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "8YXKgZ393Ec", @@ -179,7 +173,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "KFNznAXnjXc", @@ -204,7 +197,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "hDhJeJZmTDA", @@ -229,7 +221,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "6kKSDXiip_8", @@ -254,7 +245,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "vfzlr70ogaI", @@ -279,7 +269,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Fjth6cKGI88", @@ -304,7 +293,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "fznwvW9Kn4s", @@ -329,7 +317,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Jore0zZW-_M", @@ -354,7 +341,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "_THM-2Ph-6I", @@ -379,7 +365,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "koJAGIUlnD0", @@ -404,7 +389,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "4tvQPrHcR4w", @@ -429,7 +413,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "CUh6MTvB_4E", @@ -454,7 +437,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "4TWR90KJl84", @@ -479,7 +461,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Cw7eMibV-Xk", @@ -504,7 +485,6 @@ MusicSearchResult( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), ], ctoken: Some("EqQDEgtibGFjayBtYW1iYRqUA0VnV0tBUUlRQVVnVWFnd1FBeEFFRUFrUURoQUtFQVdDQVF0YVpXVnljbTUxVEdrMVJZSUJDM1ppYkRsTGNscDRUMFk0Z2dFTFpVMW1VazlLZERCaE4xR0NBUXN4YTNSTVJXaG1hMEpEU1lJQkN6Sm9RV3h3TTB0b2MyNXJnZ0VMUTBocGVHcG9kMWt3Wld1Q0FRczRXVmhMWjFvek9UTkZZNElCQzB0R1RucHVRVmh1YWxoamdnRUxhRVJvU21WS1dtMVVSRUdDQVFzMmEwdFRSRmhwYVhCZk9JSUJDM1ptZW14eU56QnZaMkZKZ2dFTFJtcDBhRFpqUzBkSk9EaUNBUXRtZW01M2RsYzVTMjQwYzRJQkMwcHZjbVV3ZWxwWExWOU5nZ0VMWDFSSVRTMHlVR2d0TmttQ0FRdHJiMHBCUjBsVmJHNUVNSUlCQ3pSMGRsRlFja2hqVWpSM2dnRUxRMVZvTmsxVWRrSmZORVdDQVFzMFZGZFNPVEJMU213NE5JSUJDME4zTjJWTmFXSldMVmhyGPHq0C4%3D"), diff --git a/src/client/snapshots/rustypipe__client__pagination__tests__map_playlist_tracks.snap b/src/client/snapshots/rustypipe__client__pagination__tests__map_playlist_tracks.snap index d005c8a..1c3a627 100644 --- a/src/client/snapshots/rustypipe__client__pagination__tests__map_playlist_tracks.snap +++ b/src/client/snapshots/rustypipe__client__pagination__tests__map_playlist_tracks.snap @@ -28,7 +28,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "f9g6NCHQrcE", @@ -57,7 +56,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "CAVfEwrwT_o", @@ -86,7 +84,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "VUr9JZQ8F2g", @@ -111,7 +108,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "XQat6rNNbdQ", @@ -136,7 +132,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "EQyU6fGDn0c", @@ -161,7 +156,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "g4poKgQZX6w", @@ -186,7 +180,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "YTHr7gxwYUQ", @@ -211,7 +204,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "MfCSDn6q6j4", @@ -236,7 +228,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "gx9KFXb5x_o", @@ -261,7 +252,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "d7R7DQ5tlQo", @@ -286,7 +276,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "cZPjgcqHSa8", @@ -311,7 +300,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ogDLdREonWY", @@ -336,7 +324,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "pRQpKprUUPY", @@ -361,7 +348,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "qZoQw9b4uCo", @@ -386,7 +372,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "q23qghoF6Nk", @@ -411,7 +396,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "yU0aKa7PFBg", @@ -436,7 +420,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "DVCAqvypaCc", @@ -461,7 +444,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "XdnI7sm6LeQ", @@ -486,7 +468,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "KcOXNSJtFLg", @@ -511,7 +492,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "K0UxHXZwgsg", @@ -536,7 +516,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "eyyNwOSQ3Yg", @@ -561,7 +540,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "1yskotqNuXI", @@ -586,7 +564,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "C03n4AAiL9w", @@ -611,7 +588,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "a2wNRTKRusM", @@ -636,7 +612,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "AIf61iHwWMQ", @@ -661,7 +636,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "BixqbSRjY2Y", @@ -686,7 +660,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Acgy-3d4P6o", @@ -711,7 +684,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "5M_yA9M7yNc", @@ -736,7 +708,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "PjJuezhos3U", @@ -761,7 +732,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "XMutaJI2-kc", @@ -786,7 +756,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Xac6Q7hcZkQ", @@ -811,7 +780,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "JfwjsjBcDoU", @@ -836,7 +804,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "zshiQUV3ohw", @@ -861,7 +828,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "g1eTAt1_VAM", @@ -890,7 +856,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "c3rLrFC8igY", @@ -915,7 +880,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: true, ), TrackItem( id: "1im4DNEYzEM", @@ -944,7 +908,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "8BUxw9ocM2s", @@ -969,7 +932,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "g4cSpnGbHPE", @@ -998,7 +960,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "1Sdj9MiCowQ", @@ -1027,7 +988,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "2DbR35g-0ZY", @@ -1052,7 +1012,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "j09hpp3AxIE", @@ -1077,7 +1036,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "J3GN6JXjV3g", @@ -1102,7 +1060,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "pULl-p02upM", @@ -1127,7 +1084,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "O6By8JeCtQQ", @@ -1152,7 +1108,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "NGn3IYQ7M7E", @@ -1177,7 +1132,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "o43oI5x86dI", @@ -1202,7 +1156,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "7TNqUrINxzs", @@ -1227,7 +1180,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "f3BD5Zm3cp0", @@ -1256,7 +1208,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "sF4yTDp95Eo", @@ -1281,7 +1232,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "1EwLNHg6ejY", @@ -1306,7 +1256,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "-l75qaSDWe8", @@ -1331,7 +1280,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "7h7ntYLLrfQ", @@ -1356,7 +1304,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ApUl3Ops69M", @@ -1381,7 +1328,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "2YcJ8Wightw", @@ -1406,7 +1352,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "W3q8Od5qJio", @@ -1431,7 +1376,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "WPFLAjmWCtk", @@ -1456,7 +1400,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "tC76tIp0kBk", @@ -1481,7 +1424,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "kiMG_JV2gbo", @@ -1506,7 +1448,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "CrYYg_atdtk", @@ -1531,7 +1472,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "XTPGpBBwt1w", @@ -1556,7 +1496,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "uC08L4xxjNM", @@ -1581,7 +1520,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "5fAoV_AAMf0", @@ -1606,7 +1544,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "u5Vz7obL460", @@ -1631,7 +1568,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ZPJlyRv_IGI", @@ -1656,7 +1592,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "s2SLbln-JwE", @@ -1681,7 +1616,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "28xHtRw6pG8", @@ -1706,7 +1640,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "joWoKqUTRvc", @@ -1731,7 +1664,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "XNMFTqhcNrE", @@ -1756,7 +1688,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "v3vPLgJ9FX8", @@ -1785,7 +1716,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "UFXOd179kOA", @@ -1810,7 +1740,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "4xRsDnKgHZc", @@ -1835,7 +1764,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "mE3IjoEqMqY", @@ -1860,7 +1788,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "E7e5vxKerqA", @@ -1885,7 +1812,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "axmZ_5Rx4Go", @@ -1910,7 +1836,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "44Ig6BsOCYA", @@ -1935,7 +1860,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "3iLBFEJjdN0", @@ -1960,7 +1884,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "M-ncq2eHF_k", @@ -1985,7 +1908,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "-AJoJ-ggiKI", @@ -2010,7 +1932,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "cgb-zp9DDHg", @@ -2039,7 +1960,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Q7ZXg3KQLt0", @@ -2064,7 +1984,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ysAEZOwp5rM", @@ -2089,7 +2008,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "m5vfng33SVE", @@ -2114,7 +2032,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "yMfgjVlGbUE", @@ -2139,7 +2056,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "OQIYEPe6DWY", @@ -2164,7 +2080,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "5FS8RIH7BpI", @@ -2189,7 +2104,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "zSRKgFB9piY", @@ -2214,7 +2128,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "e4eHhgwHCME", @@ -2243,7 +2156,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "q3hZvho7jNk", @@ -2268,7 +2180,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "0nWysyj_Z4Y", @@ -2293,7 +2204,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "aGCcLWU0OVo", @@ -2318,7 +2228,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "OQsXLK4MeEA", @@ -2343,7 +2252,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "xm7dxIqOO2M", @@ -2368,7 +2276,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "jlaaByab4Zk", @@ -2397,7 +2304,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "KG9-jSqXz4U", @@ -2422,7 +2328,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "7dISZnwsBSA", @@ -2447,7 +2352,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "F_PPdS-PB14", @@ -2472,7 +2376,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "DMg9idvVY8M", @@ -2497,7 +2400,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "DGEmoSFI94Y", @@ -2522,7 +2424,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "BtZufymxHvE", @@ -2551,7 +2452,6 @@ Paginator( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), ], ctoken: Some("4qmFsgI8EiRWTFBMNWREeDY4MVQ0YlI3WkYxSXVXek92MW9tbFJiRTdQaUoaFGVnZFFWRHBEVGtGQ2tnRURDTG9F"), diff --git a/src/client/snapshots/rustypipe__client__pagination__tests__map_radio_tracks.snap b/src/client/snapshots/rustypipe__client__pagination__tests__map_radio_tracks.snap index ea322b1..2f5c164 100644 --- a/src/client/snapshots/rustypipe__client__pagination__tests__map_radio_tracks.snap +++ b/src/client/snapshots/rustypipe__client__pagination__tests__map_radio_tracks.snap @@ -56,7 +56,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "hh5GKVa8VtM", @@ -109,7 +108,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "RdU3F5vN3_s", @@ -162,7 +160,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "OXWz_x6-dro", @@ -215,7 +212,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ghrlZIMDzbM", @@ -268,7 +264,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "QiziJ40kTz0", @@ -321,7 +316,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "950BdJKBhGo", @@ -374,7 +368,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "tkzYyEp4zB4", @@ -427,7 +420,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ffqliB42Nh4", @@ -480,7 +472,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "vFFT1iAUNDE", @@ -537,7 +528,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "8JXc4idKS_c", @@ -590,7 +580,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "4JJFrjkRxmo", @@ -643,7 +632,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "0EK_M2taRIM", @@ -696,7 +684,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "04tYkKUPPv4", @@ -749,7 +736,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "W0x7GcZkvH4", @@ -802,7 +788,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "INLFlN-PZq4", @@ -855,7 +840,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "GhL8GUjXEfk", @@ -908,7 +892,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "TaZkqPK0sbw", @@ -965,7 +948,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ogKU5EQ0Wn0", @@ -1018,7 +1000,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "g92HIac9ufA", @@ -1071,7 +1052,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "_E6gDU0m_hk", @@ -1124,7 +1104,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "FrEDny55ch8", @@ -1177,7 +1156,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "-uOShlFu1v8", @@ -1230,7 +1208,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "PyyT5tHbOLw", @@ -1283,7 +1260,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), ], ctoken: Some("CBkSSBILUHl5VDV0SGJPTHciEVJEQU1WTTduaWdYUVMxWGIwMg53QUVCOGdFQ2VBRSUzRDgY0AEB-gEQQzcxNUY2RDFGQjIwNEQwQRgKggEVUFQ6RWd0UWVYbFVOWFJJWWs5TWR3"), diff --git a/src/client/snapshots/rustypipe__client__pagination__tests__map_saved_tracks.snap b/src/client/snapshots/rustypipe__client__pagination__tests__map_saved_tracks.snap index f343dca..65aea83 100644 --- a/src/client/snapshots/rustypipe__client__pagination__tests__map_saved_tracks.snap +++ b/src/client/snapshots/rustypipe__client__pagination__tests__map_saved_tracks.snap @@ -36,7 +36,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "0uSu-jHdDd4", @@ -69,7 +68,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "11pkE_azpBQ", @@ -102,7 +100,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "1tJPy7XlfCQ", @@ -135,7 +132,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "2JpUBTLjfPA", @@ -168,7 +164,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "6WiuMIp9B6Y", @@ -201,7 +196,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "8nfNNAlsTTA", @@ -234,7 +228,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "C1U6oXpz4As", @@ -267,7 +260,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "DvKw0jTUN-s", @@ -300,7 +292,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "GDSVX--bsRU", @@ -333,7 +324,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "I-ArzgPbNx8", @@ -366,7 +356,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "OElgvIuT8TY", @@ -399,7 +388,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "RGlOEBJyhrc", @@ -432,7 +420,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "UUCM1WR611g", @@ -465,7 +452,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "WlzrZsEtWbs", @@ -498,7 +484,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "apY7iYoYtD8", @@ -531,7 +516,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "azSEPwrxG2c", @@ -564,7 +548,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "b9FNHTk-tAM", @@ -597,7 +580,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "eAeGr78VYxM", @@ -630,7 +612,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "efCzrXOWM0Q", @@ -663,7 +644,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "fbmHQLiF1qs", @@ -696,7 +676,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "h0qhAXLom-Y", @@ -729,7 +708,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "hTL2vAvAbNM", @@ -762,7 +740,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "hptOG4EVgMs", @@ -795,7 +772,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "iRIlHsC8xL8", @@ -828,7 +804,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), ], ctoken: Some("4qmFsgJcEhRGRW11c2ljX2xpa2VkX3ZpZGVvcxpEQ0JwNkprTkNhMUZIVW05SlEwRkZVVUZvYjBOYVZ6UnBSRUZxWXpsaVF6ZENhRU4yT1ZwdFRVRjNnZ01HS2dRSUFCQUI%3D"), diff --git a/src/client/snapshots/rustypipe__client__pagination__tests__map_search_tracks.snap b/src/client/snapshots/rustypipe__client__pagination__tests__map_search_tracks.snap index 731e3e6..6e7e4ef 100644 --- a/src/client/snapshots/rustypipe__client__pagination__tests__map_search_tracks.snap +++ b/src/client/snapshots/rustypipe__client__pagination__tests__map_search_tracks.snap @@ -36,7 +36,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "vMZqNPZADFw", @@ -69,7 +68,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "C8B-nBnB7Bk", @@ -102,7 +100,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "29MOu6Y781I", @@ -135,7 +132,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "AdvPpJVvyEg", @@ -168,7 +164,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "kv3Z269PQvE", @@ -201,7 +196,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "y74ZqAkFkK4", @@ -234,7 +228,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "ZVnqAUnj-1Y", @@ -267,7 +260,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "REmUidcJt5I", @@ -300,7 +292,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "63sEilefjtQ", @@ -333,7 +324,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "_LGy1K5vmq8", @@ -366,7 +356,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Ak98OIfed8o", @@ -399,7 +388,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "_aSqdZKxcuU", @@ -432,7 +420,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "6Lb4bmEEfnY", @@ -465,7 +452,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "4lrp5FWFIak", @@ -498,7 +484,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "Kk8vT1o_gYE", @@ -539,7 +524,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "FbUrY0GdO88", @@ -572,7 +556,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "OFesVwAdT80", @@ -605,7 +588,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "lNeJjPPKE1g", @@ -638,7 +620,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), TrackItem( id: "SW_woyyA1Bg", @@ -671,7 +652,6 @@ Paginator( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), ], ctoken: Some("EqQDEgtibGFjayBtYW1iYRqUA0VnV0tBUUlJQVVnb2Fnd1FBeEFFRUFrUURoQUtFQVdDQVF0eVRuTkpVMEV0YTFkNlRZSUJDM1pOV25GT1VGcEJSRVozZ2dFTFF6aENMVzVDYmtJM1FtdUNBUXN5T1UxUGRUWlpOemd4U1lJQkMwRmtkbEJ3U2xaMmVVVm5nZ0VMYTNZeldqSTJPVkJSZGtXQ0FRdDVOelJhY1VGclJtdExOSUlCQzFwV2JuRkJWVzVxTFRGWmdnRUxVa1Z0Vldsa1kwcDBOVW1DQVFzMk0zTkZhV3hsWm1wMFVZSUJDMTlNUjNreFN6VjJiWEU0Z2dFTFFXczVPRTlKWm1Wa09HLUNBUXRmWVZOeFpGcExlR04xVllJQkN6Wk1ZalJpYlVWRlptNVpnZ0VMTkd4eWNEVkdWMFpKWVd1Q0FRdExhemgyVkRGdlgyZFpSWUlCQzBaaVZYSlpNRWRrVHpnNGdnRUxUMFpsYzFaM1FXUlVPRENDQVF0c1RtVkthbEJRUzBVeFo0SUJDMU5YWDNkdmVYbEJNVUpuGPHq0C4%3D"), diff --git a/src/client/snapshots/rustypipe__client__playlist__tests__map_playlist_data_20250316_cmdexecutor.snap b/src/client/snapshots/rustypipe__client__playlist__tests__map_playlist_data_20250316_cmdexecutor.snap deleted file mode 100644 index 04f9d2c..0000000 --- a/src/client/snapshots/rustypipe__client__playlist__tests__map_playlist_data_20250316_cmdexecutor.snap +++ /dev/null @@ -1,4146 +0,0 @@ ---- -source: src/client/playlist.rs -expression: map_res.c ---- -Playlist( - id: "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - name: "Best Playlist Ever", - videos: Paginator( - count: Some(178), - items: [ - VideoItem( - id: "dvgZkm1xWPE", - name: "Coldplay - Viva La Vida (Official Video)", - duration: Some(243), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAF6wSFDQWvb39pnjwAKbZqtBo8zw", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBFCw6TDR5kZFRnA-LWrbocaJpkIw", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCa5GcQ_dGJ502O6pc0xONmTLHDtA", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAT-QcZjRo6kpkqpSOTHjVTUjO3tA", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCDPM_n1atn2ijUwHd0NNRQw", - name: "Coldplay", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("16 years ago"), - view_count: Some(964000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "89dGC8de0CA", - name: "Aerosmith - Dream On (Audio)", - duration: Some(269), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/89dGC8de0CA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCmOt0R6jvhtuUevep9_yydAS-K2g", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/89dGC8de0CA/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDgs_EmMC8KHsROcKAWphZ9mIbg_A", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/89dGC8de0CA/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDdZpVdlqFrtNvT46qP7JdV2qS_xg", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/89dGC8de0CA/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBOZcKJ9IfFyi28ANcj5GcmaR20Rg", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCBxdHQVOaZhUOIj_3gt2FYw", - name: "Aerosmith", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(168000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "3ATxLct2jDo", - name: "Lenny Kravitz - The Chamber (Lyric Video)", - duration: Some(298), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/3ATxLct2jDo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCf241ir3ZWZiz00Y2ybY5qVNQpcg", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/3ATxLct2jDo/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCfLQtmh1Mmt3oHFlQwrjROi2Uauw", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/3ATxLct2jDo/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDlGsIg2fF-qkWKzEST8BDE3W8Ung", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/3ATxLct2jDo/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD-Y1_zai7VZoR4q_u1gqFa86qtlw", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCdIs5dRqgZ1IWOdLZimHL_w", - name: "Lenny Kravitz", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("10 years ago"), - view_count: Some(9600000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "iX-QaNzd-0Y", - name: "Milky Chance - Stolen Dance (Official Video) [HD Version]", - duration: Some(314), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/iX-QaNzd-0Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC5see3pLr032qk6-rO01a3ZhLfQQ", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/iX-QaNzd-0Y/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAsp00oKrv27y4VFJM3C3_xvGYVZQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/iX-QaNzd-0Y/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAIfO7lUol3rspcVVkLp3gdO4Wfcw", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/iX-QaNzd-0Y/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB6ExMLEFyzsV8pFYFI3ZKbIdAcOQ", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCy-ez61m5LdG3FQVr-4Crcw", - name: "Milky Chance Official", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(989000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "6gaEhK2C0tQ", - name: "Cut Copy - Take Me Over", - duration: Some(298), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/6gaEhK2C0tQ/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGEcgZShVMA8=&rs=AOn4CLC0KMWvU_M5lBkSRY9rNlFBx_9_3Q", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/6gaEhK2C0tQ/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGEcgZShVMA8=&rs=AOn4CLC1g2ZhbqfuM8Gm14EmG0DBAHyBzQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/6gaEhK2C0tQ/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhHIGUoVTAP&rs=AOn4CLCFp3bWZfBBlYBCgwgKvg5PSEAuPw", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/6gaEhK2C0tQ/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhHIGUoVTAP&rs=AOn4CLAxXDiDPOQR7-nXNDSxGTr7OaDMRg", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCvueeIpQ6l5BlyzUTWY13eQ", - name: "Cut Copy", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("12 years ago"), - view_count: Some(431000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "yy21fr7z6wY", - name: "Vance Joy - Riptide (Lyric video)", - duration: Some(200), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/yy21fr7z6wY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBFaWd6gj8eNEOrCIrGHOl9aCz3vg", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/yy21fr7z6wY/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCrsCuQ4xQiyrNlRWmAe5HkEesrNg", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/yy21fr7z6wY/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBw2M2Hs_hFSeGd_c5dz2aIyWaIfw", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/yy21fr7z6wY/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBoF_tp0ITQOi7B79RIDznD1NZ7hA", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCZ0kE5a34dmh_sehHxYArDg", - name: "Local Session Manager", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(13000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "E3Cw6-xRHdg", - name: "Haddaway - What Is Love [Full HD Official Music Video]", - duration: Some(237), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/E3Cw6-xRHdg/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgTyhJMA8=&rs=AOn4CLDUW5zYWFEKW8K69uJ5-77Y1-gebg", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/E3Cw6-xRHdg/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgTyhJMA8=&rs=AOn4CLBlidLDBkHrFrbEjhr3usfxETLfOA", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/E3Cw6-xRHdg/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhlIE8oSTAP&rs=AOn4CLBzWtFXB5Gt77VEAsfYlh9-F87i8A", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/E3Cw6-xRHdg/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhlIE8oSTAP&rs=AOn4CLDbMoUzeS0jiR4cP-h35lZocq8Bgw", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCSsQJRhZ5eO7MM_K_g7AS6A", - name: "Kiss András", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("12 years ago"), - view_count: Some(769000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "NUsoVlDFqZg", - name: "Enrique Iglesias - Bailando ft. Descemer Bueno, Gente De Zona", - duration: Some(287), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/NUsoVlDFqZg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB_it4kap2IgxTHmuK4k6HcH2cYrQ", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/NUsoVlDFqZg/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzdGRFlJ9x2cfGvyc--2p551-PNg", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/NUsoVlDFqZg/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDX9s-shgYo1TVzFx99K3kQBrVhAg", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/NUsoVlDFqZg/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBoUMQqcN7M6bX6FQQpbZOMcHUc8A", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC-6czyMkxDi8E8akPl0c7_w", - name: "Enrique Iglesias", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("10 years ago"), - view_count: Some(3600000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "pUjE9H8QlA4", - name: "Mr. Probz - Waves (Robin Schulz Remix Radio Edit)", - duration: Some(231), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/pUjE9H8QlA4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB6LvruwJXddjxT03Kqu5nBKrB7Nw", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/pUjE9H8QlA4/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB-Q_M2fqi4zmt3v7pIvKnqWR4mUQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/pUjE9H8QlA4/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDHU93zInHE7XVYSdsNYgGQv2MtnQ", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/pUjE9H8QlA4/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDO9wWPCLhP98n25yT9jMxChE2-8A", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC6YQf4SyHMZJ1jh5g6efPCg", - name: "Mr. Probz", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(648000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "cpYPPXf63a4", - name: "Daniel Santacruz - Lento - Kizomba (Official Video HD)", - duration: Some(267), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/cpYPPXf63a4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQcHM5ewk6s7ya_AxkQ6ghE8Izpw", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/cpYPPXf63a4/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLClFKn-_WN6qVwgZ_2t5ITQp8TPMQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/cpYPPXf63a4/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBDzGVYkQcMnk2eFcTBL15muVgX3A", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/cpYPPXf63a4/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD9hfCe5nXi4bOIMaVIjeKowWWHow", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCDJk0j9rBf7wuh7KWG70uug", - name: "Daniel Santacruz", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(266000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "G7JLoOKefvQ", - name: "Alejandro Sanz - Não Me Compares ft. Ivete Sangalo (Official Video)", - duration: Some(307), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/G7JLoOKefvQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBoE8KNiEkb6UHG1aLS4obo2LPkQw", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/G7JLoOKefvQ/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDmVuiAGVM1KpQ9hyc6-WXpUBnRTA", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/G7JLoOKefvQ/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCfEWSAu9HA3-VZAkjCQ58UvK7KDg", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/G7JLoOKefvQ/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDSriv5maYtXtV4t_FIgceTyqOIOA", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCV4S6_JoeDq9j6mgbpkmA0Q", - name: "Alejandro Sanz", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("12 years ago"), - view_count: Some(92000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "_rxgp7TJhUE", - name: "Britney Spears - Perfume (Official Video)", - duration: Some(264), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/_rxgp7TJhUE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBGIZuqNCrS6KvtexBWq2Dcb95syw", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/_rxgp7TJhUE/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAjz_-tUpU8js7mwcIBqeMhEkM8Zw", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/_rxgp7TJhUE/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCDG5fI4x8MvOFgJ_y1hCRfwxoRqA", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/_rxgp7TJhUE/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBr3gGhqkXnQ3sidK9zStu4O8R-Cg", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCgffc95YDBlkGrBAJUHUmXQ", - name: "Britney Spears", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(45000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "Bs5-klTyb9o", - name: "John Newman - Losing Sleep (Official Music Video)", - duration: Some(263), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/Bs5-klTyb9o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDbAkbM7bwoPGPHer-jP2X-jW_ByQ", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/Bs5-klTyb9o/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBodv57L6lXFA0y0gTLsWyx7H7VIw", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/Bs5-klTyb9o/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCYvUvyl_d2aWHN6nZ86o3NjZjA2g", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/Bs5-klTyb9o/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA47S7BgWfj3ykO3QLI0bGrnk0oog", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCXtn650vh9Dj7uz8cFac0AQ", - name: "John Newman", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(41000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "My2FRPA3Gf8", - name: "Miley Cyrus - Wrecking Ball (Official Video)", - duration: Some(222), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/My2FRPA3Gf8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAAU5FGE6fEMSyb0zazDsXTQXg1_w", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/My2FRPA3Gf8/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBQguhsJ7nVWvya_1pNJNKUjOOIWQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/My2FRPA3Gf8/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBHwjM3lKojQ2TX8TobYlMijuzeUA", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/My2FRPA3Gf8/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDJxi2IUAaKs8Lz7bMgrTY7O-74qA", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCn7dB9UMTBDjKtEKBy_XISw", - name: "Miley Cyrus", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(1200000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "W1tzURKYFNs", - name: "Miley Cyrus - Adore You (Official Video)", - duration: Some(278), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/W1tzURKYFNs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDF9cdRnk9KlmTvAHqhnSEqLMW0hQ", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/W1tzURKYFNs/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB9_IEjtA0Jkl2lw2kqx2lfCs5R4A", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/W1tzURKYFNs/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLANDNdnKXTcxs__K1VT-YptiXyhZw", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/W1tzURKYFNs/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB9L3Xrcdw4klCiNlTyC0uaQAOHmQ", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCn7dB9UMTBDjKtEKBy_XISw", - name: "Miley Cyrus", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(219000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "tO3n1oSPW58", - name: "Travie McCoy: Rough Water ft. Jason Mraz [OFFICIAL VIDEO]", - duration: Some(218), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/tO3n1oSPW58/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBSuPh1OFOvWL-6-t8VV713BfK87g", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/tO3n1oSPW58/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDmi9vp4oaXbLWhSfESsWOhMZbspA", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/tO3n1oSPW58/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD1j1dmHqsre8ppLgH6fpP9DXFFtA", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/tO3n1oSPW58/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA7D4mwh4_kxUkPZxpleULdA1IAOw", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UClVrJwcIy7saPcGc1nct80A", - name: "Fueled By Ramen", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(7800000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "6daRqd54o9U", - name: "Blind Zero - I See Desire", - duration: Some(244), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/6daRqd54o9U/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC4AOKAgwIABABGGYgZihmMA8=&rs=AOn4CLCfp2TOVksM4-M1Ldryt8IkhwHCOw", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/6daRqd54o9U/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC4AOKAgwIABABGGYgZihmMA8=&rs=AOn4CLCBHBsZ2uzyUUbGBRcEgeGiTdOT7w", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/6daRqd54o9U/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAuADigIMCAAQARhmIGYoZjAP&rs=AOn4CLCrXOiqVqAH651zPdtEN7fcNc8SGA", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/6daRqd54o9U/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAuADigIMCAAQARhmIGYoZjAP&rs=AOn4CLC9lrGMO2KwUkDbuGQ0ZVF-12g7JQ", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCEYG3e7S3WPxrQKt6yOFLGw", - name: "Blind Zero", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("12 years ago"), - view_count: Some(60000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "GmpjYFbvcQQ", - name: "Berg - Tell Me (Audio)", - duration: Some(208), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/GmpjYFbvcQQ/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC4AOKAgwIABABGGUgYChZMA8=&rs=AOn4CLCb6b03B57iGs4HpqNNY7hxNHe4lQ", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/GmpjYFbvcQQ/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC4AOKAgwIABABGGUgYChZMA8=&rs=AOn4CLD0zvVj6alWjydhRz4HEY7Ik-o4Qw", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/GmpjYFbvcQQ/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAuADigIMCAAQARhlIGAoWTAP&rs=AOn4CLCiKBKEjAIgSNgS-79kGZbEyq8Ypw", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/GmpjYFbvcQQ/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAuADigIMCAAQARhlIGAoWTAP&rs=AOn4CLB5K5_OyMCG7kJe3v1T1B_cp-sRoA", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC3AH36Ou3_gO4Ey1SYCIWxA", - name: "Filtr Portugal", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(652000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "EoA1mCqdsVM", - name: "LISBOA - Wendy Nazaré & Pep\'s", - duration: Some(231), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/EoA1mCqdsVM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCoh9T2bHvzcu_upQWPL3mOXMEflw", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/EoA1mCqdsVM/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDZQV5hhB3Lh1wjCFCzxcyBEzn4JQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/EoA1mCqdsVM/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDUNzlo6_euj-nQZ-H1FNFrxAo-dw", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/EoA1mCqdsVM/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD4HEfyjtsX8QM9376hegmgUjWw_w", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCuWkRJW3O20-BXyuzvzvjUw", - name: "wendynazare", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("12 years ago"), - view_count: Some(2400000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "Cj25UpcBDt0", - name: "Faul, Wad Ad, Pnau - Changes (Videoclip)", - duration: Some(205), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/Cj25UpcBDt0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBMJyT7zfC37tN594N0CGY03H0aYg", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/Cj25UpcBDt0/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDpe8UOX6JuyTrQKGyM0a_u0SYqjw", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/Cj25UpcBDt0/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAbACML8uIr9sCp-e9JJ17PRNI9hw", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/Cj25UpcBDt0/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCeSC8bLoDmSXHBp_AnSYUjadDPQA", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCdDwQirXr-a15rk0Tw5uxMw", - name: "FAUL & WAD", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(117000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "W-TE_Ys4iwM", - name: "One Direction - Story of My Life", - duration: Some(248), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/W-TE_Ys4iwM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAYZ4HjprMg0TJQ7fdUNenempmEVQ", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/W-TE_Ys4iwM/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD7ByBPNTImD6c_J3OqiGxG_ajVfg", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/W-TE_Ys4iwM/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCQaCb7H2DkF5szyEM5sI0K9QNWTw", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/W-TE_Ys4iwM/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCpuwRHuaqH514yXPUn_q49LMnF0g", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCb2HGwORFBo94DmRx4oLzow", - name: "One Direction", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(1000000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "T-sxSd1uwoU", - name: "Britney Spears - I Wanna Go (Official Video)", - duration: Some(274), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/T-sxSd1uwoU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB2c2jyFq5JkNhgBSVPVhNKHVrUzA", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/T-sxSd1uwoU/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQa0w3fHuwi6Q2TxrO4v2DDUjTHw", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/T-sxSd1uwoU/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD8NAXWvEmz1V6QJyG3Mqpb4T1nqg", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/T-sxSd1uwoU/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAu_FqgYktDFr9sZyqp3j4hYu4l4g", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCgffc95YDBlkGrBAJUHUmXQ", - name: "Britney Spears", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("13 years ago"), - view_count: Some(290000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "YxIiPLVR6NA", - name: "Avicii - Hey Brother (Lyric)", - duration: Some(259), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/YxIiPLVR6NA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDetnXwumhmam0sGXcYJBoxUfU4qw", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/YxIiPLVR6NA/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBQcMH4N-guweBz4t792r3SrNYTKg", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/YxIiPLVR6NA/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAJpt2_6077rTXoKQwVWIhOk-0zFg", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/YxIiPLVR6NA/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCXf99Kl9zyUUe-6lry7VaSgDpW5g", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCPHjpfnnGklkRBBTd0k6aHg", - name: "Avicii", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(583000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "XC3ahd6Di3M", - name: "U2 - Ordinary Love (From Mandela OST) Lyric Video", - duration: Some(219), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/XC3ahd6Di3M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCU8eyalkOK8mbO7b1qoYsReJWfLw", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/XC3ahd6Di3M/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCUyQCCYvt3Rtnpzfrosz9vs0nFjA", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/XC3ahd6Di3M/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB1zfNcmLHbpMkk2yyGuBQKW9d9lA", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/XC3ahd6Di3M/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAx6LkJ7pv394iXT_7YCRZws45hwA", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC4gPNusMDwx2Xm-YI35AkCA", - name: "U2", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(68000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "vAqPeOUCfyw", - name: "Federico Scavo - Funky Nassau (Official Video Teaser)", - duration: Some(162), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/vAqPeOUCfyw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA8NYx1N1tOXDCr-NR1TpZwQzrqYA", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/vAqPeOUCfyw/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCHNJs40QnBASTFwJCjOjexiaoM4Q", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/vAqPeOUCfyw/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDWfRS4sQpvCcAI44nY75D4kCw8Zw", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/vAqPeOUCfyw/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBblobV6r-4v5IoyIn9yHCi8Fpmhw", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC5eYHWDQqAsiKlnvLCz-ezg", - name: "Energy TV", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(18000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "zVOXmhn-AcA", - name: "George Michael - Amazing", - duration: Some(266), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/zVOXmhn-AcA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDr4v68wFOQT0KoK1SMztpkO9mkzw", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/zVOXmhn-AcA/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAJMh6iownHU6xajR7-r_kAHxmtGA", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/zVOXmhn-AcA/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAlxLcEHcbkjYNnrRmXQOv2Lq6uIA", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/zVOXmhn-AcA/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA9U3N4uglj3CX8L8eFUmHR1aBrfw", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC85sMkq9uDGJDQf8fUo6VBA", - name: "WinterGirl991", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("13 years ago"), - view_count: Some(842000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "450p7goxZqg", - name: "John Legend - All of Me (Official Video)", - duration: Some(308), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/450p7goxZqg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBvlfpDDdkHbnlGlnH25l5Eqh4ofA", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/450p7goxZqg/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB5eBvqkowH7YmqRakDaowPkNUFsw", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/450p7goxZqg/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBqlxGbEnBmZFKfbtYgBa83e4nDtQ", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/450p7goxZqg/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCMPXbqFo3XANmCIDQNxRS2qtmDiQ", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCEa-JnNdYCIFn3HMhjGEWpQ", - name: "John Legend", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(2400000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "-nV1WxvsfTk", - name: "Habibi I love you ( Mon amour, I love you) Ahmed Chawki, Kenza Farah ft Pitbull", - duration: Some(228), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/-nV1WxvsfTk/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGFEgWihlMA8=&rs=AOn4CLBhU3DSdZ_sJUv5bEQR35yjlcXQww", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/-nV1WxvsfTk/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGFEgWihlMA8=&rs=AOn4CLCYNa9RpmkKU6QG9e8HyfXcGJE6RQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/-nV1WxvsfTk/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhRIFooZTAP&rs=AOn4CLDMwkPCb7NUmj-g1aed80ttasgiGQ", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/-nV1WxvsfTk/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhRIFooZTAP&rs=AOn4CLARZUVQxMpkA2y9VViiaVDRlnVC2Q", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCMmD10HZfTh-jrnI6M7duTw", - name: "JOANDCOLABEL", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(21000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "akhmS1D2Ce4", - name: "Lana Del Rey vs Cedric Gervais \'Summertime Sadness\' Remix", - duration: Some(226), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/akhmS1D2Ce4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBOwnviX2uKfqMYRvgXiKsIxl8KrQ", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/akhmS1D2Ce4/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMnrVN0P-042Sc2uoxc5nC4bPzDw", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/akhmS1D2Ce4/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCJyHtoJXHkeTKw-uov5shc9RrOow", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/akhmS1D2Ce4/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC0yrIPDo_utjblcEW4NwPxHNhsjQ", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCpDJl2EmP7Oh90Vylx0dZtA", - name: "Spinnin\' Records", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(178000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "t6hD6r3sIOE", - name: "Don Diablo & Matt Nash - Starlight (Could You Be Mine) (Original)", - duration: Some(344), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/t6hD6r3sIOE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDLShpTYnVnnu6xn1ZcWnbnAq46nw", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/t6hD6r3sIOE/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAWGbkTMfW5lHbREv3YCHg_LkXeeA", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/t6hD6r3sIOE/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBbNoGf0B-5EQgWW8KrH0LP61sbMg", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/t6hD6r3sIOE/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA4-8W0kfUm-C4d95AQ3XkcJckB6A", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC0fpPkYoKHpNtr8P2kWtgdg", - name: "Axtone", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(3900000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "LqAF832WSi0", - name: "The Aston Shuffle - Comfortable (Official Video) ft. Will Heard", - duration: Some(248), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/LqAF832WSi0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYTvDUhLxQSSzkKUvfLYyQcvXXlA", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/LqAF832WSi0/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAAUM3IwOxEYaM0aM0G7KG3nbJURg", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/LqAF832WSi0/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDVIem8Z9gDMbxFXZLyT7cVRd6RfA", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/LqAF832WSi0/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCDKPgWzEbsTAC__dcK4Rfe9_Sgkw", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC3M-u_ZX2TRdEBX8Zax-F2Q", - name: "The Aston Shuffle", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(865000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "i-gyZ35074k", - name: "Zedd - Stay The Night ft. Hayley Williams", - duration: Some(217), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/i-gyZ35074k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBZQ1nDFb8pMur7r6zHJ-h74Z6wPw", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/i-gyZ35074k/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDdxjuMNoXsis-gAg4SxA0XCk8-mQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/i-gyZ35074k/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDYsEe48t_mdibG92Fjk8cdqbpXvA", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/i-gyZ35074k/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLARr3iQdufs-E9sjgYz_fHDB47_gw", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCPNokRZ9hacjIQ3IQL6HNUQ", - name: "Zedd", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(292000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "hN5X4kGhAtU", - name: "Empire Of The Sun - We Are The People (Official Music Video)", - duration: Some(312), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/hN5X4kGhAtU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAVCuZZCbYNGXqsT_mLAyoqCx7dFA", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/hN5X4kGhAtU/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBiEX3UOVDQPYSi4A3El70WElycbQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/hN5X4kGhAtU/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB5N0XKCGgQByN-nVnkyzEACtBdUA", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/hN5X4kGhAtU/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAfDk5d1Q2fLuIIURN-GegpZuFTmA", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCyacMWc-JhzX6iq2PCF-4jw", - name: "Empire Of The Sun", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("14 years ago"), - view_count: Some(150000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "0injWL1Kl98", - name: "Robbie Williams - Beyond the Sea", - duration: Some(264), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/0injWL1Kl98/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC4AOKAgwIABABGGEgZShDMA8=&rs=AOn4CLCdFdX_XwvjeFoM8WibjneZ4EKGsg", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/0injWL1Kl98/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC4AOKAgwIABABGGEgZShDMA8=&rs=AOn4CLBf1bpDXnVwPt4Y7i4Lw4A4V3v2Ng", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/0injWL1Kl98/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAuADigIMCAAQARhhIGUoQzAP&rs=AOn4CLDWw8NDXC_z4y4MMZIWaDu9hgSZ8Q", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/0injWL1Kl98/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAuADigIMCAAQARhhIGUoQzAP&rs=AOn4CLAe-PBxTtkmOGulBqgs5C7Zay5YFA", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCx8HeHB5BRhva9c2g4h0Qmg", - name: "ididseeitcome", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("14 years ago"), - view_count: Some(1700000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "0KiKEB5guoY", - name: "Eros Ramazzotti - Hasta El Éxtasis ft. Nicole Scherzinger", - duration: Some(226), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/0KiKEB5guoY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBcAjaMjCb430KoqXibNw4x2Aae9w", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/0KiKEB5guoY/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDIO30YiTs4ZoNLvfLBzl7kJqX5Bg", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/0KiKEB5guoY/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAqHD21K6bO_TKoVDPHu8H6hDu3qg", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/0KiKEB5guoY/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBrfo6dRz5sJqf1vqsS1OxpfVsChw", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC-6TzsYLnG8R-K-r-rVaaeA", - name: "ErosRamazzotti", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(5800000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "BR_DFMUzX4E", - name: "Armin van Buuren feat. Trevor Guthrie - This Is What It Feels Like (Official Music Video)", - duration: Some(250), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/BR_DFMUzX4E/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBpYen3YJBZVCHxCOiR2eHWEQDZIA", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/BR_DFMUzX4E/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCWwrVSwgbAO0yz1Qx8gg69TyXYhg", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/BR_DFMUzX4E/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBwUCpZjwaKeafxwNABH230FFtEyQ", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/BR_DFMUzX4E/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCsbcNCb_mt2dGtNuJuALlwmLoM8Q", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCGZXYc32ri4D0gSLPf2pZXQ", - name: "Armada Music TV", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(140000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "RsKQOm_iJug", - name: "A LIGHT THAT NEVER COMES (Official Lyric Video) - LINKIN PARK x STEVE AOKI", - duration: Some(238), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/RsKQOm_iJug/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRbUy6H24jiZ4vTBAIZ8_Qf2YIYA", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/RsKQOm_iJug/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBQwmW1_spb2cyFS7UWASybrE9UmQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/RsKQOm_iJug/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAYK_-O06XjcwAuEtcol8cWWgIw3A", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/RsKQOm_iJug/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC9myemrIqhiAXdzFjL0ydrniZ0UA", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCZU9T1ceaOgwfLRq7OKFU4Q", - name: "Linkin Park", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(16000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "yZqmarGShxg", - name: "Calvin Harris & Alesso - Under Control (Official Video) ft. Hurts", - duration: Some(211), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/yZqmarGShxg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAk4ekkgJwCLdeho5NpJ2Iu8miMQA", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/yZqmarGShxg/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD23-BBj6TMY9DsXtgPajGk5RjSUA", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/yZqmarGShxg/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAsUENcuOiy0_L3W0LDcWYcSRRAAw", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/yZqmarGShxg/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDjOKGSWUTCbhMXpY_K9D6A4P7NcQ", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCIjYyZxkFucP_W-tmXg_9Ow", - name: "Calvin Harris", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(305000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "L5GwTfI_PD8", - name: "Fly Project - Toca Toca | Official Music Video", - duration: Some(170), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/L5GwTfI_PD8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC2djC5eb_sUntqpiAaF0QNaHUWrQ", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/L5GwTfI_PD8/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBycNY58Ilnl_JQ4e2IhIMjDj-wvg", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/L5GwTfI_PD8/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBJTXTMdi1nuob4h8TIO4-cU8xD3Q", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/L5GwTfI_PD8/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAgnCTTCwavbAnTAWtzyP0aMuN-vg", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCr5xubfcrZYYBDEOJCdI13A", - name: "Fly Project", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(219000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "JL0q8o-IAc8", - name: "Fly Project - Goodbye | Official Music Video", - duration: Some(190), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/JL0q8o-IAc8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQdDNNH8BpWBVFllkY01ZGRraOqw", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/JL0q8o-IAc8/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnd85hPZQwOEw9XR0WG68i18Wzew", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/JL0q8o-IAc8/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBELNYmIMf7g9upvnSy9Pjcr9VQnQ", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/JL0q8o-IAc8/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBJYY-Q6FIO4WjOkd-9S8ZtxenVBw", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCr5xubfcrZYYBDEOJCdI13A", - name: "Fly Project", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("14 years ago"), - view_count: Some(51000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "wCXc37dJWNA", - name: "Fly Project - Back In My Life | Official Music Video", - duration: Some(204), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/wCXc37dJWNA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLACP6HZfTtHkQoKpDJ_7QSqog8gkQ", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/wCXc37dJWNA/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCRiFgvLnJZYtw8tijFghbNNxC6gQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/wCXc37dJWNA/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBTWl7tCjBa5qssIqXR4sPSSx1yHA", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/wCXc37dJWNA/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC12XP-uxyy0SNBwazKsknP4gdq_w", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCr5xubfcrZYYBDEOJCdI13A", - name: "Fly Project", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("12 years ago"), - view_count: Some(24000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "3P06kyFpIQU", - name: "Fly Project - Musica | Official Music Video", - duration: Some(222), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/3P06kyFpIQU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCEebF1WfL-1pnsJsb1o_OxFU4lRw", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/3P06kyFpIQU/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBuSwOhaJjJP9D2JYEliS_7L_iHkg", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/3P06kyFpIQU/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCuSzPGZvi25E2wjAIydZJTE1y3SQ", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/3P06kyFpIQU/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCLExcSMTkBgv8CBGoBog5wgaflvg", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCr5xubfcrZYYBDEOJCdI13A", - name: "Fly Project", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("13 years ago"), - view_count: Some(104000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "zsmUOdmm02A", - name: "P!nk - True Love (Official Video) ft. Lily Allen", - duration: Some(233), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/zsmUOdmm02A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB3PgIVgaEh_Y_Ki8bYUzcg_LnrIQ", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/zsmUOdmm02A/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBILVRU779bmWcRgTBgJNTuZ7XrEw", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/zsmUOdmm02A/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDej3TzzcXAiE3z72W3QbegCi3dNQ", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/zsmUOdmm02A/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAsJWFtAZuVLND_NBrtj0OZBrhprQ", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCE5yTn9ljzSnC_oMp9Jnckg", - name: "P!NK", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(159000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "47dtFZ8CFo8", - name: "Capital Cities - Safe And Sound", - duration: Some(227), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/47dtFZ8CFo8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDxg8TVh9qLSm2kcqf9Sr1Sbgcv3A", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/47dtFZ8CFo8/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB_LIR2L5x5LXe32TESIXox2qL-rA", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/47dtFZ8CFo8/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBHmVTivrzPGMmv8JyU57_ee-AQyA", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/47dtFZ8CFo8/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB6e-auxuAuBC4I9t3tJQAtV-cobA", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCV3qsXcX2DaGzpJg2pw9q5g", - name: "Capital Cities", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(823000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "BEXtdcg7ZfQ", - name: "Kika - Can\'t Feel Love (Tonight)", - duration: Some(242), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/BEXtdcg7ZfQ/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgZShlMA8=&rs=AOn4CLDJROFGUTRIszbU9OxA9kATF2ZG0A", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/BEXtdcg7ZfQ/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgZShlMA8=&rs=AOn4CLA3IoBz2PSsjPTJ1ufKAsUjFeAtzw", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/BEXtdcg7ZfQ/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhlIGUoZTAP&rs=AOn4CLCbP0Ph5BGxUt9txX4ijYpHKdSyHg", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/BEXtdcg7ZfQ/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhlIGUoZTAP&rs=AOn4CLBxApXA0D4D1vjvSijeVTs4zDAgRw", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCv6fbkfpZgUrEZXbSkiyC1Q", - name: "Pedro Miguel", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(271000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "g1j1qwQQ8-Q", - name: "James Blunt - Bonfire Heart (Official Music Video)", - duration: Some(226), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/g1j1qwQQ8-Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCAHKCLTmGjoEm1nMR8M5fBZ2Bi2g", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/g1j1qwQQ8-Q/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBNU-hGY2K7pCY2s_mTya-uuI-tNQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/g1j1qwQQ8-Q/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD4bMerODi_s4MP_1duBQfLFGzzRQ", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/g1j1qwQQ8-Q/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBnFQKwGD4W2n4srW_2Z2MwmRIhnQ", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCUg8KhMXhFxJm-YQzOQ7nPw", - name: "James Blunt", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(94000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "sC2nElyx7Ds", - name: "Enrique Iglesias - Heart Attack (Official Music Video)", - duration: Some(231), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/sC2nElyx7Ds/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBD_ZyHaNedxcep7V0vCNwPuegTZA", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/sC2nElyx7Ds/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBPvRaKGd4pQwrv79HvwWVMe82WQQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/sC2nElyx7Ds/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD_yR4QCHqCEQ_hIzYt9lz75Vbb_A", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/sC2nElyx7Ds/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBmIReHif4lqMsmdsSucE5M_jndpA", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC-6czyMkxDi8E8akPl0c7_w", - name: "Enrique Iglesias", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(110000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "-whp15J2n_M", - name: "ARASH feat Helena- Broken Angel (Official Video)", - duration: Some(203), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/-whp15J2n_M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBdy7L_4ufBSDdHGXYAt7HMFQPnIQ", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/-whp15J2n_M/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDiEQRj3DC7DJfL8o6j93ssLq0mUQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/-whp15J2n_M/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDhRkVtvQnOci9Ma1HrjMiqbG2HeQ", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/-whp15J2n_M/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBhdOC0tvcG4PuX9Jkk7zUhz7H0ew", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCU-0c1hN3jzWTdIetJCUULw", - name: "Warner Music Sweden", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("14 years ago"), - view_count: Some(76000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "hT_nvWreIhg", - name: "OneRepublic - Counting Stars", - duration: Some(284), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/hT_nvWreIhg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIhao5qL--RZvtadDiYgT44baoDw", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/hT_nvWreIhg/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAsYzXI0TjGD18yzU7Y2XiSbEW1zw", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/hT_nvWreIhg/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD07e2ntG66xGjVR_Kk4uHAGuW7bg", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/hT_nvWreIhg/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD4ZkdBZxlYjMNx8xnLPU4AdoVhiQ", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCi4EDAgjULwwNBHOg1aaCig", - name: "OneRepublic", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(4100000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "UJWk_KNbDHo", - name: "The Lumineers - \"Stubborn Love\" (Official Video)", - duration: Some(280), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/UJWk_KNbDHo/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgVShPMA8=&rs=AOn4CLB3xVN3wmMah3co1EO7nYVvUSkeog", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/UJWk_KNbDHo/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgVShPMA8=&rs=AOn4CLDFyy6Ns1aKkOvgvlX6LfiTB9q2eA", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/UJWk_KNbDHo/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhlIFUoTzAP&rs=AOn4CLDFEP7AJx4SNVzFAiAK_T9lHLnp0g", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/UJWk_KNbDHo/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhlIFUoTzAP&rs=AOn4CLAl0SO4FZZ6SUKRMRn95L3ZLBRU-A", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCB7P9Hr5BYB5Mkxau6t3Sgw", - name: "The Lumineers", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("12 years ago"), - view_count: Some(169000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "MC8QcaMMVQE", - name: "Kings Of Leon - Wait For Me (Audio)", - duration: Some(213), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/MC8QcaMMVQE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCAAbDSdJQlhIQmjXbBUwQQb5xqug", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/MC8QcaMMVQE/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDLnyeFrl4uKWmMCPijCtbtS9PDLA", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/MC8QcaMMVQE/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC8hPFnguyZKSnbKsxMLknXGkROxw", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/MC8QcaMMVQE/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBqmFas4L0jxsT50nXK-_ZNJWgFxQ", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCfJein8E4rcYZSUCc8UqyMA", - name: "Kings of Leon", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(28000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "jzy2dgEUOhY", - name: "Guru Josh Project - Infinity (Klaas Vocal Mix) [Ultra Records]", - duration: Some(195), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/jzy2dgEUOhY/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AGGBYAC4AOKAgwIABABGHIgUyg_MA8=&rs=AOn4CLAnw9WlRNIB1ssFUX4x7FAdsKuvdg", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/jzy2dgEUOhY/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AGGBYAC4AOKAgwIABABGHIgUyg_MA8=&rs=AOn4CLB4Mi95fDi4hWe743pwjB6LYsLEFQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/jzy2dgEUOhY/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgBhgWAAuADigIMCAAQARhyIFMoPzAP&rs=AOn4CLAUoW9lbl3glxKs1noRsbI2WhfYKQ", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/jzy2dgEUOhY/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgBhgWAAuADigIMCAAQARhyIFMoPzAP&rs=AOn4CLDmacmuMILsbsDH4cBFEeYF6qBcNA", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC4rasfm9J-X4jNl9SvXp8xA", - name: "Ultra Records", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("16 years ago"), - view_count: Some(239000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "3YhoejhnW8w", - name: "Camila - De Que Me Sirve la Vida", - duration: Some(351), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/3YhoejhnW8w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDfgpFk1HtN5u0ZBNo78q1mrs_4nw", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/3YhoejhnW8w/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLApVZI-D45J5ojT34Gus61UJaEXdw", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/3YhoejhnW8w/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBMX62qB4qKHZzvBcmVj-XPVeS1JQ", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/3YhoejhnW8w/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCj8mZhCEqajEImqnY0RgKyYWOS5A", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCTbABe0xvBjIQeCMXU_R7fA", - name: "Camila", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("13 years ago"), - view_count: Some(285000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "HL4HjQwMx-o", - name: "Maná - Amor Clandestino (Video Oficial)", - duration: Some(293), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/HL4HjQwMx-o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA6VzpyD2lVc5N71uaB_23uIgQ19A", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/HL4HjQwMx-o/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA3cspSDPLqEjL0muVDihd0tnqWkQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/HL4HjQwMx-o/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDoxvLVbdLzk9pqUptaJPA1vcBVYA", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/HL4HjQwMx-o/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAsuN6aDouSBRmGB6piUuUiuL5R5Q", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC3cSX-0y3IZzr2F2J1dFlUg", - name: "OficialMana", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("13 years ago"), - view_count: Some(428000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "_KSyWS8UgA4", - name: "Cali Y El Dandee - Yo Te Esperaré", - duration: Some(254), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/_KSyWS8UgA4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBU46lqWcHWhFSwiCUytw5njUpmZg", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/_KSyWS8UgA4/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCQFylRnsllq8tClcowKxgPcUEWTg", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/_KSyWS8UgA4/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCdlzpDwD9BJFdH-K2j0bcOFcADsg", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/_KSyWS8UgA4/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCKuicZvyotuY9nfW3zfXlOD6cH8A", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC-xukSIikEbhER7PqlB1nuQ", - name: "CALIDANDEE", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("13 years ago"), - view_count: Some(556000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "3O1_3zBUKM8", - name: "Naughty Boy - La la la ft. Sam Smith (Official Video)", - duration: Some(244), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/3O1_3zBUKM8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDSX6rdGdayCv9q8ORPnwvXyZbY7w", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/3O1_3zBUKM8/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAqUmKxnTY6wYdHwceZVW8Bi14OjA", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/3O1_3zBUKM8/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC09zyYP3V7DJhsQ0ZH3RYVV9OFeA", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/3O1_3zBUKM8/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLChZ9Ft8GWnxmAKv9lu8JzEkTDATw", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCrJot6B0r3pIS0Q6ZTwZKvw", - name: "Naughty Boy", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(1300000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "CfihYWRWRTQ", - name: "John Newman - Love Me Again", - duration: Some(236), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/CfihYWRWRTQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCIcrhbh_N3owILzML6-7eEWqpvOA", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/CfihYWRWRTQ/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBwdDIM9Ie3BilA9LiQ3N1nUfG5eQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/CfihYWRWRTQ/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBzF89D001zicGbPbH4FzOdvJ0taQ", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/CfihYWRWRTQ/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBu1Ay7NR8qPDRBOxuC7aw1Icscvw", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCXtn650vh9Dj7uz8cFac0AQ", - name: "John Newman", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(1000000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "pr6uyXT1-Vs", - name: "Dança da Lua - Eugénia Melo e Castro e Ney Matogrosso", - duration: Some(117), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/pr6uyXT1-Vs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDDE5LY_52_9eCxWt7iijMLmg2c4w", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/pr6uyXT1-Vs/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAF6cjFxbxjzKCDqB6BCEdrfKKAKw", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/pr6uyXT1-Vs/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCQFciI8SQNgZHXCJtHYwvy3i8fpg", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/pr6uyXT1-Vs/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAP2CEkVK-tHiLm57UjszBKiAmlZQ", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC0amZq9I39vfeRjfA8pZd5A", - name: "Mario Rietsch Monteiro", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("14 years ago"), - view_count: Some(70000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "6BTjG-dhf5s", - name: "Daddy Yankee - Limbo (Video Oficial)", - duration: Some(255), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/6BTjG-dhf5s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCB6CojJe9yunlBLoJxLLS3drmglg", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/6BTjG-dhf5s/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBoZsX1OkxGBO8Mwp2kPCxGtAtoig", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/6BTjG-dhf5s/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCoyW5GYQuCU4vS8IGhAsYod8FQeQ", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/6BTjG-dhf5s/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCcrOamSmXRhCbyraIUWQBBh1dALA", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC9TO_oo4c_LrOiKNaY6aysA", - name: "Daddy Yankee", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("12 years ago"), - view_count: Some(1400000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "5dbEhBKGOtY", - name: "David Guetta - Play Hard ft. Ne-Yo, Akon (Official Video)", - duration: Some(242), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/5dbEhBKGOtY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAu20cZb31Jew5t4T0WSPbozhkOWw", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/5dbEhBKGOtY/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDN5rDJy-e3Q-oKv56oGAeiWxp_wA", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/5dbEhBKGOtY/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBVTlhWdeeQAPN_hbtd9SiOfiD-cg", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/5dbEhBKGOtY/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDIwWRFUUwHSYpwbnNbM-__RVoGFA", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC1l7wYrva1qCH-wgqcHaaRg", - name: "David Guetta", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(1200000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "_xSv4RXT2as", - name: "Pegate Mas.", - duration: Some(207), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/_xSv4RXT2as/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgVShNMA8=&rs=AOn4CLBovKLROUB5Na0a16y1ET9WQv6hhg", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/_xSv4RXT2as/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgVShNMA8=&rs=AOn4CLDbucfXWctpGpQEFIEWBwyPsQQbCQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/_xSv4RXT2as/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhlIFUoTTAP&rs=AOn4CLDf6sDB2DAqcBDyzP3UJKJpejE1tg", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/_xSv4RXT2as/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhlIFUoTTAP&rs=AOn4CLA8Ztf7jm-8mOOQ98-WrAW961e4pg", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCPZ4LPqzBCJGFcWdvk5xxOg", - name: "ReggaetontodoelTIME", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("13 years ago"), - view_count: Some(1000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "0NKUpo_xKyQ", - name: "Ellie Goulding - Lights (Official Video)", - duration: Some(214), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/0NKUpo_xKyQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLADtMt8JfkPpoGaMv2hURRXMU6R7Q", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/0NKUpo_xKyQ/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDSVoLlva8D-wJcGTCVC1ZXRKu0IQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/0NKUpo_xKyQ/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAE0Ug5lFw6sgJQtIQvCjfu5jOkmg", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/0NKUpo_xKyQ/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLArr-cx_RTYEtrkdPTi3m7tqzGhUA", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCt-am4x4ZyeohfgM85qFgdQ", - name: "Ellie Goulding", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("14 years ago"), - view_count: Some(232000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "lbSOLBMUvIE", - name: "Michael Bublé - Home [Official Music Video]", - duration: Some(226), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/lbSOLBMUvIE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDvWhUK20wEvDvx6tWIpQZSj6TFKg", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/lbSOLBMUvIE/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLArB-KUURodCmDX4zuumnYJ5TKeqA", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/lbSOLBMUvIE/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAONZ3Xn5kovwS5qaQ8cPFqkH_lzA", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/lbSOLBMUvIE/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD-f74zKaipTYXwuF-NDq2hCMN9HQ", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCHqQruhGENdmWy_oeH1f8QA", - name: "Michael Bublé", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("15 years ago"), - view_count: Some(185000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "ZPq570o-Nv0", - name: "ESC Portugal - 2003 - Deixa me Sonhar - Rita Guerra", - duration: Some(192), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/ZPq570o-Nv0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBDO-vYQxpK3yOgOXuagFIx-eguMA", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/ZPq570o-Nv0/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD4OWcwdAzRxskG6UVTgLauZwxtbA", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/ZPq570o-Nv0/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCzDYn5hCxHQKE0xNOTCb3i-znFbg", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/ZPq570o-Nv0/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCzM8lVpFtRZ-st8Lgv3Asn0VmvAw", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCV25caWF5Lt_nKLJ2UowvkQ", - name: "Ricardo Mendes", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("16 years ago"), - view_count: Some(19000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "1xXtAhX-eiM", - name: "LOREEN \"Sober\" (2011)", - duration: Some(233), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/1xXtAhX-eiM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAHtZd0WZV-JSsmM0VB8EWv7KbSlA", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/1xXtAhX-eiM/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBuSZs-3Xgj0e9wv1aa7YYln8jROw", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/1xXtAhX-eiM/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB61OqKRcSm3wBKCUcpyy3sb8BqpQ", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/1xXtAhX-eiM/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDB5CdXIzUcb-Cc1RD-OrqnCCiRIg", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCU-0c1hN3jzWTdIetJCUULw", - name: "Warner Music Sweden", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("13 years ago"), - view_count: Some(6000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "xPOBdqHWios", - name: "Loreen - My Heart Is Refusing Me (Lyric Video)", - duration: Some(224), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/xPOBdqHWios/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC8Lh3CkNdyJcTn7gtMzddSd9zh3g", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/xPOBdqHWios/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDUEluw5neNRplNJt9DbenjOTNWlQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/xPOBdqHWios/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBehcEqFGrYkQptor0Ghns4sxrowA", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/xPOBdqHWios/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLALKt1b0KiTCQrkK1-DT59TyUpBeg", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCU-0c1hN3jzWTdIetJCUULw", - name: "Warner Music Sweden", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("12 years ago"), - view_count: Some(2500000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "6_5D4y6x-oo", - name: "Edward Maya & Mia Martina - Stereo Love (Ultra Music)", - duration: Some(255), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/6_5D4y6x-oo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDaC_kZhD5OIIbgv87Jmr8GNL7w3A", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/6_5D4y6x-oo/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBhkN0HtMjznrQqMlxBezBSZpHOQA", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/6_5D4y6x-oo/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBONE-_u-aoQlsUh5nYrgs6QUPgUg", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/6_5D4y6x-oo/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBPhxbr2T5fpBosc8qPzVLKIDcAhA", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC4rasfm9J-X4jNl9SvXp8xA", - name: "Ultra Records", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("14 years ago"), - view_count: Some(62000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "oASZG96v0Rk", - name: "Akcent - That\'s My Name (Ultra Music)", - duration: Some(254), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/oASZG96v0Rk/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgXyhDMA8=&rs=AOn4CLClGyeg9LhLdOH_CUakbhXmikljTg", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/oASZG96v0Rk/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgXyhDMA8=&rs=AOn4CLDsbf0YdGxcU_GJLos0h-LPWWh7Ww", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/oASZG96v0Rk/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhlIF8oQzAP&rs=AOn4CLD6T1Sk2KThe_f0-4SW5jisNy35Bw", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/oASZG96v0Rk/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhlIF8oQzAP&rs=AOn4CLBd5s5UzVJEp9Zg3YkMxP7CUi4QgQ", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC4rasfm9J-X4jNl9SvXp8xA", - name: "Ultra Records", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("15 years ago"), - view_count: Some(154000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "d1dcXgGQT2M", - name: "La Ley - Mentira (Video Oficial)", - duration: Some(289), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/d1dcXgGQT2M/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC4AOKAgwIABABGE4gTihlMA8=&rs=AOn4CLAlDX9aQI088nOKb_O8q-H2fKj8OA", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/d1dcXgGQT2M/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC4AOKAgwIABABGE4gTihlMA8=&rs=AOn4CLDXXu3Eq8Sn66U0CUuBkC_jWtmdrQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/d1dcXgGQT2M/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAuADigIMCAAQARhOIE4oZTAP&rs=AOn4CLBzZwbcbxOQ5CT1DIMLTQ907z_FsQ", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/d1dcXgGQT2M/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAuADigIMCAAQARhOIE4oZTAP&rs=AOn4CLDmFaKxRVU5T3CfypAQ0DLBkamPuQ", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCP1b9jYyEqiNhJi4GqYdovw", - name: "Warner Music México", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("16 years ago"), - view_count: Some(255000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "O2fU28Pehdc", - name: "Maite Perroni - Tu y Yo (Video Oficial)", - duration: Some(243), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/O2fU28Pehdc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnTmI3HSwFkBYgpooV5oGnBoeAYg", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/O2fU28Pehdc/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDcvNVpXvvxcr61JSdwB1NkSLqZCQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/O2fU28Pehdc/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDcYhdUh2BlV5az8L6Iuq-It6ONjA", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/O2fU28Pehdc/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDLmlSoF2pcg72a8myCdj2UkAoJcg", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCU720aZHx6_8ABYWvBHbWUQ", - name: "Maite Perroni", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(134000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "p-Z3YrHJ1sU", - name: "Edward Maya & Vika Jigulina - Stereo Love (Official Music Video)", - duration: Some(253), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/p-Z3YrHJ1sU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAS7gls6oe0TfboDpVgwUjTmTLB9g", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/p-Z3YrHJ1sU/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCS8Udu4Esa0SEPLdshEVw9jbCg9Q", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/p-Z3YrHJ1sU/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDx8O_LL4-vrngtFsM3WgBGX3Q8LQ", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/p-Z3YrHJ1sU/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDBWAvjWTOgxJrQUMO7uk_5shK1kw", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCpDJl2EmP7Oh90Vylx0dZtA", - name: "Spinnin\' Records", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("15 years ago"), - view_count: Some(671000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "mLxYzju_G88", - name: "SCHILLER - I\'VE SEEN IT ALL (MIT MAYA SABAN)", - duration: Some(242), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/mLxYzju_G88/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC4AOKAgwIABABGGUgZShlMA8=&rs=AOn4CLCf8dDCPboKZf3Su_VeG3s7rYb__g", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/mLxYzju_G88/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC4AOKAgwIABABGGUgZShlMA8=&rs=AOn4CLCXipaBMoF6pPuE9jkVY55zSso-4Q", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/mLxYzju_G88/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAuADigIMCAAQARhlIGUoZTAP&rs=AOn4CLBpRXW1Q8tCQ_2DHeZ-9GcLtYpCNw", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/mLxYzju_G88/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAuADigIMCAAQARhlIGUoZTAP&rs=AOn4CLDCH24UlbTQIdwsrdZX6BbnSnD9qw", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCUUyi3ZKOX5JRftg38ZxFhQ", - name: "ukasu", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("16 years ago"), - view_count: Some(3800000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "dQlxjSm0qU0", - name: "SCHILLER: „I Feel You\" // with Heppner // Official Video", - duration: Some(228), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/dQlxjSm0qU0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDsc0fDYBvJZ0H3JX2qc4id6xGs1A", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/dQlxjSm0qU0/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDeg9yV_a_ihwSZx0RhErXzH2O13A", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/dQlxjSm0qU0/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCICmnt7t-QoZUpYOp_EFcuc0OiLw", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/dQlxjSm0qU0/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAdnE8UJYENbk0IqcyL00WPZWRxhA", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCmM5xlAZDZ-h3bi6AXzDNKQ", - name: "SCHILLER official", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("16 years ago"), - view_count: Some(39000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "Jbt8oH5Lxto", - name: "The Beatles - Love me Do", - duration: Some(143), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/Jbt8oH5Lxto/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC6AKKAgwIABABGGUgZShlMA8=&rs=AOn4CLASno47mz_ynIg_IiAlstSWVh9f8Q", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/Jbt8oH5Lxto/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC6AKKAgwIABABGGUgZShlMA8=&rs=AOn4CLBg8nOdMSj9QwH8kZPAGpjaWJdPtw", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/Jbt8oH5Lxto/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAugCigIMCAAQARhlIGUoZTAP&rs=AOn4CLDLVhWwsaSX4pk9XCyya4TJgLflcA", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/Jbt8oH5Lxto/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAugCigIMCAAQARhlIGUoZTAP&rs=AOn4CLAHm5wGZWv9WHcfQu4ipKfzbz5u8Q", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCSu-uDw30vUo1p9uBk-w_Yw", - name: "HitboxAgs", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("12 years ago"), - view_count: Some(14000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "3EBz2baAGHo", - name: "Dirty South feat. Rudy - Phazing (Original Mix)", - duration: Some(453), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/3EBz2baAGHo/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC4AOKAgwIABABGBMgMih_MA8=&rs=AOn4CLBI5yGjuPSvupdJ1iiknxfpr8Yg2g", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/3EBz2baAGHo/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC4AOKAgwIABABGBMgMih_MA8=&rs=AOn4CLDPXZZcDasKOg5yKp8HCzX5zFPkmw", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/3EBz2baAGHo/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAuADigIMCAAQARgTIDIofzAP&rs=AOn4CLDpmdk5uCUuQ5nQQ8Xfo7M8bvyW2g", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/3EBz2baAGHo/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAuADigIMCAAQARgTIDIofzAP&rs=AOn4CLCIWxiBJPp6Zbq1EJeyhWVZ0A5YNg", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCD0k_PDzp5JHi2a2MZA-AVg", - name: "deltoeidis", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("14 years ago"), - view_count: Some(437000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "J-gYJBsln-w", - name: "Krewella - Alive (Video)", - duration: Some(207), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/J-gYJBsln-w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDfhQSAPLGNzG19EPS8TauB3RVnTA", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/J-gYJBsln-w/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBLMGjEU5-Nfj3-1UiqLdkpY_8W5w", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/J-gYJBsln-w/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDTHmbhRVTaG9Sl8gG-8VtE9rA0sQ", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/J-gYJBsln-w/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCtswxiGQ9Fccb1j51Fs3Hc2PTbsA", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCDY_0WzkHyj0A1ev6RTql1Q", - name: "Krewella", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("12 years ago"), - view_count: Some(114000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "q7yCLn-O-Y0", - name: "Fun.: Carry On [OFFICIAL VIDEO]", - duration: Some(345), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/q7yCLn-O-Y0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLANnYEVw6irRD-bIgs5Ecuw3M-VSw", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/q7yCLn-O-Y0/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCPDa15oP49C7l9JNNQcp5dVPAsdw", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/q7yCLn-O-Y0/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC4L2CNkoMveWPEF-AX6oLFloFvKw", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/q7yCLn-O-Y0/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD0prSGZWRnaEk19t2eNgoEEwGBIQ", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UClVrJwcIy7saPcGc1nct80A", - name: "Fueled By Ramen", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("12 years ago"), - view_count: Some(115000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "bek1y2uiQGA", - name: "Avicii vs Nicky Romero - I Could Be The One (Nicktim)", - duration: Some(286), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/bek1y2uiQGA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCszqGjdqkNE0jask-NzfJCgEYhIg", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/bek1y2uiQGA/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDYz6284MIvQcjDTpG6PldcpF_52A", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/bek1y2uiQGA/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA55IbSmhmsCz5FYeDeUmOHV8N7iQ", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/bek1y2uiQGA/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCp10TFTKeaSWeuuUIfVpVjtg4zLw", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCPHjpfnnGklkRBBTd0k6aHg", - name: "Avicii", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("12 years ago"), - view_count: Some(361000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "EPHmUD0QfmM", - name: "John Mamann - Love Life ft. Kika", - duration: Some(175), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/EPHmUD0QfmM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMTUCf1tgENEfqBYNaNFfYpEtpyQ", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/EPHmUD0QfmM/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDPr6WD2eyXjF7UMuQ9fn5IgnYufA", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/EPHmUD0QfmM/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCPouV_5OMd6efgMwD_gq_Fb-yLfw", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/EPHmUD0QfmM/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCwdECiNS-l85ZxifBBD8XevLkv-g", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC5SfIg_4F6hl9krX3rebKzg", - name: "John Mamann", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(31000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "jS8IZcx7tJY", - name: "Snow Patrol - Run (official video)", - duration: Some(283), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/jS8IZcx7tJY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDEYK-5tJLmGVEJhNfaa-DJ7UZMyg", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/jS8IZcx7tJY/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAwMpf-VqumwE92X8Pue7PKtvl7Hg", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/jS8IZcx7tJY/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCovnREn7O4RU3FdqNTT0ldLD6ajg", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/jS8IZcx7tJY/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAxolzVpRXJMsyBeE59Dw7MQ69dig", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC3VFfBJe2he4XU1p7bhDiAg", - name: "Universal Music Nederland", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("15 years ago"), - view_count: Some(13000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "ghb6eDopW8I", - name: "Of Monsters and Men - Little Talks", - duration: Some(255), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/ghb6eDopW8I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCoNyV-ShyxkGZ4gUEsjzvYeYcrKg", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/ghb6eDopW8I/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBkcRNL1QY64i8CZ-hm3hW4pOk6jA", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/ghb6eDopW8I/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDTWN1V_VFA_HToKttZkM5XdyXJ4Q", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/ghb6eDopW8I/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDa3ukYowZBJjLw8wIVvAqedfJPxg", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC-hZDis8Dbfk8FotKkOXyQQ", - name: "Of Monsters and Men", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("13 years ago"), - view_count: Some(385000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "Xmap94TcDNs", - name: "Wisin & Yandel, Jennifer Lopez - Follow The Leader (Official Video) ft. Jennifer Lopez", - duration: Some(299), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/Xmap94TcDNs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBjhdqhoiAbK6tcdMB6Z-UVgyXVWA", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/Xmap94TcDNs/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD0tivAuj9ecb7IXxmGiJcb9JjmIw", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/Xmap94TcDNs/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCn_rA_GRfxLOIQJS-eBtgD2RWCfQ", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/Xmap94TcDNs/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCs0dMH2i_MZ1i8SI8FnYFekAjMAA", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCwR_LqB7g3-_J7p1nscCbEA", - name: "Wisin & Yandel", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("12 years ago"), - view_count: Some(672000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "_gmtKSiJt2g", - name: "Juan Magán - Mal De Amores", - duration: Some(188), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/_gmtKSiJt2g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAXK7Fov31GIRclBnJqwRoJ69o0Hw", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/_gmtKSiJt2g/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCcqW2viRHIbOYT6t03-mO5PoXrPg", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/_gmtKSiJt2g/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAEpVvuTBhKR24Zn5HAu-eQsZrZ5A", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/_gmtKSiJt2g/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCvyD0J84hXeJjirAsT9ahqoLpk8g", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCVpJ6eGdknSR4mlExF1bytA", - name: "JuanMagan", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(127000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "88dLLDrVOwg", - name: "Nelly Furtado - Waiting For The Night", - duration: Some(271), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/88dLLDrVOwg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLColV51m1JDZrHHxIO5fYuuk8X-cA", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/88dLLDrVOwg/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQZimrA854o5Xrav550NWfmCybuQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/88dLLDrVOwg/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA_9T2dFHpAPy37RqRpDkYYRW482w", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/88dLLDrVOwg/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDXQ05ExnEfhN1lMY2bcZU-pNEbbQ", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC5Y-gAeGpzgzu0ObzKnhPFA", - name: "Nelly Furtado", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("12 years ago"), - view_count: Some(17000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "Z9L5ni0Spgk", - name: "Fedo, Camurri & Marchesini - Babylon (Promo Video)", - duration: Some(196), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/Z9L5ni0Spgk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBKuaqxWwDzFueczUw-cXqjgfxMlw", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/Z9L5ni0Spgk/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDa8Tt8dbn3a_4KbDh1lK2swonb3w", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/Z9L5ni0Spgk/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDMZ2_QGC2n7rvUFR-U4HdYAeV05Q", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/Z9L5ni0Spgk/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCPb65_UkG90x3VmlUCJSU_-GImOw", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC5eYHWDQqAsiKlnvLCz-ezg", - name: "Energy TV", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("14 years ago"), - view_count: Some(154000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "YgFyi74DVjc", - name: "Tinie Tempah - Written In The Stars ft. Eric Turner", - duration: Some(217), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/YgFyi74DVjc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLByMtQpF7fANZ3zoMljVbG5nHhUPA", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/YgFyi74DVjc/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCVFfPXqM2RO7WVfOx_DYtVdRYYWw", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/YgFyi74DVjc/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCLSc5vaBLxnPxMM3oIzs6oecOpqw", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/YgFyi74DVjc/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCtBz7EpKUPdU1dHYlXiB9eRaafSg", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCDSX4RQN7fzIlZ1nSubwCcQ", - name: "Tinie", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("14 years ago"), - view_count: Some(328000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "yyDUC1LUXSU", - name: "Robin Thicke - Blurred Lines ft. T.I., Pharrell", - duration: Some(272), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/yyDUC1LUXSU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB9ZvzaOQXpNngJbvS_GxgHXSnb7g", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/yyDUC1LUXSU/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLASDSqilwfjPklCMYS2SwMJ7gnO3A", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/yyDUC1LUXSU/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBpCcrhl4afQxrGpWfRl-5h9M1TVA", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/yyDUC1LUXSU/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAgJQ_cJ44xgi8y834WOT28RodN4Q", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCFHZMfLTN8Zg2sUIrLJhRQQ", - name: "Robin Thicke", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(931000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "bnVUHWCynig", - name: "Beyoncé - Halo", - duration: Some(225), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/bnVUHWCynig/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDdVYpBllucka8OdmI4rYaxdDbwZQ", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/bnVUHWCynig/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDifNY6_xFI36yPGwpSlQcRRdq5dw", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/bnVUHWCynig/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAfrtQWKbvfqAIT5nlEP6oHpGwQnA", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/bnVUHWCynig/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC_mAwlLPdy-eK1GFCDG1I-Uu_qVw", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCuHzBCaKmtaLcRAOoazhCPA", - name: "Beyoncé", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("15 years ago"), - view_count: Some(1600000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "iRYvuS9OxdA", - name: "Amy Macdonald - This is the Life", - duration: Some(188), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/iRYvuS9OxdA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQ6tSfh29w-wLTG8eOYoR6ExueTQ", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/iRYvuS9OxdA/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC_TGb7k7HHhnjgjKoucF2uxyY5eQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/iRYvuS9OxdA/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAU0YHCpj4Sl0p1nMnWJlQc9m0O7w", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/iRYvuS9OxdA/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBbZ3pXnK3rb_jAwDzhJUMxHBLCBA", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC4bQSvfzqx4r3YmPw3Osx3g", - name: "Amy Macdonald", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("15 years ago"), - view_count: Some(177000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "RBumgq5yVrA", - name: "Passenger | Let Her Go (Official Video)", - duration: Some(255), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/RBumgq5yVrA/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGH8gPCglMA8=&rs=AOn4CLClTEuXGgPmtiTNzrUWRE03Rb5Mdg", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/RBumgq5yVrA/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGH8gPCglMA8=&rs=AOn4CLChUhmw9GMq6pTC4nK4yZWlrW_QQQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/RBumgq5yVrA/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARh_IDwoJTAP&rs=AOn4CLCVpX4xhA7l6u_lSdxZLUPOfe9u6w", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/RBumgq5yVrA/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARh_IDwoJTAP&rs=AOn4CLCANoXn9hFhlZWlwzSiR0re3Oi0XQ", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCFHtCB_FWXQ8GpjgfYcD8-g", - name: "Passenger", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("12 years ago"), - view_count: Some(3700000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "5NV6Rdv1a3I", - name: "Daft Punk - Get Lucky (Official Audio) ft. Pharrell Williams, Nile Rodgers", - duration: Some(249), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/5NV6Rdv1a3I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB8eQJ05B8xmUeTG2Qjv5ZTGV6GtQ", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/5NV6Rdv1a3I/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCYWE3tjuqA73Ghpo9Zx9YhQrPF8g", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/5NV6Rdv1a3I/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAYujREX1wWp6lqR-FxLTC3UoDBww", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/5NV6Rdv1a3I/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAec6mzXBkRvD7DZJQXZQAn-5DdYg", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC_kRDKYrUlrbtrSiyu5Tflg", - name: "Daft Punk", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(798000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "GbVxvITmwIc", - name: "Nadia Ali - Rapture (Avicii Remix) [Official Music Video]", - duration: Some(283), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/GbVxvITmwIc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYlbB7MP7mlFPrvaaa8NgyZhhFMw", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/GbVxvITmwIc/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBTwvP-ZJmMyMrYfKAVUyra_X-uTA", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/GbVxvITmwIc/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD796ZUIzn9jANidIPu15gHgkOGJQ", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/GbVxvITmwIc/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCwlEEFb5u_e5qpa9tSJ8UeOPHSpQ", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCGZXYc32ri4D0gSLPf2pZXQ", - name: "Armada Music TV", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("14 years ago"), - view_count: Some(71000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "_ovdm2yX4MA", - name: "Avicii - Levels", - duration: Some(199), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/_ovdm2yX4MA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBJhG8-CbY_gMCDa0Othohpjp2-Sw", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/_ovdm2yX4MA/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCHpPr_9X0IOy9gsmtWlQkFT9GV3g", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/_ovdm2yX4MA/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDn3vMoIYvWmWMNFsgN8aTyC876QA", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/_ovdm2yX4MA/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCictkFhj6f0NLuvA-jBl0uIx9r1A", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCPHjpfnnGklkRBBTd0k6aHg", - name: "Avicii", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("13 years ago"), - view_count: Some(739000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "5y_KJAg8bHI", - name: "Avicii - Wake Me Up (Official Lyric Video)", - duration: Some(252), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/5y_KJAg8bHI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCbQHhfWQkRu61QB_9f8c0luSDo-A", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/5y_KJAg8bHI/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAjMdoRGoRT5ed3VrlZ_j84fXehBg", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/5y_KJAg8bHI/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDOnvnv-RD8R5gyfB7llV53-gKDBg", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/5y_KJAg8bHI/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBA82_EAo1CRpHUnA2HIQHJ8DAT8w", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCPHjpfnnGklkRBBTd0k6aHg", - name: "Avicii", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 years ago"), - view_count: Some(499000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "6Mj8KDpoZnQ", - name: "Del Amitri Driving with the Brakes on with lyrics", - duration: Some(275), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/6Mj8KDpoZnQ/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AG-AoAC8AGKAgwIABABGGkgaShpMA8=&rs=AOn4CLAai-jQB6NdIU65Ae_A2lVZyyrIhw", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/6Mj8KDpoZnQ/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AG-AoAC8AGKAgwIABABGGkgaShpMA8=&rs=AOn4CLAUPD_EFn7JC4PrPCJREsc2Hk_NFA", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/6Mj8KDpoZnQ/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgBvgKAAvABigIMCAAQARhpIGkoaTAP&rs=AOn4CLB-UUKz-dpXAAlZmvF2c1tseoZ8cA", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/6Mj8KDpoZnQ/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgBvgKAAvABigIMCAAQARhpIGkoaTAP&rs=AOn4CLDtvT3HtJnCrtf3AMvEeSmKwsPyhA", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCu4v_9NAtKYVd8_sPh99h6A", - name: "Ziggy", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("15 years ago"), - view_count: Some(291000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "rtOvBOTyX00", - name: "Christina Perri - A Thousand Years [Official Music Video]", - duration: Some(288), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/rtOvBOTyX00/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAiaq7QqeSdb9xU068ljYGiLtY1cA", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/rtOvBOTyX00/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCjTvxsN22M1eXwUuZR49bogXDbpA", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/rtOvBOTyX00/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDIWjGMXTDXcu3u_s0S8l0b9K-Tkg", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/rtOvBOTyX00/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCfknlSUb89kvv-vLPcKafCxp6gXA", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC2gMECGMn5TVbRN5S5tKb8Q", - name: "Christina Perri", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("13 years ago"), - view_count: Some(2600000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "UggslfShToQ", - name: "INNA - J\'Adore | Lyrics Video", - duration: Some(196), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/UggslfShToQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAwL6RMQVmZwr5PwLtF5DvAEmpDAw", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/UggslfShToQ/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCNgWToeUKppaH5cbM63v0VblZrGA", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/UggslfShToQ/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAfsBFhkfeIi_9cTcew42dY2DBARw", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/UggslfShToQ/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAMtgf3RwJEymxxE9tEraM-Uh052Q", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCr8RbU-D7iSvpy0ZO-AasoQ", - name: "INNA", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("12 years ago"), - view_count: Some(36000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "MORF_XGAfj0", - name: "Alex Mica - Breathe", - duration: Some(222), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/MORF_XGAfj0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD4dJKhtTKudy14ZzzgTY9qzH4x8g", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/MORF_XGAfj0/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBSVafq7JdLyuoH10rl-wljo7NN_w", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/MORF_XGAfj0/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB_aPn5MajbIR712uVfiXo8Fj-8qg", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/MORF_XGAfj0/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDE9J6brKvxld_oV3S9RzO83hA-IA", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCYM6H8mE3I8nTON-wMqg5Gg", - name: "1artistmusic", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("12 years ago"), - view_count: Some(8500000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "-0Bwmmiat-o", - name: "Vlegel - After Night in Ibiza (Official Video)", - duration: Some(228), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/-0Bwmmiat-o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCGorDbo4abAT0S-MvD5hDsHJjXfA", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/-0Bwmmiat-o/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBa2y31Slz9APf2Dq25f1-01FxSUQ", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/-0Bwmmiat-o/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBEsFgAkX9q4DEsgHQkMc-2mcfTug", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/-0Bwmmiat-o/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAWxu7pswYn23AmmMQVXggP2z29Rw", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UCfS8AVoT4NgwXqPEau_Dx6A", - name: "Vlegel & Bluesolar", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("13 years ago"), - view_count: Some(27000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - VideoItem( - id: "mME-URRbak8", - name: "Carlos Baute - Quien te quiere como yo (Videoclip oficial)", - duration: Some(228), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/mME-URRbak8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCRsCb3kityamG2pLkdboBA7yUbUA", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/mME-URRbak8/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBQgg21dw9tKDOyOGeayYmM4ttyrg", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/mME-URRbak8/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCBVsxiVCXqgoHpTPBc28mtnmN7qw", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/mME-URRbak8/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAAdUUW53TO_rbaF8jm47Y8mk0U0g", - width: 336, - height: 188, - ), - ], - channel: Some(ChannelTag( - id: "UC2e1yIHI-WdrbGx1CZvRYMA", - name: "Carlos Baute", - avatar: [], - verification: none, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("14 years ago"), - view_count: Some(101000000), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - ), - ], - ctoken: Some("4qmFsgKBARIkVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpGjRDQUY2SGxCVU9rTklTV2xGUkVreVVtdEZOVTVFU1hsU2FrWkRVa1JKZWs1NldRJTNEJTNEmgIiUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaQ%3D%3D"), - endpoint: browse, - ), - video_count: 178, - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEWCKgBEF5IWvKriqkDCQgBFQAAiEIYAQ==&rs=AOn4CLBa5-Dz5la0fxHv3a4MwFR7DIYJoA", - width: 168, - height: 94, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEWCMQBEG5IWvKriqkDCQgBFQAAiEIYAQ==&rs=AOn4CLAxCkSRDuuvRO6BrdC3iHNiDbu3Jg", - width: 196, - height: 110, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEXCPYBEIoBSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLDraZ8FZUZsrqXXxwMErPyqS-dEqg", - width: 246, - height: 138, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEXCNACELwBSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAHTfmPcI3oRi3eFeNejHBCi1KKrw", - width: 336, - height: 188, - ), - ], - description: None, - channel: Some(ChannelId( - id: "UCzMzwgvr4KncCyY-BsiH2fw", - name: "Sérgio Cabral", - )), - last_update: "[date]", - last_update_txt: Some("Last updated on Oct 11, 2024"), - visitor_data: None, -) diff --git a/src/client/video_details.rs b/src/client/video_details.rs index d5529ef..f53201b 100644 --- a/src/client/video_details.rs +++ b/src/client/video_details.rs @@ -208,10 +208,11 @@ impl MapResponse for response::VideoDetails { ) }); - let comment_ctoken = comment_ctoken_section.and_then(|s| { + let comment_ctoken = comment_ctoken_section.map(|s| { s.continuation_item_renderer .continuation_endpoint - .into_token() + .continuation_command + .token }); let (owner, description, is_ccommons) = match secondary_info { @@ -332,7 +333,7 @@ impl MapResponse for response::VideoDetails { .sub_menu_items; items .try_swap_remove(1) - .and_then(|c| c.service_endpoint.into_token()) + .map(|c| c.service_endpoint.continuation_command.token) }); Ok(MapResult { @@ -452,9 +453,7 @@ impl MapResponse> for response::VideoComments { } } response::video_details::CommentListItem::ContinuationItemRenderer(cont) => { - if ctoken.is_none() { - ctoken = cont.into_token(); - } + ctoken = Some(cont.token()); } response::video_details::CommentListItem::CommentsHeaderRenderer { count_text } => { comment_count = count_text @@ -521,9 +520,7 @@ fn map_replies( )) } response::video_details::CommentListItem::ContinuationItemRenderer(cont) => { - if reply_ctoken.is_none() { - reply_ctoken = cont.into_token(); - } + reply_ctoken = Some(cont.token()); None } _ => None, diff --git a/src/deobfuscate.rs b/src/deobfuscate.rs index d08a6e1..d0adc12 100644 --- a/src/deobfuscate.rs +++ b/src/deobfuscate.rs @@ -3,7 +3,7 @@ use std::collections::HashMap; use once_cell::sync::Lazy; use regex::Regex; use reqwest::Client; -use ress::tokens::{Keyword, Punct, Token}; +use ress::tokens::Token; use rquickjs::{Context, Runtime}; use serde::{Deserialize, Serialize}; @@ -39,7 +39,7 @@ impl DeobfData { if let Err(e) = &res { if let Some(reporter) = reporter { let report = Report { - info: RustyPipeInfo::new(None, None), + info: RustyPipeInfo::new(None), level: Level::ERR, operation: "extract_deobf", error: Some(e.to_string()), @@ -106,7 +106,7 @@ impl Deobfuscator { .with(|ctx| call_fn(&ctx, DEOBF_NSIG_FUNC_NAME, nsig))?; tracing::trace!("deobf nsig: {nsig} -> {res}"); if res.starts_with("enhanced_except_") || res.ends_with(nsig) { - return Err(DeobfError::Other("nsig fn returned an exception".into())); + return Err(DeobfError::Other("nsig fn returned an exception")); } Ok(res) } @@ -134,21 +134,55 @@ fn caller_function(mapped_name: &str, fn_name: &str) -> String { } fn get_sig_fn(player_js: &str) -> Result { - let name = get_sig_fn_name(player_js)?; - let code = extract_js_fn(player_js, &name)?; - let js_fn = format!("{}{}", code, caller_function(DEOBF_SIG_FUNC_NAME, &name)); + let dfunc_name = get_sig_fn_name(player_js)?; + let function_pattern_str = format!( + r#"({}=function\([\w]+\)\{{.+?\}})"#, + dfunc_name.replace('$', "\\$") + ); + let function_pattern = Regex::new(&function_pattern_str) + .map_err(|_| DeobfError::Other("could not parse sig fn pattern regex"))?; + + let deobfuscate_function = format!( + "var {};", + &function_pattern + .captures(player_js) + .ok_or(DeobfError::Extraction("sig fn"))?[1] + ); + + let helper_object_name_pattern = Regex::new(r";([\w\$]{2,3})\...\(").unwrap(); + let helper_object_name = helper_object_name_pattern + .captures(&deobfuscate_function) + .ok_or(DeobfError::Extraction("sig fn helper object name"))? + .get(1) + .unwrap() + .as_str(); + + let helper_pattern_str = format!( + r#"(var {}=\{{.+?\}}\}};)"#, + helper_object_name.replace('$', "\\$") + ); + let helper_pattern = Regex::new(&helper_pattern_str) + .map_err(|_| DeobfError::Other("could not parse helper pattern regex"))?; + let player_js_nonl = player_js.replace('\n', ""); + let helper_object = &helper_pattern + .captures(&player_js_nonl) + .ok_or(DeobfError::Extraction("sig fn helper object"))?[1]; + + let js_fn = helper_object.to_owned() + + &deobfuscate_function + + &caller_function(DEOBF_SIG_FUNC_NAME, &dfunc_name); tracing::trace!("sig_fn: {js_fn}"); verify_fn(&js_fn, DEOBF_SIG_FUNC_NAME)?; - tracing::debug!("successfully extracted sig fn `{name}`"); + tracing::debug!("successfully extracted sig fn `{dfunc_name}`"); Ok(js_fn) } fn get_nsig_fn_names(player_js: &str) -> impl Iterator + '_ { static FUNCTION_NAME_REGEX: Lazy = Lazy::new(|| { - // ( ==="index.m3u8" OR "index.m3u8"=== ) .. delete .. y=functionName[array_num](z) - Regex::new(r#"(?:(?:===(?:[\w$]+\[\d+\]|"index\.m3u8"))|(?:(?:[\w$]+\[\d+\]|"index\.m3u8")===)).+\bdelete\b.+\b[a-zA-Z]=([\w$]{2,})(?:\[(\d+)\])?\([a-zA-Z0-9]\)"#) + // x.get( .. y=functionName[array_num](z) .. x.set( + Regex::new(r#"(?:[\w$]\.get\(|index\.m3u8).+[a-zA-Z]=([\w$]{2,})(?:\[(\d+)\])?\([a-zA-Z0-9]\).+[a-zA-Z0-9]\.set\("#) .unwrap() }); @@ -172,71 +206,26 @@ fn get_nsig_fn_names(player_js: &str) -> impl Iterator + '_ { }) } -fn extract_js_fn(js: &str, name: &str) -> Result { - let function_base_re = Regex::new(&format!(r#"{}\s*=\s*function\("#, regex::escape(name))) - .map_err(|e| DeobfError::Other(format!("parsing regex for {name}: {e}").into()))?; - let offset = function_base_re - .find(js) - .ok_or(DeobfError::Extraction("could not find function base"))? - .start(); - +fn extract_js_fn(js: &str, offset: usize, name: &str) -> Result { let scan = ress::Scanner::new(&js[offset..]); let mut state = 0; + let mut level = 0; - #[derive(Default, Clone, PartialEq, Eq)] - struct Level { - brace: isize, - paren: isize, - bracket: isize, - } - - let mut level = Level::default(); - let mut start = 0usize; - let mut end = 0usize; + let mut start = 0; + let mut end = 0; let mut period_before = false; - let mut function_before = false; - let mut idents: HashMap = HashMap::new(); - // Set if the current statement is a variable/function param definition - // First value is the brace level, second is true if we are on the right hand side of an assignment - let mut var_def_stmt: Option<(Level, bool)> = None; + let mut last_ident = None; + let mut idents: HashMap = HashMap::new(); let global_objects = [ - "globalThis", - "NaN", - "undefined", - "Infinity", - "Object", - "Function", - "Boolean", - "Symbol", - "Error", - "Number", - "BigInt", - "Math", - "Date", - "String", - "RegExp", - "Array", - "Map", - "Set", - "eval", - "isFinite", - "isNaN", - "parseFloat", - "parseInt", - "decodeURI", - "decodeURIComponent", - "encodeURI", - "encodeURIComponent", - "escape", - "unescape", + "NaN", "Infinity", "Object", "Function", "Boolean", "Symbol", "Error", "Number", "BigInt", + "Math", "Date", "String", "RegExp", "Array", "Map", "Set", ]; for item in scan { let it = item?; let token = it.token; - match state { // Looking for fn name 0 => { @@ -247,113 +236,47 @@ fn extract_js_fn(js: &str, name: &str) -> Result { } // Looking for equals 1 => { - if token.matches_punct(Punct::Equal) { + if token.matches_punct(ress::tokens::Punct::Equal) { state = 2; } else { state = 0; } } 2 => { - match &token { - Token::Punct(punct) => { - let var_def_this_lvl = || { - var_def_stmt - .as_ref() - .map(|(x, _)| x == &level) - .unwrap_or_default() - }; + // Looking for begin/end braces + if token.matches_punct(ress::tokens::Punct::OpenBrace) { + level += 1; + } else if token.matches_punct(ress::tokens::Punct::CloseBrace) { + level -= 1; - match punct { - Punct::OpenBrace => { - level.brace += 1; - } - Punct::CloseBrace => { - if var_def_this_lvl() { - var_def_stmt = None; - } - level.brace -= 1; + if level == 0 { + end = it.span.end; + state = 3; + break; + } + } - if level.brace == 0 { - end = it.span.end; - state = 3; - break; - } - } - Punct::OpenParen => { - level.paren += 1; - } - Punct::CloseParen => { - if var_def_this_lvl() { - var_def_stmt = None; - } - level.paren -= 1; - } - Punct::OpenBracket => { - level.bracket += 1; - } - Punct::CloseBracket => { - if var_def_this_lvl() { - var_def_stmt = None; - } - level.bracket -= 1; - } - Punct::SemiColon => { - if var_def_this_lvl() { - var_def_stmt = None; - } - } - Punct::Comma => { - if let Some((lvl, rhs)) = &mut var_def_stmt { - if lvl == &level { - *rhs = false; - } - } - } - Punct::Equal => { - if let Some((lvl, rhs)) = &mut var_def_stmt { - if lvl == &level { - *rhs = true; - } - } - } - _ => {} + // Looking for variable names + if let Token::Ident(id) = &token { + if !period_before { + let id_str = id.to_string(); + if !global_objects.contains(&id_str.as_str()) { + last_ident = Some(id.to_string()); } } - Token::Keyword(kw) => match kw { - Keyword::Var(_) | Keyword::Let(_) | Keyword::Const(_) => { - var_def_stmt = Some((level.clone(), false)); - } - Keyword::Function(_) => { - let mut l = level.clone(); - l.paren += 1; - var_def_stmt = Some((l, false)); - } - _ => {} - }, - Token::Ident(id) => { - // Ignore object attributes - if !period_before && !global_objects.contains(&id.as_ref()) { - // If we are on the left hand side of a variable definition statement - // or after "function", mark the variable name as defined - if var_def_stmt - .as_ref() - .map(|(lvl, rhs)| lvl == &level && !rhs) - .unwrap_or_default() - || function_before - { - idents.insert(id.to_string(), true); - } else { - idents.entry(id.to_string()).or_default(); - } - } - } - _ => {} + } else if last_ident.is_some() + && !token.matches_punct(ress::tokens::Punct::OpenParen) + { + let n = idents.entry(last_ident.unwrap()).or_default(); + *n += 1; + last_ident = None; + } else { + last_ident = None; } } _ => break, }; - period_before = token.matches_punct(Punct::Period); - function_before = matches!(&token, Token::Keyword(Keyword::Function(_))); + period_before = token.matches_punct(ress::tokens::Punct::Period); } if state != 3 { @@ -364,10 +287,9 @@ fn extract_js_fn(js: &str, name: &str) -> Result { let mut code = format!("var {};", &js[fn_range.clone()]); let rt = rquickjs::Runtime::new()?; - for (ident, _) in idents.into_iter().filter(|(_, v)| !v) { - let var_pattern_str = format!(r#"(^|[^\w$\.]){}\s*=[^=]"#, regex::escape(&ident)); - let re = Regex::new(&var_pattern_str) - .map_err(|e| DeobfError::Other(format!("parsing regex for {ident}: {e}").into()))?; + for (ident, _) in idents.into_iter().filter(|(_, v)| *v == 1) { + let var_pattern_str = format!(r#"(^|[^\w$]){}\s*=[^=]"#, regex::escape(&ident)); + let re = Regex::new(&var_pattern_str).unwrap(); let found_variable = re .captures_iter(js) .filter(|cap| { @@ -425,13 +347,13 @@ fn extract_js_var(js: &str) -> Option<&str> { if let Token::Punct(p) = &token { match p { - Punct::OpenBrace => braces.push(b'{'), - Punct::OpenBracket => braces.push(b'['), - Punct::OpenParen => braces.push(b'('), - Punct::CloseBrace => close_brace(&mut braces, b'{')?, - Punct::CloseBracket => close_brace(&mut braces, b'[')?, - Punct::CloseParen => close_brace(&mut braces, b'(')?, - Punct::Comma | Punct::SemiColon => { + ress::tokens::Punct::OpenBrace => braces.push(b'{'), + ress::tokens::Punct::OpenBracket => braces.push(b'['), + ress::tokens::Punct::OpenParen => braces.push(b'('), + ress::tokens::Punct::CloseBrace => close_brace(&mut braces, b'{')?, + ress::tokens::Punct::CloseBracket => close_brace(&mut braces, b'[')?, + ress::tokens::Punct::CloseParen => close_brace(&mut braces, b'(')?, + ress::tokens::Punct::Comma | ress::tokens::Punct::SemiColon => { if braces.is_empty() { end = it.span.start; break; @@ -466,19 +388,23 @@ fn verify_fn(js_fn: &str, fn_name: &str) -> Result<(), DeobfError> { })?; if res.is_empty() { - return Err(DeobfError::Other( - "deobfuscation fn returned empty string".into(), - )); + return Err(DeobfError::Other("deobfuscation fn returned empty string")); } if res.starts_with("enhanced_except_") || res.ends_with(&testinp) { - return Err(DeobfError::Other("nsig fn returned an exception".into())); + return Err(DeobfError::Other("nsig fn returned an exception")); } Ok(()) } fn get_nsig_fn(player_js: &str) -> Result { let extract_fn = |name: &str| -> Result { - let code = extract_js_fn(player_js, name)?; + let function_base = format!("{name}=function"); + let offset = player_js + .find(&function_base) + .ok_or(DeobfError::Extraction("could not find function base"))?; + + let code = extract_js_fn(player_js, offset, name)?; + let js_fn = format!("{}{}", code, caller_function(DEOBF_NSIG_FUNC_NAME, name)); tracing::trace!("nsig_fn: {js_fn}"); verify_fn(&js_fn, DEOBF_NSIG_FUNC_NAME)?; @@ -546,9 +472,7 @@ mod tests { std::fs::read_to_string(js_path).unwrap() }); - const SIG_DEOBF_FUNC: &str = r#"var qB={w8:function(a){a.reverse()}, -EC:function(a,b){var c=a[0];a[0]=a[b%a.length];a[b%a.length]=c}, -Np:function(a,b){a.splice(0,b)}}; var Rva=function(a){a=a.split("");qB.Np(a,3);qB.w8(a,41);qB.EC(a,55);qB.Np(a,3);qB.w8(a,33);qB.Np(a,3);qB.EC(a,48);qB.EC(a,17);qB.EC(a,43);return a.join("")};var deobf_sig=Rva;"#; + const SIG_DEOBF_FUNC: &str = r#"var qB={w8:function(a){a.reverse()},EC:function(a,b){var c=a[0];a[0]=a[b%a.length];a[b%a.length]=c},Np:function(a,b){a.splice(0,b)}};var Rva=function(a){a=a.split("");qB.Np(a,3);qB.w8(a,41);qB.EC(a,55);qB.Np(a,3);qB.w8(a,33);qB.Np(a,3);qB.EC(a,48);qB.EC(a,17);qB.EC(a,43);return a.join("")};var deobf_sig=Rva;"#; const NSIG_DEOBF_FUNC: &str = r#"var Vo=function(a){var b=a.split(""),c=[function(d,e,f){var h=f.length;d.forEach(function(l,m,n){this.push(n[m]=f[(f.indexOf(l)-f.indexOf(this[m])+m+h--)%f.length])},e.split(""))}, 928409064,-595856984,1403221911,653089124,-168714481,-1883008765,158931990,1346921902,361518508,1403221911,-362174697,-233641452,function(){for(var d=64,e=[];++d-e.length-32;){switch(d){case 91:d=44;continue;case 123:d=65;break;case 65:d-=18;continue;case 58:d=96;continue;case 46:d=95}e.push(String.fromCharCode(d))}return e}, b,158931990,791141857,-907319795,-1776185924,1595027902,-829736173,function(d,e){e=(e%d.length+d.length)%d.length;d.splice(0,1,d.splice(e,1,d[0])[0])}, @@ -601,7 +525,7 @@ c[36](c[8],c[32]),c[20](c[25],c[10]),c[2](c[22],c[8]),c[32](c[20],c[16]),c[32](c #[test] fn t_extract_js_fn() { let base_js = "Wka = function(d){let x=10/2;return /,,[/,913,/](,)}/}let a = 42;"; - let res = extract_js_fn(base_js, "Wka").unwrap(); + let res = extract_js_fn(base_js, 0, "Wka").unwrap(); assert_eq!( res, "var Wka = function(d){let x=10/2;return /,,[/,913,/](,)}/};" @@ -612,7 +536,7 @@ c[36](c[8],c[32]),c[20](c[25],c[10]),c[2](c[22],c[8]),c[32](c[20],c[16]),c[32](c fn t_extract_js_fn_eviljs() { // Evil JavaScript code containing braces within strings and regular expressions let base_js = "Wka = function(d){var x = [/,,/,913,/(,)}/,\"abcdef}\\\"\",];var y = 10/2/1;return x[1][y];}//some={}random-padding+;"; - let res = extract_js_fn(base_js, "Wka").unwrap(); + let res = extract_js_fn(base_js, 0, "Wka").unwrap(); assert_eq!( res, "var Wka = function(d){var x = [/,,/,913,/(,)}/,\"abcdef}\\\"\",];var y = 10/2/1;return x[1][y];};" @@ -621,43 +545,33 @@ c[36](c[8],c[32]),c[20](c[25],c[10]),c[2](c[22],c[8]),c[32](c[20],c[16]),c[32](c #[test] fn t_extract_js_fn_outside_vars() { - let base_js = "let a1 = 42;foo();var b1=11;var da=77;bar();Wka = function(da){var xy=1+2+a1*b1;return xy;}"; - let res = extract_js_fn(base_js, "Wka").unwrap(); + let base_js = "let a = 42;foo();var b=11;bar();Wka = function(d){var x=1+2+a*b;return x;}"; + let res = extract_js_fn(base_js, 0, "Wka").unwrap(); // order of variables is non-reproducible assert!( - res == "var a1 = 42; var b1=11; var Wka = function(da){var xy=1+2+a1*b1;return xy;};" - || res == "var b1=11; var a1 = 42; var Wka = function(da){var xy=1+2+a1*b1;return xy;};", + res == "var a = 42; var b=11; var Wka = function(d){var x=1+2+a*b;return x;};" + || res == "var b=11; var a = 42; var Wka = function(d){var x=1+2+a*b;return x;};", "got {res}" ); } #[test] fn t_extract_js_fn_outside_vars2() { - let base_js = "{let a1 = {v1:1,v2:2}}foo();Wka = function(d){var x=1+2+a1.v1;return x;}"; - let res = extract_js_fn(base_js, "Wka").unwrap(); + let base_js = "{let a = {v1:1,v2:2}}foo();Wka = function(d){var x=1+2+a.v1;return x;}"; + let res = extract_js_fn(base_js, 0, "Wka").unwrap(); assert_eq!( res, - "var a1 = {v1:1,v2:2}; var Wka = function(d){var x=1+2+a1.v1;return x;};" + "var a = {v1:1,v2:2}; var Wka = function(d){var x=1+2+a.v1;return x;};" ); } #[test] fn t_extract_js_fn_outside_vars3() { - let base_js = "Wka = function(d){var x=1+2+a1[0];return x;};let a1=[1,2,3]"; - let res = extract_js_fn(base_js, "Wka").unwrap(); + let base_js = "Wka = function(d){var x=1+2+a[0];return x;};let a=[1,2,3]"; + let res = extract_js_fn(base_js, 0, "Wka").unwrap(); assert_eq!( res, - "var a1=[1,2,3]; var Wka = function(d){var x=1+2+a1[0];return x;};" - ); - } - - #[test] - fn t_extract_js_fn_outside_vars4() { - let base_js = "let a0=123456;let a1=function(a){return a};let Wka = function(d){var x=1+2+a1();return x;}"; - let res = extract_js_fn(base_js, "Wka").unwrap(); - assert_eq!( - res, - "var a1=function(a){return a}; var Wka = function(d){var x=1+2+a1();return x;};" + "var a=[1,2,3]; var Wka = function(d){var x=1+2+a[0];return x;};" ); } @@ -711,88 +625,65 @@ c[36](c[8],c[32]),c[20](c[25],c[10]),c[2](c[22],c[8]),c[32](c[20],c[16]),c[32](c } // Test cases from https://github.com/yt-dlp/yt-dlp/blob/master/test/test_youtube_signature.py + + #[rstest] + #[case("6ed0d907", "AOq0QJ8wRAIgXmPlOPSBkkUs1bYFYlJCfe29xx8j7v1pDL2QwbdV96sCIEzpWqMGkFR20CFOg51Tp-7vj_EMu-m37KtXJoOySqa0")] + #[case("3bb1f723", "MyOSJXtKI3m-uME_jv7-pT12gOFC02RFkGoqWpzE0Cs69VdbwQ0LDp1v7j8xx92efCJlYFYb1sUkkBSPOlPmXgIARw8JQ0qOAOAA")] + #[case("2f1832d2", "0QJ8wRAIgXmPlOPSBkkUs1bYFYlJCfe29xxAj7v1pDL0QwbdV96sCIEzpWqMGkFR20CFOg51Tp-7vj_EMu-m37KtXJ2OySqa0q")] #[tokio::test] #[traced_test] - async fn sig_tests() { - let cases = [ - ("6ed0d907", "AOq0QJ8wRAIgXmPlOPSBkkUs1bYFYlJCfe29xx8j7v1pDL2QwbdV96sCIEzpWqMGkFR20CFOg51Tp-7vj_EMu-m37KtXJoOySqa0"), - ("3bb1f723", "MyOSJXtKI3m-uME_jv7-pT12gOFC02RFkGoqWpzE0Cs69VdbwQ0LDp1v7j8xx92efCJlYFYb1sUkkBSPOlPmXgIARw8JQ0qOAOAA"), - ("2f1832d2", "0QJ8wRAIgXmPlOPSBkkUs1bYFYlJCfe29xxAj7v1pDL0QwbdV96sCIEzpWqMGkFR20CFOg51Tp-7vj_EMu-m37KtXJ2OySqa0q"), - ("643afba4", "AAOAOq0QJ8wRAIgXmPlOPSBkkUs1bYFYlJCfe29xx8j7vgpDL0QwbdV06sCIEzpWqMGkFR20CFOS21Tp-7vj_EMu-m37KtXJoOy1"), - ("363db69b", "0aqSyOoJXtK73m-uME_jv7-pT15gOFC02RFkGMqWpz2ICs6EVdbwQ0LDp1v7j8xx92efCJlYFYb1sUkkBSPOlPmXgIARw8JQ0qOAOAA"), - ("6450230e", "qax0aqSyOoJXtK73m-uME_jv7-pT152OFC02RFkGMqWpzEICs69VdbwQ0LDp1v7j8gx92efCJlYFYb1sUkkBSPOlPmXgIARw8JQ0qOAOAA"), - ]; + async fn sig_tests(#[case] js_hash: &str, #[case] exp_sig: &str) { + let (js_url, js_path) = player_js_file(js_hash).await; + let player_js = std::fs::read_to_string(js_path).unwrap(); + let deobf_data = DeobfData::extract_fns(&js_url, &player_js).unwrap(); + let deobf = Deobfuscator::new(&deobf_data).unwrap(); - for (js_hash, exp_sig) in cases { - let span = tracing::span!(tracing::Level::ERROR, "sig_test", js_hash); - let _enter = span.enter(); - - let (js_url, js_path) = player_js_file(js_hash).await; - let player_js = std::fs::read_to_string(js_path).unwrap(); - let deobf_data = DeobfData::extract_fns(&js_url, &player_js).unwrap(); - let deobf = Deobfuscator::new(&deobf_data).unwrap(); - - let deobf_sig = deobf.deobfuscate_sig("2aq0aqSyOoJXtK73m-uME_jv7-pT15gOFC02RFkGMqWpzEICs69VdbwQ0LDp1v7j8xx92efCJlYFYb1sUkkBSPOlPmXgIARw8JQ0qOAOAA").unwrap(); - assert_eq!(deobf_sig, exp_sig, "[{js_hash}]"); - } + let deobf_sig = deobf.deobfuscate_sig("2aq0aqSyOoJXtK73m-uME_jv7-pT15gOFC02RFkGMqWpzEICs69VdbwQ0LDp1v7j8xx92efCJlYFYb1sUkkBSPOlPmXgIARw8JQ0qOAOAA").unwrap(); + assert_eq!(deobf_sig, exp_sig, "js: {js_hash}"); } + #[rstest] + #[case("7862ca1f", "X_LCxVDjAavgE5t", "yxJ1dM6iz5ogUg")] + #[case("9216d1f7", "SLp9F5bwjAdhE9F-", "gWnb9IK2DJ8Q1w")] + #[case("f8cb7a3b", "oBo2h5euWy6osrUt", "ivXHpm7qJjJN")] + #[case("2dfe380c", "oBo2h5euWy6osrUt", "3DIBbn3qdQ")] + #[case("f1ca6900", "cu3wyu6LQn2hse", "jvxetvmlI9AN9Q")] + #[case("8040e515", "wvOFaY-yjgDuIEg5", "HkfBFDHmgw4rsw")] + #[case("e06dea74", "AiuodmaDDYw8d3y4bf", "ankd8eza2T6Qmw")] + #[case("5dd88d1d", "kSxKFLeqzv_ZyHSAt", "n8gS8oRlHOxPFA")] + #[case("324f67b9", "xdftNy7dh9QGnhW", "22qLGxrmX8F1rA")] + #[case("4c3f79c5", "TDCstCG66tEAO5pR9o", "dbxNtZ14c-yWyw")] + #[case("c81bbb4a", "gre3EcLurNY2vqp94", "Z9DfGxWP115WTg")] + #[case("1f7d5369", "batNX7sYqIJdkJ", "IhOkL_zxbkOZBw")] + #[case("009f1d77", "5dwFHw8aFWQUQtffRq", "audescmLUzI3jw")] + #[case("dc0c6770", "5EHDMgYLV6HPGk_Mu-kk", "n9lUJLHbxUI0GQ")] + #[case("113ca41c", "cgYl-tlYkhjT7A", "hI7BBr2zUgcmMg")] + #[case("c57c113c", "M92UUMHa8PdvPd3wyM", "3hPqLJsiNZx7yA")] + #[case("5a3b6271", "B2j7f_UPT4rfje85Lu_e", "m5DmNymaGQ5RdQ")] + #[case("7a062b77", "NRcE3y3mVtm_cV-W", "VbsCYUATvqlt5w")] + #[case("dac945fd", "o8BkRxXhuYsBCWi6RplPdP", "3Lx32v_hmzTm6A")] + #[case("6f20102c", "lE8DhoDmKqnmJJ", "pJTTX6XyJP2BYw")] + #[case("cfa9e7cb", "aCi3iElgd2kq0bxVbQ", "QX1y8jGb2IbZ0w")] + #[case("8c7583ff", "1wWCVpRR96eAmMI87L", "KSkWAVv1ZQxC3A")] + #[case("b7910ca8", "_hXMCwMt9qE310D", "LoZMgkkofRMCZQ")] + #[case("590f65a6", "1tm7-g_A9zsI8_Lay_", "xI4Vem4Put_rOg")] + #[case("b22ef6e7", "b6HcntHGkvBLk_FRf", "kNPW6A7FyP2l8A")] + #[case("3400486c", "lL46g3XifCKUZn1Xfw", "z767lhet6V2Skl")] + #[case("20dfca59", "-fLCxedkAk4LUTK2", "O8kfRq1y1eyHGw")] + #[case("b12cc44b", "keLa5R2U00sR9SQK", "N1OGyujjEwMnLw")] + #[case("3bb1f723", "gK15nzVyaXE9RsMP3z", "ZFFWFLPWx9DEgQ")] + #[case("2f1832d2", "YWt1qdbe8SAfkoPHW5d", "RrRjWQOJmBiP")] + #[case("19d2ae9d", "YWt1qdbe8SAfkoPHW5d", "CS6dVTYzpZrAZ5TD")] #[tokio::test] #[traced_test] - async fn nsig_tests() { - let cases = [ - ("7862ca1f", "X_LCxVDjAavgE5t", "yxJ1dM6iz5ogUg"), - ("9216d1f7", "SLp9F5bwjAdhE9F-", "gWnb9IK2DJ8Q1w"), - ("f8cb7a3b", "oBo2h5euWy6osrUt", "ivXHpm7qJjJN"), - ("2dfe380c", "oBo2h5euWy6osrUt", "3DIBbn3qdQ"), - ("f1ca6900", "cu3wyu6LQn2hse", "jvxetvmlI9AN9Q"), - ("8040e515", "wvOFaY-yjgDuIEg5", "HkfBFDHmgw4rsw"), - ("e06dea74", "AiuodmaDDYw8d3y4bf", "ankd8eza2T6Qmw"), - ("5dd88d1d", "kSxKFLeqzv_ZyHSAt", "n8gS8oRlHOxPFA"), - ("324f67b9", "xdftNy7dh9QGnhW", "22qLGxrmX8F1rA"), - ("4c3f79c5", "TDCstCG66tEAO5pR9o", "dbxNtZ14c-yWyw"), - ("c81bbb4a", "gre3EcLurNY2vqp94", "Z9DfGxWP115WTg"), - ("1f7d5369", "batNX7sYqIJdkJ", "IhOkL_zxbkOZBw"), - ("009f1d77", "5dwFHw8aFWQUQtffRq", "audescmLUzI3jw"), - ("dc0c6770", "5EHDMgYLV6HPGk_Mu-kk", "n9lUJLHbxUI0GQ"), - ("113ca41c", "cgYl-tlYkhjT7A", "hI7BBr2zUgcmMg"), - ("c57c113c", "M92UUMHa8PdvPd3wyM", "3hPqLJsiNZx7yA"), - ("5a3b6271", "B2j7f_UPT4rfje85Lu_e", "m5DmNymaGQ5RdQ"), - ("7a062b77", "NRcE3y3mVtm_cV-W", "VbsCYUATvqlt5w"), - ("dac945fd", "o8BkRxXhuYsBCWi6RplPdP", "3Lx32v_hmzTm6A"), - ("6f20102c", "lE8DhoDmKqnmJJ", "pJTTX6XyJP2BYw"), - ("cfa9e7cb", "aCi3iElgd2kq0bxVbQ", "QX1y8jGb2IbZ0w"), - ("8c7583ff", "1wWCVpRR96eAmMI87L", "KSkWAVv1ZQxC3A"), - ("b7910ca8", "_hXMCwMt9qE310D", "LoZMgkkofRMCZQ"), - ("590f65a6", "1tm7-g_A9zsI8_Lay_", "xI4Vem4Put_rOg"), - ("b22ef6e7", "b6HcntHGkvBLk_FRf", "kNPW6A7FyP2l8A"), - ("3400486c", "lL46g3XifCKUZn1Xfw", "z767lhet6V2Skl"), - ("20dfca59", "-fLCxedkAk4LUTK2", "O8kfRq1y1eyHGw"), - ("b12cc44b", "keLa5R2U00sR9SQK", "N1OGyujjEwMnLw"), - ("3bb1f723", "gK15nzVyaXE9RsMP3z", "ZFFWFLPWx9DEgQ"), - ("2f1832d2", "YWt1qdbe8SAfkoPHW5d", "RrRjWQOJmBiP"), - ("19d2ae9d", "YWt1qdbe8SAfkoPHW5d", "CS6dVTYzpZrAZ5TD"), - ("e7567ecf", "Sy4aDGc0VpYRR9ew_", "5UPOT1VhoZxNLQ"), - ("d50f54ef", "Ha7507LzRmH3Utygtj", "XFTb2HoeOE5MHg"), - ("074a8365", "Ha7507LzRmH3Utygtj", "ufTsrE0IVYrkl8v"), - ("643afba4", "N5uAlLqm0eg1GyHO", "dCBQOejdq5s-ww"), - ("69f581a5", "-qIP447rVlTTwaZjY", "KNcGOksBAvwqQg"), - ("363db69b", "eWYu5d5YeY_4LyEDc", "XJQqf-N7Xra3gg"), - ("6450230e", "eWYu5d5YeY_4LyEDc", "VfULHmlBUoDPVMN"), - ]; + async fn nsig_tests(#[case] js_hash: &str, #[case] nsig_in: &str, #[case] expect: &str) { + let (js_url, js_path) = player_js_file(js_hash).await; + let player_js = std::fs::read_to_string(js_path).unwrap(); + let deobf_data = DeobfData::extract_fns(&js_url, &player_js).unwrap(); + let deobf = Deobfuscator::new(&deobf_data).unwrap(); - for (js_hash, nsig_in, exp_nsig) in cases { - let span = tracing::span!(tracing::Level::ERROR, "nsig_test", js_hash); - let _enter = span.enter(); - - let (js_url, js_path) = player_js_file(js_hash).await; - let player_js = std::fs::read_to_string(js_path).unwrap(); - let deobf_data = DeobfData::extract_fns(&js_url, &player_js).expect(js_hash); - let deobf = Deobfuscator::new(&deobf_data).expect(js_hash); - - let deobf_nsig = deobf.deobfuscate_nsig(nsig_in).expect(js_hash); - assert_eq!(deobf_nsig, exp_nsig, "[{js_hash}]"); - } + let deobf_nsig = deobf.deobfuscate_nsig(nsig_in).unwrap(); + assert_eq!(deobf_nsig, expect, "js: {js_hash}"); } #[tokio::test] diff --git a/src/error.rs b/src/error.rs index 81cd7fa..b211904 100644 --- a/src/error.rs +++ b/src/error.rs @@ -105,13 +105,6 @@ pub enum UnavailabilityReason { OfflineLivestream, /// YouTube banned your IP address from accessing the platform without an account IpBan, - /// YouTube bans IP addresses from certain VPN providers from accessing certain geo-restricted - /// videos. - /// - /// If this happens to you, you can try another server / VPN provider or disable your VPN. - VpnBan, - /// YouTube requires the user to solve a ReCaptcha - Captcha, /// Video temporarily unavailable (rate limit) TryAgain, /// Video cant be played for other reasons @@ -132,8 +125,6 @@ impl Display for UnavailabilityReason { UnavailabilityReason::MembersOnly => f.write_str("members-only"), UnavailabilityReason::OfflineLivestream => f.write_str("offline stream"), UnavailabilityReason::IpBan => f.write_str("ip-ban"), - UnavailabilityReason::VpnBan => f.write_str("vpn-ban"), - UnavailabilityReason::Captcha => f.write_str("captcha"), UnavailabilityReason::TryAgain => f.write_str("try again"), UnavailabilityReason::Unplayable => f.write_str("unplayable"), } @@ -160,8 +151,6 @@ pub enum AuthError { } pub(crate) mod internal { - use std::borrow::Cow; - use super::{Error, ExtractionError}; /// Error that occurred during the initialization @@ -179,7 +168,7 @@ pub(crate) mod internal { Extraction(&'static str), /// Unspecified error #[error("error: {0}")] - Other(Cow<'static, str>), + Other(&'static str), } impl From for Error { diff --git a/src/model/mod.rs b/src/model/mod.rs index 9ceb38f..0912f74 100644 --- a/src/model/mod.rs +++ b/src/model/mod.rs @@ -38,7 +38,7 @@ pub struct Thumbnail { pub enum UrlTarget { /// YouTube video /// - /// Example: + /// Example: Video { /// Unique YouTube video ID id: String, @@ -1049,8 +1049,6 @@ pub struct TrackItem { pub track_nr: Option, /// Is the track by 'Various artists'? pub by_va: bool, - /// Is the track unavailable on YouTube Music? - pub unavailable: bool, } /// YouTube Music artist list item @@ -1236,8 +1234,6 @@ pub struct MusicAlbum { pub year: Option, /// Is the album by 'Various artists'? pub by_va: bool, - /// Number of album tracks - pub track_count: u16, /// Album tracks pub tracks: Vec, /// Album variants diff --git a/src/report.rs b/src/report.rs index 3ff5d4d..85477fa 100644 --- a/src/report.rs +++ b/src/report.rs @@ -70,8 +70,6 @@ pub struct RustyPipeInfo<'a> { /// YouTube content language #[serde(skip_serializing_if = "Option::is_none")] pub language: Option, - /// RustyPipe Botguard version (`rustypipe-botguard 0.1.1`) - pub botguard_version: Option<&'a str>, } /// Reported HTTP request data @@ -106,14 +104,13 @@ pub enum Level { ERR, } -impl<'a> RustyPipeInfo<'a> { - pub(crate) fn new(language: Option, botguard_version: Option<&'a str>) -> Self { +impl RustyPipeInfo<'_> { + pub(crate) fn new(language: Option) -> Self { Self { package: env!("CARGO_PKG_NAME"), version: crate::VERSION, date: util::now_sec(), language, - botguard_version, } } } diff --git a/src/util/dictionary.rs b/src/util/dictionary.rs index c69e888..6ada000 100644 --- a/src/util/dictionary.rs +++ b/src/util/dictionary.rs @@ -53,8 +53,6 @@ pub(crate) struct Entry { pub chan_prefix: &'static str, /// Channel name suffix on playlist pages pub chan_suffix: &'static str, - /// "Other versions" title on album pages - pub album_versions_title: &'static str, } #[rustfmt::skip] @@ -185,7 +183,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "deur", chan_suffix: "", - album_versions_title: "Ander weergawes", }, Language::Am => Entry { timeago_tokens: ::phf::Map { @@ -313,7 +310,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "በ", chan_suffix: "", - album_versions_title: "ሌሎች ስሪቶች", }, Language::Ar => Entry { timeago_tokens: ::phf::Map { @@ -449,7 +445,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "بواسطة", chan_suffix: "", - album_versions_title: "إصدارات أخرى", }, Language::As => Entry { timeago_tokens: ::phf::Map { @@ -572,7 +567,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "", chan_suffix: "ৰ দ\u{9cd}ব\u{9be}ৰ\u{9be}", - album_versions_title: "অন\u{9cd}য সংস\u{9cd}কৰণ", }, Language::Az => Entry { timeago_tokens: ::phf::Map { @@ -688,7 +682,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "by", chan_suffix: "", - album_versions_title: "Digər versiyalar", }, Language::Be => Entry { timeago_tokens: ::phf::Map { @@ -836,7 +829,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "ад", chan_suffix: "", - album_versions_title: "Іншыя версіі", }, Language::Bg => Entry { timeago_tokens: ::phf::Map { @@ -953,7 +945,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "от", chan_suffix: "", - album_versions_title: "Други версии", }, Language::Bn => Entry { timeago_tokens: ::phf::Map { @@ -1071,7 +1062,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: ",", chan_suffix: "দ\u{9cd}ব\u{9be}র\u{9be}", - album_versions_title: "অন\u{9cd}য সংস\u{9cd}করণগ\u{9c1}লি", }, Language::Bs => Entry { timeago_tokens: ::phf::Map { @@ -1211,7 +1201,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "od", chan_suffix: "", - album_versions_title: "Druge verzije", }, Language::Ca => Entry { timeago_tokens: ::phf::Map { @@ -1336,7 +1325,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "de:", chan_suffix: "", - album_versions_title: "Altres versions", }, Language::Cs => Entry { timeago_tokens: ::phf::Map { @@ -1467,7 +1455,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "autor:", chan_suffix: "", - album_versions_title: "Jiné verze", }, Language::Da => Entry { timeago_tokens: ::phf::Map { @@ -1592,7 +1579,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "af", chan_suffix: "", - album_versions_title: "Andre versioner", }, Language::De => Entry { timeago_tokens: ::phf::Map { @@ -1714,7 +1700,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "von", chan_suffix: "", - album_versions_title: "Weitere Versionen", }, Language::El => Entry { timeago_tokens: ::phf::Map { @@ -1845,7 +1830,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "από το χρήστη", chan_suffix: "", - album_versions_title: "Άλλες εκτελέσεις", }, Language::En | Language::EnGb | Language::EnIn => Entry { timeago_tokens: ::phf::Map { @@ -1987,7 +1971,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "by", chan_suffix: "", - album_versions_title: "Other versions", }, Language::Es => Entry { timeago_tokens: ::phf::Map { @@ -2115,7 +2098,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "de", chan_suffix: "", - album_versions_title: "Otras versiones", }, Language::EsUs | Language::Es419 => Entry { timeago_tokens: ::phf::Map { @@ -2244,7 +2226,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "de", chan_suffix: "", - album_versions_title: "Otras versiones", }, Language::Et => Entry { timeago_tokens: ::phf::Map { @@ -2370,7 +2351,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "kanalilt", chan_suffix: "", - album_versions_title: "Teised versioonid", }, Language::Eu => Entry { timeago_tokens: ::phf::Map { @@ -2487,7 +2467,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "egilea:", chan_suffix: "", - album_versions_title: "Beste bertsio batzuk", }, Language::Fa => Entry { timeago_tokens: ::phf::Map { @@ -2595,7 +2574,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "توسط", chan_suffix: "", - album_versions_title: "نسخه\u{200c}های دیگر", }, Language::Fi => Entry { timeago_tokens: ::phf::Map { @@ -2715,7 +2693,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "tekijä:", chan_suffix: "", - album_versions_title: "Muut versiot", }, Language::Fil => Entry { timeago_tokens: ::phf::Map { @@ -2833,7 +2810,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "ni/ng", chan_suffix: "", - album_versions_title: "Iba pang bersyon", }, Language::Fr | Language::FrCa => Entry { timeago_tokens: ::phf::Map { @@ -2965,7 +2941,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "de", chan_suffix: "", - album_versions_title: "Autres versions", }, Language::Gl => Entry { timeago_tokens: ::phf::Map { @@ -3090,7 +3065,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "de", chan_suffix: "", - album_versions_title: "Outras versións", }, Language::Gu => Entry { timeago_tokens: ::phf::Map { @@ -3196,7 +3170,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "", chan_suffix: "દ\u{acd}વારા", - album_versions_title: "અન\u{acd}ય વર\u{acd}ઝન", }, Language::Hi => Entry { timeago_tokens: ::phf::Map { @@ -3313,7 +3286,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "", chan_suffix: "क\u{947} ज\u{93c}रिए", - album_versions_title: "अन\u{94d}य वर\u{94d}शन", }, Language::Hr => Entry { timeago_tokens: ::phf::Map { @@ -3453,7 +3425,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "omogućio kanal", chan_suffix: "", - album_versions_title: "Druge verzije", }, Language::Hu => Entry { timeago_tokens: ::phf::Map { @@ -3583,7 +3554,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "", chan_suffix: "csatornától", - album_versions_title: "Más verziók", }, Language::Hy => Entry { timeago_tokens: ::phf::Map { @@ -3706,7 +3676,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "հեղինակ՝", chan_suffix: "", - album_versions_title: "Այլ տարբերակներ", }, Language::Id => Entry { timeago_tokens: ::phf::Map { @@ -3825,7 +3794,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "oleh", chan_suffix: "", - album_versions_title: "Versi lainnya", }, Language::Is => Entry { timeago_tokens: ::phf::Map { @@ -3960,7 +3928,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "eftir", chan_suffix: "", - album_versions_title: "Aðrar útgáfur", }, Language::It => Entry { timeago_tokens: ::phf::Map { @@ -4093,7 +4060,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "di", chan_suffix: "", - album_versions_title: "Altre versioni", }, Language::Iw => Entry { timeago_tokens: ::phf::Map { @@ -4232,7 +4198,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "מאת", chan_suffix: "", - album_versions_title: "גרסאות אחרות", }, Language::Ja => Entry { timeago_tokens: ::phf::Map { @@ -4313,7 +4278,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "作成者:", chan_suffix: "", - album_versions_title: "他のバージョン", }, Language::Ka => Entry { timeago_tokens: ::phf::Map { @@ -4436,7 +4400,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "", chan_suffix: "-ის მიერ", - album_versions_title: "სხვა ვერსიები", }, Language::Kk => Entry { timeago_tokens: ::phf::Map { @@ -4560,7 +4523,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "қосқан", chan_suffix: "", - album_versions_title: "Басқа нұсқалары", }, Language::Km => Entry { timeago_tokens: ::phf::Map { @@ -4661,7 +4623,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "ដោយ", chan_suffix: "", - album_versions_title: "ប\u{17d2}រភេទផ\u{17d2}សេងៗ", }, Language::Kn => Entry { timeago_tokens: ::phf::Map { @@ -4788,7 +4749,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "", chan_suffix: "ಚಾನಲ\u{ccd}\u{200c}ನ\u{cbf}ಂದ", - album_versions_title: "ಇತರ ಆವೃತ\u{ccd}ತ\u{cbf}ಗಳು", }, Language::Ko => Entry { timeago_tokens: ::phf::Map { @@ -4872,7 +4832,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "게시자:", chan_suffix: "", - album_versions_title: "다른 버전", }, Language::Ky => Entry { timeago_tokens: ::phf::Map { @@ -4991,7 +4950,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "", chan_suffix: "каналы аркылуу", - album_versions_title: "Башка версиялар", }, Language::Lo => Entry { timeago_tokens: ::phf::Map { @@ -5118,7 +5076,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "ໂດຍ", chan_suffix: "", - album_versions_title: "ເວ\u{eb5}ຊ\u{eb1}ນອ\u{eb7}\u{ec8}ນໆ", }, Language::Lt => Entry { timeago_tokens: ::phf::Map { @@ -5253,7 +5210,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "pridėjo", chan_suffix: "", - album_versions_title: "Kitos versijos", }, Language::Lv => Entry { timeago_tokens: ::phf::Map { @@ -5388,7 +5344,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "autors:", chan_suffix: "", - album_versions_title: "Citas versijas", }, Language::Mk => Entry { timeago_tokens: ::phf::Map { @@ -5516,7 +5471,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "од", chan_suffix: "", - album_versions_title: "Други верзии", }, Language::Ml => Entry { timeago_tokens: ::phf::Map { @@ -5631,7 +5585,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "", chan_suffix: "മ\u{d41}ഖേന", - album_versions_title: "മറ\u{d4d}റ\u{d4d} പതിപ\u{d4d}പ\u{d41}കൾ", }, Language::Mn => Entry { timeago_tokens: ::phf::Map { @@ -5736,7 +5689,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "сувгийн нэр:", chan_suffix: "", - album_versions_title: "Бусад хувилбар", }, Language::Mr => Entry { timeago_tokens: ::phf::Map { @@ -5861,7 +5813,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "", chan_suffix: "द\u{94d}वार\u{947}", - album_versions_title: "इतर आव\u{943}त\u{94d}त\u{94d}या", }, Language::Ms => Entry { timeago_tokens: ::phf::Map { @@ -5975,7 +5926,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "oleh", chan_suffix: "", - album_versions_title: "Versi lain", }, Language::My => Entry { timeago_tokens: ::phf::Map { @@ -6096,7 +6046,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "", chan_suffix: "မ\u{103e}", - album_versions_title: "အခြား ဗားရ\u{103e}င\u{103a}းများ", }, Language::Ne => Entry { timeago_tokens: ::phf::Map { @@ -6200,7 +6149,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "", chan_suffix: "द\u{94d}वारा", - album_versions_title: "अन\u{94d}य स\u{902}स\u{94d}करणहर\u{942}", }, Language::Nl => Entry { timeago_tokens: ::phf::Map { @@ -6323,7 +6271,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "door", chan_suffix: "", - album_versions_title: "Andere versies", }, Language::No => Entry { timeago_tokens: ::phf::Map { @@ -6452,7 +6399,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "av", chan_suffix: "", - album_versions_title: "Andre versjoner", }, Language::Or => Entry { timeago_tokens: ::phf::Map { @@ -6568,7 +6514,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "", chan_suffix: "ଦ\u{b4d}ଵ\u{b3e}ର\u{b3e}", - album_versions_title: "ଅନ\u{b4d}ୟ ସଂସ\u{b4d}କରଣଗ\u{b41}ଡ\u{b3c}\u{b3f}କ", }, Language::Pa => Entry { timeago_tokens: ::phf::Map { @@ -6684,7 +6629,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "", chan_suffix: "ਵ\u{a71}ਲ\u{a4b}\u{a02}", - album_versions_title: "ਹ\u{a4b}ਰ ਵਰਜਨ", }, Language::Pl => Entry { timeago_tokens: ::phf::Map { @@ -6830,7 +6774,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "autor:", chan_suffix: "", - album_versions_title: "Inne wersje", }, Language::Pt => Entry { timeago_tokens: ::phf::Map { @@ -6960,7 +6903,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "por", chan_suffix: "", - album_versions_title: "Outras versões", }, Language::PtPt => Entry { timeago_tokens: ::phf::Map { @@ -7073,7 +7015,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "de", chan_suffix: "", - album_versions_title: "Outras versões", }, Language::Ro => Entry { timeago_tokens: ::phf::Map { @@ -7202,7 +7143,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "de", chan_suffix: "", - album_versions_title: "Alte versiuni", }, Language::Ru => Entry { timeago_tokens: ::phf::Map { @@ -7346,7 +7286,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "", chan_suffix: "", - album_versions_title: "Другие версии", }, Language::Si => Entry { timeago_tokens: ::phf::Map { @@ -7458,7 +7397,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "", chan_suffix: "ව\u{dd2}ස\u{dd2}න\u{dca}", - album_versions_title: "අනෙක\u{dd4}ත\u{dca} අන\u{dd4}ව\u{dcf}දයන\u{dca}", }, Language::Sk => Entry { timeago_tokens: ::phf::Map { @@ -7589,7 +7527,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "Autori:", chan_suffix: "", - album_versions_title: "Ďalšie verzie", }, Language::Sl => Entry { timeago_tokens: ::phf::Map { @@ -7739,7 +7676,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "kanal", chan_suffix: "", - album_versions_title: "Druge različice", }, Language::Sq => Entry { timeago_tokens: ::phf::Map { @@ -7860,7 +7796,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "nga", chan_suffix: "", - album_versions_title: "Versione të tjera", }, Language::Sr => Entry { timeago_tokens: ::phf::Map { @@ -7991,7 +7926,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "са канала", chan_suffix: "", - album_versions_title: "Друге верзије", }, Language::SrLatn => Entry { timeago_tokens: ::phf::Map { @@ -8122,7 +8056,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "sa kanala", chan_suffix: "", - album_versions_title: "Druge verzije", }, Language::Sv => Entry { timeago_tokens: ::phf::Map { @@ -8245,7 +8178,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "från", chan_suffix: "", - album_versions_title: "Andra versioner", }, Language::Sw => Entry { timeago_tokens: ::phf::Map { @@ -8359,7 +8291,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "kutoka", chan_suffix: "", - album_versions_title: "Matoleo mengine", }, Language::Ta => Entry { timeago_tokens: ::phf::Map { @@ -8490,7 +8421,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "வழங\u{bcd}கியவர\u{bcd}:", chan_suffix: "", - album_versions_title: "பிற பதிப\u{bcd}புகள\u{bcd}", }, Language::Te => Entry { timeago_tokens: ::phf::Map { @@ -8617,7 +8547,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "", chan_suffix: "ఛ\u{c3e}న\u{c46}ల\u{c4d} ద\u{c4d}వ\u{c3e}ర\u{c3e}", - album_versions_title: "ఇతర వ\u{c46}ర\u{c4d}షన\u{c4d}\u{200c}లు", }, Language::Th => Entry { timeago_tokens: ::phf::Map { @@ -8748,7 +8677,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "โดย", chan_suffix: "", - album_versions_title: "เวอร\u{e4c}ช\u{e31}นอ\u{e37}\u{e48}นๆ", }, Language::Tr => Entry { timeago_tokens: ::phf::Map { @@ -8869,7 +8797,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "", chan_suffix: "tarafından", - album_versions_title: "Diğer versiyonlar", }, Language::Uk => Entry { timeago_tokens: ::phf::Map { @@ -9018,7 +8945,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "власник:", chan_suffix: "", - album_versions_title: "Інші версії", }, Language::Ur => Entry { timeago_tokens: ::phf::Map { @@ -9144,7 +9070,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "منجانب", chan_suffix: "", - album_versions_title: "دیگر ورژنز", }, Language::Uz => Entry { timeago_tokens: ::phf::Map { @@ -9259,7 +9184,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "muallif:", chan_suffix: "", - album_versions_title: "Boshqa versiyalari", }, Language::Vi => Entry { timeago_tokens: ::phf::Map { @@ -9341,7 +9265,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "của", chan_suffix: "", - album_versions_title: "Các phiên bản khác", }, Language::ZhCn => Entry { timeago_tokens: ::phf::Map { @@ -9439,7 +9362,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "创建者:", chan_suffix: "", - album_versions_title: "其他版本", }, Language::ZhHk => Entry { timeago_tokens: ::phf::Map { @@ -9521,7 +9443,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "來自", chan_suffix: "", - album_versions_title: "其他版本", }, Language::ZhTw => Entry { timeago_tokens: ::phf::Map { @@ -9602,7 +9523,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "由", chan_suffix: "建立", - album_versions_title: "其他版本", }, Language::Zu => Entry { timeago_tokens: ::phf::Map { @@ -9738,7 +9658,6 @@ pub(crate) fn entry(lang: Language) -> Entry { }, chan_prefix: "ka-", chan_suffix: "", - album_versions_title: "Ezinye izinguqulo", }, } } diff --git a/src/util/mod.rs b/src/util/mod.rs index 368d114..0f4499f 100644 --- a/src/util/mod.rs +++ b/src/util/mod.rs @@ -21,7 +21,7 @@ use regex::Regex; use url::Url; use crate::{ - error::Error, + error::{AuthError, Error, ExtractionError}, param::{Country, Language, COUNTRIES}, serializer::text::TextComponent, }; @@ -75,10 +75,10 @@ pub fn get_cg_from_fancy_regexes(regexes: &[&str], text: &str, cg_name: &str) -> /// Generate a random string with given length and byte charset. fn random_string(charset: &[u8], length: usize) -> String { let mut result = String::with_capacity(length); - let mut rng = rand::rng(); + let mut rng = rand::thread_rng(); for _ in 0..length { - result.push(char::from(charset[rng.random_range(0..charset.len())])); + result.push(char::from(charset[rng.gen_range(0..charset.len())])); } result @@ -90,14 +90,14 @@ pub fn generate_content_playback_nonce() -> String { } pub fn random_uuid() -> String { - let mut rng = rand::rng(); + let mut rng = rand::thread_rng(); format!( "{:08x}-{:04x}-{:04x}-{:04x}-{:012x}", - rng.random::(), - rng.random::(), - rng.random::(), - rng.random::(), - rng.random::() & 0xffff_ffff_ffff, + rng.gen::(), + rng.gen::(), + rng.gen::(), + rng.gen::(), + rng.gen::() & 0xffff_ffff_ffff, ) } @@ -229,7 +229,7 @@ pub fn retry_delay( backoff_base: u32, ) -> u32 { let unjittered_delay = backoff_base.checked_pow(n_past_retries).unwrap_or(u32::MAX); - let jitter_factor = rand::rng().random_range(800..1500); + let jitter_factor = rand::thread_rng().gen_range(800..1500); let jittered_delay = unjittered_delay .checked_mul(jitter_factor) .unwrap_or(u32::MAX); @@ -581,10 +581,9 @@ where /// /// If no user is logged in, YouTube returns a "NotFound" error. This has to be corrected /// into a NoLogin error. -#[cfg(feature = "userdata")] pub fn map_internal_playlist_err(e: Error) -> Error { - if let Error::Extraction(crate::error::ExtractionError::NotFound { .. }) = e { - Error::Auth(crate::error::AuthError::NoLogin) + if let Error::Extraction(ExtractionError::NotFound { .. }) = e { + Error::Auth(AuthError::NoLogin) } else { e } diff --git a/src/util/timeago.rs b/src/util/timeago.rs index 8452415..011b3ed 100644 --- a/src/util/timeago.rs +++ b/src/util/timeago.rs @@ -347,7 +347,6 @@ pub fn parse_textual_date_to_dt( /// Parse a textual date (e.g. "29 minutes ago" "Jul 2, 2014") into a Date object. /// /// Returns None if the date could not be parsed. -#[cfg(feature = "userdata")] pub fn parse_textual_date_to_d( lang: Language, utc_offset: UtcOffset, diff --git a/src/util/visitor_data.rs b/src/util/visitor_data.rs index 2de2cfe..b9a3d7b 100644 --- a/src/util/visitor_data.rs +++ b/src/util/visitor_data.rs @@ -110,7 +110,7 @@ impl VisitorDataCache { /// Fetch a new visitor data ID and store it in the cache pub async fn new_visitor_data(&self) -> Result { - let vd = self.fetch_visitor_data().await?; + let vd = self.fetch_visitor_data().await.unwrap(); self.inner .req_counter @@ -148,8 +148,8 @@ impl VisitorDataCache { { let vds = self.inner.visitor_data.read().unwrap(); if !vds.is_empty() { - let mut rng = rand::rng(); - let vd = vds[rng.random_range(0..vds.len())].to_owned(); + let mut rng = rand::thread_rng(); + let vd = vds[rng.gen_range(0..vds.len())].to_owned(); tracing::debug!("visitor data {vd} picked from cache"); return Ok(vd); } @@ -181,7 +181,7 @@ impl VisitorDataCache { pub fn get_pot(&self, visitor_data: &str) -> Option { let pots = self.inner.session_potoken.read().unwrap(); if let Some(entry) = pots.get(visitor_data) { - if entry.valid_until > OffsetDateTime::now_utc() + time::Duration::minutes(10) { + if entry.valid_until > OffsetDateTime::now_utc() { return Some(entry.clone()); } } @@ -245,21 +245,12 @@ mod tests { for _ in 0..4 { cache.get().await.unwrap(); } + tokio::time::sleep(Duration::from_millis(1000)).await; - for _ in 0..3 { - tokio::time::sleep(Duration::from_millis(1000)).await; - { - let vd = cache.inner.visitor_data.read().unwrap(); - if !vd.contains(&v1) { - break; - } - } - } { let vd = cache.inner.visitor_data.read().unwrap(); assert!(!vd.contains(&v1), "first token still present"); } - assert_eq!(cache.get_pot(&v1), None); } } diff --git a/testfiles/deobf/dummy_player.js b/testfiles/deobf/dummy_player.js index 9ff4b0f..6fa8f7e 100644 --- a/testfiles/deobf/dummy_player.js +++ b/testfiles/deobf/dummy_player.js @@ -152,7 +152,7 @@ function f(){ return 0; } with(0); // n_deobf function -Ab=function(){ODa(b.D.toString());Object.assign(a.j,d);a.j.file==="index.m3u8"&&(delete a.j.file,a.path+="/file/index.m3u8");a.B="";a.url="";a.D&&(b="nn"[+a.D],JL(a),c=a.j[b]||null)&&(c=aF[0](c),a.set(b,c),aF.length||Pma(""))}; +{p.X&&(b=a.get("n"))&&(b=aF[0](c),a.set("n",b),vZ.length||Vo(""))}; switch(0){} switch(0){case 0:} switch(0){case 0:case 0:} switch(0){default:} switch(0){case 0:default:case 0:} diff --git a/testfiles/dict/dictionary.json b/testfiles/dict/dictionary.json index 2c45d58..8076997 100644 --- a/testfiles/dict/dictionary.json +++ b/testfiles/dict/dictionary.json @@ -2,7 +2,6 @@ "af": { "equivalent": [], "by_char": false, - "month_before_day": true, "timeago_tokens": { "s": "s", "sekonde": "s", @@ -81,12 +80,11 @@ }, "chan_prefix": "deur", "chan_suffix": "", - "album_versions_title": "Ander weergawes" + "month_before_day": true }, "am": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "ሰከ": "s", "ሰከንድ": "s", @@ -166,12 +164,11 @@ }, "chan_prefix": "በ", "chan_suffix": "", - "album_versions_title": "ሌሎች ስሪቶች" + "month_before_day": false }, "ar": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "ث": "s", "ثانية": "s", @@ -258,12 +255,11 @@ }, "chan_prefix": "بواسطة", "chan_suffix": "", - "album_versions_title": "إصدارات أخرى" + "month_before_day": false }, "as": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "ছেকেণ্ড": "s", "মিনিট": "m", @@ -339,12 +335,11 @@ }, "chan_prefix": "", "chan_suffix": "ৰ দ্বাৰা", - "album_versions_title": "অন্য সংস্কৰণ" + "month_before_day": false }, "az": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "san": "s", "saniyə": "s", @@ -414,12 +409,11 @@ }, "chan_prefix": "by", "chan_suffix": "", - "album_versions_title": "Digər versiyalar" + "month_before_day": false }, "be": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "с": "s", "секунд": "s", @@ -516,12 +510,11 @@ }, "chan_prefix": "ад", "chan_suffix": "", - "album_versions_title": "Іншыя версіі" + "month_before_day": false }, "bg": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "сек": "s", "секунда": "s", @@ -592,12 +585,11 @@ }, "chan_prefix": "от", "chan_suffix": "", - "album_versions_title": "Други версии" + "month_before_day": false }, "bn": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "সেকেন্ড": "s", "মিনিট": "m", @@ -668,12 +660,11 @@ }, "chan_prefix": ",", "chan_suffix": "দ্বারা", - "album_versions_title": "অন্য সংস্করণগুলি" + "month_before_day": false }, "bs": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "sek": "s", "sekunda": "s", @@ -763,12 +754,11 @@ }, "chan_prefix": "od", "chan_suffix": "", - "album_versions_title": "Druge verzije" + "month_before_day": false }, "ca": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "s": "s", "segon": "s", @@ -845,12 +835,11 @@ }, "chan_prefix": "de:", "chan_suffix": "", - "album_versions_title": "Altres versions" + "month_before_day": false }, "cs": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "s": "s", "sekund": "s", @@ -932,12 +921,11 @@ }, "chan_prefix": "autor:", "chan_suffix": "", - "album_versions_title": "Jiné verze" + "month_before_day": false }, "da": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "sek": "s", "sekund": "s", @@ -1014,12 +1002,11 @@ }, "chan_prefix": "af", "chan_suffix": "", - "album_versions_title": "Andre versioner" + "month_before_day": false }, "de": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "sek": "s", "sekunde": "s", @@ -1094,12 +1081,11 @@ }, "chan_prefix": "von", "chan_suffix": "", - "album_versions_title": "Weitere Versionen" + "month_before_day": false }, "el": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "δευτ": "s", "δευτερόλεπτα": "s", @@ -1182,15 +1168,11 @@ }, "chan_prefix": "από το χρήστη", "chan_suffix": "", - "album_versions_title": "Άλλες εκτελέσεις" + "month_before_day": false }, "en": { - "equivalent": [ - "en-GB", - "en-IN" - ], + "equivalent": ["en-GB", "en-IN"], "by_char": false, - "month_before_day": true, "timeago_tokens": { "s": "s", "sec": "s", @@ -1282,12 +1264,11 @@ }, "chan_prefix": "by", "chan_suffix": "", - "album_versions_title": "Other versions" + "month_before_day": true }, "es": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "s": "s", "segundo": "s", @@ -1367,14 +1348,11 @@ }, "chan_prefix": "de", "chan_suffix": "", - "album_versions_title": "Otras versiones" + "month_before_day": false }, "es-US": { - "equivalent": [ - "es-419" - ], + "equivalent": ["es-419"], "by_char": false, - "month_before_day": false, "timeago_tokens": { "s": "s", "segundo": "s", @@ -1455,12 +1433,11 @@ }, "chan_prefix": "de", "chan_suffix": "", - "album_versions_title": "Otras versiones" + "month_before_day": false }, "et": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "sek": "s", "sekund": "s", @@ -1539,12 +1516,11 @@ }, "chan_prefix": "kanalilt", "chan_suffix": "", - "album_versions_title": "Teised versioonid" + "month_before_day": false }, "eu": { "equivalent": [], "by_char": false, - "month_before_day": true, "timeago_tokens": { "s": "s", "segundo": "s", @@ -1615,12 +1591,11 @@ }, "chan_prefix": "egilea:", "chan_suffix": "", - "album_versions_title": "Beste bertsio batzuk" + "month_before_day": true }, "fa": { "equivalent": [], "by_char": false, - "month_before_day": true, "timeago_tokens": { "ثانیه": "s", "دقیقه": "m", @@ -1683,12 +1658,11 @@ }, "chan_prefix": "توسط", "chan_suffix": "", - "album_versions_title": "نسخه‌های دیگر" + "month_before_day": true }, "fi": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "s": "s", "sekunti": "s", @@ -1761,12 +1735,11 @@ }, "chan_prefix": "tekijä:", "chan_suffix": "", - "album_versions_title": "Muut versiot" + "month_before_day": false }, "fil": { "equivalent": [], "by_char": false, - "month_before_day": true, "timeago_tokens": { "seg": "s", "segundo": "s", @@ -1838,14 +1811,11 @@ }, "chan_prefix": "ni/ng", "chan_suffix": "", - "album_versions_title": "Iba pang bersyon" + "month_before_day": true }, "fr": { - "equivalent": [ - "fr-CA" - ], + "equivalent": ["fr-CA"], "by_char": false, - "month_before_day": false, "timeago_tokens": { "s": "s", "seconde": "s", @@ -1929,12 +1899,11 @@ }, "chan_prefix": "de", "chan_suffix": "", - "album_versions_title": "Autres versions" + "month_before_day": false }, "gl": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "s": "s", "segundo": "s", @@ -2011,12 +1980,11 @@ }, "chan_prefix": "de", "chan_suffix": "", - "album_versions_title": "Outras versións" + "month_before_day": false }, "gu": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "સેકંડ": "s", "મિનિટ": "m", @@ -2078,12 +2046,11 @@ }, "chan_prefix": "", "chan_suffix": "દ્વારા", - "album_versions_title": "અન્ય વર્ઝન" + "month_before_day": false }, "hi": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "से॰": "s", "सेकंड": "s", @@ -2154,12 +2121,11 @@ }, "chan_prefix": "", "chan_suffix": "के ज़रिए", - "album_versions_title": "अन्य वर्शन" + "month_before_day": false }, "hr": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "s": "s", "sekunda": "s", @@ -2249,12 +2215,11 @@ }, "chan_prefix": "omogućio kanal", "chan_suffix": "", - "album_versions_title": "Druge verzije" + "month_before_day": false }, "hu": { "equivalent": [], "by_char": false, - "month_before_day": true, "timeago_tokens": { "másodperc": "s", "másodperccel": "s", @@ -2336,12 +2301,11 @@ }, "chan_prefix": "", "chan_suffix": "csatornától", - "album_versions_title": "Más verziók" + "month_before_day": true }, "hy": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "վայրկյան": "s", "վրկ": "s", @@ -2417,12 +2381,11 @@ }, "chan_prefix": "հեղինակ՝", "chan_suffix": "", - "album_versions_title": "Այլ տարբերակներ" + "month_before_day": false }, "id": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "detik": "s", "dtk": "s", @@ -2495,12 +2458,11 @@ }, "chan_prefix": "oleh", "chan_suffix": "", - "album_versions_title": "Versi lainnya" + "month_before_day": false }, "is": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "sek": "s", "sekúnda": "s", @@ -2586,12 +2548,11 @@ }, "chan_prefix": "eftir", "chan_suffix": "", - "album_versions_title": "Aðrar útgáfur" + "month_before_day": false }, "it": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "s": "s", "sec": "s", @@ -2675,12 +2636,11 @@ }, "chan_prefix": "di", "chan_suffix": "", - "album_versions_title": "Altre versioni" + "month_before_day": false }, "iw": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "שנ׳": "s", "שניה": "s", @@ -2769,12 +2729,11 @@ }, "chan_prefix": "מאת", "chan_suffix": "", - "album_versions_title": "גרסאות אחרות" + "month_before_day": false }, "ja": { "equivalent": [], "by_char": true, - "month_before_day": true, "timeago_tokens": { "秒": "s", "分": "m", @@ -2814,12 +2773,11 @@ }, "chan_prefix": "作成者:", "chan_suffix": "", - "album_versions_title": "他のバージョン" + "month_before_day": true }, "ka": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "წამი": "s", "წამის": "s", @@ -2895,12 +2853,11 @@ }, "chan_prefix": "", "chan_suffix": "-ის მიერ", - "album_versions_title": "სხვა ვერსიები" + "month_before_day": false }, "kk": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "с": "s", "сек": "s", @@ -2977,12 +2934,11 @@ }, "chan_prefix": "қосқан", "chan_suffix": "", - "album_versions_title": "Басқа нұсқалары" + "month_before_day": false }, "km": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "វិនាទី": "s", "វិនាទីមុន": "s", @@ -3040,12 +2996,11 @@ }, "chan_prefix": "ដោយ", "chan_suffix": "", - "album_versions_title": "ប្រភេទផ្សេងៗ" + "month_before_day": false }, "kn": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "ಸೆಕೆಂ": "s", "ಸೆಕೆಂಡುಗಳ": "s", @@ -3124,12 +3079,11 @@ }, "chan_prefix": "", "chan_suffix": "ಚಾನಲ್‌ನಿಂದ", - "album_versions_title": "ಇತರ ಆವೃತ್ತಿಗಳು" + "month_before_day": false }, "ko": { "equivalent": [], "by_char": false, - "month_before_day": true, "timeago_tokens": { "초": "s", "분": "m", @@ -3172,12 +3126,11 @@ }, "chan_prefix": "게시자:", "chan_suffix": "", - "album_versions_title": "다른 버전" + "month_before_day": true }, "ky": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "сек": "s", "секунд": "s", @@ -3250,12 +3203,11 @@ }, "chan_prefix": "", "chan_suffix": "каналы аркылуу", - "album_versions_title": "Башка версиялар" + "month_before_day": false }, "lo": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "ວິ": "s", "ວິນາທີ": "s", @@ -3335,12 +3287,11 @@ }, "chan_prefix": "ໂດຍ", "chan_suffix": "", - "album_versions_title": "ເວີຊັນອື່ນໆ" + "month_before_day": false }, "lt": { "equivalent": [], "by_char": false, - "month_before_day": true, "timeago_tokens": { "sek": "s", "sekundė": "s", @@ -3426,12 +3377,11 @@ }, "chan_prefix": "pridėjo", "chan_suffix": "", - "album_versions_title": "Kitos versijos" + "month_before_day": true }, "lv": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "sek": "s", "sekunde": "s", @@ -3517,12 +3467,11 @@ }, "chan_prefix": "autors:", "chan_suffix": "", - "album_versions_title": "Citas versijas" + "month_before_day": false }, "mk": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "сек": "s", "секунда": "s", @@ -3602,12 +3551,11 @@ }, "chan_prefix": "од", "chan_suffix": "", - "album_versions_title": "Други верзии" + "month_before_day": false }, "ml": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "സെ": "s", "സെക്കൻഡ്": "s", @@ -3676,12 +3624,11 @@ }, "chan_prefix": "", "chan_suffix": "മുഖേന", - "album_versions_title": "മറ്റ് പതിപ്പുകൾ" + "month_before_day": false }, "mn": { "equivalent": [], "by_char": false, - "month_before_day": true, "timeago_tokens": { "сек": "s", "секунд": "s", @@ -3742,12 +3689,11 @@ }, "chan_prefix": "сувгийн нэр:", "chan_suffix": "", - "album_versions_title": "Бусад хувилбар" + "month_before_day": true }, "mr": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "से": "s", "सेकंद": "s", @@ -3826,12 +3772,11 @@ }, "chan_prefix": "", "chan_suffix": "द्वारे", - "album_versions_title": "इतर आवृत्त्या" + "month_before_day": false }, "ms": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "saat": "s", "min": "m", @@ -3899,12 +3844,11 @@ }, "chan_prefix": "oleh", "chan_suffix": "", - "album_versions_title": "Versi lain" + "month_before_day": false }, "my": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "sec": "s", "စက္ကန့်": "s", @@ -3978,12 +3922,11 @@ }, "chan_prefix": "", "chan_suffix": "မှ", - "album_versions_title": "အခြား ဗားရှင်းများ" + "month_before_day": false }, "ne": { "equivalent": [], "by_char": false, - "month_before_day": true, "timeago_tokens": { "सेकेन्ड": "s", "मिनेट": "m", @@ -4043,12 +3986,11 @@ }, "chan_prefix": "", "chan_suffix": "द्वारा", - "album_versions_title": "अन्य संस्करणहरू" + "month_before_day": true }, "nl": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "sec": "s", "seconde": "s", @@ -4124,12 +4066,11 @@ }, "chan_prefix": "door", "chan_suffix": "", - "album_versions_title": "Andere versies" + "month_before_day": false }, "no": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "sek": "s", "sekund": "s", @@ -4210,12 +4151,11 @@ }, "chan_prefix": "av", "chan_suffix": "", - "album_versions_title": "Andre versjoner" + "month_before_day": false }, "or": { "equivalent": [], "by_char": false, - "month_before_day": true, "timeago_tokens": { "ସେ": "s", "ସେକେଣ୍ଡ": "s", @@ -4285,12 +4225,11 @@ }, "chan_prefix": "", "chan_suffix": "ଦ୍ଵାରା", - "album_versions_title": "ଅନ୍ୟ ସଂସ୍କରଣଗୁଡ଼ିକ" + "month_before_day": true }, "pa": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "ਸਕਿੰਟ": "s", "ਮਿੰਟ": "m", @@ -4360,12 +4299,11 @@ }, "chan_prefix": "", "chan_suffix": "ਵੱਲੋਂ", - "album_versions_title": "ਹੋਰ ਵਰਜਨ" + "month_before_day": false }, "pl": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "sek": "s", "sekund": "s", @@ -4460,12 +4398,11 @@ }, "chan_prefix": "autor:", "chan_suffix": "", - "album_versions_title": "Inne wersje" + "month_before_day": false }, "pt": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "s": "s", "seg": "s", @@ -4547,12 +4484,11 @@ }, "chan_prefix": "por", "chan_suffix": "", - "album_versions_title": "Outras versões" + "month_before_day": false }, "pt-PT": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "s": "s", "segundo": "s", @@ -4619,12 +4555,11 @@ }, "chan_prefix": "de", "chan_suffix": "", - "album_versions_title": "Outras versões" + "month_before_day": false }, "ro": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "s": "s", "sec": "s", @@ -4705,12 +4640,11 @@ }, "chan_prefix": "de", "chan_suffix": "", - "album_versions_title": "Alte versiuni" + "month_before_day": false }, "ru": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "с": "s", "сек": "s", @@ -4803,12 +4737,11 @@ }, "chan_prefix": "", "chan_suffix": "", - "album_versions_title": "Другие версии" + "month_before_day": false }, "si": { "equivalent": [], "by_char": false, - "month_before_day": true, "timeago_tokens": { "තත්": "s", "තත්පර": "s", @@ -4875,12 +4808,11 @@ }, "chan_prefix": "", "chan_suffix": "විසින්", - "album_versions_title": "අනෙකුත් අනුවාදයන්" + "month_before_day": true }, "sk": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "s": "s", "sekúnd": "s", @@ -4962,12 +4894,11 @@ }, "chan_prefix": "Autori:", "chan_suffix": "", - "album_versions_title": "Ďalšie verzie" + "month_before_day": false }, "sl": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "s": "s", "sek": "s", @@ -5065,12 +4996,11 @@ }, "chan_prefix": "kanal", "chan_suffix": "", - "album_versions_title": "Druge različice" + "month_before_day": false }, "sq": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "sek": "s", "sekonda": "s", @@ -5144,12 +5074,11 @@ }, "chan_prefix": "nga", "chan_suffix": "", - "album_versions_title": "Versione të tjera" + "month_before_day": false }, "sr": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "сек": "s", "секунда": "s", @@ -5231,12 +5160,11 @@ }, "chan_prefix": "са канала", "chan_suffix": "", - "album_versions_title": "Друге верзије" + "month_before_day": false }, "sr-Latn": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "sek": "s", "sekunda": "s", @@ -5318,12 +5246,11 @@ }, "chan_prefix": "sa kanala", "chan_suffix": "", - "album_versions_title": "Druge verzije" + "month_before_day": false }, "sv": { "equivalent": [], "by_char": false, - "month_before_day": true, "timeago_tokens": { "s": "s", "sekund": "s", @@ -5399,12 +5326,11 @@ }, "chan_prefix": "från", "chan_suffix": "", - "album_versions_title": "Andra versioner" + "month_before_day": true }, "sw": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "sekunde": "s", "dakika": "m", @@ -5473,12 +5399,11 @@ }, "chan_prefix": "kutoka", "chan_suffix": "", - "album_versions_title": "Matoleo mengine" + "month_before_day": false }, "ta": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "விநா": "s", "விநாடி": "s", @@ -5560,12 +5485,11 @@ }, "chan_prefix": "வழங்கியவர்:", "chan_suffix": "", - "album_versions_title": "பிற பதிப்புகள்" + "month_before_day": false }, "te": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "సెక": "s", "సెకను": "s", @@ -5645,12 +5569,11 @@ }, "chan_prefix": "", "chan_suffix": "ఛానెల్ ద్వారా", - "album_versions_title": "ఇతర వెర్షన్‌లు" + "month_before_day": false }, "th": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "วิ": "s", "วินาที": "s", @@ -5733,12 +5656,11 @@ }, "chan_prefix": "โดย", "chan_suffix": "", - "album_versions_title": "เวอร์ชันอื่นๆ" + "month_before_day": false }, "tr": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "saniye": "s", "sn": "s", @@ -5812,12 +5734,11 @@ }, "chan_prefix": "", "chan_suffix": "tarafından", - "album_versions_title": "Diğer versiyonlar" + "month_before_day": false }, "uk": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "с": "s", "секунд": "s", @@ -5915,12 +5836,11 @@ }, "chan_prefix": "власник:", "chan_suffix": "", - "album_versions_title": "Інші версії" + "month_before_day": false }, "ur": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "سیکنڈ": "s", "سیکنڈز": "s", @@ -5999,12 +5919,11 @@ }, "chan_prefix": "منجانب", "chan_suffix": "", - "album_versions_title": "دیگر ورژنز" + "month_before_day": false }, "uz": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "son": "s", "soniya": "s", @@ -6073,12 +5992,11 @@ }, "chan_prefix": "muallif:", "chan_suffix": "", - "album_versions_title": "Boshqa versiyalari" + "month_before_day": false }, "vi": { "equivalent": [], "by_char": false, - "month_before_day": false, "timeago_tokens": { "giây": "s", "phút": "m", @@ -6119,12 +6037,11 @@ }, "chan_prefix": "của", "chan_suffix": "", - "album_versions_title": "Các phiên bản khác" + "month_before_day": false }, "zh-CN": { "equivalent": [], "by_char": true, - "month_before_day": true, "timeago_tokens": { "秒": "s", "分": "m", @@ -6179,12 +6096,11 @@ }, "chan_prefix": "创建者:", "chan_suffix": "", - "album_versions_title": "其他版本" + "month_before_day": true }, "zh-HK": { "equivalent": [], "by_char": true, - "month_before_day": true, "timeago_tokens": { "秒": "s", "分": "m", @@ -6225,12 +6141,11 @@ }, "chan_prefix": "來自", "chan_suffix": "", - "album_versions_title": "其他版本" + "month_before_day": true }, "zh-TW": { "equivalent": [], "by_char": true, - "month_before_day": true, "timeago_tokens": { "秒": "s", "分": "m", @@ -6270,12 +6185,11 @@ }, "chan_prefix": "由", "chan_suffix": "建立", - "album_versions_title": "其他版本" + "month_before_day": true }, "zu": { "equivalent": [], "by_char": false, - "month_before_day": true, "timeago_tokens": { "amasekhondi": "s", "isekhondi": "s", @@ -6362,6 +6276,6 @@ }, "chan_prefix": "ka-", "chan_suffix": "", - "album_versions_title": "Ezinye izinguqulo" + "month_before_day": true } } diff --git a/testfiles/dict/other_versions_titles.json b/testfiles/dict/other_versions_titles.json deleted file mode 100644 index 0b8cb7a..0000000 --- a/testfiles/dict/other_versions_titles.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "af": "Ander weergawes", - "am": "ሌሎች ስሪቶች", - "ar": "إصدارات أخرى", - "as": "অন্য সংস্কৰণ", - "az": "Digər versiyalar", - "be": "Іншыя версіі", - "bg": "Други версии", - "bn": "অন্য সংস্করণগুলি", - "bs": "Druge verzije", - "ca": "Altres versions", - "cs": "Jiné verze", - "da": "Andre versioner", - "de": "Weitere Versionen", - "el": "Άλλες εκτελέσεις", - "en": "Other versions", - "en-GB": "Other versions", - "en-IN": "Other versions", - "es": "Otras versiones", - "es-419": "Otras versiones", - "es-US": "Otras versiones", - "et": "Teised versioonid", - "eu": "Beste bertsio batzuk", - "fa": "نسخه‌های دیگر", - "fi": "Muut versiot", - "fil": "Iba pang bersyon", - "fr": "Autres versions", - "fr-CA": "Autres versions", - "gl": "Outras versións", - "gu": "અન્ય વર્ઝન", - "hi": "अन्य वर्शन", - "hr": "Druge verzije", - "hu": "Más verziók", - "hy": "Այլ տարբերակներ", - "id": "Versi lainnya", - "is": "Aðrar útgáfur", - "it": "Altre versioni", - "iw": "גרסאות אחרות", - "ja": "他のバージョン", - "ka": "სხვა ვერსიები", - "kk": "Басқа нұсқалары", - "km": "ប្រភេទផ្សេងៗ", - "kn": "ಇತರ ಆವೃತ್ತಿಗಳು", - "ko": "다른 버전", - "ky": "Башка версиялар", - "lo": "ເວີຊັນອື່ນໆ", - "lt": "Kitos versijos", - "lv": "Citas versijas", - "mk": "Други верзии", - "ml": "മറ്റ് പതിപ്പുകൾ", - "mn": "Бусад хувилбар", - "mr": "इतर आवृत्त्या", - "ms": "Versi lain", - "my": "အခြား ဗားရှင်းများ", - "ne": "अन्य संस्करणहरू", - "nl": "Andere versies", - "no": "Andre versjoner", - "or": "ଅନ୍ୟ ସଂସ୍କରଣଗୁଡ଼ିକ", - "pa": "ਹੋਰ ਵਰਜਨ", - "pl": "Inne wersje", - "pt": "Outras versões", - "pt-PT": "Outras versões", - "ro": "Alte versiuni", - "ru": "Другие версии", - "si": "අනෙකුත් අනුවාදයන්", - "sk": "Ďalšie verzie", - "sl": "Druge različice", - "sq": "Versione të tjera", - "sr": "Друге верзије", - "sr-Latn": "Druge verzije", - "sv": "Andra versioner", - "sw": "Matoleo mengine", - "ta": "பிற பதிப்புகள்", - "te": "ఇతర వెర్షన్‌లు", - "th": "เวอร์ชันอื่นๆ", - "tr": "Diğer versiyonlar", - "uk": "Інші версії", - "ur": "دیگر ورژنز", - "uz": "Boshqa versiyalari", - "vi": "Các phiên bản khác", - "zh-CN": "其他版本", - "zh-HK": "其他版本", - "zh-TW": "其他版本", - "zu": "Ezinye izinguqulo" -} diff --git a/testfiles/userdata/history.json b/testfiles/history/history.json similarity index 100% rename from testfiles/userdata/history.json rename to testfiles/history/history.json diff --git a/testfiles/userdata/subscription_feed.json b/testfiles/history/subscription_feed.json similarity index 100% rename from testfiles/userdata/subscription_feed.json rename to testfiles/history/subscription_feed.json diff --git a/testfiles/userdata/subscriptions.json b/testfiles/history/subscriptions.json similarity index 100% rename from testfiles/userdata/subscriptions.json rename to testfiles/history/subscriptions.json diff --git a/testfiles/music_userdata/music_history.json b/testfiles/music_history/music_history.json similarity index 100% rename from testfiles/music_userdata/music_history.json rename to testfiles/music_history/music_history.json diff --git a/testfiles/music_userdata/saved_albums.json b/testfiles/music_history/saved_albums.json similarity index 100% rename from testfiles/music_userdata/saved_albums.json rename to testfiles/music_history/saved_albums.json diff --git a/testfiles/music_userdata/saved_artists.json b/testfiles/music_history/saved_artists.json similarity index 100% rename from testfiles/music_userdata/saved_artists.json rename to testfiles/music_history/saved_artists.json diff --git a/testfiles/music_userdata/saved_playlists.json b/testfiles/music_history/saved_playlists.json similarity index 100% rename from testfiles/music_userdata/saved_playlists.json rename to testfiles/music_history/saved_playlists.json diff --git a/testfiles/music_userdata/saved_tracks.json b/testfiles/music_history/saved_tracks.json similarity index 100% rename from testfiles/music_userdata/saved_tracks.json rename to testfiles/music_history/saved_tracks.json diff --git a/testfiles/music_playlist/album_20250225_recommends.json b/testfiles/music_playlist/album_20250225_recommends.json deleted file mode 100644 index 2c4aa3e..0000000 --- a/testfiles/music_playlist/album_20250225_recommends.json +++ /dev/null @@ -1,7989 +0,0 @@ -{ - "responseContext": { - "serviceTrackingParams": [ - { - "service": "GFEEDBACK", - "params": [ - { - "key": "has_unlimited_entitlement", - "value": "False" - }, - { - "key": "browse_id", - "value": "MPREb_u1I69lSAe5v" - }, - { - "key": "browse_id_prefix", - "value": "" - }, - { - "key": "logged_in", - "value": "0" - }, - { - "key": "e", - "value": "23804281,24004644,24077241,24181174,24241378,24290153,24439361,24566687,51010235,51020570,51025415,51037342,51037351,51063643,51065188,51089007,51098299,51115184,51124104,51152050,51176511,51178314,51178327,51178344,51178351,51183910,51204329,51217504,51222973,51225393,51227037,51228850,51232229,51237842,51242448,51249749,51256074,51256084,51274583,51285717,51298020,51304728,51306543,51310742,51311031,51311034,51313109,51313767,51316846,51320245,51326932,51330475,51331481,51331500,51331522,51331533,51331538,51331549,51331552,51331561,51333541,51335365,51335644,51340662,51341226,51341975,51342753,51342857,51348081,51349880,51349914,51351446,51353393,51354114,51354567,51355199,51355264,51355273,51355291,51355303,51355312,51355333,51355342,51359177,51360108,51360117,51360136,51361828,51362073,51362643,51362857,51363727,51363732,51363745,51363750,51363763,51363774,51364291,51365459,51365462,51366423,51366864,51367487,51370011,51370997,51371008,51371521,51372971,51373467,51375168,51375205,51375519,51375719,51379054,51379274,51380314,51380376,51380385,51380396,51380761,51380766,51380785,51380794,51380801,51380810,51380829,51380894,51381276,51383376,51384305,51384837,51385023,51386141,51386159,51386361,51386500,51386540,51386566,51389629,51389867,51391268,51391338,51393164,51394774,51394779,51395650,51397282,51398027,51398173,51398682,51399059,51399886,51401441,51401648,51401658,51402072,51403027,51403121,51404808,51404810,51405776,51405958,51406710,51407100,51407509,51407629,51408108,51409009,51410170,51411030,51411582,51412099,51412629,51413046,51413051,51413058,51413069,51413074,51413079,51413086,51413541,51414152,51414983,51416286,51417460,51417471,51417486,51417489,51417512,51417519" - } - ] - }, - { - "service": "CSI", - "params": [ - { - "key": "c", - "value": "WEB_REMIX" - }, - { - "key": "cver", - "value": "1.20250219.01.00" - }, - { - "key": "yt_li", - "value": "0" - }, - { - "key": "GetBrowseAlbumDetailPage_rid", - "value": "0x8d29dc85f9773d1d" - } - ] - }, - { - "service": "ECATCHER", - "params": [ - { - "key": "client.version", - "value": "1.20000101" - }, - { - "key": "client.name", - "value": "WEB_REMIX" - } - ] - } - ] - }, - "contents": { - "twoColumnBrowseResultsRenderer": { - "secondaryContents": { - "sectionListRenderer": { - "contents": [ - { - "musicShelfRenderer": { - "contents": [ - { - "musicResponsiveListItemRenderer": { - "trackingParams": "CPgBEMn0AhgAIhMIoLiH797fiwMVJx8GAB0XoCBI", - "overlay": { - "musicItemThumbnailOverlayRenderer": { - "background": { - "verticalGradient": { - "gradientLayerColors": [ - "0", - "0" - ] - } - }, - "content": { - "musicPlayButtonRenderer": { - "playNavigationEndpoint": { - "clickTrackingParams": "CIcCEMjeAiITCKC4h-_e34sDFScfBgAdF6AgSA==", - "watchEndpoint": { - "videoId": "aGd3VKSOTxY", - "playlistId": "OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY", - "index": 0, - "playerParams": "ygYQNzFDMjBDOUI2MDBCMjVDNA%3D%3D", - "playlistSetVideoId": "71C20C9B600B25C4", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GilPTEFLNXV5X2xHUF96djB2SkRVbGVjUUR6dWdVSm1qY0Y3cHZ5Vk55WQ%3D%3D" - } - }, - "watchEndpointMusicSupportedConfigs": { - "watchEndpointMusicConfig": { - "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" - } - } - } - }, - "trackingParams": "CIcCEMjeAiITCKC4h-_e34sDFScfBgAdF6AgSA==", - "playIcon": { - "iconType": "PLAY_ARROW" - }, - "pauseIcon": { - "iconType": "PAUSE" - }, - "iconColor": 4294967295, - "backgroundColor": 0, - "activeBackgroundColor": 0, - "loadingIndicatorColor": 14745645, - "playingIcon": { - "iconType": "VOLUME_UP" - }, - "iconLoadingColor": 0, - "activeScaleFactor": 1, - "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", - "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", - "accessibilityPlayData": { - "accessibilityData": { - "label": "Play Ich wache auf - Madeline Juno" - } - }, - "accessibilityPauseData": { - "accessibilityData": { - "label": "Pause Ich wache auf - Madeline Juno" - } - } - } - }, - "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", - "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" - } - }, - "flexColumns": [ - { - "musicResponsiveListItemFlexColumnRenderer": { - "text": { - "runs": [ - { - "text": "Ich wache auf", - "navigationEndpoint": { - "clickTrackingParams": "CPgBEMn0AhgAIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "videoId": "aGd3VKSOTxY", - "playlistId": "OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GilPTEFLNXV5X2xHUF96djB2SkRVbGVjUUR6dWdVSm1qY0Y3cHZ5Vk55WQ%3D%3D" - } - }, - "watchEndpointMusicSupportedConfigs": { - "watchEndpointMusicConfig": { - "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" - } - } - } - } - } - ] - }, - "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" - } - }, - { - "musicResponsiveListItemFlexColumnRenderer": { - "text": {}, - "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" - } - }, - { - "musicResponsiveListItemFlexColumnRenderer": { - "text": { - "runs": [ - { - "text": "208K plays" - } - ], - "accessibility": { - "accessibilityData": { - "label": "208K plays" - } - } - }, - "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" - } - } - ], - "fixedColumns": [ - { - "musicResponsiveListItemFixedColumnRenderer": { - "text": { - "runs": [ - { - "text": "3:42" - } - ], - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 42 seconds" - } - } - }, - "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", - "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL" - } - } - ], - "menu": { - "menuRenderer": { - "items": [ - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Start radio" - } - ] - }, - "icon": { - "iconType": "MIX" - }, - "navigationEndpoint": { - "clickTrackingParams": "CIYCEJvzBRgAIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "videoId": "aGd3VKSOTxY", - "playlistId": "RDAMVMaGd3VKSOTxY", - "params": "wAEB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GhFSREFNVk1hR2QzVktTT1R4WQ%3D%3D" - } - }, - "watchEndpointMusicSupportedConfigs": { - "watchEndpointMusicConfig": { - "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" - } - } - } - }, - "trackingParams": "CIYCEJvzBRgAIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Play next" - } - ] - }, - "icon": { - "iconType": "QUEUE_PLAY_NEXT" - }, - "serviceEndpoint": { - "clickTrackingParams": "CIQCEL7uBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "queueAddEndpoint": { - "queueTarget": { - "videoId": "aGd3VKSOTxY", - "onEmptyQueue": { - "clickTrackingParams": "CIQCEL7uBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "videoId": "aGd3VKSOTxY" - } - } - }, - "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", - "commands": [ - { - "clickTrackingParams": "CIQCEL7uBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Song will play next" - } - ] - }, - "trackingParams": "CIUCEMrHAyITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - } - } - } - ] - } - }, - "trackingParams": "CIQCEL7uBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_REMOTE_QUEUE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CIICEPvvBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "queueAddEndpoint": { - "queueTarget": { - "videoId": "aGd3VKSOTxY", - "onEmptyQueue": { - "clickTrackingParams": "CIICEPvvBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "videoId": "aGd3VKSOTxY" - } - } - }, - "queueInsertPosition": "INSERT_AT_END", - "commands": [ - { - "clickTrackingParams": "CIICEPvvBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Song added to queue" - } - ] - }, - "trackingParams": "CIMCEMrHAyITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - } - } - } - ] - } - }, - "trackingParams": "CIICEPvvBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Save to playlist" - } - ] - }, - "icon": { - "iconType": "ADD_TO_PLAYLIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CIACEMOUBhgDIhMIoLiH797fiwMVJx8GAB0XoCBI", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Make playlists and share them after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CIECEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CIECEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - } - }, - "trackingParams": "CIACEMOUBhgDIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Go to artist" - } - ] - }, - "icon": { - "iconType": "ARTIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CP8BEJD7BRgEIhMIoLiH797fiwMVJx8GAB0XoCBI", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - }, - "trackingParams": "CP8BEJD7BRgEIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CP4BEJH7BRgFIhMIoLiH797fiwMVJx8GAB0XoCBI", - "shareEntityEndpoint": { - "serializedShareEntity": "CgthR2QzVktTT1R4WQ%3D%3D", - "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" - } - }, - "trackingParams": "CP4BEJH7BRgFIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - ], - "trackingParams": "CPoBEKc7IhMIoLiH797fiwMVJx8GAB0XoCBI", - "topLevelButtons": [ - { - "likeButtonRenderer": { - "target": { - "videoId": "aGd3VKSOTxY" - }, - "likeStatus": "INDIFFERENT", - "trackingParams": "CPsBEKVBGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "likesAllowed": true, - "dislikeNavigationEndpoint": { - "clickTrackingParams": "CPsBEKVBGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Not a fan?" - } - ] - }, - "content": { - "runs": [ - { - "text": "Improve your recommendations after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CP0BEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CP0BEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - } - }, - "likeCommand": { - "clickTrackingParams": "CPsBEKVBGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Like this song" - } - ] - }, - "content": { - "runs": [ - { - "text": "Improve recommendations and save music after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CPwBEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CPwBEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - } - } - } - } - ], - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "playlistItemData": { - "playlistSetVideoId": "71C20C9B600B25C4", - "videoId": "aGd3VKSOTxY" - }, - "itemHeight": "MUSIC_RESPONSIVE_LIST_ITEM_HEIGHT_MEDIUM", - "index": { - "runs": [ - { - "text": "1" - } - ] - }, - "multiSelectCheckbox": { - "checkboxRenderer": { - "onSelectionChangeCommand": { - "clickTrackingParams": "CPkBEL6-CSITCKC4h-_e34sDFScfBgAdF6AgSA==", - "updateMultiSelectStateCommand": { - "multiSelectParams": "CAMSKU9MQUs1dXlfbEdQX3p2MHZKRFVsZWNRRHp1Z1VKbWpjRjdwdnlWTnlZ", - "multiSelectItem": "Ch8KC2FHZDNWS1NPVHhZEhA3MUMyMEM5QjYwMEIyNUM0" - } - }, - "checkedState": "CHECKBOX_CHECKED_STATE_UNCHECKED", - "trackingParams": "CPkBEL6-CSITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - } - } - }, - { - "musicResponsiveListItemRenderer": { - "trackingParams": "COgBEMn0AhgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "overlay": { - "musicItemThumbnailOverlayRenderer": { - "background": { - "verticalGradient": { - "gradientLayerColors": [ - "0", - "0" - ] - } - }, - "content": { - "musicPlayButtonRenderer": { - "playNavigationEndpoint": { - "clickTrackingParams": "CPcBEMjeAiITCKC4h-_e34sDFScfBgAdF6AgSA==", - "watchEndpoint": { - "videoId": "lhPOMUjV4rE", - "playlistId": "OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY", - "index": 1, - "playerParams": "ygYQM0VGRTUxOTQxNjVEM0IxMw%3D%3D", - "playlistSetVideoId": "3EFE5194165D3B13", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GilPTEFLNXV5X2xHUF96djB2SkRVbGVjUUR6dWdVSm1qY0Y3cHZ5Vk55WQ%3D%3D" - } - }, - "watchEndpointMusicSupportedConfigs": { - "watchEndpointMusicConfig": { - "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" - } - } - } - }, - "trackingParams": "CPcBEMjeAiITCKC4h-_e34sDFScfBgAdF6AgSA==", - "playIcon": { - "iconType": "PLAY_ARROW" - }, - "pauseIcon": { - "iconType": "PAUSE" - }, - "iconColor": 4294967295, - "backgroundColor": 0, - "activeBackgroundColor": 0, - "loadingIndicatorColor": 14745645, - "playingIcon": { - "iconType": "VOLUME_UP" - }, - "iconLoadingColor": 0, - "activeScaleFactor": 1, - "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", - "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", - "accessibilityPlayData": { - "accessibilityData": { - "label": "Play Waldbrand - Madeline Juno" - } - }, - "accessibilityPauseData": { - "accessibilityData": { - "label": "Pause Waldbrand - Madeline Juno" - } - } - } - }, - "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", - "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" - } - }, - "flexColumns": [ - { - "musicResponsiveListItemFlexColumnRenderer": { - "text": { - "runs": [ - { - "text": "Waldbrand", - "navigationEndpoint": { - "clickTrackingParams": "COgBEMn0AhgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "videoId": "lhPOMUjV4rE", - "playlistId": "OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GilPTEFLNXV5X2xHUF96djB2SkRVbGVjUUR6dWdVSm1qY0Y3cHZ5Vk55WQ%3D%3D" - } - }, - "watchEndpointMusicSupportedConfigs": { - "watchEndpointMusicConfig": { - "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" - } - } - } - } - } - ] - }, - "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" - } - }, - { - "musicResponsiveListItemFlexColumnRenderer": { - "text": {}, - "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" - } - }, - { - "musicResponsiveListItemFlexColumnRenderer": { - "text": { - "runs": [ - { - "text": "6M plays" - } - ], - "accessibility": { - "accessibilityData": { - "label": "6 million plays" - } - } - }, - "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" - } - } - ], - "fixedColumns": [ - { - "musicResponsiveListItemFixedColumnRenderer": { - "text": { - "runs": [ - { - "text": "3:29" - } - ], - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 29 seconds" - } - } - }, - "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", - "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL" - } - } - ], - "menu": { - "menuRenderer": { - "items": [ - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Start radio" - } - ] - }, - "icon": { - "iconType": "MIX" - }, - "navigationEndpoint": { - "clickTrackingParams": "CPYBEJvzBRgAIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "videoId": "lhPOMUjV4rE", - "playlistId": "RDAMVMlhPOMUjV4rE", - "params": "wAEB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GhFSREFNVk1saFBPTVVqVjRyRQ%3D%3D" - } - }, - "watchEndpointMusicSupportedConfigs": { - "watchEndpointMusicConfig": { - "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" - } - } - } - }, - "trackingParams": "CPYBEJvzBRgAIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Play next" - } - ] - }, - "icon": { - "iconType": "QUEUE_PLAY_NEXT" - }, - "serviceEndpoint": { - "clickTrackingParams": "CPQBEL7uBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "queueAddEndpoint": { - "queueTarget": { - "videoId": "lhPOMUjV4rE", - "onEmptyQueue": { - "clickTrackingParams": "CPQBEL7uBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "videoId": "lhPOMUjV4rE" - } - } - }, - "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", - "commands": [ - { - "clickTrackingParams": "CPQBEL7uBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Song will play next" - } - ] - }, - "trackingParams": "CPUBEMrHAyITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - } - } - } - ] - } - }, - "trackingParams": "CPQBEL7uBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_REMOTE_QUEUE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CPIBEPvvBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "queueAddEndpoint": { - "queueTarget": { - "videoId": "lhPOMUjV4rE", - "onEmptyQueue": { - "clickTrackingParams": "CPIBEPvvBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "videoId": "lhPOMUjV4rE" - } - } - }, - "queueInsertPosition": "INSERT_AT_END", - "commands": [ - { - "clickTrackingParams": "CPIBEPvvBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Song added to queue" - } - ] - }, - "trackingParams": "CPMBEMrHAyITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - } - } - } - ] - } - }, - "trackingParams": "CPIBEPvvBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Save to playlist" - } - ] - }, - "icon": { - "iconType": "ADD_TO_PLAYLIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CPABEMOUBhgDIhMIoLiH797fiwMVJx8GAB0XoCBI", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Make playlists and share them after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CPEBEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CPEBEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - } - }, - "trackingParams": "CPABEMOUBhgDIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Go to artist" - } - ] - }, - "icon": { - "iconType": "ARTIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CO8BEJD7BRgEIhMIoLiH797fiwMVJx8GAB0XoCBI", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - }, - "trackingParams": "CO8BEJD7BRgEIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CO4BEJH7BRgFIhMIoLiH797fiwMVJx8GAB0XoCBI", - "shareEntityEndpoint": { - "serializedShareEntity": "CgtsaFBPTVVqVjRyRQ%3D%3D", - "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" - } - }, - "trackingParams": "CO4BEJH7BRgFIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - ], - "trackingParams": "COoBEKc7IhMIoLiH797fiwMVJx8GAB0XoCBI", - "topLevelButtons": [ - { - "likeButtonRenderer": { - "target": { - "videoId": "lhPOMUjV4rE" - }, - "likeStatus": "INDIFFERENT", - "trackingParams": "COsBEKVBGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "likesAllowed": true, - "dislikeNavigationEndpoint": { - "clickTrackingParams": "COsBEKVBGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Not a fan?" - } - ] - }, - "content": { - "runs": [ - { - "text": "Improve your recommendations after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CO0BEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CO0BEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - } - }, - "likeCommand": { - "clickTrackingParams": "COsBEKVBGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Like this song" - } - ] - }, - "content": { - "runs": [ - { - "text": "Improve recommendations and save music after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "COwBEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "COwBEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - } - } - } - } - ], - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "playlistItemData": { - "playlistSetVideoId": "3EFE5194165D3B13", - "videoId": "lhPOMUjV4rE" - }, - "itemHeight": "MUSIC_RESPONSIVE_LIST_ITEM_HEIGHT_MEDIUM", - "index": { - "runs": [ - { - "text": "2" - } - ] - }, - "multiSelectCheckbox": { - "checkboxRenderer": { - "onSelectionChangeCommand": { - "clickTrackingParams": "COkBEL6-CSITCKC4h-_e34sDFScfBgAdF6AgSA==", - "updateMultiSelectStateCommand": { - "multiSelectParams": "CAMSKU9MQUs1dXlfbEdQX3p2MHZKRFVsZWNRRHp1Z1VKbWpjRjdwdnlWTnlZ", - "multiSelectItem": "Ch8KC2xoUE9NVWpWNHJFEhAzRUZFNTE5NDE2NUQzQjEz" - } - }, - "checkedState": "CHECKBOX_CHECKED_STATE_UNCHECKED", - "trackingParams": "COkBEL6-CSITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - } - } - }, - { - "musicResponsiveListItemRenderer": { - "trackingParams": "CNgBEMn0AhgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "overlay": { - "musicItemThumbnailOverlayRenderer": { - "background": { - "verticalGradient": { - "gradientLayerColors": [ - "0", - "0" - ] - } - }, - "content": { - "musicPlayButtonRenderer": { - "playNavigationEndpoint": { - "clickTrackingParams": "COcBEMjeAiITCKC4h-_e34sDFScfBgAdF6AgSA==", - "watchEndpoint": { - "videoId": "Bu26uFtpt58", - "playlistId": "OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY", - "index": 2, - "playerParams": "ygYQRTk4NDA0RTNCRDhDQzcxOA%3D%3D", - "playlistSetVideoId": "E98404E3BD8CC718", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GilPTEFLNXV5X2xHUF96djB2SkRVbGVjUUR6dWdVSm1qY0Y3cHZ5Vk55WQ%3D%3D" - } - }, - "watchEndpointMusicSupportedConfigs": { - "watchEndpointMusicConfig": { - "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" - } - } - } - }, - "trackingParams": "COcBEMjeAiITCKC4h-_e34sDFScfBgAdF6AgSA==", - "playIcon": { - "iconType": "PLAY_ARROW" - }, - "pauseIcon": { - "iconType": "PAUSE" - }, - "iconColor": 4294967295, - "backgroundColor": 0, - "activeBackgroundColor": 0, - "loadingIndicatorColor": 14745645, - "playingIcon": { - "iconType": "VOLUME_UP" - }, - "iconLoadingColor": 0, - "activeScaleFactor": 1, - "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", - "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", - "accessibilityPlayData": { - "accessibilityData": { - "label": "Play Verlernt - Madeline Juno" - } - }, - "accessibilityPauseData": { - "accessibilityData": { - "label": "Pause Verlernt - Madeline Juno" - } - } - } - }, - "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", - "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" - } - }, - "flexColumns": [ - { - "musicResponsiveListItemFlexColumnRenderer": { - "text": { - "runs": [ - { - "text": "Verlernt", - "navigationEndpoint": { - "clickTrackingParams": "CNgBEMn0AhgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "videoId": "Bu26uFtpt58", - "playlistId": "OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GilPTEFLNXV5X2xHUF96djB2SkRVbGVjUUR6dWdVSm1qY0Y3cHZ5Vk55WQ%3D%3D" - } - }, - "watchEndpointMusicSupportedConfigs": { - "watchEndpointMusicConfig": { - "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" - } - } - } - } - } - ] - }, - "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" - } - }, - { - "musicResponsiveListItemFlexColumnRenderer": { - "text": {}, - "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" - } - }, - { - "musicResponsiveListItemFlexColumnRenderer": { - "text": { - "runs": [ - { - "text": "418K plays" - } - ], - "accessibility": { - "accessibilityData": { - "label": "418K plays" - } - } - }, - "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" - } - } - ], - "fixedColumns": [ - { - "musicResponsiveListItemFixedColumnRenderer": { - "text": { - "runs": [ - { - "text": "3:44" - } - ], - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 44 seconds" - } - } - }, - "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", - "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL" - } - } - ], - "menu": { - "menuRenderer": { - "items": [ - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Start radio" - } - ] - }, - "icon": { - "iconType": "MIX" - }, - "navigationEndpoint": { - "clickTrackingParams": "COYBEJvzBRgAIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "videoId": "Bu26uFtpt58", - "playlistId": "RDAMVMBu26uFtpt58", - "params": "wAEB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GhFSREFNVk1CdTI2dUZ0cHQ1OA%3D%3D" - } - }, - "watchEndpointMusicSupportedConfigs": { - "watchEndpointMusicConfig": { - "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" - } - } - } - }, - "trackingParams": "COYBEJvzBRgAIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Play next" - } - ] - }, - "icon": { - "iconType": "QUEUE_PLAY_NEXT" - }, - "serviceEndpoint": { - "clickTrackingParams": "COQBEL7uBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "queueAddEndpoint": { - "queueTarget": { - "videoId": "Bu26uFtpt58", - "onEmptyQueue": { - "clickTrackingParams": "COQBEL7uBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "videoId": "Bu26uFtpt58" - } - } - }, - "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", - "commands": [ - { - "clickTrackingParams": "COQBEL7uBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Song will play next" - } - ] - }, - "trackingParams": "COUBEMrHAyITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - } - } - } - ] - } - }, - "trackingParams": "COQBEL7uBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_REMOTE_QUEUE" - }, - "serviceEndpoint": { - "clickTrackingParams": "COIBEPvvBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "queueAddEndpoint": { - "queueTarget": { - "videoId": "Bu26uFtpt58", - "onEmptyQueue": { - "clickTrackingParams": "COIBEPvvBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "videoId": "Bu26uFtpt58" - } - } - }, - "queueInsertPosition": "INSERT_AT_END", - "commands": [ - { - "clickTrackingParams": "COIBEPvvBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Song added to queue" - } - ] - }, - "trackingParams": "COMBEMrHAyITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - } - } - } - ] - } - }, - "trackingParams": "COIBEPvvBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Save to playlist" - } - ] - }, - "icon": { - "iconType": "ADD_TO_PLAYLIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "COABEMOUBhgDIhMIoLiH797fiwMVJx8GAB0XoCBI", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Make playlists and share them after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "COEBEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "COEBEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - } - }, - "trackingParams": "COABEMOUBhgDIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Go to artist" - } - ] - }, - "icon": { - "iconType": "ARTIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CN8BEJD7BRgEIhMIoLiH797fiwMVJx8GAB0XoCBI", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - }, - "trackingParams": "CN8BEJD7BRgEIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CN4BEJH7BRgFIhMIoLiH797fiwMVJx8GAB0XoCBI", - "shareEntityEndpoint": { - "serializedShareEntity": "CgtCdTI2dUZ0cHQ1OA%3D%3D", - "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" - } - }, - "trackingParams": "CN4BEJH7BRgFIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - ], - "trackingParams": "CNoBEKc7IhMIoLiH797fiwMVJx8GAB0XoCBI", - "topLevelButtons": [ - { - "likeButtonRenderer": { - "target": { - "videoId": "Bu26uFtpt58" - }, - "likeStatus": "INDIFFERENT", - "trackingParams": "CNsBEKVBGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "likesAllowed": true, - "dislikeNavigationEndpoint": { - "clickTrackingParams": "CNsBEKVBGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Not a fan?" - } - ] - }, - "content": { - "runs": [ - { - "text": "Improve your recommendations after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CN0BEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CN0BEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - } - }, - "likeCommand": { - "clickTrackingParams": "CNsBEKVBGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Like this song" - } - ] - }, - "content": { - "runs": [ - { - "text": "Improve recommendations and save music after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CNwBEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CNwBEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - } - } - } - } - ], - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "playlistItemData": { - "playlistSetVideoId": "E98404E3BD8CC718", - "videoId": "Bu26uFtpt58" - }, - "itemHeight": "MUSIC_RESPONSIVE_LIST_ITEM_HEIGHT_MEDIUM", - "index": { - "runs": [ - { - "text": "3" - } - ] - }, - "multiSelectCheckbox": { - "checkboxRenderer": { - "onSelectionChangeCommand": { - "clickTrackingParams": "CNkBEL6-CSITCKC4h-_e34sDFScfBgAdF6AgSA==", - "updateMultiSelectStateCommand": { - "multiSelectParams": "CAMSKU9MQUs1dXlfbEdQX3p2MHZKRFVsZWNRRHp1Z1VKbWpjRjdwdnlWTnlZ", - "multiSelectItem": "Ch8KC0J1MjZ1RnRwdDU4EhBFOTg0MDRFM0JEOENDNzE4" - } - }, - "checkedState": "CHECKBOX_CHECKED_STATE_UNCHECKED", - "trackingParams": "CNkBEL6-CSITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - } - } - }, - { - "musicResponsiveListItemRenderer": { - "trackingParams": "CMgBEMn0AhgDIhMIoLiH797fiwMVJx8GAB0XoCBI", - "overlay": { - "musicItemThumbnailOverlayRenderer": { - "background": { - "verticalGradient": { - "gradientLayerColors": [ - "0", - "0" - ] - } - }, - "content": { - "musicPlayButtonRenderer": { - "playNavigationEndpoint": { - "clickTrackingParams": "CNcBEMjeAiITCKC4h-_e34sDFScfBgAdF6AgSA==", - "watchEndpoint": { - "videoId": "RgwNqqiVqdY", - "playlistId": "OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY", - "index": 3, - "playerParams": "ygYQRTVGQkY2MjNBMzU5MDc4NQ%3D%3D", - "playlistSetVideoId": "E5FBF623A3590785", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GilPTEFLNXV5X2xHUF96djB2SkRVbGVjUUR6dWdVSm1qY0Y3cHZ5Vk55WQ%3D%3D" - } - }, - "watchEndpointMusicSupportedConfigs": { - "watchEndpointMusicConfig": { - "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" - } - } - } - }, - "trackingParams": "CNcBEMjeAiITCKC4h-_e34sDFScfBgAdF6AgSA==", - "playIcon": { - "iconType": "PLAY_ARROW" - }, - "pauseIcon": { - "iconType": "PAUSE" - }, - "iconColor": 4294967295, - "backgroundColor": 0, - "activeBackgroundColor": 0, - "loadingIndicatorColor": 14745645, - "playingIcon": { - "iconType": "VOLUME_UP" - }, - "iconLoadingColor": 0, - "activeScaleFactor": 1, - "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", - "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", - "accessibilityPlayData": { - "accessibilityData": { - "label": "Play In Farbe - Madeline Juno" - } - }, - "accessibilityPauseData": { - "accessibilityData": { - "label": "Pause In Farbe - Madeline Juno" - } - } - } - }, - "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", - "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" - } - }, - "flexColumns": [ - { - "musicResponsiveListItemFlexColumnRenderer": { - "text": { - "runs": [ - { - "text": "In Farbe", - "navigationEndpoint": { - "clickTrackingParams": "CMgBEMn0AhgDIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "videoId": "RgwNqqiVqdY", - "playlistId": "OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GilPTEFLNXV5X2xHUF96djB2SkRVbGVjUUR6dWdVSm1qY0Y3cHZ5Vk55WQ%3D%3D" - } - }, - "watchEndpointMusicSupportedConfigs": { - "watchEndpointMusicConfig": { - "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" - } - } - } - } - } - ] - }, - "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" - } - }, - { - "musicResponsiveListItemFlexColumnRenderer": { - "text": {}, - "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" - } - }, - { - "musicResponsiveListItemFlexColumnRenderer": { - "text": { - "runs": [ - { - "text": "127K plays" - } - ], - "accessibility": { - "accessibilityData": { - "label": "127K plays" - } - } - }, - "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" - } - } - ], - "fixedColumns": [ - { - "musicResponsiveListItemFixedColumnRenderer": { - "text": { - "runs": [ - { - "text": "3:42" - } - ], - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 42 seconds" - } - } - }, - "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", - "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL" - } - } - ], - "menu": { - "menuRenderer": { - "items": [ - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Start radio" - } - ] - }, - "icon": { - "iconType": "MIX" - }, - "navigationEndpoint": { - "clickTrackingParams": "CNYBEJvzBRgAIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "videoId": "RgwNqqiVqdY", - "playlistId": "RDAMVMRgwNqqiVqdY", - "params": "wAEB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GhFSREFNVk1SZ3dOcXFpVnFkWQ%3D%3D" - } - }, - "watchEndpointMusicSupportedConfigs": { - "watchEndpointMusicConfig": { - "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" - } - } - } - }, - "trackingParams": "CNYBEJvzBRgAIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Play next" - } - ] - }, - "icon": { - "iconType": "QUEUE_PLAY_NEXT" - }, - "serviceEndpoint": { - "clickTrackingParams": "CNQBEL7uBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "queueAddEndpoint": { - "queueTarget": { - "videoId": "RgwNqqiVqdY", - "onEmptyQueue": { - "clickTrackingParams": "CNQBEL7uBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "videoId": "RgwNqqiVqdY" - } - } - }, - "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", - "commands": [ - { - "clickTrackingParams": "CNQBEL7uBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Song will play next" - } - ] - }, - "trackingParams": "CNUBEMrHAyITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - } - } - } - ] - } - }, - "trackingParams": "CNQBEL7uBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_REMOTE_QUEUE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CNIBEPvvBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "queueAddEndpoint": { - "queueTarget": { - "videoId": "RgwNqqiVqdY", - "onEmptyQueue": { - "clickTrackingParams": "CNIBEPvvBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "videoId": "RgwNqqiVqdY" - } - } - }, - "queueInsertPosition": "INSERT_AT_END", - "commands": [ - { - "clickTrackingParams": "CNIBEPvvBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Song added to queue" - } - ] - }, - "trackingParams": "CNMBEMrHAyITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - } - } - } - ] - } - }, - "trackingParams": "CNIBEPvvBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Save to playlist" - } - ] - }, - "icon": { - "iconType": "ADD_TO_PLAYLIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CNABEMOUBhgDIhMIoLiH797fiwMVJx8GAB0XoCBI", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Make playlists and share them after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CNEBEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CNEBEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - } - }, - "trackingParams": "CNABEMOUBhgDIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Go to artist" - } - ] - }, - "icon": { - "iconType": "ARTIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CM8BEJD7BRgEIhMIoLiH797fiwMVJx8GAB0XoCBI", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - }, - "trackingParams": "CM8BEJD7BRgEIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CM4BEJH7BRgFIhMIoLiH797fiwMVJx8GAB0XoCBI", - "shareEntityEndpoint": { - "serializedShareEntity": "CgtSZ3dOcXFpVnFkWQ%3D%3D", - "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" - } - }, - "trackingParams": "CM4BEJH7BRgFIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - ], - "trackingParams": "CMoBEKc7IhMIoLiH797fiwMVJx8GAB0XoCBI", - "topLevelButtons": [ - { - "likeButtonRenderer": { - "target": { - "videoId": "RgwNqqiVqdY" - }, - "likeStatus": "INDIFFERENT", - "trackingParams": "CMsBEKVBGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "likesAllowed": true, - "dislikeNavigationEndpoint": { - "clickTrackingParams": "CMsBEKVBGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Not a fan?" - } - ] - }, - "content": { - "runs": [ - { - "text": "Improve your recommendations after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CM0BEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CM0BEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - } - }, - "likeCommand": { - "clickTrackingParams": "CMsBEKVBGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Like this song" - } - ] - }, - "content": { - "runs": [ - { - "text": "Improve recommendations and save music after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CMwBEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CMwBEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - } - } - } - } - ], - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "playlistItemData": { - "playlistSetVideoId": "E5FBF623A3590785", - "videoId": "RgwNqqiVqdY" - }, - "itemHeight": "MUSIC_RESPONSIVE_LIST_ITEM_HEIGHT_MEDIUM", - "index": { - "runs": [ - { - "text": "4" - } - ] - }, - "multiSelectCheckbox": { - "checkboxRenderer": { - "onSelectionChangeCommand": { - "clickTrackingParams": "CMkBEL6-CSITCKC4h-_e34sDFScfBgAdF6AgSA==", - "updateMultiSelectStateCommand": { - "multiSelectParams": "CAMSKU9MQUs1dXlfbEdQX3p2MHZKRFVsZWNRRHp1Z1VKbWpjRjdwdnlWTnlZ", - "multiSelectItem": "Ch8KC1Jnd05xcWlWcWRZEhBFNUZCRjYyM0EzNTkwNzg1" - } - }, - "checkedState": "CHECKBOX_CHECKED_STATE_UNCHECKED", - "trackingParams": "CMkBEL6-CSITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - } - } - }, - { - "musicResponsiveListItemRenderer": { - "trackingParams": "CLgBEMn0AhgEIhMIoLiH797fiwMVJx8GAB0XoCBI", - "overlay": { - "musicItemThumbnailOverlayRenderer": { - "background": { - "verticalGradient": { - "gradientLayerColors": [ - "0", - "0" - ] - } - }, - "content": { - "musicPlayButtonRenderer": { - "playNavigationEndpoint": { - "clickTrackingParams": "CMcBEMjeAiITCKC4h-_e34sDFScfBgAdF6AgSA==", - "watchEndpoint": { - "videoId": "2TuOh30XbCI", - "playlistId": "OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY", - "index": 4, - "playerParams": "ygYQNEI1M0VCRUNERDg3QkVCMQ%3D%3D", - "playlistSetVideoId": "4B53EBECDD87BEB1", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GilPTEFLNXV5X2xHUF96djB2SkRVbGVjUUR6dWdVSm1qY0Y3cHZ5Vk55WQ%3D%3D" - } - }, - "watchEndpointMusicSupportedConfigs": { - "watchEndpointMusicConfig": { - "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" - } - } - } - }, - "trackingParams": "CMcBEMjeAiITCKC4h-_e34sDFScfBgAdF6AgSA==", - "playIcon": { - "iconType": "PLAY_ARROW" - }, - "pauseIcon": { - "iconType": "PAUSE" - }, - "iconColor": 4294967295, - "backgroundColor": 0, - "activeBackgroundColor": 0, - "loadingIndicatorColor": 14745645, - "playingIcon": { - "iconType": "VOLUME_UP" - }, - "iconLoadingColor": 0, - "activeScaleFactor": 1, - "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_SMALL", - "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", - "accessibilityPlayData": { - "accessibilityData": { - "label": "Play Stadt im Hinterland - Madeline Juno" - } - }, - "accessibilityPauseData": { - "accessibilityData": { - "label": "Pause Stadt im Hinterland - Madeline Juno" - } - } - } - }, - "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", - "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" - } - }, - "flexColumns": [ - { - "musicResponsiveListItemFlexColumnRenderer": { - "text": { - "runs": [ - { - "text": "Stadt im Hinterland", - "navigationEndpoint": { - "clickTrackingParams": "CLgBEMn0AhgEIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "videoId": "2TuOh30XbCI", - "playlistId": "OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GilPTEFLNXV5X2xHUF96djB2SkRVbGVjUUR6dWdVSm1qY0Y3cHZ5Vk55WQ%3D%3D" - } - }, - "watchEndpointMusicSupportedConfigs": { - "watchEndpointMusicConfig": { - "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" - } - } - } - } - } - ] - }, - "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" - } - }, - { - "musicResponsiveListItemFlexColumnRenderer": { - "text": {}, - "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" - } - }, - { - "musicResponsiveListItemFlexColumnRenderer": { - "text": { - "runs": [ - { - "text": "79K plays" - } - ], - "accessibility": { - "accessibilityData": { - "label": "79K plays" - } - } - }, - "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH" - } - } - ], - "fixedColumns": [ - { - "musicResponsiveListItemFixedColumnRenderer": { - "text": { - "runs": [ - { - "text": "3:18" - } - ], - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 18 seconds" - } - } - }, - "displayPriority": "MUSIC_RESPONSIVE_LIST_ITEM_COLUMN_DISPLAY_PRIORITY_HIGH", - "size": "MUSIC_RESPONSIVE_LIST_ITEM_FIXED_COLUMN_SIZE_SMALL" - } - } - ], - "menu": { - "menuRenderer": { - "items": [ - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Start radio" - } - ] - }, - "icon": { - "iconType": "MIX" - }, - "navigationEndpoint": { - "clickTrackingParams": "CMYBEJvzBRgAIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "videoId": "2TuOh30XbCI", - "playlistId": "RDAMVM2TuOh30XbCI", - "params": "wAEB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GhFSREFNVk0yVHVPaDMwWGJDSQ%3D%3D" - } - }, - "watchEndpointMusicSupportedConfigs": { - "watchEndpointMusicConfig": { - "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" - } - } - } - }, - "trackingParams": "CMYBEJvzBRgAIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Play next" - } - ] - }, - "icon": { - "iconType": "QUEUE_PLAY_NEXT" - }, - "serviceEndpoint": { - "clickTrackingParams": "CMQBEL7uBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "queueAddEndpoint": { - "queueTarget": { - "videoId": "2TuOh30XbCI", - "onEmptyQueue": { - "clickTrackingParams": "CMQBEL7uBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "videoId": "2TuOh30XbCI" - } - } - }, - "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", - "commands": [ - { - "clickTrackingParams": "CMQBEL7uBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Song will play next" - } - ] - }, - "trackingParams": "CMUBEMrHAyITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - } - } - } - ] - } - }, - "trackingParams": "CMQBEL7uBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_REMOTE_QUEUE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CMIBEPvvBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "queueAddEndpoint": { - "queueTarget": { - "videoId": "2TuOh30XbCI", - "onEmptyQueue": { - "clickTrackingParams": "CMIBEPvvBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "videoId": "2TuOh30XbCI" - } - } - }, - "queueInsertPosition": "INSERT_AT_END", - "commands": [ - { - "clickTrackingParams": "CMIBEPvvBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Song added to queue" - } - ] - }, - "trackingParams": "CMMBEMrHAyITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - } - } - } - ] - } - }, - "trackingParams": "CMIBEPvvBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Save to playlist" - } - ] - }, - "icon": { - "iconType": "ADD_TO_PLAYLIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CMABEMOUBhgDIhMIoLiH797fiwMVJx8GAB0XoCBI", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Make playlists and share them after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CMEBEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CMEBEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - } - }, - "trackingParams": "CMABEMOUBhgDIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Go to artist" - } - ] - }, - "icon": { - "iconType": "ARTIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CL8BEJD7BRgEIhMIoLiH797fiwMVJx8GAB0XoCBI", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - }, - "trackingParams": "CL8BEJD7BRgEIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CL4BEJH7BRgFIhMIoLiH797fiwMVJx8GAB0XoCBI", - "shareEntityEndpoint": { - "serializedShareEntity": "CgsyVHVPaDMwWGJDSQ%3D%3D", - "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" - } - }, - "trackingParams": "CL4BEJH7BRgFIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - ], - "trackingParams": "CLoBEKc7IhMIoLiH797fiwMVJx8GAB0XoCBI", - "topLevelButtons": [ - { - "likeButtonRenderer": { - "target": { - "videoId": "2TuOh30XbCI" - }, - "likeStatus": "INDIFFERENT", - "trackingParams": "CLsBEKVBGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "likesAllowed": true, - "dislikeNavigationEndpoint": { - "clickTrackingParams": "CLsBEKVBGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Not a fan?" - } - ] - }, - "content": { - "runs": [ - { - "text": "Improve your recommendations after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CL0BEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CL0BEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - } - }, - "likeCommand": { - "clickTrackingParams": "CLsBEKVBGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Like this song" - } - ] - }, - "content": { - "runs": [ - { - "text": "Improve recommendations and save music after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CLwBEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CLwBEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - } - } - } - } - ], - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "playlistItemData": { - "playlistSetVideoId": "4B53EBECDD87BEB1", - "videoId": "2TuOh30XbCI" - }, - "itemHeight": "MUSIC_RESPONSIVE_LIST_ITEM_HEIGHT_MEDIUM", - "index": { - "runs": [ - { - "text": "5" - } - ] - }, - "multiSelectCheckbox": { - "checkboxRenderer": { - "onSelectionChangeCommand": { - "clickTrackingParams": "CLkBEL6-CSITCKC4h-_e34sDFScfBgAdF6AgSA==", - "updateMultiSelectStateCommand": { - "multiSelectParams": "CAMSKU9MQUs1dXlfbEdQX3p2MHZKRFVsZWNRRHp1Z1VKbWpjRjdwdnlWTnlZ", - "multiSelectItem": "Ch8KCzJUdU9oMzBYYkNJEhA0QjUzRUJFQ0REODdCRUIx" - } - }, - "checkedState": "CHECKBOX_CHECKED_STATE_UNCHECKED", - "trackingParams": "CLkBEL6-CSITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - } - } - } - ], - "trackingParams": "CLcBEPleGAAiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "shelfDivider": { - "musicShelfDividerRenderer": { - "hidden": true - } - }, - "contentsMultiSelectable": true - } - }, - { - "musicCarouselShelfRenderer": { - "header": { - "musicCarouselShelfBasicHeaderRenderer": { - "title": { - "runs": [ - { - "text": "More from Madeline Juno" - } - ] - }, - "accessibilityData": { - "accessibilityData": { - "label": "More from Madeline Juno" - } - }, - "headerStyle": "MUSIC_CAROUSEL_SHELF_BASIC_HEADER_STYLE_DEFAULT", - "trackingParams": "CLYBEIi8BCITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - }, - "contents": [ - { - "musicTwoRowItemRenderer": { - "thumbnailRenderer": { - "musicThumbnailRenderer": { - "thumbnail": { - "thumbnails": [ - { - "url": "https://lh3.googleusercontent.com/g89-Zt2uybugyl9c57nn_0eZ7lP5LDKGVxRW7bRhPxNqW2V2ApdXt_i-jVm5L8gXGLS8K9HGYaCQ40A_=w226-h226-l90-rj", - "width": 226, - "height": 226 - }, - { - "url": "https://lh3.googleusercontent.com/g89-Zt2uybugyl9c57nn_0eZ7lP5LDKGVxRW7bRhPxNqW2V2ApdXt_i-jVm5L8gXGLS8K9HGYaCQ40A_=w544-h544-l90-rj", - "width": 544, - "height": 544 - } - ] - }, - "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", - "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FILL", - "trackingParams": "CLUBEIS_AiITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - }, - "aspectRatio": "MUSIC_TWO_ROW_ITEM_THUMBNAIL_ASPECT_RATIO_SQUARE", - "title": { - "runs": [ - { - "text": "The Unknown", - "navigationEndpoint": { - "clickTrackingParams": "CKYBEKCzAhgAIhMIoLiH797fiwMVJx8GAB0XoCBI", - "browseEndpoint": { - "browseId": "MPREb_AcHxkad6Caz", - "params": "ggMrGilPTEFLNXV5X2tkZEt2dDRDcXBJOFRlekg1TmVOOEZDZ19hNTFrSXFScw%3D%3D", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ALBUM" - } - } - } - } - } - ] - }, - "subtitle": { - "runs": [ - { - "text": "Album" - }, - { - "text": " • " - }, - { - "text": "Madeline Juno", - "navigationEndpoint": { - "clickTrackingParams": "CKYBEKCzAhgAIhMIoLiH797fiwMVJx8GAB0XoCBI", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - } - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CKYBEKCzAhgAIhMIoLiH797fiwMVJx8GAB0XoCBI", - "browseEndpoint": { - "browseId": "MPREb_AcHxkad6Caz", - "params": "ggMrGilPTEFLNXV5X2tkZEt2dDRDcXBJOFRlekg1TmVOOEZDZ19hNTFrSXFScw%3D%3D", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ALBUM" - } - } - } - }, - "trackingParams": "CKYBEKCzAhgAIhMIoLiH797fiwMVJx8GAB0XoCBI", - "menu": { - "menuRenderer": { - "items": [ - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Shuffle play" - } - ] - }, - "icon": { - "iconType": "MUSIC_SHUFFLE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CLQBEJrzBRgAIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchPlaylistEndpoint": { - "playlistId": "OLAK5uy_kddKvt4CqpI8TezH5NeN8FCg_a51kIqRs", - "params": "wAEB8gECKAE%3D" - } - }, - "trackingParams": "CLQBEJrzBRgAIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Start radio" - } - ] - }, - "icon": { - "iconType": "MIX" - }, - "navigationEndpoint": { - "clickTrackingParams": "CLMBEJvzBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchPlaylistEndpoint": { - "playlistId": "RDAMPLOLAK5uy_kddKvt4CqpI8TezH5NeN8FCg_a51kIqRs", - "params": "wAEB" - } - }, - "trackingParams": "CLMBEJvzBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Play next" - } - ] - }, - "icon": { - "iconType": "QUEUE_PLAY_NEXT" - }, - "serviceEndpoint": { - "clickTrackingParams": "CLEBEL7uBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "queueAddEndpoint": { - "queueTarget": { - "playlistId": "OLAK5uy_kddKvt4CqpI8TezH5NeN8FCg_a51kIqRs", - "onEmptyQueue": { - "clickTrackingParams": "CLEBEL7uBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "playlistId": "OLAK5uy_kddKvt4CqpI8TezH5NeN8FCg_a51kIqRs" - } - } - }, - "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", - "commands": [ - { - "clickTrackingParams": "CLEBEL7uBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Album will play next" - } - ] - }, - "trackingParams": "CLIBEMrHAyITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - } - } - } - ] - } - }, - "trackingParams": "CLEBEL7uBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_REMOTE_QUEUE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CK8BEPvvBRgDIhMIoLiH797fiwMVJx8GAB0XoCBI", - "queueAddEndpoint": { - "queueTarget": { - "playlistId": "OLAK5uy_kddKvt4CqpI8TezH5NeN8FCg_a51kIqRs", - "onEmptyQueue": { - "clickTrackingParams": "CK8BEPvvBRgDIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "playlistId": "OLAK5uy_kddKvt4CqpI8TezH5NeN8FCg_a51kIqRs" - } - } - }, - "queueInsertPosition": "INSERT_AT_END", - "commands": [ - { - "clickTrackingParams": "CK8BEPvvBRgDIhMIoLiH797fiwMVJx8GAB0XoCBI", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Album added to queue" - } - ] - }, - "trackingParams": "CLABEMrHAyITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - } - } - } - ] - } - }, - "trackingParams": "CK8BEPvvBRgDIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "toggleMenuServiceItemRenderer": { - "defaultText": { - "runs": [ - { - "text": "Save album to library" - } - ] - }, - "defaultIcon": { - "iconType": "LIBRARY_ADD" - }, - "defaultServiceEndpoint": { - "clickTrackingParams": "CK0BEIT_BRgEIhMIoLiH797fiwMVJx8GAB0XoCBI", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Save favorites to your library after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CK4BEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CK4BEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - } - }, - "toggledText": { - "runs": [ - { - "text": "Remove album from library" - } - ] - }, - "toggledIcon": { - "iconType": "LIBRARY_SAVED" - }, - "toggledServiceEndpoint": { - "clickTrackingParams": "CK0BEIT_BRgEIhMIoLiH797fiwMVJx8GAB0XoCBI", - "likeEndpoint": { - "status": "INDIFFERENT", - "target": { - "playlistId": "OLAK5uy_kddKvt4CqpI8TezH5NeN8FCg_a51kIqRs" - } - } - }, - "trackingParams": "CK0BEIT_BRgEIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Save to playlist" - } - ] - }, - "icon": { - "iconType": "ADD_TO_PLAYLIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CKsBEMOUBhgFIhMIoLiH797fiwMVJx8GAB0XoCBI", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Make playlists and share them after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CKwBEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CKwBEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - } - }, - "trackingParams": "CKsBEMOUBhgFIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Go to artist" - } - ] - }, - "icon": { - "iconType": "ARTIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CKoBEJD7BRgGIhMIoLiH797fiwMVJx8GAB0XoCBI", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - }, - "trackingParams": "CKoBEJD7BRgGIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CKkBEJH7BRgHIhMIoLiH797fiwMVJx8GAB0XoCBI", - "shareEntityEndpoint": { - "serializedShareEntity": "EilPTEFLNXV5X2tkZEt2dDRDcXBJOFRlekg1TmVOOEZDZ19hNTFrSXFScw%3D%3D", - "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" - } - }, - "trackingParams": "CKkBEJH7BRgHIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - ], - "trackingParams": "CKgBEKc7IhMIoLiH797fiwMVJx8GAB0XoCBI", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlay": { - "musicItemThumbnailOverlayRenderer": { - "background": { - "verticalGradient": { - "gradientLayerColors": [ - "2147483648", - "0", - "0" - ] - } - }, - "content": { - "musicPlayButtonRenderer": { - "playNavigationEndpoint": { - "clickTrackingParams": "CKcBEMjeAiITCKC4h-_e34sDFScfBgAdF6AgSA==", - "watchPlaylistEndpoint": { - "playlistId": "OLAK5uy_kddKvt4CqpI8TezH5NeN8FCg_a51kIqRs" - } - }, - "trackingParams": "CKcBEMjeAiITCKC4h-_e34sDFScfBgAdF6AgSA==", - "playIcon": { - "iconType": "PLAY_ARROW" - }, - "pauseIcon": { - "iconType": "PAUSE" - }, - "iconColor": 4294967295, - "backgroundColor": 2566914048, - "activeBackgroundColor": 4278190080, - "loadingIndicatorColor": 14745645, - "playingIcon": { - "iconType": "VOLUME_UP" - }, - "iconLoadingColor": 1308622847, - "activeScaleFactor": 1.2, - "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_MEDIUM", - "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", - "accessibilityPlayData": { - "accessibilityData": { - "label": "Play The Unknown" - } - }, - "accessibilityPauseData": { - "accessibilityData": { - "label": "Pause The Unknown" - } - } - } - }, - "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_BOTTOM_RIGHT", - "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_HOVER" - } - } - } - }, - { - "musicTwoRowItemRenderer": { - "thumbnailRenderer": { - "musicThumbnailRenderer": { - "thumbnail": { - "thumbnails": [ - { - "url": "https://lh3.googleusercontent.com/2Z-ZCut-kyKGIgZIekr_N8Q7ZW_JTsD0uvv4jp3Jq0M4DpjX1EVUH5wWHGpb3w0fMBsf-Fjz6lWYuuiF5A=w226-h226-l90-rj", - "width": 226, - "height": 226 - }, - { - "url": "https://lh3.googleusercontent.com/2Z-ZCut-kyKGIgZIekr_N8Q7ZW_JTsD0uvv4jp3Jq0M4DpjX1EVUH5wWHGpb3w0fMBsf-Fjz6lWYuuiF5A=w544-h544-l90-rj", - "width": 544, - "height": 544 - } - ] - }, - "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", - "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FILL", - "trackingParams": "CKUBEIS_AiITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - }, - "aspectRatio": "MUSIC_TWO_ROW_ITEM_THUMBNAIL_ASPECT_RATIO_SQUARE", - "title": { - "runs": [ - { - "text": "DNA", - "navigationEndpoint": { - "clickTrackingParams": "CJYBEKCzAhgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "browseEndpoint": { - "browseId": "MPREb_w5lKTKIAWpH", - "params": "ggMrGilPTEFLNXV5X2xoeHdSc1NrWkxQbDB1Rm82Yll4VTFfdWpVNld1RTVybw%3D%3D", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ALBUM" - } - } - } - } - } - ] - }, - "subtitle": { - "runs": [ - { - "text": "Album" - }, - { - "text": " • " - }, - { - "text": "Madeline Juno", - "navigationEndpoint": { - "clickTrackingParams": "CJYBEKCzAhgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - } - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CJYBEKCzAhgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "browseEndpoint": { - "browseId": "MPREb_w5lKTKIAWpH", - "params": "ggMrGilPTEFLNXV5X2xoeHdSc1NrWkxQbDB1Rm82Yll4VTFfdWpVNld1RTVybw%3D%3D", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ALBUM" - } - } - } - }, - "trackingParams": "CJYBEKCzAhgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "menu": { - "menuRenderer": { - "items": [ - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Shuffle play" - } - ] - }, - "icon": { - "iconType": "MUSIC_SHUFFLE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CKQBEJrzBRgAIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchPlaylistEndpoint": { - "playlistId": "OLAK5uy_lhxwRsSkZLPl0uFo6bYxU1_ujU6WuE5ro", - "params": "wAEB8gECKAE%3D" - } - }, - "trackingParams": "CKQBEJrzBRgAIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Start radio" - } - ] - }, - "icon": { - "iconType": "MIX" - }, - "navigationEndpoint": { - "clickTrackingParams": "CKMBEJvzBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchPlaylistEndpoint": { - "playlistId": "RDAMPLOLAK5uy_lhxwRsSkZLPl0uFo6bYxU1_ujU6WuE5ro", - "params": "wAEB" - } - }, - "trackingParams": "CKMBEJvzBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Play next" - } - ] - }, - "icon": { - "iconType": "QUEUE_PLAY_NEXT" - }, - "serviceEndpoint": { - "clickTrackingParams": "CKEBEL7uBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "queueAddEndpoint": { - "queueTarget": { - "playlistId": "OLAK5uy_lhxwRsSkZLPl0uFo6bYxU1_ujU6WuE5ro", - "onEmptyQueue": { - "clickTrackingParams": "CKEBEL7uBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "playlistId": "OLAK5uy_lhxwRsSkZLPl0uFo6bYxU1_ujU6WuE5ro" - } - } - }, - "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", - "commands": [ - { - "clickTrackingParams": "CKEBEL7uBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Album will play next" - } - ] - }, - "trackingParams": "CKIBEMrHAyITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - } - } - } - ] - } - }, - "trackingParams": "CKEBEL7uBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_REMOTE_QUEUE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJ8BEPvvBRgDIhMIoLiH797fiwMVJx8GAB0XoCBI", - "queueAddEndpoint": { - "queueTarget": { - "playlistId": "OLAK5uy_lhxwRsSkZLPl0uFo6bYxU1_ujU6WuE5ro", - "onEmptyQueue": { - "clickTrackingParams": "CJ8BEPvvBRgDIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "playlistId": "OLAK5uy_lhxwRsSkZLPl0uFo6bYxU1_ujU6WuE5ro" - } - } - }, - "queueInsertPosition": "INSERT_AT_END", - "commands": [ - { - "clickTrackingParams": "CJ8BEPvvBRgDIhMIoLiH797fiwMVJx8GAB0XoCBI", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Album added to queue" - } - ] - }, - "trackingParams": "CKABEMrHAyITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - } - } - } - ] - } - }, - "trackingParams": "CJ8BEPvvBRgDIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "toggleMenuServiceItemRenderer": { - "defaultText": { - "runs": [ - { - "text": "Save album to library" - } - ] - }, - "defaultIcon": { - "iconType": "LIBRARY_ADD" - }, - "defaultServiceEndpoint": { - "clickTrackingParams": "CJ0BEIT_BRgEIhMIoLiH797fiwMVJx8GAB0XoCBI", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Save favorites to your library after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CJ4BEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CJ4BEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - } - }, - "toggledText": { - "runs": [ - { - "text": "Remove album from library" - } - ] - }, - "toggledIcon": { - "iconType": "LIBRARY_SAVED" - }, - "toggledServiceEndpoint": { - "clickTrackingParams": "CJ0BEIT_BRgEIhMIoLiH797fiwMVJx8GAB0XoCBI", - "likeEndpoint": { - "status": "INDIFFERENT", - "target": { - "playlistId": "OLAK5uy_lhxwRsSkZLPl0uFo6bYxU1_ujU6WuE5ro" - } - } - }, - "trackingParams": "CJ0BEIT_BRgEIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Save to playlist" - } - ] - }, - "icon": { - "iconType": "ADD_TO_PLAYLIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CJsBEMOUBhgFIhMIoLiH797fiwMVJx8GAB0XoCBI", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Make playlists and share them after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CJwBEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CJwBEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - } - }, - "trackingParams": "CJsBEMOUBhgFIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Go to artist" - } - ] - }, - "icon": { - "iconType": "ARTIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CJoBEJD7BRgGIhMIoLiH797fiwMVJx8GAB0XoCBI", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - }, - "trackingParams": "CJoBEJD7BRgGIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CJkBEJH7BRgHIhMIoLiH797fiwMVJx8GAB0XoCBI", - "shareEntityEndpoint": { - "serializedShareEntity": "EilPTEFLNXV5X2xoeHdSc1NrWkxQbDB1Rm82Yll4VTFfdWpVNld1RTVybw%3D%3D", - "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" - } - }, - "trackingParams": "CJkBEJH7BRgHIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - ], - "trackingParams": "CJgBEKc7IhMIoLiH797fiwMVJx8GAB0XoCBI", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlay": { - "musicItemThumbnailOverlayRenderer": { - "background": { - "verticalGradient": { - "gradientLayerColors": [ - "2147483648", - "0", - "0" - ] - } - }, - "content": { - "musicPlayButtonRenderer": { - "playNavigationEndpoint": { - "clickTrackingParams": "CJcBEMjeAiITCKC4h-_e34sDFScfBgAdF6AgSA==", - "watchPlaylistEndpoint": { - "playlistId": "OLAK5uy_lhxwRsSkZLPl0uFo6bYxU1_ujU6WuE5ro" - } - }, - "trackingParams": "CJcBEMjeAiITCKC4h-_e34sDFScfBgAdF6AgSA==", - "playIcon": { - "iconType": "PLAY_ARROW" - }, - "pauseIcon": { - "iconType": "PAUSE" - }, - "iconColor": 4294967295, - "backgroundColor": 2566914048, - "activeBackgroundColor": 4278190080, - "loadingIndicatorColor": 14745645, - "playingIcon": { - "iconType": "VOLUME_UP" - }, - "iconLoadingColor": 1308622847, - "activeScaleFactor": 1.2, - "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_MEDIUM", - "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", - "accessibilityPlayData": { - "accessibilityData": { - "label": "Play DNA" - } - }, - "accessibilityPauseData": { - "accessibilityData": { - "label": "Pause DNA" - } - } - } - }, - "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_BOTTOM_RIGHT", - "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_HOVER" - } - } - } - }, - { - "musicTwoRowItemRenderer": { - "thumbnailRenderer": { - "musicThumbnailRenderer": { - "thumbnail": { - "thumbnails": [ - { - "url": "https://lh3.googleusercontent.com/7jDuk_B4v-2sCy02yQI9JAJ6RyjhkQqTBkL_LO9HnjKrQuRlO8-9sZ-moD4KkbpfJEdEShC7pRqWJu7e=w226-h226-l90-rj", - "width": 226, - "height": 226 - }, - { - "url": "https://lh3.googleusercontent.com/7jDuk_B4v-2sCy02yQI9JAJ6RyjhkQqTBkL_LO9HnjKrQuRlO8-9sZ-moD4KkbpfJEdEShC7pRqWJu7e=w544-h544-l90-rj", - "width": 544, - "height": 544 - } - ] - }, - "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", - "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FILL", - "trackingParams": "CJUBEIS_AiITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - }, - "aspectRatio": "MUSIC_TWO_ROW_ITEM_THUMBNAIL_ASPECT_RATIO_SQUARE", - "title": { - "runs": [ - { - "text": "Besser kann ich es nicht erklären", - "navigationEndpoint": { - "clickTrackingParams": "CIYBEKCzAhgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "browseEndpoint": { - "browseId": "MPREb_RSBYOXptNiW", - "params": "ggMrGilPTEFLNXV5X25xdzFFa2dnWmFlM3cwWksta1FfMk1ld2Jwd3hnMkR5bw%3D%3D", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ALBUM" - } - } - } - } - } - ] - }, - "subtitle": { - "runs": [ - { - "text": "Album" - }, - { - "text": " • " - }, - { - "text": "Madeline Juno", - "navigationEndpoint": { - "clickTrackingParams": "CIYBEKCzAhgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - } - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CIYBEKCzAhgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "browseEndpoint": { - "browseId": "MPREb_RSBYOXptNiW", - "params": "ggMrGilPTEFLNXV5X25xdzFFa2dnWmFlM3cwWksta1FfMk1ld2Jwd3hnMkR5bw%3D%3D", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ALBUM" - } - } - } - }, - "trackingParams": "CIYBEKCzAhgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "menu": { - "menuRenderer": { - "items": [ - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Shuffle play" - } - ] - }, - "icon": { - "iconType": "MUSIC_SHUFFLE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CJQBEJrzBRgAIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchPlaylistEndpoint": { - "playlistId": "OLAK5uy_nqw1EkggZae3w0ZK-kQ_2Mewbpwxg2Dyo", - "params": "wAEB8gECKAE%3D" - } - }, - "trackingParams": "CJQBEJrzBRgAIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Start radio" - } - ] - }, - "icon": { - "iconType": "MIX" - }, - "navigationEndpoint": { - "clickTrackingParams": "CJMBEJvzBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchPlaylistEndpoint": { - "playlistId": "RDAMPLOLAK5uy_nqw1EkggZae3w0ZK-kQ_2Mewbpwxg2Dyo", - "params": "wAEB" - } - }, - "trackingParams": "CJMBEJvzBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Play next" - } - ] - }, - "icon": { - "iconType": "QUEUE_PLAY_NEXT" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJEBEL7uBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "queueAddEndpoint": { - "queueTarget": { - "playlistId": "OLAK5uy_nqw1EkggZae3w0ZK-kQ_2Mewbpwxg2Dyo", - "onEmptyQueue": { - "clickTrackingParams": "CJEBEL7uBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "playlistId": "OLAK5uy_nqw1EkggZae3w0ZK-kQ_2Mewbpwxg2Dyo" - } - } - }, - "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", - "commands": [ - { - "clickTrackingParams": "CJEBEL7uBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Album will play next" - } - ] - }, - "trackingParams": "CJIBEMrHAyITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - } - } - } - ] - } - }, - "trackingParams": "CJEBEL7uBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_REMOTE_QUEUE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CI8BEPvvBRgDIhMIoLiH797fiwMVJx8GAB0XoCBI", - "queueAddEndpoint": { - "queueTarget": { - "playlistId": "OLAK5uy_nqw1EkggZae3w0ZK-kQ_2Mewbpwxg2Dyo", - "onEmptyQueue": { - "clickTrackingParams": "CI8BEPvvBRgDIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "playlistId": "OLAK5uy_nqw1EkggZae3w0ZK-kQ_2Mewbpwxg2Dyo" - } - } - }, - "queueInsertPosition": "INSERT_AT_END", - "commands": [ - { - "clickTrackingParams": "CI8BEPvvBRgDIhMIoLiH797fiwMVJx8GAB0XoCBI", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Album added to queue" - } - ] - }, - "trackingParams": "CJABEMrHAyITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - } - } - } - ] - } - }, - "trackingParams": "CI8BEPvvBRgDIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "toggleMenuServiceItemRenderer": { - "defaultText": { - "runs": [ - { - "text": "Save album to library" - } - ] - }, - "defaultIcon": { - "iconType": "LIBRARY_ADD" - }, - "defaultServiceEndpoint": { - "clickTrackingParams": "CI0BEIT_BRgEIhMIoLiH797fiwMVJx8GAB0XoCBI", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Save favorites to your library after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CI4BEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CI4BEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - } - }, - "toggledText": { - "runs": [ - { - "text": "Remove album from library" - } - ] - }, - "toggledIcon": { - "iconType": "LIBRARY_SAVED" - }, - "toggledServiceEndpoint": { - "clickTrackingParams": "CI0BEIT_BRgEIhMIoLiH797fiwMVJx8GAB0XoCBI", - "likeEndpoint": { - "status": "INDIFFERENT", - "target": { - "playlistId": "OLAK5uy_nqw1EkggZae3w0ZK-kQ_2Mewbpwxg2Dyo" - } - } - }, - "trackingParams": "CI0BEIT_BRgEIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Save to playlist" - } - ] - }, - "icon": { - "iconType": "ADD_TO_PLAYLIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CIsBEMOUBhgFIhMIoLiH797fiwMVJx8GAB0XoCBI", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Make playlists and share them after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CIwBEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CIwBEPBbIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - } - }, - "trackingParams": "CIsBEMOUBhgFIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Go to artist" - } - ] - }, - "icon": { - "iconType": "ARTIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CIoBEJD7BRgGIhMIoLiH797fiwMVJx8GAB0XoCBI", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - }, - "trackingParams": "CIoBEJD7BRgGIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CIkBEJH7BRgHIhMIoLiH797fiwMVJx8GAB0XoCBI", - "shareEntityEndpoint": { - "serializedShareEntity": "EilPTEFLNXV5X25xdzFFa2dnWmFlM3cwWksta1FfMk1ld2Jwd3hnMkR5bw%3D%3D", - "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" - } - }, - "trackingParams": "CIkBEJH7BRgHIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - ], - "trackingParams": "CIgBEKc7IhMIoLiH797fiwMVJx8GAB0XoCBI", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlay": { - "musicItemThumbnailOverlayRenderer": { - "background": { - "verticalGradient": { - "gradientLayerColors": [ - "2147483648", - "0", - "0" - ] - } - }, - "content": { - "musicPlayButtonRenderer": { - "playNavigationEndpoint": { - "clickTrackingParams": "CIcBEMjeAiITCKC4h-_e34sDFScfBgAdF6AgSA==", - "watchPlaylistEndpoint": { - "playlistId": "OLAK5uy_nqw1EkggZae3w0ZK-kQ_2Mewbpwxg2Dyo" - } - }, - "trackingParams": "CIcBEMjeAiITCKC4h-_e34sDFScfBgAdF6AgSA==", - "playIcon": { - "iconType": "PLAY_ARROW" - }, - "pauseIcon": { - "iconType": "PAUSE" - }, - "iconColor": 4294967295, - "backgroundColor": 2566914048, - "activeBackgroundColor": 4278190080, - "loadingIndicatorColor": 14745645, - "playingIcon": { - "iconType": "VOLUME_UP" - }, - "iconLoadingColor": 1308622847, - "activeScaleFactor": 1.2, - "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_MEDIUM", - "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", - "accessibilityPlayData": { - "accessibilityData": { - "label": "Play Besser kann ich es nicht erklären" - } - }, - "accessibilityPauseData": { - "accessibilityData": { - "label": "Pause Besser kann ich es nicht erklären" - } - } - } - }, - "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_BOTTOM_RIGHT", - "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_HOVER" - } - } - } - }, - { - "musicTwoRowItemRenderer": { - "thumbnailRenderer": { - "musicThumbnailRenderer": { - "thumbnail": { - "thumbnails": [ - { - "url": "https://lh3.googleusercontent.com/EuoHCUohrVYMJFpGRqgDoyYfjyhh08PmfFhLBAX41ZZQ5VHQtuzWaNW2GX5iegQcMcr4781M65YuKi-i=w226-h226-l90-rj", - "width": 226, - "height": 226 - }, - { - "url": "https://lh3.googleusercontent.com/EuoHCUohrVYMJFpGRqgDoyYfjyhh08PmfFhLBAX41ZZQ5VHQtuzWaNW2GX5iegQcMcr4781M65YuKi-i=w544-h544-l90-rj", - "width": 544, - "height": 544 - } - ] - }, - "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", - "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FILL", - "trackingParams": "CIUBEIS_AiITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - }, - "aspectRatio": "MUSIC_TWO_ROW_ITEM_THUMBNAIL_ASPECT_RATIO_SQUARE", - "title": { - "runs": [ - { - "text": "Salvation", - "navigationEndpoint": { - "clickTrackingParams": "CHYQoLMCGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "MPREb_DtpbfTVqpjY", - "params": "ggMrGilPTEFLNXV5X21BT3hRZ3RhbnZMc0paVHhzNURhbWNKQ3h5YllpWFF5Zw%3D%3D", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ALBUM" - } - } - } - } - } - ] - }, - "subtitle": { - "runs": [ - { - "text": "Album" - }, - { - "text": " • " - }, - { - "text": "Madeline Juno", - "navigationEndpoint": { - "clickTrackingParams": "CHYQoLMCGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - } - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CHYQoLMCGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "MPREb_DtpbfTVqpjY", - "params": "ggMrGilPTEFLNXV5X21BT3hRZ3RhbnZMc0paVHhzNURhbWNKQ3h5YllpWFF5Zw%3D%3D", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ALBUM" - } - } - } - }, - "trackingParams": "CHYQoLMCGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "menu": { - "menuRenderer": { - "items": [ - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Shuffle play" - } - ] - }, - "icon": { - "iconType": "MUSIC_SHUFFLE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CIQBEJrzBRgAIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchPlaylistEndpoint": { - "playlistId": "OLAK5uy_mAOxQgtanvLsJZTxs5DamcJCxybYiXQyg", - "params": "wAEB8gECKAE%3D" - } - }, - "trackingParams": "CIQBEJrzBRgAIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Start radio" - } - ] - }, - "icon": { - "iconType": "MIX" - }, - "navigationEndpoint": { - "clickTrackingParams": "CIMBEJvzBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchPlaylistEndpoint": { - "playlistId": "RDAMPLOLAK5uy_mAOxQgtanvLsJZTxs5DamcJCxybYiXQyg", - "params": "wAEB" - } - }, - "trackingParams": "CIMBEJvzBRgBIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Play next" - } - ] - }, - "icon": { - "iconType": "QUEUE_PLAY_NEXT" - }, - "serviceEndpoint": { - "clickTrackingParams": "CIEBEL7uBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "queueAddEndpoint": { - "queueTarget": { - "playlistId": "OLAK5uy_mAOxQgtanvLsJZTxs5DamcJCxybYiXQyg", - "onEmptyQueue": { - "clickTrackingParams": "CIEBEL7uBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "playlistId": "OLAK5uy_mAOxQgtanvLsJZTxs5DamcJCxybYiXQyg" - } - } - }, - "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", - "commands": [ - { - "clickTrackingParams": "CIEBEL7uBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Album will play next" - } - ] - }, - "trackingParams": "CIIBEMrHAyITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - } - } - } - ] - } - }, - "trackingParams": "CIEBEL7uBRgCIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_REMOTE_QUEUE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CH8Q--8FGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "queueAddEndpoint": { - "queueTarget": { - "playlistId": "OLAK5uy_mAOxQgtanvLsJZTxs5DamcJCxybYiXQyg", - "onEmptyQueue": { - "clickTrackingParams": "CH8Q--8FGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchEndpoint": { - "playlistId": "OLAK5uy_mAOxQgtanvLsJZTxs5DamcJCxybYiXQyg" - } - } - }, - "queueInsertPosition": "INSERT_AT_END", - "commands": [ - { - "clickTrackingParams": "CH8Q--8FGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Album added to queue" - } - ] - }, - "trackingParams": "CIABEMrHAyITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - } - } - } - ] - } - }, - "trackingParams": "CH8Q--8FGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "toggleMenuServiceItemRenderer": { - "defaultText": { - "runs": [ - { - "text": "Save album to library" - } - ] - }, - "defaultIcon": { - "iconType": "LIBRARY_ADD" - }, - "defaultServiceEndpoint": { - "clickTrackingParams": "CH0QhP8FGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Save favorites to your library after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CH4Q8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CH4Q8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - } - } - } - }, - "toggledText": { - "runs": [ - { - "text": "Remove album from library" - } - ] - }, - "toggledIcon": { - "iconType": "LIBRARY_SAVED" - }, - "toggledServiceEndpoint": { - "clickTrackingParams": "CH0QhP8FGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "likeEndpoint": { - "status": "INDIFFERENT", - "target": { - "playlistId": "OLAK5uy_mAOxQgtanvLsJZTxs5DamcJCxybYiXQyg" - } - } - }, - "trackingParams": "CH0QhP8FGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Save to playlist" - } - ] - }, - "icon": { - "iconType": "ADD_TO_PLAYLIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CHsQw5QGGAUiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Make playlists and share them after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CHwQ8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CHwQ8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - } - } - } - }, - "trackingParams": "CHsQw5QGGAUiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Go to artist" - } - ] - }, - "icon": { - "iconType": "ARTIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CHoQkPsFGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - }, - "trackingParams": "CHoQkPsFGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CHkQkfsFGAciEwiguIfv3t-LAxUnHwYAHRegIEg=", - "shareEntityEndpoint": { - "serializedShareEntity": "EilPTEFLNXV5X21BT3hRZ3RhbnZMc0paVHhzNURhbWNKQ3h5YllpWFF5Zw%3D%3D", - "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" - } - }, - "trackingParams": "CHkQkfsFGAciEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - ], - "trackingParams": "CHgQpzsiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlay": { - "musicItemThumbnailOverlayRenderer": { - "background": { - "verticalGradient": { - "gradientLayerColors": [ - "2147483648", - "0", - "0" - ] - } - }, - "content": { - "musicPlayButtonRenderer": { - "playNavigationEndpoint": { - "clickTrackingParams": "CHcQyN4CIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchPlaylistEndpoint": { - "playlistId": "OLAK5uy_mAOxQgtanvLsJZTxs5DamcJCxybYiXQyg" - } - }, - "trackingParams": "CHcQyN4CIhMIoLiH797fiwMVJx8GAB0XoCBI", - "playIcon": { - "iconType": "PLAY_ARROW" - }, - "pauseIcon": { - "iconType": "PAUSE" - }, - "iconColor": 4294967295, - "backgroundColor": 2566914048, - "activeBackgroundColor": 4278190080, - "loadingIndicatorColor": 14745645, - "playingIcon": { - "iconType": "VOLUME_UP" - }, - "iconLoadingColor": 1308622847, - "activeScaleFactor": 1.2, - "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_MEDIUM", - "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", - "accessibilityPlayData": { - "accessibilityData": { - "label": "Play Salvation" - } - }, - "accessibilityPauseData": { - "accessibilityData": { - "label": "Pause Salvation" - } - } - } - }, - "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_BOTTOM_RIGHT", - "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_HOVER" - } - } - } - }, - { - "musicTwoRowItemRenderer": { - "thumbnailRenderer": { - "musicThumbnailRenderer": { - "thumbnail": { - "thumbnails": [ - { - "url": "https://lh3.googleusercontent.com/IYxE8yTIpFUu0OayA5SaxFEn6zQ7T21hpkvI8CODY9NEH1XIhyoUhGohkZuaK-xSu22BC4wjp6srNjIW=w226-h226-l90-rj", - "width": 226, - "height": 226 - }, - { - "url": "https://lh3.googleusercontent.com/IYxE8yTIpFUu0OayA5SaxFEn6zQ7T21hpkvI8CODY9NEH1XIhyoUhGohkZuaK-xSu22BC4wjp6srNjIW=w544-h544-l90-rj", - "width": 544, - "height": 544 - } - ] - }, - "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", - "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FILL", - "trackingParams": "CHUQhL8CIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - "aspectRatio": "MUSIC_TWO_ROW_ITEM_THUMBNAIL_ASPECT_RATIO_SQUARE", - "title": { - "runs": [ - { - "text": "Waldbrand", - "navigationEndpoint": { - "clickTrackingParams": "CGYQoLMCGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "MPREb_u1I69lSAe5v", - "params": "ggMrGilPTEFLNXV5X2xHUF96djB2SkRVbGVjUUR6dWdVSm1qY0Y3cHZ5Vk55WQ%3D%3D", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ALBUM" - } - } - } - } - } - ] - }, - "subtitle": { - "runs": [ - { - "text": "EP" - }, - { - "text": " • " - }, - { - "text": "Madeline Juno", - "navigationEndpoint": { - "clickTrackingParams": "CGYQoLMCGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - } - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CGYQoLMCGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "MPREb_u1I69lSAe5v", - "params": "ggMrGilPTEFLNXV5X2xHUF96djB2SkRVbGVjUUR6dWdVSm1qY0Y3cHZ5Vk55WQ%3D%3D", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ALBUM" - } - } - } - }, - "trackingParams": "CGYQoLMCGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "menu": { - "menuRenderer": { - "items": [ - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Shuffle play" - } - ] - }, - "icon": { - "iconType": "MUSIC_SHUFFLE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CHQQmvMFGAAiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchPlaylistEndpoint": { - "playlistId": "OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY", - "params": "wAEB8gECKAE%3D" - } - }, - "trackingParams": "CHQQmvMFGAAiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Start radio" - } - ] - }, - "icon": { - "iconType": "MIX" - }, - "navigationEndpoint": { - "clickTrackingParams": "CHMQm_MFGAEiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchPlaylistEndpoint": { - "playlistId": "RDAMPLOLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY", - "params": "wAEB" - } - }, - "trackingParams": "CHMQm_MFGAEiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Play next" - } - ] - }, - "icon": { - "iconType": "QUEUE_PLAY_NEXT" - }, - "serviceEndpoint": { - "clickTrackingParams": "CHEQvu4FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "queueAddEndpoint": { - "queueTarget": { - "playlistId": "OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY", - "onEmptyQueue": { - "clickTrackingParams": "CHEQvu4FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchEndpoint": { - "playlistId": "OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY" - } - } - }, - "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", - "commands": [ - { - "clickTrackingParams": "CHEQvu4FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Album will play next" - } - ] - }, - "trackingParams": "CHIQyscDIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - ] - } - }, - "trackingParams": "CHEQvu4FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_REMOTE_QUEUE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CG8Q--8FGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "queueAddEndpoint": { - "queueTarget": { - "playlistId": "OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY", - "onEmptyQueue": { - "clickTrackingParams": "CG8Q--8FGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchEndpoint": { - "playlistId": "OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY" - } - } - }, - "queueInsertPosition": "INSERT_AT_END", - "commands": [ - { - "clickTrackingParams": "CG8Q--8FGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Album added to queue" - } - ] - }, - "trackingParams": "CHAQyscDIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - ] - } - }, - "trackingParams": "CG8Q--8FGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "toggleMenuServiceItemRenderer": { - "defaultText": { - "runs": [ - { - "text": "Save album to library" - } - ] - }, - "defaultIcon": { - "iconType": "LIBRARY_ADD" - }, - "defaultServiceEndpoint": { - "clickTrackingParams": "CG0QhP8FGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Save favorites to your library after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CG4Q8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CG4Q8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - } - } - } - }, - "toggledText": { - "runs": [ - { - "text": "Remove album from library" - } - ] - }, - "toggledIcon": { - "iconType": "LIBRARY_SAVED" - }, - "toggledServiceEndpoint": { - "clickTrackingParams": "CG0QhP8FGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "likeEndpoint": { - "status": "INDIFFERENT", - "target": { - "playlistId": "OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY" - } - } - }, - "trackingParams": "CG0QhP8FGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Save to playlist" - } - ] - }, - "icon": { - "iconType": "ADD_TO_PLAYLIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CGsQw5QGGAUiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Make playlists and share them after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CGwQ8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CGwQ8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - } - } - } - }, - "trackingParams": "CGsQw5QGGAUiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Go to artist" - } - ] - }, - "icon": { - "iconType": "ARTIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CGoQkPsFGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - }, - "trackingParams": "CGoQkPsFGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CGkQkfsFGAciEwiguIfv3t-LAxUnHwYAHRegIEg=", - "shareEntityEndpoint": { - "serializedShareEntity": "EilPTEFLNXV5X2xHUF96djB2SkRVbGVjUUR6dWdVSm1qY0Y3cHZ5Vk55WQ%3D%3D", - "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" - } - }, - "trackingParams": "CGkQkfsFGAciEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - ], - "trackingParams": "CGgQpzsiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlay": { - "musicItemThumbnailOverlayRenderer": { - "background": { - "verticalGradient": { - "gradientLayerColors": [ - "2147483648", - "0", - "0" - ] - } - }, - "content": { - "musicPlayButtonRenderer": { - "playNavigationEndpoint": { - "clickTrackingParams": "CGcQyN4CIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchPlaylistEndpoint": { - "playlistId": "OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY" - } - }, - "trackingParams": "CGcQyN4CIhMIoLiH797fiwMVJx8GAB0XoCBI", - "playIcon": { - "iconType": "PLAY_ARROW" - }, - "pauseIcon": { - "iconType": "PAUSE" - }, - "iconColor": 4294967295, - "backgroundColor": 2566914048, - "activeBackgroundColor": 4278190080, - "loadingIndicatorColor": 14745645, - "playingIcon": { - "iconType": "VOLUME_UP" - }, - "iconLoadingColor": 1308622847, - "activeScaleFactor": 1.2, - "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_MEDIUM", - "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", - "accessibilityPlayData": { - "accessibilityData": { - "label": "Play Waldbrand" - } - }, - "accessibilityPauseData": { - "accessibilityData": { - "label": "Pause Waldbrand" - } - } - } - }, - "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_BOTTOM_RIGHT", - "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_HOVER" - } - } - } - }, - { - "musicTwoRowItemRenderer": { - "thumbnailRenderer": { - "musicThumbnailRenderer": { - "thumbnail": { - "thumbnails": [ - { - "url": "https://lh3.googleusercontent.com/-hbxUNxc6nSCgSlTQfWPDjJIzqEFxwvKKDX4VsQCZW45yBEHM_MzWs8tMDeomICbeRu5V4XQkTFq5ZY=w226-h226-l90-rj", - "width": 226, - "height": 226 - }, - { - "url": "https://lh3.googleusercontent.com/-hbxUNxc6nSCgSlTQfWPDjJIzqEFxwvKKDX4VsQCZW45yBEHM_MzWs8tMDeomICbeRu5V4XQkTFq5ZY=w544-h544-l90-rj", - "width": 544, - "height": 544 - } - ] - }, - "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", - "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FILL", - "trackingParams": "CGUQhL8CIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - "aspectRatio": "MUSIC_TWO_ROW_ITEM_THUMBNAIL_ASPECT_RATIO_SQUARE", - "title": { - "runs": [ - { - "text": "Nur zu Besuch", - "navigationEndpoint": { - "clickTrackingParams": "CFYQoLMCGAUiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "MPREb_5WpGF85VGT1", - "params": "ggMrGilPTEFLNXV5X2xXOUdJQjlMVU85R1NrTDdMdUlTcC1JTWZ5TFFhV1Z3MA%3D%3D", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ALBUM" - } - } - } - } - } - ] - }, - "subtitle": { - "runs": [ - { - "text": "Album" - }, - { - "text": " • " - }, - { - "text": "Madeline Juno", - "navigationEndpoint": { - "clickTrackingParams": "CFYQoLMCGAUiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - } - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CFYQoLMCGAUiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "MPREb_5WpGF85VGT1", - "params": "ggMrGilPTEFLNXV5X2xXOUdJQjlMVU85R1NrTDdMdUlTcC1JTWZ5TFFhV1Z3MA%3D%3D", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ALBUM" - } - } - } - }, - "trackingParams": "CFYQoLMCGAUiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "menu": { - "menuRenderer": { - "items": [ - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Shuffle play" - } - ] - }, - "icon": { - "iconType": "MUSIC_SHUFFLE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CGQQmvMFGAAiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchPlaylistEndpoint": { - "playlistId": "OLAK5uy_lW9GIB9LUO9GSkL7LuISp-IMfyLQaWVw0", - "params": "wAEB8gECKAE%3D" - } - }, - "trackingParams": "CGQQmvMFGAAiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Start radio" - } - ] - }, - "icon": { - "iconType": "MIX" - }, - "navigationEndpoint": { - "clickTrackingParams": "CGMQm_MFGAEiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchPlaylistEndpoint": { - "playlistId": "RDAMPLOLAK5uy_lW9GIB9LUO9GSkL7LuISp-IMfyLQaWVw0", - "params": "wAEB" - } - }, - "trackingParams": "CGMQm_MFGAEiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Play next" - } - ] - }, - "icon": { - "iconType": "QUEUE_PLAY_NEXT" - }, - "serviceEndpoint": { - "clickTrackingParams": "CGEQvu4FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "queueAddEndpoint": { - "queueTarget": { - "playlistId": "OLAK5uy_lW9GIB9LUO9GSkL7LuISp-IMfyLQaWVw0", - "onEmptyQueue": { - "clickTrackingParams": "CGEQvu4FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchEndpoint": { - "playlistId": "OLAK5uy_lW9GIB9LUO9GSkL7LuISp-IMfyLQaWVw0" - } - } - }, - "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", - "commands": [ - { - "clickTrackingParams": "CGEQvu4FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Album will play next" - } - ] - }, - "trackingParams": "CGIQyscDIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - ] - } - }, - "trackingParams": "CGEQvu4FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_REMOTE_QUEUE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CF8Q--8FGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "queueAddEndpoint": { - "queueTarget": { - "playlistId": "OLAK5uy_lW9GIB9LUO9GSkL7LuISp-IMfyLQaWVw0", - "onEmptyQueue": { - "clickTrackingParams": "CF8Q--8FGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchEndpoint": { - "playlistId": "OLAK5uy_lW9GIB9LUO9GSkL7LuISp-IMfyLQaWVw0" - } - } - }, - "queueInsertPosition": "INSERT_AT_END", - "commands": [ - { - "clickTrackingParams": "CF8Q--8FGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Album added to queue" - } - ] - }, - "trackingParams": "CGAQyscDIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - ] - } - }, - "trackingParams": "CF8Q--8FGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "toggleMenuServiceItemRenderer": { - "defaultText": { - "runs": [ - { - "text": "Save album to library" - } - ] - }, - "defaultIcon": { - "iconType": "LIBRARY_ADD" - }, - "defaultServiceEndpoint": { - "clickTrackingParams": "CF0QhP8FGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Save favorites to your library after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CF4Q8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CF4Q8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - } - } - } - }, - "toggledText": { - "runs": [ - { - "text": "Remove album from library" - } - ] - }, - "toggledIcon": { - "iconType": "LIBRARY_SAVED" - }, - "toggledServiceEndpoint": { - "clickTrackingParams": "CF0QhP8FGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "likeEndpoint": { - "status": "INDIFFERENT", - "target": { - "playlistId": "OLAK5uy_lW9GIB9LUO9GSkL7LuISp-IMfyLQaWVw0" - } - } - }, - "trackingParams": "CF0QhP8FGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Save to playlist" - } - ] - }, - "icon": { - "iconType": "ADD_TO_PLAYLIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CFsQw5QGGAUiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Make playlists and share them after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CFwQ8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CFwQ8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - } - } - } - }, - "trackingParams": "CFsQw5QGGAUiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Go to artist" - } - ] - }, - "icon": { - "iconType": "ARTIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CFoQkPsFGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - }, - "trackingParams": "CFoQkPsFGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CFkQkfsFGAciEwiguIfv3t-LAxUnHwYAHRegIEg=", - "shareEntityEndpoint": { - "serializedShareEntity": "EilPTEFLNXV5X2xXOUdJQjlMVU85R1NrTDdMdUlTcC1JTWZ5TFFhV1Z3MA%3D%3D", - "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" - } - }, - "trackingParams": "CFkQkfsFGAciEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - ], - "trackingParams": "CFgQpzsiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlay": { - "musicItemThumbnailOverlayRenderer": { - "background": { - "verticalGradient": { - "gradientLayerColors": [ - "2147483648", - "0", - "0" - ] - } - }, - "content": { - "musicPlayButtonRenderer": { - "playNavigationEndpoint": { - "clickTrackingParams": "CFcQyN4CIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchPlaylistEndpoint": { - "playlistId": "OLAK5uy_lW9GIB9LUO9GSkL7LuISp-IMfyLQaWVw0" - } - }, - "trackingParams": "CFcQyN4CIhMIoLiH797fiwMVJx8GAB0XoCBI", - "playIcon": { - "iconType": "PLAY_ARROW" - }, - "pauseIcon": { - "iconType": "PAUSE" - }, - "iconColor": 4294967295, - "backgroundColor": 2566914048, - "activeBackgroundColor": 4278190080, - "loadingIndicatorColor": 14745645, - "playingIcon": { - "iconType": "VOLUME_UP" - }, - "iconLoadingColor": 1308622847, - "activeScaleFactor": 1.2, - "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_MEDIUM", - "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", - "accessibilityPlayData": { - "accessibilityData": { - "label": "Play Nur zu Besuch" - } - }, - "accessibilityPauseData": { - "accessibilityData": { - "label": "Pause Nur zu Besuch" - } - } - } - }, - "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_BOTTOM_RIGHT", - "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_HOVER" - } - } - } - }, - { - "musicTwoRowItemRenderer": { - "thumbnailRenderer": { - "musicThumbnailRenderer": { - "thumbnail": { - "thumbnails": [ - { - "url": "https://lh3.googleusercontent.com/mtseYPleinVHcoq4NIt0qGY3YkT9WoO5yjnKURMwyOlVGuOj-Nxs0qBsENnOzLKQQzT6StKdzVq-OcY_=w226-h226-l90-rj", - "width": 226, - "height": 226 - }, - { - "url": "https://lh3.googleusercontent.com/mtseYPleinVHcoq4NIt0qGY3YkT9WoO5yjnKURMwyOlVGuOj-Nxs0qBsENnOzLKQQzT6StKdzVq-OcY_=w544-h544-l90-rj", - "width": 544, - "height": 544 - } - ] - }, - "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", - "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FILL", - "trackingParams": "CFUQhL8CIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - "aspectRatio": "MUSIC_TWO_ROW_ITEM_THUMBNAIL_ASPECT_RATIO_SQUARE", - "title": { - "runs": [ - { - "text": "Was bleibt", - "navigationEndpoint": { - "clickTrackingParams": "CEYQoLMCGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "MPREb_zkwlAdOMq1J", - "params": "ggMrGilPTEFLNXV5X201OG1pdjJjMS1FTi0xRkVBaWxDdjNRMy1QUDlSajhBcw%3D%3D", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ALBUM" - } - } - } - } - } - ] - }, - "subtitle": { - "runs": [ - { - "text": "Album" - }, - { - "text": " • " - }, - { - "text": "Madeline Juno", - "navigationEndpoint": { - "clickTrackingParams": "CEYQoLMCGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - } - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CEYQoLMCGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "MPREb_zkwlAdOMq1J", - "params": "ggMrGilPTEFLNXV5X201OG1pdjJjMS1FTi0xRkVBaWxDdjNRMy1QUDlSajhBcw%3D%3D", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ALBUM" - } - } - } - }, - "trackingParams": "CEYQoLMCGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "menu": { - "menuRenderer": { - "items": [ - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Shuffle play" - } - ] - }, - "icon": { - "iconType": "MUSIC_SHUFFLE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CFQQmvMFGAAiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchPlaylistEndpoint": { - "playlistId": "OLAK5uy_m58miv2c1-EN-1FEAilCv3Q3-PP9Rj8As", - "params": "wAEB8gECKAE%3D" - } - }, - "trackingParams": "CFQQmvMFGAAiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Start radio" - } - ] - }, - "icon": { - "iconType": "MIX" - }, - "navigationEndpoint": { - "clickTrackingParams": "CFMQm_MFGAEiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchPlaylistEndpoint": { - "playlistId": "RDAMPLOLAK5uy_m58miv2c1-EN-1FEAilCv3Q3-PP9Rj8As", - "params": "wAEB" - } - }, - "trackingParams": "CFMQm_MFGAEiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Play next" - } - ] - }, - "icon": { - "iconType": "QUEUE_PLAY_NEXT" - }, - "serviceEndpoint": { - "clickTrackingParams": "CFEQvu4FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "queueAddEndpoint": { - "queueTarget": { - "playlistId": "OLAK5uy_m58miv2c1-EN-1FEAilCv3Q3-PP9Rj8As", - "onEmptyQueue": { - "clickTrackingParams": "CFEQvu4FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchEndpoint": { - "playlistId": "OLAK5uy_m58miv2c1-EN-1FEAilCv3Q3-PP9Rj8As" - } - } - }, - "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", - "commands": [ - { - "clickTrackingParams": "CFEQvu4FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Album will play next" - } - ] - }, - "trackingParams": "CFIQyscDIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - ] - } - }, - "trackingParams": "CFEQvu4FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_REMOTE_QUEUE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CE8Q--8FGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "queueAddEndpoint": { - "queueTarget": { - "playlistId": "OLAK5uy_m58miv2c1-EN-1FEAilCv3Q3-PP9Rj8As", - "onEmptyQueue": { - "clickTrackingParams": "CE8Q--8FGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchEndpoint": { - "playlistId": "OLAK5uy_m58miv2c1-EN-1FEAilCv3Q3-PP9Rj8As" - } - } - }, - "queueInsertPosition": "INSERT_AT_END", - "commands": [ - { - "clickTrackingParams": "CE8Q--8FGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Album added to queue" - } - ] - }, - "trackingParams": "CFAQyscDIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - ] - } - }, - "trackingParams": "CE8Q--8FGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "toggleMenuServiceItemRenderer": { - "defaultText": { - "runs": [ - { - "text": "Save album to library" - } - ] - }, - "defaultIcon": { - "iconType": "LIBRARY_ADD" - }, - "defaultServiceEndpoint": { - "clickTrackingParams": "CE0QhP8FGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Save favorites to your library after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CE4Q8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CE4Q8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - } - } - } - }, - "toggledText": { - "runs": [ - { - "text": "Remove album from library" - } - ] - }, - "toggledIcon": { - "iconType": "LIBRARY_SAVED" - }, - "toggledServiceEndpoint": { - "clickTrackingParams": "CE0QhP8FGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "likeEndpoint": { - "status": "INDIFFERENT", - "target": { - "playlistId": "OLAK5uy_m58miv2c1-EN-1FEAilCv3Q3-PP9Rj8As" - } - } - }, - "trackingParams": "CE0QhP8FGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Save to playlist" - } - ] - }, - "icon": { - "iconType": "ADD_TO_PLAYLIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CEsQw5QGGAUiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Make playlists and share them after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CEwQ8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CEwQ8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - } - } - } - }, - "trackingParams": "CEsQw5QGGAUiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Go to artist" - } - ] - }, - "icon": { - "iconType": "ARTIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CEoQkPsFGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - }, - "trackingParams": "CEoQkPsFGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CEkQkfsFGAciEwiguIfv3t-LAxUnHwYAHRegIEg=", - "shareEntityEndpoint": { - "serializedShareEntity": "EilPTEFLNXV5X201OG1pdjJjMS1FTi0xRkVBaWxDdjNRMy1QUDlSajhBcw%3D%3D", - "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" - } - }, - "trackingParams": "CEkQkfsFGAciEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - ], - "trackingParams": "CEgQpzsiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlay": { - "musicItemThumbnailOverlayRenderer": { - "background": { - "verticalGradient": { - "gradientLayerColors": [ - "2147483648", - "0", - "0" - ] - } - }, - "content": { - "musicPlayButtonRenderer": { - "playNavigationEndpoint": { - "clickTrackingParams": "CEcQyN4CIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchPlaylistEndpoint": { - "playlistId": "OLAK5uy_m58miv2c1-EN-1FEAilCv3Q3-PP9Rj8As" - } - }, - "trackingParams": "CEcQyN4CIhMIoLiH797fiwMVJx8GAB0XoCBI", - "playIcon": { - "iconType": "PLAY_ARROW" - }, - "pauseIcon": { - "iconType": "PAUSE" - }, - "iconColor": 4294967295, - "backgroundColor": 2566914048, - "activeBackgroundColor": 4278190080, - "loadingIndicatorColor": 14745645, - "playingIcon": { - "iconType": "VOLUME_UP" - }, - "iconLoadingColor": 1308622847, - "activeScaleFactor": 1.2, - "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_MEDIUM", - "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", - "accessibilityPlayData": { - "accessibilityData": { - "label": "Play Was bleibt" - } - }, - "accessibilityPauseData": { - "accessibilityData": { - "label": "Pause Was bleibt" - } - } - } - }, - "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_BOTTOM_RIGHT", - "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_HOVER" - } - } - } - }, - { - "musicTwoRowItemRenderer": { - "thumbnailRenderer": { - "musicThumbnailRenderer": { - "thumbnail": { - "thumbnails": [ - { - "url": "https://lh3.googleusercontent.com/Cy9iry8cYVOupKHKN7T_8Aky9svJ1AV0BS7E5DhfExsh1Q4EF6gRFpLs3Uu0Alv7EyiGM40ff0u_o2A=w226-h226-l90-rj", - "width": 226, - "height": 226 - }, - { - "url": "https://lh3.googleusercontent.com/Cy9iry8cYVOupKHKN7T_8Aky9svJ1AV0BS7E5DhfExsh1Q4EF6gRFpLs3Uu0Alv7EyiGM40ff0u_o2A=w544-h544-l90-rj", - "width": 544, - "height": 544 - } - ] - }, - "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", - "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FILL", - "trackingParams": "CEUQhL8CIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - "aspectRatio": "MUSIC_TWO_ROW_ITEM_THUMBNAIL_ASPECT_RATIO_SQUARE", - "title": { - "runs": [ - { - "text": "Bevor ich dich vergesse", - "navigationEndpoint": { - "clickTrackingParams": "CDYQoLMCGAciEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "MPREb_pEOfMrLyCcU", - "params": "ggMrGilPTEFLNXV5X25OTy00MlVPMzAxdE5mdGQta2pVOGp3MnFGem9uUnpFbw%3D%3D", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ALBUM" - } - } - } - } - } - ] - }, - "subtitle": { - "runs": [ - { - "text": "EP" - }, - { - "text": " • " - }, - { - "text": "Madeline Juno", - "navigationEndpoint": { - "clickTrackingParams": "CDYQoLMCGAciEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - } - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CDYQoLMCGAciEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "MPREb_pEOfMrLyCcU", - "params": "ggMrGilPTEFLNXV5X25OTy00MlVPMzAxdE5mdGQta2pVOGp3MnFGem9uUnpFbw%3D%3D", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ALBUM" - } - } - } - }, - "trackingParams": "CDYQoLMCGAciEwiguIfv3t-LAxUnHwYAHRegIEg=", - "menu": { - "menuRenderer": { - "items": [ - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Shuffle play" - } - ] - }, - "icon": { - "iconType": "MUSIC_SHUFFLE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CEQQmvMFGAAiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchPlaylistEndpoint": { - "playlistId": "OLAK5uy_nNO-42UO301tNftd-kjU8jw2qFzonRzEo", - "params": "wAEB8gECKAE%3D" - } - }, - "trackingParams": "CEQQmvMFGAAiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Start radio" - } - ] - }, - "icon": { - "iconType": "MIX" - }, - "navigationEndpoint": { - "clickTrackingParams": "CEMQm_MFGAEiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchPlaylistEndpoint": { - "playlistId": "RDAMPLOLAK5uy_nNO-42UO301tNftd-kjU8jw2qFzonRzEo", - "params": "wAEB" - } - }, - "trackingParams": "CEMQm_MFGAEiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Play next" - } - ] - }, - "icon": { - "iconType": "QUEUE_PLAY_NEXT" - }, - "serviceEndpoint": { - "clickTrackingParams": "CEEQvu4FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "queueAddEndpoint": { - "queueTarget": { - "playlistId": "OLAK5uy_nNO-42UO301tNftd-kjU8jw2qFzonRzEo", - "onEmptyQueue": { - "clickTrackingParams": "CEEQvu4FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchEndpoint": { - "playlistId": "OLAK5uy_nNO-42UO301tNftd-kjU8jw2qFzonRzEo" - } - } - }, - "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", - "commands": [ - { - "clickTrackingParams": "CEEQvu4FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Album will play next" - } - ] - }, - "trackingParams": "CEIQyscDIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - ] - } - }, - "trackingParams": "CEEQvu4FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_REMOTE_QUEUE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CD8Q--8FGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "queueAddEndpoint": { - "queueTarget": { - "playlistId": "OLAK5uy_nNO-42UO301tNftd-kjU8jw2qFzonRzEo", - "onEmptyQueue": { - "clickTrackingParams": "CD8Q--8FGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchEndpoint": { - "playlistId": "OLAK5uy_nNO-42UO301tNftd-kjU8jw2qFzonRzEo" - } - } - }, - "queueInsertPosition": "INSERT_AT_END", - "commands": [ - { - "clickTrackingParams": "CD8Q--8FGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Album added to queue" - } - ] - }, - "trackingParams": "CEAQyscDIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - ] - } - }, - "trackingParams": "CD8Q--8FGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "toggleMenuServiceItemRenderer": { - "defaultText": { - "runs": [ - { - "text": "Save album to library" - } - ] - }, - "defaultIcon": { - "iconType": "LIBRARY_ADD" - }, - "defaultServiceEndpoint": { - "clickTrackingParams": "CD0QhP8FGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Save favorites to your library after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CD4Q8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CD4Q8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - } - } - } - }, - "toggledText": { - "runs": [ - { - "text": "Remove album from library" - } - ] - }, - "toggledIcon": { - "iconType": "LIBRARY_SAVED" - }, - "toggledServiceEndpoint": { - "clickTrackingParams": "CD0QhP8FGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "likeEndpoint": { - "status": "INDIFFERENT", - "target": { - "playlistId": "OLAK5uy_nNO-42UO301tNftd-kjU8jw2qFzonRzEo" - } - } - }, - "trackingParams": "CD0QhP8FGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Save to playlist" - } - ] - }, - "icon": { - "iconType": "ADD_TO_PLAYLIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CDsQw5QGGAUiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Make playlists and share them after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CDwQ8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CDwQ8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - } - } - } - }, - "trackingParams": "CDsQw5QGGAUiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Go to artist" - } - ] - }, - "icon": { - "iconType": "ARTIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CDoQkPsFGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - }, - "trackingParams": "CDoQkPsFGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CDkQkfsFGAciEwiguIfv3t-LAxUnHwYAHRegIEg=", - "shareEntityEndpoint": { - "serializedShareEntity": "EilPTEFLNXV5X25OTy00MlVPMzAxdE5mdGQta2pVOGp3MnFGem9uUnpFbw%3D%3D", - "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" - } - }, - "trackingParams": "CDkQkfsFGAciEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - ], - "trackingParams": "CDgQpzsiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlay": { - "musicItemThumbnailOverlayRenderer": { - "background": { - "verticalGradient": { - "gradientLayerColors": [ - "2147483648", - "0", - "0" - ] - } - }, - "content": { - "musicPlayButtonRenderer": { - "playNavigationEndpoint": { - "clickTrackingParams": "CDcQyN4CIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchPlaylistEndpoint": { - "playlistId": "OLAK5uy_nNO-42UO301tNftd-kjU8jw2qFzonRzEo" - } - }, - "trackingParams": "CDcQyN4CIhMIoLiH797fiwMVJx8GAB0XoCBI", - "playIcon": { - "iconType": "PLAY_ARROW" - }, - "pauseIcon": { - "iconType": "PAUSE" - }, - "iconColor": 4294967295, - "backgroundColor": 2566914048, - "activeBackgroundColor": 4278190080, - "loadingIndicatorColor": 14745645, - "playingIcon": { - "iconType": "VOLUME_UP" - }, - "iconLoadingColor": 1308622847, - "activeScaleFactor": 1.2, - "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_MEDIUM", - "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_SELF", - "accessibilityPlayData": { - "accessibilityData": { - "label": "Play Bevor ich dich vergesse" - } - }, - "accessibilityPauseData": { - "accessibilityData": { - "label": "Pause Bevor ich dich vergesse" - } - } - } - }, - "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_BOTTOM_RIGHT", - "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_HOVER" - } - } - } - }, - { - "musicTwoRowItemRenderer": { - "thumbnailRenderer": { - "musicThumbnailRenderer": { - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/9sIeyUVpnks/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lzaxl8dWUrA3I33zo2zHOekyamxQ", - "width": 400, - "height": 225 - }, - { - "url": "https://i.ytimg.com/vi/9sIeyUVpnks/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kKbq3EBp8SRYYxLIqyzFEg2nbyuA", - "width": 800, - "height": 450 - } - ] - }, - "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", - "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FILL", - "trackingParams": "CDUQhL8CIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - "aspectRatio": "MUSIC_TWO_ROW_ITEM_THUMBNAIL_ASPECT_RATIO_RECTANGLE_16_9", - "title": { - "runs": [ - { - "text": "Schatten ohne Licht" - } - ] - }, - "subtitle": { - "runs": [ - { - "text": "Video" - }, - { - "text": " • " - }, - { - "text": "Madeline Juno", - "navigationEndpoint": { - "clickTrackingParams": "CCcQoLMCGAgiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - } - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CCcQoLMCGAgiEwiguIfv3t-LAxUnHwYAHRegIEhIy7ymq5TZh-H2AQ==", - "watchEndpoint": { - "videoId": "9sIeyUVpnks", - "watchEndpointMusicSupportedConfigs": { - "watchEndpointMusicConfig": { - "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" - } - } - } - }, - "trackingParams": "CCcQoLMCGAgiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "menu": { - "menuRenderer": { - "items": [ - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Start radio" - } - ] - }, - "icon": { - "iconType": "MIX" - }, - "navigationEndpoint": { - "clickTrackingParams": "CDQQm_MFGAAiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchEndpoint": { - "videoId": "9sIeyUVpnks", - "playlistId": "RDAMVM9sIeyUVpnks", - "params": "wAEB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GhFSREFNVk05c0lleVVWcG5rcw%3D%3D" - } - }, - "watchEndpointMusicSupportedConfigs": { - "watchEndpointMusicConfig": { - "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" - } - } - } - }, - "trackingParams": "CDQQm_MFGAAiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Play next" - } - ] - }, - "icon": { - "iconType": "QUEUE_PLAY_NEXT" - }, - "serviceEndpoint": { - "clickTrackingParams": "CDIQvu4FGAEiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "queueAddEndpoint": { - "queueTarget": { - "videoId": "9sIeyUVpnks", - "onEmptyQueue": { - "clickTrackingParams": "CDIQvu4FGAEiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchEndpoint": { - "videoId": "9sIeyUVpnks" - } - } - }, - "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", - "commands": [ - { - "clickTrackingParams": "CDIQvu4FGAEiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Song will play next" - } - ] - }, - "trackingParams": "CDMQyscDIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - ] - } - }, - "trackingParams": "CDIQvu4FGAEiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_REMOTE_QUEUE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CDAQ--8FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "queueAddEndpoint": { - "queueTarget": { - "videoId": "9sIeyUVpnks", - "onEmptyQueue": { - "clickTrackingParams": "CDAQ--8FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchEndpoint": { - "videoId": "9sIeyUVpnks" - } - } - }, - "queueInsertPosition": "INSERT_AT_END", - "commands": [ - { - "clickTrackingParams": "CDAQ--8FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Song added to queue" - } - ] - }, - "trackingParams": "CDEQyscDIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - ] - } - }, - "trackingParams": "CDAQ--8FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "toggleMenuServiceItemRenderer": { - "defaultText": { - "runs": [ - { - "text": "Add to liked songs" - } - ] - }, - "defaultIcon": { - "iconType": "FAVORITE" - }, - "defaultServiceEndpoint": { - "clickTrackingParams": "CC4QjJ8GGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Like this song" - } - ] - }, - "content": { - "runs": [ - { - "text": "Improve recommendations and save music after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CC8Q8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CC8Q8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - } - } - } - }, - "toggledText": { - "runs": [ - { - "text": "Remove from liked songs" - } - ] - }, - "toggledIcon": { - "iconType": "UNFAVORITE" - }, - "trackingParams": "CC4QjJ8GGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Save to playlist" - } - ] - }, - "icon": { - "iconType": "ADD_TO_PLAYLIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CCwQw5QGGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Make playlists and share them after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CC0Q8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CC0Q8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - } - } - } - }, - "trackingParams": "CCwQw5QGGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Go to artist" - } - ] - }, - "icon": { - "iconType": "ARTIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CCsQkPsFGAUiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - }, - "trackingParams": "CCsQkPsFGAUiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CCoQkfsFGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "shareEntityEndpoint": { - "serializedShareEntity": "Cgs5c0lleVVWcG5rcw%3D%3D", - "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" - } - }, - "trackingParams": "CCoQkfsFGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - ], - "trackingParams": "CCkQpzsiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlay": { - "musicItemThumbnailOverlayRenderer": { - "background": { - "verticalGradient": { - "gradientLayerColors": [ - "2147483648", - "2147483648" - ] - } - }, - "content": { - "musicPlayButtonRenderer": { - "playNavigationEndpoint": { - "clickTrackingParams": "CCgQyN4CIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "videoId": "9sIeyUVpnks", - "watchEndpointMusicSupportedConfigs": { - "watchEndpointMusicConfig": { - "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" - } - } - } - }, - "trackingParams": "CCgQyN4CIhMIoLiH797fiwMVJx8GAB0XoCBI", - "playIcon": { - "iconType": "PLAY_ARROW" - }, - "pauseIcon": { - "iconType": "PAUSE" - }, - "iconColor": 4294967295, - "backgroundColor": 0, - "activeBackgroundColor": 0, - "loadingIndicatorColor": 14745645, - "playingIcon": { - "iconType": "VOLUME_UP" - }, - "iconLoadingColor": 0, - "activeScaleFactor": 1, - "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_HUGE", - "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_ANCESTOR", - "accessibilityPlayData": { - "accessibilityData": { - "label": "Play Schatten ohne Licht - Madeline Juno" - } - }, - "accessibilityPauseData": { - "accessibilityData": { - "label": "Pause Schatten ohne Licht - Madeline Juno" - } - } - } - }, - "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", - "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" - } - } - } - }, - { - "musicTwoRowItemRenderer": { - "thumbnailRenderer": { - "musicThumbnailRenderer": { - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/Fh7olM8oPNA/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lZDDNffI-ibSXKPdXtmynSeG26hQ", - "width": 400, - "height": 225 - }, - { - "url": "https://i.ytimg.com/vi/Fh7olM8oPNA/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lNJF1ZIev5m2TVNVh4s-AhCpyz1g", - "width": 800, - "height": 450 - } - ] - }, - "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", - "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_ASPECT_FILL", - "trackingParams": "CCYQhL8CIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - "aspectRatio": "MUSIC_TWO_ROW_ITEM_THUMBNAIL_ASPECT_RATIO_RECTANGLE_16_9", - "title": { - "runs": [ - { - "text": "Madeline Juno - 99 Probleme (Akustik Version)" - } - ] - }, - "subtitle": { - "runs": [ - { - "text": "Video" - }, - { - "text": " • " - }, - { - "text": "Madeline Juno", - "navigationEndpoint": { - "clickTrackingParams": "CBgQoLMCGAkiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - } - }, - { - "text": " & " - }, - { - "text": "Max Giesinger", - "navigationEndpoint": { - "clickTrackingParams": "CBgQoLMCGAkiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "UCEHalRyK7ZSFafTtAn3uYIA", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - } - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CBgQoLMCGAkiEwiguIfv3t-LAxUnHwYAHRegIEhI0Pmg-cySuo8W", - "watchEndpoint": { - "videoId": "Fh7olM8oPNA", - "watchEndpointMusicSupportedConfigs": { - "watchEndpointMusicConfig": { - "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" - } - } - } - }, - "trackingParams": "CBgQoLMCGAkiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "menu": { - "menuRenderer": { - "items": [ - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Start radio" - } - ] - }, - "icon": { - "iconType": "MIX" - }, - "navigationEndpoint": { - "clickTrackingParams": "CCUQm_MFGAAiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchEndpoint": { - "videoId": "Fh7olM8oPNA", - "playlistId": "RDAMVMFh7olM8oPNA", - "params": "wAEB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GhFSREFNVk1GaDdvbE04b1BOQQ%3D%3D" - } - }, - "watchEndpointMusicSupportedConfigs": { - "watchEndpointMusicConfig": { - "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" - } - } - } - }, - "trackingParams": "CCUQm_MFGAAiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Play next" - } - ] - }, - "icon": { - "iconType": "QUEUE_PLAY_NEXT" - }, - "serviceEndpoint": { - "clickTrackingParams": "CCMQvu4FGAEiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "queueAddEndpoint": { - "queueTarget": { - "videoId": "Fh7olM8oPNA", - "onEmptyQueue": { - "clickTrackingParams": "CCMQvu4FGAEiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchEndpoint": { - "videoId": "Fh7olM8oPNA" - } - } - }, - "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", - "commands": [ - { - "clickTrackingParams": "CCMQvu4FGAEiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Song will play next" - } - ] - }, - "trackingParams": "CCQQyscDIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - ] - } - }, - "trackingParams": "CCMQvu4FGAEiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_REMOTE_QUEUE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CCEQ--8FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "queueAddEndpoint": { - "queueTarget": { - "videoId": "Fh7olM8oPNA", - "onEmptyQueue": { - "clickTrackingParams": "CCEQ--8FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchEndpoint": { - "videoId": "Fh7olM8oPNA" - } - } - }, - "queueInsertPosition": "INSERT_AT_END", - "commands": [ - { - "clickTrackingParams": "CCEQ--8FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Song added to queue" - } - ] - }, - "trackingParams": "CCIQyscDIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - ] - } - }, - "trackingParams": "CCEQ--8FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "toggleMenuServiceItemRenderer": { - "defaultText": { - "runs": [ - { - "text": "Add to liked songs" - } - ] - }, - "defaultIcon": { - "iconType": "FAVORITE" - }, - "defaultServiceEndpoint": { - "clickTrackingParams": "CB8QjJ8GGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Like this song" - } - ] - }, - "content": { - "runs": [ - { - "text": "Improve recommendations and save music after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CCAQ8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CCAQ8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - } - } - } - }, - "toggledText": { - "runs": [ - { - "text": "Remove from liked songs" - } - ] - }, - "toggledIcon": { - "iconType": "UNFAVORITE" - }, - "trackingParams": "CB8QjJ8GGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Save to playlist" - } - ] - }, - "icon": { - "iconType": "ADD_TO_PLAYLIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CB0Qw5QGGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Make playlists and share them after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CB4Q8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CB4Q8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - } - } - } - }, - "trackingParams": "CB0Qw5QGGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Go to artist" - } - ] - }, - "icon": { - "iconType": "ARTIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CBwQkPsFGAUiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - }, - "trackingParams": "CBwQkPsFGAUiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CBsQkfsFGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "shareEntityEndpoint": { - "serializedShareEntity": "CgtGaDdvbE04b1BOQQ%3D%3D", - "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" - } - }, - "trackingParams": "CBsQkfsFGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - ], - "trackingParams": "CBoQpzsiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlay": { - "musicItemThumbnailOverlayRenderer": { - "background": { - "verticalGradient": { - "gradientLayerColors": [ - "2147483648", - "2147483648" - ] - } - }, - "content": { - "musicPlayButtonRenderer": { - "playNavigationEndpoint": { - "clickTrackingParams": "CBkQyN4CIhMIoLiH797fiwMVJx8GAB0XoCBI", - "watchEndpoint": { - "videoId": "Fh7olM8oPNA", - "watchEndpointMusicSupportedConfigs": { - "watchEndpointMusicConfig": { - "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" - } - } - } - }, - "trackingParams": "CBkQyN4CIhMIoLiH797fiwMVJx8GAB0XoCBI", - "playIcon": { - "iconType": "PLAY_ARROW" - }, - "pauseIcon": { - "iconType": "PAUSE" - }, - "iconColor": 4294967295, - "backgroundColor": 0, - "activeBackgroundColor": 0, - "loadingIndicatorColor": 14745645, - "playingIcon": { - "iconType": "VOLUME_UP" - }, - "iconLoadingColor": 0, - "activeScaleFactor": 1, - "buttonSize": "MUSIC_PLAY_BUTTON_SIZE_HUGE", - "rippleTarget": "MUSIC_PLAY_BUTTON_RIPPLE_TARGET_ANCESTOR", - "accessibilityPlayData": { - "accessibilityData": { - "label": "Play Madeline Juno - 99 Probleme (Akustik Version) - Madeline Juno" - } - }, - "accessibilityPauseData": { - "accessibilityData": { - "label": "Pause Madeline Juno - 99 Probleme (Akustik Version) - Madeline Juno" - } - } - } - }, - "contentPosition": "MUSIC_ITEM_THUMBNAIL_OVERLAY_CONTENT_POSITION_CENTERED", - "displayStyle": "MUSIC_ITEM_THUMBNAIL_OVERLAY_DISPLAY_STYLE_PERSISTENT" - } - } - } - } - ], - "trackingParams": "CBcQobMCGAEiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "itemSize": "COLLECTION_STYLE_ITEM_SIZE_MEDIUM" - } - } - ], - "trackingParams": "CBYQui8iEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - "tabs": [ - { - "tabRenderer": { - "content": { - "sectionListRenderer": { - "contents": [ - { - "musicResponsiveHeaderRenderer": { - "thumbnail": { - "musicThumbnailRenderer": { - "thumbnail": { - "thumbnails": [ - { - "url": "https://lh3.googleusercontent.com/IYxE8yTIpFUu0OayA5SaxFEn6zQ7T21hpkvI8CODY9NEH1XIhyoUhGohkZuaK-xSu22BC4wjp6srNjIW=w60-h60-l90-rj", - "width": 60, - "height": 60 - }, - { - "url": "https://lh3.googleusercontent.com/IYxE8yTIpFUu0OayA5SaxFEn6zQ7T21hpkvI8CODY9NEH1XIhyoUhGohkZuaK-xSu22BC4wjp6srNjIW=w120-h120-l90-rj", - "width": 120, - "height": 120 - }, - { - "url": "https://lh3.googleusercontent.com/IYxE8yTIpFUu0OayA5SaxFEn6zQ7T21hpkvI8CODY9NEH1XIhyoUhGohkZuaK-xSu22BC4wjp6srNjIW=w226-h226-l90-rj", - "width": 226, - "height": 226 - }, - { - "url": "https://lh3.googleusercontent.com/IYxE8yTIpFUu0OayA5SaxFEn6zQ7T21hpkvI8CODY9NEH1XIhyoUhGohkZuaK-xSu22BC4wjp6srNjIW=w544-h544-l90-rj", - "width": 544, - "height": 544 - } - ] - }, - "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", - "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_UNSPECIFIED", - "trackingParams": "CBUQhL8CIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - "buttons": [ - { - "toggleButtonRenderer": { - "isToggled": false, - "isDisabled": false, - "defaultIcon": { - "iconType": "LIBRARY_ADD" - }, - "toggledIcon": { - "iconType": "LIBRARY_SAVED" - }, - "trackingParams": "CBMQmE0YACITCKC4h-_e34sDFScfBgAdF6AgSA==", - "defaultNavigationEndpoint": { - "clickTrackingParams": "CBMQmE0YACITCKC4h-_e34sDFScfBgAdF6AgSA==", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Save favorites to your library after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CBQQ8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CBQQ8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - } - } - } - }, - "accessibilityData": { - "accessibilityData": { - "label": "Save to library" - } - }, - "toggledAccessibilityData": { - "accessibilityData": { - "label": "Remove from library" - } - } - } - }, - { - "musicPlayButtonRenderer": { - "playNavigationEndpoint": { - "clickTrackingParams": "CBIQyN4CGAEiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchPlaylistEndpoint": { - "playlistId": "OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY" - } - }, - "trackingParams": "CBIQyN4CGAEiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "playIcon": { - "iconType": "PLAY_ARROW" - }, - "pauseIcon": { - "iconType": "PAUSE" - }, - "iconColor": 4294967295, - "backgroundColor": 0, - "activeBackgroundColor": 0, - "loadingIndicatorColor": 14745645, - "playingIcon": { - "iconType": "PAUSE" - }, - "iconLoadingColor": 0, - "activeScaleFactor": 1, - "accessibilityPlayData": { - "accessibilityData": { - "label": "Play Waldbrand" - } - }, - "accessibilityPauseData": { - "accessibilityData": { - "label": "Pause Waldbrand" - } - } - } - }, - { - "menuRenderer": { - "items": [ - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Shuffle play" - } - ] - }, - "icon": { - "iconType": "MUSIC_SHUFFLE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CAYQpzsYAiITCKC4h-_e34sDFScfBgAdF6AgSA==", - "watchPlaylistEndpoint": { - "playlistId": "OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY", - "params": "wAEB8gECKAE%3D" - } - }, - "trackingParams": "CAYQpzsYAiITCKC4h-_e34sDFScfBgAdF6AgSA==" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Start radio" - } - ] - }, - "icon": { - "iconType": "MIX" - }, - "navigationEndpoint": { - "clickTrackingParams": "CBEQm_MFGAEiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchPlaylistEndpoint": { - "playlistId": "RDAMPLOLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY", - "params": "wAEB" - } - }, - "trackingParams": "CBEQm_MFGAEiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Play next" - } - ] - }, - "icon": { - "iconType": "QUEUE_PLAY_NEXT" - }, - "serviceEndpoint": { - "clickTrackingParams": "CA8Qvu4FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "queueAddEndpoint": { - "queueTarget": { - "playlistId": "OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY", - "onEmptyQueue": { - "clickTrackingParams": "CA8Qvu4FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchEndpoint": { - "playlistId": "OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY" - } - } - }, - "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", - "commands": [ - { - "clickTrackingParams": "CA8Qvu4FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Album will play next" - } - ] - }, - "trackingParams": "CBAQyscDIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - ] - } - }, - "trackingParams": "CA8Qvu4FGAIiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_REMOTE_QUEUE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CA0Q--8FGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "queueAddEndpoint": { - "queueTarget": { - "playlistId": "OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY", - "onEmptyQueue": { - "clickTrackingParams": "CA0Q--8FGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "watchEndpoint": { - "playlistId": "OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY" - } - } - }, - "queueInsertPosition": "INSERT_AT_END", - "commands": [ - { - "clickTrackingParams": "CA0Q--8FGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "addToToastAction": { - "item": { - "notificationTextRenderer": { - "successResponseText": { - "runs": [ - { - "text": "Album added to queue" - } - ] - }, - "trackingParams": "CA4QyscDIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } - } - } - ] - } - }, - "trackingParams": "CA0Q--8FGAMiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "toggleMenuServiceItemRenderer": { - "defaultText": { - "runs": [ - { - "text": "Save album to library" - } - ] - }, - "defaultIcon": { - "iconType": "LIBRARY_ADD" - }, - "defaultServiceEndpoint": { - "clickTrackingParams": "CAsQhP8FGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Save favorites to your library after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CAwQ8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CAwQ8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - } - } - } - }, - "toggledText": { - "runs": [ - { - "text": "Remove album from library" - } - ] - }, - "toggledIcon": { - "iconType": "LIBRARY_SAVED" - }, - "toggledServiceEndpoint": { - "clickTrackingParams": "CAsQhP8FGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "likeEndpoint": { - "status": "INDIFFERENT", - "target": { - "playlistId": "OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY" - } - } - }, - "trackingParams": "CAsQhP8FGAQiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Save to playlist" - } - ] - }, - "icon": { - "iconType": "ADD_TO_PLAYLIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CAkQw5QGGAUiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "runs": [ - { - "text": "Save this for later" - } - ] - }, - "content": { - "runs": [ - { - "text": "Make playlists and share them after signing in" - } - ] - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CAoQ8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "signInEndpoint": { - "hack": true - } - }, - "trackingParams": "CAoQ8FsiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - } - } - } - }, - "trackingParams": "CAkQw5QGGAUiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Go to artist" - } - ] - }, - "icon": { - "iconType": "ARTIST" - }, - "navigationEndpoint": { - "clickTrackingParams": "CAgQkPsFGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - }, - "trackingParams": "CAgQkPsFGAYiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CAcQkfsFGAciEwiguIfv3t-LAxUnHwYAHRegIEg=", - "shareEntityEndpoint": { - "serializedShareEntity": "EilPTEFLNXV5X2xHUF96djB2SkRVbGVjUUR6dWdVSm1qY0Y3cHZ5Vk55WQ%3D%3D", - "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" - } - }, - "trackingParams": "CAcQkfsFGAciEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - ], - "trackingParams": "CAYQpzsYAiITCKC4h-_e34sDFScfBgAdF6AgSA==", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - } - ], - "title": { - "runs": [ - { - "text": "Waldbrand" - } - ] - }, - "subtitle": { - "runs": [ - { - "text": "EP" - }, - { - "text": " • " - }, - { - "text": "2016" - } - ] - }, - "trackingParams": "CAQQneEIGAAiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "straplineTextOne": { - "runs": [ - { - "text": "Madeline Juno", - "navigationEndpoint": { - "clickTrackingParams": "CAQQneEIGAAiEwiguIfv3t-LAxUnHwYAHRegIEg=", - "browseEndpoint": { - "browseId": "UCpJyCbFbdTrx0M90HCNBHFQ", - "browseEndpointContextSupportedConfigs": { - "browseEndpointContextMusicConfig": { - "pageType": "MUSIC_PAGE_TYPE_ARTIST" - } - } - } - } - } - ] - }, - "straplineThumbnail": { - "musicThumbnailRenderer": { - "thumbnail": { - "thumbnails": [ - { - "url": "https://lh3.googleusercontent.com/XOjaymqJY57PvxnDjUR8yUvCp6izuPTiBOGQHK6ebQ8uBpgRGgZoDjliQXnydKyg6mzv8XDTV5lLga8=w60-h60-p-l90-rj", - "width": 60, - "height": 60 - }, - { - "url": "https://lh3.googleusercontent.com/XOjaymqJY57PvxnDjUR8yUvCp6izuPTiBOGQHK6ebQ8uBpgRGgZoDjliQXnydKyg6mzv8XDTV5lLga8=w120-h120-p-l90-rj", - "width": 120, - "height": 120 - }, - { - "url": "https://lh3.googleusercontent.com/XOjaymqJY57PvxnDjUR8yUvCp6izuPTiBOGQHK6ebQ8uBpgRGgZoDjliQXnydKyg6mzv8XDTV5lLga8=w226-h226-p-l90-rj", - "width": 226, - "height": 226 - }, - { - "url": "https://lh3.googleusercontent.com/XOjaymqJY57PvxnDjUR8yUvCp6izuPTiBOGQHK6ebQ8uBpgRGgZoDjliQXnydKyg6mzv8XDTV5lLga8=w544-h544-p-l90-rj", - "width": 544, - "height": 544 - } - ] - }, - "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", - "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_UNSPECIFIED", - "trackingParams": "CAUQhL8CIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - }, - "secondSubtitle": { - "runs": [ - { - "text": "5 songs" - }, - { - "text": " • " - }, - { - "text": "17 minutes" - } - ] - } - } - } - ], - "trackingParams": "CAMQui8iEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - }, - "trackingParams": "CAIQ8JMBGAAiEwiguIfv3t-LAxUnHwYAHRegIEg=" - } - } - ] - } - }, - "trackingParams": "CAAQhGciEwiguIfv3t-LAxUnHwYAHRegIEg=", - "microformat": { - "microformatDataRenderer": { - "urlCanonical": "https://music.youtube.com/playlist?list=OLAK5uy_lGP_zv0vJDUlecQDzugUJmjcF7pvyVNyY" - } - }, - "background": { - "musicThumbnailRenderer": { - "thumbnail": { - "thumbnails": [ - { - "url": "https://lh3.googleusercontent.com/IYxE8yTIpFUu0OayA5SaxFEn6zQ7T21hpkvI8CODY9NEH1XIhyoUhGohkZuaK-xSu22BC4wjp6srNjIW=w60-h60-l90-rj", - "width": 60, - "height": 60 - }, - { - "url": "https://lh3.googleusercontent.com/IYxE8yTIpFUu0OayA5SaxFEn6zQ7T21hpkvI8CODY9NEH1XIhyoUhGohkZuaK-xSu22BC4wjp6srNjIW=w120-h120-l90-rj", - "width": 120, - "height": 120 - }, - { - "url": "https://lh3.googleusercontent.com/IYxE8yTIpFUu0OayA5SaxFEn6zQ7T21hpkvI8CODY9NEH1XIhyoUhGohkZuaK-xSu22BC4wjp6srNjIW=w226-h226-l90-rj", - "width": 226, - "height": 226 - }, - { - "url": "https://lh3.googleusercontent.com/IYxE8yTIpFUu0OayA5SaxFEn6zQ7T21hpkvI8CODY9NEH1XIhyoUhGohkZuaK-xSu22BC4wjp6srNjIW=w544-h544-l90-rj", - "width": 544, - "height": 544 - } - ] - }, - "thumbnailCrop": "MUSIC_THUMBNAIL_CROP_UNSPECIFIED", - "thumbnailScale": "MUSIC_THUMBNAIL_SCALE_UNSPECIFIED", - "trackingParams": "CAEQhL8CIhMIoLiH797fiwMVJx8GAB0XoCBI" - } - } -} diff --git a/testfiles/playlist/playlist_20250316_cmdexecutor.json b/testfiles/playlist/playlist_20250316_cmdexecutor.json deleted file mode 100644 index 4b4250a..0000000 --- a/testfiles/playlist/playlist_20250316_cmdexecutor.json +++ /dev/null @@ -1,29478 +0,0 @@ -{ - "responseContext": { - "serviceTrackingParams": [ - { - "service": "GFEEDBACK", - "params": [ - { - "key": "is_podcast_show_page", - "value": "0" - }, - { - "key": "browse_id", - "value": "VLPLbZIPy20-1pN7mqjckepWF78ndb6ci_qi" - }, - { - "key": "browse_id_prefix", - "value": "" - }, - { - "key": "logged_in", - "value": "0" - }, - { - "key": "e", - "value": "23804281,23986028,24004644,24077241,24166867,24181174,24241378,24290153,24425063,24439361,24453989,24547317,24566687,24699899,39325854,39326986,51010235,51020570,51025415,51037344,51037353,51043775,51063643,51072748,51091058,51095478,51098299,51115184,51141472,51152050,51176511,51178312,51178327,51178346,51178357,51183910,51184990,51194137,51204329,51217504,51222973,51225393,51227037,51228850,51232637,51237842,51242448,51249749,51256074,51256084,51263449,51272458,51274583,51285052,51285717,51294659,51300176,51300241,51303432,51305032,51311029,51311040,51313109,51313767,51314158,51316844,51320245,51330475,51335366,51335644,51337456,51338524,51339518,51340613,51340662,51341226,51341975,51342857,51348081,51349914,51350165,51351446,51353393,51354083,51354114,51354567,51355201,51355417,51355912,51358317,51360104,51360125,51360128,51361828,51362071,51362857,51363723,51363738,51363741,51363752,51363759,51363774,51364291,51365678,51366423,51366620,51367489,51369233,51369398,51372971,51374164,51375205,51375647,51375719,51379054,51380376,51380387,51380400,51382048,51383168,51385023,51386141,51386361,51386540,51389629,51389867,51391338,51394776,51394783,51395904,51397087,51397256,51397281,51398493,51399453,51404808,51404810,51405542,51405882,51405959,51406270,51406710,51407443,51407632,51407834,51408011,51408106,51408108,51410901,51411582,51411872,51412256,51412630,51412818,51413048,51413055,51413060,51413065,51413072,51413083,51413090,51413541,51414152,51414985,51416049,51417458,51417465,51417484,51417497,51417504,51417525,51417536,51417659,51419278,51419757,51419816,51420898,51420968,51421231,51421832,51421901,51422676,51422774,51423139,51423433,51423673,51424043,51424621,51425030,51425616,51426296,51428019,51428290,51429767,51429775,51430417,51431228,51431825,51431960,51432619,51432627,51435176,51435847,51435877,51435886,51435891,51435901,51435905,51435910,51435918,51436338,51437626" - }, - { - "key": "visitor_data", - "value": "CgtucU1TTXBlT1ZXayjRlNy-BjIKCgJERRIEEgAgHw%3D%3D" - } - ] - }, - { - "service": "GOOGLE_HELP", - "params": [ - { - "key": "is_podcast_show_page", - "value": "0" - }, - { - "key": "browse_id", - "value": "VLPLbZIPy20-1pN7mqjckepWF78ndb6ci_qi" - }, - { - "key": "browse_id_prefix", - "value": "" - } - ] - }, - { - "service": "CSI", - "params": [ - { - "key": "c", - "value": "WEB" - }, - { - "key": "cver", - "value": "2.20250314.01.00" - }, - { - "key": "yt_li", - "value": "0" - }, - { - "key": "GetPlaylist_rid", - "value": "0x142def5c83564770" - } - ] - }, - { - "service": "GUIDED_HELP", - "params": [ - { - "key": "logged_in", - "value": "0" - } - ] - }, - { - "service": "ECATCHER", - "params": [ - { - "key": "client.version", - "value": "2.20250314" - }, - { - "key": "client.name", - "value": "WEB" - } - ] - } - ], - "mainAppWebResponseContext": { - "loggedOut": true, - "trackingParam": "kx_fmPxhoPZRHq8_GjC5riD-PxsLqFe2gHcGHvijwG1QUlwRgkuswmIBwOcCE59TDtslLKPQ-SS" - }, - "webResponseContextExtensionData": { - "hasDecorated": true - } - }, - "contents": { - "twoColumnBrowseResultsRenderer": { - "tabs": [ - { - "tabRenderer": { - "selected": true, - "content": { - "sectionListRenderer": { - "contents": [ - { - "itemSectionRenderer": { - "contents": [ - { - "playlistVideoListRenderer": { - "contents": [ - { - "playlistVideoRenderer": { - "videoId": "dvgZkm1xWPE", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAF6wSFDQWvb39pnjwAKbZqtBo8zw", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBFCw6TDR5kZFRnA-LWrbocaJpkIw", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCa5GcQ_dGJ502O6pc0xONmTLHDtA", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAT-QcZjRo6kpkqpSOTHjVTUjO3tA", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Coldplay - Viva La Vida (Official Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Coldplay - Viva La Vida (Official Video) by Coldplay 964,926,993 views 16 years ago 4 minutes, 3 seconds" - } - } - }, - "index": { - "simpleText": "1" - }, - "shortBylineText": { - "runs": [ - { - "text": "Coldplay", - "navigationEndpoint": { - "clickTrackingParams": "CLYDEMY0GAAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCDPM_n1atn2ijUwHd0NNRQw", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCDPM_n1atn2ijUwHd0NNRQw", - "canonicalBaseUrl": "/channel/UCDPM_n1atn2ijUwHd0NNRQw" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 3 seconds" - } - }, - "simpleText": "4:03" - }, - "navigationEndpoint": { - "clickTrackingParams": "CLYDEMY0GAAiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=dvgZkm1xWPE&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=1&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "dvgZkm1xWPE", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 0, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr4---sn-h0jeln7l.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=76f819926d7158f1&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "243", - "trackingParams": "CLYDEMY0GAAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CLkDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CLkDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "dvgZkm1xWPE", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CLkDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "dvgZkm1xWPE" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "dvgZkm1xWPE" - ] - } - } - ] - } - }, - "trackingParams": "CLkDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CLgDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "dvgZkm1xWPE", - "onAddCommand": { - "clickTrackingParams": "CLgDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "dvgZkm1xWPE", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CLgDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CLYDEMY0GAAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgtkdmdaa20xeFdQRQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CLYDEMY0GAAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CLcDEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CLYDEMY0GAAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CLYDEMY0GAAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 3 seconds" - } - }, - "simpleText": "4:03" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "964M views" - }, - { - "text": " • " - }, - { - "text": "16 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "89dGC8de0CA", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/89dGC8de0CA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCmOt0R6jvhtuUevep9_yydAS-K2g", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/89dGC8de0CA/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDgs_EmMC8KHsROcKAWphZ9mIbg_A", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/89dGC8de0CA/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDdZpVdlqFrtNvT46qP7JdV2qS_xg", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/89dGC8de0CA/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBOZcKJ9IfFyi28ANcj5GcmaR20Rg", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Aerosmith - Dream On (Audio)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Aerosmith - Dream On (Audio) by Aerosmith 168,475,390 views 11 years ago 4 minutes, 29 seconds" - } - } - }, - "index": { - "simpleText": "2" - }, - "shortBylineText": { - "runs": [ - { - "text": "Aerosmith", - "navigationEndpoint": { - "clickTrackingParams": "CLIDEMY0GAEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCBxdHQVOaZhUOIj_3gt2FYw", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCBxdHQVOaZhUOIj_3gt2FYw", - "canonicalBaseUrl": "/channel/UCBxdHQVOaZhUOIj_3gt2FYw" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 29 seconds" - } - }, - "simpleText": "4:29" - }, - "navigationEndpoint": { - "clickTrackingParams": "CLIDEMY0GAEiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=89dGC8de0CA&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=2&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "89dGC8de0CA", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 1, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jeenle.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=f3d7460bc75ed020&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "269", - "trackingParams": "CLIDEMY0GAEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CLUDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CLUDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "89dGC8de0CA", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CLUDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "89dGC8de0CA" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "89dGC8de0CA" - ] - } - } - ] - } - }, - "trackingParams": "CLUDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CLQDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "89dGC8de0CA", - "onAddCommand": { - "clickTrackingParams": "CLQDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "89dGC8de0CA", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CLQDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CLIDEMY0GAEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgs4OWRHQzhkZTBDQQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CLIDEMY0GAEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CLMDEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CLIDEMY0GAEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CLIDEMY0GAEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 29 seconds" - } - }, - "simpleText": "4:29" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "168M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "3ATxLct2jDo", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/3ATxLct2jDo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCf241ir3ZWZiz00Y2ybY5qVNQpcg", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/3ATxLct2jDo/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCfLQtmh1Mmt3oHFlQwrjROi2Uauw", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/3ATxLct2jDo/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDlGsIg2fF-qkWKzEST8BDE3W8Ung", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/3ATxLct2jDo/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD-Y1_zai7VZoR4q_u1gqFa86qtlw", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Lenny Kravitz - The Chamber (Lyric Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Lenny Kravitz - The Chamber (Lyric Video) by Lenny Kravitz 9,695,039 views 10 years ago 4 minutes, 58 seconds" - } - } - }, - "index": { - "simpleText": "3" - }, - "shortBylineText": { - "runs": [ - { - "text": "Lenny Kravitz", - "navigationEndpoint": { - "clickTrackingParams": "CK4DEMY0GAIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCdIs5dRqgZ1IWOdLZimHL_w", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCdIs5dRqgZ1IWOdLZimHL_w", - "canonicalBaseUrl": "/channel/UCdIs5dRqgZ1IWOdLZimHL_w" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 58 seconds" - } - }, - "simpleText": "4:58" - }, - "navigationEndpoint": { - "clickTrackingParams": "CK4DEMY0GAIiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=3ATxLct2jDo&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=3&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "3ATxLct2jDo", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 2, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr2---sn-h0jeenle.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=dc04f12dcb768c3a&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "298", - "trackingParams": "CK4DEMY0GAIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CLEDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CLEDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "3ATxLct2jDo", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CLEDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "3ATxLct2jDo" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "3ATxLct2jDo" - ] - } - } - ] - } - }, - "trackingParams": "CLEDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CLADENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "3ATxLct2jDo", - "onAddCommand": { - "clickTrackingParams": "CLADENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "3ATxLct2jDo", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CLADENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CK4DEMY0GAIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgszQVR4TGN0MmpEbw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CK4DEMY0GAIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CK8DEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CK4DEMY0GAIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CK4DEMY0GAIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 58 seconds" - } - }, - "simpleText": "4:58" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "9.6M views" - }, - { - "text": " • " - }, - { - "text": "10 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "iX-QaNzd-0Y", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/iX-QaNzd-0Y/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC5see3pLr032qk6-rO01a3ZhLfQQ", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/iX-QaNzd-0Y/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAsp00oKrv27y4VFJM3C3_xvGYVZQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/iX-QaNzd-0Y/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAIfO7lUol3rspcVVkLp3gdO4Wfcw", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/iX-QaNzd-0Y/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB6ExMLEFyzsV8pFYFI3ZKbIdAcOQ", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Milky Chance - Stolen Dance (Official Video) [HD Version]" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Milky Chance - Stolen Dance (Official Video) [HD Version] by Milky Chance Official 989,507,506 views 11 years ago 5 minutes, 14 seconds" - } - } - }, - "index": { - "simpleText": "4" - }, - "shortBylineText": { - "runs": [ - { - "text": "Milky Chance Official", - "navigationEndpoint": { - "clickTrackingParams": "CKoDEMY0GAMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCy-ez61m5LdG3FQVr-4Crcw", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCy-ez61m5LdG3FQVr-4Crcw", - "canonicalBaseUrl": "/channel/UCy-ez61m5LdG3FQVr-4Crcw" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "5 minutes, 14 seconds" - } - }, - "simpleText": "5:14" - }, - "navigationEndpoint": { - "clickTrackingParams": "CKoDEMY0GAMiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=iX-QaNzd-0Y&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=4&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "iX-QaNzd-0Y", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 3, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr5---sn-h0jelnes.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=897f9068dcddfb46&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "314", - "trackingParams": "CKoDEMY0GAMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CK0DEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CK0DEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "iX-QaNzd-0Y", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CK0DEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "iX-QaNzd-0Y" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "iX-QaNzd-0Y" - ] - } - } - ] - } - }, - "trackingParams": "CK0DEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CKwDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "iX-QaNzd-0Y", - "onAddCommand": { - "clickTrackingParams": "CKwDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "iX-QaNzd-0Y", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CKwDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CKoDEMY0GAMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtpWC1RYU56ZC0wWQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CKoDEMY0GAMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CKsDEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CKoDEMY0GAMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CKoDEMY0GAMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "5 minutes, 14 seconds" - } - }, - "simpleText": "5:14" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "989M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "6gaEhK2C0tQ", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/6gaEhK2C0tQ/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGEcgZShVMA8=&rs=AOn4CLC0KMWvU_M5lBkSRY9rNlFBx_9_3Q", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/6gaEhK2C0tQ/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGEcgZShVMA8=&rs=AOn4CLC1g2ZhbqfuM8Gm14EmG0DBAHyBzQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/6gaEhK2C0tQ/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhHIGUoVTAP&rs=AOn4CLCFp3bWZfBBlYBCgwgKvg5PSEAuPw", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/6gaEhK2C0tQ/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhHIGUoVTAP&rs=AOn4CLAxXDiDPOQR7-nXNDSxGTr7OaDMRg", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Cut Copy - Take Me Over" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Cut Copy - Take Me Over by Cut Copy 431,810 views 12 years ago 4 minutes, 58 seconds" - } - } - }, - "index": { - "simpleText": "5" - }, - "shortBylineText": { - "runs": [ - { - "text": "Cut Copy", - "navigationEndpoint": { - "clickTrackingParams": "CKYDEMY0GAQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCvueeIpQ6l5BlyzUTWY13eQ", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCvueeIpQ6l5BlyzUTWY13eQ", - "canonicalBaseUrl": "/channel/UCvueeIpQ6l5BlyzUTWY13eQ" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 58 seconds" - } - }, - "simpleText": "4:58" - }, - "navigationEndpoint": { - "clickTrackingParams": "CKYDEMY0GAQiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=6gaEhK2C0tQ&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=5&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "6gaEhK2C0tQ", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 4, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr5---sn-h0jeenld.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=ea068484ad82d2d4&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "298", - "trackingParams": "CKYDEMY0GAQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CKkDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CKkDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "6gaEhK2C0tQ", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CKkDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "6gaEhK2C0tQ" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "6gaEhK2C0tQ" - ] - } - } - ] - } - }, - "trackingParams": "CKkDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CKgDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "6gaEhK2C0tQ", - "onAddCommand": { - "clickTrackingParams": "CKgDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "6gaEhK2C0tQ", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CKgDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CKYDEMY0GAQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgs2Z2FFaEsyQzB0UQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CKYDEMY0GAQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CKcDEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CKYDEMY0GAQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CKYDEMY0GAQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 58 seconds" - } - }, - "simpleText": "4:58" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "431K views" - }, - { - "text": " • " - }, - { - "text": "12 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "yy21fr7z6wY", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/yy21fr7z6wY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBFaWd6gj8eNEOrCIrGHOl9aCz3vg", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/yy21fr7z6wY/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCrsCuQ4xQiyrNlRWmAe5HkEesrNg", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/yy21fr7z6wY/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBw2M2Hs_hFSeGd_c5dz2aIyWaIfw", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/yy21fr7z6wY/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBoF_tp0ITQOi7B79RIDznD1NZ7hA", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Vance Joy - Riptide (Lyric video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Vance Joy - Riptide (Lyric video) by Local Session Manager 13,090,669 views 11 years ago 3 minutes, 20 seconds" - } - } - }, - "index": { - "simpleText": "6" - }, - "shortBylineText": { - "runs": [ - { - "text": "Local Session Manager", - "navigationEndpoint": { - "clickTrackingParams": "CKIDEMY0GAUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@LocalSessionManager", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCZ0kE5a34dmh_sehHxYArDg", - "canonicalBaseUrl": "/@LocalSessionManager" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 20 seconds" - } - }, - "simpleText": "3:20" - }, - "navigationEndpoint": { - "clickTrackingParams": "CKIDEMY0GAUiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=yy21fr7z6wY&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=6&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "yy21fr7z6wY", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 5, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr1---sn-h0jeenek.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=cb2db57ebef3eb06&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "200", - "trackingParams": "CKIDEMY0GAUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CKUDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CKUDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "yy21fr7z6wY", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CKUDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "yy21fr7z6wY" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "yy21fr7z6wY" - ] - } - } - ] - } - }, - "trackingParams": "CKUDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CKQDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "yy21fr7z6wY", - "onAddCommand": { - "clickTrackingParams": "CKQDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "yy21fr7z6wY", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CKQDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CKIDEMY0GAUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgt5eTIxZnI3ejZ3WQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CKIDEMY0GAUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CKMDEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CKIDEMY0GAUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CKIDEMY0GAUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 20 seconds" - } - }, - "simpleText": "3:20" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "13M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "E3Cw6-xRHdg", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/E3Cw6-xRHdg/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgTyhJMA8=&rs=AOn4CLDUW5zYWFEKW8K69uJ5-77Y1-gebg", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/E3Cw6-xRHdg/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgTyhJMA8=&rs=AOn4CLBlidLDBkHrFrbEjhr3usfxETLfOA", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/E3Cw6-xRHdg/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhlIE8oSTAP&rs=AOn4CLBzWtFXB5Gt77VEAsfYlh9-F87i8A", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/E3Cw6-xRHdg/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhlIE8oSTAP&rs=AOn4CLDbMoUzeS0jiR4cP-h35lZocq8Bgw", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Haddaway - What Is Love [Full HD Official Music Video]" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Haddaway - What Is Love [Full HD Official Music Video] by Kiss András 769,816 views 12 years ago 3 minutes, 57 seconds" - } - } - }, - "index": { - "simpleText": "7" - }, - "shortBylineText": { - "runs": [ - { - "text": "Kiss András", - "navigationEndpoint": { - "clickTrackingParams": "CJ4DEMY0GAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@rtlklubszenny1", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCSsQJRhZ5eO7MM_K_g7AS6A", - "canonicalBaseUrl": "/@rtlklubszenny1" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 57 seconds" - } - }, - "simpleText": "3:57" - }, - "navigationEndpoint": { - "clickTrackingParams": "CJ4DEMY0GAYiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=E3Cw6-xRHdg&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=7&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "E3Cw6-xRHdg", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 6, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr1---sn-h0jeenle.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=1370b0ebec511dd8&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "237", - "trackingParams": "CJ4DEMY0GAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CKEDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CKEDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "E3Cw6-xRHdg", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CKEDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "E3Cw6-xRHdg" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "E3Cw6-xRHdg" - ] - } - } - ] - } - }, - "trackingParams": "CKEDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CKADENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "E3Cw6-xRHdg", - "onAddCommand": { - "clickTrackingParams": "CKADENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "E3Cw6-xRHdg", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CKADENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJ4DEMY0GAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtFM0N3Ni14UkhkZw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CJ4DEMY0GAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CJ8DEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CJ4DEMY0GAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CJ4DEMY0GAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 57 seconds" - } - }, - "simpleText": "3:57" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "769K views" - }, - { - "text": " • " - }, - { - "text": "12 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "NUsoVlDFqZg", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/NUsoVlDFqZg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB_it4kap2IgxTHmuK4k6HcH2cYrQ", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/NUsoVlDFqZg/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAzdGRFlJ9x2cfGvyc--2p551-PNg", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/NUsoVlDFqZg/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDX9s-shgYo1TVzFx99K3kQBrVhAg", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/NUsoVlDFqZg/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBoUMQqcN7M6bX6FQQpbZOMcHUc8A", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Enrique Iglesias - Bailando ft. Descemer Bueno, Gente De Zona" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Enrique Iglesias - Bailando ft. Descemer Bueno, Gente De Zona by Enrique Iglesias 3,655,905,530 views 10 years ago 4 minutes, 47 seconds" - } - } - }, - "index": { - "simpleText": "8" - }, - "shortBylineText": { - "runs": [ - { - "text": "Enrique Iglesias", - "navigationEndpoint": { - "clickTrackingParams": "CJoDEMY0GAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UC-6czyMkxDi8E8akPl0c7_w", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC-6czyMkxDi8E8akPl0c7_w", - "canonicalBaseUrl": "/channel/UC-6czyMkxDi8E8akPl0c7_w" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 47 seconds" - } - }, - "simpleText": "4:47" - }, - "navigationEndpoint": { - "clickTrackingParams": "CJoDEMY0GAciEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=NUsoVlDFqZg&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=8&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "NUsoVlDFqZg", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 7, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jeener.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=354b285650c5a998&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "287", - "trackingParams": "CJoDEMY0GAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJ0DEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CJ0DEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "NUsoVlDFqZg", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CJ0DEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "NUsoVlDFqZg" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "NUsoVlDFqZg" - ] - } - } - ] - } - }, - "trackingParams": "CJ0DEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CJwDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "NUsoVlDFqZg", - "onAddCommand": { - "clickTrackingParams": "CJwDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "NUsoVlDFqZg", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CJwDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJoDEMY0GAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtOVXNvVmxERnFaZw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CJoDEMY0GAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CJsDEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CJoDEMY0GAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CJoDEMY0GAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 47 seconds" - } - }, - "simpleText": "4:47" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "3.6B views" - }, - { - "text": " • " - }, - { - "text": "10 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "pUjE9H8QlA4", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/pUjE9H8QlA4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB6LvruwJXddjxT03Kqu5nBKrB7Nw", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/pUjE9H8QlA4/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB-Q_M2fqi4zmt3v7pIvKnqWR4mUQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/pUjE9H8QlA4/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDHU93zInHE7XVYSdsNYgGQv2MtnQ", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/pUjE9H8QlA4/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDO9wWPCLhP98n25yT9jMxChE2-8A", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Mr. Probz - Waves (Robin Schulz Remix Radio Edit)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Mr. Probz - Waves (Robin Schulz Remix Radio Edit) by Mr. Probz 648,157,090 views 11 years ago 3 minutes, 51 seconds" - } - } - }, - "index": { - "simpleText": "9" - }, - "shortBylineText": { - "runs": [ - { - "text": "Mr. Probz", - "navigationEndpoint": { - "clickTrackingParams": "CJYDEMY0GAgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UC6YQf4SyHMZJ1jh5g6efPCg", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC6YQf4SyHMZJ1jh5g6efPCg", - "canonicalBaseUrl": "/channel/UC6YQf4SyHMZJ1jh5g6efPCg" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 51 seconds" - } - }, - "simpleText": "3:51" - }, - "navigationEndpoint": { - "clickTrackingParams": "CJYDEMY0GAgiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=pUjE9H8QlA4&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=9&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "pUjE9H8QlA4", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 8, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr1---sn-h0jeenek.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=a548c4f47f10940e&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "231", - "trackingParams": "CJYDEMY0GAgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJkDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CJkDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "pUjE9H8QlA4", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CJkDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "pUjE9H8QlA4" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "pUjE9H8QlA4" - ] - } - } - ] - } - }, - "trackingParams": "CJkDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CJgDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "pUjE9H8QlA4", - "onAddCommand": { - "clickTrackingParams": "CJgDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "pUjE9H8QlA4", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CJgDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJYDEMY0GAgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtwVWpFOUg4UWxBNA%3D%3D", - "commands": [ - { - "clickTrackingParams": "CJYDEMY0GAgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CJcDEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CJYDEMY0GAgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CJYDEMY0GAgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 51 seconds" - } - }, - "simpleText": "3:51" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "648M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "cpYPPXf63a4", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/cpYPPXf63a4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQcHM5ewk6s7ya_AxkQ6ghE8Izpw", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/cpYPPXf63a4/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLClFKn-_WN6qVwgZ_2t5ITQp8TPMQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/cpYPPXf63a4/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBDzGVYkQcMnk2eFcTBL15muVgX3A", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/cpYPPXf63a4/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD9hfCe5nXi4bOIMaVIjeKowWWHow", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Daniel Santacruz - Lento - Kizomba (Official Video HD)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Daniel Santacruz - Lento - Kizomba (Official Video HD) by Daniel Santacruz 266,460,514 views 11 years ago 4 minutes, 27 seconds" - } - } - }, - "index": { - "simpleText": "10" - }, - "shortBylineText": { - "runs": [ - { - "text": "Daniel Santacruz", - "navigationEndpoint": { - "clickTrackingParams": "CJIDEMY0GAkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCDJk0j9rBf7wuh7KWG70uug", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCDJk0j9rBf7wuh7KWG70uug", - "canonicalBaseUrl": "/channel/UCDJk0j9rBf7wuh7KWG70uug" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 27 seconds" - } - }, - "simpleText": "4:27" - }, - "navigationEndpoint": { - "clickTrackingParams": "CJIDEMY0GAkiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=cpYPPXf63a4&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=10&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "cpYPPXf63a4", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 9, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr2---sn-h0jelnes.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=72960f3d77faddae&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "267", - "trackingParams": "CJIDEMY0GAkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJUDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CJUDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "cpYPPXf63a4", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CJUDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "cpYPPXf63a4" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "cpYPPXf63a4" - ] - } - } - ] - } - }, - "trackingParams": "CJUDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CJQDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "cpYPPXf63a4", - "onAddCommand": { - "clickTrackingParams": "CJQDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "cpYPPXf63a4", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CJQDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJIDEMY0GAkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtjcFlQUFhmNjNhNA%3D%3D", - "commands": [ - { - "clickTrackingParams": "CJIDEMY0GAkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CJMDEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CJIDEMY0GAkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CJIDEMY0GAkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 27 seconds" - } - }, - "simpleText": "4:27" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "266M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "G7JLoOKefvQ", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/G7JLoOKefvQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBoE8KNiEkb6UHG1aLS4obo2LPkQw", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/G7JLoOKefvQ/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDmVuiAGVM1KpQ9hyc6-WXpUBnRTA", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/G7JLoOKefvQ/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCfEWSAu9HA3-VZAkjCQ58UvK7KDg", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/G7JLoOKefvQ/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDSriv5maYtXtV4t_FIgceTyqOIOA", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Alejandro Sanz - Não Me Compares ft. Ivete Sangalo (Official Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Alejandro Sanz - Não Me Compares ft. Ivete Sangalo (Official Video) by Alejandro Sanz 92,196,407 views 12 years ago 5 minutes, 7 seconds" - } - } - }, - "index": { - "simpleText": "11" - }, - "shortBylineText": { - "runs": [ - { - "text": "Alejandro Sanz", - "navigationEndpoint": { - "clickTrackingParams": "CI4DEMY0GAoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCV4S6_JoeDq9j6mgbpkmA0Q", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCV4S6_JoeDq9j6mgbpkmA0Q", - "canonicalBaseUrl": "/channel/UCV4S6_JoeDq9j6mgbpkmA0Q" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "5 minutes, 7 seconds" - } - }, - "simpleText": "5:07" - }, - "navigationEndpoint": { - "clickTrackingParams": "CI4DEMY0GAoiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=G7JLoOKefvQ&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=11&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "G7JLoOKefvQ", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 10, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr5---sn-h0jeenld.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=1bb24ba0e29e7ef4&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "307", - "trackingParams": "CI4DEMY0GAoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJEDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CJEDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "G7JLoOKefvQ", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CJEDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "G7JLoOKefvQ" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "G7JLoOKefvQ" - ] - } - } - ] - } - }, - "trackingParams": "CJEDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CJADENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "G7JLoOKefvQ", - "onAddCommand": { - "clickTrackingParams": "CJADENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "G7JLoOKefvQ", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CJADENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CI4DEMY0GAoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtHN0pMb09LZWZ2UQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CI4DEMY0GAoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CI8DEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CI4DEMY0GAoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CI4DEMY0GAoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "5 minutes, 7 seconds" - } - }, - "simpleText": "5:07" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "92M views" - }, - { - "text": " • " - }, - { - "text": "12 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "_rxgp7TJhUE", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/_rxgp7TJhUE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBGIZuqNCrS6KvtexBWq2Dcb95syw", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/_rxgp7TJhUE/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAjz_-tUpU8js7mwcIBqeMhEkM8Zw", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/_rxgp7TJhUE/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCDG5fI4x8MvOFgJ_y1hCRfwxoRqA", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/_rxgp7TJhUE/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBr3gGhqkXnQ3sidK9zStu4O8R-Cg", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Britney Spears - Perfume (Official Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Britney Spears - Perfume (Official Video) by Britney Spears 45,924,330 views 11 years ago 4 minutes, 24 seconds" - } - } - }, - "index": { - "simpleText": "12" - }, - "shortBylineText": { - "runs": [ - { - "text": "Britney Spears", - "navigationEndpoint": { - "clickTrackingParams": "CIoDEMY0GAsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCgffc95YDBlkGrBAJUHUmXQ", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCgffc95YDBlkGrBAJUHUmXQ", - "canonicalBaseUrl": "/channel/UCgffc95YDBlkGrBAJUHUmXQ" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 24 seconds" - } - }, - "simpleText": "4:24" - }, - "navigationEndpoint": { - "clickTrackingParams": "CIoDEMY0GAsiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=_rxgp7TJhUE&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=12&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "_rxgp7TJhUE", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 11, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr4---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=febc60a7b4c98541&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "264", - "trackingParams": "CIoDEMY0GAsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CI0DEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CI0DEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "_rxgp7TJhUE", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CI0DEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "_rxgp7TJhUE" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "_rxgp7TJhUE" - ] - } - } - ] - } - }, - "trackingParams": "CI0DEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CIwDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "_rxgp7TJhUE", - "onAddCommand": { - "clickTrackingParams": "CIwDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "_rxgp7TJhUE", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CIwDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CIoDEMY0GAsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtfcnhncDdUSmhVRQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CIoDEMY0GAsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CIsDEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CIoDEMY0GAsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CIoDEMY0GAsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 24 seconds" - } - }, - "simpleText": "4:24" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "45M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "Bs5-klTyb9o", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/Bs5-klTyb9o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDbAkbM7bwoPGPHer-jP2X-jW_ByQ", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/Bs5-klTyb9o/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBodv57L6lXFA0y0gTLsWyx7H7VIw", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/Bs5-klTyb9o/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCYvUvyl_d2aWHN6nZ86o3NjZjA2g", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/Bs5-klTyb9o/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA47S7BgWfj3ykO3QLI0bGrnk0oog", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "John Newman - Losing Sleep (Official Music Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "John Newman - Losing Sleep (Official Music Video) by John Newman 41,162,108 views 11 years ago 4 minutes, 23 seconds" - } - } - }, - "index": { - "simpleText": "13" - }, - "shortBylineText": { - "runs": [ - { - "text": "John Newman", - "navigationEndpoint": { - "clickTrackingParams": "CIYDEMY0GAwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCXtn650vh9Dj7uz8cFac0AQ", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCXtn650vh9Dj7uz8cFac0AQ", - "canonicalBaseUrl": "/channel/UCXtn650vh9Dj7uz8cFac0AQ" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 23 seconds" - } - }, - "simpleText": "4:23" - }, - "navigationEndpoint": { - "clickTrackingParams": "CIYDEMY0GAwiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=Bs5-klTyb9o&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=13&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "Bs5-klTyb9o", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 12, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr4---sn-h0jeln7e.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=06ce7e9254f26fda&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "263", - "trackingParams": "CIYDEMY0GAwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CIkDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CIkDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "Bs5-klTyb9o", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CIkDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "Bs5-klTyb9o" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "Bs5-klTyb9o" - ] - } - } - ] - } - }, - "trackingParams": "CIkDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CIgDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "Bs5-klTyb9o", - "onAddCommand": { - "clickTrackingParams": "CIgDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "Bs5-klTyb9o", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CIgDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CIYDEMY0GAwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtCczUta2xUeWI5bw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CIYDEMY0GAwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CIcDEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CIYDEMY0GAwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CIYDEMY0GAwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 23 seconds" - } - }, - "simpleText": "4:23" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "41M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "My2FRPA3Gf8", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/My2FRPA3Gf8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAAU5FGE6fEMSyb0zazDsXTQXg1_w", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/My2FRPA3Gf8/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBQguhsJ7nVWvya_1pNJNKUjOOIWQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/My2FRPA3Gf8/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBHwjM3lKojQ2TX8TobYlMijuzeUA", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/My2FRPA3Gf8/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDJxi2IUAaKs8Lz7bMgrTY7O-74qA", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Miley Cyrus - Wrecking Ball (Official Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Miley Cyrus - Wrecking Ball (Official Video) by Miley Cyrus 1,217,932,995 views 11 years ago 3 minutes, 42 seconds" - } - } - }, - "index": { - "simpleText": "14" - }, - "shortBylineText": { - "runs": [ - { - "text": "Miley Cyrus", - "navigationEndpoint": { - "clickTrackingParams": "CIIDEMY0GA0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCn7dB9UMTBDjKtEKBy_XISw", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCn7dB9UMTBDjKtEKBy_XISw", - "canonicalBaseUrl": "/channel/UCn7dB9UMTBDjKtEKBy_XISw" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 42 seconds" - } - }, - "simpleText": "3:42" - }, - "navigationEndpoint": { - "clickTrackingParams": "CIIDEMY0GA0iEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=My2FRPA3Gf8&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=14&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "My2FRPA3Gf8", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 13, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr1---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=332d8544f03719ff&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "222", - "trackingParams": "CIIDEMY0GA0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CIUDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CIUDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "My2FRPA3Gf8", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CIUDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "My2FRPA3Gf8" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "My2FRPA3Gf8" - ] - } - } - ] - } - }, - "trackingParams": "CIUDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CIQDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "My2FRPA3Gf8", - "onAddCommand": { - "clickTrackingParams": "CIQDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "My2FRPA3Gf8", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CIQDENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CIIDEMY0GA0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtNeTJGUlBBM0dmOA%3D%3D", - "commands": [ - { - "clickTrackingParams": "CIIDEMY0GA0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CIMDEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CIIDEMY0GA0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CIIDEMY0GA0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 42 seconds" - } - }, - "simpleText": "3:42" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "1.2B views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "W1tzURKYFNs", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/W1tzURKYFNs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDF9cdRnk9KlmTvAHqhnSEqLMW0hQ", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/W1tzURKYFNs/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB9_IEjtA0Jkl2lw2kqx2lfCs5R4A", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/W1tzURKYFNs/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLANDNdnKXTcxs__K1VT-YptiXyhZw", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/W1tzURKYFNs/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB9L3Xrcdw4klCiNlTyC0uaQAOHmQ", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Miley Cyrus - Adore You (Official Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Miley Cyrus - Adore You (Official Video) by Miley Cyrus 219,959,323 views 11 years ago 4 minutes, 38 seconds" - } - } - }, - "index": { - "simpleText": "15" - }, - "shortBylineText": { - "runs": [ - { - "text": "Miley Cyrus", - "navigationEndpoint": { - "clickTrackingParams": "CP4CEMY0GA4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCn7dB9UMTBDjKtEKBy_XISw", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCn7dB9UMTBDjKtEKBy_XISw", - "canonicalBaseUrl": "/channel/UCn7dB9UMTBDjKtEKBy_XISw" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 38 seconds" - } - }, - "simpleText": "4:38" - }, - "navigationEndpoint": { - "clickTrackingParams": "CP4CEMY0GA4iEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=W1tzURKYFNs&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=15&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "W1tzURKYFNs", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 14, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr1---sn-h0jeener.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=5b5b7351129814db&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "278", - "trackingParams": "CP4CEMY0GA4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CIEDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CIEDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "W1tzURKYFNs", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CIEDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "W1tzURKYFNs" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "W1tzURKYFNs" - ] - } - } - ] - } - }, - "trackingParams": "CIEDEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CIADENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "W1tzURKYFNs", - "onAddCommand": { - "clickTrackingParams": "CIADENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "W1tzURKYFNs", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CIADENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CP4CEMY0GA4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtXMXR6VVJLWUZOcw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CP4CEMY0GA4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CP8CEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CP4CEMY0GA4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CP4CEMY0GA4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 38 seconds" - } - }, - "simpleText": "4:38" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "219M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "tO3n1oSPW58", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/tO3n1oSPW58/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBSuPh1OFOvWL-6-t8VV713BfK87g", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/tO3n1oSPW58/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDmi9vp4oaXbLWhSfESsWOhMZbspA", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/tO3n1oSPW58/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD1j1dmHqsre8ppLgH6fpP9DXFFtA", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/tO3n1oSPW58/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA7D4mwh4_kxUkPZxpleULdA1IAOw", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Travie McCoy: Rough Water ft. Jason Mraz [OFFICIAL VIDEO]" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Travie McCoy: Rough Water ft. Jason Mraz [OFFICIAL VIDEO] by Fueled By Ramen 7,879,292 views 11 years ago 3 minutes, 38 seconds" - } - } - }, - "index": { - "simpleText": "16" - }, - "shortBylineText": { - "runs": [ - { - "text": "Fueled By Ramen", - "navigationEndpoint": { - "clickTrackingParams": "CPoCEMY0GA8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@fueledbyramen", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UClVrJwcIy7saPcGc1nct80A", - "canonicalBaseUrl": "/@fueledbyramen" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 38 seconds" - } - }, - "simpleText": "3:38" - }, - "navigationEndpoint": { - "clickTrackingParams": "CPoCEMY0GA8iEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=tO3n1oSPW58&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=16&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "tO3n1oSPW58", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 15, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jeenek.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=b4ede7d6848f5b9f&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "218", - "trackingParams": "CPoCEMY0GA8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CP0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CP0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "tO3n1oSPW58", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CP0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "tO3n1oSPW58" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "tO3n1oSPW58" - ] - } - } - ] - } - }, - "trackingParams": "CP0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CPwCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "tO3n1oSPW58", - "onAddCommand": { - "clickTrackingParams": "CPwCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "tO3n1oSPW58", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CPwCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CPoCEMY0GA8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgt0TzNuMW9TUFc1OA%3D%3D", - "commands": [ - { - "clickTrackingParams": "CPoCEMY0GA8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CPsCEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CPoCEMY0GA8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CPoCEMY0GA8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 38 seconds" - } - }, - "simpleText": "3:38" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "7.8M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "6daRqd54o9U", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/6daRqd54o9U/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC4AOKAgwIABABGGYgZihmMA8=&rs=AOn4CLCfp2TOVksM4-M1Ldryt8IkhwHCOw", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/6daRqd54o9U/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC4AOKAgwIABABGGYgZihmMA8=&rs=AOn4CLCBHBsZ2uzyUUbGBRcEgeGiTdOT7w", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/6daRqd54o9U/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAuADigIMCAAQARhmIGYoZjAP&rs=AOn4CLCrXOiqVqAH651zPdtEN7fcNc8SGA", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/6daRqd54o9U/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAuADigIMCAAQARhmIGYoZjAP&rs=AOn4CLC9lrGMO2KwUkDbuGQ0ZVF-12g7JQ", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Blind Zero - I See Desire" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Blind Zero - I See Desire by Blind Zero 60,926 views 12 years ago 4 minutes, 4 seconds" - } - } - }, - "index": { - "simpleText": "17" - }, - "shortBylineText": { - "runs": [ - { - "text": "Blind Zero", - "navigationEndpoint": { - "clickTrackingParams": "CPYCEMY0GBAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@BlindZeroMusic", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCEYG3e7S3WPxrQKt6yOFLGw", - "canonicalBaseUrl": "/@BlindZeroMusic" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 4 seconds" - } - }, - "simpleText": "4:04" - }, - "navigationEndpoint": { - "clickTrackingParams": "CPYCEMY0GBAiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=6daRqd54o9U&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=17&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "6daRqd54o9U", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 16, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr2---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=e9d691a9de78a3d5&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "244", - "trackingParams": "CPYCEMY0GBAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CPkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CPkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "6daRqd54o9U", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CPkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "6daRqd54o9U" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "6daRqd54o9U" - ] - } - } - ] - } - }, - "trackingParams": "CPkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CPgCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "6daRqd54o9U", - "onAddCommand": { - "clickTrackingParams": "CPgCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "6daRqd54o9U", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CPgCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CPYCEMY0GBAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgs2ZGFScWQ1NG85VQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CPYCEMY0GBAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CPcCEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CPYCEMY0GBAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CPYCEMY0GBAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 4 seconds" - } - }, - "simpleText": "4:04" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "60K views" - }, - { - "text": " • " - }, - { - "text": "12 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "GmpjYFbvcQQ", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/GmpjYFbvcQQ/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC4AOKAgwIABABGGUgYChZMA8=&rs=AOn4CLCb6b03B57iGs4HpqNNY7hxNHe4lQ", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/GmpjYFbvcQQ/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC4AOKAgwIABABGGUgYChZMA8=&rs=AOn4CLD0zvVj6alWjydhRz4HEY7Ik-o4Qw", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/GmpjYFbvcQQ/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAuADigIMCAAQARhlIGAoWTAP&rs=AOn4CLCiKBKEjAIgSNgS-79kGZbEyq8Ypw", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/GmpjYFbvcQQ/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAuADigIMCAAQARhlIGAoWTAP&rs=AOn4CLB5K5_OyMCG7kJe3v1T1B_cp-sRoA", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Berg - Tell Me (Audio)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Berg - Tell Me (Audio) by Filtr Portugal 652,548 views 11 years ago 3 minutes, 28 seconds" - } - } - }, - "index": { - "simpleText": "18" - }, - "shortBylineText": { - "runs": [ - { - "text": "Filtr Portugal", - "navigationEndpoint": { - "clickTrackingParams": "CPICEMY0GBEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@FiltrPortugal", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC3AH36Ou3_gO4Ey1SYCIWxA", - "canonicalBaseUrl": "/@FiltrPortugal" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 28 seconds" - } - }, - "simpleText": "3:28" - }, - "navigationEndpoint": { - "clickTrackingParams": "CPICEMY0GBEiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=GmpjYFbvcQQ&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=18&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "GmpjYFbvcQQ", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 17, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr4---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=1a6a636056ef7104&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "208", - "trackingParams": "CPICEMY0GBEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CPUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CPUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "GmpjYFbvcQQ", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CPUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "GmpjYFbvcQQ" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "GmpjYFbvcQQ" - ] - } - } - ] - } - }, - "trackingParams": "CPUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CPQCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "GmpjYFbvcQQ", - "onAddCommand": { - "clickTrackingParams": "CPQCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "GmpjYFbvcQQ", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CPQCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CPICEMY0GBEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtHbXBqWUZidmNRUQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CPICEMY0GBEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CPMCEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CPICEMY0GBEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CPICEMY0GBEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 28 seconds" - } - }, - "simpleText": "3:28" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "652K views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "EoA1mCqdsVM", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/EoA1mCqdsVM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCoh9T2bHvzcu_upQWPL3mOXMEflw", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/EoA1mCqdsVM/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDZQV5hhB3Lh1wjCFCzxcyBEzn4JQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/EoA1mCqdsVM/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDUNzlo6_euj-nQZ-H1FNFrxAo-dw", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/EoA1mCqdsVM/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD4HEfyjtsX8QM9376hegmgUjWw_w", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "LISBOA - Wendy Nazaré & Pep's" - } - ], - "accessibility": { - "accessibilityData": { - "label": "LISBOA - Wendy Nazaré & Pep's by wendynazare 2,434,708 views 12 years ago 3 minutes, 51 seconds" - } - } - }, - "index": { - "simpleText": "19" - }, - "shortBylineText": { - "runs": [ - { - "text": "wendynazare", - "navigationEndpoint": { - "clickTrackingParams": "CO4CEMY0GBIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@wendynazare", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCuWkRJW3O20-BXyuzvzvjUw", - "canonicalBaseUrl": "/@wendynazare" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 51 seconds" - } - }, - "simpleText": "3:51" - }, - "navigationEndpoint": { - "clickTrackingParams": "CO4CEMY0GBIiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=EoA1mCqdsVM&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=19&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "EoA1mCqdsVM", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 18, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jeln7l.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=128035982a9db153&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "231", - "trackingParams": "CO4CEMY0GBIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CPECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CPECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "EoA1mCqdsVM", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CPECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "EoA1mCqdsVM" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "EoA1mCqdsVM" - ] - } - } - ] - } - }, - "trackingParams": "CPECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CPACENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "EoA1mCqdsVM", - "onAddCommand": { - "clickTrackingParams": "CPACENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "EoA1mCqdsVM", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CPACENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CO4CEMY0GBIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtFb0ExbUNxZHNWTQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CO4CEMY0GBIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CO8CEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CO4CEMY0GBIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CO4CEMY0GBIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 51 seconds" - } - }, - "simpleText": "3:51" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "2.4M views" - }, - { - "text": " • " - }, - { - "text": "12 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "Cj25UpcBDt0", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/Cj25UpcBDt0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBMJyT7zfC37tN594N0CGY03H0aYg", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/Cj25UpcBDt0/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDpe8UOX6JuyTrQKGyM0a_u0SYqjw", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/Cj25UpcBDt0/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAbACML8uIr9sCp-e9JJ17PRNI9hw", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/Cj25UpcBDt0/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCeSC8bLoDmSXHBp_AnSYUjadDPQA", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Faul, Wad Ad, Pnau - Changes (Videoclip)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Faul, Wad Ad, Pnau - Changes (Videoclip) by FAUL & WAD 117,718,708 views 11 years ago 3 minutes, 25 seconds" - } - } - }, - "index": { - "simpleText": "20" - }, - "shortBylineText": { - "runs": [ - { - "text": "FAUL & WAD", - "navigationEndpoint": { - "clickTrackingParams": "COoCEMY0GBMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCdDwQirXr-a15rk0Tw5uxMw", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCdDwQirXr-a15rk0Tw5uxMw", - "canonicalBaseUrl": "/channel/UCdDwQirXr-a15rk0Tw5uxMw" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 25 seconds" - } - }, - "simpleText": "3:25" - }, - "navigationEndpoint": { - "clickTrackingParams": "COoCEMY0GBMiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=Cj25UpcBDt0&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=20&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "Cj25UpcBDt0", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 19, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr4---sn-h0jeln7e.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=0a3db95297010edd&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "205", - "trackingParams": "COoCEMY0GBMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CO0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CO0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "Cj25UpcBDt0", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CO0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "Cj25UpcBDt0" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "Cj25UpcBDt0" - ] - } - } - ] - } - }, - "trackingParams": "CO0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "COwCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "Cj25UpcBDt0", - "onAddCommand": { - "clickTrackingParams": "COwCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "Cj25UpcBDt0", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "COwCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "COoCEMY0GBMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtDajI1VXBjQkR0MA%3D%3D", - "commands": [ - { - "clickTrackingParams": "COoCEMY0GBMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "COsCEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "COoCEMY0GBMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "COoCEMY0GBMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 25 seconds" - } - }, - "simpleText": "3:25" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "117M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "W-TE_Ys4iwM", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/W-TE_Ys4iwM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAYZ4HjprMg0TJQ7fdUNenempmEVQ", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/W-TE_Ys4iwM/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD7ByBPNTImD6c_J3OqiGxG_ajVfg", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/W-TE_Ys4iwM/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCQaCb7H2DkF5szyEM5sI0K9QNWTw", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/W-TE_Ys4iwM/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCpuwRHuaqH514yXPUn_q49LMnF0g", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "One Direction - Story of My Life" - } - ], - "accessibility": { - "accessibilityData": { - "label": "One Direction - Story of My Life by One Direction 1,040,687,862 views 11 years ago 4 minutes, 8 seconds" - } - } - }, - "index": { - "simpleText": "21" - }, - "shortBylineText": { - "runs": [ - { - "text": "One Direction", - "navigationEndpoint": { - "clickTrackingParams": "COYCEMY0GBQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCb2HGwORFBo94DmRx4oLzow", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCb2HGwORFBo94DmRx4oLzow", - "canonicalBaseUrl": "/channel/UCb2HGwORFBo94DmRx4oLzow" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 8 seconds" - } - }, - "simpleText": "4:08" - }, - "navigationEndpoint": { - "clickTrackingParams": "COYCEMY0GBQiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=W-TE_Ys4iwM&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=21&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "W-TE_Ys4iwM", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 20, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr4---sn-h0jelnes.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=5be4c4fd8b388b03&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "248", - "trackingParams": "COYCEMY0GBQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "COkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "COkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "W-TE_Ys4iwM", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "COkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "W-TE_Ys4iwM" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "W-TE_Ys4iwM" - ] - } - } - ] - } - }, - "trackingParams": "COkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "COgCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "W-TE_Ys4iwM", - "onAddCommand": { - "clickTrackingParams": "COgCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "W-TE_Ys4iwM", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "COgCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "COYCEMY0GBQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtXLVRFX1lzNGl3TQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "COYCEMY0GBQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "COcCEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "COYCEMY0GBQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "COYCEMY0GBQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 8 seconds" - } - }, - "simpleText": "4:08" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "1B views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "T-sxSd1uwoU", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/T-sxSd1uwoU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB2c2jyFq5JkNhgBSVPVhNKHVrUzA", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/T-sxSd1uwoU/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQa0w3fHuwi6Q2TxrO4v2DDUjTHw", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/T-sxSd1uwoU/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD8NAXWvEmz1V6QJyG3Mqpb4T1nqg", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/T-sxSd1uwoU/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAu_FqgYktDFr9sZyqp3j4hYu4l4g", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Britney Spears - I Wanna Go (Official Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Britney Spears - I Wanna Go (Official Video) by Britney Spears 290,797,480 views 13 years ago 4 minutes, 34 seconds" - } - } - }, - "index": { - "simpleText": "22" - }, - "shortBylineText": { - "runs": [ - { - "text": "Britney Spears", - "navigationEndpoint": { - "clickTrackingParams": "COICEMY0GBUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCgffc95YDBlkGrBAJUHUmXQ", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCgffc95YDBlkGrBAJUHUmXQ", - "canonicalBaseUrl": "/channel/UCgffc95YDBlkGrBAJUHUmXQ" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 34 seconds" - } - }, - "simpleText": "4:34" - }, - "navigationEndpoint": { - "clickTrackingParams": "COICEMY0GBUiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=T-sxSd1uwoU&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=22&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "T-sxSd1uwoU", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 21, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr4---sn-h0jelne6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=4feb3149dd6ec285&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "274", - "trackingParams": "COICEMY0GBUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "COUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "COUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "T-sxSd1uwoU", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "COUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "T-sxSd1uwoU" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "T-sxSd1uwoU" - ] - } - } - ] - } - }, - "trackingParams": "COUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "COQCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "T-sxSd1uwoU", - "onAddCommand": { - "clickTrackingParams": "COQCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "T-sxSd1uwoU", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "COQCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "COICEMY0GBUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtULXN4U2QxdXdvVQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "COICEMY0GBUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "COMCEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "COICEMY0GBUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "COICEMY0GBUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 34 seconds" - } - }, - "simpleText": "4:34" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "290M views" - }, - { - "text": " • " - }, - { - "text": "13 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "YxIiPLVR6NA", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/YxIiPLVR6NA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDetnXwumhmam0sGXcYJBoxUfU4qw", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/YxIiPLVR6NA/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBQcMH4N-guweBz4t792r3SrNYTKg", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/YxIiPLVR6NA/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAJpt2_6077rTXoKQwVWIhOk-0zFg", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/YxIiPLVR6NA/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCXf99Kl9zyUUe-6lry7VaSgDpW5g", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Avicii - Hey Brother (Lyric)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Avicii - Hey Brother (Lyric) by Avicii 583,918,233 views 11 years ago 4 minutes, 19 seconds" - } - } - }, - "index": { - "simpleText": "23" - }, - "shortBylineText": { - "runs": [ - { - "text": "Avicii", - "navigationEndpoint": { - "clickTrackingParams": "CN4CEMY0GBYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCPHjpfnnGklkRBBTd0k6aHg", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCPHjpfnnGklkRBBTd0k6aHg", - "canonicalBaseUrl": "/channel/UCPHjpfnnGklkRBBTd0k6aHg" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 19 seconds" - } - }, - "simpleText": "4:19" - }, - "navigationEndpoint": { - "clickTrackingParams": "CN4CEMY0GBYiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=YxIiPLVR6NA&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=23&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "YxIiPLVR6NA", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 22, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr2---sn-h0jeenle.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=6312223cb551e8d0&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "259", - "trackingParams": "CN4CEMY0GBYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "COECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "COECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "YxIiPLVR6NA", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "COECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "YxIiPLVR6NA" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "YxIiPLVR6NA" - ] - } - } - ] - } - }, - "trackingParams": "COECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "COACENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "YxIiPLVR6NA", - "onAddCommand": { - "clickTrackingParams": "COACENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "YxIiPLVR6NA", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "COACENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CN4CEMY0GBYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtZeElpUExWUjZOQQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CN4CEMY0GBYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CN8CEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CN4CEMY0GBYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CN4CEMY0GBYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 19 seconds" - } - }, - "simpleText": "4:19" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "583M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "XC3ahd6Di3M", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/XC3ahd6Di3M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCU8eyalkOK8mbO7b1qoYsReJWfLw", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/XC3ahd6Di3M/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCUyQCCYvt3Rtnpzfrosz9vs0nFjA", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/XC3ahd6Di3M/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB1zfNcmLHbpMkk2yyGuBQKW9d9lA", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/XC3ahd6Di3M/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAx6LkJ7pv394iXT_7YCRZws45hwA", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "U2 - Ordinary Love (From Mandela OST) Lyric Video" - } - ], - "accessibility": { - "accessibilityData": { - "label": "U2 - Ordinary Love (From Mandela OST) Lyric Video by U2 68,412,269 views 11 years ago 3 minutes, 39 seconds" - } - } - }, - "index": { - "simpleText": "24" - }, - "shortBylineText": { - "runs": [ - { - "text": "U2", - "navigationEndpoint": { - "clickTrackingParams": "CNoCEMY0GBciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UC4gPNusMDwx2Xm-YI35AkCA", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC4gPNusMDwx2Xm-YI35AkCA", - "canonicalBaseUrl": "/channel/UC4gPNusMDwx2Xm-YI35AkCA" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 39 seconds" - } - }, - "simpleText": "3:39" - }, - "navigationEndpoint": { - "clickTrackingParams": "CNoCEMY0GBciEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=XC3ahd6Di3M&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=24&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "XC3ahd6Di3M", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 23, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jelnes.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=5c2dda85de838b73&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "219", - "trackingParams": "CNoCEMY0GBciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CN0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CN0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "XC3ahd6Di3M", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CN0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "XC3ahd6Di3M" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "XC3ahd6Di3M" - ] - } - } - ] - } - }, - "trackingParams": "CN0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CNwCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "XC3ahd6Di3M", - "onAddCommand": { - "clickTrackingParams": "CNwCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "XC3ahd6Di3M", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CNwCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CNoCEMY0GBciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtYQzNhaGQ2RGkzTQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CNoCEMY0GBciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CNsCEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CNoCEMY0GBciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CNoCEMY0GBciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 39 seconds" - } - }, - "simpleText": "3:39" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "68M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "vAqPeOUCfyw", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/vAqPeOUCfyw/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA8NYx1N1tOXDCr-NR1TpZwQzrqYA", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/vAqPeOUCfyw/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCHNJs40QnBASTFwJCjOjexiaoM4Q", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/vAqPeOUCfyw/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDWfRS4sQpvCcAI44nY75D4kCw8Zw", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/vAqPeOUCfyw/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBblobV6r-4v5IoyIn9yHCi8Fpmhw", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Federico Scavo - Funky Nassau (Official Video Teaser)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Federico Scavo - Funky Nassau (Official Video Teaser) by Energy TV 18,523,069 views 11 years ago 2 minutes, 42 seconds" - } - } - }, - "index": { - "simpleText": "25" - }, - "shortBylineText": { - "runs": [ - { - "text": "Energy TV", - "navigationEndpoint": { - "clickTrackingParams": "CNYCEMY0GBgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@EnergyProductionRec", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC5eYHWDQqAsiKlnvLCz-ezg", - "canonicalBaseUrl": "/@EnergyProductionRec" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "2 minutes, 42 seconds" - } - }, - "simpleText": "2:42" - }, - "navigationEndpoint": { - "clickTrackingParams": "CNYCEMY0GBgiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=vAqPeOUCfyw&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=25&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "vAqPeOUCfyw", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 24, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr4---sn-h0jeenld.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=bc0a8f78e5027f2c&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "162", - "trackingParams": "CNYCEMY0GBgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CNkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CNkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "vAqPeOUCfyw", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CNkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "vAqPeOUCfyw" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "vAqPeOUCfyw" - ] - } - } - ] - } - }, - "trackingParams": "CNkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CNgCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "vAqPeOUCfyw", - "onAddCommand": { - "clickTrackingParams": "CNgCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "vAqPeOUCfyw", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CNgCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CNYCEMY0GBgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgt2QXFQZU9VQ2Z5dw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CNYCEMY0GBgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CNcCEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CNYCEMY0GBgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CNYCEMY0GBgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "2 minutes, 42 seconds" - } - }, - "simpleText": "2:42" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "18M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "zVOXmhn-AcA", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/zVOXmhn-AcA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDr4v68wFOQT0KoK1SMztpkO9mkzw", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/zVOXmhn-AcA/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAJMh6iownHU6xajR7-r_kAHxmtGA", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/zVOXmhn-AcA/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAlxLcEHcbkjYNnrRmXQOv2Lq6uIA", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/zVOXmhn-AcA/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA9U3N4uglj3CX8L8eFUmHR1aBrfw", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "George Michael - Amazing" - } - ], - "accessibility": { - "accessibilityData": { - "label": "George Michael - Amazing by WinterGirl991 842,997 views 13 years ago 4 minutes, 26 seconds" - } - } - }, - "index": { - "simpleText": "26" - }, - "shortBylineText": { - "runs": [ - { - "text": "WinterGirl991", - "navigationEndpoint": { - "clickTrackingParams": "CNICEMY0GBkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@WinterGirl991", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC85sMkq9uDGJDQf8fUo6VBA", - "canonicalBaseUrl": "/@WinterGirl991" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 26 seconds" - } - }, - "simpleText": "4:26" - }, - "navigationEndpoint": { - "clickTrackingParams": "CNICEMY0GBkiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=zVOXmhn-AcA&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=26&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "zVOXmhn-AcA", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 25, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jeener.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=cd53979a19fe01c0&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "266", - "trackingParams": "CNICEMY0GBkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CNUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CNUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "zVOXmhn-AcA", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CNUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "zVOXmhn-AcA" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "zVOXmhn-AcA" - ] - } - } - ] - } - }, - "trackingParams": "CNUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CNQCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "zVOXmhn-AcA", - "onAddCommand": { - "clickTrackingParams": "CNQCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "zVOXmhn-AcA", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CNQCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CNICEMY0GBkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgt6Vk9YbWhuLUFjQQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CNICEMY0GBkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CNMCEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CNICEMY0GBkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CNICEMY0GBkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 26 seconds" - } - }, - "simpleText": "4:26" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "842K views" - }, - { - "text": " • " - }, - { - "text": "13 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "450p7goxZqg", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/450p7goxZqg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBvlfpDDdkHbnlGlnH25l5Eqh4ofA", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/450p7goxZqg/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB5eBvqkowH7YmqRakDaowPkNUFsw", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/450p7goxZqg/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBqlxGbEnBmZFKfbtYgBa83e4nDtQ", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/450p7goxZqg/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCMPXbqFo3XANmCIDQNxRS2qtmDiQ", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "John Legend - All of Me (Official Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "John Legend - All of Me (Official Video) by John Legend 2,493,406,783 views 11 years ago 5 minutes, 8 seconds" - } - } - }, - "index": { - "simpleText": "27" - }, - "shortBylineText": { - "runs": [ - { - "text": "John Legend", - "navigationEndpoint": { - "clickTrackingParams": "CM4CEMY0GBoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCEa-JnNdYCIFn3HMhjGEWpQ", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCEa-JnNdYCIFn3HMhjGEWpQ", - "canonicalBaseUrl": "/channel/UCEa-JnNdYCIFn3HMhjGEWpQ" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "5 minutes, 8 seconds" - } - }, - "simpleText": "5:08" - }, - "navigationEndpoint": { - "clickTrackingParams": "CM4CEMY0GBoiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=450p7goxZqg&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=27&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "450p7goxZqg", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 26, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jeln7l.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=e39d29ee0a3166a8&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "308", - "trackingParams": "CM4CEMY0GBoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CNECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CNECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "450p7goxZqg", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CNECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "450p7goxZqg" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "450p7goxZqg" - ] - } - } - ] - } - }, - "trackingParams": "CNECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CNACENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "450p7goxZqg", - "onAddCommand": { - "clickTrackingParams": "CNACENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "450p7goxZqg", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CNACENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CM4CEMY0GBoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgs0NTBwN2dveFpxZw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CM4CEMY0GBoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CM8CEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CM4CEMY0GBoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CM4CEMY0GBoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "5 minutes, 8 seconds" - } - }, - "simpleText": "5:08" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "2.4B views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "-nV1WxvsfTk", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/-nV1WxvsfTk/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGFEgWihlMA8=&rs=AOn4CLBhU3DSdZ_sJUv5bEQR35yjlcXQww", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/-nV1WxvsfTk/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGFEgWihlMA8=&rs=AOn4CLCYNa9RpmkKU6QG9e8HyfXcGJE6RQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/-nV1WxvsfTk/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhRIFooZTAP&rs=AOn4CLDMwkPCb7NUmj-g1aed80ttasgiGQ", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/-nV1WxvsfTk/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhRIFooZTAP&rs=AOn4CLARZUVQxMpkA2y9VViiaVDRlnVC2Q", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Habibi I love you ( Mon amour, I love you) Ahmed Chawki, Kenza Farah ft Pitbull" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Habibi I love you ( Mon amour, I love you) Ahmed Chawki, Kenza Farah ft Pitbull by JOANDCOLABEL 21,499,220 views 11 years ago 3 minutes, 48 seconds" - } - } - }, - "index": { - "simpleText": "28" - }, - "shortBylineText": { - "runs": [ - { - "text": "JOANDCOLABEL", - "navigationEndpoint": { - "clickTrackingParams": "CMoCEMY0GBsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@JOANDCOLABEL", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCMmD10HZfTh-jrnI6M7duTw", - "canonicalBaseUrl": "/@JOANDCOLABEL" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 48 seconds" - } - }, - "simpleText": "3:48" - }, - "navigationEndpoint": { - "clickTrackingParams": "CMoCEMY0GBsiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=-nV1WxvsfTk&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=28&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "-nV1WxvsfTk", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 27, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr2---sn-h0jeenek.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=fa75755b1bec7d39&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "228", - "trackingParams": "CMoCEMY0GBsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CM0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CM0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "-nV1WxvsfTk", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CM0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "-nV1WxvsfTk" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "-nV1WxvsfTk" - ] - } - } - ] - } - }, - "trackingParams": "CM0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CMwCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "-nV1WxvsfTk", - "onAddCommand": { - "clickTrackingParams": "CMwCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "-nV1WxvsfTk", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CMwCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CMoCEMY0GBsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgstblYxV3h2c2ZUaw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CMoCEMY0GBsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CMsCEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CMoCEMY0GBsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CMoCEMY0GBsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 48 seconds" - } - }, - "simpleText": "3:48" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "21M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "akhmS1D2Ce4", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/akhmS1D2Ce4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBOwnviX2uKfqMYRvgXiKsIxl8KrQ", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/akhmS1D2Ce4/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMnrVN0P-042Sc2uoxc5nC4bPzDw", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/akhmS1D2Ce4/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCJyHtoJXHkeTKw-uov5shc9RrOow", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/akhmS1D2Ce4/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC0yrIPDo_utjblcEW4NwPxHNhsjQ", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Lana Del Rey vs Cedric Gervais 'Summertime Sadness' Remix" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Lana Del Rey vs Cedric Gervais 'Summertime Sadness' Remix by Spinnin' Records 178,138,845 views 11 years ago 3 minutes, 46 seconds" - } - } - }, - "index": { - "simpleText": "29" - }, - "shortBylineText": { - "runs": [ - { - "text": "Spinnin' Records", - "navigationEndpoint": { - "clickTrackingParams": "CMYCEMY0GBwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@spinninrecords", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCpDJl2EmP7Oh90Vylx0dZtA", - "canonicalBaseUrl": "/@spinninrecords" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 46 seconds" - } - }, - "simpleText": "3:46" - }, - "navigationEndpoint": { - "clickTrackingParams": "CMYCEMY0GBwiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=akhmS1D2Ce4&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=29&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "akhmS1D2Ce4", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 28, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr2---sn-h0jeln7l.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=6a48664b50f609ee&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "226", - "trackingParams": "CMYCEMY0GBwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CMkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CMkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "akhmS1D2Ce4", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CMkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "akhmS1D2Ce4" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "akhmS1D2Ce4" - ] - } - } - ] - } - }, - "trackingParams": "CMkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CMgCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "akhmS1D2Ce4", - "onAddCommand": { - "clickTrackingParams": "CMgCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "akhmS1D2Ce4", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CMgCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CMYCEMY0GBwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgtha2htUzFEMkNlNA%3D%3D", - "commands": [ - { - "clickTrackingParams": "CMYCEMY0GBwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CMcCEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CMYCEMY0GBwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CMYCEMY0GBwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 46 seconds" - } - }, - "simpleText": "3:46" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "178M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "t6hD6r3sIOE", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/t6hD6r3sIOE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDLShpTYnVnnu6xn1ZcWnbnAq46nw", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/t6hD6r3sIOE/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAWGbkTMfW5lHbREv3YCHg_LkXeeA", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/t6hD6r3sIOE/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBbNoGf0B-5EQgWW8KrH0LP61sbMg", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/t6hD6r3sIOE/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA4-8W0kfUm-C4d95AQ3XkcJckB6A", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Don Diablo & Matt Nash - Starlight (Could You Be Mine) (Original)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Don Diablo & Matt Nash - Starlight (Could You Be Mine) (Original) by Axtone 3,939,537 views 11 years ago 5 minutes, 44 seconds" - } - } - }, - "index": { - "simpleText": "30" - }, - "shortBylineText": { - "runs": [ - { - "text": "Axtone", - "navigationEndpoint": { - "clickTrackingParams": "CMICEMY0GB0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@Axtone", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC0fpPkYoKHpNtr8P2kWtgdg", - "canonicalBaseUrl": "/@Axtone" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "5 minutes, 44 seconds" - } - }, - "simpleText": "5:44" - }, - "navigationEndpoint": { - "clickTrackingParams": "CMICEMY0GB0iEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=t6hD6r3sIOE&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=30&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "t6hD6r3sIOE", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 29, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=b7a843eabdec20e1&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "344", - "trackingParams": "CMICEMY0GB0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CMUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CMUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "t6hD6r3sIOE", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CMUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "t6hD6r3sIOE" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "t6hD6r3sIOE" - ] - } - } - ] - } - }, - "trackingParams": "CMUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CMQCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "t6hD6r3sIOE", - "onAddCommand": { - "clickTrackingParams": "CMQCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "t6hD6r3sIOE", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CMQCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CMICEMY0GB0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgt0NmhENnIzc0lPRQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CMICEMY0GB0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CMMCEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CMICEMY0GB0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CMICEMY0GB0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "5 minutes, 44 seconds" - } - }, - "simpleText": "5:44" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "3.9M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "LqAF832WSi0", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/LqAF832WSi0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYTvDUhLxQSSzkKUvfLYyQcvXXlA", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/LqAF832WSi0/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAAUM3IwOxEYaM0aM0G7KG3nbJURg", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/LqAF832WSi0/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDVIem8Z9gDMbxFXZLyT7cVRd6RfA", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/LqAF832WSi0/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCDKPgWzEbsTAC__dcK4Rfe9_Sgkw", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "The Aston Shuffle - Comfortable (Official Video) ft. Will Heard" - } - ], - "accessibility": { - "accessibilityData": { - "label": "The Aston Shuffle - Comfortable (Official Video) ft. Will Heard by The Aston Shuffle 865,747 views 11 years ago 4 minutes, 8 seconds" - } - } - }, - "index": { - "simpleText": "31" - }, - "shortBylineText": { - "runs": [ - { - "text": "The Aston Shuffle", - "navigationEndpoint": { - "clickTrackingParams": "CL4CEMY0GB4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UC3M-u_ZX2TRdEBX8Zax-F2Q", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC3M-u_ZX2TRdEBX8Zax-F2Q", - "canonicalBaseUrl": "/channel/UC3M-u_ZX2TRdEBX8Zax-F2Q" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 8 seconds" - } - }, - "simpleText": "4:08" - }, - "navigationEndpoint": { - "clickTrackingParams": "CL4CEMY0GB4iEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=LqAF832WSi0&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=31&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "LqAF832WSi0", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 30, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=2ea005f37d964a2d&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "248", - "trackingParams": "CL4CEMY0GB4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CMECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CMECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "LqAF832WSi0", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CMECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "LqAF832WSi0" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "LqAF832WSi0" - ] - } - } - ] - } - }, - "trackingParams": "CMECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CMACENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "LqAF832WSi0", - "onAddCommand": { - "clickTrackingParams": "CMACENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "LqAF832WSi0", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CMACENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CL4CEMY0GB4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtMcUFGODMyV1NpMA%3D%3D", - "commands": [ - { - "clickTrackingParams": "CL4CEMY0GB4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CL8CEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CL4CEMY0GB4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CL4CEMY0GB4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 8 seconds" - } - }, - "simpleText": "4:08" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "865K views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "i-gyZ35074k", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/i-gyZ35074k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBZQ1nDFb8pMur7r6zHJ-h74Z6wPw", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/i-gyZ35074k/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDdxjuMNoXsis-gAg4SxA0XCk8-mQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/i-gyZ35074k/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDYsEe48t_mdibG92Fjk8cdqbpXvA", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/i-gyZ35074k/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLARr3iQdufs-E9sjgYz_fHDB47_gw", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Zedd - Stay The Night ft. Hayley Williams" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Zedd - Stay The Night ft. Hayley Williams by Zedd 292,231,015 views 11 years ago 3 minutes, 37 seconds" - } - } - }, - "index": { - "simpleText": "32" - }, - "shortBylineText": { - "runs": [ - { - "text": "Zedd", - "navigationEndpoint": { - "clickTrackingParams": "CLoCEMY0GB8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCPNokRZ9hacjIQ3IQL6HNUQ", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCPNokRZ9hacjIQ3IQL6HNUQ", - "canonicalBaseUrl": "/channel/UCPNokRZ9hacjIQ3IQL6HNUQ" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 37 seconds" - } - }, - "simpleText": "3:37" - }, - "navigationEndpoint": { - "clickTrackingParams": "CLoCEMY0GB8iEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=i-gyZ35074k&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=32&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "i-gyZ35074k", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 31, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jelne6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=8be832677e74ef89&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "217", - "trackingParams": "CLoCEMY0GB8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CL0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CL0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "i-gyZ35074k", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CL0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "i-gyZ35074k" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "i-gyZ35074k" - ] - } - } - ] - } - }, - "trackingParams": "CL0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CLwCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "i-gyZ35074k", - "onAddCommand": { - "clickTrackingParams": "CLwCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "i-gyZ35074k", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CLwCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CLoCEMY0GB8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtpLWd5WjM1MDc0aw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CLoCEMY0GB8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CLsCEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CLoCEMY0GB8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CLoCEMY0GB8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 37 seconds" - } - }, - "simpleText": "3:37" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "292M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "hN5X4kGhAtU", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/hN5X4kGhAtU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAVCuZZCbYNGXqsT_mLAyoqCx7dFA", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/hN5X4kGhAtU/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBiEX3UOVDQPYSi4A3El70WElycbQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/hN5X4kGhAtU/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB5N0XKCGgQByN-nVnkyzEACtBdUA", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/hN5X4kGhAtU/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAfDk5d1Q2fLuIIURN-GegpZuFTmA", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Empire Of The Sun - We Are The People (Official Music Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Empire Of The Sun - We Are The People (Official Music Video) by Empire Of The Sun 150,000,408 views 14 years ago 5 minutes, 12 seconds" - } - } - }, - "index": { - "simpleText": "33" - }, - "shortBylineText": { - "runs": [ - { - "text": "Empire Of The Sun", - "navigationEndpoint": { - "clickTrackingParams": "CLYCEMY0GCAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCyacMWc-JhzX6iq2PCF-4jw", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCyacMWc-JhzX6iq2PCF-4jw", - "canonicalBaseUrl": "/channel/UCyacMWc-JhzX6iq2PCF-4jw" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "5 minutes, 12 seconds" - } - }, - "simpleText": "5:12" - }, - "navigationEndpoint": { - "clickTrackingParams": "CLYCEMY0GCAiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=hN5X4kGhAtU&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=33&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "hN5X4kGhAtU", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 32, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr1---sn-h0jeener.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=84de57e241a102d5&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "312", - "trackingParams": "CLYCEMY0GCAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CLkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CLkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "hN5X4kGhAtU", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CLkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "hN5X4kGhAtU" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "hN5X4kGhAtU" - ] - } - } - ] - } - }, - "trackingParams": "CLkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CLgCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "hN5X4kGhAtU", - "onAddCommand": { - "clickTrackingParams": "CLgCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "hN5X4kGhAtU", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CLgCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CLYCEMY0GCAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtoTjVYNGtHaEF0VQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CLYCEMY0GCAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CLcCEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CLYCEMY0GCAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CLYCEMY0GCAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "5 minutes, 12 seconds" - } - }, - "simpleText": "5:12" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "150M views" - }, - { - "text": " • " - }, - { - "text": "14 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "0injWL1Kl98", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/0injWL1Kl98/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC4AOKAgwIABABGGEgZShDMA8=&rs=AOn4CLCdFdX_XwvjeFoM8WibjneZ4EKGsg", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/0injWL1Kl98/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC4AOKAgwIABABGGEgZShDMA8=&rs=AOn4CLBf1bpDXnVwPt4Y7i4Lw4A4V3v2Ng", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/0injWL1Kl98/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAuADigIMCAAQARhhIGUoQzAP&rs=AOn4CLDWw8NDXC_z4y4MMZIWaDu9hgSZ8Q", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/0injWL1Kl98/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAuADigIMCAAQARhhIGUoQzAP&rs=AOn4CLAe-PBxTtkmOGulBqgs5C7Zay5YFA", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Robbie Williams - Beyond the Sea" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Robbie Williams - Beyond the Sea by ididseeitcome 1,767,144 views 14 years ago 4 minutes, 24 seconds" - } - } - }, - "index": { - "simpleText": "34" - }, - "shortBylineText": { - "runs": [ - { - "text": "ididseeitcome", - "navigationEndpoint": { - "clickTrackingParams": "CLICEMY0GCEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@ididseeitcome", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCx8HeHB5BRhva9c2g4h0Qmg", - "canonicalBaseUrl": "/@ididseeitcome" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 24 seconds" - } - }, - "simpleText": "4:24" - }, - "navigationEndpoint": { - "clickTrackingParams": "CLICEMY0GCEiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=0injWL1Kl98&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=34&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "0injWL1Kl98", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 33, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr1---sn-h0jeened.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=d229e358bd4a97df&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "264", - "trackingParams": "CLICEMY0GCEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CLUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CLUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "0injWL1Kl98", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CLUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "0injWL1Kl98" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "0injWL1Kl98" - ] - } - } - ] - } - }, - "trackingParams": "CLUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CLQCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "0injWL1Kl98", - "onAddCommand": { - "clickTrackingParams": "CLQCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "0injWL1Kl98", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CLQCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CLICEMY0GCEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgswaW5qV0wxS2w5OA%3D%3D", - "commands": [ - { - "clickTrackingParams": "CLICEMY0GCEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CLMCEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CLICEMY0GCEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CLICEMY0GCEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 24 seconds" - } - }, - "simpleText": "4:24" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "1.7M views" - }, - { - "text": " • " - }, - { - "text": "14 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "0KiKEB5guoY", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/0KiKEB5guoY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBcAjaMjCb430KoqXibNw4x2Aae9w", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/0KiKEB5guoY/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDIO30YiTs4ZoNLvfLBzl7kJqX5Bg", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/0KiKEB5guoY/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAqHD21K6bO_TKoVDPHu8H6hDu3qg", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/0KiKEB5guoY/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBrfo6dRz5sJqf1vqsS1OxpfVsChw", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Eros Ramazzotti - Hasta El Éxtasis ft. Nicole Scherzinger" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Eros Ramazzotti - Hasta El Éxtasis ft. Nicole Scherzinger by ErosRamazzotti 5,859,401 views 11 years ago 3 minutes, 46 seconds" - } - } - }, - "index": { - "simpleText": "35" - }, - "shortBylineText": { - "runs": [ - { - "text": "ErosRamazzotti", - "navigationEndpoint": { - "clickTrackingParams": "CK4CEMY0GCIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UC-6TzsYLnG8R-K-r-rVaaeA", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC-6TzsYLnG8R-K-r-rVaaeA", - "canonicalBaseUrl": "/channel/UC-6TzsYLnG8R-K-r-rVaaeA" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 46 seconds" - } - }, - "simpleText": "3:46" - }, - "navigationEndpoint": { - "clickTrackingParams": "CK4CEMY0GCIiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=0KiKEB5guoY&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=35&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "0KiKEB5guoY", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 34, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr5---sn-h0jeenld.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=d0a88a101e60ba86&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "226", - "trackingParams": "CK4CEMY0GCIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CLECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CLECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "0KiKEB5guoY", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CLECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "0KiKEB5guoY" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "0KiKEB5guoY" - ] - } - } - ] - } - }, - "trackingParams": "CLECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CLACENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "0KiKEB5guoY", - "onAddCommand": { - "clickTrackingParams": "CLACENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "0KiKEB5guoY", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CLACENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CK4CEMY0GCIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgswS2lLRUI1Z3VvWQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CK4CEMY0GCIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CK8CEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CK4CEMY0GCIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CK4CEMY0GCIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 46 seconds" - } - }, - "simpleText": "3:46" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "5.8M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "BR_DFMUzX4E", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/BR_DFMUzX4E/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBpYen3YJBZVCHxCOiR2eHWEQDZIA", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/BR_DFMUzX4E/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCWwrVSwgbAO0yz1Qx8gg69TyXYhg", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/BR_DFMUzX4E/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBwUCpZjwaKeafxwNABH230FFtEyQ", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/BR_DFMUzX4E/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCsbcNCb_mt2dGtNuJuALlwmLoM8Q", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Armin van Buuren feat. Trevor Guthrie - This Is What It Feels Like (Official Music Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Armin van Buuren feat. Trevor Guthrie - This Is What It Feels Like (Official Music Video) by Armada Music TV 140,456,818 views 11 years ago 4 minutes, 10 seconds" - } - } - }, - "index": { - "simpleText": "36" - }, - "shortBylineText": { - "runs": [ - { - "text": "Armada Music TV", - "navigationEndpoint": { - "clickTrackingParams": "CKoCEMY0GCMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@armadamusictv", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCGZXYc32ri4D0gSLPf2pZXQ", - "canonicalBaseUrl": "/@armadamusictv" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 10 seconds" - } - }, - "simpleText": "4:10" - }, - "navigationEndpoint": { - "clickTrackingParams": "CKoCEMY0GCMiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=BR_DFMUzX4E&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=36&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "BR_DFMUzX4E", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 35, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr1---sn-h0jeenek.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=051fc314c5335f81&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "250", - "trackingParams": "CKoCEMY0GCMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CK0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CK0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "BR_DFMUzX4E", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CK0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "BR_DFMUzX4E" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "BR_DFMUzX4E" - ] - } - } - ] - } - }, - "trackingParams": "CK0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CKwCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "BR_DFMUzX4E", - "onAddCommand": { - "clickTrackingParams": "CKwCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "BR_DFMUzX4E", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CKwCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CKoCEMY0GCMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtCUl9ERk1Velg0RQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CKoCEMY0GCMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CKsCEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CKoCEMY0GCMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CKoCEMY0GCMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 10 seconds" - } - }, - "simpleText": "4:10" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "140M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "RsKQOm_iJug", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/RsKQOm_iJug/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDRbUy6H24jiZ4vTBAIZ8_Qf2YIYA", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/RsKQOm_iJug/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBQwmW1_spb2cyFS7UWASybrE9UmQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/RsKQOm_iJug/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAYK_-O06XjcwAuEtcol8cWWgIw3A", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/RsKQOm_iJug/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC9myemrIqhiAXdzFjL0ydrniZ0UA", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "A LIGHT THAT NEVER COMES (Official Lyric Video) - LINKIN PARK x STEVE AOKI" - } - ], - "accessibility": { - "accessibilityData": { - "label": "A LIGHT THAT NEVER COMES (Official Lyric Video) - LINKIN PARK x STEVE AOKI by Linkin Park 16,933,635 views 11 years ago 3 minutes, 58 seconds" - } - } - }, - "index": { - "simpleText": "37" - }, - "shortBylineText": { - "runs": [ - { - "text": "Linkin Park", - "navigationEndpoint": { - "clickTrackingParams": "CKYCEMY0GCQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCZU9T1ceaOgwfLRq7OKFU4Q", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCZU9T1ceaOgwfLRq7OKFU4Q", - "canonicalBaseUrl": "/channel/UCZU9T1ceaOgwfLRq7OKFU4Q" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 58 seconds" - } - }, - "simpleText": "3:58" - }, - "navigationEndpoint": { - "clickTrackingParams": "CKYCEMY0GCQiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=RsKQOm_iJug&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=37&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "RsKQOm_iJug", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 36, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr5---sn-h0jelnes.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=46c2903a6fe226e8&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "238", - "trackingParams": "CKYCEMY0GCQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CKkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CKkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "RsKQOm_iJug", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CKkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "RsKQOm_iJug" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "RsKQOm_iJug" - ] - } - } - ] - } - }, - "trackingParams": "CKkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CKgCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "RsKQOm_iJug", - "onAddCommand": { - "clickTrackingParams": "CKgCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "RsKQOm_iJug", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CKgCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CKYCEMY0GCQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtSc0tRT21faUp1Zw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CKYCEMY0GCQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CKcCEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CKYCEMY0GCQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CKYCEMY0GCQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 58 seconds" - } - }, - "simpleText": "3:58" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "16M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "yZqmarGShxg", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/yZqmarGShxg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAk4ekkgJwCLdeho5NpJ2Iu8miMQA", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/yZqmarGShxg/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD23-BBj6TMY9DsXtgPajGk5RjSUA", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/yZqmarGShxg/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAsUENcuOiy0_L3W0LDcWYcSRRAAw", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/yZqmarGShxg/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDjOKGSWUTCbhMXpY_K9D6A4P7NcQ", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Calvin Harris & Alesso - Under Control (Official Video) ft. Hurts" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Calvin Harris & Alesso - Under Control (Official Video) ft. Hurts by Calvin Harris 305,114,182 views 11 years ago 3 minutes, 31 seconds" - } - } - }, - "index": { - "simpleText": "38" - }, - "shortBylineText": { - "runs": [ - { - "text": "Calvin Harris", - "navigationEndpoint": { - "clickTrackingParams": "CKICEMY0GCUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCIjYyZxkFucP_W-tmXg_9Ow", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCIjYyZxkFucP_W-tmXg_9Ow", - "canonicalBaseUrl": "/channel/UCIjYyZxkFucP_W-tmXg_9Ow" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 31 seconds" - } - }, - "simpleText": "3:31" - }, - "navigationEndpoint": { - "clickTrackingParams": "CKICEMY0GCUiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=yZqmarGShxg&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=38&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "yZqmarGShxg", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 37, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr2---sn-h0jeenle.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=c99aa66ab1928718&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "211", - "trackingParams": "CKICEMY0GCUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CKUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CKUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "yZqmarGShxg", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CKUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "yZqmarGShxg" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "yZqmarGShxg" - ] - } - } - ] - } - }, - "trackingParams": "CKUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CKQCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "yZqmarGShxg", - "onAddCommand": { - "clickTrackingParams": "CKQCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "yZqmarGShxg", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CKQCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CKICEMY0GCUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgt5WnFtYXJHU2h4Zw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CKICEMY0GCUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CKMCEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CKICEMY0GCUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CKICEMY0GCUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 31 seconds" - } - }, - "simpleText": "3:31" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "305M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "L5GwTfI_PD8", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/L5GwTfI_PD8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC2djC5eb_sUntqpiAaF0QNaHUWrQ", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/L5GwTfI_PD8/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBycNY58Ilnl_JQ4e2IhIMjDj-wvg", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/L5GwTfI_PD8/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBJTXTMdi1nuob4h8TIO4-cU8xD3Q", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/L5GwTfI_PD8/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAgnCTTCwavbAnTAWtzyP0aMuN-vg", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Fly Project - Toca Toca | Official Music Video" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Fly Project - Toca Toca | Official Music Video by Fly Project 219,920,157 views 11 years ago 2 minutes, 50 seconds" - } - } - }, - "index": { - "simpleText": "39" - }, - "shortBylineText": { - "runs": [ - { - "text": "Fly Project", - "navigationEndpoint": { - "clickTrackingParams": "CJ4CEMY0GCYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCr5xubfcrZYYBDEOJCdI13A", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCr5xubfcrZYYBDEOJCdI13A", - "canonicalBaseUrl": "/channel/UCr5xubfcrZYYBDEOJCdI13A" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "2 minutes, 50 seconds" - } - }, - "simpleText": "2:50" - }, - "navigationEndpoint": { - "clickTrackingParams": "CJ4CEMY0GCYiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=L5GwTfI_PD8&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=39&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "L5GwTfI_PD8", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 38, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr1---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=2f91b04df23f3c3f&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "170", - "trackingParams": "CJ4CEMY0GCYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CKECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CKECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "L5GwTfI_PD8", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CKECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "L5GwTfI_PD8" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "L5GwTfI_PD8" - ] - } - } - ] - } - }, - "trackingParams": "CKECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CKACENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "L5GwTfI_PD8", - "onAddCommand": { - "clickTrackingParams": "CKACENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "L5GwTfI_PD8", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CKACENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJ4CEMY0GCYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtMNUd3VGZJX1BEOA%3D%3D", - "commands": [ - { - "clickTrackingParams": "CJ4CEMY0GCYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CJ8CEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CJ4CEMY0GCYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CJ4CEMY0GCYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "2 minutes, 50 seconds" - } - }, - "simpleText": "2:50" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "219M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "JL0q8o-IAc8", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/JL0q8o-IAc8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQdDNNH8BpWBVFllkY01ZGRraOqw", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/JL0q8o-IAc8/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnd85hPZQwOEw9XR0WG68i18Wzew", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/JL0q8o-IAc8/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBELNYmIMf7g9upvnSy9Pjcr9VQnQ", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/JL0q8o-IAc8/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBJYY-Q6FIO4WjOkd-9S8ZtxenVBw", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Fly Project - Goodbye | Official Music Video" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Fly Project - Goodbye | Official Music Video by Fly Project 51,557,608 views 14 years ago 3 minutes, 10 seconds" - } - } - }, - "index": { - "simpleText": "40" - }, - "shortBylineText": { - "runs": [ - { - "text": "Fly Project", - "navigationEndpoint": { - "clickTrackingParams": "CJoCEMY0GCciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCr5xubfcrZYYBDEOJCdI13A", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCr5xubfcrZYYBDEOJCdI13A", - "canonicalBaseUrl": "/channel/UCr5xubfcrZYYBDEOJCdI13A" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 10 seconds" - } - }, - "simpleText": "3:10" - }, - "navigationEndpoint": { - "clickTrackingParams": "CJoCEMY0GCciEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=JL0q8o-IAc8&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=40&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "JL0q8o-IAc8", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 39, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr5---sn-h0jelnez.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=24bd2af28f8801cf&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "190", - "trackingParams": "CJoCEMY0GCciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJ0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CJ0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "JL0q8o-IAc8", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CJ0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "JL0q8o-IAc8" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "JL0q8o-IAc8" - ] - } - } - ] - } - }, - "trackingParams": "CJ0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CJwCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "JL0q8o-IAc8", - "onAddCommand": { - "clickTrackingParams": "CJwCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "JL0q8o-IAc8", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CJwCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJoCEMY0GCciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtKTDBxOG8tSUFjOA%3D%3D", - "commands": [ - { - "clickTrackingParams": "CJoCEMY0GCciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CJsCEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CJoCEMY0GCciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CJoCEMY0GCciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 10 seconds" - } - }, - "simpleText": "3:10" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "51M views" - }, - { - "text": " • " - }, - { - "text": "14 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "wCXc37dJWNA", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/wCXc37dJWNA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLACP6HZfTtHkQoKpDJ_7QSqog8gkQ", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/wCXc37dJWNA/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCRiFgvLnJZYtw8tijFghbNNxC6gQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/wCXc37dJWNA/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBTWl7tCjBa5qssIqXR4sPSSx1yHA", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/wCXc37dJWNA/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC12XP-uxyy0SNBwazKsknP4gdq_w", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Fly Project - Back In My Life | Official Music Video" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Fly Project - Back In My Life | Official Music Video by Fly Project 24,880,309 views 12 years ago 3 minutes, 24 seconds" - } - } - }, - "index": { - "simpleText": "41" - }, - "shortBylineText": { - "runs": [ - { - "text": "Fly Project", - "navigationEndpoint": { - "clickTrackingParams": "CJYCEMY0GCgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCr5xubfcrZYYBDEOJCdI13A", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCr5xubfcrZYYBDEOJCdI13A", - "canonicalBaseUrl": "/channel/UCr5xubfcrZYYBDEOJCdI13A" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 24 seconds" - } - }, - "simpleText": "3:24" - }, - "navigationEndpoint": { - "clickTrackingParams": "CJYCEMY0GCgiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=wCXc37dJWNA&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=41&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "wCXc37dJWNA", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 40, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr4---sn-h0jeenek.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=c025dcdfb74958d0&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "204", - "trackingParams": "CJYCEMY0GCgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CJkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "wCXc37dJWNA", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CJkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "wCXc37dJWNA" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "wCXc37dJWNA" - ] - } - } - ] - } - }, - "trackingParams": "CJkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CJgCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "wCXc37dJWNA", - "onAddCommand": { - "clickTrackingParams": "CJgCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "wCXc37dJWNA", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CJgCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJYCEMY0GCgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgt3Q1hjMzdkSldOQQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CJYCEMY0GCgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CJcCEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CJYCEMY0GCgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CJYCEMY0GCgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 24 seconds" - } - }, - "simpleText": "3:24" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "24M views" - }, - { - "text": " • " - }, - { - "text": "12 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "3P06kyFpIQU", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/3P06kyFpIQU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCEebF1WfL-1pnsJsb1o_OxFU4lRw", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/3P06kyFpIQU/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBuSwOhaJjJP9D2JYEliS_7L_iHkg", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/3P06kyFpIQU/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCuSzPGZvi25E2wjAIydZJTE1y3SQ", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/3P06kyFpIQU/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCLExcSMTkBgv8CBGoBog5wgaflvg", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Fly Project - Musica | Official Music Video" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Fly Project - Musica | Official Music Video by Fly Project 104,731,275 views 13 years ago 3 minutes, 42 seconds" - } - } - }, - "index": { - "simpleText": "42" - }, - "shortBylineText": { - "runs": [ - { - "text": "Fly Project", - "navigationEndpoint": { - "clickTrackingParams": "CJICEMY0GCkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCr5xubfcrZYYBDEOJCdI13A", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCr5xubfcrZYYBDEOJCdI13A", - "canonicalBaseUrl": "/channel/UCr5xubfcrZYYBDEOJCdI13A" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 42 seconds" - } - }, - "simpleText": "3:42" - }, - "navigationEndpoint": { - "clickTrackingParams": "CJICEMY0GCkiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=3P06kyFpIQU&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=42&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "3P06kyFpIQU", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 41, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jelne6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=dcfd3a9321692105&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "222", - "trackingParams": "CJICEMY0GCkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CJUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "3P06kyFpIQU", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CJUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "3P06kyFpIQU" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "3P06kyFpIQU" - ] - } - } - ] - } - }, - "trackingParams": "CJUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CJQCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "3P06kyFpIQU", - "onAddCommand": { - "clickTrackingParams": "CJQCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "3P06kyFpIQU", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CJQCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJICEMY0GCkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgszUDA2a3lGcElRVQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CJICEMY0GCkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CJMCEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CJICEMY0GCkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CJICEMY0GCkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 42 seconds" - } - }, - "simpleText": "3:42" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "104M views" - }, - { - "text": " • " - }, - { - "text": "13 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "zsmUOdmm02A", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/zsmUOdmm02A/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB3PgIVgaEh_Y_Ki8bYUzcg_LnrIQ", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/zsmUOdmm02A/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBILVRU779bmWcRgTBgJNTuZ7XrEw", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/zsmUOdmm02A/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDej3TzzcXAiE3z72W3QbegCi3dNQ", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/zsmUOdmm02A/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAsJWFtAZuVLND_NBrtj0OZBrhprQ", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "P!nk - True Love (Official Video) ft. Lily Allen" - } - ], - "accessibility": { - "accessibilityData": { - "label": "P!nk - True Love (Official Video) ft. Lily Allen by P!NK 159,514,458 views 11 years ago 3 minutes, 53 seconds" - } - } - }, - "index": { - "simpleText": "43" - }, - "shortBylineText": { - "runs": [ - { - "text": "P!NK", - "navigationEndpoint": { - "clickTrackingParams": "CI4CEMY0GCoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCE5yTn9ljzSnC_oMp9Jnckg", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCE5yTn9ljzSnC_oMp9Jnckg", - "canonicalBaseUrl": "/channel/UCE5yTn9ljzSnC_oMp9Jnckg" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 53 seconds" - } - }, - "simpleText": "3:53" - }, - "navigationEndpoint": { - "clickTrackingParams": "CI4CEMY0GCoiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=zsmUOdmm02A&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=43&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "zsmUOdmm02A", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 42, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jeln7l.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=cec99439d9a6d360&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "233", - "trackingParams": "CI4CEMY0GCoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CJECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "zsmUOdmm02A", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CJECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "zsmUOdmm02A" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "zsmUOdmm02A" - ] - } - } - ] - } - }, - "trackingParams": "CJECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CJACENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "zsmUOdmm02A", - "onAddCommand": { - "clickTrackingParams": "CJACENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "zsmUOdmm02A", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CJACENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CI4CEMY0GCoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgt6c21VT2RtbTAyQQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CI4CEMY0GCoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CI8CEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CI4CEMY0GCoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CI4CEMY0GCoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 53 seconds" - } - }, - "simpleText": "3:53" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "159M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "47dtFZ8CFo8", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/47dtFZ8CFo8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDxg8TVh9qLSm2kcqf9Sr1Sbgcv3A", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/47dtFZ8CFo8/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB_LIR2L5x5LXe32TESIXox2qL-rA", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/47dtFZ8CFo8/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBHmVTivrzPGMmv8JyU57_ee-AQyA", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/47dtFZ8CFo8/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB6e-auxuAuBC4I9t3tJQAtV-cobA", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Capital Cities - Safe And Sound" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Capital Cities - Safe And Sound by Capital Cities 823,706,902 views 11 years ago 3 minutes, 47 seconds" - } - } - }, - "index": { - "simpleText": "44" - }, - "shortBylineText": { - "runs": [ - { - "text": "Capital Cities", - "navigationEndpoint": { - "clickTrackingParams": "CIoCEMY0GCsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCV3qsXcX2DaGzpJg2pw9q5g", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCV3qsXcX2DaGzpJg2pw9q5g", - "canonicalBaseUrl": "/channel/UCV3qsXcX2DaGzpJg2pw9q5g" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 47 seconds" - } - }, - "simpleText": "3:47" - }, - "navigationEndpoint": { - "clickTrackingParams": "CIoCEMY0GCsiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=47dtFZ8CFo8&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=44&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "47dtFZ8CFo8", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 43, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr4---sn-h0jelnes.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=e3b76d159f02168f&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "227", - "trackingParams": "CIoCEMY0GCsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CI0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CI0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "47dtFZ8CFo8", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CI0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "47dtFZ8CFo8" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "47dtFZ8CFo8" - ] - } - } - ] - } - }, - "trackingParams": "CI0CEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CIwCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "47dtFZ8CFo8", - "onAddCommand": { - "clickTrackingParams": "CIwCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "47dtFZ8CFo8", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CIwCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CIoCEMY0GCsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgs0N2R0Rlo4Q0ZvOA%3D%3D", - "commands": [ - { - "clickTrackingParams": "CIoCEMY0GCsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CIsCEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CIoCEMY0GCsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CIoCEMY0GCsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 47 seconds" - } - }, - "simpleText": "3:47" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "823M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "BEXtdcg7ZfQ", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/BEXtdcg7ZfQ/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgZShlMA8=&rs=AOn4CLDJROFGUTRIszbU9OxA9kATF2ZG0A", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/BEXtdcg7ZfQ/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgZShlMA8=&rs=AOn4CLA3IoBz2PSsjPTJ1ufKAsUjFeAtzw", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/BEXtdcg7ZfQ/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhlIGUoZTAP&rs=AOn4CLCbP0Ph5BGxUt9txX4ijYpHKdSyHg", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/BEXtdcg7ZfQ/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhlIGUoZTAP&rs=AOn4CLBxApXA0D4D1vjvSijeVTs4zDAgRw", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Kika - Can't Feel Love (Tonight)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Kika - Can't Feel Love (Tonight) by Pedro Miguel 271,206 views 11 years ago 4 minutes, 2 seconds" - } - } - }, - "index": { - "simpleText": "45" - }, - "shortBylineText": { - "runs": [ - { - "text": "Pedro Miguel", - "navigationEndpoint": { - "clickTrackingParams": "CIYCEMY0GCwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@pedromiguel5218", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCv6fbkfpZgUrEZXbSkiyC1Q", - "canonicalBaseUrl": "/@pedromiguel5218" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 2 seconds" - } - }, - "simpleText": "4:02" - }, - "navigationEndpoint": { - "clickTrackingParams": "CIYCEMY0GCwiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=BEXtdcg7ZfQ&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=45&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "BEXtdcg7ZfQ", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 44, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr5---sn-h0jelnes.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=0445ed75c83b65f4&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "242", - "trackingParams": "CIYCEMY0GCwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CIkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CIkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "BEXtdcg7ZfQ", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CIkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "BEXtdcg7ZfQ" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "BEXtdcg7ZfQ" - ] - } - } - ] - } - }, - "trackingParams": "CIkCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CIgCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "BEXtdcg7ZfQ", - "onAddCommand": { - "clickTrackingParams": "CIgCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "BEXtdcg7ZfQ", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CIgCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CIYCEMY0GCwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtCRVh0ZGNnN1pmUQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CIYCEMY0GCwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CIcCEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CIYCEMY0GCwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CIYCEMY0GCwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 2 seconds" - } - }, - "simpleText": "4:02" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "271K views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "g1j1qwQQ8-Q", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/g1j1qwQQ8-Q/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCAHKCLTmGjoEm1nMR8M5fBZ2Bi2g", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/g1j1qwQQ8-Q/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBNU-hGY2K7pCY2s_mTya-uuI-tNQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/g1j1qwQQ8-Q/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD4bMerODi_s4MP_1duBQfLFGzzRQ", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/g1j1qwQQ8-Q/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBnFQKwGD4W2n4srW_2Z2MwmRIhnQ", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "James Blunt - Bonfire Heart (Official Music Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "James Blunt - Bonfire Heart (Official Music Video) by James Blunt 94,412,256 views 11 years ago 3 minutes, 46 seconds" - } - } - }, - "index": { - "simpleText": "46" - }, - "shortBylineText": { - "runs": [ - { - "text": "James Blunt", - "navigationEndpoint": { - "clickTrackingParams": "CIICEMY0GC0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCUg8KhMXhFxJm-YQzOQ7nPw", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCUg8KhMXhFxJm-YQzOQ7nPw", - "canonicalBaseUrl": "/channel/UCUg8KhMXhFxJm-YQzOQ7nPw" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 46 seconds" - } - }, - "simpleText": "3:46" - }, - "navigationEndpoint": { - "clickTrackingParams": "CIICEMY0GC0iEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=g1j1qwQQ8-Q&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=46&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "g1j1qwQQ8-Q", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 45, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr4---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=8358f5ab0410f3e4&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "226", - "trackingParams": "CIICEMY0GC0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CIUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CIUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "g1j1qwQQ8-Q", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CIUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "g1j1qwQQ8-Q" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "g1j1qwQQ8-Q" - ] - } - } - ] - } - }, - "trackingParams": "CIUCEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CIQCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "g1j1qwQQ8-Q", - "onAddCommand": { - "clickTrackingParams": "CIQCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "g1j1qwQQ8-Q", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CIQCENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CIICEMY0GC0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtnMWoxcXdRUTgtUQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CIICEMY0GC0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CIMCEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CIICEMY0GC0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CIICEMY0GC0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 46 seconds" - } - }, - "simpleText": "3:46" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "94M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "sC2nElyx7Ds", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/sC2nElyx7Ds/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBD_ZyHaNedxcep7V0vCNwPuegTZA", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/sC2nElyx7Ds/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBPvRaKGd4pQwrv79HvwWVMe82WQQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/sC2nElyx7Ds/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD_yR4QCHqCEQ_hIzYt9lz75Vbb_A", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/sC2nElyx7Ds/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBmIReHif4lqMsmdsSucE5M_jndpA", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Enrique Iglesias - Heart Attack (Official Music Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Enrique Iglesias - Heart Attack (Official Music Video) by Enrique Iglesias 110,860,874 views 11 years ago 3 minutes, 51 seconds" - } - } - }, - "index": { - "simpleText": "47" - }, - "shortBylineText": { - "runs": [ - { - "text": "Enrique Iglesias", - "navigationEndpoint": { - "clickTrackingParams": "CP4BEMY0GC4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UC-6czyMkxDi8E8akPl0c7_w", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC-6czyMkxDi8E8akPl0c7_w", - "canonicalBaseUrl": "/channel/UC-6czyMkxDi8E8akPl0c7_w" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 51 seconds" - } - }, - "simpleText": "3:51" - }, - "navigationEndpoint": { - "clickTrackingParams": "CP4BEMY0GC4iEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=sC2nElyx7Ds&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=47&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "sC2nElyx7Ds", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 46, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jeened.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=b02da7125cb1ec3b&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "231", - "trackingParams": "CP4BEMY0GC4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CIECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CIECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "sC2nElyx7Ds", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CIECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "sC2nElyx7Ds" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "sC2nElyx7Ds" - ] - } - } - ] - } - }, - "trackingParams": "CIECEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CIACENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "sC2nElyx7Ds", - "onAddCommand": { - "clickTrackingParams": "CIACENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "sC2nElyx7Ds", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CIACENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CP4BEMY0GC4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtzQzJuRWx5eDdEcw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CP4BEMY0GC4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CP8BEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CP4BEMY0GC4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CP4BEMY0GC4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 51 seconds" - } - }, - "simpleText": "3:51" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "110M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "-whp15J2n_M", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/-whp15J2n_M/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBdy7L_4ufBSDdHGXYAt7HMFQPnIQ", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/-whp15J2n_M/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDiEQRj3DC7DJfL8o6j93ssLq0mUQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/-whp15J2n_M/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDhRkVtvQnOci9Ma1HrjMiqbG2HeQ", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/-whp15J2n_M/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBhdOC0tvcG4PuX9Jkk7zUhz7H0ew", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "ARASH feat Helena- Broken Angel (Official Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "ARASH feat Helena- Broken Angel (Official Video) by Warner Music Sweden 76,619,243 views 14 years ago 3 minutes, 23 seconds" - } - } - }, - "index": { - "simpleText": "48" - }, - "shortBylineText": { - "runs": [ - { - "text": "Warner Music Sweden", - "navigationEndpoint": { - "clickTrackingParams": "CPoBEMY0GC8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@warnersweden", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCU-0c1hN3jzWTdIetJCUULw", - "canonicalBaseUrl": "/@warnersweden" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 23 seconds" - } - }, - "simpleText": "3:23" - }, - "navigationEndpoint": { - "clickTrackingParams": "CPoBEMY0GC8iEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=-whp15J2n_M&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=48&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "-whp15J2n_M", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 47, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr1---sn-h0jeenek.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=fb0869d792769ff3&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "203", - "trackingParams": "CPoBEMY0GC8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CP0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CP0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "-whp15J2n_M", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CP0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "-whp15J2n_M" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "-whp15J2n_M" - ] - } - } - ] - } - }, - "trackingParams": "CP0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CPwBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "-whp15J2n_M", - "onAddCommand": { - "clickTrackingParams": "CPwBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "-whp15J2n_M", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CPwBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CPoBEMY0GC8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgstd2hwMTVKMm5fTQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CPoBEMY0GC8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CPsBEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CPoBEMY0GC8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CPoBEMY0GC8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 23 seconds" - } - }, - "simpleText": "3:23" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "76M views" - }, - { - "text": " • " - }, - { - "text": "14 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "hT_nvWreIhg", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/hT_nvWreIhg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBIhao5qL--RZvtadDiYgT44baoDw", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/hT_nvWreIhg/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAsYzXI0TjGD18yzU7Y2XiSbEW1zw", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/hT_nvWreIhg/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD07e2ntG66xGjVR_Kk4uHAGuW7bg", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/hT_nvWreIhg/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD4ZkdBZxlYjMNx8xnLPU4AdoVhiQ", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "OneRepublic - Counting Stars" - } - ], - "accessibility": { - "accessibilityData": { - "label": "OneRepublic - Counting Stars by OneRepublic 4,132,958,795 views 11 years ago 4 minutes, 44 seconds" - } - } - }, - "index": { - "simpleText": "49" - }, - "shortBylineText": { - "runs": [ - { - "text": "OneRepublic", - "navigationEndpoint": { - "clickTrackingParams": "CPYBEMY0GDAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCi4EDAgjULwwNBHOg1aaCig", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCi4EDAgjULwwNBHOg1aaCig", - "canonicalBaseUrl": "/channel/UCi4EDAgjULwwNBHOg1aaCig" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 44 seconds" - } - }, - "simpleText": "4:44" - }, - "navigationEndpoint": { - "clickTrackingParams": "CPYBEMY0GDAiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=hT_nvWreIhg&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=49&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "hT_nvWreIhg", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 48, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr5---sn-h0jeener.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=853fe7bd6ade2218&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "284", - "trackingParams": "CPYBEMY0GDAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CPkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CPkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "hT_nvWreIhg", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CPkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "hT_nvWreIhg" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "hT_nvWreIhg" - ] - } - } - ] - } - }, - "trackingParams": "CPkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CPgBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "hT_nvWreIhg", - "onAddCommand": { - "clickTrackingParams": "CPgBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "hT_nvWreIhg", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CPgBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CPYBEMY0GDAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtoVF9udldyZUloZw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CPYBEMY0GDAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CPcBEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CPYBEMY0GDAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CPYBEMY0GDAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 44 seconds" - } - }, - "simpleText": "4:44" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "4.1B views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "UJWk_KNbDHo", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/UJWk_KNbDHo/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgVShPMA8=&rs=AOn4CLB3xVN3wmMah3co1EO7nYVvUSkeog", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/UJWk_KNbDHo/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgVShPMA8=&rs=AOn4CLDFyy6Ns1aKkOvgvlX6LfiTB9q2eA", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/UJWk_KNbDHo/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhlIFUoTzAP&rs=AOn4CLDFEP7AJx4SNVzFAiAK_T9lHLnp0g", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/UJWk_KNbDHo/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhlIFUoTzAP&rs=AOn4CLAl0SO4FZZ6SUKRMRn95L3ZLBRU-A", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "The Lumineers - \"Stubborn Love\" (Official Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "The Lumineers - \"Stubborn Love\" (Official Video) by The Lumineers 169,486,252 views 12 years ago 4 minutes, 40 seconds" - } - } - }, - "index": { - "simpleText": "50" - }, - "shortBylineText": { - "runs": [ - { - "text": "The Lumineers", - "navigationEndpoint": { - "clickTrackingParams": "CPIBEMY0GDEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCB7P9Hr5BYB5Mkxau6t3Sgw", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCB7P9Hr5BYB5Mkxau6t3Sgw", - "canonicalBaseUrl": "/channel/UCB7P9Hr5BYB5Mkxau6t3Sgw" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 40 seconds" - } - }, - "simpleText": "4:40" - }, - "navigationEndpoint": { - "clickTrackingParams": "CPIBEMY0GDEiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=UJWk_KNbDHo&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=50&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "UJWk_KNbDHo", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 49, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jeenek.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=5095a4fca35b0c7a&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "280", - "trackingParams": "CPIBEMY0GDEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CPUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CPUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "UJWk_KNbDHo", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CPUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "UJWk_KNbDHo" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "UJWk_KNbDHo" - ] - } - } - ] - } - }, - "trackingParams": "CPUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CPQBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "UJWk_KNbDHo", - "onAddCommand": { - "clickTrackingParams": "CPQBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "UJWk_KNbDHo", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CPQBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CPIBEMY0GDEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtVSldrX0tOYkRIbw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CPIBEMY0GDEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CPMBEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CPIBEMY0GDEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CPIBEMY0GDEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 40 seconds" - } - }, - "simpleText": "4:40" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "169M views" - }, - { - "text": " • " - }, - { - "text": "12 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "MC8QcaMMVQE", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/MC8QcaMMVQE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCAAbDSdJQlhIQmjXbBUwQQb5xqug", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/MC8QcaMMVQE/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDLnyeFrl4uKWmMCPijCtbtS9PDLA", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/MC8QcaMMVQE/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC8hPFnguyZKSnbKsxMLknXGkROxw", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/MC8QcaMMVQE/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBqmFas4L0jxsT50nXK-_ZNJWgFxQ", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Kings Of Leon - Wait For Me (Audio)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Kings Of Leon - Wait For Me (Audio) by Kings of Leon 28,671,143 views 11 years ago 3 minutes, 33 seconds" - } - } - }, - "index": { - "simpleText": "51" - }, - "shortBylineText": { - "runs": [ - { - "text": "Kings of Leon", - "navigationEndpoint": { - "clickTrackingParams": "CO4BEMY0GDIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCfJein8E4rcYZSUCc8UqyMA", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCfJein8E4rcYZSUCc8UqyMA", - "canonicalBaseUrl": "/channel/UCfJein8E4rcYZSUCc8UqyMA" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 33 seconds" - } - }, - "simpleText": "3:33" - }, - "navigationEndpoint": { - "clickTrackingParams": "CO4BEMY0GDIiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=MC8QcaMMVQE&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=51&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "MC8QcaMMVQE", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 50, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr2---sn-h0jelnes.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=302f1071a30c5501&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "213", - "trackingParams": "CO4BEMY0GDIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CPEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CPEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "MC8QcaMMVQE", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CPEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "MC8QcaMMVQE" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "MC8QcaMMVQE" - ] - } - } - ] - } - }, - "trackingParams": "CPEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CPABENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "MC8QcaMMVQE", - "onAddCommand": { - "clickTrackingParams": "CPABENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "MC8QcaMMVQE", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CPABENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CO4BEMY0GDIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtNQzhRY2FNTVZRRQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CO4BEMY0GDIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CO8BEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CO4BEMY0GDIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CO4BEMY0GDIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 33 seconds" - } - }, - "simpleText": "3:33" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "28M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "jzy2dgEUOhY", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/jzy2dgEUOhY/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AGGBYAC4AOKAgwIABABGHIgUyg_MA8=&rs=AOn4CLAnw9WlRNIB1ssFUX4x7FAdsKuvdg", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/jzy2dgEUOhY/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AGGBYAC4AOKAgwIABABGHIgUyg_MA8=&rs=AOn4CLB4Mi95fDi4hWe743pwjB6LYsLEFQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/jzy2dgEUOhY/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgBhgWAAuADigIMCAAQARhyIFMoPzAP&rs=AOn4CLAUoW9lbl3glxKs1noRsbI2WhfYKQ", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/jzy2dgEUOhY/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgBhgWAAuADigIMCAAQARhyIFMoPzAP&rs=AOn4CLDmacmuMILsbsDH4cBFEeYF6qBcNA", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Guru Josh Project - Infinity (Klaas Vocal Mix) [Ultra Records]" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Guru Josh Project - Infinity (Klaas Vocal Mix) [Ultra Records] by Ultra Records 239,021,360 views 16 years ago 3 minutes, 15 seconds" - } - } - }, - "index": { - "simpleText": "52" - }, - "shortBylineText": { - "runs": [ - { - "text": "Ultra Records", - "navigationEndpoint": { - "clickTrackingParams": "COoBEMY0GDMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@ultrarecords", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC4rasfm9J-X4jNl9SvXp8xA", - "canonicalBaseUrl": "/@ultrarecords" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 15 seconds" - } - }, - "simpleText": "3:15" - }, - "navigationEndpoint": { - "clickTrackingParams": "COoBEMY0GDMiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=jzy2dgEUOhY&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=52&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "jzy2dgEUOhY", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 51, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr2---sn-h0jelne6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=8f3cb67601143a16&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "195", - "trackingParams": "COoBEMY0GDMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CO0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CO0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "jzy2dgEUOhY", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CO0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "jzy2dgEUOhY" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "jzy2dgEUOhY" - ] - } - } - ] - } - }, - "trackingParams": "CO0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "COwBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "jzy2dgEUOhY", - "onAddCommand": { - "clickTrackingParams": "COwBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "jzy2dgEUOhY", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "COwBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "COoBEMY0GDMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtqenkyZGdFVU9oWQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "COoBEMY0GDMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "COsBEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "COoBEMY0GDMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "COoBEMY0GDMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 15 seconds" - } - }, - "simpleText": "3:15" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "239M views" - }, - { - "text": " • " - }, - { - "text": "16 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "3YhoejhnW8w", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/3YhoejhnW8w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDfgpFk1HtN5u0ZBNo78q1mrs_4nw", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/3YhoejhnW8w/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLApVZI-D45J5ojT34Gus61UJaEXdw", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/3YhoejhnW8w/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBMX62qB4qKHZzvBcmVj-XPVeS1JQ", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/3YhoejhnW8w/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCj8mZhCEqajEImqnY0RgKyYWOS5A", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Camila - De Que Me Sirve la Vida" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Camila - De Que Me Sirve la Vida by Camila 285,644,747 views 13 years ago 5 minutes, 51 seconds" - } - } - }, - "index": { - "simpleText": "53" - }, - "shortBylineText": { - "runs": [ - { - "text": "Camila", - "navigationEndpoint": { - "clickTrackingParams": "COYBEMY0GDQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCTbABe0xvBjIQeCMXU_R7fA", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCTbABe0xvBjIQeCMXU_R7fA", - "canonicalBaseUrl": "/channel/UCTbABe0xvBjIQeCMXU_R7fA" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "5 minutes, 51 seconds" - } - }, - "simpleText": "5:51" - }, - "navigationEndpoint": { - "clickTrackingParams": "COYBEMY0GDQiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=3YhoejhnW8w&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=53&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "3YhoejhnW8w", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 52, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr1---sn-h0jelnez.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=dd88687a38675bcc&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "351", - "trackingParams": "COYBEMY0GDQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "COkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "COkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "3YhoejhnW8w", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "COkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "3YhoejhnW8w" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "3YhoejhnW8w" - ] - } - } - ] - } - }, - "trackingParams": "COkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "COgBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "3YhoejhnW8w", - "onAddCommand": { - "clickTrackingParams": "COgBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "3YhoejhnW8w", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "COgBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "COYBEMY0GDQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgszWWhvZWpoblc4dw%3D%3D", - "commands": [ - { - "clickTrackingParams": "COYBEMY0GDQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "COcBEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "COYBEMY0GDQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "COYBEMY0GDQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "5 minutes, 51 seconds" - } - }, - "simpleText": "5:51" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "285M views" - }, - { - "text": " • " - }, - { - "text": "13 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "HL4HjQwMx-o", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/HL4HjQwMx-o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA6VzpyD2lVc5N71uaB_23uIgQ19A", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/HL4HjQwMx-o/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA3cspSDPLqEjL0muVDihd0tnqWkQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/HL4HjQwMx-o/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDoxvLVbdLzk9pqUptaJPA1vcBVYA", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/HL4HjQwMx-o/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAsuN6aDouSBRmGB6piUuUiuL5R5Q", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Maná - Amor Clandestino (Video Oficial)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Maná - Amor Clandestino (Video Oficial) by OficialMana 428,292,709 views 13 years ago 4 minutes, 53 seconds" - } - } - }, - "index": { - "simpleText": "54" - }, - "shortBylineText": { - "runs": [ - { - "text": "OficialMana", - "navigationEndpoint": { - "clickTrackingParams": "COIBEMY0GDUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UC3cSX-0y3IZzr2F2J1dFlUg", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC3cSX-0y3IZzr2F2J1dFlUg", - "canonicalBaseUrl": "/channel/UC3cSX-0y3IZzr2F2J1dFlUg" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 53 seconds" - } - }, - "simpleText": "4:53" - }, - "navigationEndpoint": { - "clickTrackingParams": "COIBEMY0GDUiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=HL4HjQwMx-o&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=54&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "HL4HjQwMx-o", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 53, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jeenld.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=1cbe078d0c0cc7ea&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "293", - "trackingParams": "COIBEMY0GDUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "COUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "COUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "HL4HjQwMx-o", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "COUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "HL4HjQwMx-o" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "HL4HjQwMx-o" - ] - } - } - ] - } - }, - "trackingParams": "COUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "COQBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "HL4HjQwMx-o", - "onAddCommand": { - "clickTrackingParams": "COQBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "HL4HjQwMx-o", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "COQBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "COIBEMY0GDUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtITDRIalF3TXgtbw%3D%3D", - "commands": [ - { - "clickTrackingParams": "COIBEMY0GDUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "COMBEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "COIBEMY0GDUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "COIBEMY0GDUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 53 seconds" - } - }, - "simpleText": "4:53" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "428M views" - }, - { - "text": " • " - }, - { - "text": "13 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "_KSyWS8UgA4", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/_KSyWS8UgA4/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBU46lqWcHWhFSwiCUytw5njUpmZg", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/_KSyWS8UgA4/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCQFylRnsllq8tClcowKxgPcUEWTg", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/_KSyWS8UgA4/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCdlzpDwD9BJFdH-K2j0bcOFcADsg", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/_KSyWS8UgA4/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCKuicZvyotuY9nfW3zfXlOD6cH8A", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Cali Y El Dandee - Yo Te Esperaré" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Cali Y El Dandee - Yo Te Esperaré by CALIDANDEE 556,958,207 views 13 years ago 4 minutes, 14 seconds" - } - } - }, - "index": { - "simpleText": "55" - }, - "shortBylineText": { - "runs": [ - { - "text": "CALIDANDEE", - "navigationEndpoint": { - "clickTrackingParams": "CN4BEMY0GDYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@calidandee001", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC-xukSIikEbhER7PqlB1nuQ", - "canonicalBaseUrl": "/@calidandee001" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 14 seconds" - } - }, - "simpleText": "4:14" - }, - "navigationEndpoint": { - "clickTrackingParams": "CN4BEMY0GDYiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=_KSyWS8UgA4&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=55&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "_KSyWS8UgA4", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 54, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr4---sn-h0jeenld.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=fca4b2592f14800e&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "254", - "trackingParams": "CN4BEMY0GDYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "COEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "COEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "_KSyWS8UgA4", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "COEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "_KSyWS8UgA4" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "_KSyWS8UgA4" - ] - } - } - ] - } - }, - "trackingParams": "COEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "COABENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "_KSyWS8UgA4", - "onAddCommand": { - "clickTrackingParams": "COABENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "_KSyWS8UgA4", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "COABENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CN4BEMY0GDYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtfS1N5V1M4VWdBNA%3D%3D", - "commands": [ - { - "clickTrackingParams": "CN4BEMY0GDYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CN8BEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CN4BEMY0GDYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CN4BEMY0GDYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 14 seconds" - } - }, - "simpleText": "4:14" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "556M views" - }, - { - "text": " • " - }, - { - "text": "13 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "3O1_3zBUKM8", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/3O1_3zBUKM8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDSX6rdGdayCv9q8ORPnwvXyZbY7w", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/3O1_3zBUKM8/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAqUmKxnTY6wYdHwceZVW8Bi14OjA", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/3O1_3zBUKM8/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC09zyYP3V7DJhsQ0ZH3RYVV9OFeA", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/3O1_3zBUKM8/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLChZ9Ft8GWnxmAKv9lu8JzEkTDATw", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Naughty Boy - La la la ft. Sam Smith (Official Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Naughty Boy - La la la ft. Sam Smith (Official Video) by Naughty Boy 1,339,217,104 views 11 years ago 4 minutes, 4 seconds" - } - } - }, - "index": { - "simpleText": "56" - }, - "shortBylineText": { - "runs": [ - { - "text": "Naughty Boy", - "navigationEndpoint": { - "clickTrackingParams": "CNoBEMY0GDciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCrJot6B0r3pIS0Q6ZTwZKvw", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCrJot6B0r3pIS0Q6ZTwZKvw", - "canonicalBaseUrl": "/channel/UCrJot6B0r3pIS0Q6ZTwZKvw" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 4 seconds" - } - }, - "simpleText": "4:04" - }, - "navigationEndpoint": { - "clickTrackingParams": "CNoBEMY0GDciEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=3O1_3zBUKM8&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=56&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "3O1_3zBUKM8", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 55, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr2---sn-h0jeln7l.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=dced7fdf305428cf&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "244", - "trackingParams": "CNoBEMY0GDciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CN0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CN0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "3O1_3zBUKM8", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CN0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "3O1_3zBUKM8" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "3O1_3zBUKM8" - ] - } - } - ] - } - }, - "trackingParams": "CN0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CNwBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "3O1_3zBUKM8", - "onAddCommand": { - "clickTrackingParams": "CNwBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "3O1_3zBUKM8", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CNwBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CNoBEMY0GDciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgszTzFfM3pCVUtNOA%3D%3D", - "commands": [ - { - "clickTrackingParams": "CNoBEMY0GDciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CNsBEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CNoBEMY0GDciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CNoBEMY0GDciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 4 seconds" - } - }, - "simpleText": "4:04" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "1.3B views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "CfihYWRWRTQ", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/CfihYWRWRTQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCIcrhbh_N3owILzML6-7eEWqpvOA", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/CfihYWRWRTQ/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBwdDIM9Ie3BilA9LiQ3N1nUfG5eQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/CfihYWRWRTQ/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBzF89D001zicGbPbH4FzOdvJ0taQ", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/CfihYWRWRTQ/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBu1Ay7NR8qPDRBOxuC7aw1Icscvw", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "John Newman - Love Me Again" - } - ], - "accessibility": { - "accessibilityData": { - "label": "John Newman - Love Me Again by John Newman 1,091,688,321 views 11 years ago 3 minutes, 56 seconds" - } - } - }, - "index": { - "simpleText": "57" - }, - "shortBylineText": { - "runs": [ - { - "text": "John Newman", - "navigationEndpoint": { - "clickTrackingParams": "CNYBEMY0GDgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCXtn650vh9Dj7uz8cFac0AQ", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCXtn650vh9Dj7uz8cFac0AQ", - "canonicalBaseUrl": "/channel/UCXtn650vh9Dj7uz8cFac0AQ" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 56 seconds" - } - }, - "simpleText": "3:56" - }, - "navigationEndpoint": { - "clickTrackingParams": "CNYBEMY0GDgiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=CfihYWRWRTQ&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=57&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "CfihYWRWRTQ", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 56, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jeln7e.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=09f8a16164564534&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "236", - "trackingParams": "CNYBEMY0GDgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CNkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CNkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "CfihYWRWRTQ", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CNkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "CfihYWRWRTQ" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "CfihYWRWRTQ" - ] - } - } - ] - } - }, - "trackingParams": "CNkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CNgBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "CfihYWRWRTQ", - "onAddCommand": { - "clickTrackingParams": "CNgBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "CfihYWRWRTQ", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CNgBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CNYBEMY0GDgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtDZmloWVdSV1JUUQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CNYBEMY0GDgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CNcBEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CNYBEMY0GDgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CNYBEMY0GDgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 56 seconds" - } - }, - "simpleText": "3:56" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "1B views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "pr6uyXT1-Vs", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/pr6uyXT1-Vs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDDE5LY_52_9eCxWt7iijMLmg2c4w", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/pr6uyXT1-Vs/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAF6cjFxbxjzKCDqB6BCEdrfKKAKw", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/pr6uyXT1-Vs/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCQFciI8SQNgZHXCJtHYwvy3i8fpg", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/pr6uyXT1-Vs/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAP2CEkVK-tHiLm57UjszBKiAmlZQ", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Dança da Lua - Eugénia Melo e Castro e Ney Matogrosso" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Dança da Lua - Eugénia Melo e Castro e Ney Matogrosso by Mario Rietsch Monteiro 70,767 views 14 years ago 1 minute, 57 seconds" - } - } - }, - "index": { - "simpleText": "58" - }, - "shortBylineText": { - "runs": [ - { - "text": "Mario Rietsch Monteiro", - "navigationEndpoint": { - "clickTrackingParams": "CNIBEMY0GDkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@mariormonteiro", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC0amZq9I39vfeRjfA8pZd5A", - "canonicalBaseUrl": "/@mariormonteiro" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "1 minute, 57 seconds" - } - }, - "simpleText": "1:57" - }, - "navigationEndpoint": { - "clickTrackingParams": "CNIBEMY0GDkiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=pr6uyXT1-Vs&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=58&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "pr6uyXT1-Vs", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 57, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr2---sn-h0jeenek.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=a6beaec974f5f95b&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "117", - "trackingParams": "CNIBEMY0GDkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CNUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CNUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "pr6uyXT1-Vs", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CNUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "pr6uyXT1-Vs" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "pr6uyXT1-Vs" - ] - } - } - ] - } - }, - "trackingParams": "CNUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CNQBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "pr6uyXT1-Vs", - "onAddCommand": { - "clickTrackingParams": "CNQBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "pr6uyXT1-Vs", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CNQBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CNIBEMY0GDkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtwcjZ1eVhUMS1Wcw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CNIBEMY0GDkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CNMBEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CNIBEMY0GDkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CNIBEMY0GDkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "1 minute, 57 seconds" - } - }, - "simpleText": "1:57" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "70K views" - }, - { - "text": " • " - }, - { - "text": "14 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "6BTjG-dhf5s", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/6BTjG-dhf5s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCB6CojJe9yunlBLoJxLLS3drmglg", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/6BTjG-dhf5s/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBoZsX1OkxGBO8Mwp2kPCxGtAtoig", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/6BTjG-dhf5s/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCoyW5GYQuCU4vS8IGhAsYod8FQeQ", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/6BTjG-dhf5s/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCcrOamSmXRhCbyraIUWQBBh1dALA", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Daddy Yankee - Limbo (Video Oficial)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Daddy Yankee - Limbo (Video Oficial) by Daddy Yankee 1,420,126,379 views 12 years ago 4 minutes, 15 seconds" - } - } - }, - "index": { - "simpleText": "59" - }, - "shortBylineText": { - "runs": [ - { - "text": "Daddy Yankee", - "navigationEndpoint": { - "clickTrackingParams": "CM4BEMY0GDoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UC9TO_oo4c_LrOiKNaY6aysA", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC9TO_oo4c_LrOiKNaY6aysA", - "canonicalBaseUrl": "/channel/UC9TO_oo4c_LrOiKNaY6aysA" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 15 seconds" - } - }, - "simpleText": "4:15" - }, - "navigationEndpoint": { - "clickTrackingParams": "CM4BEMY0GDoiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=6BTjG-dhf5s&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=59&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "6BTjG-dhf5s", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 58, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jelne7.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=e814e31be7617f9b&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "255", - "trackingParams": "CM4BEMY0GDoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CNEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CNEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "6BTjG-dhf5s", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CNEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "6BTjG-dhf5s" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "6BTjG-dhf5s" - ] - } - } - ] - } - }, - "trackingParams": "CNEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CNABENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "6BTjG-dhf5s", - "onAddCommand": { - "clickTrackingParams": "CNABENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "6BTjG-dhf5s", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CNABENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CM4BEMY0GDoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgs2QlRqRy1kaGY1cw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CM4BEMY0GDoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CM8BEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CM4BEMY0GDoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CM4BEMY0GDoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 15 seconds" - } - }, - "simpleText": "4:15" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "1.4B views" - }, - { - "text": " • " - }, - { - "text": "12 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "5dbEhBKGOtY", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/5dbEhBKGOtY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAu20cZb31Jew5t4T0WSPbozhkOWw", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/5dbEhBKGOtY/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDN5rDJy-e3Q-oKv56oGAeiWxp_wA", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/5dbEhBKGOtY/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBVTlhWdeeQAPN_hbtd9SiOfiD-cg", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/5dbEhBKGOtY/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDIwWRFUUwHSYpwbnNbM-__RVoGFA", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "David Guetta - Play Hard ft. Ne-Yo, Akon (Official Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "David Guetta - Play Hard ft. Ne-Yo, Akon (Official Video) by David Guetta 1,228,365,572 views 11 years ago 4 minutes, 2 seconds" - } - } - }, - "index": { - "simpleText": "60" - }, - "shortBylineText": { - "runs": [ - { - "text": "David Guetta", - "navigationEndpoint": { - "clickTrackingParams": "CMoBEMY0GDsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UC1l7wYrva1qCH-wgqcHaaRg", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC1l7wYrva1qCH-wgqcHaaRg", - "canonicalBaseUrl": "/channel/UC1l7wYrva1qCH-wgqcHaaRg" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 2 seconds" - } - }, - "simpleText": "4:02" - }, - "navigationEndpoint": { - "clickTrackingParams": "CMoBEMY0GDsiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=5dbEhBKGOtY&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=60&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "5dbEhBKGOtY", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 59, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr2---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=e5d6c48412863ad6&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "242", - "trackingParams": "CMoBEMY0GDsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CM0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CM0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "5dbEhBKGOtY", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CM0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "5dbEhBKGOtY" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "5dbEhBKGOtY" - ] - } - } - ] - } - }, - "trackingParams": "CM0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CMwBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "5dbEhBKGOtY", - "onAddCommand": { - "clickTrackingParams": "CMwBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "5dbEhBKGOtY", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CMwBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CMoBEMY0GDsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgs1ZGJFaEJLR090WQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CMoBEMY0GDsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CMsBEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CMoBEMY0GDsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CMoBEMY0GDsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 2 seconds" - } - }, - "simpleText": "4:02" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "1.2B views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "_xSv4RXT2as", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/_xSv4RXT2as/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgVShNMA8=&rs=AOn4CLBovKLROUB5Na0a16y1ET9WQv6hhg", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/_xSv4RXT2as/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgVShNMA8=&rs=AOn4CLDbucfXWctpGpQEFIEWBwyPsQQbCQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/_xSv4RXT2as/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhlIFUoTTAP&rs=AOn4CLDf6sDB2DAqcBDyzP3UJKJpejE1tg", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/_xSv4RXT2as/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhlIFUoTTAP&rs=AOn4CLA8Ztf7jm-8mOOQ98-WrAW961e4pg", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Pegate Mas." - } - ], - "accessibility": { - "accessibilityData": { - "label": "Pegate Mas. by ReggaetontodoelTIME 1,043,846 views 13 years ago 3 minutes, 27 seconds" - } - } - }, - "index": { - "simpleText": "61" - }, - "shortBylineText": { - "runs": [ - { - "text": "ReggaetontodoelTIME", - "navigationEndpoint": { - "clickTrackingParams": "CMYBEMY0GDwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@ReggaetontodoelTIME", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCPZ4LPqzBCJGFcWdvk5xxOg", - "canonicalBaseUrl": "/@ReggaetontodoelTIME" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 27 seconds" - } - }, - "simpleText": "3:27" - }, - "navigationEndpoint": { - "clickTrackingParams": "CMYBEMY0GDwiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=_xSv4RXT2as&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=61&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "_xSv4RXT2as", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 60, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jeenld.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=ff14afe115d3d9ab&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "207", - "trackingParams": "CMYBEMY0GDwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CMkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CMkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "_xSv4RXT2as", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CMkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "_xSv4RXT2as" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "_xSv4RXT2as" - ] - } - } - ] - } - }, - "trackingParams": "CMkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CMgBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "_xSv4RXT2as", - "onAddCommand": { - "clickTrackingParams": "CMgBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "_xSv4RXT2as", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CMgBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CMYBEMY0GDwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtfeFN2NFJYVDJhcw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CMYBEMY0GDwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CMcBEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CMYBEMY0GDwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CMYBEMY0GDwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 27 seconds" - } - }, - "simpleText": "3:27" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "1M views" - }, - { - "text": " • " - }, - { - "text": "13 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "0NKUpo_xKyQ", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/0NKUpo_xKyQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLADtMt8JfkPpoGaMv2hURRXMU6R7Q", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/0NKUpo_xKyQ/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDSVoLlva8D-wJcGTCVC1ZXRKu0IQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/0NKUpo_xKyQ/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAE0Ug5lFw6sgJQtIQvCjfu5jOkmg", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/0NKUpo_xKyQ/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLArr-cx_RTYEtrkdPTi3m7tqzGhUA", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Ellie Goulding - Lights (Official Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Ellie Goulding - Lights (Official Video) by Ellie Goulding 232,369,806 views 14 years ago 3 minutes, 34 seconds" - } - } - }, - "index": { - "simpleText": "62" - }, - "shortBylineText": { - "runs": [ - { - "text": "Ellie Goulding", - "navigationEndpoint": { - "clickTrackingParams": "CMIBEMY0GD0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCt-am4x4ZyeohfgM85qFgdQ", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCt-am4x4ZyeohfgM85qFgdQ", - "canonicalBaseUrl": "/channel/UCt-am4x4ZyeohfgM85qFgdQ" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 34 seconds" - } - }, - "simpleText": "3:34" - }, - "navigationEndpoint": { - "clickTrackingParams": "CMIBEMY0GD0iEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=0NKUpo_xKyQ&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=62&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "0NKUpo_xKyQ", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 61, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr2---sn-h0jelne7.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=d0d294a68ff12b24&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "214", - "trackingParams": "CMIBEMY0GD0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CMUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CMUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "0NKUpo_xKyQ", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CMUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "0NKUpo_xKyQ" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "0NKUpo_xKyQ" - ] - } - } - ] - } - }, - "trackingParams": "CMUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CMQBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "0NKUpo_xKyQ", - "onAddCommand": { - "clickTrackingParams": "CMQBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "0NKUpo_xKyQ", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CMQBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CMIBEMY0GD0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgswTktVcG9feEt5UQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CMIBEMY0GD0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CMMBEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CMIBEMY0GD0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CMIBEMY0GD0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 34 seconds" - } - }, - "simpleText": "3:34" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "232M views" - }, - { - "text": " • " - }, - { - "text": "14 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "lbSOLBMUvIE", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/lbSOLBMUvIE/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDvWhUK20wEvDvx6tWIpQZSj6TFKg", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/lbSOLBMUvIE/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLArB-KUURodCmDX4zuumnYJ5TKeqA", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/lbSOLBMUvIE/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAONZ3Xn5kovwS5qaQ8cPFqkH_lzA", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/lbSOLBMUvIE/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD-f74zKaipTYXwuF-NDq2hCMN9HQ", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Michael Bublé - Home [Official Music Video]" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Michael Bublé - Home [Official Music Video] by Michael Bublé 185,198,696 views 15 years ago 3 minutes, 46 seconds" - } - } - }, - "index": { - "simpleText": "63" - }, - "shortBylineText": { - "runs": [ - { - "text": "Michael Bublé", - "navigationEndpoint": { - "clickTrackingParams": "CL4BEMY0GD4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCHqQruhGENdmWy_oeH1f8QA", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCHqQruhGENdmWy_oeH1f8QA", - "canonicalBaseUrl": "/channel/UCHqQruhGENdmWy_oeH1f8QA" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 46 seconds" - } - }, - "simpleText": "3:46" - }, - "navigationEndpoint": { - "clickTrackingParams": "CL4BEMY0GD4iEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=lbSOLBMUvIE&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=63&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "lbSOLBMUvIE", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 62, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr1---sn-h0jelnes.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=95b48e2c1314bc81&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "226", - "trackingParams": "CL4BEMY0GD4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CMEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CMEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "lbSOLBMUvIE", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CMEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "lbSOLBMUvIE" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "lbSOLBMUvIE" - ] - } - } - ] - } - }, - "trackingParams": "CMEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CMABENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "lbSOLBMUvIE", - "onAddCommand": { - "clickTrackingParams": "CMABENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "lbSOLBMUvIE", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CMABENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CL4BEMY0GD4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtsYlNPTEJNVXZJRQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CL4BEMY0GD4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CL8BEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CL4BEMY0GD4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CL4BEMY0GD4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 46 seconds" - } - }, - "simpleText": "3:46" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "185M views" - }, - { - "text": " • " - }, - { - "text": "15 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "ZPq570o-Nv0", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/ZPq570o-Nv0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBDO-vYQxpK3yOgOXuagFIx-eguMA", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/ZPq570o-Nv0/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD4OWcwdAzRxskG6UVTgLauZwxtbA", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/ZPq570o-Nv0/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCzDYn5hCxHQKE0xNOTCb3i-znFbg", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/ZPq570o-Nv0/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCzM8lVpFtRZ-st8Lgv3Asn0VmvAw", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "ESC Portugal - 2003 - Deixa me Sonhar - Rita Guerra" - } - ], - "accessibility": { - "accessibilityData": { - "label": "ESC Portugal - 2003 - Deixa me Sonhar - Rita Guerra by Ricardo Mendes 19,545 views 16 years ago 3 minutes, 12 seconds" - } - } - }, - "index": { - "simpleText": "64" - }, - "shortBylineText": { - "runs": [ - { - "text": "Ricardo Mendes", - "navigationEndpoint": { - "clickTrackingParams": "CLoBEMY0GD8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@rickymendes", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCV25caWF5Lt_nKLJ2UowvkQ", - "canonicalBaseUrl": "/@rickymendes" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 12 seconds" - } - }, - "simpleText": "3:12" - }, - "navigationEndpoint": { - "clickTrackingParams": "CLoBEMY0GD8iEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=ZPq570o-Nv0&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=64&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "ZPq570o-Nv0", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 63, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr5---sn-h0jelne6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=64fab9ef4a3e36fd&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "192", - "trackingParams": "CLoBEMY0GD8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CL0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CL0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "ZPq570o-Nv0", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CL0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "ZPq570o-Nv0" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "ZPq570o-Nv0" - ] - } - } - ] - } - }, - "trackingParams": "CL0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CLwBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "ZPq570o-Nv0", - "onAddCommand": { - "clickTrackingParams": "CLwBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "ZPq570o-Nv0", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CLwBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CLoBEMY0GD8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtaUHE1NzBvLU52MA%3D%3D", - "commands": [ - { - "clickTrackingParams": "CLoBEMY0GD8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CLsBEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CLoBEMY0GD8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CLoBEMY0GD8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 12 seconds" - } - }, - "simpleText": "3:12" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "19K views" - }, - { - "text": " • " - }, - { - "text": "16 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "1xXtAhX-eiM", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/1xXtAhX-eiM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAHtZd0WZV-JSsmM0VB8EWv7KbSlA", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/1xXtAhX-eiM/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBuSZs-3Xgj0e9wv1aa7YYln8jROw", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/1xXtAhX-eiM/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB61OqKRcSm3wBKCUcpyy3sb8BqpQ", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/1xXtAhX-eiM/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDB5CdXIzUcb-Cc1RD-OrqnCCiRIg", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "LOREEN \"Sober\" (2011)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "LOREEN \"Sober\" (2011) by Warner Music Sweden 6,099,679 views 13 years ago 3 minutes, 53 seconds" - } - } - }, - "index": { - "simpleText": "65" - }, - "shortBylineText": { - "runs": [ - { - "text": "Warner Music Sweden", - "navigationEndpoint": { - "clickTrackingParams": "CLYBEMY0GEAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@warnersweden", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCU-0c1hN3jzWTdIetJCUULw", - "canonicalBaseUrl": "/@warnersweden" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 53 seconds" - } - }, - "simpleText": "3:53" - }, - "navigationEndpoint": { - "clickTrackingParams": "CLYBEMY0GEAiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=1xXtAhX-eiM&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=65&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "1xXtAhX-eiM", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 64, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr5---sn-h0jeenek.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=d715ed0215fe7a23&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "233", - "trackingParams": "CLYBEMY0GEAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CLkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CLkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "1xXtAhX-eiM", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CLkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "1xXtAhX-eiM" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "1xXtAhX-eiM" - ] - } - } - ] - } - }, - "trackingParams": "CLkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CLgBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "1xXtAhX-eiM", - "onAddCommand": { - "clickTrackingParams": "CLgBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "1xXtAhX-eiM", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CLgBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CLYBEMY0GEAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgsxeFh0QWhYLWVpTQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CLYBEMY0GEAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CLcBEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CLYBEMY0GEAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CLYBEMY0GEAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 53 seconds" - } - }, - "simpleText": "3:53" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "6M views" - }, - { - "text": " • " - }, - { - "text": "13 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "xPOBdqHWios", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/xPOBdqHWios/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC8Lh3CkNdyJcTn7gtMzddSd9zh3g", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/xPOBdqHWios/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDUEluw5neNRplNJt9DbenjOTNWlQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/xPOBdqHWios/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBehcEqFGrYkQptor0Ghns4sxrowA", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/xPOBdqHWios/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLALKt1b0KiTCQrkK1-DT59TyUpBeg", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Loreen - My Heart Is Refusing Me (Lyric Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Loreen - My Heart Is Refusing Me (Lyric Video) by Warner Music Sweden 2,535,225 views 12 years ago 3 minutes, 44 seconds" - } - } - }, - "index": { - "simpleText": "66" - }, - "shortBylineText": { - "runs": [ - { - "text": "Warner Music Sweden", - "navigationEndpoint": { - "clickTrackingParams": "CLIBEMY0GEEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@warnersweden", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCU-0c1hN3jzWTdIetJCUULw", - "canonicalBaseUrl": "/@warnersweden" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 44 seconds" - } - }, - "simpleText": "3:44" - }, - "navigationEndpoint": { - "clickTrackingParams": "CLIBEMY0GEEiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=xPOBdqHWios&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=66&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "xPOBdqHWios", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 65, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr4---sn-h0jeener.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=c4f38176a1d68a8b&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "224", - "trackingParams": "CLIBEMY0GEEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CLUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CLUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "xPOBdqHWios", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CLUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "xPOBdqHWios" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "xPOBdqHWios" - ] - } - } - ] - } - }, - "trackingParams": "CLUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CLQBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "xPOBdqHWios", - "onAddCommand": { - "clickTrackingParams": "CLQBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "xPOBdqHWios", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CLQBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CLIBEMY0GEEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgt4UE9CZHFIV2lvcw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CLIBEMY0GEEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CLMBEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CLIBEMY0GEEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CLIBEMY0GEEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 44 seconds" - } - }, - "simpleText": "3:44" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "2.5M views" - }, - { - "text": " • " - }, - { - "text": "12 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "6_5D4y6x-oo", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/6_5D4y6x-oo/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDaC_kZhD5OIIbgv87Jmr8GNL7w3A", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/6_5D4y6x-oo/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBhkN0HtMjznrQqMlxBezBSZpHOQA", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/6_5D4y6x-oo/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBONE-_u-aoQlsUh5nYrgs6QUPgUg", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/6_5D4y6x-oo/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBPhxbr2T5fpBosc8qPzVLKIDcAhA", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Edward Maya & Mia Martina - Stereo Love (Ultra Music)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Edward Maya & Mia Martina - Stereo Love (Ultra Music) by Ultra Records 62,848,978 views 14 years ago 4 minutes, 15 seconds" - } - } - }, - "index": { - "simpleText": "67" - }, - "shortBylineText": { - "runs": [ - { - "text": "Ultra Records", - "navigationEndpoint": { - "clickTrackingParams": "CK4BEMY0GEIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@ultrarecords", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC4rasfm9J-X4jNl9SvXp8xA", - "canonicalBaseUrl": "/@ultrarecords" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 15 seconds" - } - }, - "simpleText": "4:15" - }, - "navigationEndpoint": { - "clickTrackingParams": "CK4BEMY0GEIiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=6_5D4y6x-oo&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=67&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "6_5D4y6x-oo", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 66, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr1---sn-h0jelne7.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=ebfe43e32eb1fa8a&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "255", - "trackingParams": "CK4BEMY0GEIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CLEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CLEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "6_5D4y6x-oo", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CLEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "6_5D4y6x-oo" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "6_5D4y6x-oo" - ] - } - } - ] - } - }, - "trackingParams": "CLEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CLABENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "6_5D4y6x-oo", - "onAddCommand": { - "clickTrackingParams": "CLABENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "6_5D4y6x-oo", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CLABENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CK4BEMY0GEIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgs2XzVENHk2eC1vbw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CK4BEMY0GEIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CK8BEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CK4BEMY0GEIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CK4BEMY0GEIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 15 seconds" - } - }, - "simpleText": "4:15" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "62M views" - }, - { - "text": " • " - }, - { - "text": "14 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "oASZG96v0Rk", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/oASZG96v0Rk/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgXyhDMA8=&rs=AOn4CLClGyeg9LhLdOH_CUakbhXmikljTg", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/oASZG96v0Rk/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGGUgXyhDMA8=&rs=AOn4CLDsbf0YdGxcU_GJLos0h-LPWWh7Ww", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/oASZG96v0Rk/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhlIF8oQzAP&rs=AOn4CLD6T1Sk2KThe_f0-4SW5jisNy35Bw", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/oASZG96v0Rk/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARhlIF8oQzAP&rs=AOn4CLBd5s5UzVJEp9Zg3YkMxP7CUi4QgQ", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Akcent - That's My Name (Ultra Music)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Akcent - That's My Name (Ultra Music) by Ultra Records 154,819,127 views 15 years ago 4 minutes, 14 seconds" - } - } - }, - "index": { - "simpleText": "68" - }, - "shortBylineText": { - "runs": [ - { - "text": "Ultra Records", - "navigationEndpoint": { - "clickTrackingParams": "CKoBEMY0GEMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@ultrarecords", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC4rasfm9J-X4jNl9SvXp8xA", - "canonicalBaseUrl": "/@ultrarecords" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 14 seconds" - } - }, - "simpleText": "4:14" - }, - "navigationEndpoint": { - "clickTrackingParams": "CKoBEMY0GEMiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=oASZG96v0Rk&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=68&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "oASZG96v0Rk", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 67, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr1---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=a004991bdeafd119&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "254", - "trackingParams": "CKoBEMY0GEMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CK0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CK0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "oASZG96v0Rk", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CK0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "oASZG96v0Rk" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "oASZG96v0Rk" - ] - } - } - ] - } - }, - "trackingParams": "CK0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CKwBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "oASZG96v0Rk", - "onAddCommand": { - "clickTrackingParams": "CKwBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "oASZG96v0Rk", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CKwBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CKoBEMY0GEMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtvQVNaRzk2djBSaw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CKoBEMY0GEMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CKsBEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CKoBEMY0GEMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CKoBEMY0GEMiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 14 seconds" - } - }, - "simpleText": "4:14" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "154M views" - }, - { - "text": " • " - }, - { - "text": "15 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "d1dcXgGQT2M", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/d1dcXgGQT2M/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC4AOKAgwIABABGE4gTihlMA8=&rs=AOn4CLAlDX9aQI088nOKb_O8q-H2fKj8OA", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/d1dcXgGQT2M/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC4AOKAgwIABABGE4gTihlMA8=&rs=AOn4CLDXXu3Eq8Sn66U0CUuBkC_jWtmdrQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/d1dcXgGQT2M/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAuADigIMCAAQARhOIE4oZTAP&rs=AOn4CLBzZwbcbxOQ5CT1DIMLTQ907z_FsQ", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/d1dcXgGQT2M/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAuADigIMCAAQARhOIE4oZTAP&rs=AOn4CLDmFaKxRVU5T3CfypAQ0DLBkamPuQ", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "La Ley - Mentira (Video Oficial)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "La Ley - Mentira (Video Oficial) by Warner Music México 255,984,045 views 16 years ago 4 minutes, 49 seconds" - } - } - }, - "index": { - "simpleText": "69" - }, - "shortBylineText": { - "runs": [ - { - "text": "Warner Music México", - "navigationEndpoint": { - "clickTrackingParams": "CKYBEMY0GEQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@WarnerMusicMexico", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCP1b9jYyEqiNhJi4GqYdovw", - "canonicalBaseUrl": "/@WarnerMusicMexico" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 49 seconds" - } - }, - "simpleText": "4:49" - }, - "navigationEndpoint": { - "clickTrackingParams": "CKYBEMY0GEQiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=d1dcXgGQT2M&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=69&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "d1dcXgGQT2M", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 68, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr1---sn-h0jeenld.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=77575c5e01904f63&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "289", - "trackingParams": "CKYBEMY0GEQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CKkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CKkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "d1dcXgGQT2M", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CKkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "d1dcXgGQT2M" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "d1dcXgGQT2M" - ] - } - } - ] - } - }, - "trackingParams": "CKkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CKgBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "d1dcXgGQT2M", - "onAddCommand": { - "clickTrackingParams": "CKgBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "d1dcXgGQT2M", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CKgBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CKYBEMY0GEQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtkMWRjWGdHUVQyTQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CKYBEMY0GEQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CKcBEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CKYBEMY0GEQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CKYBEMY0GEQiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 49 seconds" - } - }, - "simpleText": "4:49" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "255M views" - }, - { - "text": " • " - }, - { - "text": "16 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "O2fU28Pehdc", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/O2fU28Pehdc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAnTmI3HSwFkBYgpooV5oGnBoeAYg", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/O2fU28Pehdc/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDcvNVpXvvxcr61JSdwB1NkSLqZCQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/O2fU28Pehdc/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDcYhdUh2BlV5az8L6Iuq-It6ONjA", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/O2fU28Pehdc/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDLmlSoF2pcg72a8myCdj2UkAoJcg", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Maite Perroni - Tu y Yo (Video Oficial)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Maite Perroni - Tu y Yo (Video Oficial) by Maite Perroni 134,939,906 views 11 years ago 4 minutes, 3 seconds" - } - } - }, - "index": { - "simpleText": "70" - }, - "shortBylineText": { - "runs": [ - { - "text": "Maite Perroni", - "navigationEndpoint": { - "clickTrackingParams": "CKIBEMY0GEUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCU720aZHx6_8ABYWvBHbWUQ", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCU720aZHx6_8ABYWvBHbWUQ", - "canonicalBaseUrl": "/channel/UCU720aZHx6_8ABYWvBHbWUQ" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 3 seconds" - } - }, - "simpleText": "4:03" - }, - "navigationEndpoint": { - "clickTrackingParams": "CKIBEMY0GEUiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=O2fU28Pehdc&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=70&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "O2fU28Pehdc", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 69, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr2---sn-h0jeenle.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=3b67d4dbc3de85d7&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "243", - "trackingParams": "CKIBEMY0GEUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CKUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CKUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "O2fU28Pehdc", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CKUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "O2fU28Pehdc" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "O2fU28Pehdc" - ] - } - } - ] - } - }, - "trackingParams": "CKUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CKQBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "O2fU28Pehdc", - "onAddCommand": { - "clickTrackingParams": "CKQBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "O2fU28Pehdc", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CKQBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CKIBEMY0GEUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtPMmZVMjhQZWhkYw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CKIBEMY0GEUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CKMBEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CKIBEMY0GEUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CKIBEMY0GEUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 3 seconds" - } - }, - "simpleText": "4:03" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "134M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "p-Z3YrHJ1sU", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/p-Z3YrHJ1sU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAS7gls6oe0TfboDpVgwUjTmTLB9g", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/p-Z3YrHJ1sU/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCS8Udu4Esa0SEPLdshEVw9jbCg9Q", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/p-Z3YrHJ1sU/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDx8O_LL4-vrngtFsM3WgBGX3Q8LQ", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/p-Z3YrHJ1sU/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDBWAvjWTOgxJrQUMO7uk_5shK1kw", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Edward Maya & Vika Jigulina - Stereo Love (Official Music Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Edward Maya & Vika Jigulina - Stereo Love (Official Music Video) by Spinnin' Records 671,660,426 views 15 years ago 4 minutes, 13 seconds" - } - } - }, - "index": { - "simpleText": "71" - }, - "shortBylineText": { - "runs": [ - { - "text": "Spinnin' Records", - "navigationEndpoint": { - "clickTrackingParams": "CJ4BEMY0GEYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@spinninrecords", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCpDJl2EmP7Oh90Vylx0dZtA", - "canonicalBaseUrl": "/@spinninrecords" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 13 seconds" - } - }, - "simpleText": "4:13" - }, - "navigationEndpoint": { - "clickTrackingParams": "CJ4BEMY0GEYiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=p-Z3YrHJ1sU&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=71&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "p-Z3YrHJ1sU", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 70, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr5---sn-h0jeenle.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=a7e67762b1c9d6c5&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "253", - "trackingParams": "CJ4BEMY0GEYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CKEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CKEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "p-Z3YrHJ1sU", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CKEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "p-Z3YrHJ1sU" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "p-Z3YrHJ1sU" - ] - } - } - ] - } - }, - "trackingParams": "CKEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CKABENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "p-Z3YrHJ1sU", - "onAddCommand": { - "clickTrackingParams": "CKABENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "p-Z3YrHJ1sU", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CKABENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJ4BEMY0GEYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtwLVozWXJISjFzVQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CJ4BEMY0GEYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CJ8BEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CJ4BEMY0GEYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CJ4BEMY0GEYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 13 seconds" - } - }, - "simpleText": "4:13" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "671M views" - }, - { - "text": " • " - }, - { - "text": "15 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "mLxYzju_G88", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/mLxYzju_G88/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC4AOKAgwIABABGGUgZShlMA8=&rs=AOn4CLCf8dDCPboKZf3Su_VeG3s7rYb__g", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/mLxYzju_G88/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC4AOKAgwIABABGGUgZShlMA8=&rs=AOn4CLCXipaBMoF6pPuE9jkVY55zSso-4Q", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/mLxYzju_G88/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAuADigIMCAAQARhlIGUoZTAP&rs=AOn4CLBpRXW1Q8tCQ_2DHeZ-9GcLtYpCNw", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/mLxYzju_G88/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAuADigIMCAAQARhlIGUoZTAP&rs=AOn4CLDCH24UlbTQIdwsrdZX6BbnSnD9qw", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "SCHILLER - I'VE SEEN IT ALL (MIT MAYA SABAN)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "SCHILLER - I'VE SEEN IT ALL (MIT MAYA SABAN) by ukasu 3,806,439 views 16 years ago 4 minutes, 2 seconds" - } - } - }, - "index": { - "simpleText": "72" - }, - "shortBylineText": { - "runs": [ - { - "text": "ukasu", - "navigationEndpoint": { - "clickTrackingParams": "CJoBEMY0GEciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@ukasu", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCUUyi3ZKOX5JRftg38ZxFhQ", - "canonicalBaseUrl": "/@ukasu" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 2 seconds" - } - }, - "simpleText": "4:02" - }, - "navigationEndpoint": { - "clickTrackingParams": "CJoBEMY0GEciEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=mLxYzju_G88&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=72&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "mLxYzju_G88", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 71, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr5---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=98bc58ce3bbf1bcf&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "242", - "trackingParams": "CJoBEMY0GEciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJ0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CJ0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "mLxYzju_G88", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CJ0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "mLxYzju_G88" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "mLxYzju_G88" - ] - } - } - ] - } - }, - "trackingParams": "CJ0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CJwBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "mLxYzju_G88", - "onAddCommand": { - "clickTrackingParams": "CJwBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "mLxYzju_G88", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CJwBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJoBEMY0GEciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgttTHhZemp1X0c4OA%3D%3D", - "commands": [ - { - "clickTrackingParams": "CJoBEMY0GEciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CJsBEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CJoBEMY0GEciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CJoBEMY0GEciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 2 seconds" - } - }, - "simpleText": "4:02" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "3.8M views" - }, - { - "text": " • " - }, - { - "text": "16 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "dQlxjSm0qU0", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/dQlxjSm0qU0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDsc0fDYBvJZ0H3JX2qc4id6xGs1A", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/dQlxjSm0qU0/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDeg9yV_a_ihwSZx0RhErXzH2O13A", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/dQlxjSm0qU0/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCICmnt7t-QoZUpYOp_EFcuc0OiLw", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/dQlxjSm0qU0/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAdnE8UJYENbk0IqcyL00WPZWRxhA", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "SCHILLER: „I Feel You\" // with Heppner // Official Video" - } - ], - "accessibility": { - "accessibilityData": { - "label": "SCHILLER: „I Feel You\" // with Heppner // Official Video by SCHILLER official 39,486,270 views 16 years ago 3 minutes, 48 seconds" - } - } - }, - "index": { - "simpleText": "73" - }, - "shortBylineText": { - "runs": [ - { - "text": "SCHILLER official", - "navigationEndpoint": { - "clickTrackingParams": "CJYBEMY0GEgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCmM5xlAZDZ-h3bi6AXzDNKQ", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCmM5xlAZDZ-h3bi6AXzDNKQ", - "canonicalBaseUrl": "/channel/UCmM5xlAZDZ-h3bi6AXzDNKQ" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 48 seconds" - } - }, - "simpleText": "3:48" - }, - "navigationEndpoint": { - "clickTrackingParams": "CJYBEMY0GEgiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=dQlxjSm0qU0&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=73&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "dQlxjSm0qU0", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 72, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr5---sn-h0jelnes.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=7509718d29b4a94d&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "228", - "trackingParams": "CJYBEMY0GEgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CJkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "dQlxjSm0qU0", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CJkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "dQlxjSm0qU0" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "dQlxjSm0qU0" - ] - } - } - ] - } - }, - "trackingParams": "CJkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CJgBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "dQlxjSm0qU0", - "onAddCommand": { - "clickTrackingParams": "CJgBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "dQlxjSm0qU0", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CJgBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJYBEMY0GEgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtkUWx4alNtMHFVMA%3D%3D", - "commands": [ - { - "clickTrackingParams": "CJYBEMY0GEgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CJcBEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CJYBEMY0GEgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CJYBEMY0GEgiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 48 seconds" - } - }, - "simpleText": "3:48" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "39M views" - }, - { - "text": " • " - }, - { - "text": "16 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "Jbt8oH5Lxto", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/Jbt8oH5Lxto/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC6AKKAgwIABABGGUgZShlMA8=&rs=AOn4CLASno47mz_ynIg_IiAlstSWVh9f8Q", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/Jbt8oH5Lxto/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC6AKKAgwIABABGGUgZShlMA8=&rs=AOn4CLBg8nOdMSj9QwH8kZPAGpjaWJdPtw", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/Jbt8oH5Lxto/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAugCigIMCAAQARhlIGUoZTAP&rs=AOn4CLDLVhWwsaSX4pk9XCyya4TJgLflcA", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/Jbt8oH5Lxto/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAugCigIMCAAQARhlIGUoZTAP&rs=AOn4CLAHm5wGZWv9WHcfQu4ipKfzbz5u8Q", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "The Beatles - Love me Do" - } - ], - "accessibility": { - "accessibilityData": { - "label": "The Beatles - Love me Do by HitboxAgs 14,924,184 views 12 years ago 2 minutes, 23 seconds" - } - } - }, - "index": { - "simpleText": "74" - }, - "shortBylineText": { - "runs": [ - { - "text": "HitboxAgs", - "navigationEndpoint": { - "clickTrackingParams": "CJIBEMY0GEkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@HitboxAgs", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCSu-uDw30vUo1p9uBk-w_Yw", - "canonicalBaseUrl": "/@HitboxAgs" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "2 minutes, 23 seconds" - } - }, - "simpleText": "2:23" - }, - "navigationEndpoint": { - "clickTrackingParams": "CJIBEMY0GEkiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=Jbt8oH5Lxto&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=74&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "Jbt8oH5Lxto", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 73, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jelne6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=25bb7ca07e4bc6da&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "143", - "trackingParams": "CJIBEMY0GEkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CJUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "Jbt8oH5Lxto", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CJUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "Jbt8oH5Lxto" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "Jbt8oH5Lxto" - ] - } - } - ] - } - }, - "trackingParams": "CJUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CJQBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "Jbt8oH5Lxto", - "onAddCommand": { - "clickTrackingParams": "CJQBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "Jbt8oH5Lxto", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CJQBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJIBEMY0GEkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtKYnQ4b0g1THh0bw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CJIBEMY0GEkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CJMBEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CJIBEMY0GEkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CJIBEMY0GEkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "2 minutes, 23 seconds" - } - }, - "simpleText": "2:23" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "14M views" - }, - { - "text": " • " - }, - { - "text": "12 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "3EBz2baAGHo", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/3EBz2baAGHo/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC4AOKAgwIABABGBMgMih_MA8=&rs=AOn4CLBI5yGjuPSvupdJ1iiknxfpr8Yg2g", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/3EBz2baAGHo/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-BIAC4AOKAgwIABABGBMgMih_MA8=&rs=AOn4CLDPXZZcDasKOg5yKp8HCzX5zFPkmw", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/3EBz2baAGHo/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAuADigIMCAAQARgTIDIofzAP&rs=AOn4CLDpmdk5uCUuQ5nQQ8Xfo7M8bvyW2g", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/3EBz2baAGHo/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gSAAuADigIMCAAQARgTIDIofzAP&rs=AOn4CLCIWxiBJPp6Zbq1EJeyhWVZ0A5YNg", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Dirty South feat. Rudy - Phazing (Original Mix)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Dirty South feat. Rudy - Phazing (Original Mix) by deltoeidis 437,109 views 14 years ago 7 minutes, 33 seconds" - } - } - }, - "index": { - "simpleText": "75" - }, - "shortBylineText": { - "runs": [ - { - "text": "deltoeidis", - "navigationEndpoint": { - "clickTrackingParams": "CI4BEMY0GEoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@deltoeidis", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCD0k_PDzp5JHi2a2MZA-AVg", - "canonicalBaseUrl": "/@deltoeidis" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "7 minutes, 33 seconds" - } - }, - "simpleText": "7:33" - }, - "navigationEndpoint": { - "clickTrackingParams": "CI4BEMY0GEoiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=3EBz2baAGHo&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=75&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "3EBz2baAGHo", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 74, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr1---sn-h0jeln7l.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=dc4073d9b680187a&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "453", - "trackingParams": "CI4BEMY0GEoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CJEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CJEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "3EBz2baAGHo", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CJEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "3EBz2baAGHo" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "3EBz2baAGHo" - ] - } - } - ] - } - }, - "trackingParams": "CJEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CJABENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "3EBz2baAGHo", - "onAddCommand": { - "clickTrackingParams": "CJABENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "3EBz2baAGHo", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CJABENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CI4BEMY0GEoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgszRUJ6MmJhQUdIbw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CI4BEMY0GEoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CI8BEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CI4BEMY0GEoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CI4BEMY0GEoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "7 minutes, 33 seconds" - } - }, - "simpleText": "7:33" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "437K views" - }, - { - "text": " • " - }, - { - "text": "14 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "J-gYJBsln-w", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/J-gYJBsln-w/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDfhQSAPLGNzG19EPS8TauB3RVnTA", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/J-gYJBsln-w/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBLMGjEU5-Nfj3-1UiqLdkpY_8W5w", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/J-gYJBsln-w/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDTHmbhRVTaG9Sl8gG-8VtE9rA0sQ", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/J-gYJBsln-w/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCtswxiGQ9Fccb1j51Fs3Hc2PTbsA", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Krewella - Alive (Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Krewella - Alive (Video) by Krewella 114,307,203 views 12 years ago 3 minutes, 27 seconds" - } - } - }, - "index": { - "simpleText": "76" - }, - "shortBylineText": { - "runs": [ - { - "text": "Krewella", - "navigationEndpoint": { - "clickTrackingParams": "CIoBEMY0GEsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCDY_0WzkHyj0A1ev6RTql1Q", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCDY_0WzkHyj0A1ev6RTql1Q", - "canonicalBaseUrl": "/channel/UCDY_0WzkHyj0A1ev6RTql1Q" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 27 seconds" - } - }, - "simpleText": "3:27" - }, - "navigationEndpoint": { - "clickTrackingParams": "CIoBEMY0GEsiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=J-gYJBsln-w&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=76&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "J-gYJBsln-w", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 75, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr5---sn-h0jeenld.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=27e818241b259fec&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "207", - "trackingParams": "CIoBEMY0GEsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CI0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CI0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "J-gYJBsln-w", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CI0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "J-gYJBsln-w" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "J-gYJBsln-w" - ] - } - } - ] - } - }, - "trackingParams": "CI0BEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CIwBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "J-gYJBsln-w", - "onAddCommand": { - "clickTrackingParams": "CIwBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "J-gYJBsln-w", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CIwBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CIoBEMY0GEsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtKLWdZSkJzbG4tdw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CIoBEMY0GEsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CIsBEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CIoBEMY0GEsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CIoBEMY0GEsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 27 seconds" - } - }, - "simpleText": "3:27" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "114M views" - }, - { - "text": " • " - }, - { - "text": "12 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "q7yCLn-O-Y0", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/q7yCLn-O-Y0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLANnYEVw6irRD-bIgs5Ecuw3M-VSw", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/q7yCLn-O-Y0/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCPDa15oP49C7l9JNNQcp5dVPAsdw", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/q7yCLn-O-Y0/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC4L2CNkoMveWPEF-AX6oLFloFvKw", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/q7yCLn-O-Y0/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD0prSGZWRnaEk19t2eNgoEEwGBIQ", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Fun.: Carry On [OFFICIAL VIDEO]" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Fun.: Carry On [OFFICIAL VIDEO] by Fueled By Ramen 115,900,816 views 12 years ago 5 minutes, 45 seconds" - } - } - }, - "index": { - "simpleText": "77" - }, - "shortBylineText": { - "runs": [ - { - "text": "Fueled By Ramen", - "navigationEndpoint": { - "clickTrackingParams": "CIYBEMY0GEwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@fueledbyramen", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UClVrJwcIy7saPcGc1nct80A", - "canonicalBaseUrl": "/@fueledbyramen" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "5 minutes, 45 seconds" - } - }, - "simpleText": "5:45" - }, - "navigationEndpoint": { - "clickTrackingParams": "CIYBEMY0GEwiEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=q7yCLn-O-Y0&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=77&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "q7yCLn-O-Y0", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 76, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr5---sn-h0jeenle.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=abbc822e7f8ef98d&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "345", - "trackingParams": "CIYBEMY0GEwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CIkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CIkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "q7yCLn-O-Y0", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CIkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "q7yCLn-O-Y0" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "q7yCLn-O-Y0" - ] - } - } - ] - } - }, - "trackingParams": "CIkBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CIgBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "q7yCLn-O-Y0", - "onAddCommand": { - "clickTrackingParams": "CIgBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "q7yCLn-O-Y0", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CIgBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CIYBEMY0GEwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtxN3lDTG4tTy1ZMA%3D%3D", - "commands": [ - { - "clickTrackingParams": "CIYBEMY0GEwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CIcBEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CIYBEMY0GEwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CIYBEMY0GEwiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "5 minutes, 45 seconds" - } - }, - "simpleText": "5:45" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "115M views" - }, - { - "text": " • " - }, - { - "text": "12 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "bek1y2uiQGA", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/bek1y2uiQGA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCszqGjdqkNE0jask-NzfJCgEYhIg", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/bek1y2uiQGA/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDYz6284MIvQcjDTpG6PldcpF_52A", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/bek1y2uiQGA/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA55IbSmhmsCz5FYeDeUmOHV8N7iQ", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/bek1y2uiQGA/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCp10TFTKeaSWeuuUIfVpVjtg4zLw", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Avicii vs Nicky Romero - I Could Be The One (Nicktim)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Avicii vs Nicky Romero - I Could Be The One (Nicktim) by Avicii 361,710,064 views 12 years ago 4 minutes, 46 seconds" - } - } - }, - "index": { - "simpleText": "78" - }, - "shortBylineText": { - "runs": [ - { - "text": "Avicii", - "navigationEndpoint": { - "clickTrackingParams": "CIIBEMY0GE0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCPHjpfnnGklkRBBTd0k6aHg", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCPHjpfnnGklkRBBTd0k6aHg", - "canonicalBaseUrl": "/channel/UCPHjpfnnGklkRBBTd0k6aHg" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 46 seconds" - } - }, - "simpleText": "4:46" - }, - "navigationEndpoint": { - "clickTrackingParams": "CIIBEMY0GE0iEwj0ytGJkI-MAxUW1EkHHSVYKUkyCnBscHBfdmlkZW9aJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBBwgMEPosGAE=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=bek1y2uiQGA&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=78&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "bek1y2uiQGA", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 77, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jeln7l.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=6de935cb6ba24060&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "286", - "trackingParams": "CIIBEMY0GE0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CIUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CIUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "bek1y2uiQGA", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CIUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "bek1y2uiQGA" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "bek1y2uiQGA" - ] - } - } - ] - } - }, - "trackingParams": "CIUBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CIQBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "bek1y2uiQGA", - "onAddCommand": { - "clickTrackingParams": "CIQBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "bek1y2uiQGA", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CIQBENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CIIBEMY0GE0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtiZWsxeTJ1aVFHQQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CIIBEMY0GE0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CIMBEI5iIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CIIBEMY0GE0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "hasSeparator": true - } - } - ], - "trackingParams": "CIIBEMY0GE0iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 46 seconds" - } - }, - "simpleText": "4:46" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "361M views" - }, - { - "text": " • " - }, - { - "text": "12 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "EPHmUD0QfmM", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/EPHmUD0QfmM/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCMTUCf1tgENEfqBYNaNFfYpEtpyQ", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/EPHmUD0QfmM/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDPr6WD2eyXjF7UMuQ9fn5IgnYufA", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/EPHmUD0QfmM/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCPouV_5OMd6efgMwD_gq_Fb-yLfw", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/EPHmUD0QfmM/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCwdECiNS-l85ZxifBBD8XevLkv-g", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "John Mamann - Love Life ft. Kika" - } - ], - "accessibility": { - "accessibilityData": { - "label": "John Mamann - Love Life ft. Kika by John Mamann 31,338,323 views 11 years ago 2 minutes, 55 seconds" - } - } - }, - "index": { - "simpleText": "79" - }, - "shortBylineText": { - "runs": [ - { - "text": "John Mamann", - "navigationEndpoint": { - "clickTrackingParams": "CH4QxjQYTiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UC5SfIg_4F6hl9krX3rebKzg", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC5SfIg_4F6hl9krX3rebKzg", - "canonicalBaseUrl": "/channel/UC5SfIg_4F6hl9krX3rebKzg" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "2 minutes, 55 seconds" - } - }, - "simpleText": "2:55" - }, - "navigationEndpoint": { - "clickTrackingParams": "CH4QxjQYTiITCPTK0YmQj4wDFRbUSQcdJVgpSTIKcGxwcF92aWRlb1okVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpmgEHCAwQ-iwYAQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=EPHmUD0QfmM&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=79&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "EPHmUD0QfmM", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 78, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jeened.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=10f1e6503d107e63&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "175", - "trackingParams": "CH4QxjQYTiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CIEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CIEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "EPHmUD0QfmM", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CIEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "EPHmUD0QfmM" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "EPHmUD0QfmM" - ] - } - } - ] - } - }, - "trackingParams": "CIEBEP6YBBgGIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CIABENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "offlineVideoEndpoint": { - "videoId": "EPHmUD0QfmM", - "onAddCommand": { - "clickTrackingParams": "CIABENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "getDownloadActionCommand": { - "videoId": "EPHmUD0QfmM", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CIABENGqBRgHIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CH4QxjQYTiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtFUEhtVUQwUWZtTQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CH4QxjQYTiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CH8QjmIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CH4QxjQYTiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "hasSeparator": true - } - } - ], - "trackingParams": "CH4QxjQYTiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "2 minutes, 55 seconds" - } - }, - "simpleText": "2:55" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "31M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "jS8IZcx7tJY", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/jS8IZcx7tJY/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDEYK-5tJLmGVEJhNfaa-DJ7UZMyg", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/jS8IZcx7tJY/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAwMpf-VqumwE92X8Pue7PKtvl7Hg", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/jS8IZcx7tJY/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCovnREn7O4RU3FdqNTT0ldLD6ajg", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/jS8IZcx7tJY/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAxolzVpRXJMsyBeE59Dw7MQ69dig", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Snow Patrol - Run (official video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Snow Patrol - Run (official video) by Universal Music Nederland 13,607,284 views 15 years ago 4 minutes, 43 seconds" - } - } - }, - "index": { - "simpleText": "80" - }, - "shortBylineText": { - "runs": [ - { - "text": "Universal Music Nederland", - "navigationEndpoint": { - "clickTrackingParams": "CHoQxjQYTyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@umusicnederland", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC3VFfBJe2he4XU1p7bhDiAg", - "canonicalBaseUrl": "/@umusicnederland" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 43 seconds" - } - }, - "simpleText": "4:43" - }, - "navigationEndpoint": { - "clickTrackingParams": "CHoQxjQYTyITCPTK0YmQj4wDFRbUSQcdJVgpSTIKcGxwcF92aWRlb1okVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpmgEHCAwQ-iwYAQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=jS8IZcx7tJY&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=80&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "jS8IZcx7tJY", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 79, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr2---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=8d2f0865cc7bb496&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "283", - "trackingParams": "CHoQxjQYTyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CH0Q_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CH0Q_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "jS8IZcx7tJY", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CH0Q_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "jS8IZcx7tJY" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "jS8IZcx7tJY" - ] - } - } - ] - } - }, - "trackingParams": "CH0Q_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CHwQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "offlineVideoEndpoint": { - "videoId": "jS8IZcx7tJY", - "onAddCommand": { - "clickTrackingParams": "CHwQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "getDownloadActionCommand": { - "videoId": "jS8IZcx7tJY", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CHwQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CHoQxjQYTyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtqUzhJWmN4N3RKWQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CHoQxjQYTyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CHsQjmIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CHoQxjQYTyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "hasSeparator": true - } - } - ], - "trackingParams": "CHoQxjQYTyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 43 seconds" - } - }, - "simpleText": "4:43" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "13M views" - }, - { - "text": " • " - }, - { - "text": "15 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "ghb6eDopW8I", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/ghb6eDopW8I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCoNyV-ShyxkGZ4gUEsjzvYeYcrKg", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/ghb6eDopW8I/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBkcRNL1QY64i8CZ-hm3hW4pOk6jA", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/ghb6eDopW8I/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDTWN1V_VFA_HToKttZkM5XdyXJ4Q", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/ghb6eDopW8I/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDa3ukYowZBJjLw8wIVvAqedfJPxg", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Of Monsters and Men - Little Talks" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Of Monsters and Men - Little Talks by Of Monsters and Men 385,229,077 views 13 years ago 4 minutes, 15 seconds" - } - } - }, - "index": { - "simpleText": "81" - }, - "shortBylineText": { - "runs": [ - { - "text": "Of Monsters and Men", - "navigationEndpoint": { - "clickTrackingParams": "CHYQxjQYUCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UC-hZDis8Dbfk8FotKkOXyQQ", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC-hZDis8Dbfk8FotKkOXyQQ", - "canonicalBaseUrl": "/channel/UC-hZDis8Dbfk8FotKkOXyQQ" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 15 seconds" - } - }, - "simpleText": "4:15" - }, - "navigationEndpoint": { - "clickTrackingParams": "CHYQxjQYUCITCPTK0YmQj4wDFRbUSQcdJVgpSTIKcGxwcF92aWRlb1okVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpmgEHCAwQ-iwYAQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=ghb6eDopW8I&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=81&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "ghb6eDopW8I", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 80, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr4---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=8216fa783a295bc2&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "255", - "trackingParams": "CHYQxjQYUCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CHkQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CHkQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "ghb6eDopW8I", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CHkQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "ghb6eDopW8I" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "ghb6eDopW8I" - ] - } - } - ] - } - }, - "trackingParams": "CHkQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CHgQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "offlineVideoEndpoint": { - "videoId": "ghb6eDopW8I", - "onAddCommand": { - "clickTrackingParams": "CHgQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "getDownloadActionCommand": { - "videoId": "ghb6eDopW8I", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CHgQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CHYQxjQYUCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtnaGI2ZURvcFc4SQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CHYQxjQYUCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CHcQjmIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CHYQxjQYUCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "hasSeparator": true - } - } - ], - "trackingParams": "CHYQxjQYUCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 15 seconds" - } - }, - "simpleText": "4:15" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "385M views" - }, - { - "text": " • " - }, - { - "text": "13 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "Xmap94TcDNs", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/Xmap94TcDNs/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBjhdqhoiAbK6tcdMB6Z-UVgyXVWA", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/Xmap94TcDNs/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD0tivAuj9ecb7IXxmGiJcb9JjmIw", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/Xmap94TcDNs/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCn_rA_GRfxLOIQJS-eBtgD2RWCfQ", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/Xmap94TcDNs/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCs0dMH2i_MZ1i8SI8FnYFekAjMAA", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Wisin & Yandel, Jennifer Lopez - Follow The Leader (Official Video) ft. Jennifer Lopez" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Wisin & Yandel, Jennifer Lopez - Follow The Leader (Official Video) ft. Jennifer Lopez by Wisin & Yandel 672,151,856 views 12 years ago 4 minutes, 59 seconds" - } - } - }, - "index": { - "simpleText": "82" - }, - "shortBylineText": { - "runs": [ - { - "text": "Wisin & Yandel", - "navigationEndpoint": { - "clickTrackingParams": "CHIQxjQYUSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCwR_LqB7g3-_J7p1nscCbEA", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCwR_LqB7g3-_J7p1nscCbEA", - "canonicalBaseUrl": "/channel/UCwR_LqB7g3-_J7p1nscCbEA" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 59 seconds" - } - }, - "simpleText": "4:59" - }, - "navigationEndpoint": { - "clickTrackingParams": "CHIQxjQYUSITCPTK0YmQj4wDFRbUSQcdJVgpSTIKcGxwcF92aWRlb1okVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpmgEHCAwQ-iwYAQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=Xmap94TcDNs&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=82&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "Xmap94TcDNs", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 81, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr4---sn-h0jelne6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=5e66a9f784dc0cdb&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "299", - "trackingParams": "CHIQxjQYUSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CHUQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CHUQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "Xmap94TcDNs", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CHUQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "Xmap94TcDNs" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "Xmap94TcDNs" - ] - } - } - ] - } - }, - "trackingParams": "CHUQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CHQQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "offlineVideoEndpoint": { - "videoId": "Xmap94TcDNs", - "onAddCommand": { - "clickTrackingParams": "CHQQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "getDownloadActionCommand": { - "videoId": "Xmap94TcDNs", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CHQQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CHIQxjQYUSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtYbWFwOTRUY0ROcw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CHIQxjQYUSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CHMQjmIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CHIQxjQYUSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "hasSeparator": true - } - } - ], - "trackingParams": "CHIQxjQYUSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 59 seconds" - } - }, - "simpleText": "4:59" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "672M views" - }, - { - "text": " • " - }, - { - "text": "12 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "_gmtKSiJt2g", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/_gmtKSiJt2g/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAXK7Fov31GIRclBnJqwRoJ69o0Hw", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/_gmtKSiJt2g/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCcqW2viRHIbOYT6t03-mO5PoXrPg", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/_gmtKSiJt2g/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAEpVvuTBhKR24Zn5HAu-eQsZrZ5A", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/_gmtKSiJt2g/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCvyD0J84hXeJjirAsT9ahqoLpk8g", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Juan Magán - Mal De Amores" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Juan Magán - Mal De Amores by JuanMagan 127,356,186 views 11 years ago 3 minutes, 8 seconds" - } - } - }, - "index": { - "simpleText": "83" - }, - "shortBylineText": { - "runs": [ - { - "text": "JuanMagan", - "navigationEndpoint": { - "clickTrackingParams": "CG4QxjQYUiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCVpJ6eGdknSR4mlExF1bytA", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCVpJ6eGdknSR4mlExF1bytA", - "canonicalBaseUrl": "/channel/UCVpJ6eGdknSR4mlExF1bytA" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 8 seconds" - } - }, - "simpleText": "3:08" - }, - "navigationEndpoint": { - "clickTrackingParams": "CG4QxjQYUiITCPTK0YmQj4wDFRbUSQcdJVgpSTIKcGxwcF92aWRlb1okVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpmgEHCAwQ-iwYAQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=_gmtKSiJt2g&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=83&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "_gmtKSiJt2g", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 82, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr2---sn-h0jeened.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=fe09ad292889b768&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "188", - "trackingParams": "CG4QxjQYUiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CHEQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CHEQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "_gmtKSiJt2g", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CHEQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "_gmtKSiJt2g" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "_gmtKSiJt2g" - ] - } - } - ] - } - }, - "trackingParams": "CHEQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CHAQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "offlineVideoEndpoint": { - "videoId": "_gmtKSiJt2g", - "onAddCommand": { - "clickTrackingParams": "CHAQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "getDownloadActionCommand": { - "videoId": "_gmtKSiJt2g", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CHAQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CG4QxjQYUiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtfZ210S1NpSnQyZw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CG4QxjQYUiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CG8QjmIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CG4QxjQYUiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "hasSeparator": true - } - } - ], - "trackingParams": "CG4QxjQYUiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 8 seconds" - } - }, - "simpleText": "3:08" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "127M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "88dLLDrVOwg", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/88dLLDrVOwg/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLColV51m1JDZrHHxIO5fYuuk8X-cA", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/88dLLDrVOwg/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQZimrA854o5Xrav550NWfmCybuQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/88dLLDrVOwg/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA_9T2dFHpAPy37RqRpDkYYRW482w", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/88dLLDrVOwg/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDXQ05ExnEfhN1lMY2bcZU-pNEbbQ", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Nelly Furtado - Waiting For The Night" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Nelly Furtado - Waiting For The Night by Nelly Furtado 17,018,858 views 12 years ago 4 minutes, 31 seconds" - } - } - }, - "index": { - "simpleText": "84" - }, - "shortBylineText": { - "runs": [ - { - "text": "Nelly Furtado", - "navigationEndpoint": { - "clickTrackingParams": "CGoQxjQYUyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UC5Y-gAeGpzgzu0ObzKnhPFA", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC5Y-gAeGpzgzu0ObzKnhPFA", - "canonicalBaseUrl": "/channel/UC5Y-gAeGpzgzu0ObzKnhPFA" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 31 seconds" - } - }, - "simpleText": "4:31" - }, - "navigationEndpoint": { - "clickTrackingParams": "CGoQxjQYUyITCPTK0YmQj4wDFRbUSQcdJVgpSTIKcGxwcF92aWRlb1okVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpmgEHCAwQ-iwYAQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=88dLLDrVOwg&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=84&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "88dLLDrVOwg", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 83, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jelne7.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=f3c74b2c3ad53b08&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "271", - "trackingParams": "CGoQxjQYUyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CG0Q_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CG0Q_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "88dLLDrVOwg", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CG0Q_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "88dLLDrVOwg" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "88dLLDrVOwg" - ] - } - } - ] - } - }, - "trackingParams": "CG0Q_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CGwQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "offlineVideoEndpoint": { - "videoId": "88dLLDrVOwg", - "onAddCommand": { - "clickTrackingParams": "CGwQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "getDownloadActionCommand": { - "videoId": "88dLLDrVOwg", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CGwQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CGoQxjQYUyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgs4OGRMTERyVk93Zw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CGoQxjQYUyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CGsQjmIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CGoQxjQYUyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "hasSeparator": true - } - } - ], - "trackingParams": "CGoQxjQYUyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 31 seconds" - } - }, - "simpleText": "4:31" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "17M views" - }, - { - "text": " • " - }, - { - "text": "12 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "Z9L5ni0Spgk", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/Z9L5ni0Spgk/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBKuaqxWwDzFueczUw-cXqjgfxMlw", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/Z9L5ni0Spgk/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDa8Tt8dbn3a_4KbDh1lK2swonb3w", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/Z9L5ni0Spgk/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDMZ2_QGC2n7rvUFR-U4HdYAeV05Q", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/Z9L5ni0Spgk/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCPb65_UkG90x3VmlUCJSU_-GImOw", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Fedo, Camurri & Marchesini - Babylon (Promo Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Fedo, Camurri & Marchesini - Babylon (Promo Video) by Energy TV 154,546 views 14 years ago 3 minutes, 16 seconds" - } - } - }, - "index": { - "simpleText": "85" - }, - "shortBylineText": { - "runs": [ - { - "text": "Energy TV", - "navigationEndpoint": { - "clickTrackingParams": "CGYQxjQYVCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@EnergyProductionRec", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC5eYHWDQqAsiKlnvLCz-ezg", - "canonicalBaseUrl": "/@EnergyProductionRec" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 16 seconds" - } - }, - "simpleText": "3:16" - }, - "navigationEndpoint": { - "clickTrackingParams": "CGYQxjQYVCITCPTK0YmQj4wDFRbUSQcdJVgpSTIKcGxwcF92aWRlb1okVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpmgEHCAwQ-iwYAQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=Z9L5ni0Spgk&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=85&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "Z9L5ni0Spgk", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 84, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr5---sn-h0jelnes.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=67d2f99e2d12a609&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "196", - "trackingParams": "CGYQxjQYVCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CGkQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CGkQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "Z9L5ni0Spgk", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CGkQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "Z9L5ni0Spgk" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "Z9L5ni0Spgk" - ] - } - } - ] - } - }, - "trackingParams": "CGkQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CGgQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "offlineVideoEndpoint": { - "videoId": "Z9L5ni0Spgk", - "onAddCommand": { - "clickTrackingParams": "CGgQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "getDownloadActionCommand": { - "videoId": "Z9L5ni0Spgk", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CGgQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CGYQxjQYVCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtaOUw1bmkwU3Bnaw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CGYQxjQYVCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CGcQjmIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CGYQxjQYVCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "hasSeparator": true - } - } - ], - "trackingParams": "CGYQxjQYVCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 16 seconds" - } - }, - "simpleText": "3:16" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "154K views" - }, - { - "text": " • " - }, - { - "text": "14 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "YgFyi74DVjc", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/YgFyi74DVjc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLByMtQpF7fANZ3zoMljVbG5nHhUPA", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/YgFyi74DVjc/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCVFfPXqM2RO7WVfOx_DYtVdRYYWw", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/YgFyi74DVjc/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCLSc5vaBLxnPxMM3oIzs6oecOpqw", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/YgFyi74DVjc/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCtBz7EpKUPdU1dHYlXiB9eRaafSg", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Tinie Tempah - Written In The Stars ft. Eric Turner" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Tinie Tempah - Written In The Stars ft. Eric Turner by Tinie 328,556,317 views 14 years ago 3 minutes, 37 seconds" - } - } - }, - "index": { - "simpleText": "86" - }, - "shortBylineText": { - "runs": [ - { - "text": "Tinie", - "navigationEndpoint": { - "clickTrackingParams": "CGIQxjQYVSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCDSX4RQN7fzIlZ1nSubwCcQ", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCDSX4RQN7fzIlZ1nSubwCcQ", - "canonicalBaseUrl": "/channel/UCDSX4RQN7fzIlZ1nSubwCcQ" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 37 seconds" - } - }, - "simpleText": "3:37" - }, - "navigationEndpoint": { - "clickTrackingParams": "CGIQxjQYVSITCPTK0YmQj4wDFRbUSQcdJVgpSTIKcGxwcF92aWRlb1okVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpmgEHCAwQ-iwYAQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=YgFyi74DVjc&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=86&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "YgFyi74DVjc", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 85, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr5---sn-h0jelne6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=6201728bbe035637&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "217", - "trackingParams": "CGIQxjQYVSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CGUQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CGUQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "YgFyi74DVjc", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CGUQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "YgFyi74DVjc" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "YgFyi74DVjc" - ] - } - } - ] - } - }, - "trackingParams": "CGUQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CGQQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "offlineVideoEndpoint": { - "videoId": "YgFyi74DVjc", - "onAddCommand": { - "clickTrackingParams": "CGQQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "getDownloadActionCommand": { - "videoId": "YgFyi74DVjc", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CGQQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CGIQxjQYVSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtZZ0Z5aTc0RFZqYw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CGIQxjQYVSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CGMQjmIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CGIQxjQYVSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "hasSeparator": true - } - } - ], - "trackingParams": "CGIQxjQYVSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 37 seconds" - } - }, - "simpleText": "3:37" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "328M views" - }, - { - "text": " • " - }, - { - "text": "14 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "yyDUC1LUXSU", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/yyDUC1LUXSU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB9ZvzaOQXpNngJbvS_GxgHXSnb7g", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/yyDUC1LUXSU/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLASDSqilwfjPklCMYS2SwMJ7gnO3A", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/yyDUC1LUXSU/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBpCcrhl4afQxrGpWfRl-5h9M1TVA", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/yyDUC1LUXSU/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAgJQ_cJ44xgi8y834WOT28RodN4Q", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Robin Thicke - Blurred Lines ft. T.I., Pharrell" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Robin Thicke - Blurred Lines ft. T.I., Pharrell by Robin Thicke 931,811,875 views 11 years ago 4 minutes, 32 seconds" - } - } - }, - "index": { - "simpleText": "87" - }, - "shortBylineText": { - "runs": [ - { - "text": "Robin Thicke", - "navigationEndpoint": { - "clickTrackingParams": "CF4QxjQYViITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCFHZMfLTN8Zg2sUIrLJhRQQ", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCFHZMfLTN8Zg2sUIrLJhRQQ", - "canonicalBaseUrl": "/channel/UCFHZMfLTN8Zg2sUIrLJhRQQ" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 32 seconds" - } - }, - "simpleText": "4:32" - }, - "navigationEndpoint": { - "clickTrackingParams": "CF4QxjQYViITCPTK0YmQj4wDFRbUSQcdJVgpSTIKcGxwcF92aWRlb1okVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpmgEHCAwQ-iwYAQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=yyDUC1LUXSU&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=87&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "yyDUC1LUXSU", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 86, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr2---sn-h0jeener.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=cb20d40b52d45d25&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "272", - "trackingParams": "CF4QxjQYViITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CGEQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CGEQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "yyDUC1LUXSU", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CGEQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "yyDUC1LUXSU" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "yyDUC1LUXSU" - ] - } - } - ] - } - }, - "trackingParams": "CGEQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CGAQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "offlineVideoEndpoint": { - "videoId": "yyDUC1LUXSU", - "onAddCommand": { - "clickTrackingParams": "CGAQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "getDownloadActionCommand": { - "videoId": "yyDUC1LUXSU", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CGAQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CF4QxjQYViITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgt5eURVQzFMVVhTVQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CF4QxjQYViITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CF8QjmIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CF4QxjQYViITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "hasSeparator": true - } - } - ], - "trackingParams": "CF4QxjQYViITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 32 seconds" - } - }, - "simpleText": "4:32" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "931M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "bnVUHWCynig", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/bnVUHWCynig/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDdVYpBllucka8OdmI4rYaxdDbwZQ", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/bnVUHWCynig/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDifNY6_xFI36yPGwpSlQcRRdq5dw", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/bnVUHWCynig/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAfrtQWKbvfqAIT5nlEP6oHpGwQnA", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/bnVUHWCynig/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC_mAwlLPdy-eK1GFCDG1I-Uu_qVw", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Beyoncé - Halo" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Beyoncé - Halo by Beyoncé 1,661,221,752 views 15 years ago 3 minutes, 45 seconds" - } - } - }, - "index": { - "simpleText": "88" - }, - "shortBylineText": { - "runs": [ - { - "text": "Beyoncé", - "navigationEndpoint": { - "clickTrackingParams": "CFoQxjQYVyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCuHzBCaKmtaLcRAOoazhCPA", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCuHzBCaKmtaLcRAOoazhCPA", - "canonicalBaseUrl": "/channel/UCuHzBCaKmtaLcRAOoazhCPA" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 45 seconds" - } - }, - "simpleText": "3:45" - }, - "navigationEndpoint": { - "clickTrackingParams": "CFoQxjQYVyITCPTK0YmQj4wDFRbUSQcdJVgpSTIKcGxwcF92aWRlb1okVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpmgEHCAwQ-iwYAQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=bnVUHWCynig&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=88&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "bnVUHWCynig", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 87, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr2---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=6e75541d60b29e28&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "225", - "trackingParams": "CFoQxjQYVyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CF0Q_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CF0Q_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "bnVUHWCynig", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CF0Q_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "bnVUHWCynig" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "bnVUHWCynig" - ] - } - } - ] - } - }, - "trackingParams": "CF0Q_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CFwQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "offlineVideoEndpoint": { - "videoId": "bnVUHWCynig", - "onAddCommand": { - "clickTrackingParams": "CFwQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "getDownloadActionCommand": { - "videoId": "bnVUHWCynig", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CFwQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CFoQxjQYVyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtiblZVSFdDeW5pZw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CFoQxjQYVyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CFsQjmIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CFoQxjQYVyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "hasSeparator": true - } - } - ], - "trackingParams": "CFoQxjQYVyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 45 seconds" - } - }, - "simpleText": "3:45" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "1.6B views" - }, - { - "text": " • " - }, - { - "text": "15 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "iRYvuS9OxdA", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/iRYvuS9OxdA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAQ6tSfh29w-wLTG8eOYoR6ExueTQ", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/iRYvuS9OxdA/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLC_TGb7k7HHhnjgjKoucF2uxyY5eQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/iRYvuS9OxdA/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAU0YHCpj4Sl0p1nMnWJlQc9m0O7w", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/iRYvuS9OxdA/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBbZ3pXnK3rb_jAwDzhJUMxHBLCBA", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Amy Macdonald - This is the Life" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Amy Macdonald - This is the Life by Amy Macdonald 177,222,508 views 15 years ago 3 minutes, 8 seconds" - } - } - }, - "index": { - "simpleText": "89" - }, - "shortBylineText": { - "runs": [ - { - "text": "Amy Macdonald", - "navigationEndpoint": { - "clickTrackingParams": "CFYQxjQYWCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UC4bQSvfzqx4r3YmPw3Osx3g", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC4bQSvfzqx4r3YmPw3Osx3g", - "canonicalBaseUrl": "/channel/UC4bQSvfzqx4r3YmPw3Osx3g" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 8 seconds" - } - }, - "simpleText": "3:08" - }, - "navigationEndpoint": { - "clickTrackingParams": "CFYQxjQYWCITCPTK0YmQj4wDFRbUSQcdJVgpSTIKcGxwcF92aWRlb1okVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpmgEHCAwQ-iwYAQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=iRYvuS9OxdA&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=89&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "iRYvuS9OxdA", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 88, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr4---sn-h0jelnes.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=89162fb92f4ec5d0&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "188", - "trackingParams": "CFYQxjQYWCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CFkQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CFkQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "iRYvuS9OxdA", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CFkQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "iRYvuS9OxdA" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "iRYvuS9OxdA" - ] - } - } - ] - } - }, - "trackingParams": "CFkQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CFgQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "offlineVideoEndpoint": { - "videoId": "iRYvuS9OxdA", - "onAddCommand": { - "clickTrackingParams": "CFgQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "getDownloadActionCommand": { - "videoId": "iRYvuS9OxdA", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CFgQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CFYQxjQYWCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtpUll2dVM5T3hkQQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CFYQxjQYWCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CFcQjmIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CFYQxjQYWCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "hasSeparator": true - } - } - ], - "trackingParams": "CFYQxjQYWCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 8 seconds" - } - }, - "simpleText": "3:08" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "177M views" - }, - { - "text": " • " - }, - { - "text": "15 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "RBumgq5yVrA", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/RBumgq5yVrA/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGH8gPCglMA8=&rs=AOn4CLClTEuXGgPmtiTNzrUWRE03Rb5Mdg", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/RBumgq5yVrA/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AH-CYAC0AWKAgwIABABGH8gPCglMA8=&rs=AOn4CLChUhmw9GMq6pTC4nK4yZWlrW_QQQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/RBumgq5yVrA/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARh_IDwoJTAP&rs=AOn4CLCVpX4xhA7l6u_lSdxZLUPOfe9u6w", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/RBumgq5yVrA/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgB_gmAAtAFigIMCAAQARh_IDwoJTAP&rs=AOn4CLCANoXn9hFhlZWlwzSiR0re3Oi0XQ", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Passenger | Let Her Go (Official Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Passenger | Let Her Go (Official Video) by Passenger 3,792,177,526 views 12 years ago 4 minutes, 15 seconds" - } - } - }, - "index": { - "simpleText": "90" - }, - "shortBylineText": { - "runs": [ - { - "text": "Passenger", - "navigationEndpoint": { - "clickTrackingParams": "CFIQxjQYWSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCFHtCB_FWXQ8GpjgfYcD8-g", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCFHtCB_FWXQ8GpjgfYcD8-g", - "canonicalBaseUrl": "/channel/UCFHtCB_FWXQ8GpjgfYcD8-g" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 15 seconds" - } - }, - "simpleText": "4:15" - }, - "navigationEndpoint": { - "clickTrackingParams": "CFIQxjQYWSITCPTK0YmQj4wDFRbUSQcdJVgpSTIKcGxwcF92aWRlb1okVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpmgEHCAwQ-iwYAQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=RBumgq5yVrA&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=90&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "RBumgq5yVrA", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 89, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr5---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=441ba682ae7256b0&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "255", - "trackingParams": "CFIQxjQYWSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CFUQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CFUQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "RBumgq5yVrA", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CFUQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "RBumgq5yVrA" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "RBumgq5yVrA" - ] - } - } - ] - } - }, - "trackingParams": "CFUQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CFQQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "offlineVideoEndpoint": { - "videoId": "RBumgq5yVrA", - "onAddCommand": { - "clickTrackingParams": "CFQQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "getDownloadActionCommand": { - "videoId": "RBumgq5yVrA", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CFQQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CFIQxjQYWSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtSQnVtZ3E1eVZyQQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CFIQxjQYWSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CFMQjmIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CFIQxjQYWSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "hasSeparator": true - } - } - ], - "trackingParams": "CFIQxjQYWSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 15 seconds" - } - }, - "simpleText": "4:15" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "3.7B views" - }, - { - "text": " • " - }, - { - "text": "12 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "5NV6Rdv1a3I", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/5NV6Rdv1a3I/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB8eQJ05B8xmUeTG2Qjv5ZTGV6GtQ", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/5NV6Rdv1a3I/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCYWE3tjuqA73Ghpo9Zx9YhQrPF8g", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/5NV6Rdv1a3I/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAYujREX1wWp6lqR-FxLTC3UoDBww", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/5NV6Rdv1a3I/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAec6mzXBkRvD7DZJQXZQAn-5DdYg", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Daft Punk - Get Lucky (Official Audio) ft. Pharrell Williams, Nile Rodgers" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Daft Punk - Get Lucky (Official Audio) ft. Pharrell Williams, Nile Rodgers by Daft Punk 798,016,435 views 11 years ago 4 minutes, 9 seconds" - } - } - }, - "index": { - "simpleText": "91" - }, - "shortBylineText": { - "runs": [ - { - "text": "Daft Punk", - "navigationEndpoint": { - "clickTrackingParams": "CE4QxjQYWiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UC_kRDKYrUlrbtrSiyu5Tflg", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC_kRDKYrUlrbtrSiyu5Tflg", - "canonicalBaseUrl": "/channel/UC_kRDKYrUlrbtrSiyu5Tflg" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 9 seconds" - } - }, - "simpleText": "4:09" - }, - "navigationEndpoint": { - "clickTrackingParams": "CE4QxjQYWiITCPTK0YmQj4wDFRbUSQcdJVgpSTIKcGxwcF92aWRlb1okVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpmgEHCAwQ-iwYAQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=5NV6Rdv1a3I&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=91&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "5NV6Rdv1a3I", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 90, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr5---sn-h0jeenle.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=e4d57a45dbf56b72&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "249", - "trackingParams": "CE4QxjQYWiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CFEQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CFEQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "5NV6Rdv1a3I", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CFEQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "5NV6Rdv1a3I" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "5NV6Rdv1a3I" - ] - } - } - ] - } - }, - "trackingParams": "CFEQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CFAQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "offlineVideoEndpoint": { - "videoId": "5NV6Rdv1a3I", - "onAddCommand": { - "clickTrackingParams": "CFAQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "getDownloadActionCommand": { - "videoId": "5NV6Rdv1a3I", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CFAQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CE4QxjQYWiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgs1TlY2UmR2MWEzSQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CE4QxjQYWiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CE8QjmIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CE4QxjQYWiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "hasSeparator": true - } - } - ], - "trackingParams": "CE4QxjQYWiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 9 seconds" - } - }, - "simpleText": "4:09" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "798M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "GbVxvITmwIc", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/GbVxvITmwIc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBYlbB7MP7mlFPrvaaa8NgyZhhFMw", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/GbVxvITmwIc/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBTwvP-ZJmMyMrYfKAVUyra_X-uTA", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/GbVxvITmwIc/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD796ZUIzn9jANidIPu15gHgkOGJQ", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/GbVxvITmwIc/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCwlEEFb5u_e5qpa9tSJ8UeOPHSpQ", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Nadia Ali - Rapture (Avicii Remix) [Official Music Video]" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Nadia Ali - Rapture (Avicii Remix) [Official Music Video] by Armada Music TV 71,774,695 views 14 years ago 4 minutes, 43 seconds" - } - } - }, - "index": { - "simpleText": "92" - }, - "shortBylineText": { - "runs": [ - { - "text": "Armada Music TV", - "navigationEndpoint": { - "clickTrackingParams": "CEoQxjQYWyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@armadamusictv", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCGZXYc32ri4D0gSLPf2pZXQ", - "canonicalBaseUrl": "/@armadamusictv" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 43 seconds" - } - }, - "simpleText": "4:43" - }, - "navigationEndpoint": { - "clickTrackingParams": "CEoQxjQYWyITCPTK0YmQj4wDFRbUSQcdJVgpSTIKcGxwcF92aWRlb1okVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpmgEHCAwQ-iwYAQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=GbVxvITmwIc&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=92&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "GbVxvITmwIc", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 91, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jelnes.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=19b571bc84e6c087&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "283", - "trackingParams": "CEoQxjQYWyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CE0Q_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CE0Q_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "GbVxvITmwIc", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CE0Q_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "GbVxvITmwIc" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "GbVxvITmwIc" - ] - } - } - ] - } - }, - "trackingParams": "CE0Q_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CEwQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "offlineVideoEndpoint": { - "videoId": "GbVxvITmwIc", - "onAddCommand": { - "clickTrackingParams": "CEwQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "getDownloadActionCommand": { - "videoId": "GbVxvITmwIc", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CEwQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CEoQxjQYWyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtHYlZ4dklUbXdJYw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CEoQxjQYWyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CEsQjmIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CEoQxjQYWyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "hasSeparator": true - } - } - ], - "trackingParams": "CEoQxjQYWyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 43 seconds" - } - }, - "simpleText": "4:43" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "71M views" - }, - { - "text": " • " - }, - { - "text": "14 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "_ovdm2yX4MA", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/_ovdm2yX4MA/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBJhG8-CbY_gMCDa0Othohpjp2-Sw", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/_ovdm2yX4MA/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCHpPr_9X0IOy9gsmtWlQkFT9GV3g", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/_ovdm2yX4MA/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDn3vMoIYvWmWMNFsgN8aTyC876QA", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/_ovdm2yX4MA/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCictkFhj6f0NLuvA-jBl0uIx9r1A", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Avicii - Levels" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Avicii - Levels by Avicii 739,233,356 views 13 years ago 3 minutes, 19 seconds" - } - } - }, - "index": { - "simpleText": "93" - }, - "shortBylineText": { - "runs": [ - { - "text": "Avicii", - "navigationEndpoint": { - "clickTrackingParams": "CEYQxjQYXCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCPHjpfnnGklkRBBTd0k6aHg", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCPHjpfnnGklkRBBTd0k6aHg", - "canonicalBaseUrl": "/channel/UCPHjpfnnGklkRBBTd0k6aHg" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 19 seconds" - } - }, - "simpleText": "3:19" - }, - "navigationEndpoint": { - "clickTrackingParams": "CEYQxjQYXCITCPTK0YmQj4wDFRbUSQcdJVgpSTIKcGxwcF92aWRlb1okVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpmgEHCAwQ-iwYAQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=_ovdm2yX4MA&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=93&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "_ovdm2yX4MA", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 92, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr4---sn-h0jelne6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=fe8bdd9b6c97e0c0&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "199", - "trackingParams": "CEYQxjQYXCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CEkQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CEkQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "_ovdm2yX4MA", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CEkQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "_ovdm2yX4MA" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "_ovdm2yX4MA" - ] - } - } - ] - } - }, - "trackingParams": "CEkQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CEgQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "offlineVideoEndpoint": { - "videoId": "_ovdm2yX4MA", - "onAddCommand": { - "clickTrackingParams": "CEgQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "getDownloadActionCommand": { - "videoId": "_ovdm2yX4MA", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CEgQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CEYQxjQYXCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgtfb3ZkbTJ5WDRNQQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CEYQxjQYXCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CEcQjmIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CEYQxjQYXCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "hasSeparator": true - } - } - ], - "trackingParams": "CEYQxjQYXCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 19 seconds" - } - }, - "simpleText": "3:19" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "739M views" - }, - { - "text": " • " - }, - { - "text": "13 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "5y_KJAg8bHI", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/5y_KJAg8bHI/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCbQHhfWQkRu61QB_9f8c0luSDo-A", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/5y_KJAg8bHI/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAjMdoRGoRT5ed3VrlZ_j84fXehBg", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/5y_KJAg8bHI/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDOnvnv-RD8R5gyfB7llV53-gKDBg", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/5y_KJAg8bHI/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBA82_EAo1CRpHUnA2HIQHJ8DAT8w", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Avicii - Wake Me Up (Official Lyric Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Avicii - Wake Me Up (Official Lyric Video) by Avicii 499,621,097 views 11 years ago 4 minutes, 12 seconds" - } - } - }, - "index": { - "simpleText": "94" - }, - "shortBylineText": { - "runs": [ - { - "text": "Avicii", - "navigationEndpoint": { - "clickTrackingParams": "CEIQxjQYXSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCPHjpfnnGklkRBBTd0k6aHg", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCPHjpfnnGklkRBBTd0k6aHg", - "canonicalBaseUrl": "/channel/UCPHjpfnnGklkRBBTd0k6aHg" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 12 seconds" - } - }, - "simpleText": "4:12" - }, - "navigationEndpoint": { - "clickTrackingParams": "CEIQxjQYXSITCPTK0YmQj4wDFRbUSQcdJVgpSTIKcGxwcF92aWRlb1okVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpmgEHCAwQ-iwYAQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=5y_KJAg8bHI&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=94&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "5y_KJAg8bHI", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 93, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr5---sn-h0jelne6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=e72fca24083c6c72&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "252", - "trackingParams": "CEIQxjQYXSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CEUQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CEUQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "5y_KJAg8bHI", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CEUQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "5y_KJAg8bHI" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "5y_KJAg8bHI" - ] - } - } - ] - } - }, - "trackingParams": "CEUQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CEQQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "offlineVideoEndpoint": { - "videoId": "5y_KJAg8bHI", - "onAddCommand": { - "clickTrackingParams": "CEQQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "getDownloadActionCommand": { - "videoId": "5y_KJAg8bHI", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CEQQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CEIQxjQYXSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgs1eV9LSkFnOGJISQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CEIQxjQYXSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CEMQjmIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CEIQxjQYXSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "hasSeparator": true - } - } - ], - "trackingParams": "CEIQxjQYXSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 12 seconds" - } - }, - "simpleText": "4:12" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "499M views" - }, - { - "text": " • " - }, - { - "text": "11 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "6Mj8KDpoZnQ", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/6Mj8KDpoZnQ/hqdefault.jpg?sqp=-oaymwE1CKgBEF5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AG-AoAC8AGKAgwIABABGGkgaShpMA8=&rs=AOn4CLAai-jQB6NdIU65Ae_A2lVZyyrIhw", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/6Mj8KDpoZnQ/hqdefault.jpg?sqp=-oaymwE1CMQBEG5IVfKriqkDKAgBFQAAiEIYAXABwAEG8AEB-AG-AoAC8AGKAgwIABABGGkgaShpMA8=&rs=AOn4CLAUPD_EFn7JC4PrPCJREsc2Hk_NFA", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/6Mj8KDpoZnQ/hqdefault.jpg?sqp=-oaymwE2CPYBEIoBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgBvgKAAvABigIMCAAQARhpIGkoaTAP&rs=AOn4CLB-UUKz-dpXAAlZmvF2c1tseoZ8cA", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/6Mj8KDpoZnQ/hqdefault.jpg?sqp=-oaymwE2CNACELwBSFXyq4qpAygIARUAAIhCGAFwAcABBvABAfgBvgKAAvABigIMCAAQARhpIGkoaTAP&rs=AOn4CLDtvT3HtJnCrtf3AMvEeSmKwsPyhA", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Del Amitri Driving with the Brakes on with lyrics" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Del Amitri Driving with the Brakes on with lyrics by Ziggy 291,143 views 15 years ago 4 minutes, 35 seconds" - } - } - }, - "index": { - "simpleText": "95" - }, - "shortBylineText": { - "runs": [ - { - "text": "Ziggy", - "navigationEndpoint": { - "clickTrackingParams": "CD4QxjQYXiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@jarny1969", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCu4v_9NAtKYVd8_sPh99h6A", - "canonicalBaseUrl": "/@jarny1969" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 35 seconds" - } - }, - "simpleText": "4:35" - }, - "navigationEndpoint": { - "clickTrackingParams": "CD4QxjQYXiITCPTK0YmQj4wDFRbUSQcdJVgpSTIKcGxwcF92aWRlb1okVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpmgEHCAwQ-iwYAQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=6Mj8KDpoZnQ&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=95&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "6Mj8KDpoZnQ", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 94, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr1---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=e8c8fc283a686674&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "275", - "trackingParams": "CD4QxjQYXiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CEEQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CEEQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "6Mj8KDpoZnQ", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CEEQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "6Mj8KDpoZnQ" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "6Mj8KDpoZnQ" - ] - } - } - ] - } - }, - "trackingParams": "CEEQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CEAQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "offlineVideoEndpoint": { - "videoId": "6Mj8KDpoZnQ", - "onAddCommand": { - "clickTrackingParams": "CEAQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "getDownloadActionCommand": { - "videoId": "6Mj8KDpoZnQ", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CEAQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CD4QxjQYXiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "Cgs2TWo4S0Rwb1puUQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CD4QxjQYXiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CD8QjmIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CD4QxjQYXiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "hasSeparator": true - } - } - ], - "trackingParams": "CD4QxjQYXiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 35 seconds" - } - }, - "simpleText": "4:35" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "291K views" - }, - { - "text": " • " - }, - { - "text": "15 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "rtOvBOTyX00", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/rtOvBOTyX00/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAiaq7QqeSdb9xU068ljYGiLtY1cA", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/rtOvBOTyX00/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCjTvxsN22M1eXwUuZR49bogXDbpA", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/rtOvBOTyX00/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDIWjGMXTDXcu3u_s0S8l0b9K-Tkg", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/rtOvBOTyX00/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCfknlSUb89kvv-vLPcKafCxp6gXA", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Christina Perri - A Thousand Years [Official Music Video]" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Christina Perri - A Thousand Years [Official Music Video] by Christina Perri 2,606,307,135 views 13 years ago 4 minutes, 48 seconds" - } - } - }, - "index": { - "simpleText": "96" - }, - "shortBylineText": { - "runs": [ - { - "text": "Christina Perri", - "navigationEndpoint": { - "clickTrackingParams": "CDoQxjQYXyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UC2gMECGMn5TVbRN5S5tKb8Q", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC2gMECGMn5TVbRN5S5tKb8Q", - "canonicalBaseUrl": "/channel/UC2gMECGMn5TVbRN5S5tKb8Q" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 48 seconds" - } - }, - "simpleText": "4:48" - }, - "navigationEndpoint": { - "clickTrackingParams": "CDoQxjQYXyITCPTK0YmQj4wDFRbUSQcdJVgpSTIKcGxwcF92aWRlb1okVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpmgEHCAwQ-iwYAQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=rtOvBOTyX00&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=96&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "rtOvBOTyX00", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 95, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jelnez.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=aed3af04e4f25f4d&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "288", - "trackingParams": "CDoQxjQYXyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CD0Q_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CD0Q_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "rtOvBOTyX00", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CD0Q_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "rtOvBOTyX00" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "rtOvBOTyX00" - ] - } - } - ] - } - }, - "trackingParams": "CD0Q_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CDwQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "offlineVideoEndpoint": { - "videoId": "rtOvBOTyX00", - "onAddCommand": { - "clickTrackingParams": "CDwQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "getDownloadActionCommand": { - "videoId": "rtOvBOTyX00", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CDwQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CDoQxjQYXyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtydE92Qk9UeVgwMA%3D%3D", - "commands": [ - { - "clickTrackingParams": "CDoQxjQYXyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CDsQjmIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CDoQxjQYXyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "hasSeparator": true - } - } - ], - "trackingParams": "CDoQxjQYXyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "4 minutes, 48 seconds" - } - }, - "simpleText": "4:48" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "2.6B views" - }, - { - "text": " • " - }, - { - "text": "13 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "UggslfShToQ", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/UggslfShToQ/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAwL6RMQVmZwr5PwLtF5DvAEmpDAw", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/UggslfShToQ/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCNgWToeUKppaH5cbM63v0VblZrGA", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/UggslfShToQ/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAfsBFhkfeIi_9cTcew42dY2DBARw", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/UggslfShToQ/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAMtgf3RwJEymxxE9tEraM-Uh052Q", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "INNA - J'Adore | Lyrics Video" - } - ], - "accessibility": { - "accessibilityData": { - "label": "INNA - J'Adore | Lyrics Video by INNA 36,694,599 views 12 years ago 3 minutes, 16 seconds" - } - } - }, - "index": { - "simpleText": "97" - }, - "shortBylineText": { - "runs": [ - { - "text": "INNA", - "navigationEndpoint": { - "clickTrackingParams": "CDYQxjQYYCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCr8RbU-D7iSvpy0ZO-AasoQ", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCr8RbU-D7iSvpy0ZO-AasoQ", - "canonicalBaseUrl": "/channel/UCr8RbU-D7iSvpy0ZO-AasoQ" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 16 seconds" - } - }, - "simpleText": "3:16" - }, - "navigationEndpoint": { - "clickTrackingParams": "CDYQxjQYYCITCPTK0YmQj4wDFRbUSQcdJVgpSTIKcGxwcF92aWRlb1okVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpmgEHCAwQ-iwYAQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=UggslfShToQ&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=97&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "UggslfShToQ", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 96, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jeenl6.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=52082c95f4a14e84&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "196", - "trackingParams": "CDYQxjQYYCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CDkQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CDkQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "UggslfShToQ", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CDkQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "UggslfShToQ" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "UggslfShToQ" - ] - } - } - ] - } - }, - "trackingParams": "CDkQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CDgQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "offlineVideoEndpoint": { - "videoId": "UggslfShToQ", - "onAddCommand": { - "clickTrackingParams": "CDgQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "getDownloadActionCommand": { - "videoId": "UggslfShToQ", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CDgQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CDYQxjQYYCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtVZ2dzbGZTaFRvUQ%3D%3D", - "commands": [ - { - "clickTrackingParams": "CDYQxjQYYCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CDcQjmIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CDYQxjQYYCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "hasSeparator": true - } - } - ], - "trackingParams": "CDYQxjQYYCITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 16 seconds" - } - }, - "simpleText": "3:16" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "36M views" - }, - { - "text": " • " - }, - { - "text": "12 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "MORF_XGAfj0", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/MORF_XGAfj0/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLD4dJKhtTKudy14ZzzgTY9qzH4x8g", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/MORF_XGAfj0/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBSVafq7JdLyuoH10rl-wljo7NN_w", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/MORF_XGAfj0/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB_aPn5MajbIR712uVfiXo8Fj-8qg", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/MORF_XGAfj0/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDE9J6brKvxld_oV3S9RzO83hA-IA", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Alex Mica - Breathe" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Alex Mica - Breathe by 1artistmusic 8,562,556 views 12 years ago 3 minutes, 42 seconds" - } - } - }, - "index": { - "simpleText": "98" - }, - "shortBylineText": { - "runs": [ - { - "text": "1artistmusic", - "navigationEndpoint": { - "clickTrackingParams": "CDIQxjQYYSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@1artistmusic", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCYM6H8mE3I8nTON-wMqg5Gg", - "canonicalBaseUrl": "/@1artistmusic" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 42 seconds" - } - }, - "simpleText": "3:42" - }, - "navigationEndpoint": { - "clickTrackingParams": "CDIQxjQYYSITCPTK0YmQj4wDFRbUSQcdJVgpSTIKcGxwcF92aWRlb1okVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpmgEHCAwQ-iwYAQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=MORF_XGAfj0&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=98&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "MORF_XGAfj0", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 97, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jeened.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=30e445fd71807e3d&ip=79.205.211.19&initcwndbps=2676250&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "222", - "trackingParams": "CDIQxjQYYSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CDUQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CDUQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "MORF_XGAfj0", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CDUQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "MORF_XGAfj0" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "MORF_XGAfj0" - ] - } - } - ] - } - }, - "trackingParams": "CDUQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CDQQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "offlineVideoEndpoint": { - "videoId": "MORF_XGAfj0", - "onAddCommand": { - "clickTrackingParams": "CDQQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "getDownloadActionCommand": { - "videoId": "MORF_XGAfj0", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CDQQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CDIQxjQYYSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgtNT1JGX1hHQWZqMA%3D%3D", - "commands": [ - { - "clickTrackingParams": "CDIQxjQYYSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CDMQjmIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CDIQxjQYYSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "hasSeparator": true - } - } - ], - "trackingParams": "CDIQxjQYYSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 42 seconds" - } - }, - "simpleText": "3:42" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "8.5M views" - }, - { - "text": " • " - }, - { - "text": "12 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "-0Bwmmiat-o", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/-0Bwmmiat-o/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCGorDbo4abAT0S-MvD5hDsHJjXfA", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/-0Bwmmiat-o/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBa2y31Slz9APf2Dq25f1-01FxSUQ", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/-0Bwmmiat-o/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBEsFgAkX9q4DEsgHQkMc-2mcfTug", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/-0Bwmmiat-o/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAWxu7pswYn23AmmMQVXggP2z29Rw", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Vlegel - After Night in Ibiza (Official Video)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Vlegel - After Night in Ibiza (Official Video) by Vlegel & Bluesolar 27,252,848 views 13 years ago 3 minutes, 48 seconds" - } - } - }, - "index": { - "simpleText": "99" - }, - "shortBylineText": { - "runs": [ - { - "text": "Vlegel & Bluesolar", - "navigationEndpoint": { - "clickTrackingParams": "CC4QxjQYYiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UCfS8AVoT4NgwXqPEau_Dx6A", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCfS8AVoT4NgwXqPEau_Dx6A", - "canonicalBaseUrl": "/channel/UCfS8AVoT4NgwXqPEau_Dx6A" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 48 seconds" - } - }, - "simpleText": "3:48" - }, - "navigationEndpoint": { - "clickTrackingParams": "CC4QxjQYYiITCPTK0YmQj4wDFRbUSQcdJVgpSTIKcGxwcF92aWRlb1okVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpmgEHCAwQ-iwYAQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=-0Bwmmiat-o&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=99&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "-0Bwmmiat-o", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 98, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jeener.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=fb40709a689ab7ea&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "228", - "trackingParams": "CC4QxjQYYiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CDEQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CDEQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "-0Bwmmiat-o", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CDEQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "-0Bwmmiat-o" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "-0Bwmmiat-o" - ] - } - } - ] - } - }, - "trackingParams": "CDEQ_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CDAQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "offlineVideoEndpoint": { - "videoId": "-0Bwmmiat-o", - "onAddCommand": { - "clickTrackingParams": "CDAQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "getDownloadActionCommand": { - "videoId": "-0Bwmmiat-o", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CDAQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CC4QxjQYYiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgstMEJ3bW1pYXQtbw%3D%3D", - "commands": [ - { - "clickTrackingParams": "CC4QxjQYYiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CC8QjmIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CC4QxjQYYiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "hasSeparator": true - } - } - ], - "trackingParams": "CC4QxjQYYiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 48 seconds" - } - }, - "simpleText": "3:48" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "27M views" - }, - { - "text": " • " - }, - { - "text": "13 years ago" - } - ] - } - } - }, - { - "playlistVideoRenderer": { - "videoId": "mME-URRbak8", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/mME-URRbak8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCRsCb3kityamG2pLkdboBA7yUbUA", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/mME-URRbak8/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBQgg21dw9tKDOyOGeayYmM4ttyrg", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/mME-URRbak8/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCBVsxiVCXqgoHpTPBc28mtnmN7qw", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/mME-URRbak8/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAAdUUW53TO_rbaF8jm47Y8mk0U0g", - "width": 336, - "height": 188 - } - ] - }, - "title": { - "runs": [ - { - "text": "Carlos Baute - Quien te quiere como yo (Videoclip oficial)" - } - ], - "accessibility": { - "accessibilityData": { - "label": "Carlos Baute - Quien te quiere como yo (Videoclip oficial) by Carlos Baute 101,202,662 views 14 years ago 3 minutes, 48 seconds" - } - } - }, - "index": { - "simpleText": "100" - }, - "shortBylineText": { - "runs": [ - { - "text": "Carlos Baute", - "navigationEndpoint": { - "clickTrackingParams": "CCoQxjQYYyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/UC2e1yIHI-WdrbGx1CZvRYMA", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UC2e1yIHI-WdrbGx1CZvRYMA", - "canonicalBaseUrl": "/channel/UC2e1yIHI-WdrbGx1CZvRYMA" - } - } - } - ] - }, - "lengthText": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 48 seconds" - } - }, - "simpleText": "3:48" - }, - "navigationEndpoint": { - "clickTrackingParams": "CCoQxjQYYyITCPTK0YmQj4wDFRbUSQcdJVgpSTIKcGxwcF92aWRlb1okVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpmgEHCAwQ-iwYAQ==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=mME-URRbak8&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&index=100&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "mME-URRbak8", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "index": 99, - "params": "OAI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr3---sn-h0jelnez.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=98c13e51145b6a4f&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "lengthSeconds": "228", - "trackingParams": "CCoQxjQYYyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "isPlayable": true, - "menu": { - "menuRenderer": { - "items": [ - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Add to queue" - } - ] - }, - "icon": { - "iconType": "ADD_TO_QUEUE_TAIL" - }, - "serviceEndpoint": { - "clickTrackingParams": "CC0Q_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CC0Q_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "addToPlaylistCommand": { - "openMiniplayer": true, - "videoId": "mME-URRbak8", - "listType": "PLAYLIST_EDIT_LIST_TYPE_QUEUE", - "onCreateListCommand": { - "clickTrackingParams": "CC0Q_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/playlist/create" - } - }, - "createPlaylistServiceEndpoint": { - "videoIds": [ - "mME-URRbak8" - ], - "params": "CAQ%3D" - } - }, - "videoIds": [ - "mME-URRbak8" - ] - } - } - ] - } - }, - "trackingParams": "CC0Q_pgEGAYiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemDownloadRenderer": { - "serviceEndpoint": { - "clickTrackingParams": "CCwQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "offlineVideoEndpoint": { - "videoId": "mME-URRbak8", - "onAddCommand": { - "clickTrackingParams": "CCwQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "getDownloadActionCommand": { - "videoId": "mME-URRbak8", - "params": "CAIQAA%3D%3D" - } - } - } - }, - "trackingParams": "CCwQ0aoFGAciEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - { - "menuServiceItemRenderer": { - "text": { - "runs": [ - { - "text": "Share" - } - ] - }, - "icon": { - "iconType": "SHARE" - }, - "serviceEndpoint": { - "clickTrackingParams": "CCoQxjQYYyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "CgttTUUtVVJSYmFrOA%3D%3D", - "commands": [ - { - "clickTrackingParams": "CCoQxjQYYyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CCsQjmIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CCoQxjQYYyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "hasSeparator": true - } - } - ], - "trackingParams": "CCoQxjQYYyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - } - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlayTimeStatusRenderer": { - "text": { - "accessibility": { - "accessibilityData": { - "label": "3 minutes, 48 seconds" - } - }, - "simpleText": "3:48" - }, - "style": "DEFAULT" - } - }, - { - "thumbnailOverlayNowPlayingRenderer": { - "text": { - "runs": [ - { - "text": "Now playing" - } - ] - } - } - } - ], - "videoInfo": { - "runs": [ - { - "text": "101M views" - }, - { - "text": " • " - }, - { - "text": "14 years ago" - } - ] - } - } - }, - { - "continuationItemRenderer": { - "trigger": "CONTINUATION_TRIGGER_ON_ITEM_SHOWN", - "continuationEndpoint": { - "clickTrackingParams": "CCcQ7zsYACITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandExecutorCommand": { - "commands": [ - { - "clickTrackingParams": "CCcQ7zsYACITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "playlistVotingRefreshPopupCommand": { - "command": { - "clickTrackingParams": "CCcQ7zsYACITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "openPopupAction": { - "popup": { - "notificationActionRenderer": { - "responseText": { - "simpleText": "Reload for updates" - }, - "actionButton": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "size": "SIZE_DEFAULT", - "isDisabled": false, - "text": { - "simpleText": "Reload" - }, - "trackingParams": "CCkQ8FsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "command": { - "clickTrackingParams": "CCkQ8FsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "signalAction": { - "signal": "SOFT_RELOAD_PAGE" - } - } - } - }, - "trackingParams": "CCgQuWoiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - "popupType": "TOAST" - } - } - } - }, - { - "clickTrackingParams": "CCcQ7zsYACITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/browse" - } - }, - "continuationCommand": { - "token": "4qmFsgKBARIkVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpGjRDQUY2SGxCVU9rTklTV2xGUkVreVVtdEZOVTVFU1hsU2FrWkRVa1JKZWs1NldRJTNEJTNEmgIiUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaQ%3D%3D", - "request": "CONTINUATION_REQUEST_TYPE_BROWSE" - } - } - ] - } - } - } - } - ], - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "isEditable": false, - "canReorder": false, - "trackingParams": "CCcQ7zsYACITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "targetId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi" - } - } - ], - "trackingParams": "CCYQuy8YACITCPTK0YmQj4wDFRbUSQcdJVgpSQ==" - } - }, - { - "continuationItemRenderer": { - "trigger": "CONTINUATION_TRIGGER_ON_ITEM_SHOWN", - "continuationEndpoint": { - "clickTrackingParams": "CCUQui8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/browse" - } - }, - "continuationCommand": { - "token": "4qmFsgJXEiRWTFBMYlpJUHkyMC0xcE43bXFqY2tlcFdGNzhuZGI2Y2lfcWkaCGtnRURDT01JmgIkVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp", - "request": "CONTINUATION_REQUEST_TYPE_BROWSE" - } - } - } - } - ], - "trackingParams": "CCUQui8iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "targetId": "VLPLbZIPy20-1pN7mqjckepWF78ndb6ci_qi" - } - }, - "trackingParams": "CCQQ8JMBGAUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - } - ] - } - }, - "header": { - "pageHeaderRenderer": { - "pageTitle": "Best Playlist Ever", - "content": { - "pageHeaderViewModel": { - "title": { - "dynamicTextViewModel": { - "text": { - "content": "Best Playlist Ever" - }, - "rendererContext": { - "loggingContext": { - "loggingDirectives": { - "trackingParams": "CCMQj-QKIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "visibility": { - "types": "12" - }, - "clientVeSpec": { - "uiType": 176655, - "veCounter": 756702802 - } - } - } - } - } - }, - "metadata": { - "contentMetadataViewModel": { - "metadataRows": [ - { - "metadataParts": [ - { - "avatarStack": { - "avatarStackViewModel": { - "avatars": [ - { - "avatarViewModel": { - "image": { - "sources": [ - { - "url": "https://yt3.ggpht.com/ytc/AIdro_lnbL6YypBNVFyLten4oxg0kqn4v8PKdy3hT-iTVnMhewU=s48-c-k-c0x00ffffff-no-rj", - "width": 48, - "height": 48 - } - ], - "processor": { - "borderImageProcessor": { - "circular": true - } - } - }, - "avatarImageSize": "AVATAR_SIZE_XS" - } - } - ], - "text": { - "content": "by Sérgio Cabral", - "commandRuns": [ - { - "startIndex": 0, - "length": 16, - "onTap": { - "innertubeCommand": { - "clickTrackingParams": "CCIQi6ULIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@sergiocabral9103", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCzMzwgvr4KncCyY-BsiH2fw", - "canonicalBaseUrl": "/@sergiocabral9103" - } - } - } - } - ], - "styleRuns": [ - { - "startIndex": 0, - "length": 16, - "fontColor": 4294967295, - "weightLabel": "FONT_WEIGHT_NORMAL" - } - ] - }, - "rendererContext": { - "loggingContext": { - "loggingDirectives": { - "trackingParams": "CCIQi6ULIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "visibility": { - "types": "12" - }, - "clientVeSpec": { - "uiType": 184971, - "veCounter": 756702801 - } - } - }, - "accessibilityContext": { - "label": "by Sérgio Cabral" - }, - "commandContext": { - "onTap": { - "innertubeCommand": { - "clickTrackingParams": "CCIQi6ULIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@sergiocabral9103", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCzMzwgvr4KncCyY-BsiH2fw", - "canonicalBaseUrl": "/@sergiocabral9103" - } - } - } - } - } - } - } - } - ] - }, - { - "metadataParts": [ - { - "text": { - "content": "Playlist" - } - }, - { - "text": { - "content": "178 videos" - } - }, - { - "text": { - "content": "8,564,258 views" - } - } - ] - } - ], - "delimiter": "•", - "rendererContext": { - "loggingContext": { - "loggingDirectives": { - "trackingParams": "CCEQ9eQKIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "visibility": { - "types": "12" - }, - "clientVeSpec": { - "uiType": 176757, - "veCounter": 756702800 - } - } - } - } - } - }, - "actions": { - "flexibleActionsViewModel": { - "actionsRows": [ - { - "actions": [ - { - "buttonViewModel": { - "iconName": "PLAY_ARROW", - "title": "Play all", - "onTap": { - "innertubeCommand": { - "clickTrackingParams": "CCAQ2M8CGAEiEwj0ytGJkI-MAxUW1EkHHSVYKUlaJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBAxD6LA==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=dvgZkm1xWPE&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "dvgZkm1xWPE", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr4---sn-h0jeln7l.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=76f819926d7158f1&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - } - }, - "accessibilityText": "Play all", - "style": "BUTTON_VIEW_MODEL_STYLE_OVERLAY", - "trackingParams": "CCAQ2M8CGAEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "isFullWidth": false, - "type": "BUTTON_VIEW_MODEL_TYPE_FILLED", - "buttonSize": "BUTTON_VIEW_MODEL_SIZE_DEFAULT" - } - }, - { - "toggleButtonViewModel": { - "defaultButtonViewModel": { - "buttonViewModel": { - "iconName": "PLAYLIST_ADD", - "onTap": { - "innertubeCommand": { - "clickTrackingParams": "CBwQjqULIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "ignoreNavigation": true - } - }, - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "simpleText": "Want to save this playlist?" - }, - "content": { - "simpleText": "Sign in to save this playlist." - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "size": "SIZE_DEFAULT", - "isDisabled": false, - "text": { - "simpleText": "Sign in" - }, - "navigationEndpoint": { - "clickTrackingParams": "CB8Q_IYEIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fplaylist%253Flist%253DPLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&hl=en&ec=66428", - "webPageType": "WEB_PAGE_TYPE_UNKNOWN", - "rootVe": 83769 - } - }, - "signInEndpoint": { - "nextEndpoint": { - "clickTrackingParams": "CB8Q_IYEIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "url": "/playlist?list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "webPageType": "WEB_PAGE_TYPE_PLAYLIST", - "rootVe": 5754, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "VLPLbZIPy20-1pN7mqjckepWF78ndb6ci_qi" - } - }, - "idamTag": "66428" - } - }, - "trackingParams": "CB8Q_IYEIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - } - } - } - } - } - }, - "accessibilityText": "Save playlist", - "style": "BUTTON_VIEW_MODEL_STYLE_OVERLAY", - "trackingParams": "CBwQjqULIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "isFullWidth": false, - "type": "BUTTON_VIEW_MODEL_TYPE_TONAL", - "buttonSize": "BUTTON_VIEW_MODEL_SIZE_DEFAULT", - "tooltip": "Save playlist" - } - }, - "toggledButtonViewModel": { - "buttonViewModel": { - "iconName": "PLAYLIST_ADD_CHECK", - "accessibilityText": "Remove from Library", - "style": "BUTTON_VIEW_MODEL_STYLE_OVERLAY", - "trackingParams": "CBwQjqULIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "isFullWidth": false, - "type": "BUTTON_VIEW_MODEL_TYPE_TONAL", - "buttonSize": "BUTTON_VIEW_MODEL_SIZE_DEFAULT", - "tooltip": "Remove from Library" - } - }, - "isToggled": false, - "identifier": "", - "trackingParams": "CBwQjqULIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "buttonViewModel": { - "iconName": "SHARE", - "onTap": { - "innertubeCommand": { - "clickTrackingParams": "CBwQjqULIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "EiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp", - "commands": [ - { - "clickTrackingParams": "CBwQjqULIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CB4QjmIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - } - }, - "accessibilityText": "Share", - "style": "BUTTON_VIEW_MODEL_STYLE_OVERLAY", - "trackingParams": "CBwQjqULIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "isFullWidth": false, - "type": "BUTTON_VIEW_MODEL_TYPE_TONAL", - "buttonSize": "BUTTON_VIEW_MODEL_SIZE_DEFAULT", - "tooltip": "Share" - } - }, - { - "buttonViewModel": { - "iconName": "MORE_VERT", - "onTap": { - "innertubeCommand": { - "clickTrackingParams": "CBwQjqULIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "showSheetCommand": { - "panelLoadingStrategy": { - "inlineContent": { - "sheetViewModel": { - "content": { - "listViewModel": { - "listItems": [ - { - "listItemViewModel": { - "title": { - "content": "Shuffle" - }, - "leadingImage": { - "sources": [ - { - "clientResource": { - "imageName": "SHUFFLE" - } - } - ] - }, - "rendererContext": { - "loggingContext": { - "loggingDirectives": { - "trackingParams": "CB0QsssCGAUiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - "commandContext": { - "onTap": { - "innertubeCommand": { - "clickTrackingParams": "CB0QsssCGAUiEwj0ytGJkI-MAxUW1EkHHSVYKUlaJFZMUExiWklQeTIwLTFwTjdtcWpja2VwV0Y3OG5kYjZjaV9xaZoBAxD6LA==", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=3EBz2baAGHo&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "3EBz2baAGHo", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "params": "CN0_IEo%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr1---sn-h0jeln7l.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=dc4073d9b680187a&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - } - } - } - } - } - }, - { - "listItemViewModel": { - "title": { - "content": "Show unavailable videos" - }, - "leadingImage": { - "sources": [ - { - "clientResource": { - "imageName": "VISIBILITY" - } - } - ] - }, - "rendererContext": { - "commandContext": { - "onTap": { - "innertubeCommand": { - "clickTrackingParams": "CBwQjqULIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "url": "/playlist?list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "webPageType": "WEB_PAGE_TYPE_PLAYLIST", - "rootVe": 5754, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "VLPLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "params": "wgYCCAA%3D", - "nofollow": true, - "navigationType": "BROWSE_NAVIGATION_TYPE_LOAD_IN_PLACE" - } - } - } - } - } - } - } - ] - } - } - } - } - } - } - } - }, - "accessibilityText": "More actions", - "style": "BUTTON_VIEW_MODEL_STYLE_OVERLAY", - "trackingParams": "CBwQjqULIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "isFullWidth": false, - "type": "BUTTON_VIEW_MODEL_TYPE_TONAL", - "buttonSize": "BUTTON_VIEW_MODEL_SIZE_DEFAULT", - "state": "BUTTON_VIEW_MODEL_STATE_ACTIVE", - "enableIconButton": true - } - } - ] - } - ], - "minimumRowHeight": 44, - "rendererContext": { - "loggingContext": { - "loggingDirectives": { - "trackingParams": "CBwQjqULIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "visibility": { - "types": "12" - }, - "clientVeSpec": { - "uiType": 184974, - "veCounter": 756702799 - } - } - } - } - } - }, - "description": { - "descriptionPreviewViewModel": { - "truncationText": { - "content": "...more", - "styleRuns": [ - { - "startIndex": 0, - "length": 7, - "weight": 500 - } - ] - }, - "rendererContext": { - "loggingContext": { - "loggingDirectives": { - "trackingParams": "CBsQr_4KIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "visibility": { - "types": "12" - }, - "clientVeSpec": { - "uiType": 180015, - "veCounter": 756702798 - } - } - } - } - } - }, - "heroImage": { - "contentPreviewImageViewModel": { - "image": { - "sources": [ - { - "url": "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEWCKgBEF5IWvKriqkDCQgBFQAAiEIYAQ==&rs=AOn4CLBa5-Dz5la0fxHv3a4MwFR7DIYJoA", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEWCMQBEG5IWvKriqkDCQgBFQAAiEIYAQ==&rs=AOn4CLAxCkSRDuuvRO6BrdC3iHNiDbu3Jg", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEXCPYBEIoBSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLDraZ8FZUZsrqXXxwMErPyqS-dEqg", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEXCNACELwBSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAHTfmPcI3oRi3eFeNejHBCi1KKrw", - "width": 336, - "height": 188 - } - ] - }, - "style": "CONTENT_PREVIEW_IMAGE_STYLE_HORIZONTAL_RECTANGLE_16_BY_9", - "layoutMode": "CONTENT_PREVIEW_IMAGE_LAYOUT_MODE_FULL_WIDTH", - "overlays": [ - { - "thumbnailHoverOverlayViewModel": { - "icon": { - "sources": [ - { - "clientResource": { - "imageName": "PLAY_ALL" - } - } - ] - }, - "text": { - "content": "Play all", - "styleRuns": [ - { - "startIndex": 0, - "length": 8 - } - ] - }, - "style": "THUMBNAIL_HOVER_OVERLAY_STYLE_COVER", - "rendererContext": { - "commandContext": { - "onTap": { - "innertubeCommand": { - "clickTrackingParams": "CBoQiqULIhMI9MrRiZCPjAMVFtRJBx0lWClJWiRWTFBMYlpJUHkyMC0xcE43bXFqY2tlcFdGNzhuZGI2Y2lfcWmaAQMQ-iw=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=dvgZkm1xWPE&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "dvgZkm1xWPE", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr4---sn-h0jeln7l.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=76f819926d7158f1&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - } - } - } - } - } - } - ], - "rendererContext": { - "loggingContext": { - "loggingDirectives": { - "trackingParams": "CBoQiqULIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "visibility": { - "types": "12" - }, - "clientVeSpec": { - "uiType": 184970, - "veCounter": 756702797 - } - } - }, - "accessibilityContext": { - "label": "Play all" - } - } - } - }, - "background": { - "cinematicContainerViewModel": { - "backgroundImageConfig": { - "image": { - "sources": [ - { - "url": "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEWCKgBEF5IWvKriqkDCQgBFQAAiEIYAQ==&rs=AOn4CLBa5-Dz5la0fxHv3a4MwFR7DIYJoA", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEWCMQBEG5IWvKriqkDCQgBFQAAiEIYAQ==&rs=AOn4CLAxCkSRDuuvRO6BrdC3iHNiDbu3Jg", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEXCPYBEIoBSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLDraZ8FZUZsrqXXxwMErPyqS-dEqg", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEXCNACELwBSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAHTfmPcI3oRi3eFeNejHBCi1KKrw", - "width": 336, - "height": 188 - } - ] - } - }, - "gradientColorConfig": [ - { - "lightThemeColor": 3430039843, - "darkThemeColor": 3430039843, - "startLocation": 0 - }, - { - "lightThemeColor": 1282556195, - "darkThemeColor": 1282556195, - "startLocation": 0.33 - }, - { - "lightThemeColor": 3430039843, - "darkThemeColor": 4279176975, - "startLocation": 1 - } - ], - "config": { - "lightThemeBackgroundColor": 4285677859, - "darkThemeBackgroundColor": 4285677859, - "colorSourceSizeMultiplier": 2, - "applyClientImageBlur": true - } - } - }, - "hasTopbarAnimation": true, - "enableFlexibleActionsButtonsWrapper": false, - "rendererContext": { - "loggingContext": { - "loggingDirectives": { - "trackingParams": "CBkQot8KIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "visibility": { - "types": "12" - }, - "clientVeSpec": { - "uiType": 176034, - "veCounter": 756702796 - } - } - } - } - } - }, - "enableSidebarView": true - } - }, - "alerts": [ - { - "alertWithButtonRenderer": { - "type": "INFO", - "text": { - "simpleText": "Unavailable videos are hidden" - }, - "dismissButton": { - "buttonRenderer": { - "style": "STYLE_DEFAULT", - "size": "SIZE_DEFAULT", - "isDisabled": false, - "icon": { - "iconType": "CLOSE" - }, - "trackingParams": "CBgQ8FsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibilityData": { - "accessibilityData": { - "label": "Dismiss" - } - } - } - } - } - } - ], - "metadata": { - "playlistMetadataRenderer": { - "title": "Best Playlist Ever", - "androidAppindexingLink": "android-app://com.google.android.youtube/http/www.youtube.com/playlist?list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "iosAppindexingLink": "ios-app://544007664/vnd.youtube/www.youtube.com/playlist?list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi" - } - }, - "trackingParams": "CAAQhGciEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "topbar": { - "desktopTopbarRenderer": { - "logo": { - "topbarLogoRenderer": { - "iconImage": { - "iconType": "YOUTUBE_LOGO" - }, - "tooltipText": { - "runs": [ - { - "text": "YouTube Home" - } - ] - }, - "endpoint": { - "clickTrackingParams": "CBcQsV4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/", - "webPageType": "WEB_PAGE_TYPE_BROWSE", - "rootVe": 3854, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "FEwhat_to_watch" - } - }, - "trackingParams": "CBcQsV4iEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "overrideEntityKey": "EgZ0b3BiYXIg9QEoAQ%3D%3D" - } - }, - "searchbox": { - "fusionSearchboxRenderer": { - "icon": { - "iconType": "SEARCH" - }, - "placeholderText": { - "runs": [ - { - "text": "Search" - } - ] - }, - "config": { - "webSearchboxConfig": { - "requestLanguage": "en", - "requestDomain": "us", - "hasOnscreenKeyboard": false, - "focusSearchbox": true - } - }, - "trackingParams": "CBUQ7VAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "searchEndpoint": { - "clickTrackingParams": "CBUQ7VAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/results?search_query=", - "webPageType": "WEB_PAGE_TYPE_SEARCH", - "rootVe": 4724 - } - }, - "searchEndpoint": { - "query": "" - } - }, - "clearButton": { - "buttonRenderer": { - "style": "STYLE_DEFAULT", - "size": "SIZE_DEFAULT", - "isDisabled": false, - "icon": { - "iconType": "CLOSE" - }, - "trackingParams": "CBYQ8FsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibilityData": { - "accessibilityData": { - "label": "Clear search query" - } - } - } - } - } - }, - "trackingParams": "CAwQq6wBIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "topbarButtons": [ - { - "topbarMenuButtonRenderer": { - "icon": { - "iconType": "MORE_VERT" - }, - "menuRequest": { - "clickTrackingParams": "CBMQ_qsBGAAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/account/account_menu" - } - }, - "signalServiceEndpoint": { - "signal": "GET_ACCOUNT_MENU", - "actions": [ - { - "clickTrackingParams": "CBMQ_qsBGAAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "openPopupAction": { - "popup": { - "multiPageMenuRenderer": { - "trackingParams": "CBQQ_6sBIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "style": "MULTI_PAGE_MENU_STYLE_TYPE_SYSTEM", - "showLoadingSpinner": true - } - }, - "popupType": "DROPDOWN", - "beReused": true - } - } - ] - } - }, - "trackingParams": "CBMQ_qsBGAAiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "accessibility": { - "accessibilityData": { - "label": "Settings" - } - }, - "tooltip": "Settings", - "style": "STYLE_DEFAULT" - } - }, - { - "buttonRenderer": { - "style": "STYLE_SUGGESTIVE", - "size": "SIZE_SMALL", - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "icon": { - "iconType": "AVATAR_LOGGED_OUT" - }, - "navigationEndpoint": { - "clickTrackingParams": "CBIQ1IAEGAEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3Dhttps%253A%252F%252Fwww.youtube.com%252Fyoutubei%252Fv1%252Fbrowse%253FprettyPrint%253Dfalse&hl=en&ec=65620", - "webPageType": "WEB_PAGE_TYPE_UNKNOWN", - "rootVe": 83769 - } - }, - "signInEndpoint": { - "idamTag": "65620" - } - }, - "trackingParams": "CBIQ1IAEGAEiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "targetId": "topbar-signin" - } - } - ], - "hotkeyDialog": { - "hotkeyDialogRenderer": { - "title": { - "runs": [ - { - "text": "Keyboard shortcuts" - } - ] - }, - "sections": [ - { - "hotkeyDialogSectionRenderer": { - "title": { - "runs": [ - { - "text": "Playback" - } - ] - }, - "options": [ - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Toggle play/pause" - } - ] - }, - "hotkey": "k" - } - }, - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Rewind 10 seconds" - } - ] - }, - "hotkey": "j" - } - }, - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Fast forward 10 seconds" - } - ] - }, - "hotkey": "l" - } - }, - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Previous video" - } - ] - }, - "hotkey": "P (SHIFT+p)" - } - }, - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Next video" - } - ] - }, - "hotkey": "N (SHIFT+n)" - } - }, - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Previous frame (while paused)" - } - ] - }, - "hotkey": ",", - "hotkeyAccessibilityLabel": { - "accessibilityData": { - "label": "Comma" - } - } - } - }, - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Next frame (while paused)" - } - ] - }, - "hotkey": ".", - "hotkeyAccessibilityLabel": { - "accessibilityData": { - "label": "Period" - } - } - } - }, - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Decrease playback rate" - } - ] - }, - "hotkey": "< (SHIFT+,)", - "hotkeyAccessibilityLabel": { - "accessibilityData": { - "label": "Less than or SHIFT + comma" - } - } - } - }, - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Increase playback rate" - } - ] - }, - "hotkey": "> (SHIFT+.)", - "hotkeyAccessibilityLabel": { - "accessibilityData": { - "label": "Greater than or SHIFT + period" - } - } - } - }, - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Seek to specific point in the video (7 advances to 70% of duration)" - } - ] - }, - "hotkey": "0..9" - } - }, - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Seek to previous chapter" - } - ] - }, - "hotkey": "CONTROL + ←" - } - }, - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Seek to next chapter" - } - ] - }, - "hotkey": "CONTROL + →" - } - } - ] - } - }, - { - "hotkeyDialogSectionRenderer": { - "title": { - "runs": [ - { - "text": "General" - } - ] - }, - "options": [ - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Toggle full screen" - } - ] - }, - "hotkey": "f" - } - }, - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Toggle theater mode" - } - ] - }, - "hotkey": "t" - } - }, - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Toggle miniplayer" - } - ] - }, - "hotkey": "i" - } - }, - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Close miniplayer or current dialog" - } - ] - }, - "hotkey": "ESCAPE" - } - }, - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Toggle mute" - } - ] - }, - "hotkey": "m" - } - } - ] - } - }, - { - "hotkeyDialogSectionRenderer": { - "title": { - "runs": [ - { - "text": "Subtitles and closed captions" - } - ] - }, - "options": [ - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "If the video supports captions, toggle captions ON/OFF" - } - ] - }, - "hotkey": "c" - } - }, - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Rotate through different text opacity levels" - } - ] - }, - "hotkey": "o" - } - }, - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Rotate through different window opacity levels" - } - ] - }, - "hotkey": "w" - } - }, - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Rotate through font sizes (increasing)" - } - ] - }, - "hotkey": "+" - } - }, - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Rotate through font sizes (decreasing)" - } - ] - }, - "hotkey": "-", - "hotkeyAccessibilityLabel": { - "accessibilityData": { - "label": "Minus" - } - } - } - } - ] - } - }, - { - "hotkeyDialogSectionRenderer": { - "title": { - "runs": [ - { - "text": "Spherical Videos" - } - ] - }, - "options": [ - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Pan up" - } - ] - }, - "hotkey": "w" - } - }, - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Pan left" - } - ] - }, - "hotkey": "a" - } - }, - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Pan down" - } - ] - }, - "hotkey": "s" - } - }, - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Pan right" - } - ] - }, - "hotkey": "d" - } - }, - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Zoom in" - } - ] - }, - "hotkey": "+ on numpad or ]", - "hotkeyAccessibilityLabel": { - "accessibilityData": { - "label": "Plus on number pad or right bracket" - } - } - } - }, - { - "hotkeyDialogSectionOptionRenderer": { - "label": { - "runs": [ - { - "text": "Zoom out" - } - ] - }, - "hotkey": "- on numpad or [", - "hotkeyAccessibilityLabel": { - "accessibilityData": { - "label": "Minus on number pad or left bracket" - } - } - } - } - ] - } - } - ], - "dismissButton": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "size": "SIZE_DEFAULT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Dismiss" - } - ] - }, - "trackingParams": "CBEQ8FsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - "trackingParams": "CBAQteYDIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - "backButton": { - "buttonRenderer": { - "trackingParams": "CA8QvIYDIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "command": { - "clickTrackingParams": "CA8QvIYDIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CA8QvIYDIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "signalAction": { - "signal": "HISTORY_BACK" - } - } - ] - } - } - } - }, - "forwardButton": { - "buttonRenderer": { - "trackingParams": "CA4QvYYDIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "command": { - "clickTrackingParams": "CA4QvYYDIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CA4QvYYDIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "signalAction": { - "signal": "HISTORY_FORWARD" - } - } - ] - } - } - } - }, - "a11ySkipNavigationButton": { - "buttonRenderer": { - "style": "STYLE_DEFAULT", - "size": "SIZE_DEFAULT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Skip navigation" - } - ] - }, - "trackingParams": "CA0Q8FsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "command": { - "clickTrackingParams": "CA0Q8FsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true - } - }, - "signalServiceEndpoint": { - "signal": "CLIENT_SIGNAL", - "actions": [ - { - "clickTrackingParams": "CA0Q8FsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "signalAction": { - "signal": "SKIP_NAVIGATION" - } - } - ] - } - } - } - } - } - }, - "microformat": { - "microformatDataRenderer": { - "urlCanonical": "http://www.youtube.com/playlist?list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "title": "Best Playlist Ever", - "description": "", - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLDiH5aMif3GJkOv27DWLoiU_TQKUg&days_since_epoch=20163", - "width": 480, - "height": 270 - } - ], - "sampledThumbnailColor": { - "red": 114, - "green": 65, - "blue": 35 - }, - "darkColorPalette": { - "section2Color": 3349775, - "iconInactiveColor": 9666934, - "iconDisabledColor": 6312521 - }, - "vibrantColorPalette": { - "iconInactiveColor": 10058859 - } - }, - "siteName": "YouTube", - "appName": "YouTube", - "androidPackage": "com.google.android.youtube", - "iosAppStoreId": "544007664", - "iosAppArguments": "http://www.youtube.com/playlist?list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "ogType": "website", - "urlApplinksWeb": "http://www.youtube.com/playlist?list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&feature=applinks", - "urlApplinksIos": "http://www.youtube.com/playlist?list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&feature=applinks", - "urlApplinksAndroid": "http://www.youtube.com/playlist?list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&feature=applinks", - "urlTwitterIos": "http://www.youtube.com/playlist?list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&feature=twitter-deep-link", - "urlTwitterAndroid": "http://www.youtube.com/playlist?list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&feature=twitter-deep-link", - "twitterCardType": "summary", - "twitterSiteHandle": "@YouTube", - "schemaDotOrgType": "http://schema.org/WebPage", - "noindex": false, - "unlisted": false, - "linkAlternates": [ - { - "hrefUrl": "http://www.youtube.com/playlist?list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi" - }, - { - "hrefUrl": "android-app://com.google.android.youtube/http/youtube.comhttp://www.youtube.com/playlist?list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi" - }, - { - "hrefUrl": "ios-app://544007664/http/youtube.comhttp://www.youtube.com/playlist?list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi" - } - ] - } - }, - "sidebar": { - "playlistSidebarRenderer": { - "items": [ - { - "playlistSidebarPrimaryInfoRenderer": { - "thumbnailRenderer": { - "playlistVideoThumbnailRenderer": { - "thumbnail": { - "thumbnails": [ - { - "url": "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEWCKgBEF5IWvKriqkDCQgBFQAAiEIYAQ==&rs=AOn4CLBa5-Dz5la0fxHv3a4MwFR7DIYJoA", - "width": 168, - "height": 94 - }, - { - "url": "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEWCMQBEG5IWvKriqkDCQgBFQAAiEIYAQ==&rs=AOn4CLAxCkSRDuuvRO6BrdC3iHNiDbu3Jg", - "width": 196, - "height": 110 - }, - { - "url": "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEXCPYBEIoBSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLDraZ8FZUZsrqXXxwMErPyqS-dEqg", - "width": 246, - "height": 138 - }, - { - "url": "https://i.ytimg.com/vi/dvgZkm1xWPE/hqdefault.jpg?sqp=-oaymwEXCNACELwBSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAHTfmPcI3oRi3eFeNejHBCi1KKrw", - "width": 336, - "height": 188 - } - ] - }, - "trackingParams": "CAsQy-wJIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - "title": { - "runs": [ - { - "text": "Best Playlist Ever", - "navigationEndpoint": { - "clickTrackingParams": "CAEQk-8CIhMI9MrRiZCPjAMVFtRJBx0lWClJWiRWTFBMYlpJUHkyMC0xcE43bXFqY2tlcFdGNzhuZGI2Y2lfcWmaAQMQ-iw=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=dvgZkm1xWPE&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "dvgZkm1xWPE", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr4---sn-h0jeln7l.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=76f819926d7158f1&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - } - } - ] - }, - "stats": [ - { - "runs": [ - { - "text": "178" - }, - { - "text": " videos" - } - ] - }, - { - "simpleText": "8,564,258 views" - }, - { - "runs": [ - { - "text": "Last updated on " - }, - { - "text": "Oct 11, 2024" - } - ] - } - ], - "menu": { - "menuRenderer": { - "items": [ - { - "menuNavigationItemRenderer": { - "text": { - "simpleText": "Show unavailable videos" - }, - "icon": { - "iconType": "VISIBILITY" - }, - "navigationEndpoint": { - "clickTrackingParams": "CAEQk-8CIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "url": "/playlist?list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "webPageType": "WEB_PAGE_TYPE_PLAYLIST", - "rootVe": 5754, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "VLPLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "params": "wgYCCAA%3D", - "nofollow": true, - "navigationType": "BROWSE_NAVIGATION_TYPE_LOAD_IN_PLACE" - } - }, - "trackingParams": "CAEQk-8CIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - }, - { - "menuNavigationItemRenderer": { - "text": { - "simpleText": "Report playlist" - }, - "icon": { - "iconType": "FLAG" - }, - "navigationEndpoint": { - "clickTrackingParams": "CAEQk-8CIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "ignoreNavigation": true - } - }, - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "simpleText": "Need to report the playlist?" - }, - "content": { - "simpleText": "Sign in to report inappropriate content." - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BRAND", - "size": "SIZE_DEFAULT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Sign in" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CAoQ8FsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fchannel%252FPLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&hl=en", - "webPageType": "WEB_PAGE_TYPE_UNKNOWN", - "rootVe": 83769 - } - }, - "signInEndpoint": { - "nextEndpoint": { - "clickTrackingParams": "CAoQ8FsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/channel/PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "webPageType": "WEB_PAGE_TYPE_BROWSE", - "rootVe": 6827, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi" - } - } - } - }, - "trackingParams": "CAoQ8FsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - } - } - } - } - }, - "trackingParams": "CAEQk-8CIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - } - ], - "trackingParams": "CAEQk-8CIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "topLevelButtons": [ - { - "toggleButtonRenderer": { - "style": { - "styleType": "STYLE_TEXT" - }, - "size": { - "sizeType": "SIZE_DEFAULT" - }, - "isToggled": false, - "isDisabled": false, - "defaultIcon": { - "iconType": "PLAYLIST_ADD" - }, - "toggledIcon": { - "iconType": "PLAYLIST_ADD_CHECK" - }, - "trackingParams": "CAgQmE0YCSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "defaultTooltip": "Save playlist", - "toggledTooltip": "Remove from Library", - "defaultNavigationEndpoint": { - "clickTrackingParams": "CAgQmE0YCSITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "ignoreNavigation": true - } - }, - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "simpleText": "Want to save this playlist?" - }, - "content": { - "simpleText": "Sign in to save this playlist." - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "size": "SIZE_DEFAULT", - "isDisabled": false, - "text": { - "simpleText": "Sign in" - }, - "navigationEndpoint": { - "clickTrackingParams": "CAkQ_IYEIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fplaylist%253Flist%253DPLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&hl=en&ec=66428", - "webPageType": "WEB_PAGE_TYPE_UNKNOWN", - "rootVe": 83769 - } - }, - "signInEndpoint": { - "nextEndpoint": { - "clickTrackingParams": "CAkQ_IYEIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "url": "/playlist?list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "webPageType": "WEB_PAGE_TYPE_PLAYLIST", - "rootVe": 5754, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "VLPLbZIPy20-1pN7mqjckepWF78ndb6ci_qi" - } - }, - "idamTag": "66428" - } - }, - "trackingParams": "CAkQ_IYEIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - } - } - } - } - }, - "accessibilityData": { - "accessibilityData": { - "label": "Save playlist" - } - }, - "toggledAccessibilityData": { - "accessibilityData": { - "label": "Remove from Library" - } - } - } - }, - { - "buttonRenderer": { - "style": "STYLE_TEXT", - "size": "SIZE_DEFAULT", - "isDisabled": false, - "icon": { - "iconType": "SHUFFLE" - }, - "navigationEndpoint": { - "clickTrackingParams": "CAcQ8FsYCiITCPTK0YmQj4wDFRbUSQcdJVgpSVokVkxQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3FpmgEDEPos", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=6_5D4y6x-oo&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "6_5D4y6x-oo", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "params": "CKslIEI%3D", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr1---sn-h0jelne7.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=ebfe43e32eb1fa8a&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "accessibility": { - "label": "Shuffle play" - }, - "tooltip": "Shuffle play", - "trackingParams": "CAcQ8FsYCiITCPTK0YmQj4wDFRbUSQcdJVgpSQ==" - } - }, - { - "buttonRenderer": { - "style": "STYLE_DEFAULT", - "size": "SIZE_DEFAULT", - "isDisabled": false, - "serviceEndpoint": { - "clickTrackingParams": "CAUQ8FsYCyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "commandMetadata": { - "webCommandMetadata": { - "sendPost": true, - "apiUrl": "/youtubei/v1/share/get_share_panel" - } - }, - "shareEntityServiceEndpoint": { - "serializedShareEntity": "EiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp", - "commands": [ - { - "clickTrackingParams": "CAUQ8FsYCyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==", - "openPopupAction": { - "popup": { - "unifiedSharePanelRenderer": { - "trackingParams": "CAYQjmIiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "showLoadingSpinner": true - } - }, - "popupType": "DIALOG", - "beReused": true - } - } - ] - } - }, - "icon": { - "iconType": "SHARE" - }, - "accessibility": { - "label": "Share" - }, - "tooltip": "Share", - "trackingParams": "CAUQ8FsYCyITCPTK0YmQj4wDFRbUSQcdJVgpSQ==" - } - } - ], - "accessibility": { - "accessibilityData": { - "label": "Action menu" - } - }, - "targetId": "playlist-browse-action-menu" - } - }, - "thumbnailOverlays": [ - { - "thumbnailOverlaySidePanelRenderer": { - "text": { - "simpleText": "PLAY ALL" - }, - "icon": { - "iconType": "PLAY_ALL" - } - } - } - ], - "navigationEndpoint": { - "clickTrackingParams": "CAEQk-8CIhMI9MrRiZCPjAMVFtRJBx0lWClJWiRWTFBMYlpJUHkyMC0xcE43bXFqY2tlcFdGNzhuZGI2Y2lfcWmaAQMQ-iw=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/watch?v=dvgZkm1xWPE&list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi&pp=iAQB8AUB", - "webPageType": "WEB_PAGE_TYPE_WATCH", - "rootVe": 3832 - } - }, - "watchEndpoint": { - "videoId": "dvgZkm1xWPE", - "playlistId": "PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "playerParams": "iAQB8AUB", - "loggingContext": { - "vssLoggingContext": { - "serializedContextData": "GiJQTGJaSVB5MjAtMXBON21xamNrZXBXRjc4bmRiNmNpX3Fp" - } - }, - "watchEndpointSupportedOnesieConfig": { - "html5PlaybackOnesieConfig": { - "commonConfig": { - "url": "https://rr4---sn-h0jeln7l.googlevideo.com/initplayback?source=youtube&oeis=1&c=WEB&oad=3200&ovd=3200&oaad=11000&oavd=11000&ocs=700&oewis=1&oputc=1&ofpcc=1&msp=1&odepv=1&id=76f819926d7158f1&ip=79.205.211.19&initcwndbps=2672500&mt=1742145895&oweuc=" - } - } - } - } - }, - "description": {}, - "showMoreText": { - "runs": [ - { - "text": "Show more" - } - ] - } - } - }, - { - "playlistSidebarSecondaryInfoRenderer": { - "videoOwner": { - "videoOwnerRenderer": { - "thumbnail": { - "thumbnails": [ - { - "url": "https://yt3.ggpht.com/ytc/AIdro_lnbL6YypBNVFyLten4oxg0kqn4v8PKdy3hT-iTVnMhewU=s48-c-k-c0x00ffffff-no-rj", - "width": 48, - "height": 48 - }, - { - "url": "https://yt3.ggpht.com/ytc/AIdro_lnbL6YypBNVFyLten4oxg0kqn4v8PKdy3hT-iTVnMhewU=s88-c-k-c0x00ffffff-no-rj", - "width": 88, - "height": 88 - }, - { - "url": "https://yt3.ggpht.com/ytc/AIdro_lnbL6YypBNVFyLten4oxg0kqn4v8PKdy3hT-iTVnMhewU=s176-c-k-c0x00ffffff-no-rj", - "width": 176, - "height": 176 - } - ] - }, - "title": { - "runs": [ - { - "text": "Sérgio Cabral", - "navigationEndpoint": { - "clickTrackingParams": "CAQQ4TkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@sergiocabral9103", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCzMzwgvr4KncCyY-BsiH2fw", - "canonicalBaseUrl": "/@sergiocabral9103" - } - } - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CAQQ4TkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "url": "/@sergiocabral9103", - "webPageType": "WEB_PAGE_TYPE_CHANNEL", - "rootVe": 3611, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "UCzMzwgvr4KncCyY-BsiH2fw", - "canonicalBaseUrl": "/@sergiocabral9103" - } - }, - "trackingParams": "CAQQ4TkiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - }, - "button": { - "buttonRenderer": { - "style": "STYLE_DESTRUCTIVE", - "size": "SIZE_DEFAULT", - "isDisabled": false, - "text": { - "runs": [ - { - "text": "Subscribe" - } - ] - }, - "navigationEndpoint": { - "clickTrackingParams": "CAIQ8FsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=", - "commandMetadata": { - "webCommandMetadata": { - "ignoreNavigation": true - } - }, - "modalEndpoint": { - "modal": { - "modalWithTitleAndButtonRenderer": { - "title": { - "simpleText": "Want to subscribe to this channel?" - }, - "content": { - "simpleText": "Sign in to subscribe to this channel." - }, - "button": { - "buttonRenderer": { - "style": "STYLE_BLUE_TEXT", - "size": "SIZE_DEFAULT", - "isDisabled": false, - "text": { - "simpleText": "Sign in" - }, - "navigationEndpoint": { - "clickTrackingParams": "CAMQ_YYEIhMI9MrRiZCPjAMVFtRJBx0lWClJMglzdWJzY3JpYmU=", - "commandMetadata": { - "webCommandMetadata": { - "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fplaylist%253Flist%253DPLbZIPy20-1pN7mqjckepWF78ndb6ci_qi%26continue_action%3DQUFFLUhqbHo0a21pLXdBQmdNNU9xYjNtaEFXYUxQRXlTUXxBQ3Jtc0ttRVpzeV9iVnpCa0x1bTZxS2ZHNGFtRDZLeVVDT0xGM3pTU1hpN2dwdUFaSVFoQXh5V3VVbEdDTXRDSDVET2dNVzBqSGVBc08zUkd1RTdOMGFyMlY5b1F6RllCQTcxSDNMaTl0TkQtVzFDMU5WYlhFTVZNbjJ4dlQyWWwyV1l0aU9WSGpDYmk5R294ZElCUGp3SVg2SEdzbTJualFFTjRwZEtwQ09wZFZfX2pWNWhpdGg4NGRuZnFBaG53LWQ1ZG42N2ZjbzE&hl=en&ec=66429", - "webPageType": "WEB_PAGE_TYPE_UNKNOWN", - "rootVe": 83769 - } - }, - "signInEndpoint": { - "nextEndpoint": { - "clickTrackingParams": "CAMQ_YYEIhMI9MrRiZCPjAMVFtRJBx0lWClJ", - "commandMetadata": { - "webCommandMetadata": { - "url": "/playlist?list=PLbZIPy20-1pN7mqjckepWF78ndb6ci_qi", - "webPageType": "WEB_PAGE_TYPE_PLAYLIST", - "rootVe": 5754, - "apiUrl": "/youtubei/v1/browse" - } - }, - "browseEndpoint": { - "browseId": "VLPLbZIPy20-1pN7mqjckepWF78ndb6ci_qi" - } - }, - "continueAction": "QUFFLUhqbHo0a21pLXdBQmdNNU9xYjNtaEFXYUxQRXlTUXxBQ3Jtc0ttRVpzeV9iVnpCa0x1bTZxS2ZHNGFtRDZLeVVDT0xGM3pTU1hpN2dwdUFaSVFoQXh5V3VVbEdDTXRDSDVET2dNVzBqSGVBc08zUkd1RTdOMGFyMlY5b1F6RllCQTcxSDNMaTl0TkQtVzFDMU5WYlhFTVZNbjJ4dlQyWWwyV1l0aU9WSGpDYmk5R294ZElCUGp3SVg2SEdzbTJualFFTjRwZEtwQ09wZFZfX2pWNWhpdGg4NGRuZnFBaG53LWQ1ZG42N2ZjbzE", - "idamTag": "66429" - } - }, - "trackingParams": "CAMQ_YYEIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - } - } - } - } - }, - "trackingParams": "CAIQ8FsiEwj0ytGJkI-MAxUW1EkHHSVYKUk=" - } - } - } - } - ], - "trackingParams": "CAEQk-8CIhMI9MrRiZCPjAMVFtRJBx0lWClJ" - } - } -} diff --git a/tests/snapshots/youtube__music_album_audiobook.snap b/tests/snapshots/youtube__music_album_audiobook.snap index 7c5ce80..a1f0632 100644 --- a/tests/snapshots/youtube__music_album_audiobook.snap +++ b/tests/snapshots/youtube__music_album_audiobook.snap @@ -18,7 +18,6 @@ MusicAlbum( album_type: audiobook, year: Some(2022), by_va: false, - track_count: 319, tracks: [ TrackItem( id: "F28BV_Y-970", @@ -35,7 +34,6 @@ MusicAlbum( track_type: track, track_nr: Some(1), by_va: false, - unavailable: false, ), TrackItem( id: "B12pddzDBAs", @@ -52,7 +50,6 @@ MusicAlbum( track_type: track, track_nr: Some(2), by_va: false, - unavailable: false, ), TrackItem( id: "J4jGyX1f998", @@ -69,7 +66,6 @@ MusicAlbum( track_type: track, track_nr: Some(3), by_va: false, - unavailable: false, ), TrackItem( id: "xSwgv3_59Jg", @@ -86,7 +82,6 @@ MusicAlbum( track_type: track, track_nr: Some(4), by_va: false, - unavailable: false, ), TrackItem( id: "WzmdYCTH-ZI", @@ -103,7 +98,6 @@ MusicAlbum( track_type: track, track_nr: Some(5), by_va: false, - unavailable: false, ), TrackItem( id: "5OQfpOqbaY8", @@ -120,7 +114,6 @@ MusicAlbum( track_type: track, track_nr: Some(6), by_va: false, - unavailable: false, ), TrackItem( id: "7UeTt_0QS1M", @@ -137,7 +130,6 @@ MusicAlbum( track_type: track, track_nr: Some(7), by_va: false, - unavailable: false, ), TrackItem( id: "2RP6xm9TWPA", @@ -154,7 +146,6 @@ MusicAlbum( track_type: track, track_nr: Some(8), by_va: false, - unavailable: false, ), TrackItem( id: "4EiyZzC98vA", @@ -171,7 +162,6 @@ MusicAlbum( track_type: track, track_nr: Some(9), by_va: false, - unavailable: false, ), TrackItem( id: "d7c18oVKGuw", @@ -188,7 +178,6 @@ MusicAlbum( track_type: track, track_nr: Some(10), by_va: false, - unavailable: false, ), TrackItem( id: "bKCEe30O-9E", @@ -205,7 +194,6 @@ MusicAlbum( track_type: track, track_nr: Some(11), by_va: false, - unavailable: false, ), TrackItem( id: "jzZVXzd-IgI", @@ -222,7 +210,6 @@ MusicAlbum( track_type: track, track_nr: Some(12), by_va: false, - unavailable: false, ), TrackItem( id: "A5GNL_YP6rc", @@ -239,7 +226,6 @@ MusicAlbum( track_type: track, track_nr: Some(13), by_va: false, - unavailable: false, ), TrackItem( id: "TihFSZ8IZHo", @@ -256,7 +242,6 @@ MusicAlbum( track_type: track, track_nr: Some(14), by_va: false, - unavailable: false, ), TrackItem( id: "1QfMUYC9BR8", @@ -273,7 +258,6 @@ MusicAlbum( track_type: track, track_nr: Some(15), by_va: false, - unavailable: false, ), TrackItem( id: "AhuZlNLGQK0", @@ -290,7 +274,6 @@ MusicAlbum( track_type: track, track_nr: Some(16), by_va: false, - unavailable: false, ), TrackItem( id: "Twrr-ReUadg", @@ -307,7 +290,6 @@ MusicAlbum( track_type: track, track_nr: Some(17), by_va: false, - unavailable: false, ), TrackItem( id: "F6JJmeRk3NY", @@ -324,7 +306,6 @@ MusicAlbum( track_type: track, track_nr: Some(18), by_va: false, - unavailable: false, ), TrackItem( id: "bERcihhazVQ", @@ -341,7 +322,6 @@ MusicAlbum( track_type: track, track_nr: Some(19), by_va: false, - unavailable: false, ), TrackItem( id: "zmsB0ixj4L8", @@ -358,7 +338,6 @@ MusicAlbum( track_type: track, track_nr: Some(20), by_va: false, - unavailable: false, ), TrackItem( id: "_AeZoRyNZ0Q", @@ -375,7 +354,6 @@ MusicAlbum( track_type: track, track_nr: Some(21), by_va: false, - unavailable: false, ), TrackItem( id: "iX_GlsDkgSs", @@ -392,7 +370,6 @@ MusicAlbum( track_type: track, track_nr: Some(22), by_va: false, - unavailable: false, ), TrackItem( id: "TdR76HsPNZI", @@ -409,7 +386,6 @@ MusicAlbum( track_type: track, track_nr: Some(23), by_va: false, - unavailable: false, ), TrackItem( id: "gz6e4SE3L_8", @@ -426,7 +402,6 @@ MusicAlbum( track_type: track, track_nr: Some(24), by_va: false, - unavailable: false, ), TrackItem( id: "jrZYEoLg1lY", @@ -443,7 +418,6 @@ MusicAlbum( track_type: track, track_nr: Some(25), by_va: false, - unavailable: false, ), TrackItem( id: "z4CRs-_heos", @@ -460,7 +434,6 @@ MusicAlbum( track_type: track, track_nr: Some(26), by_va: false, - unavailable: false, ), TrackItem( id: "RM8Jk0AhLNY", @@ -477,7 +450,6 @@ MusicAlbum( track_type: track, track_nr: Some(27), by_va: false, - unavailable: false, ), TrackItem( id: "mICWuD7UbpE", @@ -494,7 +466,6 @@ MusicAlbum( track_type: track, track_nr: Some(28), by_va: false, - unavailable: false, ), TrackItem( id: "ieJk5E2FrTQ", @@ -511,7 +482,6 @@ MusicAlbum( track_type: track, track_nr: Some(29), by_va: false, - unavailable: false, ), TrackItem( id: "DWa2LY_SXyQ", @@ -528,7 +498,6 @@ MusicAlbum( track_type: track, track_nr: Some(30), by_va: false, - unavailable: false, ), TrackItem( id: "vBzgEusfeIU", @@ -545,7 +514,6 @@ MusicAlbum( track_type: track, track_nr: Some(31), by_va: false, - unavailable: false, ), TrackItem( id: "t3U95rPrFrY", @@ -562,7 +530,6 @@ MusicAlbum( track_type: track, track_nr: Some(32), by_va: false, - unavailable: false, ), TrackItem( id: "F0HVKbHFXOA", @@ -579,7 +546,6 @@ MusicAlbum( track_type: track, track_nr: Some(33), by_va: false, - unavailable: false, ), TrackItem( id: "VB6RraDXSEM", @@ -596,7 +562,6 @@ MusicAlbum( track_type: track, track_nr: Some(34), by_va: false, - unavailable: false, ), TrackItem( id: "tqi9j41-xhU", @@ -613,7 +578,6 @@ MusicAlbum( track_type: track, track_nr: Some(35), by_va: false, - unavailable: false, ), TrackItem( id: "tyCtChD9gNY", @@ -630,7 +594,6 @@ MusicAlbum( track_type: track, track_nr: Some(36), by_va: false, - unavailable: false, ), TrackItem( id: "fn2pYeEM288", @@ -647,7 +610,6 @@ MusicAlbum( track_type: track, track_nr: Some(37), by_va: false, - unavailable: false, ), TrackItem( id: "1hphnoWnbFM", @@ -664,7 +626,6 @@ MusicAlbum( track_type: track, track_nr: Some(38), by_va: false, - unavailable: false, ), TrackItem( id: "cnige70U6nw", @@ -681,7 +642,6 @@ MusicAlbum( track_type: track, track_nr: Some(39), by_va: false, - unavailable: false, ), TrackItem( id: "N_DmWGxuDg8", @@ -698,7 +658,6 @@ MusicAlbum( track_type: track, track_nr: Some(40), by_va: false, - unavailable: false, ), TrackItem( id: "v536-IdXIqc", @@ -715,7 +674,6 @@ MusicAlbum( track_type: track, track_nr: Some(41), by_va: false, - unavailable: false, ), TrackItem( id: "ZkFmAt8MS90", @@ -732,7 +690,6 @@ MusicAlbum( track_type: track, track_nr: Some(42), by_va: false, - unavailable: false, ), TrackItem( id: "tzCu8HlkxDE", @@ -749,7 +706,6 @@ MusicAlbum( track_type: track, track_nr: Some(43), by_va: false, - unavailable: false, ), TrackItem( id: "mJGIaHm03Tc", @@ -766,7 +722,6 @@ MusicAlbum( track_type: track, track_nr: Some(44), by_va: false, - unavailable: false, ), TrackItem( id: "qsZee8A6QB0", @@ -783,7 +738,6 @@ MusicAlbum( track_type: track, track_nr: Some(45), by_va: false, - unavailable: false, ), TrackItem( id: "8Wpxs6QRqu4", @@ -800,7 +754,6 @@ MusicAlbum( track_type: track, track_nr: Some(46), by_va: false, - unavailable: false, ), TrackItem( id: "82eUY70WLqE", @@ -817,7 +770,6 @@ MusicAlbum( track_type: track, track_nr: Some(47), by_va: false, - unavailable: false, ), TrackItem( id: "03KktUmXdMg", @@ -834,7 +786,6 @@ MusicAlbum( track_type: track, track_nr: Some(48), by_va: false, - unavailable: false, ), TrackItem( id: "ki5f2zgRAjI", @@ -851,7 +802,6 @@ MusicAlbum( track_type: track, track_nr: Some(49), by_va: false, - unavailable: false, ), TrackItem( id: "O05G6kmQW2g", @@ -868,7 +818,6 @@ MusicAlbum( track_type: track, track_nr: Some(50), by_va: false, - unavailable: false, ), TrackItem( id: "Dayba7Kf90U", @@ -885,7 +834,6 @@ MusicAlbum( track_type: track, track_nr: Some(51), by_va: false, - unavailable: false, ), TrackItem( id: "V1G2tVnsyfU", @@ -902,7 +850,6 @@ MusicAlbum( track_type: track, track_nr: Some(52), by_va: false, - unavailable: false, ), TrackItem( id: "ugegWLyUGjg", @@ -919,7 +866,6 @@ MusicAlbum( track_type: track, track_nr: Some(53), by_va: false, - unavailable: false, ), TrackItem( id: "o0OY_x2Sb1E", @@ -936,7 +882,6 @@ MusicAlbum( track_type: track, track_nr: Some(54), by_va: false, - unavailable: false, ), TrackItem( id: "aefFzoIlJZY", @@ -953,7 +898,6 @@ MusicAlbum( track_type: track, track_nr: Some(55), by_va: false, - unavailable: false, ), TrackItem( id: "Wp6E3VPS2mM", @@ -970,7 +914,6 @@ MusicAlbum( track_type: track, track_nr: Some(56), by_va: false, - unavailable: false, ), TrackItem( id: "tLuYgcr6Dpg", @@ -987,7 +930,6 @@ MusicAlbum( track_type: track, track_nr: Some(57), by_va: false, - unavailable: false, ), TrackItem( id: "375_yqG6YbI", @@ -1004,7 +946,6 @@ MusicAlbum( track_type: track, track_nr: Some(58), by_va: false, - unavailable: false, ), TrackItem( id: "ANqW0THg1Pw", @@ -1021,7 +962,6 @@ MusicAlbum( track_type: track, track_nr: Some(59), by_va: false, - unavailable: false, ), TrackItem( id: "3qfEL7ZCgL8", @@ -1038,7 +978,6 @@ MusicAlbum( track_type: track, track_nr: Some(60), by_va: false, - unavailable: false, ), TrackItem( id: "_G8r-gk0msY", @@ -1055,7 +994,6 @@ MusicAlbum( track_type: track, track_nr: Some(61), by_va: false, - unavailable: false, ), TrackItem( id: "whI1u7a_rSU", @@ -1072,7 +1010,6 @@ MusicAlbum( track_type: track, track_nr: Some(62), by_va: false, - unavailable: false, ), TrackItem( id: "X2swFoUEp30", @@ -1089,7 +1026,6 @@ MusicAlbum( track_type: track, track_nr: Some(63), by_va: false, - unavailable: false, ), TrackItem( id: "5nXXHqVDIqY", @@ -1106,7 +1042,6 @@ MusicAlbum( track_type: track, track_nr: Some(64), by_va: false, - unavailable: false, ), TrackItem( id: "AgT-3d32lkQ", @@ -1123,7 +1058,6 @@ MusicAlbum( track_type: track, track_nr: Some(65), by_va: false, - unavailable: false, ), TrackItem( id: "NvR28TRH1Kc", @@ -1140,7 +1074,6 @@ MusicAlbum( track_type: track, track_nr: Some(66), by_va: false, - unavailable: false, ), TrackItem( id: "218UZATQgwY", @@ -1157,7 +1090,6 @@ MusicAlbum( track_type: track, track_nr: Some(67), by_va: false, - unavailable: false, ), TrackItem( id: "rCUpwhyh7ag", @@ -1174,7 +1106,6 @@ MusicAlbum( track_type: track, track_nr: Some(68), by_va: false, - unavailable: false, ), TrackItem( id: "FseNJJS42Wk", @@ -1191,7 +1122,6 @@ MusicAlbum( track_type: track, track_nr: Some(69), by_va: false, - unavailable: false, ), TrackItem( id: "ahufTwdimiY", @@ -1208,7 +1138,6 @@ MusicAlbum( track_type: track, track_nr: Some(70), by_va: false, - unavailable: false, ), TrackItem( id: "w_hYzT2BSz0", @@ -1225,7 +1154,6 @@ MusicAlbum( track_type: track, track_nr: Some(71), by_va: false, - unavailable: false, ), TrackItem( id: "L8bxsR6xR8Y", @@ -1242,7 +1170,6 @@ MusicAlbum( track_type: track, track_nr: Some(72), by_va: false, - unavailable: false, ), TrackItem( id: "StCyrfSVKRA", @@ -1259,7 +1186,6 @@ MusicAlbum( track_type: track, track_nr: Some(73), by_va: false, - unavailable: false, ), TrackItem( id: "bfb0z96jjDw", @@ -1276,7 +1202,6 @@ MusicAlbum( track_type: track, track_nr: Some(74), by_va: false, - unavailable: false, ), TrackItem( id: "_Cs_HEjIxE4", @@ -1293,7 +1218,6 @@ MusicAlbum( track_type: track, track_nr: Some(75), by_va: false, - unavailable: false, ), TrackItem( id: "rlZTCrB9DUY", @@ -1310,7 +1234,6 @@ MusicAlbum( track_type: track, track_nr: Some(76), by_va: false, - unavailable: false, ), TrackItem( id: "0gXRizztpCE", @@ -1327,7 +1250,6 @@ MusicAlbum( track_type: track, track_nr: Some(77), by_va: false, - unavailable: false, ), TrackItem( id: "U3gNQeexaFA", @@ -1344,7 +1266,6 @@ MusicAlbum( track_type: track, track_nr: Some(78), by_va: false, - unavailable: false, ), TrackItem( id: "SDVj1LdZAWs", @@ -1361,7 +1282,6 @@ MusicAlbum( track_type: track, track_nr: Some(79), by_va: false, - unavailable: false, ), TrackItem( id: "aStx8DVBL4w", @@ -1378,7 +1298,6 @@ MusicAlbum( track_type: track, track_nr: Some(80), by_va: false, - unavailable: false, ), TrackItem( id: "39HPvtWzT5w", @@ -1395,7 +1314,6 @@ MusicAlbum( track_type: track, track_nr: Some(81), by_va: false, - unavailable: false, ), TrackItem( id: "KDpAcnRvf98", @@ -1412,7 +1330,6 @@ MusicAlbum( track_type: track, track_nr: Some(82), by_va: false, - unavailable: false, ), TrackItem( id: "Qg7M-RQatI8", @@ -1429,7 +1346,6 @@ MusicAlbum( track_type: track, track_nr: Some(83), by_va: false, - unavailable: false, ), TrackItem( id: "V35JMnicqpE", @@ -1446,7 +1362,6 @@ MusicAlbum( track_type: track, track_nr: Some(84), by_va: false, - unavailable: false, ), TrackItem( id: "fqVlv9bXo38", @@ -1463,7 +1378,6 @@ MusicAlbum( track_type: track, track_nr: Some(85), by_va: false, - unavailable: false, ), TrackItem( id: "zcv2WC4ccCM", @@ -1480,7 +1394,6 @@ MusicAlbum( track_type: track, track_nr: Some(86), by_va: false, - unavailable: false, ), TrackItem( id: "Em3S3CXYgsc", @@ -1497,7 +1410,6 @@ MusicAlbum( track_type: track, track_nr: Some(87), by_va: false, - unavailable: false, ), TrackItem( id: "Pru_NJ16FX8", @@ -1514,24 +1426,6 @@ MusicAlbum( track_type: track, track_nr: Some(88), by_va: false, - unavailable: false, - ), - TrackItem( - id: "2klbe4CmXaQ", - name: "Kapitel 7.14 - 1984", - duration: Some(129), - cover: [], - artists: [], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(89), - by_va: false, - unavailable: false, ), TrackItem( id: "qePq7ltD6j4", @@ -1548,7 +1442,6 @@ MusicAlbum( track_type: track, track_nr: Some(90), by_va: false, - unavailable: false, ), TrackItem( id: "oBiS9b_v4wM", @@ -1565,7 +1458,6 @@ MusicAlbum( track_type: track, track_nr: Some(91), by_va: false, - unavailable: false, ), TrackItem( id: "g2_3XksRrek", @@ -1582,7 +1474,6 @@ MusicAlbum( track_type: track, track_nr: Some(92), by_va: false, - unavailable: false, ), TrackItem( id: "-eW-lGQghx8", @@ -1599,7 +1490,6 @@ MusicAlbum( track_type: track, track_nr: Some(93), by_va: false, - unavailable: false, ), TrackItem( id: "adRnRqIr19Q", @@ -1616,7 +1506,6 @@ MusicAlbum( track_type: track, track_nr: Some(94), by_va: false, - unavailable: false, ), TrackItem( id: "C1fvUpxJ8G0", @@ -1633,7 +1522,6 @@ MusicAlbum( track_type: track, track_nr: Some(95), by_va: false, - unavailable: false, ), TrackItem( id: "MgkJ7uW13hM", @@ -1650,7 +1538,6 @@ MusicAlbum( track_type: track, track_nr: Some(96), by_va: false, - unavailable: false, ), TrackItem( id: "pB22pN3oudY", @@ -1667,7 +1554,6 @@ MusicAlbum( track_type: track, track_nr: Some(97), by_va: false, - unavailable: false, ), TrackItem( id: "d4JvNP7oR4g", @@ -1684,7 +1570,6 @@ MusicAlbum( track_type: track, track_nr: Some(98), by_va: false, - unavailable: false, ), TrackItem( id: "FfUZhLb3L1A", @@ -1701,7 +1586,6 @@ MusicAlbum( track_type: track, track_nr: Some(99), by_va: false, - unavailable: false, ), TrackItem( id: "pGdz8B_V9vs", @@ -1718,7 +1602,6 @@ MusicAlbum( track_type: track, track_nr: Some(100), by_va: false, - unavailable: false, ), TrackItem( id: "wWzLLDr7VZY", @@ -1735,7 +1618,6 @@ MusicAlbum( track_type: track, track_nr: Some(101), by_va: false, - unavailable: false, ), TrackItem( id: "sjwsqR7A-nI", @@ -1752,7 +1634,6 @@ MusicAlbum( track_type: track, track_nr: Some(102), by_va: false, - unavailable: false, ), TrackItem( id: "ZBxtouT9Rpo", @@ -1769,7 +1650,6 @@ MusicAlbum( track_type: track, track_nr: Some(103), by_va: false, - unavailable: false, ), TrackItem( id: "Ym_pEJYSd1Y", @@ -1786,7 +1666,6 @@ MusicAlbum( track_type: track, track_nr: Some(104), by_va: false, - unavailable: false, ), TrackItem( id: "48rzTOM0u5g", @@ -1803,7 +1682,6 @@ MusicAlbum( track_type: track, track_nr: Some(105), by_va: false, - unavailable: false, ), TrackItem( id: "KGN_cz6acJg", @@ -1820,7 +1698,6 @@ MusicAlbum( track_type: track, track_nr: Some(106), by_va: false, - unavailable: false, ), TrackItem( id: "JPYOtU69FBI", @@ -1837,7 +1714,6 @@ MusicAlbum( track_type: track, track_nr: Some(107), by_va: false, - unavailable: false, ), TrackItem( id: "UKJsludf1ME", @@ -1854,7 +1730,6 @@ MusicAlbum( track_type: track, track_nr: Some(108), by_va: false, - unavailable: false, ), TrackItem( id: "aO0GCv90tok", @@ -1871,7 +1746,6 @@ MusicAlbum( track_type: track, track_nr: Some(109), by_va: false, - unavailable: false, ), TrackItem( id: "yqLiNPBAIF4", @@ -1888,7 +1762,6 @@ MusicAlbum( track_type: track, track_nr: Some(110), by_va: false, - unavailable: false, ), TrackItem( id: "Wm71AIJ08ss", @@ -1905,7 +1778,6 @@ MusicAlbum( track_type: track, track_nr: Some(111), by_va: false, - unavailable: false, ), TrackItem( id: "LxSyUI2fjzM", @@ -1922,7 +1794,6 @@ MusicAlbum( track_type: track, track_nr: Some(112), by_va: false, - unavailable: false, ), TrackItem( id: "4SVHRTay_PU", @@ -1939,7 +1810,6 @@ MusicAlbum( track_type: track, track_nr: Some(113), by_va: false, - unavailable: false, ), TrackItem( id: "zhrqkGwyk4o", @@ -1956,7 +1826,6 @@ MusicAlbum( track_type: track, track_nr: Some(114), by_va: false, - unavailable: false, ), TrackItem( id: "2YuvSWutjbY", @@ -1973,7 +1842,6 @@ MusicAlbum( track_type: track, track_nr: Some(115), by_va: false, - unavailable: false, ), TrackItem( id: "QT-BvFEO3ho", @@ -1990,7 +1858,6 @@ MusicAlbum( track_type: track, track_nr: Some(116), by_va: false, - unavailable: false, ), TrackItem( id: "27rrlVQ7D4M", @@ -2007,7 +1874,6 @@ MusicAlbum( track_type: track, track_nr: Some(117), by_va: false, - unavailable: false, ), TrackItem( id: "7m0EEXEBRo4", @@ -2024,7 +1890,6 @@ MusicAlbum( track_type: track, track_nr: Some(118), by_va: false, - unavailable: false, ), TrackItem( id: "34H2shrx38w", @@ -2041,7 +1906,6 @@ MusicAlbum( track_type: track, track_nr: Some(119), by_va: false, - unavailable: false, ), TrackItem( id: "yCuI-ii6dLA", @@ -2058,7 +1922,6 @@ MusicAlbum( track_type: track, track_nr: Some(120), by_va: false, - unavailable: false, ), TrackItem( id: "E6Uzcr7zwoQ", @@ -2075,7 +1938,6 @@ MusicAlbum( track_type: track, track_nr: Some(121), by_va: false, - unavailable: false, ), TrackItem( id: "gpL45b1fugI", @@ -2092,7 +1954,6 @@ MusicAlbum( track_type: track, track_nr: Some(122), by_va: false, - unavailable: false, ), TrackItem( id: "ZHGQcDZ2lDo", @@ -2109,7 +1970,6 @@ MusicAlbum( track_type: track, track_nr: Some(123), by_va: false, - unavailable: false, ), TrackItem( id: "EkVfn3H1YNw", @@ -2126,7 +1986,6 @@ MusicAlbum( track_type: track, track_nr: Some(124), by_va: false, - unavailable: false, ), TrackItem( id: "iqh3t9ScmdM", @@ -2143,7 +2002,6 @@ MusicAlbum( track_type: track, track_nr: Some(125), by_va: false, - unavailable: false, ), TrackItem( id: "lfdocX0dHjo", @@ -2160,7 +2018,6 @@ MusicAlbum( track_type: track, track_nr: Some(126), by_va: false, - unavailable: false, ), TrackItem( id: "LBz5HWuwICc", @@ -2177,7 +2034,6 @@ MusicAlbum( track_type: track, track_nr: Some(127), by_va: false, - unavailable: false, ), TrackItem( id: "DLiAozDSkn4", @@ -2194,7 +2050,6 @@ MusicAlbum( track_type: track, track_nr: Some(128), by_va: false, - unavailable: false, ), TrackItem( id: "1oAe6NOWODM", @@ -2211,7 +2066,6 @@ MusicAlbum( track_type: track, track_nr: Some(129), by_va: false, - unavailable: false, ), TrackItem( id: "CpEo9pBL9cw", @@ -2228,7 +2082,6 @@ MusicAlbum( track_type: track, track_nr: Some(130), by_va: false, - unavailable: false, ), TrackItem( id: "DioQU4tkLZQ", @@ -2245,7 +2098,6 @@ MusicAlbum( track_type: track, track_nr: Some(131), by_va: false, - unavailable: false, ), TrackItem( id: "aShFQKy3Z8M", @@ -2262,7 +2114,6 @@ MusicAlbum( track_type: track, track_nr: Some(132), by_va: false, - unavailable: false, ), TrackItem( id: "RgZACT1rJ4A", @@ -2279,7 +2130,6 @@ MusicAlbum( track_type: track, track_nr: Some(133), by_va: false, - unavailable: false, ), TrackItem( id: "Vqg-K1lFtf4", @@ -2296,7 +2146,6 @@ MusicAlbum( track_type: track, track_nr: Some(134), by_va: false, - unavailable: false, ), TrackItem( id: "FgzKDQ-KvkQ", @@ -2313,7 +2162,6 @@ MusicAlbum( track_type: track, track_nr: Some(135), by_va: false, - unavailable: false, ), TrackItem( id: "q6qGmT7z_mk", @@ -2330,7 +2178,6 @@ MusicAlbum( track_type: track, track_nr: Some(136), by_va: false, - unavailable: false, ), TrackItem( id: "BSEUTCp4JzQ", @@ -2347,7 +2194,6 @@ MusicAlbum( track_type: track, track_nr: Some(137), by_va: false, - unavailable: false, ), TrackItem( id: "GorIwpkX6bk", @@ -2364,7 +2210,6 @@ MusicAlbum( track_type: track, track_nr: Some(138), by_va: false, - unavailable: false, ), TrackItem( id: "NYiNrt7VMzA", @@ -2381,7 +2226,6 @@ MusicAlbum( track_type: track, track_nr: Some(139), by_va: false, - unavailable: false, ), TrackItem( id: "9pPalZZsIlQ", @@ -2398,7 +2242,6 @@ MusicAlbum( track_type: track, track_nr: Some(140), by_va: false, - unavailable: false, ), TrackItem( id: "GUPplhf2Wts", @@ -2415,7 +2258,6 @@ MusicAlbum( track_type: track, track_nr: Some(141), by_va: false, - unavailable: false, ), TrackItem( id: "sUc4pA09dMA", @@ -2432,7 +2274,6 @@ MusicAlbum( track_type: track, track_nr: Some(142), by_va: false, - unavailable: false, ), TrackItem( id: "ykieQtMZjgI", @@ -2449,7 +2290,6 @@ MusicAlbum( track_type: track, track_nr: Some(143), by_va: false, - unavailable: false, ), TrackItem( id: "P_aAJjwygaA", @@ -2466,7 +2306,6 @@ MusicAlbum( track_type: track, track_nr: Some(144), by_va: false, - unavailable: false, ), TrackItem( id: "d2QMPdcl7YM", @@ -2483,7 +2322,6 @@ MusicAlbum( track_type: track, track_nr: Some(145), by_va: false, - unavailable: false, ), TrackItem( id: "V0gQO8dH6b4", @@ -2500,7 +2338,6 @@ MusicAlbum( track_type: track, track_nr: Some(146), by_va: false, - unavailable: false, ), TrackItem( id: "cgOzxcg52v8", @@ -2517,7 +2354,6 @@ MusicAlbum( track_type: track, track_nr: Some(147), by_va: false, - unavailable: false, ), TrackItem( id: "rjTEyuRGrYY", @@ -2534,7 +2370,6 @@ MusicAlbum( track_type: track, track_nr: Some(148), by_va: false, - unavailable: false, ), TrackItem( id: "6DwpgjU82ww", @@ -2551,7 +2386,6 @@ MusicAlbum( track_type: track, track_nr: Some(149), by_va: false, - unavailable: false, ), TrackItem( id: "dwk9eQZse6E", @@ -2568,7 +2402,6 @@ MusicAlbum( track_type: track, track_nr: Some(150), by_va: false, - unavailable: false, ), TrackItem( id: "zmM1aeBv_mo", @@ -2585,7 +2418,6 @@ MusicAlbum( track_type: track, track_nr: Some(151), by_va: false, - unavailable: false, ), TrackItem( id: "QL1HMAEp21k", @@ -2602,7 +2434,6 @@ MusicAlbum( track_type: track, track_nr: Some(152), by_va: false, - unavailable: false, ), TrackItem( id: "rtzG_mr5q-c", @@ -2619,7 +2450,6 @@ MusicAlbum( track_type: track, track_nr: Some(153), by_va: false, - unavailable: false, ), TrackItem( id: "Eg2WlrlzO8Y", @@ -2636,7 +2466,6 @@ MusicAlbum( track_type: track, track_nr: Some(154), by_va: false, - unavailable: false, ), TrackItem( id: "QMXkBa6exqA", @@ -2653,7 +2482,6 @@ MusicAlbum( track_type: track, track_nr: Some(155), by_va: false, - unavailable: false, ), TrackItem( id: "n0dStgWvR08", @@ -2670,7 +2498,6 @@ MusicAlbum( track_type: track, track_nr: Some(156), by_va: false, - unavailable: false, ), TrackItem( id: "FxslNrm_3jU", @@ -2687,7 +2514,6 @@ MusicAlbum( track_type: track, track_nr: Some(157), by_va: false, - unavailable: false, ), TrackItem( id: "rlJXZLKXjyM", @@ -2704,7 +2530,6 @@ MusicAlbum( track_type: track, track_nr: Some(158), by_va: false, - unavailable: false, ), TrackItem( id: "RQ6lvrVddyk", @@ -2721,7 +2546,6 @@ MusicAlbum( track_type: track, track_nr: Some(159), by_va: false, - unavailable: false, ), TrackItem( id: "LCLBV5T8s5k", @@ -2738,7 +2562,6 @@ MusicAlbum( track_type: track, track_nr: Some(160), by_va: false, - unavailable: false, ), TrackItem( id: "bNigSN7siMU", @@ -2755,7 +2578,6 @@ MusicAlbum( track_type: track, track_nr: Some(161), by_va: false, - unavailable: false, ), TrackItem( id: "KFBydJkaTD4", @@ -2772,7 +2594,6 @@ MusicAlbum( track_type: track, track_nr: Some(162), by_va: false, - unavailable: false, ), TrackItem( id: "1PUlvwOASBw", @@ -2789,7 +2610,6 @@ MusicAlbum( track_type: track, track_nr: Some(163), by_va: false, - unavailable: false, ), TrackItem( id: "pyvOIiyn5JY", @@ -2806,7 +2626,6 @@ MusicAlbum( track_type: track, track_nr: Some(164), by_va: false, - unavailable: false, ), TrackItem( id: "eQKlU7pzFRw", @@ -2823,7 +2642,6 @@ MusicAlbum( track_type: track, track_nr: Some(165), by_va: false, - unavailable: false, ), TrackItem( id: "pbROCT8IwDs", @@ -2840,7 +2658,6 @@ MusicAlbum( track_type: track, track_nr: Some(166), by_va: false, - unavailable: false, ), TrackItem( id: "6eklRsup2Cg", @@ -2857,7 +2674,6 @@ MusicAlbum( track_type: track, track_nr: Some(167), by_va: false, - unavailable: false, ), TrackItem( id: "Sx047sHMOV8", @@ -2874,7 +2690,6 @@ MusicAlbum( track_type: track, track_nr: Some(168), by_va: false, - unavailable: false, ), TrackItem( id: "uIhFD_Y1RM8", @@ -2891,7 +2706,6 @@ MusicAlbum( track_type: track, track_nr: Some(169), by_va: false, - unavailable: false, ), TrackItem( id: "OdiW4u-MJWk", @@ -2908,7 +2722,6 @@ MusicAlbum( track_type: track, track_nr: Some(170), by_va: false, - unavailable: false, ), TrackItem( id: "IQQ4H5wKhqw", @@ -2925,7 +2738,6 @@ MusicAlbum( track_type: track, track_nr: Some(171), by_va: false, - unavailable: false, ), TrackItem( id: "heJoxdCFgXE", @@ -2942,7 +2754,6 @@ MusicAlbum( track_type: track, track_nr: Some(172), by_va: false, - unavailable: false, ), TrackItem( id: "k7Vhuh9N7hg", @@ -2959,7 +2770,6 @@ MusicAlbum( track_type: track, track_nr: Some(173), by_va: false, - unavailable: false, ), TrackItem( id: "0Aeaczuom_0", @@ -2976,7 +2786,6 @@ MusicAlbum( track_type: track, track_nr: Some(174), by_va: false, - unavailable: false, ), TrackItem( id: "5sJd3YkpnNg", @@ -2993,7 +2802,6 @@ MusicAlbum( track_type: track, track_nr: Some(175), by_va: false, - unavailable: false, ), TrackItem( id: "K3xED9BLZ0g", @@ -3010,7 +2818,6 @@ MusicAlbum( track_type: track, track_nr: Some(176), by_va: false, - unavailable: false, ), TrackItem( id: "wxBk25H3Zw4", @@ -3027,7 +2834,6 @@ MusicAlbum( track_type: track, track_nr: Some(177), by_va: false, - unavailable: false, ), TrackItem( id: "Gxdv90qTiBA", @@ -3044,7 +2850,6 @@ MusicAlbum( track_type: track, track_nr: Some(178), by_va: false, - unavailable: false, ), TrackItem( id: "ewUX4G705t0", @@ -3061,7 +2866,6 @@ MusicAlbum( track_type: track, track_nr: Some(179), by_va: false, - unavailable: false, ), TrackItem( id: "fIAs-O1seGs", @@ -3078,7 +2882,6 @@ MusicAlbum( track_type: track, track_nr: Some(180), by_va: false, - unavailable: false, ), TrackItem( id: "CLmbiozyb3g", @@ -3095,7 +2898,6 @@ MusicAlbum( track_type: track, track_nr: Some(181), by_va: false, - unavailable: false, ), TrackItem( id: "cZqX4kRFrls", @@ -3112,7 +2914,6 @@ MusicAlbum( track_type: track, track_nr: Some(182), by_va: false, - unavailable: false, ), TrackItem( id: "GzKlXy_klc0", @@ -3129,7 +2930,6 @@ MusicAlbum( track_type: track, track_nr: Some(183), by_va: false, - unavailable: false, ), TrackItem( id: "N9TK0-c90NQ", @@ -3146,7 +2946,6 @@ MusicAlbum( track_type: track, track_nr: Some(184), by_va: false, - unavailable: false, ), TrackItem( id: "AdmAEn7yJBg", @@ -3163,7 +2962,6 @@ MusicAlbum( track_type: track, track_nr: Some(185), by_va: false, - unavailable: false, ), TrackItem( id: "goV3qAE4nDo", @@ -3180,7 +2978,6 @@ MusicAlbum( track_type: track, track_nr: Some(186), by_va: false, - unavailable: false, ), TrackItem( id: "HpX-bfM-z8c", @@ -3197,7 +2994,6 @@ MusicAlbum( track_type: track, track_nr: Some(187), by_va: false, - unavailable: false, ), TrackItem( id: "GT5EGpOqAeM", @@ -3214,7 +3010,6 @@ MusicAlbum( track_type: track, track_nr: Some(188), by_va: false, - unavailable: false, ), TrackItem( id: "M8cQ5zntKks", @@ -3231,7 +3026,6 @@ MusicAlbum( track_type: track, track_nr: Some(189), by_va: false, - unavailable: false, ), TrackItem( id: "EDdwfxA88RQ", @@ -3248,7 +3042,6 @@ MusicAlbum( track_type: track, track_nr: Some(190), by_va: false, - unavailable: false, ), TrackItem( id: "deQx4nzAHvI", @@ -3265,7 +3058,6 @@ MusicAlbum( track_type: track, track_nr: Some(191), by_va: false, - unavailable: false, ), TrackItem( id: "-TYmP5BWkZA", @@ -3282,7 +3074,6 @@ MusicAlbum( track_type: track, track_nr: Some(192), by_va: false, - unavailable: false, ), TrackItem( id: "NKWffyEyvvQ", @@ -3299,7 +3090,6 @@ MusicAlbum( track_type: track, track_nr: Some(193), by_va: false, - unavailable: false, ), TrackItem( id: "5SQgoPx88Xk", @@ -3316,7 +3106,6 @@ MusicAlbum( track_type: track, track_nr: Some(194), by_va: false, - unavailable: false, ), TrackItem( id: "8MmcjOWCXcI", @@ -3333,7 +3122,6 @@ MusicAlbum( track_type: track, track_nr: Some(195), by_va: false, - unavailable: false, ), TrackItem( id: "Cs8eNJJsOwg", @@ -3350,7 +3138,6 @@ MusicAlbum( track_type: track, track_nr: Some(196), by_va: false, - unavailable: false, ), TrackItem( id: "u9ulcct7UW8", @@ -3367,7 +3154,6 @@ MusicAlbum( track_type: track, track_nr: Some(197), by_va: false, - unavailable: false, ), TrackItem( id: "_Q3Ybt6A0A4", @@ -3384,7 +3170,6 @@ MusicAlbum( track_type: track, track_nr: Some(198), by_va: false, - unavailable: false, ), TrackItem( id: "OwLevpAaw50", @@ -3401,7 +3186,6 @@ MusicAlbum( track_type: track, track_nr: Some(199), by_va: false, - unavailable: false, ), TrackItem( id: "wKg1h1i_pLk", @@ -3418,30 +3202,13 @@ MusicAlbum( track_type: track, track_nr: Some(200), by_va: false, - unavailable: false, ), TrackItem( id: "svY6h_e3LYI", name: "Kapitel 17.5 - 1984", duration: Some(128), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], + cover: [], + artists: [], artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), album: Some(AlbumId( id: "MPREb_gaoNzsQHedo", @@ -3451,3901 +3218,6 @@ MusicAlbum( track_type: track, track_nr: Some(201), by_va: false, - unavailable: false, - ), - TrackItem( - id: "Hir7IMW_37k", - name: "Kapitel 17.6 - 1984", - duration: Some(203), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(202), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "wrp-KxyqmKs", - name: "Kapitel 17.7 - 1984", - duration: Some(185), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(203), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "tFQF6fw09ec", - name: "Kapitel 17.8 - 1984", - duration: Some(127), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(204), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "tzlG81GlTXQ", - name: "Kapitel 17.9 - 1984", - duration: Some(212), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(205), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "Vno9w1ba-C0", - name: "Kapitel 17.10 - 1984", - duration: Some(152), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(206), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "Ve19y3AhLBk", - name: "Kapitel 17.11 - 1984", - duration: Some(143), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(207), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "8oHasQ_tiuI", - name: "Kapitel 17.12 - 1984", - duration: Some(171), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(208), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "Ap42W06bL2c", - name: "Kapitel 17.13 - 1984", - duration: Some(174), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(209), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "qmiLwRF0fOs", - name: "Kapitel 17.14 - 1984", - duration: Some(173), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(210), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "BdiOwfRyToY", - name: "Kapitel 17.15 - 1984", - duration: Some(192), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(211), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "PlBZ0cGf5DE", - name: "Kapitel 17.16 - 1984", - duration: Some(214), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(212), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "v9MgxVJWCow", - name: "Kapitel 17.17 - 1984", - duration: Some(367), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(213), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "5nwe4RMmA8s", - name: "Kapitel 17.18 & Kapitel 18.1 - 1984", - duration: Some(137), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(214), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "6ZP4rXcPFd0", - name: "Kapitel 18.2 - 1984", - duration: Some(141), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(215), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "eVhWJKVdo40", - name: "Kapitel 18.3 - 1984", - duration: Some(230), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(216), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "Vt7keSTK0No", - name: "Kapitel 18.4 - 1984", - duration: Some(180), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(217), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "Ff3SyoUlcyY", - name: "Kapitel 18.5 - 1984", - duration: Some(234), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(218), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "gMTJQzds2ac", - name: "Kapitel 18.6 - 1984", - duration: Some(199), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(219), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "UgAOUifyrqc", - name: "Kapitel 18.7 - 1984", - duration: Some(138), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(220), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "IGZoSexffaY", - name: "Kapitel 18.8 - 1984", - duration: Some(261), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(221), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "_yk6rIXnfyw", - name: "Kapitel 18.9 - 1984", - duration: Some(375), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(222), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "nhznAYDKokI", - name: "Kapitel 18.10 - 1984", - duration: Some(171), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(223), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "xxcWex5wCpc", - name: "Kapitel 18.11 - 1984", - duration: Some(126), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(224), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "bHuVgebOTtY", - name: "Kapitel 18.12 - 1984", - duration: Some(409), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(225), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "4dSMRBLFXE8", - name: "Kapitel 18.13 - 1984", - duration: Some(126), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(226), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "7nrceuJOGrQ", - name: "Kapitel 18.14 & Kapitel 19.1 - 1984", - duration: Some(152), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(227), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "rs_bvUV0-ZE", - name: "Kapitel 19.2 - 1984", - duration: Some(194), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(228), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "SjDAX5b1sCA", - name: "Kapitel 19.3 - 1984", - duration: Some(127), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(229), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "9LPuIbBxM_4", - name: "Kapitel 19.4 - 1984", - duration: Some(126), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(230), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "xoTJCozaeFw", - name: "Kapitel 19.5 - 1984", - duration: Some(134), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(231), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "o9R4zEStCg0", - name: "Kapitel 19.6 - 1984", - duration: Some(127), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(232), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "v9aTac8EXeU", - name: "Kapitel 19.7 - 1984", - duration: Some(144), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(233), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "Q6LQBbg9OFg", - name: "Kapitel 19.8 & Kapitel 20.1 - 1984", - duration: Some(130), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(234), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "m3uHhmbvtLQ", - name: "Kapitel 20.2 - 1984", - duration: Some(149), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(235), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "6Q6paXKnxN4", - name: "Kapitel 20.3 - 1984", - duration: Some(134), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(236), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "bZmfzI9OhCs", - name: "Kapitel 20.4 - 1984", - duration: Some(173), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(237), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "LywfUGAGUPc", - name: "Kapitel 20.5 - 1984", - duration: Some(134), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(238), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "r3vVFZ3zl94", - name: "Kapitel 20.6 - 1984", - duration: Some(161), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(239), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "Qenx-MfJ9mw", - name: "Kapitel 20.7 - 1984", - duration: Some(138), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(240), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "vl_qPscUgdQ", - name: "Kapitel 20.8 - 1984", - duration: Some(137), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(241), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "FQwclGtvT8A", - name: "Kapitel 20.9 - 1984", - duration: Some(130), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(242), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "XfZemPEMHYM", - name: "Kapitel 20.10 - 1984", - duration: Some(137), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(243), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "tXEWSfM5jBI", - name: "Kapitel 20.11 - 1984", - duration: Some(134), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(244), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "CyYeGELAYks", - name: "Kapitel 20.12 - 1984", - duration: Some(132), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(245), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "V4crS8euIlY", - name: "Kapitel 20.13 - 1984", - duration: Some(126), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(246), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "6wkfFwX8hEk", - name: "Kapitel 20.14 - 1984", - duration: Some(127), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(247), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "7BrXtew4Xf8", - name: "Kapitel 20.15 - 1984", - duration: Some(125), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(248), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "zBOsHSF010g", - name: "Kapitel 20.16 - 1984", - duration: Some(129), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(249), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "5hY-Mmqfg-U", - name: "Kapitel 20.17 - 1984", - duration: Some(137), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(250), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "GWsWxGtQG2U", - name: "Kapitel 20.18 & Kapitel 21.1 - 1984", - duration: Some(178), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(251), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "CS61jsoqGxM", - name: "Kapitel 21.2 - 1984", - duration: Some(201), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(252), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "--MDZ6MoFOk", - name: "Kapitel 21.3 - 1984", - duration: Some(126), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(253), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "APxYXEvS1gI", - name: "Kapitel 21.4 - 1984", - duration: Some(147), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(254), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "hTZCV0xIaNo", - name: "Kapitel 21.5 - 1984", - duration: Some(147), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(255), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "fUyVsvSLXAA", - name: "Kapitel 21.6 - 1984", - duration: Some(129), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(256), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "Ex8KXjkzH6U", - name: "Kapitel 21.7 - 1984", - duration: Some(129), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(257), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "Jq9_Roh-_qQ", - name: "Kapitel 21.8 - 1984", - duration: Some(138), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(258), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "O-k4WTkVF_Y", - name: "Kapitel 21.9 - 1984", - duration: Some(125), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(259), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "e0VydtqA7zA", - name: "Kapitel 21.10 - 1984", - duration: Some(129), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(260), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "tYHQ1jqyY04", - name: "Kapitel 21.11 - 1984", - duration: Some(126), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(261), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "uJdxfG7mtxg", - name: "Kapitel 21.12 - 1984", - duration: Some(130), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(262), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "y9WgL5asujI", - name: "Kapitel 21.13 - 1984", - duration: Some(134), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(263), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "M2_kYfPFD_o", - name: "Kapitel 21.14 - 1984", - duration: Some(148), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(264), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "mMk8rWLu2kQ", - name: "Kapitel 21.15 - 1984", - duration: Some(144), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(265), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "CdlO0Z_uhbM", - name: "Kapitel 21.16 - 1984", - duration: Some(129), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(266), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "5loS8hlMQ7U", - name: "Kapitel 21.17 - 1984", - duration: Some(138), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(267), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "2db5x8VGr8A", - name: "Kapitel 21.18 - 1984", - duration: Some(128), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(268), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "cTRGKM8Jsgc", - name: "Kapitel 21.19 - 1984", - duration: Some(160), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(269), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "nrfztfR0soo", - name: "Kapitel 21.20 - 1984", - duration: Some(127), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(270), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "3om6N_pNGZA", - name: "Kapitel 21.21 - 1984", - duration: Some(181), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(271), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "VN1KvIPeJ00", - name: "Kapitel 21.22 - 1984", - duration: Some(129), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(272), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "LRuhIRN5d1U", - name: "Kapitel 21.23 - 1984", - duration: Some(134), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(273), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "dE8U1hliRr4", - name: "Kapitel 21.24 - 1984", - duration: Some(134), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(274), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "vjIb2Klunv0", - name: "Kapitel 21.25 - 1984", - duration: Some(134), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(275), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "h8BydzKZOtI", - name: "Kapitel 21.26 & Kapitel 22.1 - 1984", - duration: Some(130), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(276), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "ADwyhkSHBVM", - name: "Kapitel 22.2 - 1984", - duration: Some(135), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(277), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "6cDrKGImmQk", - name: "Kapitel 22.3 - 1984", - duration: Some(130), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(278), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "CdrnLzIJGdk", - name: "Kapitel 22.4 - 1984", - duration: Some(162), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(279), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "N-ZzOlAX43w", - name: "Kapitel 22.5 - 1984", - duration: Some(134), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(280), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "7MHmAXMX1F8", - name: "Kapitel 22.6 - 1984", - duration: Some(135), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(281), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "vSlyuw3eyeU", - name: "Kapitel 22.7 - 1984", - duration: Some(127), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(282), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "K8ez5KNbl-A", - name: "Kapitel 22.8 - 1984", - duration: Some(145), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(283), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "J9y2_6f5Dqc", - name: "Kapitel 22.9 - 1984", - duration: Some(155), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(284), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "d4Grp66WWsM", - name: "Kapitel 22.10 - 1984", - duration: Some(138), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(285), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "gYCKh7_DAAw", - name: "Kapitel 22.11 - 1984", - duration: Some(127), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(286), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "L59dwOH-nHQ", - name: "Kapitel 22.12 - 1984", - duration: Some(151), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(287), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "KS4nFrdUDS8", - name: "Kapitel 22.13 - 1984", - duration: Some(132), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(288), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "4bEhuh2DtBQ", - name: "Kapitel 22.14 - 1984", - duration: Some(128), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(289), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "76nvjlkt2xY", - name: "Kapitel 22.15 - 1984", - duration: Some(147), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(290), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "F7mUlqh-y04", - name: "Kapitel 22.16 - 1984", - duration: Some(145), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(291), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "KivOUvqJ2n4", - name: "Kapitel 22.17 - 1984", - duration: Some(126), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(292), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "EHzrgnOh5GA", - name: "Kapitel 22.18 & Kapitel 23.1 - 1984", - duration: Some(146), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(293), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "10xak85mCso", - name: "Kapitel 23.2 - 1984", - duration: Some(147), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(294), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "yDnNqeQnn3A", - name: "Kapitel 23.3 - 1984", - duration: Some(137), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(295), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "l7n3auySj4A", - name: "Kapitel 23.4 - 1984", - duration: Some(141), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(296), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "Ywtfz72Zywk", - name: "Kapitel 23.5 - 1984", - duration: Some(156), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(297), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "FZpI_baOd_s", - name: "Kapitel 23.6 - 1984", - duration: Some(130), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(298), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "8OXK57SjsL0", - name: "Kapitel 23.7 - 1984", - duration: Some(127), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(299), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "5M-AVirsHzY", - name: "Kapitel 23.8 - 1984", - duration: Some(143), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(300), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "4BQlY5tiXqY", - name: "Kapitel 23.9 & Kapitel 24.1 - 1984", - duration: Some(165), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(301), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "1n-_LCwDMUg", - name: "Kapitel 24.2 - 1984", - duration: Some(134), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(302), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "V-DyXyW8UI4", - name: "Kapitel 24.3 - 1984", - duration: Some(145), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(303), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "GygcLOKL8B4", - name: "Kapitel 24.4 - 1984", - duration: Some(133), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(304), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "S78K3PuQ-GM", - name: "Kapitel 24.5 - 1984", - duration: Some(130), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(305), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "HcbO6kTLRZo", - name: "Kapitel 24.6 - 1984", - duration: Some(132), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(306), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "-MCqkAaGfl0", - name: "Kapitel 24.7 & Kapitel 25.1 - 1984", - duration: Some(127), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(307), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "G4edEm1rbeo", - name: "Kapitel 25.2 - 1984", - duration: Some(126), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(308), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "KA26JvGwM28", - name: "Kapitel 25.3 - 1984", - duration: Some(133), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(309), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "9GR32DB5RwY", - name: "Kapitel 25.4 - 1984", - duration: Some(131), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(310), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "06rRLhqrcTk", - name: "Kapitel 25.5 - 1984", - duration: Some(133), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(311), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "gw2h1uGGwak", - name: "Kapitel 25.6 - 1984", - duration: Some(137), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(312), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "U1OnhVQHw4c", - name: "Kapitel 25.7 - 1984", - duration: Some(126), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(313), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "C8UAKN2G0R8", - name: "Kapitel 25.8 - 1984", - duration: Some(133), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(314), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "-q-TeXqQ9AA", - name: "Kapitel 25.9 - 1984", - duration: Some(128), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(315), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "r77eoDVeFh0", - name: "Kapitel 25.10 - 1984", - duration: Some(128), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(316), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "g8RfSPyjiXc", - name: "Kapitel 25.11 - 1984", - duration: Some(130), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(317), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "au27GX2h7Zc", - name: "Kapitel 25.12 - 1984", - duration: Some(130), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(318), - by_va: false, - unavailable: false, - ), - TrackItem( - id: "hGHRyXDMR0M", - name: "Kapitel 25.13 - 1984", - duration: Some(138), - cover: [ - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w60-h60-l90-rj", - width: 60, - height: 60, - ), - Thumbnail( - url: "https://lh3.googleusercontent.com/wKdD-SHqfdz6FzU3vyq-je-yqJ2DrRqbwmLxbK0OjpP55RF0Uh1LvtkLiypabLL5oSUWW7YEWxmpw7s=w120-h120-l90-rj", - width: 120, - height: 120, - ), - ], - artists: [ - ArtistId( - id: None, - name: "George Orwell & Dirk Jacobs", - ), - ], - artist_id: Some("UCTlkMP4GiGuhOiBdcmI65kg"), - album: Some(AlbumId( - id: "MPREb_gaoNzsQHedo", - name: "1984", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(319), - by_va: false, - unavailable: false, ), ], variants: [], diff --git a/tests/snapshots/youtube__music_album_ep.snap b/tests/snapshots/youtube__music_album_ep.snap index fcf693f..92e2f4d 100644 --- a/tests/snapshots/youtube__music_album_ep.snap +++ b/tests/snapshots/youtube__music_album_ep.snap @@ -18,7 +18,6 @@ MusicAlbum( album_type: ep, year: Some(2016), by_va: false, - track_count: 5, tracks: [ TrackItem( id: "aGd3VKSOTxY", @@ -40,7 +39,6 @@ MusicAlbum( track_type: track, track_nr: Some(1), by_va: false, - unavailable: false, ), TrackItem( id: "Jz-26iiDuYs", @@ -62,7 +60,6 @@ MusicAlbum( track_type: track, track_nr: Some(2), by_va: false, - unavailable: false, ), TrackItem( id: "Bu26uFtpt58", @@ -84,7 +81,6 @@ MusicAlbum( track_type: track, track_nr: Some(3), by_va: false, - unavailable: false, ), TrackItem( id: "RgwNqqiVqdY", @@ -106,7 +102,6 @@ MusicAlbum( track_type: track, track_nr: Some(4), by_va: false, - unavailable: false, ), TrackItem( id: "2TuOh30XbCI", @@ -128,7 +123,6 @@ MusicAlbum( track_type: track, track_nr: Some(5), by_va: false, - unavailable: false, ), ], variants: [], diff --git a/tests/snapshots/youtube__music_album_no_artist.snap b/tests/snapshots/youtube__music_album_no_artist.snap index 1939dd3..c4831dd 100644 --- a/tests/snapshots/youtube__music_album_no_artist.snap +++ b/tests/snapshots/youtube__music_album_no_artist.snap @@ -13,7 +13,6 @@ MusicAlbum( album_type: album, year: Some(2024), by_va: true, - track_count: 14, tracks: [ TrackItem( id: "ilNEztApdjI", @@ -39,7 +38,6 @@ MusicAlbum( track_type: track, track_nr: Some(1), by_va: false, - unavailable: false, ), TrackItem( id: "s-qSnZyyvzs", @@ -61,7 +59,6 @@ MusicAlbum( track_type: track, track_nr: Some(2), by_va: false, - unavailable: false, ), TrackItem( id: "4jXoRBcQ8PY", @@ -83,7 +80,6 @@ MusicAlbum( track_type: track, track_nr: Some(3), by_va: false, - unavailable: false, ), TrackItem( id: "DRES9S4VQI8", @@ -105,7 +101,6 @@ MusicAlbum( track_type: track, track_nr: Some(4), by_va: false, - unavailable: false, ), TrackItem( id: "yhZVimwD4B4", @@ -131,7 +126,6 @@ MusicAlbum( track_type: track, track_nr: Some(5), by_va: false, - unavailable: false, ), TrackItem( id: "5d6YiFkdzLM", @@ -153,7 +147,6 @@ MusicAlbum( track_type: track, track_nr: Some(6), by_va: false, - unavailable: false, ), TrackItem( id: "3Qe7-uN2PjU", @@ -179,7 +172,6 @@ MusicAlbum( track_type: track, track_nr: Some(7), by_va: false, - unavailable: false, ), TrackItem( id: "SKZ_MTsXFP4", @@ -201,7 +193,6 @@ MusicAlbum( track_type: track, track_nr: Some(8), by_va: false, - unavailable: false, ), TrackItem( id: "n5-ujUwazDA", @@ -223,7 +214,6 @@ MusicAlbum( track_type: track, track_nr: Some(9), by_va: false, - unavailable: false, ), TrackItem( id: "VaREivfDJeY", @@ -245,7 +235,6 @@ MusicAlbum( track_type: track, track_nr: Some(10), by_va: false, - unavailable: false, ), TrackItem( id: "cWcD0WIK2PA", @@ -271,7 +260,6 @@ MusicAlbum( track_type: track, track_nr: Some(11), by_va: false, - unavailable: false, ), TrackItem( id: "QRELvH564T4", @@ -293,7 +281,6 @@ MusicAlbum( track_type: track, track_nr: Some(12), by_va: false, - unavailable: false, ), TrackItem( id: "eCY0-GyG46s", @@ -315,7 +302,6 @@ MusicAlbum( track_type: track, track_nr: Some(13), by_va: false, - unavailable: false, ), TrackItem( id: "UIrHYTEyUfA", @@ -341,7 +327,6 @@ MusicAlbum( track_type: track, track_nr: Some(14), by_va: false, - unavailable: false, ), ], variants: [], diff --git a/tests/snapshots/youtube__music_album_no_year.snap b/tests/snapshots/youtube__music_album_no_year.snap index a4b2c2d..44c8290 100644 --- a/tests/snapshots/youtube__music_album_no_year.snap +++ b/tests/snapshots/youtube__music_album_no_year.snap @@ -26,7 +26,6 @@ MusicAlbum( album_type: single, year: None, by_va: false, - track_count: 1, tracks: [ TrackItem( id: "1Sz3lUVGBSM", @@ -56,7 +55,6 @@ MusicAlbum( track_type: track, track_nr: Some(1), by_va: false, - unavailable: false, ), ], variants: [], diff --git a/tests/snapshots/youtube__music_album_one_artist.snap b/tests/snapshots/youtube__music_album_one_artist.snap index c092826..20e8a9a 100644 --- a/tests/snapshots/youtube__music_album_one_artist.snap +++ b/tests/snapshots/youtube__music_album_one_artist.snap @@ -36,7 +36,6 @@ MusicAlbum( album_type: album, year: Some(2011), by_va: false, - track_count: 15, tracks: [ TrackItem( id: "js0moD0CIRQ", @@ -66,7 +65,6 @@ MusicAlbum( track_type: track, track_nr: Some(1), by_va: false, - unavailable: false, ), TrackItem( id: "-xFJfXE2Cms", @@ -92,7 +90,6 @@ MusicAlbum( track_type: track, track_nr: Some(2), by_va: false, - unavailable: false, ), TrackItem( id: "KWDAaQDq8CQ", @@ -118,7 +115,6 @@ MusicAlbum( track_type: track, track_nr: Some(3), by_va: false, - unavailable: false, ), TrackItem( id: "0bcovdD1gQo", @@ -144,7 +140,6 @@ MusicAlbum( track_type: track, track_nr: Some(4), by_va: false, - unavailable: false, ), TrackItem( id: "lJsqxERcxR8", @@ -166,7 +161,6 @@ MusicAlbum( track_type: track, track_nr: Some(5), by_va: false, - unavailable: false, ), TrackItem( id: "iLfB6-slQdc", @@ -188,7 +182,6 @@ MusicAlbum( track_type: track, track_nr: Some(6), by_va: false, - unavailable: false, ), TrackItem( id: "4DjGZIdMcZk", @@ -210,7 +203,6 @@ MusicAlbum( track_type: track, track_nr: Some(7), by_va: false, - unavailable: false, ), TrackItem( id: "hakoZyX4QIc", @@ -232,7 +224,6 @@ MusicAlbum( track_type: track, track_nr: Some(8), by_va: false, - unavailable: false, ), TrackItem( id: "GOh96GiHVgI", @@ -254,7 +245,6 @@ MusicAlbum( track_type: track, track_nr: Some(9), by_va: false, - unavailable: false, ), TrackItem( id: "ne_jRAHABx0", @@ -276,7 +266,6 @@ MusicAlbum( track_type: track, track_nr: Some(10), by_va: false, - unavailable: false, ), TrackItem( id: "g8oyC2g5V64", @@ -298,7 +287,6 @@ MusicAlbum( track_type: track, track_nr: Some(11), by_va: false, - unavailable: false, ), TrackItem( id: "RxTEv7wXvG0", @@ -320,7 +308,6 @@ MusicAlbum( track_type: track, track_nr: Some(12), by_va: false, - unavailable: false, ), TrackItem( id: "V8iVLlSZeNs", @@ -342,7 +329,6 @@ MusicAlbum( track_type: track, track_nr: Some(13), by_va: false, - unavailable: false, ), TrackItem( id: "OESslKlpao4", @@ -364,7 +350,6 @@ MusicAlbum( track_type: track, track_nr: Some(14), by_va: false, - unavailable: false, ), TrackItem( id: "ennw5cHAebo", @@ -386,7 +371,6 @@ MusicAlbum( track_type: track, track_nr: Some(15), by_va: false, - unavailable: false, ), ], variants: [], diff --git a/tests/snapshots/youtube__music_album_show.snap b/tests/snapshots/youtube__music_album_show.snap index dbd2c04..b91af31 100644 --- a/tests/snapshots/youtube__music_album_show.snap +++ b/tests/snapshots/youtube__music_album_show.snap @@ -22,7 +22,6 @@ MusicAlbum( album_type: show, year: Some(2015), by_va: false, - track_count: 27, tracks: [ TrackItem( id: "ZIjGPc6vG0Y", @@ -48,7 +47,6 @@ MusicAlbum( track_type: track, track_nr: Some(1), by_va: false, - unavailable: false, ), TrackItem( id: "Wqrg6ceVgK8", @@ -74,7 +72,6 @@ MusicAlbum( track_type: track, track_nr: Some(2), by_va: false, - unavailable: false, ), TrackItem( id: "oWlZR0mU3fQ", @@ -100,7 +97,6 @@ MusicAlbum( track_type: track, track_nr: Some(3), by_va: false, - unavailable: false, ), TrackItem( id: "pcdWTaNK_w4", @@ -126,7 +122,6 @@ MusicAlbum( track_type: track, track_nr: Some(4), by_va: false, - unavailable: false, ), TrackItem( id: "hJhcL8A4AEI", @@ -152,7 +147,6 @@ MusicAlbum( track_type: track, track_nr: Some(5), by_va: false, - unavailable: false, ), TrackItem( id: "ROwmS2PzXiE", @@ -178,7 +172,6 @@ MusicAlbum( track_type: track, track_nr: Some(6), by_va: false, - unavailable: false, ), TrackItem( id: "u5fduXogSKU", @@ -204,7 +197,6 @@ MusicAlbum( track_type: track, track_nr: Some(7), by_va: false, - unavailable: false, ), TrackItem( id: "37aeBkbW5Y4", @@ -230,7 +222,6 @@ MusicAlbum( track_type: track, track_nr: Some(8), by_va: false, - unavailable: false, ), TrackItem( id: "Hn2701yNst0", @@ -256,7 +247,6 @@ MusicAlbum( track_type: track, track_nr: Some(9), by_va: false, - unavailable: false, ), TrackItem( id: "dQiTv0BdwwA", @@ -282,7 +272,6 @@ MusicAlbum( track_type: track, track_nr: Some(10), by_va: false, - unavailable: false, ), TrackItem( id: "DXYXlAljscM", @@ -308,7 +297,6 @@ MusicAlbum( track_type: track, track_nr: Some(11), by_va: false, - unavailable: false, ), TrackItem( id: "mfbmff4MQ2M", @@ -334,7 +322,6 @@ MusicAlbum( track_type: track, track_nr: Some(12), by_va: false, - unavailable: false, ), TrackItem( id: "mHkR5PHlHpQ", @@ -360,7 +347,6 @@ MusicAlbum( track_type: track, track_nr: Some(13), by_va: false, - unavailable: false, ), TrackItem( id: "VBnKIZ1b5Cg", @@ -386,7 +372,6 @@ MusicAlbum( track_type: track, track_nr: Some(14), by_va: false, - unavailable: false, ), TrackItem( id: "1iOIPRlLFgM", @@ -412,7 +397,6 @@ MusicAlbum( track_type: track, track_nr: Some(15), by_va: false, - unavailable: false, ), TrackItem( id: "z1nDiIcnxoM", @@ -438,7 +422,6 @@ MusicAlbum( track_type: track, track_nr: Some(16), by_va: false, - unavailable: false, ), TrackItem( id: "TNpe9wfbW9U", @@ -464,7 +447,6 @@ MusicAlbum( track_type: track, track_nr: Some(17), by_va: false, - unavailable: false, ), TrackItem( id: "9FtXAfifarI", @@ -490,7 +472,6 @@ MusicAlbum( track_type: track, track_nr: Some(18), by_va: false, - unavailable: false, ), TrackItem( id: "bRG8YR7ZBtI", @@ -516,7 +497,6 @@ MusicAlbum( track_type: track, track_nr: Some(19), by_va: false, - unavailable: false, ), TrackItem( id: "wYV9GxkHdRE", @@ -542,7 +522,6 @@ MusicAlbum( track_type: track, track_nr: Some(20), by_va: false, - unavailable: false, ), TrackItem( id: "wbrz2yUKiwo", @@ -568,7 +547,6 @@ MusicAlbum( track_type: track, track_nr: Some(21), by_va: false, - unavailable: false, ), TrackItem( id: "_MUx8LqzuY8", @@ -594,7 +572,6 @@ MusicAlbum( track_type: track, track_nr: Some(22), by_va: false, - unavailable: false, ), TrackItem( id: "s0xXo8ftgCA", @@ -620,7 +597,6 @@ MusicAlbum( track_type: track, track_nr: Some(23), by_va: false, - unavailable: false, ), TrackItem( id: "6Q_etK9rgV8", @@ -646,7 +622,6 @@ MusicAlbum( track_type: track, track_nr: Some(24), by_va: false, - unavailable: false, ), TrackItem( id: "4pwRZBhZH6Y", @@ -672,7 +647,6 @@ MusicAlbum( track_type: track, track_nr: Some(25), by_va: false, - unavailable: false, ), TrackItem( id: "O75q5a1s02E", @@ -698,7 +672,6 @@ MusicAlbum( track_type: track, track_nr: Some(26), by_va: false, - unavailable: false, ), TrackItem( id: "KSD9dI_ZgPQ", @@ -724,7 +697,6 @@ MusicAlbum( track_type: track, track_nr: Some(27), by_va: false, - unavailable: false, ), ], variants: [], diff --git a/tests/snapshots/youtube__music_album_single.snap b/tests/snapshots/youtube__music_album_single.snap index 570a89b..e650e4c 100644 --- a/tests/snapshots/youtube__music_album_single.snap +++ b/tests/snapshots/youtube__music_album_single.snap @@ -22,7 +22,6 @@ MusicAlbum( album_type: single, year: Some(2020), by_va: false, - track_count: 1, tracks: [ TrackItem( id: "VU6lEv0PKAo", @@ -48,7 +47,6 @@ MusicAlbum( track_type: track, track_nr: Some(1), by_va: false, - unavailable: false, ), ], variants: [], diff --git a/tests/snapshots/youtube__music_album_unavailable.snap b/tests/snapshots/youtube__music_album_unavailable.snap index e80ce2b..607c137 100644 --- a/tests/snapshots/youtube__music_album_unavailable.snap +++ b/tests/snapshots/youtube__music_album_unavailable.snap @@ -26,7 +26,6 @@ MusicAlbum( album_type: album, year: Some(2019), by_va: false, - track_count: 18, tracks: [ TrackItem( id: "R3VIKRtzAdE", @@ -48,7 +47,6 @@ MusicAlbum( track_type: track, track_nr: Some(1), by_va: false, - unavailable: false, ), TrackItem( id: "t0v0UOgOt18", @@ -70,7 +68,6 @@ MusicAlbum( track_type: track, track_nr: Some(2), by_va: false, - unavailable: false, ), TrackItem( id: "HjJYAkUXrxI", @@ -92,33 +89,10 @@ MusicAlbum( track_type: track, track_nr: Some(3), by_va: false, - unavailable: false, - ), - TrackItem( - id: "d53Dhq4_VvA", - name: "Severed", - duration: Some(244), - cover: [], - artists: [ - ArtistId( - id: None, - name: "The Decemberists", - ), - ], - artist_id: None, - album: Some(AlbumId( - id: "MPREb_AzuWg8qAVVl", - name: "13 Reasons Why (Season 3)", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(4), - by_va: false, - unavailable: true, ), TrackItem( id: "Hg0KUOTL06I", - name: "SWIM HOME", + name: "Swim Home", duration: Some(187), cover: [], artists: [ @@ -136,7 +110,6 @@ MusicAlbum( track_type: track, track_nr: Some(5), by_va: false, - unavailable: false, ), TrackItem( id: "c8AfY6yhdkM", @@ -158,7 +131,6 @@ MusicAlbum( track_type: track, track_nr: Some(6), by_va: false, - unavailable: false, ), TrackItem( id: "_ZmdHjVvwhc", @@ -180,7 +152,6 @@ MusicAlbum( track_type: track, track_nr: Some(7), by_va: false, - unavailable: false, ), TrackItem( id: "wBe1Zi3q1n8", @@ -202,7 +173,6 @@ MusicAlbum( track_type: track, track_nr: Some(8), by_va: false, - unavailable: false, ), TrackItem( id: "l8Pj8s9uPGc", @@ -224,29 +194,6 @@ MusicAlbum( track_type: track, track_nr: Some(9), by_va: false, - unavailable: false, - ), - TrackItem( - id: "2ZbW3zfLfXo", - name: "Young Forever", - duration: Some(244), - cover: [], - artists: [ - ArtistId( - id: None, - name: "JR JR", - ), - ], - artist_id: None, - album: Some(AlbumId( - id: "MPREb_AzuWg8qAVVl", - name: "13 Reasons Why (Season 3)", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(10), - by_va: false, - unavailable: true, ), TrackItem( id: "Kn3cruxYj0c", @@ -268,7 +215,6 @@ MusicAlbum( track_type: track, track_nr: Some(11), by_va: false, - unavailable: false, ), TrackItem( id: "Sy1lIOl1YN0", @@ -290,7 +236,6 @@ MusicAlbum( track_type: track, track_nr: Some(12), by_va: false, - unavailable: false, ), TrackItem( id: "njdlNT1RRo4", @@ -312,95 +257,6 @@ MusicAlbum( track_type: track, track_nr: Some(13), by_va: false, - unavailable: false, - ), - TrackItem( - id: "bANUH8SNV4E", - name: "SLAVES OF FEAR", - duration: Some(294), - cover: [], - artists: [ - ArtistId( - id: None, - name: "HEALTH", - ), - ], - artist_id: None, - album: Some(AlbumId( - id: "MPREb_AzuWg8qAVVl", - name: "13 Reasons Why (Season 3)", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(14), - by_va: false, - unavailable: true, - ), - TrackItem( - id: "jn7fJSTUbUM", - name: "All Your Life", - duration: Some(266), - cover: [], - artists: [ - ArtistId( - id: None, - name: "Angelo De Augustine", - ), - ], - artist_id: None, - album: Some(AlbumId( - id: "MPREb_AzuWg8qAVVl", - name: "13 Reasons Why (Season 3)", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(15), - by_va: false, - unavailable: true, - ), - TrackItem( - id: "-MCzjr9LSIA", - name: "Culture", - duration: Some(194), - cover: [], - artists: [ - ArtistId( - id: None, - name: "Hembree", - ), - ], - artist_id: None, - album: Some(AlbumId( - id: "MPREb_AzuWg8qAVVl", - name: "13 Reasons Why (Season 3)", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(16), - by_va: false, - unavailable: true, - ), - TrackItem( - id: "StZKjRiFtOQ", - name: "Still Want To Be Here", - duration: Some(233), - cover: [], - artists: [ - ArtistId( - id: None, - name: "Frightened Rabbit", - ), - ], - artist_id: None, - album: Some(AlbumId( - id: "MPREb_AzuWg8qAVVl", - name: "13 Reasons Why (Season 3)", - )), - view_count: "[view_count]", - track_type: track, - track_nr: Some(17), - by_va: false, - unavailable: true, ), TrackItem( id: "Si-CXM8CHqQ", @@ -422,7 +278,6 @@ MusicAlbum( track_type: track, track_nr: Some(18), by_va: false, - unavailable: false, ), ], variants: [], diff --git a/tests/snapshots/youtube__music_album_various_artists.snap b/tests/snapshots/youtube__music_album_various_artists.snap index 769dde5..f3ab8f0 100644 --- a/tests/snapshots/youtube__music_album_various_artists.snap +++ b/tests/snapshots/youtube__music_album_various_artists.snap @@ -13,7 +13,6 @@ MusicAlbum( album_type: single, year: Some(2022), by_va: true, - track_count: 6, tracks: [ TrackItem( id: "Tzai7JXo45w", @@ -35,7 +34,6 @@ MusicAlbum( track_type: track, track_nr: Some(1), by_va: false, - unavailable: false, ), TrackItem( id: "9WYpLYAEub0", @@ -57,7 +55,6 @@ MusicAlbum( track_type: track, track_nr: Some(2), by_va: false, - unavailable: false, ), TrackItem( id: "R48tE237bW4", @@ -79,7 +76,6 @@ MusicAlbum( track_type: track, track_nr: Some(3), by_va: false, - unavailable: false, ), TrackItem( id: "-UzsoR6z-vg", @@ -101,7 +97,6 @@ MusicAlbum( track_type: track, track_nr: Some(4), by_va: false, - unavailable: false, ), TrackItem( id: "kbNVyn8Ex28", @@ -123,7 +118,6 @@ MusicAlbum( track_type: track, track_nr: Some(5), by_va: false, - unavailable: false, ), TrackItem( id: "NJrQZUzWP5Y", @@ -145,7 +139,6 @@ MusicAlbum( track_type: track, track_nr: Some(6), by_va: false, - unavailable: false, ), ], variants: [], diff --git a/tests/snapshots/youtube__music_artist_basic.snap b/tests/snapshots/youtube__music_artist_basic.snap index d73c2a2..e025c9d 100644 --- a/tests/snapshots/youtube__music_artist_basic.snap +++ b/tests/snapshots/youtube__music_artist_basic.snap @@ -42,8 +42,8 @@ MusicArtist( by_va: false, ), AlbumItem( - id: "MPREb_HrCgErOdgCv", - name: "Freiheit", + id: "MPREb_6PEkIQE7sWY", + name: "An deiner Seite (Online Version)", cover: "[cover]", artists: [ ArtistId( @@ -52,8 +52,8 @@ MusicArtist( ), ], artist_id: Some("UC7cl4MmM6ZZ2TcFyMk_b4pg"), - album_type: album, - year: Some(2004), + album_type: ep, + year: Some(2008), by_va: false, ), AlbumItem( @@ -87,8 +87,8 @@ MusicArtist( by_va: false, ), AlbumItem( - id: "MPREb_Oq0WKqNwSVY", - name: "Das 2. Gebot", + id: "MPREb_QEClJsuO9xM", + name: "So wie Du warst", cover: "[cover]", artists: [ ArtistId( @@ -97,8 +97,23 @@ MusicArtist( ), ], artist_id: Some("UC7cl4MmM6ZZ2TcFyMk_b4pg"), - album_type: album, - year: Some(2003), + album_type: single, + year: Some(2012), + by_va: false, + ), + AlbumItem( + id: "MPREb_QyGCcLWExXj", + name: "Als wär\'s das erste Mal (Exklusive Piano Version)", + cover: "[cover]", + artists: [ + ArtistId( + id: Some("UC7cl4MmM6ZZ2TcFyMk_b4pg"), + name: "Unheilig", + ), + ], + artist_id: Some("UC7cl4MmM6ZZ2TcFyMk_b4pg"), + album_type: single, + year: Some(2014), by_va: false, ), AlbumItem( @@ -146,21 +161,6 @@ MusicArtist( year: Some(2017), by_va: false, ), - AlbumItem( - id: "MPREb_UA3c5UyVGYs", - name: "Geboren um zu leben", - cover: "[cover]", - artists: [ - ArtistId( - id: Some("UC7cl4MmM6ZZ2TcFyMk_b4pg"), - name: "Unheilig", - ), - ], - artist_id: Some("UC7cl4MmM6ZZ2TcFyMk_b4pg"), - album_type: single, - year: Some(2025), - by_va: false, - ), AlbumItem( id: "MPREb_V0FEmw2pj2u", name: "Sonnentag", @@ -251,21 +251,6 @@ MusicArtist( year: Some(2015), by_va: false, ), - AlbumItem( - id: "MPREb_ohcGTZrqKPZ", - name: "Zelluloid", - cover: "[cover]", - artists: [ - ArtistId( - id: Some("UC7cl4MmM6ZZ2TcFyMk_b4pg"), - name: "Unheilig", - ), - ], - artist_id: Some("UC7cl4MmM6ZZ2TcFyMk_b4pg"), - album_type: album, - year: Some(2004), - by_va: false, - ), AlbumItem( id: "MPREb_pWpeXxATZYb", name: "Wir sind alle wie eins", @@ -281,6 +266,21 @@ MusicArtist( year: Some(2014), by_va: false, ), + AlbumItem( + id: "MPREb_rHhaDLqalbT", + name: "Winter (EP)", + cover: "[cover]", + artists: [ + ArtistId( + id: Some("UC7cl4MmM6ZZ2TcFyMk_b4pg"), + name: "Unheilig", + ), + ], + artist_id: Some("UC7cl4MmM6ZZ2TcFyMk_b4pg"), + album_type: ep, + year: Some(2010), + by_va: false, + ), AlbumItem( id: "MPREb_saXgTKNPaSu", name: "Zeit zu gehen", diff --git a/tests/snapshots/youtube__music_artist_basic_all.snap b/tests/snapshots/youtube__music_artist_basic_all.snap index aef63a7..2fd25a1 100644 --- a/tests/snapshots/youtube__music_artist_basic_all.snap +++ b/tests/snapshots/youtube__music_artist_basic_all.snap @@ -146,6 +146,21 @@ MusicArtist( year: Some(2015), by_va: false, ), + AlbumItem( + id: "MPREb_ghrNI6BJSM8", + name: "Friends And Family", + cover: "[cover]", + artists: [ + ArtistId( + id: Some("UCFKUUtHjT4iq3p0JJA13SOA"), + name: "Every Time I Die", + ), + ], + artist_id: Some("UCFKUUtHjT4iq3p0JJA13SOA"), + album_type: album, + year: Some(2017), + by_va: false, + ), AlbumItem( id: "MPREb_h0UZr2ALQXf", name: "From Parts Unknown (Deluxe Edition)", diff --git a/tests/snapshots/youtube__music_details_mv.snap b/tests/snapshots/youtube__music_details_mv.snap index 8fa7abf..afbd05f 100644 --- a/tests/snapshots/youtube__music_details_mv.snap +++ b/tests/snapshots/youtube__music_details_mv.snap @@ -20,7 +20,6 @@ TrackDetails( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), lyrics_id: Some("MPLYt_wrKjTn9hmry"), related_id: Some("MPTRt_wrKjTn9hmry"), diff --git a/tests/snapshots/youtube__music_details_track.snap b/tests/snapshots/youtube__music_details_track.snap index ef6ff9c..4d85918 100644 --- a/tests/snapshots/youtube__music_details_track.snap +++ b/tests/snapshots/youtube__music_details_track.snap @@ -27,7 +27,6 @@ TrackDetails( track_type: track, track_nr: None, by_va: false, - unavailable: false, ), lyrics_id: Some("MPLYt_cjEzeaBgZAq-2"), related_id: Some("MPTRt_cjEzeaBgZAq-2"), diff --git a/tests/snapshots/youtube__music_details_track_details.snap b/tests/snapshots/youtube__music_details_track_details.snap index b506083..e91052f 100644 --- a/tests/snapshots/youtube__music_details_track_details.snap +++ b/tests/snapshots/youtube__music_details_track_details.snap @@ -20,7 +20,6 @@ TrackDetails( track_type: video, track_nr: None, by_va: false, - unavailable: false, ), lyrics_id: None, related_id: None, diff --git a/tests/youtube.rs b/tests/youtube.rs index d8e60f9..140770a 100644 --- a/tests/youtube.rs +++ b/tests/youtube.rs @@ -5,7 +5,7 @@ use std::fmt::Display; use std::str::FromStr; use rstest::{fixture, rstest}; -use rustypipe::model::TrackType; +use rustypipe::model::{HistoryItem, TrackItem, TrackType, VideoItem}; use rustypipe::param::{AlbumOrder, LANGUAGES}; use time::{macros::date, OffsetDateTime}; @@ -27,10 +27,10 @@ use rustypipe::validate; //#PLAYER #[rstest] -// #[case::desktop(ClientType::Desktop)] TODO: add SABR support +#[case::desktop(ClientType::Desktop)] #[case::tv(ClientType::Tv)] #[case::mobile(ClientType::Mobile)] -// #[case::android(ClientType::Android)] Removed since it requires Android device attestation +#[case::android(ClientType::Android)] #[case::ios(ClientType::Ios)] #[tokio::test] async fn get_player_from_client(#[case] client_type: ClientType, rp: RustyPipe) { @@ -40,6 +40,8 @@ async fn get_player_from_client(#[case] client_type: ClientType, rp: RustyPipe) .await .unwrap(); + // dbg!(&player_data); + assert_eq!(player_data.details.id, "n4tK7LYFxI0"); assert_eq!(player_data.details.duration, 259); assert!(!player_data.details.thumbnail.is_empty()); @@ -480,6 +482,8 @@ async fn playlist_not_found(rp: RustyPipe) { async fn get_video_details(rp: RustyPipe) { let details = rp.query().video_details("ZeerrnuLi5E").await.unwrap(); + // dbg!(&details); + assert_eq!(details.id, "ZeerrnuLi5E"); assert_eq!(details.name, "aespa 에스파 'Black Mamba' MV"); let desc = details.description.to_plaintext(); @@ -515,6 +519,8 @@ async fn get_video_details(rp: RustyPipe) { async fn get_video_details_music(rp: RustyPipe) { let details = rp.query().video_details("XuM2onMGvTI").await.unwrap(); + // dbg!(&details); + assert_eq!(details.id, "XuM2onMGvTI"); assert_eq!(details.name, "Gäa"); let desc = details.description.to_plaintext(); @@ -551,6 +557,8 @@ async fn get_video_details_music(rp: RustyPipe) { async fn get_video_details_ccommons(rp: RustyPipe) { let details = rp.query().video_details("0rb9CfOvojk").await.unwrap(); + // dbg!(&details); + assert_eq!(details.id, "0rb9CfOvojk"); assert_eq!( details.name, @@ -589,6 +597,8 @@ async fn get_video_details_ccommons(rp: RustyPipe) { async fn get_video_details_chapters(rp: RustyPipe) { let details = rp.query().video_details("nFDBxBUfE74").await.unwrap(); + // dbg!(&details); + assert_eq!(details.id, "nFDBxBUfE74"); assert_eq!(details.name, "The Prepper PC"); let desc = details.description.to_plaintext(); @@ -707,6 +717,8 @@ async fn get_video_details_chapters(rp: RustyPipe) { async fn get_video_details_live(rp: RustyPipe) { let details = rp.query().video_details("jfKfPfyJRdk").await.unwrap(); + // dbg!(&details); + assert_eq!(details.id, "jfKfPfyJRdk"); assert_eq!( details.name, @@ -721,7 +733,7 @@ async fn get_video_details_live(rp: RustyPipe) { assert_eq!(details.channel.id, "UCSJ4gkVC6NrvII8umztf0Ow"); assert_eq!(details.channel.name, "Lofi Girl"); assert!(!details.channel.avatar.is_empty(), "no channel avatars"); - assert_eq!(details.channel.verification, Verification::Artist); + assert_eq!(details.channel.verification, Verification::Verified); assert_gteo(details.channel.subscriber_count, 5_500_000, "subscribers"); assert_gte(details.view_count, 100, "views"); assert_gteo(details.like_count, 1_800_000, "likes"); @@ -747,6 +759,8 @@ async fn get_video_details_live(rp: RustyPipe) { async fn get_video_details_agelimit(rp: RustyPipe) { let details = rp.query().video_details("ZDKQmBWTRnw").await.unwrap(); + // dbg!(&details); + assert_eq!(details.id, "ZDKQmBWTRnw"); assert_eq!( details.name, @@ -850,6 +864,7 @@ async fn channel_videos(rp: RustyPipe) { .await .unwrap(); + // dbg!(&channel); assert_channel_eevblog(&channel); assert!( @@ -875,6 +890,7 @@ async fn channel_shorts(rp: RustyPipe) { .await .unwrap(); + // dbg!(&channel); assert_eq!(channel.id, "UCh8gHdtzO2tXd593_bjErWg"); assert_eq!(channel.name, "Doobydobap"); assert_eq!(channel.handle.as_deref(), Some("@Doobydobap")); @@ -903,6 +919,7 @@ async fn channel_livestreams(rp: RustyPipe) { .await .unwrap(); + // dbg!(&channel); assert_channel_eevblog(&channel); assert!( @@ -2119,12 +2136,10 @@ async fn music_search_artists(rp: RustyPipe, unlocalized: bool) { #[rstest] #[tokio::test] async fn music_search_artists_cont(rp: RustyPipe) { - let res = rp.query().music_search_artists("girls").await.unwrap(); + let res = rp.query().music_search_artists("boys").await.unwrap(); assert_eq!(res.corrected_query, None); - if !res.items.is_exhausted() { - assert_next(res.items, rp.query(), 15, 2, true).await; - } + assert_next(res.items, rp.query(), 15, 2, true).await; } #[rstest] @@ -2507,17 +2522,17 @@ async fn music_radio_not_found(rp: RustyPipe) { #[tokio::test] async fn music_charts( #[case] country: Country, - #[case] _plid_top: &str, - #[case] _plid_trend: &str, + #[case] plid_top: &str, + #[case] plid_trend: &str, rp: RustyPipe, ) { let charts = rp.query().music_charts(Some(country)).await.unwrap(); - // assert_eq!(charts.top_playlist_id.expect("top_playlist_id"), plid_top); - // assert_gte(charts.top_tracks.len(), 30, "top tracks"); + assert_eq!(charts.top_playlist_id.expect("top_playlist_id"), plid_top); + + assert_gte(charts.top_tracks.len(), 30, "top tracks"); assert_gte(charts.artists.len(), 30, "top artists"); - /* // Currently (01.02.2024) is no trending playlist shown for Global and US if country != Country::Us { assert_eq!( @@ -2526,7 +2541,6 @@ async fn music_charts( ); assert_gte(charts.trending_tracks.len(), 15, "trending tracks"); } - */ // Chart playlists only available in USA if country == Country::Us { @@ -2597,7 +2611,7 @@ async fn music_genres(rp: RustyPipe, unlocalized: bool) { } #[rstest] -#[case::party("ggMPOg1uX2w1aW1CRDFTSUNo", "Party")] +#[case::chill("ggMPOg1uX1JOQWZFeDByc2Jm", "Chill")] #[case::pop("ggMPOg1uX1lMbVZmbzl6NlJ3", "Pop")] #[tokio::test] async fn music_genre(#[case] id: &str, #[case] name: &str, rp: RustyPipe, unlocalized: bool) { @@ -2641,7 +2655,7 @@ async fn music_genre(#[case] id: &str, #[case] name: &str, rp: RustyPipe, unloca let subgenres = check_music_genre(genre, id, name, unlocalized); - if name == "Party" { + if name == "Chill" { assert_gte(subgenres.len(), 2, "subgenres"); } @@ -2692,30 +2706,31 @@ async fn invalid_ctoken(#[case] ep: ContinuationEndpoint, rp: RustyPipe) { } /// YouTube Music allows searching for ISRC codes +/// This feature does not seem to work with all languages and it has changed in the past. +/// This test is used to check which languages are working #[rstest] #[tokio::test] async fn isrc_search_languages(rp: RustyPipe) { for lang in LANGUAGES { + // flaky for English, skipping for now + if matches!(lang, Language::En | Language::EnGb | Language::EnIn) { + continue; + } + let tracks = rp .query() .lang(lang) - .music_search_tracks("\"DEUM71602459\"") + .music_search_tracks("DEUM71602459") .await .unwrap(); - let track_id = &tracks.items.items[0].id; - assert!( - track_id == "g0iRiJ_ck48" || track_id == "YgUZtELr_jw" || track_id == "oMhM4CFEY3I", - "lang: {lang}; track: {track_id}" - ); + let working = tracks.items.items.iter().any(|t| t.id == "g0iRiJ_ck48"); + assert!(working, "lang: {lang}"); } } -#[cfg(feature = "userdata")] -mod user_data { +mod cookie_auth { use super::*; - use rustypipe::model::{HistoryItem, TrackItem, VideoItem}; - #[rstest] #[tokio::test] async fn history(rp: RustyPipe) { @@ -2799,30 +2814,6 @@ mod user_data { let tracks = rp.query().music_liked_tracks().await.unwrap(); assert_next_items(tracks.tracks, rp.query(), 5).await; } - - /// Assert that the history paginator produces at least n items - async fn assert_next_history>( - paginator: Paginator>, - query: Q, - n_items: usize, - ) { - let mut p = paginator; - let query = query.as_ref(); - p.extend_limit(query, n_items).await.unwrap(); - assert_gte(p.items.len(), n_items, "items"); - } - - /// Assert that the music history paginator produces at least n items - async fn assert_next_music_history>( - paginator: Paginator>, - query: Q, - n_items: usize, - ) { - let mut p = paginator; - let query = query.as_ref(); - p.extend_limit(query, n_items).await.unwrap(); - assert_gte(p.items.len(), n_items, "items"); - } } #[rstest] @@ -2928,11 +2919,7 @@ async fn assert_next>( } for i in 0..n_pages { - match p.next(query).await.unwrap() { - Some(np) => p = np, - None => panic!("paginator exhausted after {i} pages"), - } - + p = p.next(query).await.unwrap().expect("paginator exhausted"); assert_gte( p.items.len(), min_items, @@ -2953,6 +2940,30 @@ async fn assert_next_items>( assert_gte(p.items.len(), n_items, "items"); } +/// Assert that the history paginator produces at least n items +async fn assert_next_history>( + paginator: Paginator>, + query: Q, + n_items: usize, +) { + let mut p = paginator; + let query = query.as_ref(); + p.extend_limit(query, n_items).await.unwrap(); + assert_gte(p.items.len(), n_items, "items"); +} + +/// Assert that the music history paginator produces at least n items +async fn assert_next_music_history>( + paginator: Paginator>, + query: Q, + n_items: usize, +) { + let mut p = paginator; + let query = query.as_ref(); + p.extend_limit(query, n_items).await.unwrap(); + assert_gte(p.items.len(), n_items, "items"); +} + #[track_caller] fn assert_frameset(frameset: &Frameset) { assert_gte(frameset.frame_height, 20, "frame height"); @@ -3014,6 +3025,10 @@ async fn all_send_and_sync() { rp.query() .drm_license("", rustypipe::model::DrmSystem::Widevine, "", "", &[]), ); + send_and_sync(rp.query().history()); + send_and_sync(rp.query().history_continuation("", None)); + send_and_sync(rp.query().history_search("")); + send_and_sync(rp.query().liked_videos()); send_and_sync(rp.query().music_album("")); send_and_sync(rp.query().music_artist("", false)); send_and_sync(rp.query().music_artist_albums("", None, None)); @@ -3022,6 +3037,9 @@ async fn all_send_and_sync() { send_and_sync(rp.query().music_details("")); send_and_sync(rp.query().music_genre("")); send_and_sync(rp.query().music_genres()); + send_and_sync(rp.query().music_history()); + send_and_sync(rp.query().music_history_continuation("", None)); + send_and_sync(rp.query().music_liked_tracks()); send_and_sync(rp.query().music_lyrics("")); send_and_sync(rp.query().music_new_albums()); send_and_sync(rp.query().music_new_videos()); @@ -3030,6 +3048,10 @@ async fn all_send_and_sync() { send_and_sync(rp.query().music_radio_playlist("")); send_and_sync(rp.query().music_radio_track("")); send_and_sync(rp.query().music_related("")); + send_and_sync(rp.query().music_saved_albums()); + send_and_sync(rp.query().music_saved_artists()); + send_and_sync(rp.query().music_saved_playlists()); + send_and_sync(rp.query().music_saved_tracks()); send_and_sync(rp.query().music_search::("", None)); send_and_sync(rp.query().music_search_albums("")); send_and_sync(rp.query().music_search_artists("")); @@ -3046,32 +3068,17 @@ async fn all_send_and_sync() { send_and_sync(rp.query().raw(ClientType::Desktop, "", "")); send_and_sync(rp.query().resolve_string("", false)); send_and_sync(rp.query().resolve_url("", false)); + send_and_sync(rp.query().saved_playlists()); send_and_sync(rp.query().search::("")); send_and_sync( rp.query() .search_filter::("", &SearchFilter::default()), ); send_and_sync(rp.query().search_suggestion("")); + send_and_sync(rp.query().subscription_feed()); + send_and_sync(rp.query().subscriptions()); send_and_sync(rp.query().trending()); send_and_sync(rp.query().video_comments("", None)); send_and_sync(rp.query().video_details("")); - - #[cfg(feature = "userdata")] - { - send_and_sync(rp.query().history()); - send_and_sync(rp.query().history_continuation("", None)); - send_and_sync(rp.query().history_search("")); - send_and_sync(rp.query().liked_videos()); - send_and_sync(rp.query().watch_later()); - send_and_sync(rp.query().music_history()); - send_and_sync(rp.query().music_history_continuation("", None)); - send_and_sync(rp.query().music_saved_albums()); - send_and_sync(rp.query().music_saved_artists()); - send_and_sync(rp.query().music_saved_playlists()); - send_and_sync(rp.query().music_saved_tracks()); - send_and_sync(rp.query().saved_playlists()); - send_and_sync(rp.query().subscription_feed()); - send_and_sync(rp.query().subscriptions()); - send_and_sync(rp.query().music_liked_tracks()); - } + send_and_sync(rp.query().watch_later()); }