From cf4887697beadac3dc495b4dadd77f33e2e64b7d Mon Sep 17 00:00:00 2001 From: goodtube4u Date: Sat, 27 Jul 2024 17:04:41 +1000 Subject: [PATCH] Dark theme fix --- goodtube.js | 8 ++++++++ goodtube.min.js | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/goodtube.js b/goodtube.js index 9d42ded..bd6daf4 100644 --- a/goodtube.js +++ b/goodtube.js @@ -468,6 +468,10 @@ background: #ffffff; z-index: 998; } + + html[dark] .goodTube_hiddenPlayer::before { + background: #0f0f0f; + } `; document.head.appendChild(style); @@ -4289,6 +4293,10 @@ overflow: hidden; } + html[dark] #goodTube_playerWrapper { + background: #0f0f0f; + } + /* Mobile */ #goodTube_playerWrapper.goodTube_mobile { position: fixed; diff --git a/goodtube.min.js b/goodtube.min.js index bda0bea..c403849 100644 --- a/goodtube.min.js +++ b/goodtube.min.js @@ -1 +1 @@ -!function(){"use strict";let t="https://raw.githubusercontent.com/goodtube4u/GoodTube/main",e=500,o=3,n=[],r=[{name:"Automatic",type:!1,proxy:!0,url:"automatic"},{name:"Acid (US)",type:2,proxy:!0,url:"https://invidious.incogniweb.net"},{name:"Anubis (DE)",type:3,proxy:!0,url:"https://pipedapi.r4fo.com"},{name:"Phoenix (US)",type:3,proxy:!0,url:"https://pipedapi.drgns.space"},{name:"Nymph (AT)",type:2,proxy:!0,url:"https://invidious.private.coffee"},{name:"Serpent (US)",type:2,proxy:!0,url:"https://invidious.darkness.services"},{name:"Sphere (US)",type:3,proxy:!0,url:"https://pipedapi.darkness.services"},{name:"Sapphire (IN)",type:3,proxy:!0,url:"https://pipedapi.in.projectsegfau.lt"},{name:"Sphynx (JP)",type:2,proxy:!0,url:"https://invidious.jing.rocks"},{name:"Orchid (DE)",type:3,proxy:!0,url:"https://api.piped.yt"},{name:"Emerald (DE)",type:3,proxy:!0,url:"https://pipedapi.phoenixthrush.com"},{name:"420 (FI)",type:2,proxy:!0,url:"https://invidious.privacyredirect.com"},{name:"Onyx (FR)",type:2,proxy:!0,url:"https://invidious.fdn.fr"},{name:"360p - Amethyst (DE)",type:1,proxy:!0,url:"https://yt.artemislena.eu"},{name:"360p - Goblin (AU)",type:1,proxy:!1,url:"https://invidious.perennialte.ch"},{name:"360p - Raptor (US)",type:1,proxy:!0,url:"https://invidious.drgns.space"}],i=r[0].type,a=r[0].proxy,l=r[0].url,s=r[0].name,d=0,u=0,p=0,c=["https://invidious.perennialte.ch","https://yt.artemislena.eu","https://invidious.private.coffee","https://invidious.drgns.space","https://inv.nadeko.net","https://invidious.projectsegfau.lt","https://invidious.jing.rocks","https://invidious.incogniweb.net","https://invidious.privacyredirect.com","https://invidious.fdn.fr","https://iv.datura.network","https://pipedapi-libre.kavin.rocks","https://pipedapi.syncpundit.io","https://invidious.protokolla.fi","https://iv.melmac.space"],v=["https://sea-downloadapi.stuff.solutions","https://ca.haloz.at","https://cobalt.wither.ing","https://capi.tieren.men","https://co.tskau.team","https://apicb.tigaultraman.com","https://api-cobalt.boykisser.systems","https://cobalt.decrystalfan.app","https://wukko.wolfdo.gg","https://capi.oak.li","https://cb.nyoom.fun","https://dl.khyernet.xyz","https://cobalt-api.alexagirl.studio","https://nyc1.coapi.ggtyler.dev","https://api.dl.ixhby.dev","https://co.eepy.today","https://downloadapi.stuff.solutions","https://cobalt-api.ayo.tf","https://api.sacreations.me","https://apicloud2.filsfkwtlfjas.xyz","https://dl01.yt-dl.click"],m=v.length;for(;0!=m;){let t=Math.floor(Math.random()*m);m--,[v[m],v[t]]=[v[t],v[m]]}let b=["https://dl01.yt-dl.click","https://dl02.yt-dl.click","https://dl03.yt-dl.click","https://apicloud9.filsfkwtlfjas.xyz","https://apicloud3.filsfkwtlfjas.xyz","https://apicloud8.filsfkwtlfjas.xyz","https://apicloud4.filsfkwtlfjas.xyz","https://apicloud5.filsfkwtlfjas.xyz"].concat(v);function g(t,e){document.cookie=t+"="+encodeURIComponent(e)+"; max-age=34473600"}function y(t){let e=document.cookie.split(";");for(let o=0;o{-1!==t.href.indexOf("shorts/")&&(f(t),f(t.closest("ytd-video-renderer")),f(t.closest("ytd-compact-video-renderer")),f(t.closest("ytd-rich-grid-media")))}))}function _(){document.querySelectorAll("#description a, ytd-comments .yt-core-attributed-string a, ytm-expandable-video-description-body-renderer a, .comment-content a").forEach((t=>{!t.classList.contains("goodTube_timestampLink")&&t.getAttribute("href")&&-1!==t.getAttribute("href").indexOf(oe.v)&&-1!==t.getAttribute("href").indexOf("t=")&&(t.classList.add("goodTube_timestampLink"),t.addEventListener("click",(function(){let e=t.getAttribute("href").split("t=");if(void 0!==e[1]){let t=e[1].replace("s","");ct(te,t)}})))}))}function x(){let t=document.getElementById("movie_player");if(t&&"function"==typeof t.setPlaybackQualityRange&&"function"==typeof t.getAvailableQualityData&&"function"==typeof t.getPlaybackQuality){let e=t.getAvailableQualityData(),o=t.getPlaybackQuality();if(e.length&&o){let n=e[e.length-1].quality;o!=n&&t.setPlaybackQualityRange(n,n)}}}function w(){document.querySelectorAll("#player:not(.ytd-channel-video-player-renderer)").forEach((t=>{j(t)})),document.querySelectorAll("#full-bleed-container").forEach((t=>{j(t)})),document.querySelectorAll("#player-control-container").forEach((t=>{f(t)})),document.querySelectorAll("ytd-miniplayer").forEach((t=>{f(t)}))}let k=!1;function S(){if(k)return;let t=!1;if(!ee&&(t=document.querySelector(".ytp-autonav-toggle-button"),t)){if("false"===t.getAttribute("aria-checked"))return void(k=!0);t.click()}}let L=!1,A=0;function W(){let t=document.querySelector("#movie_player video");if(t&&C&&void 0!==oe.v){let e=te.currentTime;if(e===A&&parseFloat(e)>0)return;A=e,t.currentTime=e,L=!0,t.play(),t.muted=!0,t.volume=0;let o=document.querySelector("#movie_player");o&&("function"==typeof o.playVideo&&o.playVideo(),"function"==typeof o.mute&&o.mute(),"function"==typeof o.setVolume&&o.setVolume(0)),setTimeout((function(){L=!1}),10)}}function q(){document.querySelectorAll("video:not(#goodTube_player):not(#goodTube_player_html5_api)").forEach((t=>{t.closest("#inline-player")||(t.muted=!0,t.volume=0,L||t.pause())}))}let E=!1,C=!1,M=!1,Q=!1,z=!1,R=!1,B=!1,I=!1,O=!1,D=!1,G=!1,P=0,F=1,H=0;function U(){console.log("[GoodTube] Loading player..."),function(){let t=document.createElement("style");t.textContent="\n\t\t\t.video-js {\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\n\t\t\t.video-js *:focus {\n\t\t\t\toutline-color: transparent;\n\t\t\t\toutline-style: none;\n\t\t\t}\n\n\t\t\t.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {\n\t\t\t\ttransition: visibility .25s, opacity .25s !important;\n\t\t\t}\n\n\t\t\t.vjs-menu .vjs-menu-item-text {\n\t\t\t\ttext-transform: none !important;\n\t\t\t}\n\n\t\t\t.vjs-menu .vjs-menu-item-text:first-letter {\n\t\t\t\ttext-transform: uppercase !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-download-button .vjs-icon-placeholder,\n\t\t\t.video-js .vjs-source-button .vjs-icon-placeholder,\n\t\t\t.video-js .vjs-autoplay-button .vjs-icon-placeholder,\n\t\t\t.video-js .vjs-quality-selector .vjs-icon-placeholder,\n\t\t\t.video-js .vjs-prev-button .vjs-icon-placeholder,\n\t\t\t.video-js .vjs-next-button .vjs-icon-placeholder,\n\t\t\t.video-js .vjs-miniplayer-button .vjs-icon-placeholder,\n\t\t\t.video-js .vjs-theater-button .vjs-icon-placeholder {\n\t\t\t\tfont-family: VideoJS;\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-style: normal;\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar > button {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\n\t\t\t.video-js .vjs-prev-button .vjs-icon-placeholder:before {\n\t\t\t\tcontent: \"\\f124\";\n\t\t\t}\n\n\t\t\t.video-js .vjs-next-button .vjs-icon-placeholder:before {\n\t\t\t\tcontent: \"\\f123\";\n\t\t\t}\n\n\t\t\t.video-js .vjs-download-button .vjs-icon-placeholder:before {\n\t\t\t\tcontent: \"\\f110\";\n\t\t\t}\n\n\n\n\t\t\t// Loading indicator for downloads\n\t\t\t.video-js .vjs-download-button {\n\t\t\t\tposition: relative;\n\t\t\t}\n\n\t\t\t.video-js .vjs-download-button .goodTube_spinner {\n\t\t\t\topacity: 0;\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 50%;\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translate(-50%, -50%);\n\t\t\t\ttransition: opacity .4s linear;\n\t\t\t}\n\t\t\t.video-js .vjs-download-button.goodTube_loading .goodTube_spinner {\n\t\t\t\topacity: 1;\n\t\t\t\ttransition: opacity .2s .2s linear;\n\t\t\t}\n\n\t\t\t.video-js .vjs-download-button .vjs-icon-placeholder:before {\n\t\t\t\topacity: 1;\n\t\t\t\ttransition: opacity .2s .2s linear;\n\t\t\t}\n\t\t\t.video-js .vjs-download-button.goodTube_loading .vjs-icon-placeholder:before {\n\t\t\t\topacity: 0;\n\t\t\t\ttransition: opacity .2s linear;\n\t\t\t}\n\n\t\t\t.goodTube_spinner {\n\t\t\t\tcolor: #ffffff;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t\t.goodTube_spinner,\n\t\t\t.goodTube_spinner div {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t}\n\t\t\t.goodTube_spinner {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tposition: relative;\n\t\t\t\twidth: 36px;\n\t\t\t\theight: 36px;\n\t\t\t}\n\t\t\t.goodTube_spinner div {\n\t\t\t\tposition: absolute;\n\t\t\t\tborder: 2px solid currentColor;\n\t\t\t\topacity: 1;\n\t\t\t\tborder-radius: 50%;\n\t\t\t\tanimation: goodTube_spinner 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;\n\t\t\t}\n\t\t\t.goodTube_spinner div:nth-child(2) {\n\t\t\t\tanimation-delay: -0.5s;\n\t\t\t}\n\t\t\t@keyframes goodTube_spinner {\n\t\t\t\t0% {\n\t\t\t\t\ttop: 16px;\n\t\t\t\t\tleft: 16px;\n\t\t\t\t\twidth: 4px;\n\t\t\t\t\theight: 4px;\n\t\t\t\t\topacity: .5;\n\t\t\t\t}\n\t\t\t\t4.9% {\n\t\t\t\t\ttop: 16px;\n\t\t\t\t\tleft: 16px;\n\t\t\t\t\twidth: 4px;\n\t\t\t\t\theight: 4px;\n\t\t\t\t\topacity: .5;\n\t\t\t\t}\n\t\t\t\t5% {\n\t\t\t\t\ttop: 16px;\n\t\t\t\t\tleft: 16px;\n\t\t\t\t\twidth: 4px;\n\t\t\t\t\theight: 4px;\n\t\t\t\t\topacity: 1;\n\t\t\t\t}\n\t\t\t\t100% {\n\t\t\t\t\ttop: 0;\n\t\t\t\t\tleft: 0;\n\t\t\t\t\twidth: 36px;\n\t\t\t\t\theight: 36px;\n\t\t\t\t\topacity: 0;\n\t\t\t\t}\n\t\t\t}\n\n\n\n\t\t\t.video-js .vjs-source-button .vjs-icon-placeholder:before {\n\t\t\t\tcontent: \"\\f10e\";\n\t\t\t}\n\n\t\t\t.video-js .vjs-autoplay-button .vjs-icon-placeholder:before {\n\t\t\t\tcontent: \"\\f102\";\n\t\t\t}\n\n\t\t\t.video-js .vjs-quality-selector .vjs-icon-placeholder:before {\n\t\t\t\tcontent: \"\\f114\";\n\t\t\t}\n\n\t\t\t.video-js .vjs-source-button .vjs-icon-placeholder:before {\n\t\t\t\tcontent: \"\\f10e\";\n\t\t\t}\n\n\t\t\t.video-js .vjs-miniplayer-button .vjs-icon-placeholder:before {\n\t\t\t\tcontent: \"\\f127\";\n\t\t\t}\n\n\t\t\t.video-js .vjs-theater-button .vjs-icon-placeholder:before {\n\t\t\t\tcontent: \"\\f115\";\n\t\t\t}\n\n\t\t\t/* Youtube player style */\n\t\t\t.vjs-slider-horizontal .vjs-volume-level:before {\n\t\t\t\tfont-size: 14px !important;\n\t\t\t}\n\n\t\t\t.vjs-volume-control {\n\t\t\t\twidth: auto !important;\n\t\t\t\tmargin-right: 0 !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-volume-panel.vjs-volume-panel-horizontal {\n\t\t\t\ttransition: width .25s !important;\n\t\t\t\tz-index: 999;\n\t\t\t}\n\n\t\t\t.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal {\n\t\t\t\ttransition: opacity .25s, width 1s !important;\n\t\t\t\tmin-width: 0 !important;\n\t\t\t\tpadding-right: 8px !important;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\n\t\t\t.video-js .vjs-volume-panel {\n\t\t\t\tmargin-right: 6px !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-volume-panel.vjs-hover,\n\t\t\t.video-js .vjs-volume-panel.vjs-slider-active {\n\t\t\t\tmargin-right: 16px !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal {\n\t\t\t\tpointer-events: all;\n\t\t\t}\n\n\t\t\t.vjs-volume-bar.vjs-slider-horizontal {\n\t\t\t\tmin-width: 52px !important;\n\t\t\t}\n\n\t\t\t.video-js.player-style-youtube .vjs-control-bar > .vjs-spacer {\n\t\t\t\tflex: 1;\n\t\t\t\torder: 2;\n\t\t\t}\n\n\t\t\t.video-js.player-style-youtube .vjs-play-progress .vjs-time-tooltip {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t.video-js.player-style-youtube .vjs-play-progress::before {\n\t\t\t\tcolor: red;\n\t\t\t\tfont-size: 0.85em;\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t.video-js.player-style-youtube .vjs-progress-holder:hover .vjs-play-progress::before {\n\t\t\t\tdisplay: unset;\n\t\t\t}\n\n\t\t\t.video-js.player-style-youtube .vjs-control-bar {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: row;\n\t\t\t}\n\n\t\t\t.video-js.player-style-youtube .vjs-big-play-button {\n\t\t\t\ttop: 50%;\n\t\t\t\tleft: 50%;\n\t\t\t\tmargin-top: -0.81666em;\n\t\t\t\tmargin-left: -1.5em;\n\t\t\t}\n\n\t\t\t.video-js.player-style-youtube .vjs-menu-button-popup .vjs-menu {\n\t\t\t\tmargin-bottom: 2em;\n\t\t\t}\n\n\t\t\t.video-js ul.vjs-menu-content::-webkit-scrollbar {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t.video-js .vjs-user-inactive:not(.vjs-paused) {\n\t\t\t\tcursor: none;\n\t\t\t}\n\n\t\t\t.video-js .vjs-text-track-display > div > div > div {\n\t\t\t\tborder-radius: 0 !important;\n\t\t\t\tpadding: 4px 8px !important;\n\t\t\t\tline-height: calc(1.2em + 7px) !important;\n\t\t\t\twhite-space: break-spaces !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-play-control {\n\t\t\t\torder: 0;\n\t\t\t}\n\n\t\t\t.video-js .vjs-prev-button {\n\t\t\t\torder: 1;\n\t\t\t}\n\n\t\t\t.video-js .vjs-next-button {\n\t\t\t\torder: 2;\n\t\t\t}\n\n\t\t\t.video-js .vjs-volume-panel {\n\t\t\t\torder: 3;\n\t\t\t}\n\n\t\t\t/* Time control */\n\t\t\thtml body #goodTube_playerWrapper .video-js .vjs-time-control {\n\t\t\t\tfont-family: \"YouTube Noto\", Roboto, Arial, Helvetica, sans-serif !important;\n\t\t\t\torder: 4;\n\t\t\t\tfont-size: 13.0691px !important;\n\t\t\t\tpadding-top: 4px !important;\n\t\t\t\tcolor: rgb(221, 221, 221) !important;\n\t\t\t\ttext-shadow: 0 0 2px rgba(0, 0, 0, .5) !important;\n\t\t\t\tmin-width: 0 !important;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper .video-js .vjs-time-control * {\n\t\t\t\tmin-width: 0 !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-current-time {\n\t\t\t\tpadding-right: 4px !important;\n\t\t\t\tpadding-left: 0 !important;\n\t\t\t\tmargin-left: 0 !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-duration {\n\t\t\t\tpadding-left: 4px !important;\n\t\t\t\tpadding-right: 5px !important;\n\t\t\t\tmargin-right: 0 !important;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .video-js .vjs-time-control {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: calc(100% - 98px);\n\t\t\t\tfont-weight: 500;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .video-js .vjs-current-time {\n\t\t\t\tcolor: #ffffff !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-source-button {\n\t\t\t\tmargin-left: auto !important;\n\t\t\t\torder: 5;\n\t\t\t}\n\n\t\t\t.video-js .vjs-download-button {\n\t\t\t\torder: 6;\n\t\t\t}\n\n\t\t\t.video-js .vjs-autoplay-button {\n\t\t\t\torder: 7;\n\t\t\t}\n\n\t\t\t.video-js .vjs-playback-rate {\n\t\t\t\torder: 8;\n\t\t\t}\n\n\t\t\t.video-js .vjs-subs-caps-button {\n\t\t\t\torder: 9;\n\t\t\t}\n\n\t\t\t.video-js .vjs-quality-selector {\n\t\t\t\torder: 10;\n\t\t\t}\n\n\t\t\t.video-js .vjs-miniplayer-button {\n\t\t\t\torder: 11;\n\t\t\t}\n\n\t\t\t.video-js .vjs-theater-button {\n\t\t\t\torder: 12;\n\t\t\t}\n\n\t\t\t.video-js .vjs-fullscreen-control {\n\t\t\t\torder: 13;\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: row;\n\t\t\t\tscrollbar-width: none;\n\t\t\t\theight: 48px !important;\n\t\t\t\tbackground: transparent !important;\n\t\t\t\tz-index: 2 !important;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper:not(.goodTube_mobile) .video-js::before {\n\t\t\t\tcontent: '';\n\t\t\t\tposition: absolute;\n\t\t\t\tleft: 0;\n\t\t\t\tright: 0;\n\t\t\t\tbottom: 0;\n\t\t\t\theight: 33.33%;\n\t\t\t\tbackground: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAD1CAYAAACRFp+GAAAAAXNSR0IArs4c6QAAASpJREFUOE9lyOlHGAAcxvHuY63Wta3WsdWqdaz7vtfduoyZSBLJmCSSSCaSSBJJJIkk0h+Z7/Pm59Hz4sP3SUh4tUSeIIkMkkmR4qSSIs1JJ4MMUmQ6b0iR5bwlg2xS5DjvSJHr5JFBPikKnEIyeE+KD85HUhQ5xWTwiRQlTikpypxyMvhMii9OBSkqna9kUEWKaqeGDL6RotapI0W900AG30nR6DSRotlpIYNWUrQ57aTocDrJoIsU3U4PKXqdPjLoJ8WAM0gGQ6QYdn6QYsQZJYMxUow7E6SYdKbIYJoUP50ZUsw6c2QwTy7AL/gNf2ARlmAZVmAV1mAd/sI/2IBN2IJt2IFd2IN9+A8HcAhHcAwncApncA4XcAlXcA03cAt3cA8P8AhP8PwCakcyvVVFagcAAAAASUVORK5CYII=\");\n\t\t\t\tbackground-size: cover;\n\t\t\t\tbackground-repeat: repeat-x;\n\t\t\t\tbackground-position: bottom;\n\t\t\t\tbackground-size: contain;\n\t\t\t\tpointer-events: none;\n\t\t\t\topacity: 0;\n\t\t\t\ttransition: opacity .1s linear;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper:not(.goodTube_mobile) .video-js.vjs-paused::before,\n\t\t\t#goodTube_playerWrapper:not(.goodTube_mobile) .video-js.vjs-user-active::before {\n\t\t\t\topacity: 1;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .video-js .vjs-control-bar::before {\n\t\t\t\tdisplay: none;\n\t\t\t\tcontent: none;\n\t\t\t}\n\n\t\t\t.video-js .vjs-menu .vjs-icon-placeholder {\n\t\t\t\tdisplay: none !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-menu .vjs-menu-content > * {\n\t\t\t\tpadding-top: 8px !important;\n\t\t\t\tpadding-bottom: 8px !important;\n\t\t\t\tpadding-left: 12px !important;\n\t\t\t\tpadding-right: 12px !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-menu {\n\t\t\t\theight: auto !important;\n\t\t\t\tbottom: 48px !important;\n\t\t\t\tpadding-bottom: 0 !important;\n\t\t\t\tmargin-bottom: 0 !important;\n\t\t\t\twidth: auto !important;\n\t\t\t\ttransform: translateX(-50%) !important;\n\t\t\t\tleft: 50% !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-menu .vjs-menu-content {\n\t\t\t\tposition: static !important;\n\t\t\t\tborder-radius: 4px !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-volume-control {\n\t\t\t\theight: 100% !important;\n\t\t\t\tdisplay: flex !important;\n\t\t\t\talign-items: center !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-vtt-thumbnail-display {\n\t\t\t\tbottom: calc(100% + 35px) !important;\n\t\t\t\tborder-radius: 12px !important;\n\t\t\t\toverflow: hidden !important;\n\t\t\t\tborder: 2px solid #ffffff !important;\n\t\t\t\tbackground-color: #000000 !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar .vjs-icon-placeholder {\n\t\t\t\theight: 100%;\n\t\t\t}\n\n\t\t\t.video-js .vjs-control {\n\t\t\t\tmin-width: 48px !important;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper:not(goodTube_mobile) .video-js .vjs-control-bar > .vjs-play-control {\n\t\t\t\tpadding-left: 8px;\n\t\t\t\tbox-sizing: content-box;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .video-js .vjs-control:not(.vjs-progress-control) {\n\t\t\t\tmin-width: 0 !important;\n\t\t\t\tflex-grow: 1 !important;\n\t\t\t\tmax-width: 9999px !important;\n\t\t\t\tpadding-left: 0 !important;\n\t\t\t\tpadding-right: 0 !important;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .video-js .vjs-control.vjs-volume-panel,\n\t\t\t#goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-control.vjs-volume-panel {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar .vjs-icon-placeholder::before {\n\t\t\t\theight: auto;\n\t\t\t\ttop: 50%;\n\t\t\t\ttransform: translateY(-50%);\n\t\t\t\tfont-size: 24px;\n\t\t\t\tline-height: 100%;\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar *:not(.vjs-time-control) {\n\t\t\t\ttext-shadow: none !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-vtt-thumbnail-time {\n\t\t\t\tdisplay: none !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-playback-rate .vjs-playback-rate-value {\n\t\t\t\tline-height: 48px;\n\t\t\t\tfont-size: 14px !important;\n\t\t\t\tfont-weight: 700;\n\t\t\t}\n\n\t\t\t.video-js .vjs-play-progress .vjs-time-tooltip {\n\t\t\t\tdisplay: none !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-mouse-display .vjs-time-tooltip {\n\t\t\t\tbackground: none !important;\n\t\t\t\tfont-size: 12px !important;\n\t\t\t\ttop: -50px !important;\n\t\t\t\ttext-shadow: 0 0 10px rgba(0, 0, 0, .5) !important;\n\t\t\t\tfont-family: \"YouTube Noto\", Roboto, Arial, Helvetica, sans-serif !important;\n\t\t\t\tfont-weight: 500 !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar::-webkit-scrollbar {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t.video-js .vjs-icon-cog {\n\t\t\t\tfont-size: 18px;\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar,\n\t\t\t.video-js .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\n\t\t\t\tbackground-color: rgba(35, 35, 35, 0.75);\n\t\t\t}\n\n\t\t\t.video-js .vjs-menu li.vjs-menu-item:not(.vjs-selected) {\n\t\t\t\tbackground-color: transparent !important;\n\t\t\t\tcolor: #ffffff !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-menu li.vjs-menu-item:not(.vjs-selected):hover {\n\t\t\t\tbackground-color: rgba(255, 255, 255, 0.75) !important;\n\t\t\t\tcolor: rgba(49, 49, 51, 0.75) !important;\n\t\t\t\tcolor: #ffffff !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-menu li.vjs-selected,\n\t\t\t.video-js .vjs-menu li.vjs-selected:hover {\n\t\t\t\tbackground-color: #ffffff !important;\n\t\t\t\tcolor: #000000 !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-menu li {\n\t\t\t\twhite-space: nowrap !important;\n\t\t\t\tfont-size: 12px !important;\n\t\t\t\tfont-weight: 700 !important;\n\t\t\t\tmax-width: 9999px !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-subs-caps-button .vjs-menu li {\n\t\t\t\twhite-space: normal !important;\n\t\t\t\tmin-width: 128px !important;\n\t\t\t}\n\n\t\t\t/* Progress Bar */\n\t\t\t.video-js .vjs-slider {\n\t\t\t\tbackground-color: rgba(15, 15, 15, 0.5);\n\t\t\t}\n\n\t\t\t.video-js .vjs-load-progress,\n\t\t\t.video-js .vjs-load-progress div {\n\t\t\t\tbackground: rgba(87, 87, 88, 1);\n\t\t\t}\n\n\t\t\t.video-js .vjs-slider:hover,\n\t\t\t.video-js button:hover {\n\t\t\t\tcolor: #ffffff;\n\t\t\t}\n\n\t\t\t/* Overlay */\n\t\t\t.video-js .vjs-overlay {\n\t\t\t\tbackground-color: rgba(35, 35, 35, 0.75) !important;\n\t\t\t}\n\t\t\t.video-js .vjs-overlay * {\n\t\t\t\tcolor: rgba(255, 255, 255, 1) !important;\n\t\t\t\ttext-align: center;\n\t\t\t}\n\n\t\t\t/* ProgressBar marker */\n\t\t\t.video-js .vjs-marker {\n\t\t\t\tbackground-color: rgba(255, 255, 255, 1);\n\t\t\t\tz-index: 0;\n\t\t\t}\n\n\t\t\t/* Big \"Play\" Button */\n\t\t\t.video-js .vjs-big-play-button {\n\t\t\t\tbackground-color: rgba(35, 35, 35, 0.5);\n\t\t\t}\n\n\t\t\t.video-js:hover .vjs-big-play-button {\n\t\t\t\tbackground-color: rgba(35, 35, 35, 0.75);\n\t\t\t}\n\n\t\t\t.video-js .vjs-current-time,\n\t\t\t.video-js .vjs-time-divider,\n\t\t\t.video-js .vjs-duration {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\n\t\t\t.video-js .vjs-time-divider {\n\t\t\t\tmin-width: 0px;\n\t\t\t\tpadding-left: 0px;\n\t\t\t\tpadding-right: 0px;\n\t\t\t}\n\n\t\t\t.video-js .vjs-poster {\n\t\t\t\tbackground-size: cover;\n\t\t\t\tobject-fit: cover;\n\t\t\t}\n\n\t\t\t.video-js .player-dimensions.vjs-fluid {\n\t\t\t\tpadding-top: 82vh;\n\t\t\t}\n\n\t\t\tvideo.video-js {\n\t\t\t\tposition: absolute;\n\t\t\t\theight: 100%;\n\t\t\t}\n\n\t\t\t.video-js .mobile-operations-bar {\n\t\t\t\tdisplay: flex;\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tright: 1px !important;\n\t\t\t\tleft: initial !important;\n\t\t\t\twidth: initial !important;\n\t\t\t}\n\n\t\t\t.video-js .mobile-operations-bar ul {\n\t\t\t\tposition: absolute !important;\n\t\t\t\tbottom: unset !important;\n\t\t\t\ttop: 1.5em;\n\t\t\t}\n\n\t\t\t.video-js .vjs-menu-button-popup .vjs-menu {\n\t\t\t\tborder: 0 !important;\n\t\t\t\tpadding-bottom: 12px !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-menu li.vjs-menu-item:not(.vjs-selected):hover,\n\t\t\t.video-js .vjs-menu li.vjs-menu-item.vjs-auto-selected {\n\t\t\t\tbackground-color: rgba(255, 255, 255, .2) !important;\n\t\t\t\tcolor: #ffffff !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-menu * {\n\t\t\t\tborder: 0 !important;\n\t\t\t}\n\n\t\t\t/* Tooltips\n\t\t\t------------------------------------------------------------------------------------------ */\n\t\t\t.video-js .vjs-control-bar > .vjs-prev-button::before {\n\t\t\t\tcontent: 'Previous video';\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar > .vjs-next-button::before {\n\t\t\t\tcontent: 'Next video';\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar .vjs-mute-control:not(.vjs-vol-0)::before {\n\t\t\t\tcontent: 'Mute (m)';\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar .vjs-mute-control.vjs-vol-0::before {\n\t\t\t\tcontent: 'Unmute (m)';\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar > .vjs-playback-rate > .vjs-menu-button::before {\n\t\t\t\tcontent: 'Playback speed';\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar > .vjs-subs-caps-button > .vjs-menu-button::before {\n\t\t\t\tcontent: 'Subtitles';\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar > .vjs-quality-selector > .vjs-menu-button::before {\n\t\t\t\tcontent: 'Quality';\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar > .vjs-download-button > .vjs-menu-button::before {\n\t\t\t\tcontent: 'Download';\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar > .vjs-autoplay-button > .vjs-menu-button::before {\n\t\t\t\tcontent: 'Autoplay';\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar > .vjs-source-button > .vjs-menu-button::before {\n\t\t\t\tcontent: 'Video source';\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar > .vjs-miniplayer-button::before {\n\t\t\t\tcontent: 'Miniplayer (i)';\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar > .vjs-theater-button::before {\n\t\t\t\tcontent: 'Theater mode (t)';\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar > .vjs-fullscreen-control::before {\n\t\t\t\tcontent: 'Fullscreen (f)';\n\t\t\t\tleft: auto !important;\n\t\t\t\tright: 12px !important;\n\t\t\t\ttransform: none !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar button.vjs-menu-button::before,\n\t\t\t.video-js .vjs-control-bar .vjs-button:not(.vjs-menu-button)::before {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: -40px;\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translateX(-50%);\n\t\t\t\tbackground: rgba(0, 0, 0, .75);\n\t\t\t\tborder-radius: 4px;\n\t\t\t\tfont-size: 12px;\n\t\t\t\tfont-weight: 600;\n\t\t\t\tpadding: 8px;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\topacity: 0;\n\t\t\t\ttransition: opacity .1s;\n\t\t\t\tpointer-events: none;\n\t\t\t\ttext-shadow: none !important;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .video-js .vjs-control-bar button.vjs-menu-button::before,\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .video-js .vjs-control-bar .vjs-button:not(.vjs-menu-button)::before {\n\t\t\t\tdisplay: none !important;\n\t\t\t\tcontent: none !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar div.vjs-menu-button:not(.vjs-menuOpen) button.vjs-menu-button:hover::before,\n\t\t\t.video-js .vjs-control-bar .vjs-button:not(.vjs-menu-button):hover::before {\n\t\t\t\topacity: 1;\n\t\t\t}\n\n\t\t\t.video-js div.vjs-menu-button:not(.vjs-menuOpen) .vjs-menu {\n\t\t\t\tdisplay: none !important;\n\t\t\t}\n\n\t\t\t.video-js div.vjs-menu-button.vjs-menuOpen .vjs-menu {\n\t\t\t\tdisplay: block !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-menu {\n\t\t\t\tz-index: 999 !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-big-play-button {\n\t\t\t\tdisplay: none !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-volume-panel,\n\t\t\t.video-js .vjs-button {\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\t.video-js .vjs-button.vjs-menuOpen {\n\t\t\t\tz-index: 999;\n\t\t\t}\n\n\t\t\t.video-js .vjs-error-display .vjs-modal-dialog-content {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t.video-js:not(.vjs-has-started) .vjs-control-bar {\n\t\t\t\tdisplay: flex !important;\n\t\t\t}\n\n\t\t\t.vjs-track-settings-controls button:hover {\n\t\t\t\tcolor: #000000 !important;\n\t\t\t}\n\t\t",document.body.appendChild(t)}();const t=videojs.getComponent("MenuItem"),a=videojs.getComponent("MenuButton");class l extends a{createItems(){const e=[],{myItems:o}=this.options_;return Array.isArray(o),o.forEach((({clickHandler:o,...n})=>{const r=new t(this.player(),n);o&&(r.handleClick=o),e.push(r)})),e}buildCSSClass(){return`${super.buildCSSClass()}`}}videojs.registerComponent("DownloadButton",l),videojs.registerComponent("SourceButton",l),videojs.registerComponent("AutoplayButton",l);const s=videojs.getComponent("Button");videojs.registerComponent("PrevButton",class extends s{handleClick(t){t.stopImmediatePropagation(),it()}});videojs.registerComponent("NextButton",class extends s{handleClick(t){t.stopImmediatePropagation(),at(!0)}});videojs.registerComponent("MiniplayerButton",class extends s{handleClick(t){t.stopImmediatePropagation(),Nt()}});videojs.registerComponent("TheaterButton",class extends s{handleClick(t){t.stopImmediatePropagation(),function(t){let e=!1,o=!1,n=!1;if("next"===t)e="n",o=78,n=!0;else if("prev"===t)e="p",o=80,n=!0;else if("theater"===t)e="t",o=84,n=!1;else{if("fullscreen"!==t)return;e="f",o=70,n=!1}let r=!1;r=new window.KeyboardEvent("focus",{bubbles:!0,key:e,keyCode:o,shiftKey:n,charCode:0}),document.dispatchEvent(r),r=new window.KeyboardEvent("keydown",{bubbles:!0,key:e,keyCode:o,shiftKey:n,charCode:0}),document.dispatchEvent(r),r=new window.KeyboardEvent("beforeinput",{bubbles:!0,key:e,keyCode:o,shiftKey:n,charCode:0}),document.dispatchEvent(r),r=new window.KeyboardEvent("keypress",{bubbles:!0,key:e,keyCode:o,shiftKey:n,charCode:0}),document.dispatchEvent(r),r=new window.KeyboardEvent("input",{bubbles:!0,key:e,keyCode:o,shiftKey:n,charCode:0}),document.dispatchEvent(r),r=new window.KeyboardEvent("change",{bubbles:!0,key:e,keyCode:o,shiftKey:n,charCode:0}),document.dispatchEvent(r),r=new window.KeyboardEvent("keyup",{bubbles:!0,key:e,keyCode:o,shiftKey:n,charCode:0}),document.dispatchEvent(r)}("theater")}});let u=[];r.forEach((t=>{u.push({label:t.name,clickHandler(t){t.target.closest(".vjs-menu").querySelectorAll(".vjs-selected").forEach((t=>{t.classList.remove("vjs-selected")}));let e=t.target.closest(".vjs-menu-item");e.classList.add("vjs-selected"),"automatic"===e.getAttribute("api")&&(d=0),te.currentTime>0&&(H=te.currentTime),gt(e.getAttribute("api"),!0)}})})),E=videojs("goodTube_player",{inactivityTimeout:3e3,controls:!0,autoplay:!1,preload:"auto",width:"100%",height:"100%",playbackRates:[.25,.5,1,1.25,1.5,1.75,2],userActions:{doubleClick:!1},html5:{vhs:{overrideNative:!0},hls:{overrideNative:!0}},controlBar:{children:["playToggle","volumePanel","currentTimeDisplay","timeDivider","durationDisplay","progressControl","playbackRateMenuButton","subsCapsButton","qualitySelector","fullscreenToggle"],NextButton:{className:"vjs-next-button"},PrevButton:{className:"vjs-prev-button"},AutoplayButton:{controlText:"Autoplay",className:"vjs-autoplay-button",myItems:[{label:"Autoplay off",clickHandler(){let t=event.target.closest(".vjs-menu");t.querySelector(".vjs-selected")?.classList.remove("vjs-selected"),event.target.closest(".vjs-menu-item").classList.add("vjs-selected"),g("goodTube_autoplay","off")}},{label:"Autoplay on",clickHandler(){let t=event.target.closest(".vjs-menu");t.querySelector(".vjs-selected")?.classList.remove("vjs-selected"),event.target.closest(".vjs-menu-item").classList.add("vjs-selected"),g("goodTube_autoplay","on")}}]},SourceButton:{controlText:"Video source",className:"vjs-source-button",myItems:u},DownloadButton:{controlText:"Download",className:"vjs-download-button",myItems:[{className:"goodTube_download_playlist_cancel",label:"CANCEL ALL DOWNLOADS",clickHandler(){!function(){if(!confirm("Are you sure you want to cancel all downloads?"))return;J=[];for(let t in N)clearTimeout(N[t]),delete N[t];Z(!0),console.log("[GoodTube] Downloads cancelled")}()}},{label:"Download video",clickHandler(){J[oe.v]=!0,K(0,"video",oe.v)}},{label:"Download audio",clickHandler(){J[oe.v]=!0,K(0,"audio",oe.v)}},{className:"goodTube_download_playlist_video",label:"Download playlist (video)",clickHandler(){Y("video")}},{className:"goodTube_download_playlist_audio",label:"Download playlist (audio)",clickHandler(){Y("audio")}}]},MiniplayerButton:{className:"vjs-miniplayer-button"},TheaterButton:{className:"vjs-theater-button"}}}),videojs.log.level("off"),videojs.hook("error",(function(t){te.getAttribute("src")&&(void 0!==n.reloadVideo&&clearTimeout(n.reloadVideo),n.reloadVideo=setTimeout((function(){!function(t){if(void 0===oe.v)return;void 0!==n.reloadVideo&&clearTimeout(n.reloadVideo);if(Tt>o)return void Jt();let e=t.src;vt(t),setTimeout((function(){t.setAttribute("src",e)}),0),Tt++}(te)}),e),mt(),V())})),E.on("ready",(function(){C=!0;let t=document.querySelector("#goodTube_player video");t&&(t.setAttribute("playsinline",""),t.setAttribute("webkit-playsinline","")),W(),B=E.hlsQualitySelector();let e=document.querySelector("#goodTube_player");if(e){let t=document.createElement("div");t.id="goodTube_miniplayer_closeButton",t.onclick=function(){Nt()},e.appendChild(t);let o=document.createElement("div");o.id="goodTube_miniplayer_expandButton",o.onclick=function(){Ut!==oe.v?window.location.href="/watch?v="+Ut+"&t="+parseFloat(te.currentTime).toFixed(0)+"s":Nt()},e.appendChild(o)}if(console.log("[GoodTube] Player loaded"),te=document.querySelector("#goodTube_player video"),ee){let t=document.createElement("div");t.id="goodTube_seekBackwards",e.append(t),t.onclick=function(){var t=(new Date).getTime()-M;t<400&&t>0?(e.classList.remove("vjs-user-active"),e.classList.add("vjs-user-inactive"),te.currentTime-=10):e.classList.contains("vjs-user-active")?(e.classList.remove("vjs-user-active"),e.classList.add("vjs-user-inactive")):(e.classList.add("vjs-user-active"),e.classList.remove("vjs-user-inactive")),M=(new Date).getTime()};let o=document.createElement("div");o.id="goodTube_seekForwards",e.append(o),o.onclick=function(){var t=(new Date).getTime()-Q;t<400&&t>0?(e.classList.remove("vjs-user-active"),e.classList.add("vjs-user-inactive"),te.currentTime+=5):e.classList.contains("vjs-user-active")?(e.classList.remove("vjs-user-active"),e.classList.add("vjs-user-inactive")):(e.classList.add("vjs-user-active"),e.classList.remove("vjs-user-inactive")),Q=(new Date).getTime()},e.addEventListener("touchstart",(function(t){z=setTimeout((function(){e.classList.remove("vjs-user-active"),e.classList.add("vjs-user-inactive"),F=te.playbackRate,te.playbackRate=2,R=!0}),1e3)})),["touchmove","touchend","touchcancel"].forEach((t=>{e.addEventListener(t,(function(t){z&&clearTimeout(z),R&&(te.playbackRate=F,R=!1)}))}))}ee||e.addEventListener("dblclick",(function(t){t.target.closest(".vjs-progress-control")||t.target.closest(".vjs-menu-button")||t.target.closest(".vjs-control")||document.querySelector(".vjs-fullscreen-control")?.click()})),ee||(e.addEventListener("mouseout",(function(t){e.classList.contains("vjs-user-active")&&!e.classList.contains("vjs-paused")&&(e.classList.remove("vjs-user-active"),e.classList.add("vjs-user-inactive"))})),e.addEventListener("mouseover",(function(t){e.classList.contains("vjs-user-inactive")&&!e.classList.contains("vjs-paused")&&(e.classList.add("vjs-user-active"),e.classList.remove("vjs-user-inactive"))})),e.addEventListener("click",(function(t){setTimeout((function(){e.classList.contains("vjs-user-inactive")&&!e.classList.contains("vjs-paused")&&(e.classList.add("vjs-user-active"),e.classList.remove("vjs-user-inactive"),window.goodTube_inactive_timeout=setTimeout((function(){e.classList.contains("vjs-user-active")&&!e.classList.contains("vjs-paused")&&(e.classList.remove("vjs-user-active"),e.classList.add("vjs-user-inactive"))}),3e3))}),1)})),e.addEventListener("mousemove",(function(t){void 0!==window.goodTube_inactive_timeout&&clearTimeout(window.goodTube_inactive_timeout)}))),document.querySelectorAll("#goodTube_player button").forEach((t=>{t.setAttribute("title","")}));let o=y("goodTube_volume");o&&o==parseFloat(o)&&pt(te,o),y("goodTube_autoplay")&&!ee||g("goodTube_autoplay","on");let n=document.querySelector(".vjs-autoplay-button");if(n){n.querySelector(".vjs-menu .vjs-selected")?.classList.remove("vjs-selected");let t=n.querySelectorAll(".vjs-menu .vjs-menu-item");"on"===y("goodTube_autoplay")?t[t.length-1].classList.add("vjs-selected"):t[0].classList.add("vjs-selected")}let i=document.querySelector(".vjs-mute-control");i&&(i.onmousedown=function(){te.muted?E.muted(!1):E.muted(!0)},i.ontouchstart=function(){te.muted?E.muted(!1):E.muted(!0)});let a=document.querySelector(".vjs-play-control");a&&(a.removeEventListener("click",ut,!1),a.addEventListener("click",ut,!1)),document.onmousedown=function(){if(!event.target.closest(".vjs-menu")&&!event.target.closest(".vjs-menu-button")){document.querySelectorAll(".vjs-menuOpen").forEach((t=>{t.classList.remove("vjs-menuOpen")}))}},document.ontouchstart=function(){if(!event.target.closest(".vjs-menu")&&!event.target.closest(".vjs-menu-button")){document.querySelectorAll(".vjs-menuOpen").forEach((t=>{t.classList.remove("vjs-menuOpen")}))}};let l=document.querySelector(".vjs-control-bar .vjs-play-control");l&&(l.onclick=function(){0===te.currentTime&&te.click()},l.ontouchstart=function(){0===te.currentTime&&te.click()});let s=document.querySelectorAll(".vjs-source-button .vjs-menu .vjs-menu-item");if(s){let t=0;s.forEach((e=>{e.setAttribute("api",r[t].url),t++}))}if(["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document){let t=document.querySelector(".vjs-download-button");t&&t.remove()}gt(y("goodTube_videoServer_withauto"),!1),V()})),document.addEventListener("keydown",(function(t){if(27==t.keyCode){document.querySelectorAll(".vjs-menuOpen").forEach((t=>{t.classList.remove("vjs-menuOpen")}))}}),!0),E.on("seeking",(function(){G=!0})),E.on("seeked",(function(){G=!1,W()})),E.on("waiting",(function(){if(I&&clearTimeout(I),O&&clearTimeout(O),!(te.currentTime<=0)&&(G||(O=setTimeout((function(){if(P++,P>=3)return I&&clearTimeout(I),O&&clearTimeout(O),console.log("[GoodTube] Video buffering too often - selecting next video source..."),P=0,H=te.currentTime,void gt("automatic",!0)}),1e3)),2===i||3===i)){let t=te.currentTime;I=setTimeout((function(){te.currentTime===t&&(I&&clearTimeout(I),O&&clearTimeout(O),console.log("[GoodTube] Video not loading fast enough - selecting next video source..."),H=te.currentTime,gt("automatic",!0))}),15e3)}})),E.on("loadedmetadata",(function(){if(te.getAttribute("src")){if(D&&clearTimeout(D),void 0!==oe.t){let t=oe.t.replace("s","");ct(te,t)}H>0&&ct(te,H),te.focus()}})),E.on("loadstart",(function(){if(te.getAttribute("src"))if(D&&clearTimeout(D),D=setTimeout((function(){console.log("[GoodTube] Video not loading fast enough - selecting next video source..."),gt("automatic",!0)}),15e3),1===i){let t="",e=document.querySelector(".vjs-quality-selector .vjs-menu .vjs-selected .vjs-menu-item-text");t=e?e.innerHTML:te.querySelector("source[selected=true]").getAttribute("label");let o=t.replace("p","").replace("hd","").replace(" ","").toLowerCase();parseFloat(xt)!==parseFloat(o)&&(wt=o,xt=o);let n=document.querySelector("#goodTube_playerWrapper");"audio"===o?n.classList.contains("goodTube_audio")||n.classList.add("goodTube_audio"):n.classList.contains("goodTube_audio")&&n.classList.remove("goodTube_audio"),Tt<=1&&console.log("[GoodTube] Loading quality "+t+"...")}else if(2===i||3===i){let t=document.querySelector("#goodTube_playerWrapper");t.classList.contains("goodTube_audio")&&t.classList.remove("goodTube_audio"),Tt<=1&&console.log("[GoodTube] Loading qualities...")}})),E.on("loadeddata",(function(){P=0,te.paused||st(te),Tt=1,void 0!==n.reloadVideo&&clearTimeout(n.reloadVideo),1===i?console.log("[GoodTube] Quality loaded"):2!==i&&3!==i||console.log("[GoodTube] Qualities loaded"),V(),bt()})),E.on("ended",(function(){W(),at()})),E.on("volumechange",(function(){let t=te.volume;te.muted&&(t=0),g("goodTube_volume",t)}))}function V(){document.querySelectorAll(".vjs-control-bar button").forEach((t=>{t.onclick=function(){document.querySelectorAll(".vjs-menuOpen").forEach((e=>{e!=t.closest("div.vjs-menu-button")&&e.classList.remove("vjs-menuOpen")}));let e=t.closest("div.vjs-menu-button");e&&(e.classList.contains("vjs-menuOpen")?e.classList.remove("vjs-menuOpen"):e.classList.add("vjs-menuOpen"))},t.ontouchstart=function(){document.querySelectorAll(".vjs-menuOpen").forEach((e=>{e!=t.closest("div.vjs-menu-button")&&e.classList.remove("vjs-menuOpen")}));let e=t.closest("div.vjs-menu-button");e&&(e.classList.contains("vjs-menuOpen")?e.classList.remove("vjs-menuOpen"):e.classList.add("vjs-menuOpen"))}}));if(document.querySelectorAll(".vjs-menu-item").forEach((t=>{((t,e)=>{let o=!1;t.addEventListener("touchstart",(function(){o=!1})),t.addEventListener("touchmove",(function(){o=!0})),t.addEventListener("touchend",(function(t){o||e(t)})),t.addEventListener("click",(function(t){e(t)}))})(t,(t=>{let e=0;ee&&(e=400),setTimeout((function(){document.querySelectorAll(".vjs-menuOpen").forEach((t=>{t.classList.remove("vjs-menuOpen")}))}),e)}))})),!ee&&!document.querySelector(".goodTube_hoverBar")){let t=document.createElement("div");t.classList.add("goodTube_hoverBar"),document.querySelector(".video-js .vjs-progress-control").appendChild(t),document.querySelector(".video-js .vjs-progress-control").addEventListener("mousemove",(function(e){window.requestAnimationFrame((function(){t.style.width=document.querySelector(".video-js .vjs-progress-control .vjs-mouse-display").style.left}))}))}}let N=[],J=[];function K(t,o,r,i,a){if(void 0===i&&(i=""),void 0===J[r])return;if(void 0===b[t])return void 0!==J[r]&&delete J[r],void 0!==i?(alert("[GoodTube] "+o.charAt(0).toUpperCase()+o.slice(1)+" - "+i+" could not be downloaded. Please try again soon."),console.log("[GoodTube] "+o.charAt(0).toUpperCase()+o.slice(1)+" - "+i+" could not be downloaded. Please try again soon.")):(alert("[GoodTube] "+o.charAt(0).toUpperCase()+o.slice(1)+" could not be downloaded. Please try again soon."),console.log("[GoodTube] "+o.charAt(0).toUpperCase()+o.slice(1)+" could not be downloaded. Please try again soon.")),void Z();X();let l=0,s=(new Date).getTime()/1e3,d=parseFloat(y("goodTube_lastDownloadTimeSeconds"));d&&(l=3-(s-d),l<0&&(l=0)),g("goodTube_lastDownloadTimeSeconds",s+l),N[r]=setTimeout((function(){""!==i?console.log("[GoodTube] Downloading "+o+" - "+i+"..."):console.log("[GoodTube] Downloading "+o+"...");let l="vp9";ee&&(l="h264"),void 0!==a&&(l=a);let s=!1;"audio"===o&&(s=!0);let d=JSON.stringify({url:"https://www.youtube.com/watch?v="+r,vCodec:l,vQuality:"max",filenamePattern:"basic",isAudioOnly:s});fetch(b[t]+"/api/json",{signal:AbortSignal.timeout(1e4),method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:d}).then((t=>t.text())).then((a=>{if(void 0!==J[r]){if(void 0!==(a=JSON.parse(a)).status&&"rate-limit"===a.status)return void 0!==n["download_"+r]&&clearTimeout(n["download_"+r]),void(n["download_"+r]=setTimeout((function(){K(t,o,r,i)}),e));if(void 0!==a.status&&"error"===a.status){let s=!1;return void 0!==a.text&&-1!==a.text.toLowerCase().indexOf("settings")?(ee||("vp9"===l?s="av1":"av1"===l&&(s="h264")),ee&&("h264"===l?s="av1":"av1"===l&&(s="vp9")),s?(void 0!==n["download_"+r]&&clearTimeout(n["download_"+r]),void(n["download_"+r]=setTimeout((function(){K(t,o,r,i,s)}),e))):(console.log("[GoodTube] Could not download "+o+" - "+i),void 0!==J[r]&&delete J[r],void setTimeout((function(){Z()}),1e3))):(void 0!==n["download_"+r]&&clearTimeout(n["download_"+r]),t++,void(n["download_"+r]=setTimeout((function(){K(t,o,r,i)}),e)))}void 0!==a.status&&void 0!==a.url&&function(t,o,r,i,a){if(void 0===J[i])return;X();let l=".mp4";"audio"===o&&(l=".mp3");ee||""===r?(window.open(t,"_self"),""!==r?console.log("[GoodTube] Downloaded "+o+" - "+r):console.log("[GoodTube] Downloaded "+o),void 0!==J[i]&&delete J[i],setTimeout((function(){Z()}),1e3)):fetch(t).then((t=>t.blob())).then((t=>{if(void 0===J[i])return;let e=URL.createObjectURL(t),n=document.createElement("a");n.style.display="none",n.href=e,n.download=r+l,document.body.appendChild(n),n.click(),window.URL.revokeObjectURL(e),n.remove(),console.log("[GoodTube] Downloaded "+o+" - "+r),void 0!==J[i]&&delete J[i],Z()})).catch((t=>{void 0!==n["download_"+i]&&clearTimeout(n["download_"+i]),a++,n["download_"+i]=setTimeout((function(){K(a,o,i,r)}),e)}))}(a.url,o,i,r,t)}})).catch((a=>{void 0!==n["download_"+r]&&clearTimeout(n["download_"+r]),t++,n["download_"+r]=setTimeout((function(){K(t,o,r,i)}),e)}))}),1e3*l)}function Y(t,e){if(void 0===e&&!confirm("Are you sure you want to download this playlist ("+t+")?\r\rYou can keep playing and downloading other videos, just don't close the tab :)"))return;void 0===e&&console.log("[GoodTube] Downloading "+t+" playlist...");let o=document.querySelectorAll("#goodTube_playlistContainer a");if(o.length<=0)return void console.log("[GoodTube] Downloading failed, could not find playlist data.");let n=0;o.forEach((e=>{let o=function(t,e){for(t=t.toString();t.length
",t.append(e)}t&&!t.classList.contains("goodTube_loading")&&t.classList.add("goodTube_loading")}function Z(t){if(Reflect.ownKeys(J).length>1)return;let e=document.querySelector(".vjs-download-button");e&&e.classList.contains("goodTube_loading")&&e.classList.remove("goodTube_loading"),g("goodTube_lastDownloadTimeSeconds",(new Date).getTime()/1e3),void 0===t&&console.log("[GoodTube] Downloads finished")}function $(){let t=document.querySelector(".goodTube_download_playlist_cancel"),e=document.querySelector(".goodTube_download_playlist_video"),o=document.querySelector(".goodTube_download_playlist_audio");t&&e&&o&&(void 0!==oe.i||void 0!==oe.index||void 0!==oe.list?(h(e),h(o)):(f(e),f(o)),Reflect.ownKeys(J).length>1?h(t):f(t))}let tt=!1,et=[],ot=!1,nt=!0;function rt(){if(void 0===oe.i&&void 0===oe.index&&void 0===oe.list)return;let t=!1,e=!1;if(ee?(t=document.querySelectorAll("ytm-playlist-panel-renderer a.compact-media-item-image"),e=document.querySelectorAll("ytm-playlist-panel-renderer .compact-media-item-headline span")):(t=document.querySelectorAll("#playlist-items > a"),e=document.querySelectorAll("#playlist-items #video-title")),t.length>0){let o=document.getElementById("goodTube_playlistContainer");o||(o=document.createElement("div"),o.setAttribute("id","goodTube_playlistContainer"),o.style.display="none",document.body.appendChild(o)),o.innerHTML="";let n=0;t.forEach((t=>{let r=document.createElement("a");r.href=t.href,r.innerHTML=e[n].innerHTML.trim(),-1!==t.href.indexOf("v="+oe.v)&&r.classList.add("goodTube_selected"),o.appendChild(r),n++}))}}function it(){let t=!1;if(void 0!==oe.i||void 0!==oe.index||void 0!==oe.list){let e=document.querySelectorAll("#goodTube_playlistContainer a"),o=!1;for(let n=e.length-1;n>=0;n--){let r=e[n];if(o){let e="/watch"+r.href.split("/watch")[1];if(ee?(t=!0,document.querySelector('ytm-playlist-panel-renderer a.compact-media-item-image[href="'+e+'"]')?.click()):(t=!0,document.querySelector('#playlist-items > a[href="'+e+'"]')?.click()),t){if(t=!0,!document.querySelector("ytm-playlist-panel-renderer")){let t=document.querySelector("ytm-playlist-panel-entry-point");return void(t&&!tt&&(tt=!0,t.click(),setTimeout(it,500)))}tt=!1,document.querySelector('ytm-playlist-panel-renderer a.compact-media-item-image[href="'+e+'"]')?.click()}}o=!!r.classList.contains("goodTube_selected")}}!t&&et[et.length-2]&&et[et.length-2]!==window.location.href&&(console.log("[GoodTube] Playing previous video..."),g("goodTube_previous","true"),window.history.go(-1))}function at(t=!1){let e=y("goodTube_autoplay"),o=!1;if(void 0!==oe.i||void 0!==oe.index||void 0!==oe.list){let t=document.querySelectorAll("#goodTube_playlistContainer a"),e=!1;t.forEach((t=>{if(e){let e="/watch"+t.href.split("/watch")[1];if(ee){if(o=!0,!document.querySelector("ytm-playlist-panel-renderer")){let t=document.querySelector("ytm-playlist-panel-entry-point");return void(t&&!tt&&(tt=!0,t.click(),setTimeout(at,500)))}tt=!1,document.querySelector('ytm-playlist-panel-renderer a.compact-media-item-image[href="'+e+'"]')?.click()}else o=!0,document.querySelector('#playlist-items > a[href="'+e+'"]')?.click();o&&console.log("[GoodTube] Playing next video in playlist...")}e=!!t.classList.contains("goodTube_selected")}))}if(!o&&("off"!==e||t)){document.getElementById("movie_player").nextVideo(),console.log("[GoodTube] Autoplaying next video...")}}function lt(){if(ot=!1,nt=!0,(Ht||Pt)&&void 0===oe.v)ot=!1,nt=!1;else if(void 0!==oe.i||void 0!==oe.index||void 0!==oe.list){let t=document.querySelectorAll("#goodTube_playlistContainer a");if(!t||!t.length)return;t[0].classList.contains("goodTube_selected")||(ot=!0)}else et[et.length-2]&&et[et.length-2]!==window.location.href&&(ot=!0);let t=document.querySelector(".vjs-prev-button");t&&(ot?h(t):f(t));let e=document.querySelector(".vjs-next-button");e&&(nt?h(e):f(e))}function st(t){t.play()}function dt(t){t.pause()}function ut(){document.querySelector(".vjs-play-control").classList.contains("vjs-playing")?st(te):dt(te)}function pt(t,e){t.volume=e}function ct(t,e){t.currentTime=e}function vt(t){!function(){let t=document.querySelector("#goodTube_error");t&&t.remove()}(),t.currentTime=0,t.setAttribute("src",""),t.pause(),zt(),document.querySelector(".vjs-vtt-thumbnail-display")?.remove();let e=E.remoteTextTracks();void 0!==e.tracks_&&e.tracks_.forEach((t=>{E.removeRemoteTextTrack(t)}));let o=document.querySelectorAll(".vjs-quality-selector");if(o&&void 0!==o[1]){let t=o[1].querySelector("ul");t&&(t.innerHTML="")}}function mt(){let t=document.getElementById("goodTube_player");t.classList.contains("vjs-loading")||t.classList.add("vjs-loading"),t.classList.contains("vjs-waiting")||t.classList.add("vjs-waiting")}function bt(){let t=document.getElementById("goodTube_player");t.classList.contains("vjs-loading")&&t.classList.remove("vjs-loading"),t.classList.contains("vjs-waiting")&&t.classList.remove("vjs-waiting")}function gt(t,e){let o=document.querySelector(".vjs-source-button .vjs-menu");if(o.querySelectorAll(".vjs-selected").forEach((t=>{t.classList.remove("vjs-selected")})),"automatic"===t){if(d++,void 0===r[d])return void Jt();i=r[d].type,a=r[d].proxy,l=r[d].url,s=r[d].name,g("goodTube_videoServer_withauto",t);let e=document.querySelector("#goodTube_playerWrapper");e.classList.contains("goodTube_automaticServer")||e.classList.add("goodTube_automaticServer");let n=o.querySelector("ul li:first-child");n.classList.contains("vjs-selected")||n.classList.add("vjs-selected")}else{r.forEach((e=>{t==e.url&&(i=e.type,a=e.proxy,l=e.url,s=e.name,g("goodTube_videoServer_withauto",t))}));let e=document.querySelector("#goodTube_playerWrapper");e.classList.contains("goodTube_automaticServer")&&e.classList.remove("goodTube_automaticServer"),d=0}o.querySelectorAll("ul li").forEach((t=>{t.getAttribute("api")==l&&t.classList.add("vjs-selected")})),e&&function(){console.log("\n-------------------------\n\n"),console.log("[GoodTube] Loading video data from "+s+"...");let t=0;ee&&(t=400);setTimeout((function(){jt=0,kt(te)}),t)}()}function yt(){if(Yt div {\n\t\t\t\tbackground: transparent !important;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper .vjs-progress-control .vjs-slider .vjs-play-progress {\n\t\t\t\tbackground: transparent;\n\t\t\t\tposition: static;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper .vjs-progress-control .vjs-slider .vjs-play-progress::before {\n\t\t\t\tcontent: '';\n\t\t\t\tbackground: #ff0000;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\tposition: static;\n\t\t\t\tdisplay: block;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper .vjs-progress-control .vjs-slider .vjs-play-progress::after {\n\t\t\t\tcontent: '';\n\t\t\t\tdisplay: block;\n\t\t\t\tfloat: right;\n\t\t\t\tbackground: #ff0000;\n\t\t\t\tborder-radius: 50%;\n\t\t\t\topacity: 0;\n\t\t\t\twidth: 13px;\n\t\t\t\theight: 13px;\n\t\t\t\tright: -7px;\n\t\t\t\ttop: -8px;\n\t\t\t\ttransition: opacity .1s linear, top .1s linear;\n\t\t\t\tposition: relative;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper .vjs-progress-control:hover .vjs-slider .vjs-play-progress::after {\n\t\t\t\topacity: 1;\n\t\t\t\ttop: -9px;\n\t\t\t}\n\n\n\t\t\t/* Without chapters */\n\t\t\t#goodTube_playerWrapper:not(.goodTube_hasChapters) .vjs-progress-control::before {\n\t\t\t\tcontent: '';\n\t\t\t\tposition: absolute;\n\t\t\t\tbottom: 3px;\n\t\t\t\tleft: 8px;\n\t\t\t\tright: 8px;\n\t\t\t\theight: 3px;\n\t\t\t\tbackground: rgba(255, 255, 255, .2);\n\t\t\t\ttransition: height .1s linear, bottom .1s linear;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper:not(.goodTube_hasChapters) .vjs-progress-control:hover::before {\n\t\t\t\theight: 5px;\n\t\t\t\tbottom: 2px;\n\t\t\t}\n\n\n\t\t\t/* With chapters */\n\t\t\t#goodTube_playerWrapper.goodTube_hasChapters .vjs-progress-control .goodTube_chapters {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 8px;\n\t\t\t\tright: 8px;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_hasChapters .vjs-progress-control .goodTube_chapters .goodTube_chapter {\n\t\t\t\theight: 100%;\n\t\t\t\tposition: absolute;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_hasChapters .vjs-progress-control .goodTube_chapters .goodTube_chapter::before {\n\t\t\t\tcontent: '';\n\t\t\t\tbackground: rgba(255, 255, 255, .2);\n\t\t\t\tposition: absolute;\n\t\t\t\tleft: 0;\n\t\t\t\tright: 2px;\n\t\t\t\tbottom: 3px;\n\t\t\t\theight: 3px;\n\t\t\t\ttransition: height .1s linear, bottom .1s linear, background .1s linear;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_hasChapters .vjs-progress-control .goodTube_chapters .goodTube_chapter.goodTube_redChapter::before {\n\t\t\t\tbackground: #ff0000 !important;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_hasChapters .vjs-progress-control .goodTube_chapters .goodTube_chapter:last-child::before {\n\t\t\t\tright: 0;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_hasChapters .vjs-progress-control:hover .goodTube_chapters .goodTube_chapter::before {\n\t\t\t\theight: 5px;\n\t\t\t\tbottom: 2px;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_hasChapters:not(.goodTube_mobile) .vjs-progress-control .goodTube_chapters .goodTube_chapter:hover::before {\n\t\t\t\theight: 9px;\n\t\t\t\tbottom: 0;\n\t\t\t\tbackground: rgba(255, 255, 255, .4);\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_hasChapters .vjs-progress-control .goodTube_markers {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\tright: 0;\n\t\t\t\tbottom: 0;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_hasChapters .vjs-progress-control .goodTube_marker {\n\t\t\t\twidth: 2px;\n\t\t\t\theight: 100%;\n\t\t\t\tposition: absolute;\n\t\t\t\tbackground: rgba(0, 0, 0, .2);\n\t\t\t\tmargin-left: -2px;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_hasChapters .vjs-progress-control .goodTube_marker.goodTube_showMarker {\n\t\t\t\tbackground: rgba(0, 0, 0, .6);\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_hasChapters .vjs-progress-control .goodTube_marker:last-child {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper .vjs-progress-control .vjs-mouse-display {\n\t\t\t\tbackground: transparent;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_hasChapters .vjs-progress-control .vjs-mouse-display .vjs-time-tooltip::before {\n\t\t\t\tcontent: attr(chapter-title);\n\t\t\t\tdisplay: block;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\tmargin-bottom: 4px;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper .vjs-progress-control .goodTube_hoverBar {\n\t\t\t\tbackground: rgba(255, 255, 255, .4);\n\t\t\t\tposition: absolute;\n\t\t\t\tbottom: 3px;\n\t\t\t\tleft: 8px;\n\t\t\t\theight: 3px;\n\t\t\t\topacity: 0;\n\t\t\t\ttransition: height .1s linear, bottom .1s linear, opacity .1s linear;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper .vjs-progress-control:hover .goodTube_hoverBar {\n\t\t\t\theight: 5px;\n\t\t\t\tbottom: 2px;\n\t\t\t\topacity: 1;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .vjs-time-control .vjs-duration-display {\n\t\t\t\twhite-space: nowrap;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .vjs-time-control .vjs-duration-display::after {\n\t\t\t\tcontent: attr(chapter-title);\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tcolor: #ffffff;\n\t\t\t\tmargin-left: 3px;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .vjs-progress-control .vjs-slider,\n\t\t\t#goodTube_playerWrapper.goodTube_mobile:not(.goodTube_hasChapters) .vjs-progress-control::before,\n\t\t\t#goodTube_playerWrapper.goodTube_mobile.goodTube_hasChapters .vjs-progress-control .goodTube_chapters,\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .vjs-progress-control .goodTube_hoverBar {\n\t\t\t\tleft: 16px;\n\t\t\t\tright: 16px;\n\t\t\t}\n\n\n\t\t\t/* Audio only view */\n\t\t\t#goodTube_playerWrapper.goodTube_audio {\n\t\t\t\tbackground: #000000;\n\t\t\t\tposition: relative;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_audio .video-js::after {\n\t\t\t\tcontent: '\\f107';\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 50%;\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translate(-50%, -50%);\n\t\t\t\tcolor: #ffffff;\n\t\t\t\tfont-family: VideoJS;\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-style: normal;\n\t\t\t\tfont-size: 148px;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\n\t\t\t@media (max-width: 768px) {\n\t\t\t\t#goodTube_playerWrapper.goodTube_audio .video-js::after {\n\t\t\t\t\tfont-size: 100px;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_mobile #goodTube_playerWrapper.goodTube_audio .video-js::after {\n\t\t\t\tfont-size: 100px;\n\t\t\t}\n\n\t\t\t/* Double tap or tap and hold elements for seeking on mobile */\n\t\t\t#goodTube_seekBackwards {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\tbottom: 48px;\n\t\t\t\tcontent: '';\n\t\t\t\twidth: 25%;\n\t\t\t}\n\n\t\t\t#goodTube_seekForwards {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tright: 0;\n\t\t\t\tbottom: 48px;\n\t\t\t\tcontent: '';\n\t\t\t\twidth: 25%;\n\t\t\t}\n\n\t\t\t/* Desktop */\n\t\t\t#goodTube_playerWrapper {\n\t\t\t\tborder-radius: 12px;\n\t\t\t\tbackground: #ffffff;\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\tz-index: 999;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\n\t\t\t/* Mobile */\n\t\t\t#goodTube_playerWrapper.goodTube_mobile {\n\t\t\t\tposition: fixed;\n\t\t\t\tbackground: #000000;\n\t\t\t\tborder-radius: 0;\n\t\t\t\tz-index: 3;\n\t\t\t}\n\n\t\t\t/* Theater mode */\n\t\t\t#goodTube_playerWrapper.goodTube_theater {\n\t\t\t\tbackground: #000000;\n\t\t\t\tborder-radius: 0;\n\t\t\t}\n\n\t\t\t/* Miniplayer */\n\t\t\t#goodTube_playerWrapper.goodTube_miniplayer {\n\t\t\t\tz-index: 999 !important;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_miniplayer .video-js {\n\t\t\t\tposition: fixed;\n\t\t\t\tbottom: 12px;\n\t\t\t\tright: 12px;\n\t\t\t\twidth: 400px;\n\t\t\t\tmax-width: calc(100% - 24px);\n\t\t\t\tmin-height: 0;\n\t\t\t\tpadding-top: 0;\n\t\t\t\tz-index: 999;\n\t\t\t\theight: auto;\n\t\t\t\tleft: auto;\n\t\t\t\taspect-ratio: 16 / 9;\n\t\t\t\ttop: auto;\n\t\t\t\toverflow: hidden;\n\t\t\t\tbackground: #000000;\n\t\t\t\tborder-radius: 12px;\n\t\t\t}\n\t\t\t#goodTube_playerWrapper.goodTube_miniplayer .video-js::before {\n\t\t\t\tcontent: none !important;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_miniplayer.goodTube_mobile .video-js {\n\t\t\t\tbottom: 60px;\n\t\t\t}\n\n\t\t\tytd-watch-flexy.goodTube_miniplayer {\n\t\t\t\tdisplay: block !important;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\tposition: fixed;\n\t\t\t\tz-index: 999;\n\t\t\t\ttop: -9999px;\n\t\t\t\tleft: -9999px;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-source-button,\n\t\t\t#goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-autoplay-button,\n\t\t\t#goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-miniplayer-button,\n\t\t\t#goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-theater-button {\n\t\t\t\tdisplay: none !important;\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js #goodTube_miniplayer_closeButton,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js #goodTube_miniplayer_expandButton {\n\t\t\t\tfont-family: VideoJS;\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-style: normal;\n\t\t\t\tcursor: pointer;\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\twidth: 48px;\n\t\t\t\theight: 48px;\n\t\t\t\tline-height: 48px;\n\t\t\t\ttext-align: center;\n\t\t\t\tz-index: 999;\n\t\t\t\tcolor: #ffffff;\n\t\t\t\topacity: 0;\n\t\t\t\ttransition: opacity .2s linear;\n\t\t\t}\n\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js #goodTube_miniplayer_closeButton::after {\n\t\t\t\tcontent: 'Close';\n\t\t\t\tright: 12px;\n\t\t\t}\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js #goodTube_miniplayer_expandButton::after {\n\t\t\t\tcontent: 'Expand';\n\t\t\t\tleft: 12px;\n\t\t\t}\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js #goodTube_miniplayer_closeButton::after,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js #goodTube_miniplayer_expandButton::after {\n\t\t\t\tposition: absolute;\n\t\t\t\tbottom: -24px;\n\t\t\t\tbackground: rgba(0, 0, 0, .75);\n\t\t\t\tborder-radius: 4px;\n\t\t\t\tfont-size: 12px;\n\t\t\t\tfont-weight: 700;\n\t\t\t\tpadding: 8px;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\topacity: 0;\n\t\t\t\ttransition: opacity .1s;\n\t\t\t\tpointer-events: none;\n\t\t\t\ttext-shadow: none !important;\n\t\t\t\tz-index: 1;\n\t\t\t\tfont-family: 'MS Shell Dlg 2', sans-serif;\n\t\t\t\tline-height: initial;\n\t\t\t}\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js #goodTube_miniplayer_closeButton:hover::after,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js #goodTube_miniplayer_expandButton:hover::after {\n\t\t\t\topacity: 1;\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js #goodTube_miniplayer_closeButton {\n\t\t\t\tright: 0;\n\t\t\t\tfont-size: 24px;\n\t\t\t}\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js #goodTube_miniplayer_closeButton::before {\n\t\t\t\tcontent: \"\\f119\";\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 50%;\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translate(-50%, -50%);\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js #goodTube_miniplayer_expandButton {\n\t\t\t\tleft: 0;\n\t\t\t\tfont-size: 18px;\n\t\t\t}\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js #goodTube_miniplayer_expandButton::before {\n\t\t\t\tcontent: \"\\f128\";\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 50%;\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translate(-50%, -50%);\n\t\t\t}\n\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js.vjs-paused:not(.vjs-user-inactive) #goodTube_miniplayer_expandButton,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js.vjs-user-active #goodTube_miniplayer_expandButton,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js.vjs-paused:not(.vjs-user-inactive) #goodTube_miniplayer_closeButton,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js.vjs-user-active #goodTube_miniplayer_closeButton {\n\t\t\t\topacity: 1;\n\t\t\t}\n\n\t\t\t/* Mobile */\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile {\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js .vjs-control.vjs-play-control,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-control.vjs-play-control {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: calc(50% - 48px);\n\t\t\t\tleft: calc(50% - 32px);\n\t\t\t\twidth: 64px;\n\t\t\t\theight: 64px;\n\t\t\t\tbackground: rgba(0, 0, 0, .3);\n\t\t\t\tborder-radius: 50%;\n\t\t\t\tmax-width: 999px !important;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t}\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js .vjs-play-control .vjs-icon-placeholder::before,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-play-control .vjs-icon-placeholder::before {\n\t\t\t\tfont-size: 44px !important;\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js .vjs-prev-button,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-prev-button {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: calc(50% - 40px);\n\t\t\t\tleft: calc(50% - 104px);\n\t\t\t\twidth: 48px;\n\t\t\t\theight: 48px;\n\t\t\t\tbackground: rgba(0, 0, 0, .3);\n\t\t\t\tborder-radius: 50%;\n\t\t\t\tmax-width: 999px !important;\n\t\t\t}\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js .vjs-prev-button .vjs-icon-placeholder::before,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-prev-button .vjs-icon-placeholder::before {\n\t\t\t\tfont-size: 32px !important;\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js .vjs-next-button,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-next-button {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: calc(50% - 40px);\n\t\t\t\tleft: calc(50% + 56px);\n\t\t\t\twidth: 48px;\n\t\t\t\theight: 48px;\n\t\t\t\tbackground: rgba(0, 0, 0, .3);\n\t\t\t\tborder-radius: 50%;\n\t\t\t\tmax-width: 999px !important;\n\t\t\t}\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js .vjs-next-button .vjs-icon-placeholder::before,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-next-button .vjs-icon-placeholder::before {\n\t\t\t\tfont-size: 32px !important;\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js .vjs-control-bar,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-control-bar {\n\t\t\t\tz-index: 1;\n\t\t\t\tposition: static;\n\t\t\t\tmargin-top: auto;\n\t\t\t\tjustify-content: space-around;\n\t\t\t}\n\n\t\t\tytd-watch-flexy:not([theater]) #primary {\n\t\t\t\tmin-width: 721px !important;\n\t\t\t}\n\n\t\t\t@media (max-width: 1100px) {\n\t\t\t\tytd-watch-flexy:not([theater]) #primary {\n\t\t\t\t\tmin-width: 636px !important;\n\t\t\t\t}\n\n\t\t\t\t#goodTube_playerWrapper:not(.goodTube_mobile):not(.goodTube_theater) .video-js .vjs-control-bar .vjs-button {\n\t\t\t\t\tzoom: .88;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@media (max-width: 1016px) {\n\t\t\t\tytd-watch-flexy:not([theater]) #primary {\n\t\t\t\t\tmin-width: 0 !important;\n\t\t\t\t}\n\n\t\t\t\t#goodTube_playerWrapper:not(.goodTube_mobile):not(.goodTube_theater) .video-js .vjs-control-bar .vjs-button {\n\t\t\t\t\tzoom: 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@media (max-width: 786px) {\n\t\t\t\t#goodTube_playerWrapper:not(.goodTube_mobile):not(.goodTube_theater) .video-js .vjs-control-bar .vjs-button {\n\t\t\t\t\tzoom: .9;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@media (max-width: 715px) {\n\t\t\t\t#goodTube_playerWrapper:not(.goodTube_mobile):not(.goodTube_theater) .video-js .vjs-control-bar .vjs-button {\n\t\t\t\t\tzoom: .85;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@media (max-width: 680px) {\n\t\t\t\t#goodTube_playerWrapper:not(.goodTube_mobile):not(.goodTube_theater) .video-js .vjs-control-bar .vjs-button {\n\t\t\t\t\tzoom: .8;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js {\n\t\t\t\tdisplay: flex;\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js .vjs-source-button,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-source-button {\n\t\t\t\tmargin-left: 0 !important;\n\t\t\t}\n\n\t\t\t@media (max-width: 480px) {\n\t\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js .vjs-source-button .vjs-menu,\n\t\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-source-button .vjs-menu {\n\t\t\t\t\tleft: auto !important;\n\t\t\t\t\ttransform: none !important;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js .vjs-loading-spinner,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-loading-spinner {\n\t\t\t\ttop: calc(50% - 16px);\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper .video-js.vjs-loading {\n\t\t\t\tbackground: #000000;\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js::before,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js::before {\n\t\t\t\tcontent: '';\n\t\t\t\tbackground: transparent;\n\t\t\t\ttransition: background .2s ease-in-out;\n\t\t\t\tpointer-events: none;\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\tright: 0;\n\t\t\t\tbottom: 0;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js.vjs-paused::before,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js.vjs-paused::before,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js.vjs-user-active::before,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js.vjs-user-active::before {\n\t\t\t\tbackground: rgba(0,0,0,.6);\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js.vjs-user-inactive:not(.vjs-paused) .vjs-control-bar,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js.vjs-user-inactive:not(.vjs-paused) .vjs-control-bar {\n\t\t\t\tvisibility: visible;\n\t\t\t\topacity: 0;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .video-js .vjs-theater-button,\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .video-js .vjs-autoplay-button {\n\t\t\t\tdisplay: none !important;\n\t\t\t}\n\n\t\t\t/* Video */\n\t\t\t#goodTube_player {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\tright: 0;\n\t\t\t\tbottom: 0;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\tbackground: transparent;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_mobile #goodTube_player,\n\t\t\t#goodTube_player.vjs-loading {\n\t\t\t\tbackground: #000000;\n\t\t\t}\n\n\t\t\t#goodTube_player:focus {\n\t\t\t\toutline: 0;\n\t\t\t}\n\n\t\t\t/* Error */\n\t\t\t#goodTube_error {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 50%;\n\t\t\t\tleft: 40px;\n\t\t\t\tright: 40px;\n\t\t\t\ttransform: translateY(-50%);\n\t\t\t\ttext-align: center;\n\t\t\t\tcolor: #ffffff;\n\t\t\t\tfont-size: 20px;\n\t\t\t\tpadding: 16px;\n\t\t\t\tbackground: #000000;\n\t\t\t\tborder-radius: 8px;\n\t\t\t}\n\n\t\t\t#goodTube_error small {\n\t\t\t\tpadding-top: 8px;\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t",document.head.appendChild(t);let e=document.createElement("div");e.id="goodTube_playerWrapper",ee&&e.classList.add("goodTube_mobile"),ft(e),document.body.appendChild(e);let o=document.createElement("video");o.id="goodTube_player",o.classList.add("video-js"),o.controls=!0,o.setAttribute("tab-index","1"),e.appendChild(o),te=o,addEventListener("leavepictureinpicture",(t=>{void 0===oe.v&&dt(te),Pt=!1})),addEventListener("enterpictureinpicture",(t=>{Pt=!0})),U(),function(){let t=document.createElement("div");t.classList.add("goodTube_defaultQualityModal"),t.innerHTML="\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t
Select default quality
\n\t\t\t\t
\n\t\t\t\t\t
4320p
\n\t\t\t\t\t
2160p
\n\t\t\t\t\t
1440p
\n\t\t\t\t\t
1080p
\n\t\t\t\t\t
720p
\n\t\t\t\t\t
480p
\n\t\t\t\t\t
360p
\n\t\t\t\t\t
240p
\n\t\t\t\t\t
144p
\n\t\t\t\t\t
Auto
\n\t\t\t\t
\x3c!-- .goodTube_defaultQualityModal_inner --\x3e\n\t\t\t
\x3c!-- .goodTube_defaultQualityModal_options --\x3e\n\t\t",document.querySelector("#goodTube_playerWrapper .video-js").appendChild(t),document.querySelectorAll(".goodTube_defaultQualityModal .goodTube_defaultQualityModal_option").forEach((t=>{t.addEventListener("click",(function(){Wt(this.innerHTML.replace("p",""))}))})),document.querySelector(".goodTube_defaultQualityModal .goodTube_defaultQualityModal_overlay").addEventListener("click",(function(){let t=document.querySelector(".goodTube_defaultQualityModal");t.classList.contains("goodTube_defaultQualityModal_visible")&&t.classList.remove("goodTube_defaultQualityModal_visible")})),document.addEventListener("keydown",(function(t){if(27==t.keyCode){let t=document.querySelector(".goodTube_defaultQualityModal");t.classList.contains("goodTube_defaultQualityModal_visible")&&t.classList.remove("goodTube_defaultQualityModal_visible")}}),!0)}(),setInterval(W,1e4),ie(),setInterval(ie,100),setInterval(_,500),setInterval(rt,500),setInterval(lt,100),setInterval($,500),setInterval(Ft,100),setInterval(Vt,100),ee&&setInterval(ht,100),function(t){document.addEventListener("keydown",(function(e){if(e.ctrlKey)return;let o=e.key.toLowerCase();"mediaplaypause"!==o&&179!==e.keyCode||(t.paused?t.play():t.pause());let n=e.srcElement,r=!1,i=!1;n&&(void 0!==n.nodeName&&(r=n.nodeName.toLowerCase()),void 0!==n.getAttribute&&(i=n.getAttribute("id"))),(!n||-1===r.indexOf("input")&&-1===r.indexOf("label")&&-1===r.indexOf("select")&&-1===r.indexOf("textarea")&&-1===r.indexOf("fieldset")&&-1===r.indexOf("legend")&&-1===r.indexOf("datalist")&&-1===r.indexOf("output")&&-1===r.indexOf("option")&&-1===r.indexOf("optgroup")&&"contenteditable-root"!==i)&&(">"===o?.25==parseFloat(t.playbackRate)?t.playbackRate=.5:.5==parseFloat(t.playbackRate)?t.playbackRate=.75:.75==parseFloat(t.playbackRate)?t.playbackRate=1:1==parseFloat(t.playbackRate)?t.playbackRate=1.25:1.25==parseFloat(t.playbackRate)?t.playbackRate=1.5:1.5==parseFloat(t.playbackRate)?t.playbackRate=1.75:1.75==parseFloat(t.playbackRate)&&(t.playbackRate=2):"<"===o&&(.5==parseFloat(t.playbackRate)?t.playbackRate=.25:.75==parseFloat(t.playbackRate)?t.playbackRate=.5:1==parseFloat(t.playbackRate)?t.playbackRate=.75:1.25==parseFloat(t.playbackRate)?t.playbackRate=1:1.5==parseFloat(t.playbackRate)?t.playbackRate=1.25:1.75==parseFloat(t.playbackRate)?t.playbackRate=1.5:2==parseFloat(t.playbackRate)&&(t.playbackRate=1.75)),e.shiftKey||(n&&void 0!==n.closest&&n.closest("#goodTube_player")&&("arrowdown"===o&&(t.volume>=.05?t.volume-=.05:t.volume=0,e.preventDefault()),"arrowup"===o&&(t.volume<=.95?t.volume+=.05:t.volume=1,e.preventDefault()),"t"===o&&document.querySelector("body").focus()),"arrowleft"===o&&(t.currentTime-=5),"arrowright"===o&&(t.currentTime+=5)," "===o&&(t.paused||t.ended?t.play():t.pause()),"m"===o&&(t.muted||t.volume<=0?(t.muted=!1,t.volume<=0&&(t.volume=1)):t.muted=!0),"i"===o&&(e.stopImmediatePropagation(),Nt()),"f"===o?document.querySelector(".vjs-fullscreen-control")?.click():"j"===o?t.currentTime-=10:"l"===o?t.currentTime+=10:"home"===o?t.currentTime=0:"end"===o&&(t.currentTime+=t.duration),"0"===o?t.currentTime=0:"1"===o?t.currentTime=t.duration/100*10:"2"===o?t.currentTime=t.duration/100*20:"3"===o?t.currentTime=t.duration/100*30:"4"===o?t.currentTime=t.duration/100*40:"5"===o?t.currentTime=t.duration/100*50:"6"===o?t.currentTime=t.duration/100*60:"7"===o?t.currentTime=t.duration/100*70:"8"===o?t.currentTime=t.duration/100*80:"9"===o&&(t.currentTime=t.duration/100*90)))}),!0)}(o),ee&&pt(te,1)}function ft(t){if(void 0!==oe.v){h(t);let e=!1;if(ee){if(e=document.getElementById("player"),e&&e.offsetHeight>0){let o=e.getBoundingClientRect();t.style.top=o.top+"px",t.style.left=o.left+"px",t.style.width=e.offsetWidth+"px",t.style.height=e.offsetHeight+"px"}}else if(document.querySelector("ytd-watch-flexy[theater]")?(e=document.getElementById("full-bleed-container"),t.classList.contains("goodTube_theater")||t.classList.add("goodTube_theater")):(e=document.getElementById("player"),t.classList.contains("goodTube_theater")&&t.classList.remove("goodTube_theater")),e&&e.offsetHeight>0){let o=e.getBoundingClientRect();t.style.top=o.top+window.scrollY+"px",t.style.left=o.left+window.scrollX+"px",t.style.width=e.offsetWidth+"px",t.style.height=e.offsetHeight+"px"}if(e){document.querySelectorAll(".vjs-menu-content").forEach((t=>{t.style.maxHeight=e.offsetHeight-72+"px"}))}}else f(t);window.requestAnimationFrame((function(){ft(t)}))}function ht(){let t=document.querySelector(".vjs-current-time"),e=document.querySelector(".vjs-time-divider"),o=document.querySelector(".vjs-duration");if(t&&e&&o){let n=16,r=4;t.style.left=n+"px",e.style.left=n+t.offsetWidth+r+"px",o.style.left=n+t.offsetWidth+e.offsetWidth+r+r+"px"}}let jt=0,Tt=1,_t=!1,xt=!1,wt=!1;function kt(t){if(void 0===oe.v)return void(et=[]);if(Tt=1,void 0!==n.reloadVideo&&clearTimeout(n.reloadVideo),void 0!==n.loadVideoData&&clearTimeout(n.loadVideoData),vt(t),mt(),jt++,jt>o)return void Jt();t.querySelectorAll("source").forEach((t=>{t.remove()}));let r=!1;1===i||2===i?r=l+"/api/v1/videos/"+oe.v:3===i&&(r=l+"/streams/"+oe.v),fetch(r,{signal:AbortSignal.timeout(5e3)}).then((t=>t.text())).then((o=>{mt();let r=JSON.parse(o),s=!1,d=!1,p=!1,c=!1,v=!1,m=!1,b=!1;if(1===i?void 0===r.formatStreams?b=!0:(s=r.formatStreams,d=r.captions,p=r.storyboards,v=r.description,m=r.lengthSeconds,c=!1):2===i?void 0===r.dashUrl&&void 0===r.hlsUrl?b=!0:(s=!1,d=r.captions,p=r.storyboards,v=r.description,m=r.lengthSeconds,c=!1):3===i&&(void 0===r.hls&&void 0===r.dash?b=!0:(d=!1,p=!1,v=r.description.replace(/
/g,"\r\n").replace(/<[^>]*>?/gm,""),m=r.duration,void 0!==r.chapters&&r.chapters.length&&r.chapters.length>0&&(c=[],r.chapters.forEach((t=>{c.push({time:parseFloat(t.start),title:t.title})}))))),b)return void 0!==n.loadVideoData&&clearTimeout(n.loadVideoData),n.loadVideoData=setTimeout((function(){kt(t)}),e),void mt();if(console.log("[GoodTube] Video data loaded"),1===i){wt&&t.querySelector(".goodTube_source_"+wt)?(t.querySelector(".goodTube_source_"+wt).setAttribute("selected",!0),xt=wt):(t.querySelector(".goodTube_source_"+_t)?.setAttribute("selected",!0),xt=_t);let e=document.createElement("source");e.setAttribute("src",l+"/watch?v="+oe.v+"&raw=1&listen=1"),e.setAttribute("type","audio/mp3"),e.setAttribute("label","Audio"),e.setAttribute("video",!0),e.setAttribute("class","goodTube_source_audio"),t.appendChild(e);let o=0;_t=!1,s.forEach((e=>{let n=!1,r=!1,i=!1,s=!1;if(n=l+"/latest_version?id="+oe.v+"&itag="+e.itag,a&&(n+="&local=true"),r=e.type,i=parseFloat(e.resolution.replace("p","").replace("hd",""))+"p",s=parseFloat(e.resolution.replace("p","").replace("hd","")),n&&r&&i&&-1!==r.toLowerCase().indexOf("video")){let e=document.createElement("source");e.setAttribute("src",n),e.setAttribute("type",r),e.setAttribute("label",i),e.setAttribute("video",!0),e.setAttribute("class","goodTube_source_"+s),t.appendChild(e),(!_t||s>_t)&&(_t=s)}o++})),wt&&t.querySelector(".goodTube_source_"+wt)?(t.querySelector(".goodTube_source_"+wt).setAttribute("selected",!0),xt=wt):(t.querySelector(".goodTube_source_"+_t)?.setAttribute("selected",!0),xt=_t);let n=[];t.querySelectorAll("source[video=true]").forEach((t=>{n.push({src:t.getAttribute("src"),type:t.getAttribute("type"),label:t.getAttribute("label"),selected:t.getAttribute("selected")})})),E.src(n);let r=document.querySelectorAll(".vjs-quality-selector");2===r.length&&(r[1].style.display="none",r[0].style.display="block")}else if(2===i){let t=!1,e=!1,o="false";a&&(o="true"),void 0!==r.hlsUrl&&r.hlsUrl?(t=r.hlsUrl+"?local="+o+"&unique_res=1",e="application/x-mpegURL"):void 0!==r.dashUrl&&r.dashUrl&&(t=r.dashUrl+"?local="+o+"&unique_res=1",e="application/dash+xml"),t&&"/"===t[0]&&(t=l+t),E.src({src:t,type:e}),Lt()}else if(3===i){let t=!1,e=!1,o="false";a&&(o="true"),void 0!==r.hls&&r.hls?(t=r.hls,e="application/x-mpegURL"):void 0!==r.dash&&r.dash&&(t=r.dash,e="application/dash+xml"),t&&"/"===t[0]&&(t=l+t),E.src({src:t,type:e}),Lt()}setTimeout((function(){st(t)}),1),function(t,e){(!e||e.length>0)&&(console.log("[GoodTube] Loading subtitles..."),u=e?0:1,Rt(t,e,l))}(t,d),console.log("[GoodTube] Loading chapters..."),Qt(t,v,m,c),ee||(console.log("[GoodTube] Loading storyboard..."),Ot=!1,Dt(t,p,0))})).catch((o=>{void 0!==n.loadVideoData&&clearTimeout(n.loadVideoData),n.loadVideoData=setTimeout((function(){kt(t)}),e),mt()}))}let St=!1;function Lt(){St&&clearTimeout(St);let t=document.querySelectorAll(".vjs-quality-selector");if(!t||void 0===t[1])return St&&clearTimeout(St),void(St=setTimeout(Lt,100));if(2===t.length){t[0].style.display="none",t[1].style.display="block";let e=t[1].querySelector("ul"),o=e.querySelector("li.vjs-menu-item:first-child .vjs-menu-item-text");if(!o)return St&&clearTimeout(St),void(St=setTimeout(Lt,100));let n=o;if("Select default quality"!==o.innerHTML){n=document.createElement("li"),n.classList.add("vjs-menu-item"),n.classList.add("select-default"),n.innerHTML='\n\t\t\t\t\t\tSelect default quality\n\t\t\t\t\t\t\n\t\t\t\t\t',n.addEventListener("click",At),e.prepend(n),e.querySelectorAll("li.vjs-menu-item:not(.select-default)").forEach((t=>{t.addEventListener("click",qt),t.addEventListener("touchstart",qt)}))}let r=y("goodTube_selectDefaultNew");r||(g("goodTube_selectDefaultNew","1080"),r="1080"),Wt(r)}}function At(){let t=document.querySelector(".goodTube_defaultQualityModal");t.classList.contains("goodTube_defaultQualityModal_visible")||t.classList.add("goodTube_defaultQualityModal_visible")}function Wt(t){g("goodTube_selectDefaultNew",t);let e=document.querySelector(".goodTube_defaultQualityModal");e.classList.contains("goodTube_defaultQualityModal_visible")&&e.classList.remove("goodTube_defaultQualityModal_visible"),document.querySelector(".goodTube_defaultQualityModal_selected")?.classList.remove("goodTube_defaultQualityModal_selected"),document.querySelector("#goodTube_defaultQualityModal_option_"+t.toLowerCase())?.classList.add("goodTube_defaultQualityModal_selected");let o=!1;document.querySelectorAll(".vjs-quality-selector li.vjs-menu-item").forEach((e=>{let n=e.querySelector(".vjs-menu-item-text").innerHTML.replace("p","");("auto"===n.toLowerCase()&&"auto"===t.toLowerCase()||parseFloat(n)<=parseFloat(t)&&!o)&&(o=e)})),o&&(o.click(),"auto"===t.toLowerCase()?console.log("[GoodTube] Setting default quality to "+t[0].toUpperCase()+t.slice(1)):console.log("[GoodTube] Selecting nearest default quality to "+t+"p ("+o.querySelector(".vjs-menu-item-text").innerHTML+")"))}function qt(){let t=document.querySelectorAll(".vjs-quality-selector")[1],e=t.querySelector("li.select-default");e.classList.contains("vjs-selected")&&e.classList.remove("vjs-selected");let o=t.querySelector("li.vjs-auto-selected");o&&o.classList.remove("vjs-auto-selected")}let Et=!1,Ct=!1,Mt=!1;function Qt(t,e,o,n){zt();let r=[];if(n)r=n;else{let n=e.split("\n"),i=/(\d{0,2}:?\d{1,2}:\d{2})/g;for(let t of n){const e=t.match(i);if(e){let o=e[0],n=t.split(" ").filter((t=>!t.includes(o))).join(" ");r.push({time:o,title:n})}}if((!r.length||r.length<=0||r[0].time.split(":").reduce(((t,e)=>60*t+ +e))>0)&&(r=[]),(!r.length||r.length<=0)&&!ee){let n=Array.from(document.querySelectorAll("#panels ytd-engagement-panel-section-list-renderer:nth-child(2) #content ytd-macro-markers-list-renderer #contents ytd-macro-markers-list-item-renderer #endpoint #details"));Mt&&clearInterval(Mt);let i=JSON.stringify(document.querySelectorAll("#panels ytd-engagement-panel-section-list-renderer:nth-child(2) #content ytd-macro-markers-list-renderer #contents ytd-macro-markers-list-item-renderer #endpoint #details"));Mt=setInterval((function(){let n=JSON.stringify(document.querySelectorAll("#panels ytd-engagement-panel-section-list-renderer:nth-child(2) #content ytd-macro-markers-list-renderer #contents ytd-macro-markers-list-item-renderer #endpoint #details"));n!==i&&(i=n,Qt(t,e,o))}),1e3);let a=n.map((t=>({title:t.querySelector(".macro-markers")?.textContent,time:t.querySelector("#time")?.textContent}))).filter((t=>void 0!==t.title&&null!==t.title&&void 0!==t.time&&null!==t.time));r=[...new Map(a.map((t=>[t.time,t]))).values()]}}let i=0;r.length&&r.length>0&&(i=r[0].time,"number"!=typeof i&&(i=i.split(":").reduce(((t,e)=>60*t+ +e)))),(!r.length||r.length<=0||i>0)&&(r=[]),r.length>0?function(t,e,o){let n=document.createElement("div");n.classList.add("goodTube_chapters");let r=document.createElement("div");r.classList.add("goodTube_markers");let i=0;e.forEach((t=>{let a=document.createElement("div");a.classList.add("goodTube_chapter"),void 0!==e[i+1]&&("number"==typeof e[i+1].time?a.setAttribute("chapter-time",e[i+1].time):a.setAttribute("chapter-time",e[i+1].time.split(":").reduce(((t,e)=>60*t+ +e))));let l=document.createElement("div");l.classList.add("goodTube_marker"),void 0!==e[i+1]&&("number"==typeof e[i+1].time?l.setAttribute("marker-time",e[i+1].time):l.setAttribute("marker-time",e[i+1].time.split(":").reduce(((t,e)=>60*t+ +e)))),ee||a.addEventListener("mouseover",(function(){document.querySelector("#goodTube_playerWrapper .vjs-progress-control .vjs-mouse-display .vjs-time-tooltip")?.setAttribute("chapter-title",t.title)}));let s=0;s="number"==typeof t.time?t.time:t.time.split(":").reduce(((t,e)=>60*t+ +e));let d=s/o*100;a.style.left=d+"%";let u=o;void 0!==e[i+1]&&(u="number"==typeof e[i+1].time?e[i+1].time:e[i+1].time.split(":").reduce(((t,e)=>60*t+ +e)));let p=u/o*100;a.style.width=p-d+"%",l.style.left=p+"%",n.appendChild(a),r.appendChild(l),i++})),ee&&(Ct=setInterval((function(){let o=parseFloat(t.currentTime),n=!1;e.forEach((t=>{let e=!1;e="number"==typeof t.time?t.time:t.time.split(":").reduce(((t,e)=>60*t+ +e)),parseFloat(o)>=parseFloat(e)&&(n=t.title)})),n&&document.querySelector("#goodTube_playerWrapper .vjs-time-control .vjs-duration-display")?.setAttribute("chapter-title","ยท "+n)}),100));document.querySelector("#goodTube_playerWrapper .vjs-progress-control")?.appendChild(n),document.querySelector("#goodTube_playerWrapper .vjs-progress-control .vjs-play-progress")?.appendChild(r),document.querySelector("#goodTube_playerWrapper").classList.contains("goodTube_hasChapters")||document.querySelector("#goodTube_playerWrapper").classList.add("goodTube_hasChapters");Et=setInterval((function(){document.querySelectorAll(".goodTube_markers .goodTube_marker").forEach((e=>{e.getAttribute("marker-time")&&(parseFloat(t.currentTime)>=parseFloat(e.getAttribute("marker-time"))?e.classList.contains("goodTube_showMarker")||e.classList.add("goodTube_showMarker"):e.classList.contains("goodTube_showMarker")&&e.classList.remove("goodTube_showMarker"))})),document.querySelectorAll(".goodTube_chapters .goodTube_chapter").forEach((e=>{e.getAttribute("chapter-time")&&(parseFloat(t.currentTime)>=parseFloat(e.getAttribute("chapter-time"))?e.classList.contains("goodTube_redChapter")||e.classList.add("goodTube_redChapter"):e.classList.contains("goodTube_redChapter")&&e.classList.remove("goodTube_redChapter"))}))}),100),console.log("[GoodTube] Chapters loaded")}(t,r,o):console.log("[GoodTube] No chapters found")}function zt(){Et&&(clearInterval(Et),Et=!1),Ct&&(clearInterval(Ct),Ct=!1),Mt&&(clearInterval(Mt),Mt=!1),document.querySelector("#goodTube_playerWrapper .vjs-time-control .vjs-duration-display")?.setAttribute("chapter-title",""),document.querySelector(".goodTube_chapters")?.remove(),document.querySelector(".goodTube_markers")?.remove(),document.querySelector("#goodTube_playerWrapper").classList.contains("goodTube_hasChapters")&&document.querySelector("#goodTube_playerWrapper").classList.remove("goodTube_hasChapters")}function Rt(t,e,o){if(u>0){if(void 0===c[u-1])return void console.log("[GoodTube] Subtitles could not be loaded");o=c[u-1],fetch(o+"/api/v1/videos/"+oe.v,{signal:AbortSignal.timeout(5e3)}).then((t=>t.text())).then((e=>{let n=JSON.parse(e).captions;n&&n.length>0?fetch(o+n[0].url,{signal:AbortSignal.timeout(5e3)}).then((t=>t.text())).then((e=>{"WEBVTT"!==e.substr(0,6)?Rt(t,n,o):Bt(t,n,o)})).catch((e=>{Rt(t,n,o)})):console.log("[GoodTube] This video does not have subtitles")})).catch((n=>{Rt(t,e,o)}))}else fetch(o+e[0].url,{signal:AbortSignal.timeout(5e3)}).then((t=>t.text())).then((n=>{"WEBVTT"!==n.substr(0,6)?Rt(t,e,o):Bt(t,e,o)})).catch((n=>{Rt(t,e,o)}));u++}function Bt(t,e,o){let n=!1;e.forEach((t=>{let e=!1,r=!1;e=o+t.url,r=t.label,e&&r&&r!==n&&(n=r,r=r[0].toUpperCase()+r.slice(1),E.addRemoteTextTrack({kind:"captions",language:r,src:e},!1))})),console.log("[GoodTube] Subtitles loaded")}let It=!1,Ot=!1;function Dt(t,e,o){if(!Ot)if(void 0!==c[o])if(3===i){let n=c[o]+"/api/v1/videos/"+oe.v;fetch(n,{signal:AbortSignal.timeout(5e3)}).then((t=>t.text())).then((n=>{if(Ot)return;let r=JSON.parse(n);void 0===r.storyboards?(o++,Dt(t,e,o)):(e=r.storyboards,Gt(t,e,c[o]))})).catch((n=>{o++,Dt(t,e,o)}))}else p=0,Gt(t,e,l);else console.log("[GoodTube] Storyboard could not be loaded")}function Gt(t,e,o){if(!Ot){if(p>0){if(void 0===c[p-1])return void console.log("[GoodTube] Storyboard could not be loaded");o=c[p-1]}p++,!e.length||e.length<=0?Gt(t,e,o):fetch(o+e[0].url,{signal:AbortSignal.timeout(5e3)}).then((t=>t.text())).then((n=>{if(!Ot)if("WEBVTT"!==n.substr(0,6))Gt(t,e,o);else{let r=!1,i=!1,a=n.split("\n\n");if(a.length&&a.length>1){let t=a[1].split("\n");t.length&&t.length>1&&(i=t[1],-1!==i.indexOf("https")&&(r=!0))}r?fetch(i,{signal:AbortSignal.timeout(5e3)}).then((t=>t.text())).then((n=>{Ot||(-1===n.indexOf("{parseFloat(t.width)>r&&parseFloat(t.height)<100&&(n=t.url,r=parseFloat(t.width))})),n&&("function"==typeof E.vttThumbnails&&(It=E.vttThumbnails),E.vttThumbnails=It,E.vttThumbnails({src:o+n}),Ot=!0,console.log("[GoodTube] Storyboard loaded"))}(0,e,o):Gt(t,e,o))})).catch((n=>{Gt(t,e,o)})):Gt(t,e,o)}})).catch((n=>{Gt(t,e,o)}))}}let Pt=!1;function Ft(){Pt&&"mediaSession"in navigator&&(navigator.mediaSession.setActionHandler("play",(()=>{st(te)})),navigator.mediaSession.setActionHandler("pause",(()=>{dt(te)})),nt?navigator.mediaSession.setActionHandler("nexttrack",(()=>{at(!0)})):navigator.mediaSession.setActionHandler("nexttrack",null),ot?navigator.mediaSession.setActionHandler("previoustrack",(()=>{it()})):navigator.mediaSession.setActionHandler("previoustrack",null))}let Ht=!1,Ut=!1;function Vt(){if(Ht){if(!ee){let t=document.querySelector("ytd-watch-flexy");t&&(void 0!==oe.v?t.classList.remove("goodTube_miniplayer"):t.classList.add("goodTube_miniplayer"))}void 0!==oe.v&&(Ut=oe.v)}}function Nt(){if(document.pictureInPictureEnabled)return void(Pt?(document.exitPictureInPicture(),Pt=!1):(te.requestPictureInPicture(),Pt=!0,Ht&&Nt()));let t=document.querySelector("#goodTube_playerWrapper");Ht?(t.classList.remove("goodTube_miniplayer"),Ht=!1,void 0===oe.v&&vt(te)):(t.classList.add("goodTube_miniplayer"),Ht=!0,Ut=oe.v)}function Jt(){I&&clearTimeout(I),O&&clearTimeout(O),D&&clearTimeout(D);let t=y("goodTube_videoServer_withauto"),e=!1;if(void 0===r[d]&&(e=!0),"automatic"===t&&e){let t=document.querySelector("#goodTube_player");bt(),vt(te);let e=document.createElement("div");e.setAttribute("id","goodTube_error"),e.innerHTML="Video could not be loaded. The servers are not responding :(
Please refresh the page / try again soon!",t.appendChild(e)}else"automatic"===t?(console.log("[GoodTube] Video could not be loaded - selecting next video source..."),te.currentTime>0&&(H=te.currentTime),gt("automatic",!0)):(console.log("[GoodTube] Video could not be loaded - selecting next video source..."),te.currentTime>0&&(H=te.currentTime),d=0,gt("automatic",!0))}let Kt=[t+"/js/assets.min.js",t+"/css/assets.min.css"],Yt=0,Xt=0;function Zt(){console.log("[GoodTube] Loading player assets..."),Xt=0,$t(Kt[Yt])}function $t(t){Xt++,Xt>o?console.log("[GoodTube] Player assets could not be loaded"):fetch(t).then((t=>t.text())).then((e=>{let o=!1;-1!==t.indexOf("/js/")?o=document.createElement("script"):-1!==t.indexOf("/css/")&&(o=document.createElement("style")),o.innerHTML=e,document.head.appendChild(o),Yt++,Yt>=Kt.length?console.log("[GoodTube] Player assets loaded"):(Xt=0,$t(Kt[Yt]))})).catch((o=>{void 0!==n.loadAsset&&clearTimeout(n.loadAsset),n.loadAsset=setTimeout((function(){$t(t)}),e)}))}let te=!1,ee=!1,oe=!1,ne=!1,re=!1;function ie(){if(Yt>=Kt.length&&C){let t=ne;t&&(t=t.split("#")[0],t=t.split("index=")[0]);let e=window.location.href;if(e&&(e=e.split("#")[0],e=e.split("index=")[0]),t===e)return;if(oe=function(){let t={};if(document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g,(function(){function e(t){return decodeURIComponent(t.split("+").join(" "))}t[e(arguments[1])]=e(arguments[2])})),void 0!==t.list&&void 0===t.v){let e=document.getElementById("movie_player");if(e&&"function"==typeof e.getVideoData){let o=e.getVideoData();void 0!==o.video_id&&o.video_id&&(t.v=o.video_id)}}return t}(),void 0!==oe.v){if(console.log("\n-------------------------\n\n"),"true"===y("goodTube_previous")?(et.pop(),g("goodTube_previous","false")):et.push(window.location.href),jt=0,H=0,"automatic"===y("goodTube_videoServer_withauto")){let t=!1;void 0!==oe.list&&(t=oe.list),t&&re===t?d>0&&d--:d=0,gt("automatic",!1)}console.log("[GoodTube] Loading video data from "+s+"..."),kt(te),fetch("https://api.counterapi.dev/v1/goodtube/videos/up/")}else if(!Ht&&!Pt){vt(te),et=[];for(let t in n)n.hasOwnProperty(t)&&clearTimeout(n[t])}re=void 0!==oe.list&&oe.list,ne=window.location.href}}!function(){-1!==window.location.href.indexOf("m.youtube")&&(ee=!0);let t=y("goodTube_videoServer_withauto");t&&r.forEach((e=>{e.url===t&&(i=e.type,a=e.proxy,l=e.url,s=e.name)})),window.addEventListener("beforeunload",(t=>{g("goodTube_lastDownloadTimeSeconds",(new Date).getTime()/1e3)})),function(){let t=document.createElement("style");t.textContent="\n\t\t\tytd-shelf-renderer,\n\t\t\tytd-reel-shelf-renderer,\n\t\t\tytd-merch-shelf-renderer,\n\t\t\tytd-action-companion-ad-renderer,\n\t\t\tytd-display-ad-renderer,\n\t\t\tytd-rich-section-renderer,\n\t\t\tytd-video-masthead-ad-advertiser-info-renderer,\n\t\t\tytd-video-masthead-ad-primary-video-renderer,\n\t\t\tytd-in-feed-ad-layout-renderer,\n\t\t\tytd-ad-slot-renderer,\n\t\t\tytd-statement-banner-renderer,\n\t\t\tytd-banner-promo-renderer-background\n\t\t\tytd-ad-slot-renderer,\n\t\t\tytd-in-feed-ad-layout-renderer,\n\t\t\tytd-engagement-panel-section-list-renderer:not(.ytd-popup-container),\n\t\t\tytd-compact-video-renderer:has(.goodTube_hidden),\n\t\t\tytd-rich-item-renderer:has(> #content > ytd-ad-slot-renderer)\n\t\t\t.ytd-video-masthead-ad-v3-renderer,\n\t\t\tdiv#root.style-scope.ytd-display-ad-renderer.yt-simple-endpoint,\n\t\t\tdiv#sparkles-container.style-scope.ytd-promoted-sparkles-web-renderer,\n\t\t\tdiv#main-container.style-scope.ytd-promoted-video-renderer,\n\t\t\tdiv#player-ads.style-scope.ytd-watch-flexy,\n\n\t\t\tytm-rich-shelf-renderer,\n\t\t\tytm-shelf-renderer,\n\t\t\tytm-button-renderer.icon-avatar_logged_out,\n\t\t\tytm-companion-slot,\n\t\t\tytm-shelf-renderer,\n\t\t\tytm-reel-shelf-renderer,\n\t\t\tytm-merch-shelf-renderer,\n\t\t\tytm-action-companion-ad-renderer,\n\t\t\tytm-display-ad-renderer,\n\t\t\tytm-rich-section-renderer,\n\t\t\tytm-video-masthead-ad-advertiser-info-renderer,\n\t\t\tytm-video-masthead-ad-primary-video-renderer,\n\t\t\tytm-in-feed-ad-layout-renderer,\n\t\t\tytm-ad-slot-renderer,\n\t\t\tytm-statement-banner-renderer,\n\t\t\tytm-banner-promo-renderer-background\n\t\t\tytm-ad-slot-renderer,\n\t\t\tytm-in-feed-ad-layout-renderer,\n\t\t\tytm-compact-video-renderer:has(.goodTube_hidden),\n\t\t\tytm-rich-item-renderer:has(> #content > ytm-ad-slot-renderer)\n\t\t\t.ytm-video-masthead-ad-v3-renderer,\n\t\t\tdiv#root.style-scope.ytm-display-ad-renderer.yt-simple-endpoint,\n\t\t\tdiv#sparkles-container.style-scope.ytm-promoted-sparkles-web-renderer,\n\t\t\tdiv#main-container.style-scope.ytm-promoted-video-renderer,\n\t\t\tdiv#player-ads.style-scope.ytm-watch-flexy,\n\t\t\tytm-pivot-bar-item-renderer:has(> .pivot-shorts),\n\t\t\tytd-compact-movie-renderer,\n\n\t\t\tyt-about-this-ad-renderer,\n\t\t\tmasthead-ad,\n\t\t\tad-slot-renderer,\n\t\t\tyt-mealbar-promo-renderer,\n\t\t\tstatement-banner-style-type-compact,\n\t\t\tytm-promoted-sparkles-web-renderer,\n\t\t\ttp-yt-iron-overlay-backdrop,\n\t\t\t#masthead-ad\n\t\t\t {\n\t\t\t\tdisplay: none !important;\n\t\t\t}\n\n\t\t\t.style-scope[page-subtype='channels'] ytd-shelf-renderer,\n\t\t\t.style-scope[page-subtype='channels'] ytm-shelf-renderer {\n\t\t\t\tdisplay: block !important;\n\t\t\t}\n\t\t",document.head.appendChild(t),console.log("[GoodTube] Ads removed")}(),function(){let t=document.createElement("style");t.textContent="\n\t\t\t.goodTube_hidden {\n\t\t\t\tposition: fixed !important;\n\t\t\t\ttop: -9999px !important;\n\t\t\t\tleft: -9999px !important;\n\t\t\t\ttransform: scale(0) !important;\n\t\t\t\tpointer-events: none !important;\n\t\t\t}\n\n\t\t\t.goodTube_hiddenPlayer {\n\t\t\t\tposition: relative;\n\t\t\t\toverflow: hidden;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\t.goodTube_hiddenPlayer::before {\n\t\t\t\tcontent: '';\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\tright: 0;\n\t\t\t\tbottom: 0;\n\t\t\t\tbackground: #ffffff;\n\t\t\t\tz-index: 998;\n\t\t\t}\n\t\t",document.head.appendChild(t)}(),q(),setInterval(q,1),w(),setInterval(w,1),setInterval(x,1e3),setInterval(S,1e3),setInterval(T,100),Zt(),document.addEventListener("DOMContentLoaded",yt),"interactive"!==document.readyState&&"complete"!==document.readyState||yt(),y("goodTube_unique_new2")||(fetch("https://api.counterapi.dev/v1/goodtube/users/up/"),g("goodTube_unique_new2","true"))}()}(); +!function(){"use strict";let t="https://raw.githubusercontent.com/goodtube4u/GoodTube/main",e=500,o=3,n=[],r=[{name:"Automatic",type:!1,proxy:!0,url:"automatic"},{name:"Acid (US)",type:2,proxy:!0,url:"https://invidious.incogniweb.net"},{name:"Anubis (DE)",type:3,proxy:!0,url:"https://pipedapi.r4fo.com"},{name:"Phoenix (US)",type:3,proxy:!0,url:"https://pipedapi.drgns.space"},{name:"Nymph (AT)",type:2,proxy:!0,url:"https://invidious.private.coffee"},{name:"Serpent (US)",type:2,proxy:!0,url:"https://invidious.darkness.services"},{name:"Sphere (US)",type:3,proxy:!0,url:"https://pipedapi.darkness.services"},{name:"Sapphire (IN)",type:3,proxy:!0,url:"https://pipedapi.in.projectsegfau.lt"},{name:"Sphynx (JP)",type:2,proxy:!0,url:"https://invidious.jing.rocks"},{name:"Orchid (DE)",type:3,proxy:!0,url:"https://api.piped.yt"},{name:"Emerald (DE)",type:3,proxy:!0,url:"https://pipedapi.phoenixthrush.com"},{name:"420 (FI)",type:2,proxy:!0,url:"https://invidious.privacyredirect.com"},{name:"Onyx (FR)",type:2,proxy:!0,url:"https://invidious.fdn.fr"},{name:"360p - Amethyst (DE)",type:1,proxy:!0,url:"https://yt.artemislena.eu"},{name:"360p - Goblin (AU)",type:1,proxy:!1,url:"https://invidious.perennialte.ch"},{name:"360p - Raptor (US)",type:1,proxy:!0,url:"https://invidious.drgns.space"}],i=r[0].type,a=r[0].proxy,l=r[0].url,s=r[0].name,d=0,u=0,p=0,c=["https://invidious.perennialte.ch","https://yt.artemislena.eu","https://invidious.private.coffee","https://invidious.drgns.space","https://inv.nadeko.net","https://invidious.projectsegfau.lt","https://invidious.jing.rocks","https://invidious.incogniweb.net","https://invidious.privacyredirect.com","https://invidious.fdn.fr","https://iv.datura.network","https://pipedapi-libre.kavin.rocks","https://pipedapi.syncpundit.io","https://invidious.protokolla.fi","https://iv.melmac.space"],v=["https://sea-downloadapi.stuff.solutions","https://ca.haloz.at","https://cobalt.wither.ing","https://capi.tieren.men","https://co.tskau.team","https://apicb.tigaultraman.com","https://api-cobalt.boykisser.systems","https://cobalt.decrystalfan.app","https://wukko.wolfdo.gg","https://capi.oak.li","https://cb.nyoom.fun","https://dl.khyernet.xyz","https://cobalt-api.alexagirl.studio","https://nyc1.coapi.ggtyler.dev","https://api.dl.ixhby.dev","https://co.eepy.today","https://downloadapi.stuff.solutions","https://cobalt-api.ayo.tf","https://api.sacreations.me","https://apicloud2.filsfkwtlfjas.xyz","https://dl01.yt-dl.click"],m=v.length;for(;0!=m;){let t=Math.floor(Math.random()*m);m--,[v[m],v[t]]=[v[t],v[m]]}let b=["https://dl01.yt-dl.click","https://dl02.yt-dl.click","https://dl03.yt-dl.click","https://apicloud9.filsfkwtlfjas.xyz","https://apicloud3.filsfkwtlfjas.xyz","https://apicloud8.filsfkwtlfjas.xyz","https://apicloud4.filsfkwtlfjas.xyz","https://apicloud5.filsfkwtlfjas.xyz"].concat(v);function g(t,e){document.cookie=t+"="+encodeURIComponent(e)+"; max-age=34473600"}function y(t){let e=document.cookie.split(";");for(let o=0;o{-1!==t.href.indexOf("shorts/")&&(f(t),f(t.closest("ytd-video-renderer")),f(t.closest("ytd-compact-video-renderer")),f(t.closest("ytd-rich-grid-media")))}))}function _(){document.querySelectorAll("#description a, ytd-comments .yt-core-attributed-string a, ytm-expandable-video-description-body-renderer a, .comment-content a").forEach((t=>{!t.classList.contains("goodTube_timestampLink")&&t.getAttribute("href")&&-1!==t.getAttribute("href").indexOf(oe.v)&&-1!==t.getAttribute("href").indexOf("t=")&&(t.classList.add("goodTube_timestampLink"),t.addEventListener("click",(function(){let e=t.getAttribute("href").split("t=");if(void 0!==e[1]){let t=e[1].replace("s","");ct(te,t)}})))}))}function x(){let t=document.getElementById("movie_player");if(t&&"function"==typeof t.setPlaybackQualityRange&&"function"==typeof t.getAvailableQualityData&&"function"==typeof t.getPlaybackQuality){let e=t.getAvailableQualityData(),o=t.getPlaybackQuality();if(e.length&&o){let n=e[e.length-1].quality;o!=n&&t.setPlaybackQualityRange(n,n)}}}function w(){document.querySelectorAll("#player:not(.ytd-channel-video-player-renderer)").forEach((t=>{j(t)})),document.querySelectorAll("#full-bleed-container").forEach((t=>{j(t)})),document.querySelectorAll("#player-control-container").forEach((t=>{f(t)})),document.querySelectorAll("ytd-miniplayer").forEach((t=>{f(t)}))}let k=!1;function S(){if(k)return;let t=!1;if(!ee&&(t=document.querySelector(".ytp-autonav-toggle-button"),t)){if("false"===t.getAttribute("aria-checked"))return void(k=!0);t.click()}}let L=!1,A=0;function W(){let t=document.querySelector("#movie_player video");if(t&&C&&void 0!==oe.v){let e=te.currentTime;if(e===A&&parseFloat(e)>0)return;A=e,t.currentTime=e,L=!0,t.play(),t.muted=!0,t.volume=0;let o=document.querySelector("#movie_player");o&&("function"==typeof o.playVideo&&o.playVideo(),"function"==typeof o.mute&&o.mute(),"function"==typeof o.setVolume&&o.setVolume(0)),setTimeout((function(){L=!1}),10)}}function q(){document.querySelectorAll("video:not(#goodTube_player):not(#goodTube_player_html5_api)").forEach((t=>{t.closest("#inline-player")||(t.muted=!0,t.volume=0,L||t.pause())}))}let E=!1,C=!1,M=!1,Q=!1,z=!1,R=!1,B=!1,I=!1,O=!1,D=!1,G=!1,P=0,F=1,H=0;function U(){console.log("[GoodTube] Loading player..."),function(){let t=document.createElement("style");t.textContent="\n\t\t\t.video-js {\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\n\t\t\t.video-js *:focus {\n\t\t\t\toutline-color: transparent;\n\t\t\t\toutline-style: none;\n\t\t\t}\n\n\t\t\t.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {\n\t\t\t\ttransition: visibility .25s, opacity .25s !important;\n\t\t\t}\n\n\t\t\t.vjs-menu .vjs-menu-item-text {\n\t\t\t\ttext-transform: none !important;\n\t\t\t}\n\n\t\t\t.vjs-menu .vjs-menu-item-text:first-letter {\n\t\t\t\ttext-transform: uppercase !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-download-button .vjs-icon-placeholder,\n\t\t\t.video-js .vjs-source-button .vjs-icon-placeholder,\n\t\t\t.video-js .vjs-autoplay-button .vjs-icon-placeholder,\n\t\t\t.video-js .vjs-quality-selector .vjs-icon-placeholder,\n\t\t\t.video-js .vjs-prev-button .vjs-icon-placeholder,\n\t\t\t.video-js .vjs-next-button .vjs-icon-placeholder,\n\t\t\t.video-js .vjs-miniplayer-button .vjs-icon-placeholder,\n\t\t\t.video-js .vjs-theater-button .vjs-icon-placeholder {\n\t\t\t\tfont-family: VideoJS;\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-style: normal;\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar > button {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\n\t\t\t.video-js .vjs-prev-button .vjs-icon-placeholder:before {\n\t\t\t\tcontent: \"\\f124\";\n\t\t\t}\n\n\t\t\t.video-js .vjs-next-button .vjs-icon-placeholder:before {\n\t\t\t\tcontent: \"\\f123\";\n\t\t\t}\n\n\t\t\t.video-js .vjs-download-button .vjs-icon-placeholder:before {\n\t\t\t\tcontent: \"\\f110\";\n\t\t\t}\n\n\n\n\t\t\t// Loading indicator for downloads\n\t\t\t.video-js .vjs-download-button {\n\t\t\t\tposition: relative;\n\t\t\t}\n\n\t\t\t.video-js .vjs-download-button .goodTube_spinner {\n\t\t\t\topacity: 0;\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 50%;\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translate(-50%, -50%);\n\t\t\t\ttransition: opacity .4s linear;\n\t\t\t}\n\t\t\t.video-js .vjs-download-button.goodTube_loading .goodTube_spinner {\n\t\t\t\topacity: 1;\n\t\t\t\ttransition: opacity .2s .2s linear;\n\t\t\t}\n\n\t\t\t.video-js .vjs-download-button .vjs-icon-placeholder:before {\n\t\t\t\topacity: 1;\n\t\t\t\ttransition: opacity .2s .2s linear;\n\t\t\t}\n\t\t\t.video-js .vjs-download-button.goodTube_loading .vjs-icon-placeholder:before {\n\t\t\t\topacity: 0;\n\t\t\t\ttransition: opacity .2s linear;\n\t\t\t}\n\n\t\t\t.goodTube_spinner {\n\t\t\t\tcolor: #ffffff;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t\t.goodTube_spinner,\n\t\t\t.goodTube_spinner div {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t}\n\t\t\t.goodTube_spinner {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tposition: relative;\n\t\t\t\twidth: 36px;\n\t\t\t\theight: 36px;\n\t\t\t}\n\t\t\t.goodTube_spinner div {\n\t\t\t\tposition: absolute;\n\t\t\t\tborder: 2px solid currentColor;\n\t\t\t\topacity: 1;\n\t\t\t\tborder-radius: 50%;\n\t\t\t\tanimation: goodTube_spinner 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;\n\t\t\t}\n\t\t\t.goodTube_spinner div:nth-child(2) {\n\t\t\t\tanimation-delay: -0.5s;\n\t\t\t}\n\t\t\t@keyframes goodTube_spinner {\n\t\t\t\t0% {\n\t\t\t\t\ttop: 16px;\n\t\t\t\t\tleft: 16px;\n\t\t\t\t\twidth: 4px;\n\t\t\t\t\theight: 4px;\n\t\t\t\t\topacity: .5;\n\t\t\t\t}\n\t\t\t\t4.9% {\n\t\t\t\t\ttop: 16px;\n\t\t\t\t\tleft: 16px;\n\t\t\t\t\twidth: 4px;\n\t\t\t\t\theight: 4px;\n\t\t\t\t\topacity: .5;\n\t\t\t\t}\n\t\t\t\t5% {\n\t\t\t\t\ttop: 16px;\n\t\t\t\t\tleft: 16px;\n\t\t\t\t\twidth: 4px;\n\t\t\t\t\theight: 4px;\n\t\t\t\t\topacity: 1;\n\t\t\t\t}\n\t\t\t\t100% {\n\t\t\t\t\ttop: 0;\n\t\t\t\t\tleft: 0;\n\t\t\t\t\twidth: 36px;\n\t\t\t\t\theight: 36px;\n\t\t\t\t\topacity: 0;\n\t\t\t\t}\n\t\t\t}\n\n\n\n\t\t\t.video-js .vjs-source-button .vjs-icon-placeholder:before {\n\t\t\t\tcontent: \"\\f10e\";\n\t\t\t}\n\n\t\t\t.video-js .vjs-autoplay-button .vjs-icon-placeholder:before {\n\t\t\t\tcontent: \"\\f102\";\n\t\t\t}\n\n\t\t\t.video-js .vjs-quality-selector .vjs-icon-placeholder:before {\n\t\t\t\tcontent: \"\\f114\";\n\t\t\t}\n\n\t\t\t.video-js .vjs-source-button .vjs-icon-placeholder:before {\n\t\t\t\tcontent: \"\\f10e\";\n\t\t\t}\n\n\t\t\t.video-js .vjs-miniplayer-button .vjs-icon-placeholder:before {\n\t\t\t\tcontent: \"\\f127\";\n\t\t\t}\n\n\t\t\t.video-js .vjs-theater-button .vjs-icon-placeholder:before {\n\t\t\t\tcontent: \"\\f115\";\n\t\t\t}\n\n\t\t\t/* Youtube player style */\n\t\t\t.vjs-slider-horizontal .vjs-volume-level:before {\n\t\t\t\tfont-size: 14px !important;\n\t\t\t}\n\n\t\t\t.vjs-volume-control {\n\t\t\t\twidth: auto !important;\n\t\t\t\tmargin-right: 0 !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-volume-panel.vjs-volume-panel-horizontal {\n\t\t\t\ttransition: width .25s !important;\n\t\t\t\tz-index: 999;\n\t\t\t}\n\n\t\t\t.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal {\n\t\t\t\ttransition: opacity .25s, width 1s !important;\n\t\t\t\tmin-width: 0 !important;\n\t\t\t\tpadding-right: 8px !important;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\n\t\t\t.video-js .vjs-volume-panel {\n\t\t\t\tmargin-right: 6px !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-volume-panel.vjs-hover,\n\t\t\t.video-js .vjs-volume-panel.vjs-slider-active {\n\t\t\t\tmargin-right: 16px !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal {\n\t\t\t\tpointer-events: all;\n\t\t\t}\n\n\t\t\t.vjs-volume-bar.vjs-slider-horizontal {\n\t\t\t\tmin-width: 52px !important;\n\t\t\t}\n\n\t\t\t.video-js.player-style-youtube .vjs-control-bar > .vjs-spacer {\n\t\t\t\tflex: 1;\n\t\t\t\torder: 2;\n\t\t\t}\n\n\t\t\t.video-js.player-style-youtube .vjs-play-progress .vjs-time-tooltip {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t.video-js.player-style-youtube .vjs-play-progress::before {\n\t\t\t\tcolor: red;\n\t\t\t\tfont-size: 0.85em;\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t.video-js.player-style-youtube .vjs-progress-holder:hover .vjs-play-progress::before {\n\t\t\t\tdisplay: unset;\n\t\t\t}\n\n\t\t\t.video-js.player-style-youtube .vjs-control-bar {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: row;\n\t\t\t}\n\n\t\t\t.video-js.player-style-youtube .vjs-big-play-button {\n\t\t\t\ttop: 50%;\n\t\t\t\tleft: 50%;\n\t\t\t\tmargin-top: -0.81666em;\n\t\t\t\tmargin-left: -1.5em;\n\t\t\t}\n\n\t\t\t.video-js.player-style-youtube .vjs-menu-button-popup .vjs-menu {\n\t\t\t\tmargin-bottom: 2em;\n\t\t\t}\n\n\t\t\t.video-js ul.vjs-menu-content::-webkit-scrollbar {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t.video-js .vjs-user-inactive:not(.vjs-paused) {\n\t\t\t\tcursor: none;\n\t\t\t}\n\n\t\t\t.video-js .vjs-text-track-display > div > div > div {\n\t\t\t\tborder-radius: 0 !important;\n\t\t\t\tpadding: 4px 8px !important;\n\t\t\t\tline-height: calc(1.2em + 7px) !important;\n\t\t\t\twhite-space: break-spaces !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-play-control {\n\t\t\t\torder: 0;\n\t\t\t}\n\n\t\t\t.video-js .vjs-prev-button {\n\t\t\t\torder: 1;\n\t\t\t}\n\n\t\t\t.video-js .vjs-next-button {\n\t\t\t\torder: 2;\n\t\t\t}\n\n\t\t\t.video-js .vjs-volume-panel {\n\t\t\t\torder: 3;\n\t\t\t}\n\n\t\t\t/* Time control */\n\t\t\thtml body #goodTube_playerWrapper .video-js .vjs-time-control {\n\t\t\t\tfont-family: \"YouTube Noto\", Roboto, Arial, Helvetica, sans-serif !important;\n\t\t\t\torder: 4;\n\t\t\t\tfont-size: 13.0691px !important;\n\t\t\t\tpadding-top: 4px !important;\n\t\t\t\tcolor: rgb(221, 221, 221) !important;\n\t\t\t\ttext-shadow: 0 0 2px rgba(0, 0, 0, .5) !important;\n\t\t\t\tmin-width: 0 !important;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper .video-js .vjs-time-control * {\n\t\t\t\tmin-width: 0 !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-current-time {\n\t\t\t\tpadding-right: 4px !important;\n\t\t\t\tpadding-left: 0 !important;\n\t\t\t\tmargin-left: 0 !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-duration {\n\t\t\t\tpadding-left: 4px !important;\n\t\t\t\tpadding-right: 5px !important;\n\t\t\t\tmargin-right: 0 !important;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .video-js .vjs-time-control {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: calc(100% - 98px);\n\t\t\t\tfont-weight: 500;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .video-js .vjs-current-time {\n\t\t\t\tcolor: #ffffff !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-source-button {\n\t\t\t\tmargin-left: auto !important;\n\t\t\t\torder: 5;\n\t\t\t}\n\n\t\t\t.video-js .vjs-download-button {\n\t\t\t\torder: 6;\n\t\t\t}\n\n\t\t\t.video-js .vjs-autoplay-button {\n\t\t\t\torder: 7;\n\t\t\t}\n\n\t\t\t.video-js .vjs-playback-rate {\n\t\t\t\torder: 8;\n\t\t\t}\n\n\t\t\t.video-js .vjs-subs-caps-button {\n\t\t\t\torder: 9;\n\t\t\t}\n\n\t\t\t.video-js .vjs-quality-selector {\n\t\t\t\torder: 10;\n\t\t\t}\n\n\t\t\t.video-js .vjs-miniplayer-button {\n\t\t\t\torder: 11;\n\t\t\t}\n\n\t\t\t.video-js .vjs-theater-button {\n\t\t\t\torder: 12;\n\t\t\t}\n\n\t\t\t.video-js .vjs-fullscreen-control {\n\t\t\t\torder: 13;\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: row;\n\t\t\t\tscrollbar-width: none;\n\t\t\t\theight: 48px !important;\n\t\t\t\tbackground: transparent !important;\n\t\t\t\tz-index: 2 !important;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper:not(.goodTube_mobile) .video-js::before {\n\t\t\t\tcontent: '';\n\t\t\t\tposition: absolute;\n\t\t\t\tleft: 0;\n\t\t\t\tright: 0;\n\t\t\t\tbottom: 0;\n\t\t\t\theight: 33.33%;\n\t\t\t\tbackground: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAD1CAYAAACRFp+GAAAAAXNSR0IArs4c6QAAASpJREFUOE9lyOlHGAAcxvHuY63Wta3WsdWqdaz7vtfduoyZSBLJmCSSSCaSSBJJJIkk0h+Z7/Pm59Hz4sP3SUh4tUSeIIkMkkmR4qSSIs1JJ4MMUmQ6b0iR5bwlg2xS5DjvSJHr5JFBPikKnEIyeE+KD85HUhQ5xWTwiRQlTikpypxyMvhMii9OBSkqna9kUEWKaqeGDL6RotapI0W900AG30nR6DSRotlpIYNWUrQ57aTocDrJoIsU3U4PKXqdPjLoJ8WAM0gGQ6QYdn6QYsQZJYMxUow7E6SYdKbIYJoUP50ZUsw6c2QwTy7AL/gNf2ARlmAZVmAV1mAd/sI/2IBN2IJt2IFd2IN9+A8HcAhHcAwncApncA4XcAlXcA03cAt3cA8P8AhP8PwCakcyvVVFagcAAAAASUVORK5CYII=\");\n\t\t\t\tbackground-size: cover;\n\t\t\t\tbackground-repeat: repeat-x;\n\t\t\t\tbackground-position: bottom;\n\t\t\t\tbackground-size: contain;\n\t\t\t\tpointer-events: none;\n\t\t\t\topacity: 0;\n\t\t\t\ttransition: opacity .1s linear;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper:not(.goodTube_mobile) .video-js.vjs-paused::before,\n\t\t\t#goodTube_playerWrapper:not(.goodTube_mobile) .video-js.vjs-user-active::before {\n\t\t\t\topacity: 1;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .video-js .vjs-control-bar::before {\n\t\t\t\tdisplay: none;\n\t\t\t\tcontent: none;\n\t\t\t}\n\n\t\t\t.video-js .vjs-menu .vjs-icon-placeholder {\n\t\t\t\tdisplay: none !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-menu .vjs-menu-content > * {\n\t\t\t\tpadding-top: 8px !important;\n\t\t\t\tpadding-bottom: 8px !important;\n\t\t\t\tpadding-left: 12px !important;\n\t\t\t\tpadding-right: 12px !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-menu {\n\t\t\t\theight: auto !important;\n\t\t\t\tbottom: 48px !important;\n\t\t\t\tpadding-bottom: 0 !important;\n\t\t\t\tmargin-bottom: 0 !important;\n\t\t\t\twidth: auto !important;\n\t\t\t\ttransform: translateX(-50%) !important;\n\t\t\t\tleft: 50% !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-menu .vjs-menu-content {\n\t\t\t\tposition: static !important;\n\t\t\t\tborder-radius: 4px !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-volume-control {\n\t\t\t\theight: 100% !important;\n\t\t\t\tdisplay: flex !important;\n\t\t\t\talign-items: center !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-vtt-thumbnail-display {\n\t\t\t\tbottom: calc(100% + 35px) !important;\n\t\t\t\tborder-radius: 12px !important;\n\t\t\t\toverflow: hidden !important;\n\t\t\t\tborder: 2px solid #ffffff !important;\n\t\t\t\tbackground-color: #000000 !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar .vjs-icon-placeholder {\n\t\t\t\theight: 100%;\n\t\t\t}\n\n\t\t\t.video-js .vjs-control {\n\t\t\t\tmin-width: 48px !important;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper:not(goodTube_mobile) .video-js .vjs-control-bar > .vjs-play-control {\n\t\t\t\tpadding-left: 8px;\n\t\t\t\tbox-sizing: content-box;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .video-js .vjs-control:not(.vjs-progress-control) {\n\t\t\t\tmin-width: 0 !important;\n\t\t\t\tflex-grow: 1 !important;\n\t\t\t\tmax-width: 9999px !important;\n\t\t\t\tpadding-left: 0 !important;\n\t\t\t\tpadding-right: 0 !important;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .video-js .vjs-control.vjs-volume-panel,\n\t\t\t#goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-control.vjs-volume-panel {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar .vjs-icon-placeholder::before {\n\t\t\t\theight: auto;\n\t\t\t\ttop: 50%;\n\t\t\t\ttransform: translateY(-50%);\n\t\t\t\tfont-size: 24px;\n\t\t\t\tline-height: 100%;\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar *:not(.vjs-time-control) {\n\t\t\t\ttext-shadow: none !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-vtt-thumbnail-time {\n\t\t\t\tdisplay: none !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-playback-rate .vjs-playback-rate-value {\n\t\t\t\tline-height: 48px;\n\t\t\t\tfont-size: 14px !important;\n\t\t\t\tfont-weight: 700;\n\t\t\t}\n\n\t\t\t.video-js .vjs-play-progress .vjs-time-tooltip {\n\t\t\t\tdisplay: none !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-mouse-display .vjs-time-tooltip {\n\t\t\t\tbackground: none !important;\n\t\t\t\tfont-size: 12px !important;\n\t\t\t\ttop: -50px !important;\n\t\t\t\ttext-shadow: 0 0 10px rgba(0, 0, 0, .5) !important;\n\t\t\t\tfont-family: \"YouTube Noto\", Roboto, Arial, Helvetica, sans-serif !important;\n\t\t\t\tfont-weight: 500 !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar::-webkit-scrollbar {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t.video-js .vjs-icon-cog {\n\t\t\t\tfont-size: 18px;\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar,\n\t\t\t.video-js .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\n\t\t\t\tbackground-color: rgba(35, 35, 35, 0.75);\n\t\t\t}\n\n\t\t\t.video-js .vjs-menu li.vjs-menu-item:not(.vjs-selected) {\n\t\t\t\tbackground-color: transparent !important;\n\t\t\t\tcolor: #ffffff !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-menu li.vjs-menu-item:not(.vjs-selected):hover {\n\t\t\t\tbackground-color: rgba(255, 255, 255, 0.75) !important;\n\t\t\t\tcolor: rgba(49, 49, 51, 0.75) !important;\n\t\t\t\tcolor: #ffffff !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-menu li.vjs-selected,\n\t\t\t.video-js .vjs-menu li.vjs-selected:hover {\n\t\t\t\tbackground-color: #ffffff !important;\n\t\t\t\tcolor: #000000 !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-menu li {\n\t\t\t\twhite-space: nowrap !important;\n\t\t\t\tfont-size: 12px !important;\n\t\t\t\tfont-weight: 700 !important;\n\t\t\t\tmax-width: 9999px !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-subs-caps-button .vjs-menu li {\n\t\t\t\twhite-space: normal !important;\n\t\t\t\tmin-width: 128px !important;\n\t\t\t}\n\n\t\t\t/* Progress Bar */\n\t\t\t.video-js .vjs-slider {\n\t\t\t\tbackground-color: rgba(15, 15, 15, 0.5);\n\t\t\t}\n\n\t\t\t.video-js .vjs-load-progress,\n\t\t\t.video-js .vjs-load-progress div {\n\t\t\t\tbackground: rgba(87, 87, 88, 1);\n\t\t\t}\n\n\t\t\t.video-js .vjs-slider:hover,\n\t\t\t.video-js button:hover {\n\t\t\t\tcolor: #ffffff;\n\t\t\t}\n\n\t\t\t/* Overlay */\n\t\t\t.video-js .vjs-overlay {\n\t\t\t\tbackground-color: rgba(35, 35, 35, 0.75) !important;\n\t\t\t}\n\t\t\t.video-js .vjs-overlay * {\n\t\t\t\tcolor: rgba(255, 255, 255, 1) !important;\n\t\t\t\ttext-align: center;\n\t\t\t}\n\n\t\t\t/* ProgressBar marker */\n\t\t\t.video-js .vjs-marker {\n\t\t\t\tbackground-color: rgba(255, 255, 255, 1);\n\t\t\t\tz-index: 0;\n\t\t\t}\n\n\t\t\t/* Big \"Play\" Button */\n\t\t\t.video-js .vjs-big-play-button {\n\t\t\t\tbackground-color: rgba(35, 35, 35, 0.5);\n\t\t\t}\n\n\t\t\t.video-js:hover .vjs-big-play-button {\n\t\t\t\tbackground-color: rgba(35, 35, 35, 0.75);\n\t\t\t}\n\n\t\t\t.video-js .vjs-current-time,\n\t\t\t.video-js .vjs-time-divider,\n\t\t\t.video-js .vjs-duration {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\n\t\t\t.video-js .vjs-time-divider {\n\t\t\t\tmin-width: 0px;\n\t\t\t\tpadding-left: 0px;\n\t\t\t\tpadding-right: 0px;\n\t\t\t}\n\n\t\t\t.video-js .vjs-poster {\n\t\t\t\tbackground-size: cover;\n\t\t\t\tobject-fit: cover;\n\t\t\t}\n\n\t\t\t.video-js .player-dimensions.vjs-fluid {\n\t\t\t\tpadding-top: 82vh;\n\t\t\t}\n\n\t\t\tvideo.video-js {\n\t\t\t\tposition: absolute;\n\t\t\t\theight: 100%;\n\t\t\t}\n\n\t\t\t.video-js .mobile-operations-bar {\n\t\t\t\tdisplay: flex;\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tright: 1px !important;\n\t\t\t\tleft: initial !important;\n\t\t\t\twidth: initial !important;\n\t\t\t}\n\n\t\t\t.video-js .mobile-operations-bar ul {\n\t\t\t\tposition: absolute !important;\n\t\t\t\tbottom: unset !important;\n\t\t\t\ttop: 1.5em;\n\t\t\t}\n\n\t\t\t.video-js .vjs-menu-button-popup .vjs-menu {\n\t\t\t\tborder: 0 !important;\n\t\t\t\tpadding-bottom: 12px !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-menu li.vjs-menu-item:not(.vjs-selected):hover,\n\t\t\t.video-js .vjs-menu li.vjs-menu-item.vjs-auto-selected {\n\t\t\t\tbackground-color: rgba(255, 255, 255, .2) !important;\n\t\t\t\tcolor: #ffffff !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-menu * {\n\t\t\t\tborder: 0 !important;\n\t\t\t}\n\n\t\t\t/* Tooltips\n\t\t\t------------------------------------------------------------------------------------------ */\n\t\t\t.video-js .vjs-control-bar > .vjs-prev-button::before {\n\t\t\t\tcontent: 'Previous video';\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar > .vjs-next-button::before {\n\t\t\t\tcontent: 'Next video';\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar .vjs-mute-control:not(.vjs-vol-0)::before {\n\t\t\t\tcontent: 'Mute (m)';\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar .vjs-mute-control.vjs-vol-0::before {\n\t\t\t\tcontent: 'Unmute (m)';\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar > .vjs-playback-rate > .vjs-menu-button::before {\n\t\t\t\tcontent: 'Playback speed';\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar > .vjs-subs-caps-button > .vjs-menu-button::before {\n\t\t\t\tcontent: 'Subtitles';\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar > .vjs-quality-selector > .vjs-menu-button::before {\n\t\t\t\tcontent: 'Quality';\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar > .vjs-download-button > .vjs-menu-button::before {\n\t\t\t\tcontent: 'Download';\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar > .vjs-autoplay-button > .vjs-menu-button::before {\n\t\t\t\tcontent: 'Autoplay';\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar > .vjs-source-button > .vjs-menu-button::before {\n\t\t\t\tcontent: 'Video source';\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar > .vjs-miniplayer-button::before {\n\t\t\t\tcontent: 'Miniplayer (i)';\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar > .vjs-theater-button::before {\n\t\t\t\tcontent: 'Theater mode (t)';\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar > .vjs-fullscreen-control::before {\n\t\t\t\tcontent: 'Fullscreen (f)';\n\t\t\t\tleft: auto !important;\n\t\t\t\tright: 12px !important;\n\t\t\t\ttransform: none !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar button.vjs-menu-button::before,\n\t\t\t.video-js .vjs-control-bar .vjs-button:not(.vjs-menu-button)::before {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: -40px;\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translateX(-50%);\n\t\t\t\tbackground: rgba(0, 0, 0, .75);\n\t\t\t\tborder-radius: 4px;\n\t\t\t\tfont-size: 12px;\n\t\t\t\tfont-weight: 600;\n\t\t\t\tpadding: 8px;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\topacity: 0;\n\t\t\t\ttransition: opacity .1s;\n\t\t\t\tpointer-events: none;\n\t\t\t\ttext-shadow: none !important;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .video-js .vjs-control-bar button.vjs-menu-button::before,\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .video-js .vjs-control-bar .vjs-button:not(.vjs-menu-button)::before {\n\t\t\t\tdisplay: none !important;\n\t\t\t\tcontent: none !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-control-bar div.vjs-menu-button:not(.vjs-menuOpen) button.vjs-menu-button:hover::before,\n\t\t\t.video-js .vjs-control-bar .vjs-button:not(.vjs-menu-button):hover::before {\n\t\t\t\topacity: 1;\n\t\t\t}\n\n\t\t\t.video-js div.vjs-menu-button:not(.vjs-menuOpen) .vjs-menu {\n\t\t\t\tdisplay: none !important;\n\t\t\t}\n\n\t\t\t.video-js div.vjs-menu-button.vjs-menuOpen .vjs-menu {\n\t\t\t\tdisplay: block !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-menu {\n\t\t\t\tz-index: 999 !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-big-play-button {\n\t\t\t\tdisplay: none !important;\n\t\t\t}\n\n\t\t\t.video-js .vjs-volume-panel,\n\t\t\t.video-js .vjs-button {\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\t.video-js .vjs-button.vjs-menuOpen {\n\t\t\t\tz-index: 999;\n\t\t\t}\n\n\t\t\t.video-js .vjs-error-display .vjs-modal-dialog-content {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t.video-js:not(.vjs-has-started) .vjs-control-bar {\n\t\t\t\tdisplay: flex !important;\n\t\t\t}\n\n\t\t\t.vjs-track-settings-controls button:hover {\n\t\t\t\tcolor: #000000 !important;\n\t\t\t}\n\t\t",document.body.appendChild(t)}();const t=videojs.getComponent("MenuItem"),a=videojs.getComponent("MenuButton");class l extends a{createItems(){const e=[],{myItems:o}=this.options_;return Array.isArray(o),o.forEach((({clickHandler:o,...n})=>{const r=new t(this.player(),n);o&&(r.handleClick=o),e.push(r)})),e}buildCSSClass(){return`${super.buildCSSClass()}`}}videojs.registerComponent("DownloadButton",l),videojs.registerComponent("SourceButton",l),videojs.registerComponent("AutoplayButton",l);const s=videojs.getComponent("Button");videojs.registerComponent("PrevButton",class extends s{handleClick(t){t.stopImmediatePropagation(),it()}});videojs.registerComponent("NextButton",class extends s{handleClick(t){t.stopImmediatePropagation(),at(!0)}});videojs.registerComponent("MiniplayerButton",class extends s{handleClick(t){t.stopImmediatePropagation(),Nt()}});videojs.registerComponent("TheaterButton",class extends s{handleClick(t){t.stopImmediatePropagation(),function(t){let e=!1,o=!1,n=!1;if("next"===t)e="n",o=78,n=!0;else if("prev"===t)e="p",o=80,n=!0;else if("theater"===t)e="t",o=84,n=!1;else{if("fullscreen"!==t)return;e="f",o=70,n=!1}let r=!1;r=new window.KeyboardEvent("focus",{bubbles:!0,key:e,keyCode:o,shiftKey:n,charCode:0}),document.dispatchEvent(r),r=new window.KeyboardEvent("keydown",{bubbles:!0,key:e,keyCode:o,shiftKey:n,charCode:0}),document.dispatchEvent(r),r=new window.KeyboardEvent("beforeinput",{bubbles:!0,key:e,keyCode:o,shiftKey:n,charCode:0}),document.dispatchEvent(r),r=new window.KeyboardEvent("keypress",{bubbles:!0,key:e,keyCode:o,shiftKey:n,charCode:0}),document.dispatchEvent(r),r=new window.KeyboardEvent("input",{bubbles:!0,key:e,keyCode:o,shiftKey:n,charCode:0}),document.dispatchEvent(r),r=new window.KeyboardEvent("change",{bubbles:!0,key:e,keyCode:o,shiftKey:n,charCode:0}),document.dispatchEvent(r),r=new window.KeyboardEvent("keyup",{bubbles:!0,key:e,keyCode:o,shiftKey:n,charCode:0}),document.dispatchEvent(r)}("theater")}});let u=[];r.forEach((t=>{u.push({label:t.name,clickHandler(t){t.target.closest(".vjs-menu").querySelectorAll(".vjs-selected").forEach((t=>{t.classList.remove("vjs-selected")}));let e=t.target.closest(".vjs-menu-item");e.classList.add("vjs-selected"),"automatic"===e.getAttribute("api")&&(d=0),te.currentTime>0&&(H=te.currentTime),gt(e.getAttribute("api"),!0)}})})),E=videojs("goodTube_player",{inactivityTimeout:3e3,controls:!0,autoplay:!1,preload:"auto",width:"100%",height:"100%",playbackRates:[.25,.5,1,1.25,1.5,1.75,2],userActions:{doubleClick:!1},html5:{vhs:{overrideNative:!0},hls:{overrideNative:!0}},controlBar:{children:["playToggle","volumePanel","currentTimeDisplay","timeDivider","durationDisplay","progressControl","playbackRateMenuButton","subsCapsButton","qualitySelector","fullscreenToggle"],NextButton:{className:"vjs-next-button"},PrevButton:{className:"vjs-prev-button"},AutoplayButton:{controlText:"Autoplay",className:"vjs-autoplay-button",myItems:[{label:"Autoplay off",clickHandler(){let t=event.target.closest(".vjs-menu");t.querySelector(".vjs-selected")?.classList.remove("vjs-selected"),event.target.closest(".vjs-menu-item").classList.add("vjs-selected"),g("goodTube_autoplay","off")}},{label:"Autoplay on",clickHandler(){let t=event.target.closest(".vjs-menu");t.querySelector(".vjs-selected")?.classList.remove("vjs-selected"),event.target.closest(".vjs-menu-item").classList.add("vjs-selected"),g("goodTube_autoplay","on")}}]},SourceButton:{controlText:"Video source",className:"vjs-source-button",myItems:u},DownloadButton:{controlText:"Download",className:"vjs-download-button",myItems:[{className:"goodTube_download_playlist_cancel",label:"CANCEL ALL DOWNLOADS",clickHandler(){!function(){if(!confirm("Are you sure you want to cancel all downloads?"))return;J=[];for(let t in N)clearTimeout(N[t]),delete N[t];Z(!0),console.log("[GoodTube] Downloads cancelled")}()}},{label:"Download video",clickHandler(){J[oe.v]=!0,K(0,"video",oe.v)}},{label:"Download audio",clickHandler(){J[oe.v]=!0,K(0,"audio",oe.v)}},{className:"goodTube_download_playlist_video",label:"Download playlist (video)",clickHandler(){Y("video")}},{className:"goodTube_download_playlist_audio",label:"Download playlist (audio)",clickHandler(){Y("audio")}}]},MiniplayerButton:{className:"vjs-miniplayer-button"},TheaterButton:{className:"vjs-theater-button"}}}),videojs.log.level("off"),videojs.hook("error",(function(t){te.getAttribute("src")&&(void 0!==n.reloadVideo&&clearTimeout(n.reloadVideo),n.reloadVideo=setTimeout((function(){!function(t){if(void 0===oe.v)return;void 0!==n.reloadVideo&&clearTimeout(n.reloadVideo);if(Tt>o)return void Jt();let e=t.src;vt(t),setTimeout((function(){t.setAttribute("src",e)}),0),Tt++}(te)}),e),mt(),V())})),E.on("ready",(function(){C=!0;let t=document.querySelector("#goodTube_player video");t&&(t.setAttribute("playsinline",""),t.setAttribute("webkit-playsinline","")),W(),B=E.hlsQualitySelector();let e=document.querySelector("#goodTube_player");if(e){let t=document.createElement("div");t.id="goodTube_miniplayer_closeButton",t.onclick=function(){Nt()},e.appendChild(t);let o=document.createElement("div");o.id="goodTube_miniplayer_expandButton",o.onclick=function(){Ut!==oe.v?window.location.href="/watch?v="+Ut+"&t="+parseFloat(te.currentTime).toFixed(0)+"s":Nt()},e.appendChild(o)}if(console.log("[GoodTube] Player loaded"),te=document.querySelector("#goodTube_player video"),ee){let t=document.createElement("div");t.id="goodTube_seekBackwards",e.append(t),t.onclick=function(){var t=(new Date).getTime()-M;t<400&&t>0?(e.classList.remove("vjs-user-active"),e.classList.add("vjs-user-inactive"),te.currentTime-=10):e.classList.contains("vjs-user-active")?(e.classList.remove("vjs-user-active"),e.classList.add("vjs-user-inactive")):(e.classList.add("vjs-user-active"),e.classList.remove("vjs-user-inactive")),M=(new Date).getTime()};let o=document.createElement("div");o.id="goodTube_seekForwards",e.append(o),o.onclick=function(){var t=(new Date).getTime()-Q;t<400&&t>0?(e.classList.remove("vjs-user-active"),e.classList.add("vjs-user-inactive"),te.currentTime+=5):e.classList.contains("vjs-user-active")?(e.classList.remove("vjs-user-active"),e.classList.add("vjs-user-inactive")):(e.classList.add("vjs-user-active"),e.classList.remove("vjs-user-inactive")),Q=(new Date).getTime()},e.addEventListener("touchstart",(function(t){z=setTimeout((function(){e.classList.remove("vjs-user-active"),e.classList.add("vjs-user-inactive"),F=te.playbackRate,te.playbackRate=2,R=!0}),1e3)})),["touchmove","touchend","touchcancel"].forEach((t=>{e.addEventListener(t,(function(t){z&&clearTimeout(z),R&&(te.playbackRate=F,R=!1)}))}))}ee||e.addEventListener("dblclick",(function(t){t.target.closest(".vjs-progress-control")||t.target.closest(".vjs-menu-button")||t.target.closest(".vjs-control")||document.querySelector(".vjs-fullscreen-control")?.click()})),ee||(e.addEventListener("mouseout",(function(t){e.classList.contains("vjs-user-active")&&!e.classList.contains("vjs-paused")&&(e.classList.remove("vjs-user-active"),e.classList.add("vjs-user-inactive"))})),e.addEventListener("mouseover",(function(t){e.classList.contains("vjs-user-inactive")&&!e.classList.contains("vjs-paused")&&(e.classList.add("vjs-user-active"),e.classList.remove("vjs-user-inactive"))})),e.addEventListener("click",(function(t){setTimeout((function(){e.classList.contains("vjs-user-inactive")&&!e.classList.contains("vjs-paused")&&(e.classList.add("vjs-user-active"),e.classList.remove("vjs-user-inactive"),window.goodTube_inactive_timeout=setTimeout((function(){e.classList.contains("vjs-user-active")&&!e.classList.contains("vjs-paused")&&(e.classList.remove("vjs-user-active"),e.classList.add("vjs-user-inactive"))}),3e3))}),1)})),e.addEventListener("mousemove",(function(t){void 0!==window.goodTube_inactive_timeout&&clearTimeout(window.goodTube_inactive_timeout)}))),document.querySelectorAll("#goodTube_player button").forEach((t=>{t.setAttribute("title","")}));let o=y("goodTube_volume");o&&o==parseFloat(o)&&pt(te,o),y("goodTube_autoplay")&&!ee||g("goodTube_autoplay","on");let n=document.querySelector(".vjs-autoplay-button");if(n){n.querySelector(".vjs-menu .vjs-selected")?.classList.remove("vjs-selected");let t=n.querySelectorAll(".vjs-menu .vjs-menu-item");"on"===y("goodTube_autoplay")?t[t.length-1].classList.add("vjs-selected"):t[0].classList.add("vjs-selected")}let i=document.querySelector(".vjs-mute-control");i&&(i.onmousedown=function(){te.muted?E.muted(!1):E.muted(!0)},i.ontouchstart=function(){te.muted?E.muted(!1):E.muted(!0)});let a=document.querySelector(".vjs-play-control");a&&(a.removeEventListener("click",ut,!1),a.addEventListener("click",ut,!1)),document.onmousedown=function(){if(!event.target.closest(".vjs-menu")&&!event.target.closest(".vjs-menu-button")){document.querySelectorAll(".vjs-menuOpen").forEach((t=>{t.classList.remove("vjs-menuOpen")}))}},document.ontouchstart=function(){if(!event.target.closest(".vjs-menu")&&!event.target.closest(".vjs-menu-button")){document.querySelectorAll(".vjs-menuOpen").forEach((t=>{t.classList.remove("vjs-menuOpen")}))}};let l=document.querySelector(".vjs-control-bar .vjs-play-control");l&&(l.onclick=function(){0===te.currentTime&&te.click()},l.ontouchstart=function(){0===te.currentTime&&te.click()});let s=document.querySelectorAll(".vjs-source-button .vjs-menu .vjs-menu-item");if(s){let t=0;s.forEach((e=>{e.setAttribute("api",r[t].url),t++}))}if(["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document){let t=document.querySelector(".vjs-download-button");t&&t.remove()}gt(y("goodTube_videoServer_withauto"),!1),V()})),document.addEventListener("keydown",(function(t){if(27==t.keyCode){document.querySelectorAll(".vjs-menuOpen").forEach((t=>{t.classList.remove("vjs-menuOpen")}))}}),!0),E.on("seeking",(function(){G=!0})),E.on("seeked",(function(){G=!1,W()})),E.on("waiting",(function(){if(I&&clearTimeout(I),O&&clearTimeout(O),!(te.currentTime<=0)&&(G||(O=setTimeout((function(){if(P++,P>=3)return I&&clearTimeout(I),O&&clearTimeout(O),console.log("[GoodTube] Video buffering too often - selecting next video source..."),P=0,H=te.currentTime,void gt("automatic",!0)}),1e3)),2===i||3===i)){let t=te.currentTime;I=setTimeout((function(){te.currentTime===t&&(I&&clearTimeout(I),O&&clearTimeout(O),console.log("[GoodTube] Video not loading fast enough - selecting next video source..."),H=te.currentTime,gt("automatic",!0))}),15e3)}})),E.on("loadedmetadata",(function(){if(te.getAttribute("src")){if(D&&clearTimeout(D),void 0!==oe.t){let t=oe.t.replace("s","");ct(te,t)}H>0&&ct(te,H),te.focus()}})),E.on("loadstart",(function(){if(te.getAttribute("src"))if(D&&clearTimeout(D),D=setTimeout((function(){console.log("[GoodTube] Video not loading fast enough - selecting next video source..."),gt("automatic",!0)}),15e3),1===i){let t="",e=document.querySelector(".vjs-quality-selector .vjs-menu .vjs-selected .vjs-menu-item-text");t=e?e.innerHTML:te.querySelector("source[selected=true]").getAttribute("label");let o=t.replace("p","").replace("hd","").replace(" ","").toLowerCase();parseFloat(xt)!==parseFloat(o)&&(wt=o,xt=o);let n=document.querySelector("#goodTube_playerWrapper");"audio"===o?n.classList.contains("goodTube_audio")||n.classList.add("goodTube_audio"):n.classList.contains("goodTube_audio")&&n.classList.remove("goodTube_audio"),Tt<=1&&console.log("[GoodTube] Loading quality "+t+"...")}else if(2===i||3===i){let t=document.querySelector("#goodTube_playerWrapper");t.classList.contains("goodTube_audio")&&t.classList.remove("goodTube_audio"),Tt<=1&&console.log("[GoodTube] Loading qualities...")}})),E.on("loadeddata",(function(){P=0,te.paused||st(te),Tt=1,void 0!==n.reloadVideo&&clearTimeout(n.reloadVideo),1===i?console.log("[GoodTube] Quality loaded"):2!==i&&3!==i||console.log("[GoodTube] Qualities loaded"),V(),bt()})),E.on("ended",(function(){W(),at()})),E.on("volumechange",(function(){let t=te.volume;te.muted&&(t=0),g("goodTube_volume",t)}))}function V(){document.querySelectorAll(".vjs-control-bar button").forEach((t=>{t.onclick=function(){document.querySelectorAll(".vjs-menuOpen").forEach((e=>{e!=t.closest("div.vjs-menu-button")&&e.classList.remove("vjs-menuOpen")}));let e=t.closest("div.vjs-menu-button");e&&(e.classList.contains("vjs-menuOpen")?e.classList.remove("vjs-menuOpen"):e.classList.add("vjs-menuOpen"))},t.ontouchstart=function(){document.querySelectorAll(".vjs-menuOpen").forEach((e=>{e!=t.closest("div.vjs-menu-button")&&e.classList.remove("vjs-menuOpen")}));let e=t.closest("div.vjs-menu-button");e&&(e.classList.contains("vjs-menuOpen")?e.classList.remove("vjs-menuOpen"):e.classList.add("vjs-menuOpen"))}}));if(document.querySelectorAll(".vjs-menu-item").forEach((t=>{((t,e)=>{let o=!1;t.addEventListener("touchstart",(function(){o=!1})),t.addEventListener("touchmove",(function(){o=!0})),t.addEventListener("touchend",(function(t){o||e(t)})),t.addEventListener("click",(function(t){e(t)}))})(t,(t=>{let e=0;ee&&(e=400),setTimeout((function(){document.querySelectorAll(".vjs-menuOpen").forEach((t=>{t.classList.remove("vjs-menuOpen")}))}),e)}))})),!ee&&!document.querySelector(".goodTube_hoverBar")){let t=document.createElement("div");t.classList.add("goodTube_hoverBar"),document.querySelector(".video-js .vjs-progress-control").appendChild(t),document.querySelector(".video-js .vjs-progress-control").addEventListener("mousemove",(function(e){window.requestAnimationFrame((function(){t.style.width=document.querySelector(".video-js .vjs-progress-control .vjs-mouse-display").style.left}))}))}}let N=[],J=[];function K(t,o,r,i,a){if(void 0===i&&(i=""),void 0===J[r])return;if(void 0===b[t])return void 0!==J[r]&&delete J[r],void 0!==i?(alert("[GoodTube] "+o.charAt(0).toUpperCase()+o.slice(1)+" - "+i+" could not be downloaded. Please try again soon."),console.log("[GoodTube] "+o.charAt(0).toUpperCase()+o.slice(1)+" - "+i+" could not be downloaded. Please try again soon.")):(alert("[GoodTube] "+o.charAt(0).toUpperCase()+o.slice(1)+" could not be downloaded. Please try again soon."),console.log("[GoodTube] "+o.charAt(0).toUpperCase()+o.slice(1)+" could not be downloaded. Please try again soon.")),void Z();X();let l=0,s=(new Date).getTime()/1e3,d=parseFloat(y("goodTube_lastDownloadTimeSeconds"));d&&(l=3-(s-d),l<0&&(l=0)),g("goodTube_lastDownloadTimeSeconds",s+l),N[r]=setTimeout((function(){""!==i?console.log("[GoodTube] Downloading "+o+" - "+i+"..."):console.log("[GoodTube] Downloading "+o+"...");let l="vp9";ee&&(l="h264"),void 0!==a&&(l=a);let s=!1;"audio"===o&&(s=!0);let d=JSON.stringify({url:"https://www.youtube.com/watch?v="+r,vCodec:l,vQuality:"max",filenamePattern:"basic",isAudioOnly:s});fetch(b[t]+"/api/json",{signal:AbortSignal.timeout(1e4),method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:d}).then((t=>t.text())).then((a=>{if(void 0!==J[r]){if(void 0!==(a=JSON.parse(a)).status&&"rate-limit"===a.status)return void 0!==n["download_"+r]&&clearTimeout(n["download_"+r]),void(n["download_"+r]=setTimeout((function(){K(t,o,r,i)}),e));if(void 0!==a.status&&"error"===a.status){let s=!1;return void 0!==a.text&&-1!==a.text.toLowerCase().indexOf("settings")?(ee||("vp9"===l?s="av1":"av1"===l&&(s="h264")),ee&&("h264"===l?s="av1":"av1"===l&&(s="vp9")),s?(void 0!==n["download_"+r]&&clearTimeout(n["download_"+r]),void(n["download_"+r]=setTimeout((function(){K(t,o,r,i,s)}),e))):(console.log("[GoodTube] Could not download "+o+" - "+i),void 0!==J[r]&&delete J[r],void setTimeout((function(){Z()}),1e3))):(void 0!==n["download_"+r]&&clearTimeout(n["download_"+r]),t++,void(n["download_"+r]=setTimeout((function(){K(t,o,r,i)}),e)))}void 0!==a.status&&void 0!==a.url&&function(t,o,r,i,a){if(void 0===J[i])return;X();let l=".mp4";"audio"===o&&(l=".mp3");ee||""===r?(window.open(t,"_self"),""!==r?console.log("[GoodTube] Downloaded "+o+" - "+r):console.log("[GoodTube] Downloaded "+o),void 0!==J[i]&&delete J[i],setTimeout((function(){Z()}),1e3)):fetch(t).then((t=>t.blob())).then((t=>{if(void 0===J[i])return;let e=URL.createObjectURL(t),n=document.createElement("a");n.style.display="none",n.href=e,n.download=r+l,document.body.appendChild(n),n.click(),window.URL.revokeObjectURL(e),n.remove(),console.log("[GoodTube] Downloaded "+o+" - "+r),void 0!==J[i]&&delete J[i],Z()})).catch((t=>{void 0!==n["download_"+i]&&clearTimeout(n["download_"+i]),a++,n["download_"+i]=setTimeout((function(){K(a,o,i,r)}),e)}))}(a.url,o,i,r,t)}})).catch((a=>{void 0!==n["download_"+r]&&clearTimeout(n["download_"+r]),t++,n["download_"+r]=setTimeout((function(){K(t,o,r,i)}),e)}))}),1e3*l)}function Y(t,e){if(void 0===e&&!confirm("Are you sure you want to download this playlist ("+t+")?\r\rYou can keep playing and downloading other videos, just don't close the tab :)"))return;void 0===e&&console.log("[GoodTube] Downloading "+t+" playlist...");let o=document.querySelectorAll("#goodTube_playlistContainer a");if(o.length<=0)return void console.log("[GoodTube] Downloading failed, could not find playlist data.");let n=0;o.forEach((e=>{let o=function(t,e){for(t=t.toString();t.length
",t.append(e)}t&&!t.classList.contains("goodTube_loading")&&t.classList.add("goodTube_loading")}function Z(t){if(Reflect.ownKeys(J).length>1)return;let e=document.querySelector(".vjs-download-button");e&&e.classList.contains("goodTube_loading")&&e.classList.remove("goodTube_loading"),g("goodTube_lastDownloadTimeSeconds",(new Date).getTime()/1e3),void 0===t&&console.log("[GoodTube] Downloads finished")}function $(){let t=document.querySelector(".goodTube_download_playlist_cancel"),e=document.querySelector(".goodTube_download_playlist_video"),o=document.querySelector(".goodTube_download_playlist_audio");t&&e&&o&&(void 0!==oe.i||void 0!==oe.index||void 0!==oe.list?(h(e),h(o)):(f(e),f(o)),Reflect.ownKeys(J).length>1?h(t):f(t))}let tt=!1,et=[],ot=!1,nt=!0;function rt(){if(void 0===oe.i&&void 0===oe.index&&void 0===oe.list)return;let t=!1,e=!1;if(ee?(t=document.querySelectorAll("ytm-playlist-panel-renderer a.compact-media-item-image"),e=document.querySelectorAll("ytm-playlist-panel-renderer .compact-media-item-headline span")):(t=document.querySelectorAll("#playlist-items > a"),e=document.querySelectorAll("#playlist-items #video-title")),t.length>0){let o=document.getElementById("goodTube_playlistContainer");o||(o=document.createElement("div"),o.setAttribute("id","goodTube_playlistContainer"),o.style.display="none",document.body.appendChild(o)),o.innerHTML="";let n=0;t.forEach((t=>{let r=document.createElement("a");r.href=t.href,r.innerHTML=e[n].innerHTML.trim(),-1!==t.href.indexOf("v="+oe.v)&&r.classList.add("goodTube_selected"),o.appendChild(r),n++}))}}function it(){let t=!1;if(void 0!==oe.i||void 0!==oe.index||void 0!==oe.list){let e=document.querySelectorAll("#goodTube_playlistContainer a"),o=!1;for(let n=e.length-1;n>=0;n--){let r=e[n];if(o){let e="/watch"+r.href.split("/watch")[1];if(ee?(t=!0,document.querySelector('ytm-playlist-panel-renderer a.compact-media-item-image[href="'+e+'"]')?.click()):(t=!0,document.querySelector('#playlist-items > a[href="'+e+'"]')?.click()),t){if(t=!0,!document.querySelector("ytm-playlist-panel-renderer")){let t=document.querySelector("ytm-playlist-panel-entry-point");return void(t&&!tt&&(tt=!0,t.click(),setTimeout(it,500)))}tt=!1,document.querySelector('ytm-playlist-panel-renderer a.compact-media-item-image[href="'+e+'"]')?.click()}}o=!!r.classList.contains("goodTube_selected")}}!t&&et[et.length-2]&&et[et.length-2]!==window.location.href&&(console.log("[GoodTube] Playing previous video..."),g("goodTube_previous","true"),window.history.go(-1))}function at(t=!1){let e=y("goodTube_autoplay"),o=!1;if(void 0!==oe.i||void 0!==oe.index||void 0!==oe.list){let t=document.querySelectorAll("#goodTube_playlistContainer a"),e=!1;t.forEach((t=>{if(e){let e="/watch"+t.href.split("/watch")[1];if(ee){if(o=!0,!document.querySelector("ytm-playlist-panel-renderer")){let t=document.querySelector("ytm-playlist-panel-entry-point");return void(t&&!tt&&(tt=!0,t.click(),setTimeout(at,500)))}tt=!1,document.querySelector('ytm-playlist-panel-renderer a.compact-media-item-image[href="'+e+'"]')?.click()}else o=!0,document.querySelector('#playlist-items > a[href="'+e+'"]')?.click();o&&console.log("[GoodTube] Playing next video in playlist...")}e=!!t.classList.contains("goodTube_selected")}))}if(!o&&("off"!==e||t)){document.getElementById("movie_player").nextVideo(),console.log("[GoodTube] Autoplaying next video...")}}function lt(){if(ot=!1,nt=!0,(Ht||Pt)&&void 0===oe.v)ot=!1,nt=!1;else if(void 0!==oe.i||void 0!==oe.index||void 0!==oe.list){let t=document.querySelectorAll("#goodTube_playlistContainer a");if(!t||!t.length)return;t[0].classList.contains("goodTube_selected")||(ot=!0)}else et[et.length-2]&&et[et.length-2]!==window.location.href&&(ot=!0);let t=document.querySelector(".vjs-prev-button");t&&(ot?h(t):f(t));let e=document.querySelector(".vjs-next-button");e&&(nt?h(e):f(e))}function st(t){t.play()}function dt(t){t.pause()}function ut(){document.querySelector(".vjs-play-control").classList.contains("vjs-playing")?st(te):dt(te)}function pt(t,e){t.volume=e}function ct(t,e){t.currentTime=e}function vt(t){!function(){let t=document.querySelector("#goodTube_error");t&&t.remove()}(),t.currentTime=0,t.setAttribute("src",""),t.pause(),zt(),document.querySelector(".vjs-vtt-thumbnail-display")?.remove();let e=E.remoteTextTracks();void 0!==e.tracks_&&e.tracks_.forEach((t=>{E.removeRemoteTextTrack(t)}));let o=document.querySelectorAll(".vjs-quality-selector");if(o&&void 0!==o[1]){let t=o[1].querySelector("ul");t&&(t.innerHTML="")}}function mt(){let t=document.getElementById("goodTube_player");t.classList.contains("vjs-loading")||t.classList.add("vjs-loading"),t.classList.contains("vjs-waiting")||t.classList.add("vjs-waiting")}function bt(){let t=document.getElementById("goodTube_player");t.classList.contains("vjs-loading")&&t.classList.remove("vjs-loading"),t.classList.contains("vjs-waiting")&&t.classList.remove("vjs-waiting")}function gt(t,e){let o=document.querySelector(".vjs-source-button .vjs-menu");if(o.querySelectorAll(".vjs-selected").forEach((t=>{t.classList.remove("vjs-selected")})),"automatic"===t){if(d++,void 0===r[d])return void Jt();i=r[d].type,a=r[d].proxy,l=r[d].url,s=r[d].name,g("goodTube_videoServer_withauto",t);let e=document.querySelector("#goodTube_playerWrapper");e.classList.contains("goodTube_automaticServer")||e.classList.add("goodTube_automaticServer");let n=o.querySelector("ul li:first-child");n.classList.contains("vjs-selected")||n.classList.add("vjs-selected")}else{r.forEach((e=>{t==e.url&&(i=e.type,a=e.proxy,l=e.url,s=e.name,g("goodTube_videoServer_withauto",t))}));let e=document.querySelector("#goodTube_playerWrapper");e.classList.contains("goodTube_automaticServer")&&e.classList.remove("goodTube_automaticServer"),d=0}o.querySelectorAll("ul li").forEach((t=>{t.getAttribute("api")==l&&t.classList.add("vjs-selected")})),e&&function(){console.log("\n-------------------------\n\n"),console.log("[GoodTube] Loading video data from "+s+"...");let t=0;ee&&(t=400);setTimeout((function(){jt=0,kt(te)}),t)}()}function yt(){if(Yt div {\n\t\t\t\tbackground: transparent !important;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper .vjs-progress-control .vjs-slider .vjs-play-progress {\n\t\t\t\tbackground: transparent;\n\t\t\t\tposition: static;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper .vjs-progress-control .vjs-slider .vjs-play-progress::before {\n\t\t\t\tcontent: '';\n\t\t\t\tbackground: #ff0000;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\tposition: static;\n\t\t\t\tdisplay: block;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper .vjs-progress-control .vjs-slider .vjs-play-progress::after {\n\t\t\t\tcontent: '';\n\t\t\t\tdisplay: block;\n\t\t\t\tfloat: right;\n\t\t\t\tbackground: #ff0000;\n\t\t\t\tborder-radius: 50%;\n\t\t\t\topacity: 0;\n\t\t\t\twidth: 13px;\n\t\t\t\theight: 13px;\n\t\t\t\tright: -7px;\n\t\t\t\ttop: -8px;\n\t\t\t\ttransition: opacity .1s linear, top .1s linear;\n\t\t\t\tposition: relative;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper .vjs-progress-control:hover .vjs-slider .vjs-play-progress::after {\n\t\t\t\topacity: 1;\n\t\t\t\ttop: -9px;\n\t\t\t}\n\n\n\t\t\t/* Without chapters */\n\t\t\t#goodTube_playerWrapper:not(.goodTube_hasChapters) .vjs-progress-control::before {\n\t\t\t\tcontent: '';\n\t\t\t\tposition: absolute;\n\t\t\t\tbottom: 3px;\n\t\t\t\tleft: 8px;\n\t\t\t\tright: 8px;\n\t\t\t\theight: 3px;\n\t\t\t\tbackground: rgba(255, 255, 255, .2);\n\t\t\t\ttransition: height .1s linear, bottom .1s linear;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper:not(.goodTube_hasChapters) .vjs-progress-control:hover::before {\n\t\t\t\theight: 5px;\n\t\t\t\tbottom: 2px;\n\t\t\t}\n\n\n\t\t\t/* With chapters */\n\t\t\t#goodTube_playerWrapper.goodTube_hasChapters .vjs-progress-control .goodTube_chapters {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 8px;\n\t\t\t\tright: 8px;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_hasChapters .vjs-progress-control .goodTube_chapters .goodTube_chapter {\n\t\t\t\theight: 100%;\n\t\t\t\tposition: absolute;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_hasChapters .vjs-progress-control .goodTube_chapters .goodTube_chapter::before {\n\t\t\t\tcontent: '';\n\t\t\t\tbackground: rgba(255, 255, 255, .2);\n\t\t\t\tposition: absolute;\n\t\t\t\tleft: 0;\n\t\t\t\tright: 2px;\n\t\t\t\tbottom: 3px;\n\t\t\t\theight: 3px;\n\t\t\t\ttransition: height .1s linear, bottom .1s linear, background .1s linear;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_hasChapters .vjs-progress-control .goodTube_chapters .goodTube_chapter.goodTube_redChapter::before {\n\t\t\t\tbackground: #ff0000 !important;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_hasChapters .vjs-progress-control .goodTube_chapters .goodTube_chapter:last-child::before {\n\t\t\t\tright: 0;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_hasChapters .vjs-progress-control:hover .goodTube_chapters .goodTube_chapter::before {\n\t\t\t\theight: 5px;\n\t\t\t\tbottom: 2px;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_hasChapters:not(.goodTube_mobile) .vjs-progress-control .goodTube_chapters .goodTube_chapter:hover::before {\n\t\t\t\theight: 9px;\n\t\t\t\tbottom: 0;\n\t\t\t\tbackground: rgba(255, 255, 255, .4);\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_hasChapters .vjs-progress-control .goodTube_markers {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\tright: 0;\n\t\t\t\tbottom: 0;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_hasChapters .vjs-progress-control .goodTube_marker {\n\t\t\t\twidth: 2px;\n\t\t\t\theight: 100%;\n\t\t\t\tposition: absolute;\n\t\t\t\tbackground: rgba(0, 0, 0, .2);\n\t\t\t\tmargin-left: -2px;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_hasChapters .vjs-progress-control .goodTube_marker.goodTube_showMarker {\n\t\t\t\tbackground: rgba(0, 0, 0, .6);\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_hasChapters .vjs-progress-control .goodTube_marker:last-child {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper .vjs-progress-control .vjs-mouse-display {\n\t\t\t\tbackground: transparent;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_hasChapters .vjs-progress-control .vjs-mouse-display .vjs-time-tooltip::before {\n\t\t\t\tcontent: attr(chapter-title);\n\t\t\t\tdisplay: block;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\tmargin-bottom: 4px;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper .vjs-progress-control .goodTube_hoverBar {\n\t\t\t\tbackground: rgba(255, 255, 255, .4);\n\t\t\t\tposition: absolute;\n\t\t\t\tbottom: 3px;\n\t\t\t\tleft: 8px;\n\t\t\t\theight: 3px;\n\t\t\t\topacity: 0;\n\t\t\t\ttransition: height .1s linear, bottom .1s linear, opacity .1s linear;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper .vjs-progress-control:hover .goodTube_hoverBar {\n\t\t\t\theight: 5px;\n\t\t\t\tbottom: 2px;\n\t\t\t\topacity: 1;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .vjs-time-control .vjs-duration-display {\n\t\t\t\twhite-space: nowrap;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .vjs-time-control .vjs-duration-display::after {\n\t\t\t\tcontent: attr(chapter-title);\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tcolor: #ffffff;\n\t\t\t\tmargin-left: 3px;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .vjs-progress-control .vjs-slider,\n\t\t\t#goodTube_playerWrapper.goodTube_mobile:not(.goodTube_hasChapters) .vjs-progress-control::before,\n\t\t\t#goodTube_playerWrapper.goodTube_mobile.goodTube_hasChapters .vjs-progress-control .goodTube_chapters,\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .vjs-progress-control .goodTube_hoverBar {\n\t\t\t\tleft: 16px;\n\t\t\t\tright: 16px;\n\t\t\t}\n\n\n\t\t\t/* Audio only view */\n\t\t\t#goodTube_playerWrapper.goodTube_audio {\n\t\t\t\tbackground: #000000;\n\t\t\t\tposition: relative;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_audio .video-js::after {\n\t\t\t\tcontent: '\\f107';\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 50%;\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translate(-50%, -50%);\n\t\t\t\tcolor: #ffffff;\n\t\t\t\tfont-family: VideoJS;\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-style: normal;\n\t\t\t\tfont-size: 148px;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\n\t\t\t@media (max-width: 768px) {\n\t\t\t\t#goodTube_playerWrapper.goodTube_audio .video-js::after {\n\t\t\t\t\tfont-size: 100px;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_mobile #goodTube_playerWrapper.goodTube_audio .video-js::after {\n\t\t\t\tfont-size: 100px;\n\t\t\t}\n\n\t\t\t/* Double tap or tap and hold elements for seeking on mobile */\n\t\t\t#goodTube_seekBackwards {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\tbottom: 48px;\n\t\t\t\tcontent: '';\n\t\t\t\twidth: 25%;\n\t\t\t}\n\n\t\t\t#goodTube_seekForwards {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tright: 0;\n\t\t\t\tbottom: 48px;\n\t\t\t\tcontent: '';\n\t\t\t\twidth: 25%;\n\t\t\t}\n\n\t\t\t/* Desktop */\n\t\t\t#goodTube_playerWrapper {\n\t\t\t\tborder-radius: 12px;\n\t\t\t\tbackground: #ffffff;\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\tz-index: 999;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\n\t\t\thtml[dark] #goodTube_playerWrapper {\n\t\t\t\tbackground: #0f0f0f;\n\t\t\t}\n\n\t\t\t/* Mobile */\n\t\t\t#goodTube_playerWrapper.goodTube_mobile {\n\t\t\t\tposition: fixed;\n\t\t\t\tbackground: #000000;\n\t\t\t\tborder-radius: 0;\n\t\t\t\tz-index: 3;\n\t\t\t}\n\n\t\t\t/* Theater mode */\n\t\t\t#goodTube_playerWrapper.goodTube_theater {\n\t\t\t\tbackground: #000000;\n\t\t\t\tborder-radius: 0;\n\t\t\t}\n\n\t\t\t/* Miniplayer */\n\t\t\t#goodTube_playerWrapper.goodTube_miniplayer {\n\t\t\t\tz-index: 999 !important;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_miniplayer .video-js {\n\t\t\t\tposition: fixed;\n\t\t\t\tbottom: 12px;\n\t\t\t\tright: 12px;\n\t\t\t\twidth: 400px;\n\t\t\t\tmax-width: calc(100% - 24px);\n\t\t\t\tmin-height: 0;\n\t\t\t\tpadding-top: 0;\n\t\t\t\tz-index: 999;\n\t\t\t\theight: auto;\n\t\t\t\tleft: auto;\n\t\t\t\taspect-ratio: 16 / 9;\n\t\t\t\ttop: auto;\n\t\t\t\toverflow: hidden;\n\t\t\t\tbackground: #000000;\n\t\t\t\tborder-radius: 12px;\n\t\t\t}\n\t\t\t#goodTube_playerWrapper.goodTube_miniplayer .video-js::before {\n\t\t\t\tcontent: none !important;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_miniplayer.goodTube_mobile .video-js {\n\t\t\t\tbottom: 60px;\n\t\t\t}\n\n\t\t\tytd-watch-flexy.goodTube_miniplayer {\n\t\t\t\tdisplay: block !important;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\tposition: fixed;\n\t\t\t\tz-index: 999;\n\t\t\t\ttop: -9999px;\n\t\t\t\tleft: -9999px;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-source-button,\n\t\t\t#goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-autoplay-button,\n\t\t\t#goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-miniplayer-button,\n\t\t\t#goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-theater-button {\n\t\t\t\tdisplay: none !important;\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js #goodTube_miniplayer_closeButton,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js #goodTube_miniplayer_expandButton {\n\t\t\t\tfont-family: VideoJS;\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-style: normal;\n\t\t\t\tcursor: pointer;\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\twidth: 48px;\n\t\t\t\theight: 48px;\n\t\t\t\tline-height: 48px;\n\t\t\t\ttext-align: center;\n\t\t\t\tz-index: 999;\n\t\t\t\tcolor: #ffffff;\n\t\t\t\topacity: 0;\n\t\t\t\ttransition: opacity .2s linear;\n\t\t\t}\n\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js #goodTube_miniplayer_closeButton::after {\n\t\t\t\tcontent: 'Close';\n\t\t\t\tright: 12px;\n\t\t\t}\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js #goodTube_miniplayer_expandButton::after {\n\t\t\t\tcontent: 'Expand';\n\t\t\t\tleft: 12px;\n\t\t\t}\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js #goodTube_miniplayer_closeButton::after,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js #goodTube_miniplayer_expandButton::after {\n\t\t\t\tposition: absolute;\n\t\t\t\tbottom: -24px;\n\t\t\t\tbackground: rgba(0, 0, 0, .75);\n\t\t\t\tborder-radius: 4px;\n\t\t\t\tfont-size: 12px;\n\t\t\t\tfont-weight: 700;\n\t\t\t\tpadding: 8px;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\topacity: 0;\n\t\t\t\ttransition: opacity .1s;\n\t\t\t\tpointer-events: none;\n\t\t\t\ttext-shadow: none !important;\n\t\t\t\tz-index: 1;\n\t\t\t\tfont-family: 'MS Shell Dlg 2', sans-serif;\n\t\t\t\tline-height: initial;\n\t\t\t}\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js #goodTube_miniplayer_closeButton:hover::after,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js #goodTube_miniplayer_expandButton:hover::after {\n\t\t\t\topacity: 1;\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js #goodTube_miniplayer_closeButton {\n\t\t\t\tright: 0;\n\t\t\t\tfont-size: 24px;\n\t\t\t}\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js #goodTube_miniplayer_closeButton::before {\n\t\t\t\tcontent: \"\\f119\";\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 50%;\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translate(-50%, -50%);\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js #goodTube_miniplayer_expandButton {\n\t\t\t\tleft: 0;\n\t\t\t\tfont-size: 18px;\n\t\t\t}\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js #goodTube_miniplayer_expandButton::before {\n\t\t\t\tcontent: \"\\f128\";\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 50%;\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translate(-50%, -50%);\n\t\t\t}\n\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js.vjs-paused:not(.vjs-user-inactive) #goodTube_miniplayer_expandButton,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js.vjs-user-active #goodTube_miniplayer_expandButton,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js.vjs-paused:not(.vjs-user-inactive) #goodTube_miniplayer_closeButton,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js.vjs-user-active #goodTube_miniplayer_closeButton {\n\t\t\t\topacity: 1;\n\t\t\t}\n\n\t\t\t/* Mobile */\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile {\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js .vjs-control.vjs-play-control,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-control.vjs-play-control {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: calc(50% - 48px);\n\t\t\t\tleft: calc(50% - 32px);\n\t\t\t\twidth: 64px;\n\t\t\t\theight: 64px;\n\t\t\t\tbackground: rgba(0, 0, 0, .3);\n\t\t\t\tborder-radius: 50%;\n\t\t\t\tmax-width: 999px !important;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t}\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js .vjs-play-control .vjs-icon-placeholder::before,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-play-control .vjs-icon-placeholder::before {\n\t\t\t\tfont-size: 44px !important;\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js .vjs-prev-button,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-prev-button {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: calc(50% - 40px);\n\t\t\t\tleft: calc(50% - 104px);\n\t\t\t\twidth: 48px;\n\t\t\t\theight: 48px;\n\t\t\t\tbackground: rgba(0, 0, 0, .3);\n\t\t\t\tborder-radius: 50%;\n\t\t\t\tmax-width: 999px !important;\n\t\t\t}\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js .vjs-prev-button .vjs-icon-placeholder::before,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-prev-button .vjs-icon-placeholder::before {\n\t\t\t\tfont-size: 32px !important;\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js .vjs-next-button,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-next-button {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: calc(50% - 40px);\n\t\t\t\tleft: calc(50% + 56px);\n\t\t\t\twidth: 48px;\n\t\t\t\theight: 48px;\n\t\t\t\tbackground: rgba(0, 0, 0, .3);\n\t\t\t\tborder-radius: 50%;\n\t\t\t\tmax-width: 999px !important;\n\t\t\t}\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js .vjs-next-button .vjs-icon-placeholder::before,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-next-button .vjs-icon-placeholder::before {\n\t\t\t\tfont-size: 32px !important;\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js .vjs-control-bar,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-control-bar {\n\t\t\t\tz-index: 1;\n\t\t\t\tposition: static;\n\t\t\t\tmargin-top: auto;\n\t\t\t\tjustify-content: space-around;\n\t\t\t}\n\n\t\t\tytd-watch-flexy:not([theater]) #primary {\n\t\t\t\tmin-width: 721px !important;\n\t\t\t}\n\n\t\t\t@media (max-width: 1100px) {\n\t\t\t\tytd-watch-flexy:not([theater]) #primary {\n\t\t\t\t\tmin-width: 636px !important;\n\t\t\t\t}\n\n\t\t\t\t#goodTube_playerWrapper:not(.goodTube_mobile):not(.goodTube_theater) .video-js .vjs-control-bar .vjs-button {\n\t\t\t\t\tzoom: .88;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@media (max-width: 1016px) {\n\t\t\t\tytd-watch-flexy:not([theater]) #primary {\n\t\t\t\t\tmin-width: 0 !important;\n\t\t\t\t}\n\n\t\t\t\t#goodTube_playerWrapper:not(.goodTube_mobile):not(.goodTube_theater) .video-js .vjs-control-bar .vjs-button {\n\t\t\t\t\tzoom: 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@media (max-width: 786px) {\n\t\t\t\t#goodTube_playerWrapper:not(.goodTube_mobile):not(.goodTube_theater) .video-js .vjs-control-bar .vjs-button {\n\t\t\t\t\tzoom: .9;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@media (max-width: 715px) {\n\t\t\t\t#goodTube_playerWrapper:not(.goodTube_mobile):not(.goodTube_theater) .video-js .vjs-control-bar .vjs-button {\n\t\t\t\t\tzoom: .85;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@media (max-width: 680px) {\n\t\t\t\t#goodTube_playerWrapper:not(.goodTube_mobile):not(.goodTube_theater) .video-js .vjs-control-bar .vjs-button {\n\t\t\t\t\tzoom: .8;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js {\n\t\t\t\tdisplay: flex;\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js .vjs-source-button,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-source-button {\n\t\t\t\tmargin-left: 0 !important;\n\t\t\t}\n\n\t\t\t@media (max-width: 480px) {\n\t\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js .vjs-source-button .vjs-menu,\n\t\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-source-button .vjs-menu {\n\t\t\t\t\tleft: auto !important;\n\t\t\t\t\ttransform: none !important;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js .vjs-loading-spinner,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js .vjs-loading-spinner {\n\t\t\t\ttop: calc(50% - 16px);\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper .video-js.vjs-loading {\n\t\t\t\tbackground: #000000;\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js::before,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js::before {\n\t\t\t\tcontent: '';\n\t\t\t\tbackground: transparent;\n\t\t\t\ttransition: background .2s ease-in-out;\n\t\t\t\tpointer-events: none;\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\tright: 0;\n\t\t\t\tbottom: 0;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js.vjs-paused::before,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js.vjs-paused::before,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js.vjs-user-active::before,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js.vjs-user-active::before {\n\t\t\t\tbackground: rgba(0,0,0,.6);\n\t\t\t}\n\n\t\t\thtml body #goodTube_playerWrapper.goodTube_mobile .video-js.vjs-user-inactive:not(.vjs-paused) .vjs-control-bar,\n\t\t\thtml body #goodTube_playerWrapper.goodTube_miniplayer .video-js.vjs-user-inactive:not(.vjs-paused) .vjs-control-bar {\n\t\t\t\tvisibility: visible;\n\t\t\t\topacity: 0;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .video-js .vjs-theater-button,\n\t\t\t#goodTube_playerWrapper.goodTube_mobile .video-js .vjs-autoplay-button {\n\t\t\t\tdisplay: none !important;\n\t\t\t}\n\n\t\t\t/* Video */\n\t\t\t#goodTube_player {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\tright: 0;\n\t\t\t\tbottom: 0;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\tbackground: transparent;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\t#goodTube_playerWrapper.goodTube_mobile #goodTube_player,\n\t\t\t#goodTube_player.vjs-loading {\n\t\t\t\tbackground: #000000;\n\t\t\t}\n\n\t\t\t#goodTube_player:focus {\n\t\t\t\toutline: 0;\n\t\t\t}\n\n\t\t\t/* Error */\n\t\t\t#goodTube_error {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 50%;\n\t\t\t\tleft: 40px;\n\t\t\t\tright: 40px;\n\t\t\t\ttransform: translateY(-50%);\n\t\t\t\ttext-align: center;\n\t\t\t\tcolor: #ffffff;\n\t\t\t\tfont-size: 20px;\n\t\t\t\tpadding: 16px;\n\t\t\t\tbackground: #000000;\n\t\t\t\tborder-radius: 8px;\n\t\t\t}\n\n\t\t\t#goodTube_error small {\n\t\t\t\tpadding-top: 8px;\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t",document.head.appendChild(t);let e=document.createElement("div");e.id="goodTube_playerWrapper",ee&&e.classList.add("goodTube_mobile"),ft(e),document.body.appendChild(e);let o=document.createElement("video");o.id="goodTube_player",o.classList.add("video-js"),o.controls=!0,o.setAttribute("tab-index","1"),e.appendChild(o),te=o,addEventListener("leavepictureinpicture",(t=>{void 0===oe.v&&dt(te),Pt=!1})),addEventListener("enterpictureinpicture",(t=>{Pt=!0})),U(),function(){let t=document.createElement("div");t.classList.add("goodTube_defaultQualityModal"),t.innerHTML="\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t
Select default quality
\n\t\t\t\t
\n\t\t\t\t\t
4320p
\n\t\t\t\t\t
2160p
\n\t\t\t\t\t
1440p
\n\t\t\t\t\t
1080p
\n\t\t\t\t\t
720p
\n\t\t\t\t\t
480p
\n\t\t\t\t\t
360p
\n\t\t\t\t\t
240p
\n\t\t\t\t\t
144p
\n\t\t\t\t\t
Auto
\n\t\t\t\t
\x3c!-- .goodTube_defaultQualityModal_inner --\x3e\n\t\t\t
\x3c!-- .goodTube_defaultQualityModal_options --\x3e\n\t\t",document.querySelector("#goodTube_playerWrapper .video-js").appendChild(t),document.querySelectorAll(".goodTube_defaultQualityModal .goodTube_defaultQualityModal_option").forEach((t=>{t.addEventListener("click",(function(){Wt(this.innerHTML.replace("p",""))}))})),document.querySelector(".goodTube_defaultQualityModal .goodTube_defaultQualityModal_overlay").addEventListener("click",(function(){let t=document.querySelector(".goodTube_defaultQualityModal");t.classList.contains("goodTube_defaultQualityModal_visible")&&t.classList.remove("goodTube_defaultQualityModal_visible")})),document.addEventListener("keydown",(function(t){if(27==t.keyCode){let t=document.querySelector(".goodTube_defaultQualityModal");t.classList.contains("goodTube_defaultQualityModal_visible")&&t.classList.remove("goodTube_defaultQualityModal_visible")}}),!0)}(),setInterval(W,1e4),ie(),setInterval(ie,100),setInterval(_,500),setInterval(rt,500),setInterval(lt,100),setInterval($,500),setInterval(Ft,100),setInterval(Vt,100),ee&&setInterval(ht,100),function(t){document.addEventListener("keydown",(function(e){if(e.ctrlKey)return;let o=e.key.toLowerCase();"mediaplaypause"!==o&&179!==e.keyCode||(t.paused?t.play():t.pause());let n=e.srcElement,r=!1,i=!1;n&&(void 0!==n.nodeName&&(r=n.nodeName.toLowerCase()),void 0!==n.getAttribute&&(i=n.getAttribute("id"))),(!n||-1===r.indexOf("input")&&-1===r.indexOf("label")&&-1===r.indexOf("select")&&-1===r.indexOf("textarea")&&-1===r.indexOf("fieldset")&&-1===r.indexOf("legend")&&-1===r.indexOf("datalist")&&-1===r.indexOf("output")&&-1===r.indexOf("option")&&-1===r.indexOf("optgroup")&&"contenteditable-root"!==i)&&(">"===o?.25==parseFloat(t.playbackRate)?t.playbackRate=.5:.5==parseFloat(t.playbackRate)?t.playbackRate=.75:.75==parseFloat(t.playbackRate)?t.playbackRate=1:1==parseFloat(t.playbackRate)?t.playbackRate=1.25:1.25==parseFloat(t.playbackRate)?t.playbackRate=1.5:1.5==parseFloat(t.playbackRate)?t.playbackRate=1.75:1.75==parseFloat(t.playbackRate)&&(t.playbackRate=2):"<"===o&&(.5==parseFloat(t.playbackRate)?t.playbackRate=.25:.75==parseFloat(t.playbackRate)?t.playbackRate=.5:1==parseFloat(t.playbackRate)?t.playbackRate=.75:1.25==parseFloat(t.playbackRate)?t.playbackRate=1:1.5==parseFloat(t.playbackRate)?t.playbackRate=1.25:1.75==parseFloat(t.playbackRate)?t.playbackRate=1.5:2==parseFloat(t.playbackRate)&&(t.playbackRate=1.75)),e.shiftKey||(n&&void 0!==n.closest&&n.closest("#goodTube_player")&&("arrowdown"===o&&(t.volume>=.05?t.volume-=.05:t.volume=0,e.preventDefault()),"arrowup"===o&&(t.volume<=.95?t.volume+=.05:t.volume=1,e.preventDefault()),"t"===o&&document.querySelector("body").focus()),"arrowleft"===o&&(t.currentTime-=5),"arrowright"===o&&(t.currentTime+=5)," "===o&&(t.paused||t.ended?t.play():t.pause()),"m"===o&&(t.muted||t.volume<=0?(t.muted=!1,t.volume<=0&&(t.volume=1)):t.muted=!0),"i"===o&&(e.stopImmediatePropagation(),Nt()),"f"===o?document.querySelector(".vjs-fullscreen-control")?.click():"j"===o?t.currentTime-=10:"l"===o?t.currentTime+=10:"home"===o?t.currentTime=0:"end"===o&&(t.currentTime+=t.duration),"0"===o?t.currentTime=0:"1"===o?t.currentTime=t.duration/100*10:"2"===o?t.currentTime=t.duration/100*20:"3"===o?t.currentTime=t.duration/100*30:"4"===o?t.currentTime=t.duration/100*40:"5"===o?t.currentTime=t.duration/100*50:"6"===o?t.currentTime=t.duration/100*60:"7"===o?t.currentTime=t.duration/100*70:"8"===o?t.currentTime=t.duration/100*80:"9"===o&&(t.currentTime=t.duration/100*90)))}),!0)}(o),ee&&pt(te,1)}function ft(t){if(void 0!==oe.v){h(t);let e=!1;if(ee){if(e=document.getElementById("player"),e&&e.offsetHeight>0){let o=e.getBoundingClientRect();t.style.top=o.top+"px",t.style.left=o.left+"px",t.style.width=e.offsetWidth+"px",t.style.height=e.offsetHeight+"px"}}else if(document.querySelector("ytd-watch-flexy[theater]")?(e=document.getElementById("full-bleed-container"),t.classList.contains("goodTube_theater")||t.classList.add("goodTube_theater")):(e=document.getElementById("player"),t.classList.contains("goodTube_theater")&&t.classList.remove("goodTube_theater")),e&&e.offsetHeight>0){let o=e.getBoundingClientRect();t.style.top=o.top+window.scrollY+"px",t.style.left=o.left+window.scrollX+"px",t.style.width=e.offsetWidth+"px",t.style.height=e.offsetHeight+"px"}if(e){document.querySelectorAll(".vjs-menu-content").forEach((t=>{t.style.maxHeight=e.offsetHeight-72+"px"}))}}else f(t);window.requestAnimationFrame((function(){ft(t)}))}function ht(){let t=document.querySelector(".vjs-current-time"),e=document.querySelector(".vjs-time-divider"),o=document.querySelector(".vjs-duration");if(t&&e&&o){let n=16,r=4;t.style.left=n+"px",e.style.left=n+t.offsetWidth+r+"px",o.style.left=n+t.offsetWidth+e.offsetWidth+r+r+"px"}}let jt=0,Tt=1,_t=!1,xt=!1,wt=!1;function kt(t){if(void 0===oe.v)return void(et=[]);if(Tt=1,void 0!==n.reloadVideo&&clearTimeout(n.reloadVideo),void 0!==n.loadVideoData&&clearTimeout(n.loadVideoData),vt(t),mt(),jt++,jt>o)return void Jt();t.querySelectorAll("source").forEach((t=>{t.remove()}));let r=!1;1===i||2===i?r=l+"/api/v1/videos/"+oe.v:3===i&&(r=l+"/streams/"+oe.v),fetch(r,{signal:AbortSignal.timeout(5e3)}).then((t=>t.text())).then((o=>{mt();let r=JSON.parse(o),s=!1,d=!1,p=!1,c=!1,v=!1,m=!1,b=!1;if(1===i?void 0===r.formatStreams?b=!0:(s=r.formatStreams,d=r.captions,p=r.storyboards,v=r.description,m=r.lengthSeconds,c=!1):2===i?void 0===r.dashUrl&&void 0===r.hlsUrl?b=!0:(s=!1,d=r.captions,p=r.storyboards,v=r.description,m=r.lengthSeconds,c=!1):3===i&&(void 0===r.hls&&void 0===r.dash?b=!0:(d=!1,p=!1,v=r.description.replace(/
/g,"\r\n").replace(/<[^>]*>?/gm,""),m=r.duration,void 0!==r.chapters&&r.chapters.length&&r.chapters.length>0&&(c=[],r.chapters.forEach((t=>{c.push({time:parseFloat(t.start),title:t.title})}))))),b)return void 0!==n.loadVideoData&&clearTimeout(n.loadVideoData),n.loadVideoData=setTimeout((function(){kt(t)}),e),void mt();if(console.log("[GoodTube] Video data loaded"),1===i){wt&&t.querySelector(".goodTube_source_"+wt)?(t.querySelector(".goodTube_source_"+wt).setAttribute("selected",!0),xt=wt):(t.querySelector(".goodTube_source_"+_t)?.setAttribute("selected",!0),xt=_t);let e=document.createElement("source");e.setAttribute("src",l+"/watch?v="+oe.v+"&raw=1&listen=1"),e.setAttribute("type","audio/mp3"),e.setAttribute("label","Audio"),e.setAttribute("video",!0),e.setAttribute("class","goodTube_source_audio"),t.appendChild(e);let o=0;_t=!1,s.forEach((e=>{let n=!1,r=!1,i=!1,s=!1;if(n=l+"/latest_version?id="+oe.v+"&itag="+e.itag,a&&(n+="&local=true"),r=e.type,i=parseFloat(e.resolution.replace("p","").replace("hd",""))+"p",s=parseFloat(e.resolution.replace("p","").replace("hd","")),n&&r&&i&&-1!==r.toLowerCase().indexOf("video")){let e=document.createElement("source");e.setAttribute("src",n),e.setAttribute("type",r),e.setAttribute("label",i),e.setAttribute("video",!0),e.setAttribute("class","goodTube_source_"+s),t.appendChild(e),(!_t||s>_t)&&(_t=s)}o++})),wt&&t.querySelector(".goodTube_source_"+wt)?(t.querySelector(".goodTube_source_"+wt).setAttribute("selected",!0),xt=wt):(t.querySelector(".goodTube_source_"+_t)?.setAttribute("selected",!0),xt=_t);let n=[];t.querySelectorAll("source[video=true]").forEach((t=>{n.push({src:t.getAttribute("src"),type:t.getAttribute("type"),label:t.getAttribute("label"),selected:t.getAttribute("selected")})})),E.src(n);let r=document.querySelectorAll(".vjs-quality-selector");2===r.length&&(r[1].style.display="none",r[0].style.display="block")}else if(2===i){let t=!1,e=!1,o="false";a&&(o="true"),void 0!==r.hlsUrl&&r.hlsUrl?(t=r.hlsUrl+"?local="+o+"&unique_res=1",e="application/x-mpegURL"):void 0!==r.dashUrl&&r.dashUrl&&(t=r.dashUrl+"?local="+o+"&unique_res=1",e="application/dash+xml"),t&&"/"===t[0]&&(t=l+t),E.src({src:t,type:e}),Lt()}else if(3===i){let t=!1,e=!1,o="false";a&&(o="true"),void 0!==r.hls&&r.hls?(t=r.hls,e="application/x-mpegURL"):void 0!==r.dash&&r.dash&&(t=r.dash,e="application/dash+xml"),t&&"/"===t[0]&&(t=l+t),E.src({src:t,type:e}),Lt()}setTimeout((function(){st(t)}),1),function(t,e){(!e||e.length>0)&&(console.log("[GoodTube] Loading subtitles..."),u=e?0:1,Rt(t,e,l))}(t,d),console.log("[GoodTube] Loading chapters..."),Qt(t,v,m,c),ee||(console.log("[GoodTube] Loading storyboard..."),Ot=!1,Dt(t,p,0))})).catch((o=>{void 0!==n.loadVideoData&&clearTimeout(n.loadVideoData),n.loadVideoData=setTimeout((function(){kt(t)}),e),mt()}))}let St=!1;function Lt(){St&&clearTimeout(St);let t=document.querySelectorAll(".vjs-quality-selector");if(!t||void 0===t[1])return St&&clearTimeout(St),void(St=setTimeout(Lt,100));if(2===t.length){t[0].style.display="none",t[1].style.display="block";let e=t[1].querySelector("ul"),o=e.querySelector("li.vjs-menu-item:first-child .vjs-menu-item-text");if(!o)return St&&clearTimeout(St),void(St=setTimeout(Lt,100));let n=o;if("Select default quality"!==o.innerHTML){n=document.createElement("li"),n.classList.add("vjs-menu-item"),n.classList.add("select-default"),n.innerHTML='\n\t\t\t\t\t\tSelect default quality\n\t\t\t\t\t\t\n\t\t\t\t\t',n.addEventListener("click",At),e.prepend(n),e.querySelectorAll("li.vjs-menu-item:not(.select-default)").forEach((t=>{t.addEventListener("click",qt),t.addEventListener("touchstart",qt)}))}let r=y("goodTube_selectDefaultNew");r||(g("goodTube_selectDefaultNew","1080"),r="1080"),Wt(r)}}function At(){let t=document.querySelector(".goodTube_defaultQualityModal");t.classList.contains("goodTube_defaultQualityModal_visible")||t.classList.add("goodTube_defaultQualityModal_visible")}function Wt(t){g("goodTube_selectDefaultNew",t);let e=document.querySelector(".goodTube_defaultQualityModal");e.classList.contains("goodTube_defaultQualityModal_visible")&&e.classList.remove("goodTube_defaultQualityModal_visible"),document.querySelector(".goodTube_defaultQualityModal_selected")?.classList.remove("goodTube_defaultQualityModal_selected"),document.querySelector("#goodTube_defaultQualityModal_option_"+t.toLowerCase())?.classList.add("goodTube_defaultQualityModal_selected");let o=!1;document.querySelectorAll(".vjs-quality-selector li.vjs-menu-item").forEach((e=>{let n=e.querySelector(".vjs-menu-item-text").innerHTML.replace("p","");("auto"===n.toLowerCase()&&"auto"===t.toLowerCase()||parseFloat(n)<=parseFloat(t)&&!o)&&(o=e)})),o&&(o.click(),"auto"===t.toLowerCase()?console.log("[GoodTube] Setting default quality to "+t[0].toUpperCase()+t.slice(1)):console.log("[GoodTube] Selecting nearest default quality to "+t+"p ("+o.querySelector(".vjs-menu-item-text").innerHTML+")"))}function qt(){let t=document.querySelectorAll(".vjs-quality-selector")[1],e=t.querySelector("li.select-default");e.classList.contains("vjs-selected")&&e.classList.remove("vjs-selected");let o=t.querySelector("li.vjs-auto-selected");o&&o.classList.remove("vjs-auto-selected")}let Et=!1,Ct=!1,Mt=!1;function Qt(t,e,o,n){zt();let r=[];if(n)r=n;else{let n=e.split("\n"),i=/(\d{0,2}:?\d{1,2}:\d{2})/g;for(let t of n){const e=t.match(i);if(e){let o=e[0],n=t.split(" ").filter((t=>!t.includes(o))).join(" ");r.push({time:o,title:n})}}if((!r.length||r.length<=0||r[0].time.split(":").reduce(((t,e)=>60*t+ +e))>0)&&(r=[]),(!r.length||r.length<=0)&&!ee){let n=Array.from(document.querySelectorAll("#panels ytd-engagement-panel-section-list-renderer:nth-child(2) #content ytd-macro-markers-list-renderer #contents ytd-macro-markers-list-item-renderer #endpoint #details"));Mt&&clearInterval(Mt);let i=JSON.stringify(document.querySelectorAll("#panels ytd-engagement-panel-section-list-renderer:nth-child(2) #content ytd-macro-markers-list-renderer #contents ytd-macro-markers-list-item-renderer #endpoint #details"));Mt=setInterval((function(){let n=JSON.stringify(document.querySelectorAll("#panels ytd-engagement-panel-section-list-renderer:nth-child(2) #content ytd-macro-markers-list-renderer #contents ytd-macro-markers-list-item-renderer #endpoint #details"));n!==i&&(i=n,Qt(t,e,o))}),1e3);let a=n.map((t=>({title:t.querySelector(".macro-markers")?.textContent,time:t.querySelector("#time")?.textContent}))).filter((t=>void 0!==t.title&&null!==t.title&&void 0!==t.time&&null!==t.time));r=[...new Map(a.map((t=>[t.time,t]))).values()]}}let i=0;r.length&&r.length>0&&(i=r[0].time,"number"!=typeof i&&(i=i.split(":").reduce(((t,e)=>60*t+ +e)))),(!r.length||r.length<=0||i>0)&&(r=[]),r.length>0?function(t,e,o){let n=document.createElement("div");n.classList.add("goodTube_chapters");let r=document.createElement("div");r.classList.add("goodTube_markers");let i=0;e.forEach((t=>{let a=document.createElement("div");a.classList.add("goodTube_chapter"),void 0!==e[i+1]&&("number"==typeof e[i+1].time?a.setAttribute("chapter-time",e[i+1].time):a.setAttribute("chapter-time",e[i+1].time.split(":").reduce(((t,e)=>60*t+ +e))));let l=document.createElement("div");l.classList.add("goodTube_marker"),void 0!==e[i+1]&&("number"==typeof e[i+1].time?l.setAttribute("marker-time",e[i+1].time):l.setAttribute("marker-time",e[i+1].time.split(":").reduce(((t,e)=>60*t+ +e)))),ee||a.addEventListener("mouseover",(function(){document.querySelector("#goodTube_playerWrapper .vjs-progress-control .vjs-mouse-display .vjs-time-tooltip")?.setAttribute("chapter-title",t.title)}));let s=0;s="number"==typeof t.time?t.time:t.time.split(":").reduce(((t,e)=>60*t+ +e));let d=s/o*100;a.style.left=d+"%";let u=o;void 0!==e[i+1]&&(u="number"==typeof e[i+1].time?e[i+1].time:e[i+1].time.split(":").reduce(((t,e)=>60*t+ +e)));let p=u/o*100;a.style.width=p-d+"%",l.style.left=p+"%",n.appendChild(a),r.appendChild(l),i++})),ee&&(Ct=setInterval((function(){let o=parseFloat(t.currentTime),n=!1;e.forEach((t=>{let e=!1;e="number"==typeof t.time?t.time:t.time.split(":").reduce(((t,e)=>60*t+ +e)),parseFloat(o)>=parseFloat(e)&&(n=t.title)})),n&&document.querySelector("#goodTube_playerWrapper .vjs-time-control .vjs-duration-display")?.setAttribute("chapter-title","ยท "+n)}),100));document.querySelector("#goodTube_playerWrapper .vjs-progress-control")?.appendChild(n),document.querySelector("#goodTube_playerWrapper .vjs-progress-control .vjs-play-progress")?.appendChild(r),document.querySelector("#goodTube_playerWrapper").classList.contains("goodTube_hasChapters")||document.querySelector("#goodTube_playerWrapper").classList.add("goodTube_hasChapters");Et=setInterval((function(){document.querySelectorAll(".goodTube_markers .goodTube_marker").forEach((e=>{e.getAttribute("marker-time")&&(parseFloat(t.currentTime)>=parseFloat(e.getAttribute("marker-time"))?e.classList.contains("goodTube_showMarker")||e.classList.add("goodTube_showMarker"):e.classList.contains("goodTube_showMarker")&&e.classList.remove("goodTube_showMarker"))})),document.querySelectorAll(".goodTube_chapters .goodTube_chapter").forEach((e=>{e.getAttribute("chapter-time")&&(parseFloat(t.currentTime)>=parseFloat(e.getAttribute("chapter-time"))?e.classList.contains("goodTube_redChapter")||e.classList.add("goodTube_redChapter"):e.classList.contains("goodTube_redChapter")&&e.classList.remove("goodTube_redChapter"))}))}),100),console.log("[GoodTube] Chapters loaded")}(t,r,o):console.log("[GoodTube] No chapters found")}function zt(){Et&&(clearInterval(Et),Et=!1),Ct&&(clearInterval(Ct),Ct=!1),Mt&&(clearInterval(Mt),Mt=!1),document.querySelector("#goodTube_playerWrapper .vjs-time-control .vjs-duration-display")?.setAttribute("chapter-title",""),document.querySelector(".goodTube_chapters")?.remove(),document.querySelector(".goodTube_markers")?.remove(),document.querySelector("#goodTube_playerWrapper").classList.contains("goodTube_hasChapters")&&document.querySelector("#goodTube_playerWrapper").classList.remove("goodTube_hasChapters")}function Rt(t,e,o){if(u>0){if(void 0===c[u-1])return void console.log("[GoodTube] Subtitles could not be loaded");o=c[u-1],fetch(o+"/api/v1/videos/"+oe.v,{signal:AbortSignal.timeout(5e3)}).then((t=>t.text())).then((e=>{let n=JSON.parse(e).captions;n&&n.length>0?fetch(o+n[0].url,{signal:AbortSignal.timeout(5e3)}).then((t=>t.text())).then((e=>{"WEBVTT"!==e.substr(0,6)?Rt(t,n,o):Bt(t,n,o)})).catch((e=>{Rt(t,n,o)})):console.log("[GoodTube] This video does not have subtitles")})).catch((n=>{Rt(t,e,o)}))}else fetch(o+e[0].url,{signal:AbortSignal.timeout(5e3)}).then((t=>t.text())).then((n=>{"WEBVTT"!==n.substr(0,6)?Rt(t,e,o):Bt(t,e,o)})).catch((n=>{Rt(t,e,o)}));u++}function Bt(t,e,o){let n=!1;e.forEach((t=>{let e=!1,r=!1;e=o+t.url,r=t.label,e&&r&&r!==n&&(n=r,r=r[0].toUpperCase()+r.slice(1),E.addRemoteTextTrack({kind:"captions",language:r,src:e},!1))})),console.log("[GoodTube] Subtitles loaded")}let It=!1,Ot=!1;function Dt(t,e,o){if(!Ot)if(void 0!==c[o])if(3===i){let n=c[o]+"/api/v1/videos/"+oe.v;fetch(n,{signal:AbortSignal.timeout(5e3)}).then((t=>t.text())).then((n=>{if(Ot)return;let r=JSON.parse(n);void 0===r.storyboards?(o++,Dt(t,e,o)):(e=r.storyboards,Gt(t,e,c[o]))})).catch((n=>{o++,Dt(t,e,o)}))}else p=0,Gt(t,e,l);else console.log("[GoodTube] Storyboard could not be loaded")}function Gt(t,e,o){if(!Ot){if(p>0){if(void 0===c[p-1])return void console.log("[GoodTube] Storyboard could not be loaded");o=c[p-1]}p++,!e.length||e.length<=0?Gt(t,e,o):fetch(o+e[0].url,{signal:AbortSignal.timeout(5e3)}).then((t=>t.text())).then((n=>{if(!Ot)if("WEBVTT"!==n.substr(0,6))Gt(t,e,o);else{let r=!1,i=!1,a=n.split("\n\n");if(a.length&&a.length>1){let t=a[1].split("\n");t.length&&t.length>1&&(i=t[1],-1!==i.indexOf("https")&&(r=!0))}r?fetch(i,{signal:AbortSignal.timeout(5e3)}).then((t=>t.text())).then((n=>{Ot||(-1===n.indexOf("{parseFloat(t.width)>r&&parseFloat(t.height)<100&&(n=t.url,r=parseFloat(t.width))})),n&&("function"==typeof E.vttThumbnails&&(It=E.vttThumbnails),E.vttThumbnails=It,E.vttThumbnails({src:o+n}),Ot=!0,console.log("[GoodTube] Storyboard loaded"))}(0,e,o):Gt(t,e,o))})).catch((n=>{Gt(t,e,o)})):Gt(t,e,o)}})).catch((n=>{Gt(t,e,o)}))}}let Pt=!1;function Ft(){Pt&&"mediaSession"in navigator&&(navigator.mediaSession.setActionHandler("play",(()=>{st(te)})),navigator.mediaSession.setActionHandler("pause",(()=>{dt(te)})),nt?navigator.mediaSession.setActionHandler("nexttrack",(()=>{at(!0)})):navigator.mediaSession.setActionHandler("nexttrack",null),ot?navigator.mediaSession.setActionHandler("previoustrack",(()=>{it()})):navigator.mediaSession.setActionHandler("previoustrack",null))}let Ht=!1,Ut=!1;function Vt(){if(Ht){if(!ee){let t=document.querySelector("ytd-watch-flexy");t&&(void 0!==oe.v?t.classList.remove("goodTube_miniplayer"):t.classList.add("goodTube_miniplayer"))}void 0!==oe.v&&(Ut=oe.v)}}function Nt(){if(document.pictureInPictureEnabled)return void(Pt?(document.exitPictureInPicture(),Pt=!1):(te.requestPictureInPicture(),Pt=!0,Ht&&Nt()));let t=document.querySelector("#goodTube_playerWrapper");Ht?(t.classList.remove("goodTube_miniplayer"),Ht=!1,void 0===oe.v&&vt(te)):(t.classList.add("goodTube_miniplayer"),Ht=!0,Ut=oe.v)}function Jt(){I&&clearTimeout(I),O&&clearTimeout(O),D&&clearTimeout(D);let t=y("goodTube_videoServer_withauto"),e=!1;if(void 0===r[d]&&(e=!0),"automatic"===t&&e){let t=document.querySelector("#goodTube_player");bt(),vt(te);let e=document.createElement("div");e.setAttribute("id","goodTube_error"),e.innerHTML="Video could not be loaded. The servers are not responding :(
Please refresh the page / try again soon!",t.appendChild(e)}else"automatic"===t?(console.log("[GoodTube] Video could not be loaded - selecting next video source..."),te.currentTime>0&&(H=te.currentTime),gt("automatic",!0)):(console.log("[GoodTube] Video could not be loaded - selecting next video source..."),te.currentTime>0&&(H=te.currentTime),d=0,gt("automatic",!0))}let Kt=[t+"/js/assets.min.js",t+"/css/assets.min.css"],Yt=0,Xt=0;function Zt(){console.log("[GoodTube] Loading player assets..."),Xt=0,$t(Kt[Yt])}function $t(t){Xt++,Xt>o?console.log("[GoodTube] Player assets could not be loaded"):fetch(t).then((t=>t.text())).then((e=>{let o=!1;-1!==t.indexOf("/js/")?o=document.createElement("script"):-1!==t.indexOf("/css/")&&(o=document.createElement("style")),o.innerHTML=e,document.head.appendChild(o),Yt++,Yt>=Kt.length?console.log("[GoodTube] Player assets loaded"):(Xt=0,$t(Kt[Yt]))})).catch((o=>{void 0!==n.loadAsset&&clearTimeout(n.loadAsset),n.loadAsset=setTimeout((function(){$t(t)}),e)}))}let te=!1,ee=!1,oe=!1,ne=!1,re=!1;function ie(){if(Yt>=Kt.length&&C){let t=ne;t&&(t=t.split("#")[0],t=t.split("index=")[0]);let e=window.location.href;if(e&&(e=e.split("#")[0],e=e.split("index=")[0]),t===e)return;if(oe=function(){let t={};if(document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g,(function(){function e(t){return decodeURIComponent(t.split("+").join(" "))}t[e(arguments[1])]=e(arguments[2])})),void 0!==t.list&&void 0===t.v){let e=document.getElementById("movie_player");if(e&&"function"==typeof e.getVideoData){let o=e.getVideoData();void 0!==o.video_id&&o.video_id&&(t.v=o.video_id)}}return t}(),void 0!==oe.v){if(console.log("\n-------------------------\n\n"),"true"===y("goodTube_previous")?(et.pop(),g("goodTube_previous","false")):et.push(window.location.href),jt=0,H=0,"automatic"===y("goodTube_videoServer_withauto")){let t=!1;void 0!==oe.list&&(t=oe.list),t&&re===t?d>0&&d--:d=0,gt("automatic",!1)}console.log("[GoodTube] Loading video data from "+s+"..."),kt(te),fetch("https://api.counterapi.dev/v1/goodtube/videos/up/")}else if(!Ht&&!Pt){vt(te),et=[];for(let t in n)n.hasOwnProperty(t)&&clearTimeout(n[t])}re=void 0!==oe.list&&oe.list,ne=window.location.href}}!function(){-1!==window.location.href.indexOf("m.youtube")&&(ee=!0);let t=y("goodTube_videoServer_withauto");t&&r.forEach((e=>{e.url===t&&(i=e.type,a=e.proxy,l=e.url,s=e.name)})),window.addEventListener("beforeunload",(t=>{g("goodTube_lastDownloadTimeSeconds",(new Date).getTime()/1e3)})),function(){let t=document.createElement("style");t.textContent="\n\t\t\tytd-shelf-renderer,\n\t\t\tytd-reel-shelf-renderer,\n\t\t\tytd-merch-shelf-renderer,\n\t\t\tytd-action-companion-ad-renderer,\n\t\t\tytd-display-ad-renderer,\n\t\t\tytd-rich-section-renderer,\n\t\t\tytd-video-masthead-ad-advertiser-info-renderer,\n\t\t\tytd-video-masthead-ad-primary-video-renderer,\n\t\t\tytd-in-feed-ad-layout-renderer,\n\t\t\tytd-ad-slot-renderer,\n\t\t\tytd-statement-banner-renderer,\n\t\t\tytd-banner-promo-renderer-background\n\t\t\tytd-ad-slot-renderer,\n\t\t\tytd-in-feed-ad-layout-renderer,\n\t\t\tytd-engagement-panel-section-list-renderer:not(.ytd-popup-container),\n\t\t\tytd-compact-video-renderer:has(.goodTube_hidden),\n\t\t\tytd-rich-item-renderer:has(> #content > ytd-ad-slot-renderer)\n\t\t\t.ytd-video-masthead-ad-v3-renderer,\n\t\t\tdiv#root.style-scope.ytd-display-ad-renderer.yt-simple-endpoint,\n\t\t\tdiv#sparkles-container.style-scope.ytd-promoted-sparkles-web-renderer,\n\t\t\tdiv#main-container.style-scope.ytd-promoted-video-renderer,\n\t\t\tdiv#player-ads.style-scope.ytd-watch-flexy,\n\n\t\t\tytm-rich-shelf-renderer,\n\t\t\tytm-shelf-renderer,\n\t\t\tytm-button-renderer.icon-avatar_logged_out,\n\t\t\tytm-companion-slot,\n\t\t\tytm-shelf-renderer,\n\t\t\tytm-reel-shelf-renderer,\n\t\t\tytm-merch-shelf-renderer,\n\t\t\tytm-action-companion-ad-renderer,\n\t\t\tytm-display-ad-renderer,\n\t\t\tytm-rich-section-renderer,\n\t\t\tytm-video-masthead-ad-advertiser-info-renderer,\n\t\t\tytm-video-masthead-ad-primary-video-renderer,\n\t\t\tytm-in-feed-ad-layout-renderer,\n\t\t\tytm-ad-slot-renderer,\n\t\t\tytm-statement-banner-renderer,\n\t\t\tytm-banner-promo-renderer-background\n\t\t\tytm-ad-slot-renderer,\n\t\t\tytm-in-feed-ad-layout-renderer,\n\t\t\tytm-compact-video-renderer:has(.goodTube_hidden),\n\t\t\tytm-rich-item-renderer:has(> #content > ytm-ad-slot-renderer)\n\t\t\t.ytm-video-masthead-ad-v3-renderer,\n\t\t\tdiv#root.style-scope.ytm-display-ad-renderer.yt-simple-endpoint,\n\t\t\tdiv#sparkles-container.style-scope.ytm-promoted-sparkles-web-renderer,\n\t\t\tdiv#main-container.style-scope.ytm-promoted-video-renderer,\n\t\t\tdiv#player-ads.style-scope.ytm-watch-flexy,\n\t\t\tytm-pivot-bar-item-renderer:has(> .pivot-shorts),\n\t\t\tytd-compact-movie-renderer,\n\n\t\t\tyt-about-this-ad-renderer,\n\t\t\tmasthead-ad,\n\t\t\tad-slot-renderer,\n\t\t\tyt-mealbar-promo-renderer,\n\t\t\tstatement-banner-style-type-compact,\n\t\t\tytm-promoted-sparkles-web-renderer,\n\t\t\ttp-yt-iron-overlay-backdrop,\n\t\t\t#masthead-ad\n\t\t\t {\n\t\t\t\tdisplay: none !important;\n\t\t\t}\n\n\t\t\t.style-scope[page-subtype='channels'] ytd-shelf-renderer,\n\t\t\t.style-scope[page-subtype='channels'] ytm-shelf-renderer {\n\t\t\t\tdisplay: block !important;\n\t\t\t}\n\t\t",document.head.appendChild(t),console.log("[GoodTube] Ads removed")}(),function(){let t=document.createElement("style");t.textContent="\n\t\t\t.goodTube_hidden {\n\t\t\t\tposition: fixed !important;\n\t\t\t\ttop: -9999px !important;\n\t\t\t\tleft: -9999px !important;\n\t\t\t\ttransform: scale(0) !important;\n\t\t\t\tpointer-events: none !important;\n\t\t\t}\n\n\t\t\t.goodTube_hiddenPlayer {\n\t\t\t\tposition: relative;\n\t\t\t\toverflow: hidden;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\t.goodTube_hiddenPlayer::before {\n\t\t\t\tcontent: '';\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\tright: 0;\n\t\t\t\tbottom: 0;\n\t\t\t\tbackground: #ffffff;\n\t\t\t\tz-index: 998;\n\t\t\t}\n\n\t\t\thtml[dark] .goodTube_hiddenPlayer::before {\n\t\t\t\tbackground: #0f0f0f;\n\t\t\t}\n\t\t",document.head.appendChild(t)}(),q(),setInterval(q,1),w(),setInterval(w,1),setInterval(x,1e3),setInterval(S,1e3),setInterval(T,100),Zt(),document.addEventListener("DOMContentLoaded",yt),"interactive"!==document.readyState&&"complete"!==document.readyState||yt(),y("goodTube_unique_new2")||(fetch("https://api.counterapi.dev/v1/goodtube/users/up/"),g("goodTube_unique_new2","true"))}()}();