From 489c36195a58b43140be76a11a52f7aaac0b2074 Mon Sep 17 00:00:00 2001 From: daksh2k Date: Wed, 11 Sep 2024 21:46:18 +0530 Subject: [PATCH] chore(full-screen): update npm dependencies to latest versions --- Extensions/full-screen/dist/fullScreen.js | 60 +- Extensions/full-screen/package.json | 24 +- package-lock.json | 1839 +++++++++++++-------- 3 files changed, 1211 insertions(+), 712 deletions(-) diff --git a/Extensions/full-screen/dist/fullScreen.js b/Extensions/full-screen/dist/fullScreen.js index a90cf16..80ffa02 100644 --- a/Extensions/full-screen/dist/fullScreen.js +++ b/Extensions/full-screen/dist/fullScreen.js @@ -1,12 +1,14 @@ -!async function(){for(;!Spicetify.React||!Spicetify.ReactDOM;)await new Promise(e=>setTimeout(e,10));(()=>{var E=Object.create,I=Object.defineProperty,L=Object.getOwnPropertyDescriptor,_=Object.getOwnPropertyNames,M=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty,e=(e,t)=>function(){return t||(0,e[_(e)[0]])((t={exports:{}}).exports,t),t.exports},t=(e,t,i)=>{i=null!=e?E(M(e)):{};var n=!t&&e&&e.__esModule?i:I(i,"default",{value:e,enumerable:!0}),a=e,r=void 0,o=void 0;if(a&&"object"==typeof a||"function"==typeof a)for(let e of _(a))R.call(n,e)||e===r||I(n,e,{get:()=>a[e],enumerable:!(o=L(a,e))||o.enumerable});return n},P=e({"external-global-plugin:react-dom"(e,t){t.exports=Spicetify.ReactDOM}}),D=e({"external-global-plugin:react"(e,t){t.exports=Spicetify.React}}),N=e({"../../node_modules/lodash.defaultsdeep/index.js"(e,t){var z="__lodash_hash_undefined__",B=9007199254740991,O="[object Arguments]",$="[object AsyncFunction]",V="[object Function]",H="[object GeneratorFunction]",q="[object Null]",j="[object Object]",F="[object Proxy]",G="[object Undefined]",U=/^\[object .+?Constructor\]$/,X=/^(?:0|[1-9]\d*)$/,i={},n=(i["[object Float32Array]"]=i["[object Float64Array]"]=i["[object Int8Array]"]=i["[object Int16Array]"]=i["[object Int32Array]"]=i["[object Uint8Array]"]=i["[object Uint8ClampedArray]"]=i["[object Uint16Array]"]=i["[object Uint32Array]"]=!0,i[O]=i["[object Array]"]=i["[object ArrayBuffer]"]=i["[object Boolean]"]=i["[object DataView]"]=i["[object Date]"]=i["[object Error]"]=i[V]=i["[object Map]"]=i["[object Number]"]=i[j]=i["[object RegExp]"]=i["[object Set]"]=i["[object String]"]=i["[object WeakMap]"]=!1,"object"==typeof global&&global&&global.Object===Object&&global),a="object"==typeof self&&self&&self.Object===Object&&self,a=n||a||Function("return this")(),e="object"==typeof e&&e&&!e.nodeType&&e,r=e&&"object"==typeof t&&t&&!t.nodeType&&t,e=r&&r.exports===e,o=e&&n.process,n=function(){try{var e=r&&r.require&&r.require("util").types;return e?e:o&&o.binding&&o.binding("util")}catch(e){}}(),n=n&&n.isTypedArray;function Y(e,t,i){switch(i.length){case 0:return e.call(t);case 1:return e.call(t,i[0]);case 2:return e.call(t,i[0],i[1]);case 3:return e.call(t,i[0],i[1],i[2])}return e.apply(t,i)}var Q,K,s=Array.prototype,l=Function.prototype,c=Object.prototype,d=a["__core-js_shared__"],k=l.toString,x=c.hasOwnProperty,W=(l=/[^.]+$/.exec(d&&d.keys&&d.keys.IE_PROTO||""))?"Symbol(src)_1."+l:"",Z=c.toString,J=k.call(Object),ee=RegExp("^"+k.call(x).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),d=e?a.Buffer:void 0,l=a.Symbol,te=a.Uint8Array,ie=d?d.allocUnsafe:void 0,ne=(Q=Object.getPrototypeOf,K=Object,function(e){return Q(K(e))}),ae=Object.create,re=c.propertyIsEnumerable,oe=s.splice,u=l?l.toStringTag:void 0,p=function(){try{var e=E(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),e=d?d.isBuffer:void 0,se=Math.max,le=Date.now,ce=E(a,"Map"),g=E(Object,"create"),de=function(e){if(!D(e))return{};if(ae)return ae(e);m.prototype=e;e=new m;return m.prototype=void 0,e};function m(){}function f(e){var t=-1,i=null==e?0:e.length;for(this.clear();++tconsole.error("SEMVER",...e):()=>{};t.exports=i}}),B=e({"../../node_modules/semver/internal/constants.js"(e,t){var i=Number.MAX_SAFE_INTEGER||9007199254740991;t.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:i,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}}),O=e({"../../node_modules/semver/internal/re.js"(e,t){var{MAX_SAFE_COMPONENT_LENGTH:i,MAX_SAFE_BUILD_LENGTH:n,MAX_LENGTH:a}=B(),r=z(),o=(e=t.exports={}).re=[],s=e.safeRe=[],l=e.src=[],c=e.t={},d=0,t="[a-zA-Z0-9-]",u=[["\\s",1],["\\d",a],[t,n]],a=(e,t,i)=>{var n=(e=>{for(var[t,i]of u)e=e.split(t+"*").join(`${t}{0,${i}}`).split(t+"+").join(`${t}{1,${i}}`);return e})(t),a=d++;r(e,a,t),c[e]=a,l[a]=t,o[a]=new RegExp(t,i?"g":void 0),s[a]=new RegExp(n,i?"g":void 0)};a("NUMERICIDENTIFIER","0|[1-9]\\d*"),a("NUMERICIDENTIFIERLOOSE","\\d+"),a("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${t}*`),a("MAINVERSION",`(${l[c.NUMERICIDENTIFIER]})\\.(${l[c.NUMERICIDENTIFIER]})\\.(${l[c.NUMERICIDENTIFIER]})`),a("MAINVERSIONLOOSE",`(${l[c.NUMERICIDENTIFIERLOOSE]})\\.(${l[c.NUMERICIDENTIFIERLOOSE]})\\.(${l[c.NUMERICIDENTIFIERLOOSE]})`),a("PRERELEASEIDENTIFIER",`(?:${l[c.NUMERICIDENTIFIER]}|${l[c.NONNUMERICIDENTIFIER]})`),a("PRERELEASEIDENTIFIERLOOSE",`(?:${l[c.NUMERICIDENTIFIERLOOSE]}|${l[c.NONNUMERICIDENTIFIER]})`),a("PRERELEASE",`(?:-(${l[c.PRERELEASEIDENTIFIER]}(?:\\.${l[c.PRERELEASEIDENTIFIER]})*))`),a("PRERELEASELOOSE",`(?:-?(${l[c.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${l[c.PRERELEASEIDENTIFIERLOOSE]})*))`),a("BUILDIDENTIFIER",t+"+"),a("BUILD",`(?:\\+(${l[c.BUILDIDENTIFIER]}(?:\\.${l[c.BUILDIDENTIFIER]})*))`),a("FULLPLAIN",`v?${l[c.MAINVERSION]}${l[c.PRERELEASE]}?${l[c.BUILD]}?`),a("FULL",`^${l[c.FULLPLAIN]}$`),a("LOOSEPLAIN",`[v=\\s]*${l[c.MAINVERSIONLOOSE]}${l[c.PRERELEASELOOSE]}?${l[c.BUILD]}?`),a("LOOSE",`^${l[c.LOOSEPLAIN]}$`),a("GTLT","((?:<|>)?=?)"),a("XRANGEIDENTIFIERLOOSE",l[c.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*"),a("XRANGEIDENTIFIER",l[c.NUMERICIDENTIFIER]+"|x|X|\\*"),a("XRANGEPLAIN",`[v=\\s]*(${l[c.XRANGEIDENTIFIER]})(?:\\.(${l[c.XRANGEIDENTIFIER]})(?:\\.(${l[c.XRANGEIDENTIFIER]})(?:${l[c.PRERELEASE]})?${l[c.BUILD]}?)?)?`),a("XRANGEPLAINLOOSE",`[v=\\s]*(${l[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[c.XRANGEIDENTIFIERLOOSE]})(?:${l[c.PRERELEASELOOSE]})?${l[c.BUILD]}?)?)?`),a("XRANGE",`^${l[c.GTLT]}\\s*${l[c.XRANGEPLAIN]}$`),a("XRANGELOOSE",`^${l[c.GTLT]}\\s*${l[c.XRANGEPLAINLOOSE]}$`),a("COERCE",`(^|[^\\d])(\\d{1,${i}})(?:\\.(\\d{1,${i}}))?(?:\\.(\\d{1,${i}}))?(?:$|[^\\d])`),a("COERCERTL",l[c.COERCE],!0),a("LONETILDE","(?:~>?)"),a("TILDETRIM",`(\\s*)${l[c.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",a("TILDE",`^${l[c.LONETILDE]}${l[c.XRANGEPLAIN]}$`),a("TILDELOOSE",`^${l[c.LONETILDE]}${l[c.XRANGEPLAINLOOSE]}$`),a("LONECARET","(?:\\^)"),a("CARETTRIM",`(\\s*)${l[c.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",a("CARET",`^${l[c.LONECARET]}${l[c.XRANGEPLAIN]}$`),a("CARETLOOSE",`^${l[c.LONECARET]}${l[c.XRANGEPLAINLOOSE]}$`),a("COMPARATORLOOSE",`^${l[c.GTLT]}\\s*(${l[c.LOOSEPLAIN]})$|^$`),a("COMPARATOR",`^${l[c.GTLT]}\\s*(${l[c.FULLPLAIN]})$|^$`),a("COMPARATORTRIM",`(\\s*)${l[c.GTLT]}\\s*(${l[c.LOOSEPLAIN]}|${l[c.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",a("HYPHENRANGE",`^\\s*(${l[c.XRANGEPLAIN]})\\s+-\\s+(${l[c.XRANGEPLAIN]})\\s*$`),a("HYPHENRANGELOOSE",`^\\s*(${l[c.XRANGEPLAINLOOSE]})\\s+-\\s+(${l[c.XRANGEPLAINLOOSE]})\\s*$`),a("STAR","(<|>)?=?\\s*\\*"),a("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),a("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),$=e({"../../node_modules/semver/internal/parse-options.js"(e,t){var i=Object.freeze({loose:!0}),n=Object.freeze({});t.exports=e=>e?"object"!=typeof e?i:e:n}}),V=e({"../../node_modules/semver/internal/identifiers.js"(e,t){var a=/^[0-9]+$/,i=(e,t)=>{var i=a.test(e),n=a.test(t);return i&&n&&(e=+e,t=+t),e===t?0:i&&!n||(!n||i)&&ei(t,e)}}}),H=e({"../../node_modules/semver/classes/semver.js"(e,t){var a=z(),{MAX_LENGTH:i,MAX_SAFE_INTEGER:n}=B(),{safeRe:r,t:o}=O(),s=$(),l=V()["compareIdentifiers"],c=class{constructor(e,t){if(t=s(t),e instanceof c){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>i)throw new TypeError(`version is longer than ${i} characters`);a("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;t=e.trim().match(t.loose?r[o.LOOSE]:r[o.FULL]);if(!t)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>n||this.major<0)throw new TypeError("Invalid major version");if(this.minor>n||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>n||this.patch<0)throw new TypeError("Invalid patch version");t[4]?this.prerelease=t[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){var t=+e;if(0<=t&&tnew n(e,i).compare(new n(t,i))}}),j=e({"../../node_modules/semver/functions/gt.js"(e,t){var n=q();t.exports=(e,t,i)=>0',TV_MODE:'',INVERT_ACTIVE:'',INVERT_INACTIVE:'',LYRICS_ACTIVE:'',LYRICS_INACTIVE:'',MINUS:'',ALBUM:`${Spicetify.SVGIcons.album}`,ARTIST:` ${Spicetify.SVGIcons.artist}`,PLAYING_ICON:``,PAUSED_ICON:``,CTX_RADIO:'',CTX_TRACK:'',CTX_QUEUE:''},Re={tv:{lyricsDisplay:!0,lyricsAlignment:"right",autoHideLyrics:!0,animationTempo:.2,progressBarDisplay:"never",playerControls:"never",trimTitle:!0,trimTitleUpNext:!0,showAlbum:"date",showAllArtists:!0,icons:!0,titleMovingIcon:!1,enableFade:!0,enableFullscreen:!0,backgroundChoice:"artist_art",extraControls:"never",upnextDisplay:!0,contextDisplay:"always",volumeDisplay:"smart",themedButtons:!0,themedIcons:!0,invertColors:"never",backAnimationTime:.4,animationSpeed:.25,upNextAnim:"sp",upnextTimeToShow:45,coloredBackChoice:"DESATURATED",staticBackChoice:"#787878",blurSize:0,backgroundBrightness:.4,showRemainingTime:!1,verticalMonitorSupport:!1,sidebarQueue:!1},def:{lyricsDisplay:!0,lyricsAlignment:"right",autoHideLyrics:!0,animationTempo:.2,progressBarDisplay:"always",playerControls:"always",trimTitle:!0,trimTitleUpNext:!0,showAlbum:"never",showAllArtists:!0,icons:!1,titleMovingIcon:!1,enableFade:!0,enableFullscreen:!0,backgroundChoice:"album_art",extraControls:"always",upnextDisplay:!0,contextDisplay:"mousemove",volumeDisplay:"smart",themedButtons:!0,themedIcons:!1,invertColors:"never",backAnimationTime:1,animationSpeed:.25,upNextAnim:"sp",upnextTimeToShow:30,coloredBackChoice:"DESATURATED",staticBackChoice:"#787878",blurSize:32,backgroundBrightness:.7,showRemainingTime:!1,verticalMonitorSupport:!0,sidebarQueue:!1},tvMode:!1,locale:"en-US",fsHideOriginal:!1,autoLaunch:"never",activationTypes:"both",buttonActivation:"both",keyActivation:"both"},Ve=["video","video-full-screen","video-full-window","video-full-screen--hide-ui","fsd-activated"],He=".main-topBar-historyButtons",qe=".main-topBar-topbarContentRight>.main-actionButtons",je=".main-nowPlayingBar-right",G=".Root__right-sidebar",Pe=n,a=[],r=class{static getToken(){return Spicetify.Platform.AuthorizationAPI._state.token.accessToken}static async getTrackInfo(e){return fetch("https://api.spotify.com/v1/tracks/"+e,{headers:{Authorization:"Bearer "+await r.getToken()}}).then(e=>e.json())}static async getAlbumInfo(e){return fetch("https://api.spotify.com/v1/albums/"+e,{headers:{Authorization:"Bearer "+await r.getToken()}}).then(e=>e.json())}static async getPlaylistInfo(e){return Spicetify.CosmosAsync.get("sp://core-playlist/v1/playlist/"+e)}static async getArtistInfo(e){return fetch(`https://api-partner.spotify.com/pathfinder/v1/query?operationName=queryArtistOverview&variables=%7B%22uri%22%3A%22spotify%3Aartist%3A${e}%22%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%22d66221ea13998b2f81883c5187d174c8646e4041d67f5b1e103bc262d447e3a0%22%7D%7D`,{headers:{Authorization:"Bearer "+await r.getToken()}}).then(e=>e.json()).then(e=>e.data.artist)}static async searchArt(e){return fetch(`https://api.spotify.com/v1/search?q="${e}"&type=artist&limit=2`,{headers:{Authorization:"Bearer "+await r.getToken()}}).then(e=>e.json())}static async colorExtractor(t){var e=a.filter(e=>e.uri===t);if(0!e)}static printNotExistings(e){e.forEach(e=>{console.error(e[0]+" not available. Report issue on GitHub or run Spicetify.test() to test."),Spicetify.showNotification(`Error initializing "fullscreen.js" extension. ${e[0]} not available. Report issue on GitHub.`,!0)}),console.log("Retries exceeded. Aborting.")}static fullScreenOn(){if(!document.fullscreenElement)return document.documentElement.requestFullscreen()}static fullScreenOff(){if(document.fullscreenElement)return document.exitFullscreen()}static fadeAnimation(e,t="fade-do"){e.classList.remove(t),e.classList.add(t),setTimeout(()=>{e.classList.remove(t)},800)}static addObserver(e,t,i){var n=document.querySelector(t);n?e.observe(n,i):setTimeout(()=>{d.addObserver(e,t,i)},2e3)}static hexToRgb(e){e=e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(e,t,i,n){return t+t+i+i+n+n});e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return e?`${parseInt(e[1],16)},${parseInt(e[2],16)},`+parseInt(e[3],16):null}static trimTitle(e){var t=e.replace(/\(.+?\)/g,"").replace(/\[.+?\]/g,"").replace(/\s-\s.+?$/,"").trim();return t||e}static async getAlbumReleaseDate(e,t){var i,e=await De.getAlbumInfo(e.replace("spotify:album:","")).catch(e=>console.error(e));return e?.release_date?(e=new Date(e.release_date),(i=new Date).setMonth(i.getMonth()-18)," • "+(t=e.toLocaleString(t,iconsole.error(e)),t=i?i.artists.items[0].id:"");var i=await De.getArtistInfo(t).catch(e=>console.error(e));return i?.visuals?.headerImage?.sources[0].url??e.image_xlarge_url}static async getNextColor(e){let t="#444444";var i=await De.colorExtractor(Spicetify.Player.data.item?.uri??"").catch(e=>console.warn(e));return t=i&&i[e]?i[e]:t}static revertPathHistory(e){Spicetify.Platform.History.push(e),Spicetify.Platform.History.entries.splice(Spicetify.Platform.History.entries.length-3,2),Spicetify.Platform.History.index=0 generic-modal > div");t&&(e?t.classList.add("transparent-bg"):t.classList.remove("transparent-bg"))}static getAvailableLanguages(e){var t={};for(const i in e)t[i]=e[i].langName;return t}static async getMainColor(e){let t,i=160;e=await De.colorExtractor(e).catch(e=>console.warn(e)),"album_art"===Ne.get("backgroundChoice")||"artist_art"===Ne.get("backgroundChoice")?(t=e?.PROMINENT?d.hexToRgb(e.PROMINENT):"0,0,0",i=260-100*Ne.get("backgroundBrightness")):"dynamic_color"===Ne.get("backgroundChoice")?t=e&&e[Ne.get("coloredBackChoice")]?d.hexToRgb(e[Ne.get("coloredBackChoice")]):d.hexToRgb("#444444"):"static_color"===Ne.get("backgroundChoice")&&(t=d.hexToRgb(Ne.get("staticBackChoice"))),e=.299*Number(t?.split(",")[0])+.587*Number(t?.split(",")[1])+.114*Number(t?.split(",")[2])>i;return[e&&.3n=e.name+" • "+e.artists[0].name);break;case Spicetify.URI.Type.SEARCH:t=Spicetify.SVGIcons["search-active"],i=e.context.search,n=`"${a.query}" in `+e.context.searchDest;break;case Spicetify.URI.Type.COLLECTION:t=Spicetify.SVGIcons["heart-active"],i=e.context.collection,n=e.context.likedSongs;break;case Spicetify.URI.Type.PLAYLIST_V2:t=Spicetify.SVGIcons.playlist,i=e.context.playlist,n=Spicetify.Player.data.context?.metadata?.context_description||"";break;case Spicetify.URI.Type.STATION:case Spicetify.URI.Type.RADIO:switch(t=Pe.CTX_RADIO,a.args[0]){case"album":i=e.context.albumRadio,await De.getAlbumInfo(a.args[1]).then(e=>n=e.name);break;case"track":i=e.context.trackRadio,await De.getTrackInfo(a.args[1]).then(e=>n=e.name+" • "+e.artists[0].name);break;case"artist":i=e.context.artistRadio,await De.getArtistInfo(a.args[1]).then(e=>n=e?.profile?.name);break;case"playlist":case"playlist-v2":i=e.context.playlistRadio,t='',await De.getPlaylistInfo("spotify:playlist:"+a.args[1]).then(e=>n=e.playlist.name);break;default:n=""}break;case Spicetify.URI.Type.PLAYLIST:t=Spicetify.SVGIcons[a.type],i=e.context.playlist,n=Spicetify.Player.data.context?.metadata.context_description||"";break;case Spicetify.URI.Type.ALBUM:t=Spicetify.SVGIcons[a.type],i=e.context.album,n=Spicetify.Player.data.context?.metadata.context_description||"";break;case Spicetify.URI.Type.ARTIST:t=Spicetify.SVGIcons[a.type],i=e.context.artist,n=Spicetify.Player.data.context?.metadata.context_description||"";break;case Spicetify.URI.Type.FOLDER:t=Spicetify.SVGIcons["playlist-folder"],i=e.context.playlistFolder;for(const r of(await Spicetify.CosmosAsync.get("sp://core-playlist/v1/rootlist",{policy:{folder:{rows:!0,link:!0,name:!0}}})).rows)if("folder"===r.type&&r.link===Spicetify.Player.data.context.uri){n=r.name;break}break;default:i=a.type,n=Spicetify.Player.data?.context?.metadata?.context_description||""}}return{ctxIcon:t,ctxSource:i,ctxName:n}}static toggleQueuePanel(e,t){const i=document.querySelector("div.main-nowPlayingBar-right > div > div.GlueDropTarget.GlueDropTarget--tracks.GlueDropTarget--local-tracks.GlueDropTarget--episodes > button"),n=document.querySelector(G);t?setTimeout(()=>{c=!!i?.classList.contains("main-genericButton-buttonActive")||(i?.click(),!1),setTimeout(()=>{n?.classList.add("fsd-queue-panel"),setTimeout(()=>{n?.classList.add("fsd-transform-animation")},100)},300)},600):(null==c||c||i?.click(),n?.style.setProperty("--queue-panel-x","1000px"),c=null,e?.classList.remove("button-active","dot-after"),n?.classList.remove("fsd-queue-panel","fsd-transform-animation"),document.body.classList.remove("fsd-queue-panel-active"))}static toggleQueue(e){var t=document.querySelector(G);document.body.classList.contains("fsd-queue-panel-active")?(t?.style.setProperty("--queue-panel-x","1000px"),e?.classList.remove("button-active","dot-after"),document.body.classList.remove("fsd-queue-panel-active")):(t?.style.setProperty("--queue-panel-x","0px"),e?.classList.add("button-active","dot-after"),document.body.classList.add("fsd-queue-panel-active"))}},ze=d;function Fe(o,s,e,t=!1){const l=Ne.get("backAnimationTime");var{innerWidth:i,innerHeight:n}=window;e.width=i,e.height=n;const c=e.getContext("2d");c.imageSmoothingEnabled=!1;e=Ne.get("blurSize"),c.filter=`brightness(${Ne.get("backgroundBrightness")}) blur(${e}px)`,i=function(e,t,i,n){i/=n,n=e/t;let a=e,r=t;i{var t,i=e-(a=void 0===a?e:a);n!==e&&(t=Math.min(i/(1e3*l),1),c.globalAlpha=1,c.drawImage(o,d,u,p,g),c.globalAlpha=Math.sin(Math.PI/2*t),c.drawImage(s,d,u,p,g),1===t)&&(r=!0),i<1e3*l&&(n=e,r||requestAnimationFrame(m))};requestAnimationFrame(m)}}var Q="#000000";async function Ge(o,e,t=!1){const s=Ne.get("backAnimationTime"),{innerWidth:l,innerHeight:c}=window,d=(e.width=l,e.height=c,e.getContext("2d"));if(!Ne.get("enableFade")||t)d.globalAlpha=1,d.fillStyle=o,d.fillRect(0,0,l,c);else{let n,a=!1,r;const u=e=>{var t,i=e-(r=void 0===r?e:r);n!==e&&(t=Math.min(i/(1e3*s),1),d.globalAlpha=1,d.fillStyle=Q,d.fillRect(0,0,l,c),d.globalAlpha=Math.sin(Math.PI/2*t),d.fillStyle=o,d.fillRect(0,0,l,c),1===t)&&(a=!0),i<1e3*s?(n=e,a||requestAnimationFrame(u)):Q=o};requestAnimationFrame(u)}}var Ue=!1,Xe=e=>{Ue=e},Ye=Ne.get("animationSpeed");performance.now(),document.createElement("canvas");function K(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var u=K();function W(e){u=e}var Z=/[&<>"']/,J=new RegExp(Z.source,"g"),ee=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,te=new RegExp(ee.source,"g"),ie={"&":"&","<":"<",">":">",'"':""","'":"'"},ne=e=>ie[e];function p(e,t){if(t){if(Z.test(e))return e.replace(J,ne)}else if(ee.test(e))return e.replace(te,ne);return e}var ae=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function re(e){return e.replace(ae,(e,t)=>"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):"")}var oe=/(^|[^\[])\^/g;function g(i,e){i="string"==typeof i?i:i.source,e=e||"";const n={replace:(e,t)=>(t=(t="object"==typeof t&&"source"in t?t.source:t).replace(oe,"$1"),i=i.replace(e,t),n),getRegex:()=>new RegExp(i,e)};return n}function se(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch(e){return null}return e}n={exec:()=>null};function le(e,t){var i=e.replace(/\|/g,(e,t,i)=>{let n=!1,a=t;for(;0<=--a&&"\\"===i[a];)n=!n;return n?"|":" |"}).split(/ \|/);let n=0;if(i[0].trim()||i.shift(),0t)i.splice(t);else for(;i.length{var t=e.match(/^\s+/);return null!==t&&([t]=t,t.length>=i.length)?e.slice(i.length):e}).join("\n")}var k=class{options;rules;lexer;constructor(e){this.options=e||u}space(e){e=this.rules.block.newline.exec(e);if(e&&0[ \t]?/gm,""),"\n"),i=this.lexer.state.top,this.lexer.state.top=!0,n=this.lexer.blockTokens(t),this.lexer.state.top=i,{type:"blockquote",raw:e[0],tokens:n,text:t}}list(d){let u=this.rules.block.list.exec(d);if(u){let e=u[1].trim();var t,i=1" ".repeat(3*e.length)),i=d.split("\n",1)[0],n=0,a=(this.options.pedantic?(n=2,l=t.trimStart()):(n=4<(n=u[2].search(/[^ ]/))?1:n,l=t.slice(n),n+=u[1].length),!1);if(!t&&/^ *$/.test(i)&&(s+=i+"\n",d=d.substring(i.length+1),e=!0),!e)for(var m=new RegExp(`^ {0,${Math.min(3,n-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),f=new RegExp(`^ {0,${Math.min(3,n-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),h=new RegExp(`^ {0,${Math.min(3,n-1)}}(?:\`\`\`|~~~)`),y=new RegExp(`^ {0,${Math.min(3,n-1)}}#`);d;){var b=d.split("\n",1)[0];if(i=b,this.options.pedantic&&(i=i.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),h.test(i))break;if(y.test(i))break;if(m.test(i))break;if(f.test(d))break;if(i.search(/[^ ]/)>=n||!i.trim())l+="\n"+i.slice(n);else{if(a)break;if(4<=t.search(/[^ ]/))break;if(h.test(t))break;if(y.test(t))break;if(f.test(t))break;l+="\n"+i}a||i.trim()||(a=!0),s+=b+"\n",d=d.substring(b.length+1),t=i.slice(n)}p.loose||(c?p.loose=!0:/\n *\n *$/.test(s)&&(c=!0));let r=null,o;this.options.gfm&&(r=/^\[[ xX]\] /.exec(l))&&(o="[ ] "!==r[0],l=l.replace(/^\[[ xX]\] +/,"")),p.items.push({type:"list_item",raw:s,task:!!r,checked:o,loose:!1,text:l,tokens:[]}),p.raw+=s}p.items[p.items.length-1].raw=s.trimEnd(),p.items[p.items.length-1].text=l.trimEnd(),p.raw=p.raw.trimEnd();for(let e=0;e"space"===e.type)).length&&t.some(e=>/\n.*\n/.test(e.raw)),p.loose=t);if(p.loose)for(let e=0;e$/,"$1").replace(this.rules.inline._escapes,"$1"):"",n=e[3]&&e[3].substring(1,e[3].length-1).replace(this.rules.inline._escapes,"$1"),{type:"def",tag:t,raw:e[0],href:i,title:n}}table(e){e=this.rules.block.table.exec(e);if(e&&/[:|]/.test(e[2])){var r={type:"table",raw:e[0],header:le(e[1]).map(e=>({text:e,tokens:[]})),align:e[2].replace(/^\||\| *$/g,"").split("|"),rows:e[3]&&e[3].trim()?e[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(r.header.length===r.align.length){let e=r.align.length,t,i,n,a;for(t=0;t({text:e,tokens:[]}));for(e=r.header.length,i=0;i/i.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(i){i=this.rules.inline.link.exec(i);if(i){var n=i[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;var a=m(n.slice(0,-1),"\\");if((n.length-a.length)%2==0)return}else{var r,a=ce(i[2],"()");-1$/.test(n)?e.slice(1):e.slice(1,-1):e)&&e.replace(this.rules.inline._escapes,"$1"),title:t&&t.replace(this.rules.inline._escapes,"$1")},i[0],this.lexer)}}reflink(t,i){let n;if(n=(n=this.rules.inline.reflink.exec(t))||this.rules.inline.nolink.exec(t)){let e=(n[2]||n[1]).replace(/\s+/g," ");return(e=i[e.toLowerCase()])?de(n,e,n[0],this.lexer):{type:"text",raw:t=n[0].charAt(0),text:t}}}emStrong(a,r,e=""){let o=this.rules.inline.emStrong.lDelim.exec(a);if(o&&((!o[3]||!e.match(/[\p{L}\p{N}]/u))&&(!(o[1]||o[2]||"")||!e||this.rules.inline.punctuation.exec(e)))){var s=[...o[0]].length-1;let e,t,i=s,n=0;var l,c,d="*"===o[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(d.lastIndex=0,r=r.slice(-1*a.length+s);null!=(o=d.exec(r));)if(e=o[1]||o[2]||o[3]||o[4]||o[5]||o[6])if(t=[...e].length,o[3]||o[4])i+=t;else if((o[5]||o[6])&&s%3&&!((s+t)%3))n+=t;else if(!(0<(i-=t)))return t=Math.min(t,t+i+n),l=[...o[0]][0].length,l=a.slice(0,s+o.index+l+t),Math.min(s,t)%2?(c=l.slice(1,-1),{type:"em",raw:l,text:c,tokens:this.lexer.inlineTokens(c)}):(c=l.slice(2,-2),{type:"strong",raw:l,text:c,tokens:this.lexer.inlineTokens(c)})}}codespan(t){t=this.rules.inline.code.exec(t);if(t){let e=t[2].replace(/\n/g," ");var i=/[^ ]/.test(e),n=/^ /.test(e)&&/ $/.test(e);return e=p(e=i&&n?e.substring(1,e.length-1):e,!0),{type:"codespan",raw:t[0],text:e}}}br(e){e=this.rules.inline.br.exec(e);if(e)return{type:"br",raw:e[0]}}del(e){e=this.rules.inline.del.exec(e);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(i){i=this.rules.inline.autolink.exec(i);if(i){let e,t;return t="@"===i[2]?"mailto:"+(e=p(i[1])):e=p(i[1]),{type:"link",raw:i[0],text:e,href:t,tokens:[{type:"text",raw:e,text:e}]}}}url(e){var i,n;if(i=this.rules.inline.url.exec(e)){let e,t;if("@"===i[2])e=p(i[0]),t="mailto:"+e;else{for(;n=i[0],i[0]=this.rules.inline._backpedal.exec(i[0])[0],n!==i[0];);e=p(i[0]),t="www."===i[1]?"http://"+i[0]:i[0]}return{type:"link",raw:i[0],text:e,href:t,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(t){t=this.rules.inline.text.exec(t);if(t){let e;return e=this.lexer.state.inRawBlock?t[0]:p(t[0]),{type:"text",raw:t[0],text:e}}}},f={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:n,lheading:/^(?!bull )((?:.|\n(?!\s*?\n|bull ))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/},h=(f.def=g(f.def).replace("label",f._label).replace("title",f._title).getRegex(),f.bullet=/(?:[*+-]|\d{1,9}[.)])/,f.listItemStart=g(/^( *)(bull) */).replace("bull",f.bullet).getRegex(),f.list=g(f.list).replace(/bull/g,f.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+f.def.source+")").getRegex(),f._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",f._comment=/|$)/,f.html=g(f.html,"i").replace("comment",f._comment).replace("tag",f._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),f.lheading=g(f.lheading).replace(/bull/g,f.bullet).getRegex(),f.paragraph=g(f._paragraph).replace("hr",f.hr).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",f._tag).getRegex(),f.blockquote=g(f.blockquote).replace("paragraph",f.paragraph).getRegex(),f.normal={...f},f.gfm={...f.normal,table:"^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"},f.gfm.table=g(f.gfm.table).replace("hr",f.hr).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",f._tag).getRegex(),f.gfm.paragraph=g(f._paragraph).replace("hr",f.hr).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",f.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",f._tag).getRegex(),f.pedantic={...f.normal,html:g(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",f._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:n,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:g(f.normal._paragraph).replace("hr",f.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",f.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()},{escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:n,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,rDelimAst:/^[^_*]*?__[^_*]*?\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\*)[punct](\*+)(?=[\s]|$)|[^punct\s](\*+)(?!\*)(?=[punct\s]|$)|(?!\*)[punct\s](\*+)(?=[^punct\s])|[\s](\*+)(?!\*)(?=[punct])|(?!\*)[punct](\*+)(?!\*)(?=[punct])|[^punct\s](\*+)(?=[^punct\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\s]|$)|[^punct\s](_+)(?!_)(?=[punct\s]|$)|(?!_)[punct\s](_+)(?=[^punct\s])|[\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:n,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`^|~"}),y=(h.punctuation=g(h.punctuation,"u").replace(/punctuation/g,h._punctuation).getRegex(),h.blockSkip=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,h.anyPunctuation=/\\[punct]/g,h._escapes=/\\([punct])/g,h._comment=g(f._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),h.emStrong.lDelim=g(h.emStrong.lDelim,"u").replace(/punct/g,h._punctuation).getRegex(),h.emStrong.rDelimAst=g(h.emStrong.rDelimAst,"gu").replace(/punct/g,h._punctuation).getRegex(),h.emStrong.rDelimUnd=g(h.emStrong.rDelimUnd,"gu").replace(/punct/g,h._punctuation).getRegex(),h.anyPunctuation=g(h.anyPunctuation,"gu").replace(/punct/g,h._punctuation).getRegex(),h._escapes=g(h._escapes,"gu").replace(/punct/g,h._punctuation).getRegex(),h._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,h._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,h.autolink=g(h.autolink).replace("scheme",h._scheme).replace("email",h._email).getRegex(),h._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,h.tag=g(h.tag).replace("comment",h._comment).replace("attribute",h._attribute).getRegex(),h._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,h._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,h._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,h.link=g(h.link).replace("label",h._label).replace("href",h._href).replace("title",h._title).getRegex(),h.reflink=g(h.reflink).replace("label",h._label).replace("ref",f._label).getRegex(),h.nolink=g(h.nolink).replace("ref",f._label).getRegex(),h.reflinkSearch=g(h.reflinkSearch,"g").replace("reflink",h.reflink).replace("nolink",h.nolink).getRegex(),h.normal={...h},h.pedantic={...h.normal,strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:g(/^!?\[(label)\]\((.*?)\)/).replace("label",h._label).getRegex(),reflink:g(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",h._label).getRegex()},h.gfm={...h.normal,escape:g(h.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\t+" ".repeat(i.length));let i,e,a,r;for(;n;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(e=>!!(i=e.call({lexer:this},n,t))&&(n=n.substring(i.raw.length),t.push(i),!0))))if(i=this.tokenizer.space(n))n=n.substring(i.raw.length),1===i.raw.length&&0{"number"==typeof(i=e.call({lexer:this},s))&&0<=i&&(t=Math.min(t,i))}),t<1/0&&0<=t&&(a=n.substring(0,t+1))}if(this.state.top&&(i=this.tokenizer.paragraph(a)))e=t[t.length-1],r&&"paragraph"===e.type?(e.raw+="\n"+i.raw,e.text+="\n"+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=e.text):t.push(i),r=a.length!==n.length,n=n.substring(i.raw.length);else if(i=this.tokenizer.text(n))n=n.substring(i.raw.length),(e=t[t.length-1])&&"text"===e.type?(e.raw+="\n"+i.raw,e.text+="\n"+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=e.text):t.push(i);else if(n){var o="Infinite loop on byte: "+n.charCodeAt(0);if(this.options.silent){console.error(o);break}throw new Error(o)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(n,t=[]){let i,e,a,r=n,o,s,l;if(this.tokens.links){var c=Object.keys(this.tokens.links);if(0!!(i=e.call({lexer:this},n,t))&&(n=n.substring(i.raw.length),t.push(i),!0))))if(i=this.tokenizer.escape(n))n=n.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.tag(n))n=n.substring(i.raw.length),(e=t[t.length-1])&&"text"===i.type&&"text"===e.type?(e.raw+=i.raw,e.text+=i.text):t.push(i);else if(i=this.tokenizer.link(n))n=n.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.reflink(n,this.tokens.links))n=n.substring(i.raw.length),(e=t[t.length-1])&&"text"===i.type&&"text"===e.type?(e.raw+=i.raw,e.text+=i.text):t.push(i);else if(i=this.tokenizer.emStrong(n,r,l))n=n.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.codespan(n))n=n.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.br(n))n=n.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.del(n))n=n.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.autolink(n))n=n.substring(i.raw.length),t.push(i);else if(!this.state.inLink&&(i=this.tokenizer.url(n)))n=n.substring(i.raw.length),t.push(i);else{if(a=n,this.options.extensions&&this.options.extensions.startInline){let t=1/0;const u=n.slice(1);let i;this.options.extensions.startInline.forEach(e=>{"number"==typeof(i=e.call({lexer:this},u))&&0<=i&&(t=Math.min(t,i))}),t<1/0&&0<=t&&(a=n.substring(0,t+1))}if(i=this.tokenizer.inlineText(a))n=n.substring(i.raw.length),"_"!==i.raw.slice(-1)&&(l=i.raw.slice(-1)),s=!0,(e=t[t.length-1])&&"text"===e.type?(e.raw+=i.raw,e.text+=i.text):t.push(i);else if(n){var d="Infinite loop on byte: "+n.charCodeAt(0);if(this.options.silent){console.error(d);break}throw new Error(d)}}return t}}),pe=class{options;constructor(e){this.options=e||u}code(e,t,i){t=(t||"").match(/^\S*/)?.[0];return e=e.replace(/\n$/,"")+"\n",t?'
'+(i?e:p(e,!0))+"
\n":"
"+(i?e:p(e,!0))+"
\n"}blockquote(e){return`
-${e}
-`}html(e,t){return e}heading(e,t,i){return`${e} -`}hr(){return"
\n"}list(e,t,i){var n=t?"ol":"ul";return"<"+n+(t&&1!==i?' start="'+i+'"':"")+">\n"+e+"\n"}listitem(e,t,i){return`
  • ${e}
  • -`}checkbox(e){return"'}paragraph(e){return`

    ${e}

    -`}table(e,t){return"\n\n"+e+"\n"+(t=t&&`${t}`)+"
    \n"}tablerow(e){return` +!async function(){for(;!Spicetify.React||!Spicetify.ReactDOM;)await new Promise(e=>setTimeout(e,10));(()=>{var I=Object.create,M=Object.defineProperty,R=Object.getOwnPropertyDescriptor,P=Object.getOwnPropertyNames,_=Object.getPrototypeOf,N=Object.prototype.hasOwnProperty,e=(e,t)=>function(){return t||(0,e[P(e)[0]])((t={exports:{}}).exports,t),t.exports},t=(e,t,i)=>{i=null!=e?I(_(e)):{};var n=!t&&e&&e.__esModule?i:M(i,"default",{value:e,enumerable:!0}),a=e,r=void 0,o=void 0;if(a&&"object"==typeof a||"function"==typeof a)for(let e of P(a))N.call(n,e)||e===r||M(n,e,{get:()=>a[e],enumerable:!(o=R(a,e))||o.enumerable});return n},D=e({"external-global-plugin:react-dom"(e,t){t.exports=Spicetify.ReactDOM}}),z=e({"external-global-plugin:react"(e,t){t.exports=Spicetify.React}}),B=e({"../../node_modules/lodash.defaultsdeep/index.js"(e,t){var z="__lodash_hash_undefined__",B=9007199254740991,O="[object Arguments]",$="[object AsyncFunction]",V="[object Function]",H="[object GeneratorFunction]",q="[object Null]",j="[object Object]",F="[object Proxy]",G="[object Undefined]",U=/^\[object .+?Constructor\]$/,X=/^(?:0|[1-9]\d*)$/,i={},n=(i["[object Float32Array]"]=i["[object Float64Array]"]=i["[object Int8Array]"]=i["[object Int16Array]"]=i["[object Int32Array]"]=i["[object Uint8Array]"]=i["[object Uint8ClampedArray]"]=i["[object Uint16Array]"]=i["[object Uint32Array]"]=!0,i[O]=i["[object Array]"]=i["[object ArrayBuffer]"]=i["[object Boolean]"]=i["[object DataView]"]=i["[object Date]"]=i["[object Error]"]=i[V]=i["[object Map]"]=i["[object Number]"]=i[j]=i["[object RegExp]"]=i["[object Set]"]=i["[object String]"]=i["[object WeakMap]"]=!1,"object"==typeof global&&global&&global.Object===Object&&global),a="object"==typeof self&&self&&self.Object===Object&&self,a=n||a||Function("return this")(),e="object"==typeof e&&e&&!e.nodeType&&e,r=e&&"object"==typeof t&&t&&!t.nodeType&&t,e=r&&r.exports===e,o=e&&n.process,n=function(){try{var e=r&&r.require&&r.require("util").types;return e?e:o&&o.binding&&o.binding("util")}catch(e){}}(),n=n&&n.isTypedArray;function Y(e,t,i){switch(i.length){case 0:return e.call(t);case 1:return e.call(t,i[0]);case 2:return e.call(t,i[0],i[1]);case 3:return e.call(t,i[0],i[1],i[2])}return e.apply(t,i)}var Q,K,s=Array.prototype,l=Function.prototype,c=Object.prototype,d=a["__core-js_shared__"],k=l.toString,x=c.hasOwnProperty,W=(l=/[^.]+$/.exec(d&&d.keys&&d.keys.IE_PROTO||""))?"Symbol(src)_1."+l:"",Z=c.toString,J=k.call(Object),ee=RegExp("^"+k.call(x).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),d=e?a.Buffer:void 0,l=a.Symbol,te=a.Uint8Array,ie=d?d.allocUnsafe:void 0,ne=(Q=Object.getPrototypeOf,K=Object,function(e){return Q(K(e))}),ae=Object.create,re=c.propertyIsEnumerable,oe=s.splice,u=l?l.toStringTag:void 0,p=function(){try{var e=E(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),e=d?d.isBuffer:void 0,se=Math.max,le=Date.now,ce=E(a,"Map"),g=E(Object,"create"),de=function(e){if(!N(e))return{};if(ae)return ae(e);m.prototype=e;e=new m;return m.prototype=void 0,e};function m(){}function f(e){var t=-1,i=null==e?0:e.length;for(this.clear();++tconsole.error("SEMVER",...e):()=>{};t.exports=i}}),$=e({"../../node_modules/semver/internal/constants.js"(e,t){var i=Number.MAX_SAFE_INTEGER||9007199254740991;t.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:i,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}}),V=e({"../../node_modules/semver/internal/re.js"(e,t){var{MAX_SAFE_COMPONENT_LENGTH:i,MAX_SAFE_BUILD_LENGTH:n,MAX_LENGTH:a}=$(),r=O(),o=(e=t.exports={}).re=[],s=e.safeRe=[],l=e.src=[],c=e.t={},d=0,t="[a-zA-Z0-9-]",u=[["\\s",1],["\\d",a],[t,n]],a=(e,t,i)=>{var n=(e=>{for(var[t,i]of u)e=e.split(t+"*").join(`${t}{0,${i}}`).split(t+"+").join(`${t}{1,${i}}`);return e})(t),a=d++;r(e,a,t),c[e]=a,l[a]=t,o[a]=new RegExp(t,i?"g":void 0),s[a]=new RegExp(n,i?"g":void 0)};a("NUMERICIDENTIFIER","0|[1-9]\\d*"),a("NUMERICIDENTIFIERLOOSE","\\d+"),a("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${t}*`),a("MAINVERSION",`(${l[c.NUMERICIDENTIFIER]})\\.(${l[c.NUMERICIDENTIFIER]})\\.(${l[c.NUMERICIDENTIFIER]})`),a("MAINVERSIONLOOSE",`(${l[c.NUMERICIDENTIFIERLOOSE]})\\.(${l[c.NUMERICIDENTIFIERLOOSE]})\\.(${l[c.NUMERICIDENTIFIERLOOSE]})`),a("PRERELEASEIDENTIFIER",`(?:${l[c.NUMERICIDENTIFIER]}|${l[c.NONNUMERICIDENTIFIER]})`),a("PRERELEASEIDENTIFIERLOOSE",`(?:${l[c.NUMERICIDENTIFIERLOOSE]}|${l[c.NONNUMERICIDENTIFIER]})`),a("PRERELEASE",`(?:-(${l[c.PRERELEASEIDENTIFIER]}(?:\\.${l[c.PRERELEASEIDENTIFIER]})*))`),a("PRERELEASELOOSE",`(?:-?(${l[c.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${l[c.PRERELEASEIDENTIFIERLOOSE]})*))`),a("BUILDIDENTIFIER",t+"+"),a("BUILD",`(?:\\+(${l[c.BUILDIDENTIFIER]}(?:\\.${l[c.BUILDIDENTIFIER]})*))`),a("FULLPLAIN",`v?${l[c.MAINVERSION]}${l[c.PRERELEASE]}?${l[c.BUILD]}?`),a("FULL",`^${l[c.FULLPLAIN]}$`),a("LOOSEPLAIN",`[v=\\s]*${l[c.MAINVERSIONLOOSE]}${l[c.PRERELEASELOOSE]}?${l[c.BUILD]}?`),a("LOOSE",`^${l[c.LOOSEPLAIN]}$`),a("GTLT","((?:<|>)?=?)"),a("XRANGEIDENTIFIERLOOSE",l[c.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*"),a("XRANGEIDENTIFIER",l[c.NUMERICIDENTIFIER]+"|x|X|\\*"),a("XRANGEPLAIN",`[v=\\s]*(${l[c.XRANGEIDENTIFIER]})(?:\\.(${l[c.XRANGEIDENTIFIER]})(?:\\.(${l[c.XRANGEIDENTIFIER]})(?:${l[c.PRERELEASE]})?${l[c.BUILD]}?)?)?`),a("XRANGEPLAINLOOSE",`[v=\\s]*(${l[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[c.XRANGEIDENTIFIERLOOSE]})(?:${l[c.PRERELEASELOOSE]})?${l[c.BUILD]}?)?)?`),a("XRANGE",`^${l[c.GTLT]}\\s*${l[c.XRANGEPLAIN]}$`),a("XRANGELOOSE",`^${l[c.GTLT]}\\s*${l[c.XRANGEPLAINLOOSE]}$`),a("COERCEPLAIN",`(^|[^\\d])(\\d{1,${i}})(?:\\.(\\d{1,${i}}))?(?:\\.(\\d{1,${i}}))?`),a("COERCE",l[c.COERCEPLAIN]+"(?:$|[^\\d])"),a("COERCEFULL",l[c.COERCEPLAIN]+`(?:${l[c.PRERELEASE]})?(?:${l[c.BUILD]})?(?:$|[^\\d])`),a("COERCERTL",l[c.COERCE],!0),a("COERCERTLFULL",l[c.COERCEFULL],!0),a("LONETILDE","(?:~>?)"),a("TILDETRIM",`(\\s*)${l[c.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",a("TILDE",`^${l[c.LONETILDE]}${l[c.XRANGEPLAIN]}$`),a("TILDELOOSE",`^${l[c.LONETILDE]}${l[c.XRANGEPLAINLOOSE]}$`),a("LONECARET","(?:\\^)"),a("CARETTRIM",`(\\s*)${l[c.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",a("CARET",`^${l[c.LONECARET]}${l[c.XRANGEPLAIN]}$`),a("CARETLOOSE",`^${l[c.LONECARET]}${l[c.XRANGEPLAINLOOSE]}$`),a("COMPARATORLOOSE",`^${l[c.GTLT]}\\s*(${l[c.LOOSEPLAIN]})$|^$`),a("COMPARATOR",`^${l[c.GTLT]}\\s*(${l[c.FULLPLAIN]})$|^$`),a("COMPARATORTRIM",`(\\s*)${l[c.GTLT]}\\s*(${l[c.LOOSEPLAIN]}|${l[c.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",a("HYPHENRANGE",`^\\s*(${l[c.XRANGEPLAIN]})\\s+-\\s+(${l[c.XRANGEPLAIN]})\\s*$`),a("HYPHENRANGELOOSE",`^\\s*(${l[c.XRANGEPLAINLOOSE]})\\s+-\\s+(${l[c.XRANGEPLAINLOOSE]})\\s*$`),a("STAR","(<|>)?=?\\s*\\*"),a("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),a("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),H=e({"../../node_modules/semver/internal/parse-options.js"(e,t){var i=Object.freeze({loose:!0}),n=Object.freeze({});t.exports=e=>e?"object"!=typeof e?i:e:n}}),q=e({"../../node_modules/semver/internal/identifiers.js"(e,t){var a=/^[0-9]+$/,i=(e,t)=>{var i=a.test(e),n=a.test(t);return i&&n&&(e=+e,t=+t),e===t?0:i&&!n||(!n||i)&&ei(t,e)}}}),j=e({"../../node_modules/semver/classes/semver.js"(e,t){var a=O(),{MAX_LENGTH:i,MAX_SAFE_INTEGER:n}=$(),{safeRe:r,t:o}=V(),s=H(),l=q()["compareIdentifiers"],c=class{constructor(e,t){if(t=s(t),e instanceof c){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>i)throw new TypeError(`version is longer than ${i} characters`);a("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;t=e.trim().match(t.loose?r[o.LOOSE]:r[o.FULL]);if(!t)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>n||this.major<0)throw new TypeError("Invalid major version");if(this.minor>n||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>n||this.patch<0)throw new TypeError("Invalid patch version");t[4]?this.prerelease=t[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){var t=+e;if(0<=t&&tnew n(e,i).compare(new n(t,i))}}),G=e({"../../node_modules/semver/functions/gt.js"(e,t){var n=F();t.exports=(e,t,i)=>0',TV_MODE:'',INVERT_ACTIVE:'',INVERT_INACTIVE:'',LYRICS_ACTIVE:'',LYRICS_INACTIVE:'',MINUS:'',ALBUM:`${Spicetify.SVGIcons.album}`,ARTIST:` ${Spicetify.SVGIcons.artist}`,PLAYING_ICON:``,PAUSED_ICON:``,CTX_RADIO:'',CTX_TRACK:'',CTX_QUEUE:''},Re={tv:{lyricsDisplay:!0,lyricsAlignment:"right",autoHideLyrics:!0,animationTempo:.2,progressBarDisplay:"never",playerControls:"never",trimTitle:!0,trimTitleUpNext:!0,showAlbum:"date",showAllArtists:!0,icons:!0,titleMovingIcon:!1,enableFade:!0,enableFullscreen:!0,backgroundChoice:"artist_art",extraControls:"never",upnextDisplay:!0,contextDisplay:"always",volumeDisplay:"smart",themedButtons:!0,themedIcons:!0,invertColors:"never",backAnimationTime:.4,animationSpeed:.25,upNextAnim:"sp",upnextTimeToShow:45,coloredBackChoice:"DESATURATED",staticBackChoice:"#787878",blurSize:0,backgroundBrightness:.4,showRemainingTime:!1,verticalMonitorSupport:!1,sidebarQueue:!1},def:{lyricsDisplay:!0,lyricsAlignment:"right",autoHideLyrics:!0,animationTempo:.2,progressBarDisplay:"always",playerControls:"always",trimTitle:!0,trimTitleUpNext:!0,showAlbum:"never",showAllArtists:!0,icons:!1,titleMovingIcon:!1,enableFade:!0,enableFullscreen:!0,backgroundChoice:"album_art",extraControls:"always",upnextDisplay:!0,contextDisplay:"mousemove",volumeDisplay:"smart",themedButtons:!0,themedIcons:!1,invertColors:"never",backAnimationTime:1,animationSpeed:.25,upNextAnim:"sp",upnextTimeToShow:30,coloredBackChoice:"DESATURATED",staticBackChoice:"#787878",blurSize:32,backgroundBrightness:.7,showRemainingTime:!1,verticalMonitorSupport:!0,sidebarQueue:!1},tvMode:!1,locale:"en-US",fsHideOriginal:!1,autoLaunch:"never",activationTypes:"both",buttonActivation:"both",keyActivation:"both"},$e=["video","video-full-screen","video-full-window","video-full-screen--hide-ui","fsd-activated"],Ve=".main-topBar-historyButtons",He=".main-topBar-topbarContentRight>.main-actionButtons",qe=".main-nowPlayingBar-right",X=".Root__right-sidebar",Pe=n,Y=[],a=class{static getToken(){return Spicetify.Platform.AuthorizationAPI._state.token.accessToken}static async getTrackInfo(e){return fetch("https://api.spotify.com/v1/tracks/"+e,{headers:{Authorization:"Bearer "+await a.getToken()}}).then(e=>e.json())}static async getAlbumInfo(e){return fetch("https://api.spotify.com/v1/albums/"+e,{headers:{Authorization:"Bearer "+await a.getToken()}}).then(e=>e.json())}static async getPlaylistInfo(e){return Spicetify.CosmosAsync.get("sp://core-playlist/v1/playlist/"+e)}static async getArtistInfo(e){return fetch(`https://api-partner.spotify.com/pathfinder/v1/query?operationName=queryArtistOverview&variables=%7B%22uri%22%3A%22spotify%3Aartist%3A${e}%22%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%22d66221ea13998b2f81883c5187d174c8646e4041d67f5b1e103bc262d447e3a0%22%7D%7D`,{headers:{Authorization:"Bearer "+await a.getToken()}}).then(e=>e.json()).then(e=>e.data.artist)}static async searchArt(e){return fetch(`https://api.spotify.com/v1/search?q="${e}"&type=artist&limit=2`,{headers:{Authorization:"Bearer "+await a.getToken()}}).then(e=>e.json())}static async colorExtractor(t){var e=Y.filter(e=>e.uri===t);if(0!e)}static printNotExistings(e){e.forEach(e=>{console.error(e[0]+" not available. Report issue on GitHub or run Spicetify.test() to test."),Spicetify.showNotification(`Error initializing "fullscreen.js" extension. ${e[0]} not available. Report issue on GitHub.`,!0)}),console.log("Retries exceeded. Aborting.")}static fullScreenOn(){if(!document.fullscreenElement)return document.documentElement.requestFullscreen()}static fullScreenOff(){if(document.fullscreenElement)return document.exitFullscreen()}static fadeAnimation(e,t="fade-do"){e.classList.remove(t),e.classList.add(t),setTimeout(()=>{e.classList.remove(t)},800)}static addObserver(e,t,i){var n=document.querySelector(t);n?e.observe(n,i):setTimeout(()=>{l.addObserver(e,t,i)},2e3)}static hexToRgb(e){e=e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(e,t,i,n){return t+t+i+i+n+n});e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return e?`${parseInt(e[1],16)},${parseInt(e[2],16)},`+parseInt(e[3],16):null}static trimTitle(e){var t=e.replace(/\(.+?\)/g,"").replace(/\[.+?\]/g,"").replace(/\s-\s.+?$/,"").trim();return t||e}static async getAlbumReleaseDate(e,t){var i,e=await _e.getAlbumInfo(e.replace("spotify:album:","")).catch(e=>console.error(e));return e?.release_date?(e=new Date(e.release_date),(i=new Date).setMonth(i.getMonth()-18)," • "+(t=e.toLocaleString(t,iconsole.error(e)),t=i?i.artists.items[0].id:"");var i=await _e.getArtistInfo(t).catch(e=>console.error(e));return i?.visuals?.headerImage?.sources[0].url??e.image_xlarge_url}static async getNextColor(e){let t="#444444";var i=await _e.colorExtractor(Spicetify.Player.data.item?.uri??"").catch(e=>console.warn(e));return t=i&&i[e]?i[e]:t}static revertPathHistory(e){Spicetify.Platform.History.push(e),Spicetify.Platform.History.entries.splice(Spicetify.Platform.History.entries.length-3,2),Spicetify.Platform.History.index=0 generic-modal > div");t&&(e?t.classList.add("transparent-bg"):t.classList.remove("transparent-bg"))}static getAvailableLanguages(e){var t={};for(const i in e)t[i]=e[i].langName;return t}static async getMainColor(e){let t,i=160;e=await _e.colorExtractor(e).catch(e=>console.warn(e)),"album_art"===Ne.get("backgroundChoice")||"artist_art"===Ne.get("backgroundChoice")?(t=e?.PROMINENT?l.hexToRgb(e.PROMINENT):"0,0,0",i=260-100*Ne.get("backgroundBrightness")):"dynamic_color"===Ne.get("backgroundChoice")?t=e&&e[Ne.get("coloredBackChoice")]?l.hexToRgb(e[Ne.get("coloredBackChoice")]):l.hexToRgb("#444444"):"static_color"===Ne.get("backgroundChoice")&&(t=l.hexToRgb(Ne.get("staticBackChoice"))),e=.299*Number(t?.split(",")[0])+.587*Number(t?.split(",")[1])+.114*Number(t?.split(",")[2])>i;return[e&&.3n=e.name+" • "+e.artists[0].name);break;case Spicetify.URI.Type.SEARCH:t=Spicetify.SVGIcons["search-active"],i=e.context.search,n=`"${a.query}" in `+e.context.searchDest;break;case Spicetify.URI.Type.COLLECTION:t=Spicetify.SVGIcons["heart-active"],i=e.context.collection,n=e.context.likedSongs;break;case Spicetify.URI.Type.PLAYLIST_V2:t=Spicetify.SVGIcons.playlist,i=e.context.playlist,n=Spicetify.Player.data.context?.metadata?.context_description||"";break;case Spicetify.URI.Type.STATION:case Spicetify.URI.Type.RADIO:switch(t=Pe.CTX_RADIO,a.args[0]){case"album":i=e.context.albumRadio,await _e.getAlbumInfo(a.args[1]).then(e=>n=e.name);break;case"track":i=e.context.trackRadio,await _e.getTrackInfo(a.args[1]).then(e=>n=e.name+" • "+e.artists[0].name);break;case"artist":i=e.context.artistRadio,await _e.getArtistInfo(a.args[1]).then(e=>n=e?.profile?.name);break;case"playlist":case"playlist-v2":i=e.context.playlistRadio,t='',await _e.getPlaylistInfo("spotify:playlist:"+a.args[1]).then(e=>n=e.playlist.name);break;default:n=""}break;case Spicetify.URI.Type.PLAYLIST:t=Spicetify.SVGIcons[a.type],i=e.context.playlist,n=Spicetify.Player.data.context?.metadata.context_description||"";break;case Spicetify.URI.Type.ALBUM:t=Spicetify.SVGIcons[a.type],i=e.context.album,n=Spicetify.Player.data.context?.metadata.context_description||"";break;case Spicetify.URI.Type.ARTIST:t=Spicetify.SVGIcons[a.type],i=e.context.artist,n=Spicetify.Player.data.context?.metadata.context_description||"";break;case Spicetify.URI.Type.FOLDER:t=Spicetify.SVGIcons["playlist-folder"],i=e.context.playlistFolder;for(const r of(await Spicetify.CosmosAsync.get("sp://core-playlist/v1/rootlist",{policy:{folder:{rows:!0,link:!0,name:!0}}})).rows)if("folder"===r.type&&r.link===Spicetify.Player.data.context.uri){n=r.name;break}break;default:i=a.type,n=Spicetify.Player.data?.context?.metadata?.context_description||""}}return{ctxIcon:t,ctxSource:i,ctxName:n}}static toggleQueuePanel(e,t){const i=document.querySelector("div.main-nowPlayingBar-right > div > div.GlueDropTarget.GlueDropTarget--tracks.GlueDropTarget--local-tracks.GlueDropTarget--episodes > button"),n=document.querySelector(X);t?setTimeout(()=>{Z=!!i?.classList.contains("main-genericButton-buttonActive")||(i?.click(),!1),setTimeout(()=>{n?.classList.add("fsd-queue-panel"),setTimeout(()=>{n?.classList.add("fsd-transform-animation")},100)},300)},600):(null==Z||Z||i?.click(),n?.style.setProperty("--queue-panel-x","1000px"),Z=null,e?.classList.remove("button-active","dot-after"),n?.classList.remove("fsd-queue-panel","fsd-transform-animation"),document.body.classList.remove("fsd-queue-panel-active"))}static toggleQueue(e){var t=document.querySelector(X);document.body.classList.contains("fsd-queue-panel-active")?(t?.style.setProperty("--queue-panel-x","1000px"),e?.classList.remove("button-active","dot-after"),document.body.classList.remove("fsd-queue-panel-active")):(t?.style.setProperty("--queue-panel-x","0px"),e?.classList.add("button-active","dot-after"),document.body.classList.add("fsd-queue-panel-active"))}},De=l;function je(o,s,e,t=!1){const l=Ne.get("backAnimationTime");var{innerWidth:i,innerHeight:n}=window;e.width=i,e.height=n;const c=e.getContext("2d");c.imageSmoothingEnabled=!1;e=Ne.get("blurSize"),c.filter=`brightness(${Ne.get("backgroundBrightness")}) blur(${e}px)`,i=function(e,t,i,n){i/=n,n=e/t;let a=e,r=t;i{var t,i=e-(a=void 0===a?e:a);n!==e&&(t=Math.min(i/(1e3*l),1),c.globalAlpha=1,c.drawImage(o,d,u,p,g),c.globalAlpha=Math.sin(Math.PI/2*t),c.drawImage(s,d,u,p,g),1===t)&&(r=!0),i<1e3*l&&(n=e,r||requestAnimationFrame(m))};requestAnimationFrame(m)}}var J="#000000";async function Fe(o,e,t=!1){const s=Ne.get("backAnimationTime"),{innerWidth:l,innerHeight:c}=window,d=(e.width=l,e.height=c,e.getContext("2d"));if(!Ne.get("enableFade")||t)d.globalAlpha=1,d.fillStyle=o,d.fillRect(0,0,l,c);else{let n,a=!1,r;const u=e=>{var t,i=e-(r=void 0===r?e:r);n!==e&&(t=Math.min(i/(1e3*s),1),d.globalAlpha=1,d.fillStyle=J,d.fillRect(0,0,l,c),d.globalAlpha=Math.sin(Math.PI/2*t),d.fillStyle=o,d.fillRect(0,0,l,c),1===t)&&(a=!0),i<1e3*s?(n=e,a||requestAnimationFrame(u)):J=o};requestAnimationFrame(u)}}var Ge=!1,Ue=e=>{Ge=e},Xe=Ne.get("animationSpeed");performance.now(),document.createElement("canvas");function ee(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var c=ee();function te(e){c=e}var ie=/[&<>"']/,ne=new RegExp(ie.source,"g"),ae=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,re=new RegExp(ae.source,"g"),oe={"&":"&","<":"<",">":">",'"':""","'":"'"},se=e=>oe[e];function d(e,t){if(t){if(ie.test(e))return e.replace(ne,se)}else if(ae.test(e))return e.replace(re,se);return e}var le=/(^|[^\[])\^/g;function u(e,t){let n="string"==typeof e?e:e.source;t=t||"";const a={replace:(e,t)=>{let i="string"==typeof t?t:t.source;return i=i.replace(le,"$1"),n=n.replace(e,i),a},getRegex:()=>new RegExp(n,t)};return a}function ce(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch{return null}return e}n={exec:()=>null};function de(e,t){var i=e.replace(/\|/g,(e,t,i)=>{let n=!1,a=t;for(;0<=--a&&"\\"===i[a];)n=!n;return n?"|":" |"}).split(/ \|/);let n=0;if(i[0].trim()||i.shift(),0t)i.splice(t);else for(;i.length{var t=e.match(/^\s+/);return null!==t&&([t]=t,t.length>=i.length)?e.slice(i.length):e}).join("\n")}var me=class{options;rules;lexer;constructor(e){this.options=e||c}space(e){e=this.rules.block.newline.exec(e);if(e&&0/.test(i[t]))o.push(i[t]),e=!0;else{if(e)break;o.push(i[t])}i=i.slice(t);var s=o.join("\n"),l=s.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,"\n $1").replace(/^ {0,3}>[ \t]?/gm,""),s=(n=n?n+` +`+s:s,a=a?a+` +`+l:l,this.lexer.state.top);if(this.lexer.state.top=!0,this.lexer.blockTokens(l,r,!0),this.lexer.state.top=s,0===i.length)break;var c,l=r[r.length-1];if("code"===l?.type)break;if("blockquote"===l?.type){var s=l,d=s.raw+"\n"+i.join("\n"),d=this.blockquote(d);r[r.length-1]=d,n=n.substring(0,n.length-s.raw.length)+d.raw,a=a.substring(0,a.length-s.text.length)+d.text;break}"list"===l?.type&&(d=(s=l).raw+"\n"+i.join("\n"),c=this.list(d),r[r.length-1]=c,n=n.substring(0,n.length-l.raw.length)+c.raw,a=a.substring(0,a.length-s.raw.length)+c.raw,i=d.substring(r[r.length-1].raw.length).split("\n"))}return{type:"blockquote",raw:n,tokens:r,text:a}}}list(d){let u=this.rules.block.list.exec(d);if(u){let e=u[1].trim();var t,i=1" ".repeat(3*e.length)),a=d.split("\n",1)[0],r=!n.trim(),o=0;if(this.options.pedantic?(o=2,i=n.trimStart()):r?o=u[1].length+1:(o=4<(o=u[2].search(/[^ ]/))?1:o,i=n.slice(o),o+=u[1].length),r&&/^[ \t]*$/.test(a)&&(t+=a+"\n",d=d.substring(a.length+1),e=!0),!e)for(var m=new RegExp(`^ {0,${Math.min(3,o-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),f=new RegExp(`^ {0,${Math.min(3,o-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),h=new RegExp(`^ {0,${Math.min(3,o-1)}}(?:\`\`\`|~~~)`),y=new RegExp(`^ {0,${Math.min(3,o-1)}}#`),b=new RegExp(`^ {0,${Math.min(3,o-1)}}<[a-z].*>`,"i");d;){var v=d.split("\n",1)[0];let e;if(a=v,e=this.options.pedantic?a=a.replace(/^ {1,4}(?=( {4})*[^ ])/g," "):a.replace(/\t/g," "),h.test(a))break;if(y.test(a))break;if(b.test(a))break;if(m.test(a))break;if(f.test(a))break;if(e.search(/[^ ]/)>=o||!a.trim())i+="\n"+e.slice(o);else{if(r)break;if(4<=n.replace(/\t/g," ").search(/[^ ]/))break;if(h.test(n))break;if(y.test(n))break;if(f.test(n))break;i+="\n"+a}r||a.trim()||(r=!0),t+=v+"\n",d=d.substring(v.length+1),n=e.slice(o)}p.loose||(c?p.loose=!0:/\n[ \t]*\n[ \t]*$/.test(t)&&(c=!0));let s=null,l;this.options.gfm&&(s=/^\[[ xX]\] /.exec(i))&&(l="[ ] "!==s[0],i=i.replace(/^\[[ xX]\] +/,"")),p.items.push({type:"list_item",raw:t,task:!!s,checked:l,loose:!1,text:i,tokens:[]}),p.raw+=t}p.items[p.items.length-1].raw=p.items[p.items.length-1].raw.trimEnd(),p.items[p.items.length-1].text=p.items[p.items.length-1].text.trimEnd(),p.raw=p.raw.trimEnd();for(let e=0;e"space"===e.type)).length&&t.some(e=>/\n.*\n/.test(e.raw)),p.loose=t);if(p.loose)for(let e=0;e$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",n=e[3]&&e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"),{type:"def",tag:t,raw:e[0],href:i,title:n}}table(e){e=this.rules.block.table.exec(e);if(e&&/[:|]/.test(e[2])){var t=de(e[1]),i=e[2].replace(/^\||\| *$/g,"").split("|"),n=e[3]&&e[3].trim()?e[3].replace(/\n[ \t]*$/,"").split("\n"):[];const a={type:"table",raw:e[0],header:[],align:[],rows:[]};if(t.length===i.length){for(const r of i)/^ *-+: *$/.test(r)?a.align.push("right"):/^ *:-+: *$/.test(r)?a.align.push("center"):/^ *:-+ *$/.test(r)?a.align.push("left"):a.align.push(null);for(let e=0;e({text:e,tokens:this.lexer.inline(e),header:!1,align:a.align[t]})));return a}}}lheading(e){e=this.rules.block.lheading.exec(e);if(e)return{type:"heading",raw:e[0],depth:"="===e[2].charAt(0)?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(e){var t,e=this.rules.block.paragraph.exec(e);if(e)return t="\n"===e[1].charAt(e[1].length-1)?e[1].slice(0,-1):e[1],{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}text(e){e=this.rules.block.text.exec(e);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(e){e=this.rules.inline.escape.exec(e);if(e)return{type:"escape",raw:e[0],text:d(e[1])}}tag(e){e=this.rules.inline.tag.exec(e);if(e)return!this.lexer.state.inLink&&/^/i.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(i){i=this.rules.inline.link.exec(i);if(i){var n=i[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;var a=p(n.slice(0,-1),"\\");if((n.length-a.length)%2==0)return}else{var r,a=ue(i[2],"()");-1$/.test(n)?e.slice(1):e.slice(1,-1):e)&&e.replace(this.rules.inline.anyPunctuation,"$1"),title:t&&t.replace(this.rules.inline.anyPunctuation,"$1")},i[0],this.lexer)}}reflink(e,t){let i;if(i=(i=this.rules.inline.reflink.exec(e))||this.rules.inline.nolink.exec(e))return(e=t[(i[2]||i[1]).replace(/\s+/g," ").toLowerCase()])?pe(i,e,i[0],this.lexer):{type:"text",raw:t=i[0].charAt(0),text:t}}emStrong(a,r,e=""){let o=this.rules.inline.emStrongLDelim.exec(a);if(o&&((!o[3]||!e.match(/[\p{L}\p{N}]/u))&&(!(o[1]||o[2]||"")||!e||this.rules.inline.punctuation.exec(e)))){var s=[...o[0]].length-1;let e,t,i=s,n=0;var l,c,d="*"===o[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(d.lastIndex=0,r=r.slice(-1*a.length+s);null!=(o=d.exec(r));)if(e=o[1]||o[2]||o[3]||o[4]||o[5]||o[6])if(t=[...e].length,o[3]||o[4])i+=t;else if((o[5]||o[6])&&s%3&&!((s+t)%3))n+=t;else if(!(0<(i-=t)))return t=Math.min(t,t+i+n),l=[...o[0]][0].length,l=a.slice(0,s+o.index+l+t),Math.min(s,t)%2?(c=l.slice(1,-1),{type:"em",raw:l,text:c,tokens:this.lexer.inlineTokens(c)}):(c=l.slice(2,-2),{type:"strong",raw:l,text:c,tokens:this.lexer.inlineTokens(c)})}}codespan(t){t=this.rules.inline.code.exec(t);if(t){let e=t[2].replace(/\n/g," ");var i=/[^ ]/.test(e),n=/^ /.test(e)&&/ $/.test(e);return e=d(e=i&&n?e.substring(1,e.length-1):e,!0),{type:"codespan",raw:t[0],text:e}}}br(e){e=this.rules.inline.br.exec(e);if(e)return{type:"br",raw:e[0]}}del(e){e=this.rules.inline.del.exec(e);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(i){i=this.rules.inline.autolink.exec(i);if(i){let e,t;return t="@"===i[2]?"mailto:"+(e=d(i[1])):e=d(i[1]),{type:"link",raw:i[0],text:e,href:t,tokens:[{type:"text",raw:e,text:e}]}}}url(e){var i,n;if(i=this.rules.inline.url.exec(e)){let e,t;if("@"===i[2])e=d(i[0]),t="mailto:"+e;else{for(;n=i[0],i[0]=this.rules.inline._backpedal.exec(i[0])?.[0]??"",n!==i[0];);e=d(i[0]),t="www."===i[1]?"http://"+i[0]:i[0]}return{type:"link",raw:i[0],text:e,href:t,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(t){t=this.rules.inline.text.exec(t);if(t){let e;return e=this.lexer.state.inRawBlock?t[0]:d(t[0]),{type:"text",raw:t[0],text:e}}}},g=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,fe=/(?:[*+-]|\d{1,9}[.)])/,m=u(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,fe).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),f=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,h=/(?!\s*\])(?:\\.|[^\[\]\\])+/,he=u(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",h).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),fe=u(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,fe).getRegex(),y="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",b=/|$))/,v=u("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))","i").replace("comment",b).replace("tag",y).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ye=u(f).replace("hr",g).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",y).getRegex(),he={blockquote:u(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",ye).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:he,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:g,html:v,lheading:m,list:fe,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:ye,table:n,text:/^[^\n]+/},v=u("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",g).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3}\t)[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",y).getRegex(),fe={...he,table:v,paragraph:u(f).replace("hr",g).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",v).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",y).getRegex()},ye={...he,html:u(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",b).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:n,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:u(f).replace("hr",g).replace("heading"," *#{1,6} *[^\n]").replace("lheading",m).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},v=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,y=/^( {2,}|\\)\n(?!\s*$)/,f="\\p{P}\\p{S}",g=u(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,f).getRegex(),m=u(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,f).getRegex(),be=u("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,f).getRegex(),k=u("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,f).getRegex(),f=u(/\\([punct])/,"gu").replace(/punct/g,f).getRegex(),ve=u(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),b=u(b).replace("(?:--\x3e|$)","--\x3e").getRegex(),b=u("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",b).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),ke=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,x=u(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",ke).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),xe=u(/^!?\[(label)\]\[(ref)\]/).replace("label",ke).replace("ref",h).getRegex(),h=u(/^!?\[(ref)\](?:\[\])?/).replace("ref",h).getRegex(),f={_backpedal:n,anyPunctuation:f,autolink:ve,blockSkip:/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,br:y,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:n,emStrongLDelim:m,emStrongRDelimAst:be,emStrongRDelimUnd:k,escape:v,link:x,nolink:h,punctuation:g,reflink:xe,reflinkSearch:u("reflink|nolink(?!\\()","g").replace("reflink",xe).replace("nolink",h).getRegex(),tag:b,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\!!(i=e.call({lexer:this},n,t))&&(n=n.substring(i.raw.length),t.push(i),!0))))if(i=this.tokenizer.space(n))n=n.substring(i.raw.length),1===i.raw.length&&0{"number"==typeof(i=e.call({lexer:this},s))&&0<=i&&(t=Math.min(t,i))}),t<1/0&&0<=t&&(r=n.substring(0,t+1))}if(this.state.top&&(i=this.tokenizer.paragraph(r)))a=t[t.length-1],e&&"paragraph"===a?.type?(a.raw+="\n"+i.raw,a.text+="\n"+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=a.text):t.push(i),e=r.length!==n.length,n=n.substring(i.raw.length);else if(i=this.tokenizer.text(n))n=n.substring(i.raw.length),(a=t[t.length-1])&&"text"===a.type?(a.raw+="\n"+i.raw,a.text+="\n"+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=a.text):t.push(i);else if(n){var o="Infinite loop on byte: "+n.charCodeAt(0);if(this.options.silent){console.error(o);break}throw new Error(o)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(n,t=[]){let i,e,a,r=n,o,s,l;if(this.tokens.links){var c=Object.keys(this.tokens.links);if(0!!(i=e.call({lexer:this},n,t))&&(n=n.substring(i.raw.length),t.push(i),!0))))if(i=this.tokenizer.escape(n))n=n.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.tag(n))n=n.substring(i.raw.length),(e=t[t.length-1])&&"text"===i.type&&"text"===e.type?(e.raw+=i.raw,e.text+=i.text):t.push(i);else if(i=this.tokenizer.link(n))n=n.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.reflink(n,this.tokens.links))n=n.substring(i.raw.length),(e=t[t.length-1])&&"text"===i.type&&"text"===e.type?(e.raw+=i.raw,e.text+=i.text):t.push(i);else if(i=this.tokenizer.emStrong(n,r,l))n=n.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.codespan(n))n=n.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.br(n))n=n.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.del(n))n=n.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.autolink(n))n=n.substring(i.raw.length),t.push(i);else if(!this.state.inLink&&(i=this.tokenizer.url(n)))n=n.substring(i.raw.length),t.push(i);else{if(a=n,this.options.extensions&&this.options.extensions.startInline){let t=1/0;const u=n.slice(1);let i;this.options.extensions.startInline.forEach(e=>{"number"==typeof(i=e.call({lexer:this},u))&&0<=i&&(t=Math.min(t,i))}),t<1/0&&0<=t&&(a=n.substring(0,t+1))}if(i=this.tokenizer.inlineText(a))n=n.substring(i.raw.length),"_"!==i.raw.slice(-1)&&(l=i.raw.slice(-1)),s=!0,(e=t[t.length-1])&&"text"===e.type?(e.raw+=i.raw,e.text+=i.text):t.push(i);else if(n){var d="Infinite loop on byte: "+n.charCodeAt(0);if(this.options.silent){console.error(d);break}throw new Error(d)}}return t}},Se=class{options;parser;constructor(e){this.options=e||c}space(e){return""}code({text:e,lang:t,escaped:i}){t=(t||"").match(/^\S*/)?.[0],e=e.replace(/\n$/,"")+"\n";return t?'
    '+(i?e:d(e,!0))+"
    \n":"
    "+(i?e:d(e,!0))+"
    \n"}blockquote({tokens:e}){return`
    +${this.parser.parse(e)}
    +`}html({text:e}){return e}heading({tokens:e,depth:t}){return`${this.parser.parseInline(e)} +`}hr(e){return"
    \n"}list(t){var e=t.ordered,i=t.start;let n="";for(let e=0;e\n"+n+"\n"}listitem(e){let t="";var i;return e.task&&(i=this.checkbox({checked:!!e.checked}),e.loose?0${t+=this.parser.parse(e.tokens,!!e.loose)} +`}checkbox({checked:e}){return"'}paragraph({tokens:e}){return`

    ${this.parser.parseInline(e)}

    +`}table(t){var e="";let i="";for(let e=0;e\n\n"+e+"\n"+(n=n&&`${n}`)+"\n"}tablerow({text:e}){return` ${e} -`}tablecell(e,t){var i=t.header?"th":"td";return(t.align?`<${i} align="${t.align}">`:`<${i}>`)+e+` -`}strong(e){return`${e}`}em(e){return`${e}`}codespan(e){return`${e}`}br(){return"
    "}del(e){return`${e}`}link(e,t,i){var n=se(e);if(null===n)return i;let a='"}image(e,t,i){var n=se(e);if(null===n)return i;let a=`${i}{i=i.concat(this.walkTokens(l[e],t))}):l.tokens&&(i=i.concat(this.walkTokens(l.tokens,t)))}}return i}use(...e){const v=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{var t={...e};if(t.async=this.defaults.async||t.async||!1,e.extensions&&(e.extensions.forEach(i=>{if(!i.name)throw new Error("extension name required");if("renderer"in i){const n=v.renderers[i.name];n?v.renderers[i.name]=function(...e){let t=i.renderer.apply(this,e);return t=!1===t?n.apply(this,e):t}:v.renderers[i.name]=i.renderer}if("tokenizer"in i){if(!i.level||"block"!==i.level&&"inline"!==i.level)throw new Error("extension level must be 'block' or 'inline'");var e=v[i.level];e?e.unshift(i.tokenizer):v[i.level]=[i.tokenizer],i.start&&("block"===i.level?v.startBlock?v.startBlock.push(i.start):v.startBlock=[i.start]:"inline"===i.level&&(v.startInline?v.startInline.push(i.start):v.startInline=[i.start]))}"childTokens"in i&&i.childTokens&&(v.childTokens[i.name]=i.childTokens)}),t.extensions=v),e.renderer){const r=this.defaults.renderer||new pe(this.defaults);for(const o in e.renderer){const s=e.renderer[o];var i=o;const l=r[i];r[i]=(...e)=>{let t=s.apply(r,e);return(t=!1===t?l.apply(r,e):t)||""}}t.renderer=r}if(e.tokenizer){const c=this.defaults.tokenizer||new k(this.defaults);for(const d in e.tokenizer){const u=e.tokenizer[d];var n=d;const p=c[n];c[n]=(...e)=>{let t=u.apply(c,e);return t=!1===t?p.apply(c,e):t}}t.tokenizer=c}if(e.hooks){const g=this.defaults.hooks||new x;for(const m in e.hooks){const f=e.hooks[m];var a=m;const h=g[a];x.passThroughHooks.has(m)?g[a]=e=>{return this.defaults.async?Promise.resolve(f.call(g,e)).then(e=>h.call(g,e)):(e=f.call(g,e),h.call(g,e))}:g[a]=(...e)=>{let t=f.apply(g,e);return t=!1===t?h.apply(g,e):t}}t.hooks=g}if(e.walkTokens){const y=this.defaults.walkTokens,b=e.walkTokens;t.walkTokens=function(e){let t=[];return t.push(b.call(this,e)),t=y?t.concat(y.call(this,e)):t}}this.defaults={...this.defaults,...t}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return y.lex(e,t??this.defaults)}parser(e,t){return b.parse(e,t??this.defaults)}#parseMarkdown(r,o){return(t,i)=>{i={...i};const n={...this.defaults,...i};!0===this.defaults.async&&!1===i.async&&(n.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),n.async=!0);i=this.#onError(!!n.silent,!!n.async);if(null==t)return i(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof t)return i(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(n.hooks&&(n.hooks.options=n),n.async)return Promise.resolve(n.hooks?n.hooks.preprocess(t):t).then(e=>r(e,n)).then(e=>n.walkTokens?Promise.all(this.walkTokens(e,n.walkTokens)).then(()=>e):e).then(e=>o(e,n)).then(e=>n.hooks?n.hooks.postprocess(e):e).catch(i);try{n.hooks&&(t=n.hooks.preprocess(t));var a=r(t,n);n.walkTokens&&this.walkTokens(a,n.walkTokens);let e=o(a,n);return e=n.hooks?n.hooks.postprocess(e):e}catch(e){return i(e)}}}#onError(i,n){return e=>{var t;if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",i)return t="

    An error occurred:

    "+p(e.message+"",!0)+"
    ",n?Promise.resolve(t):t;if(n)return Promise.reject(e);throw e}}});function w(e,t){return v.parse(e,t)}w.options=w.setOptions=function(e){return v.setOptions(e),W(w.defaults=v.defaults),w},w.getDefaults=K,w.defaults=u,w.use=function(...e){return v.use(...e),W(w.defaults=v.defaults),w},w.walkTokens=function(e,t){return v.walkTokens(e,t)},w.parseInline=v.parseInline,w.Parser=b,w.parser=b.parse,w.Renderer=pe,w.TextRenderer=ge,w.Lexer=y,w.lexer=y.lex,w.Tokenizer=k,w.Hooks=x;w.parse=w,b.parse,y.lex;var Qe="2.7.0",me=t(P()),n=`## General +`}tablecell(e){var t=this.parser.parseInline(e.tokens),i=e.header?"th":"td";return(e.align?`<${i} align="${e.align}">`:`<${i}>`)+t+` +`}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${e}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:t,tokens:i}){var i=this.parser.parseInline(i),n=ce(e);if(null===n)return i;let a='
    "}image({href:e,title:t,text:i}){var n=ce(e);if(null===n)return i;let a=`${i}{e=l[e].flat(1/0);i=i.concat(this.walkTokens(e,t))}):l.tokens&&(i=i.concat(this.walkTokens(l.tokens,t)))}}return i}use(...e){const v=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{var t={...e};if(t.async=this.defaults.async||t.async||!1,e.extensions&&(e.extensions.forEach(i=>{if(!i.name)throw new Error("extension name required");if("renderer"in i){const n=v.renderers[i.name];n?v.renderers[i.name]=function(...e){let t=i.renderer.apply(this,e);return t=!1===t?n.apply(this,e):t}:v.renderers[i.name]=i.renderer}if("tokenizer"in i){if(!i.level||"block"!==i.level&&"inline"!==i.level)throw new Error("extension level must be 'block' or 'inline'");var e=v[i.level];e?e.unshift(i.tokenizer):v[i.level]=[i.tokenizer],i.start&&("block"===i.level?v.startBlock?v.startBlock.push(i.start):v.startBlock=[i.start]:"inline"===i.level&&(v.startInline?v.startInline.push(i.start):v.startInline=[i.start]))}"childTokens"in i&&i.childTokens&&(v.childTokens[i.name]=i.childTokens)}),t.extensions=v),e.renderer){const r=this.defaults.renderer||new Se(this.defaults);for(const o in e.renderer){if(!(o in r))throw new Error(`renderer '${o}' does not exist`);if(!["options","parser"].includes(o)){var i=o;const s=e.renderer[i],l=r[i];r[i]=(...e)=>{let t=s.apply(r,e);return(t=!1===t?l.apply(r,e):t)||""}}}t.renderer=r}if(e.tokenizer){const c=this.defaults.tokenizer||new me(this.defaults);for(const d in e.tokenizer){if(!(d in c))throw new Error(`tokenizer '${d}' does not exist`);if(!["options","rules","lexer"].includes(d)){var n=d;const u=e.tokenizer[n],p=c[n];c[n]=(...e)=>{let t=u.apply(c,e);return t=!1===t?p.apply(c,e):t}}}t.tokenizer=c}if(e.hooks){const g=this.defaults.hooks||new Te;for(const m in e.hooks){if(!(m in g))throw new Error(`hook '${m}' does not exist`);if(!["options","block"].includes(m)){var a=m;const f=e.hooks[a],h=g[a];Te.passThroughHooks.has(m)?g[a]=e=>{return this.defaults.async?Promise.resolve(f.call(g,e)).then(e=>h.call(g,e)):(e=f.call(g,e),h.call(g,e))}:g[a]=(...e)=>{let t=f.apply(g,e);return t=!1===t?h.apply(g,e):t}}}t.hooks=g}if(e.walkTokens){const y=this.defaults.walkTokens,b=e.walkTokens;t.walkTokens=function(e){let t=[];return t.push(b.call(this,e)),t=y?t.concat(y.call(this,e)):t}}this.defaults={...this.defaults,...t}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return S.lex(e,t??this.defaults)}parser(e,t){return A.parse(e,t??this.defaults)}parseMarkdown(o){return(i,e)=>{e={...e};const n={...this.defaults,...e};var t=this.onError(!!n.silent,!!n.async);if(!0===this.defaults.async&&!1===e.async)return t(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(null==i)return t(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof i)return t(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(i)+", string expected"));n.hooks&&((n.hooks.options=n).hooks.block=o);const a=n.hooks?n.hooks.provideLexer():o?S.lex:S.lexInline,r=n.hooks?n.hooks.provideParser():o?A.parse:A.parseInline;if(n.async)return Promise.resolve(n.hooks?n.hooks.preprocess(i):i).then(e=>a(e,n)).then(e=>n.hooks?n.hooks.processAllTokens(e):e).then(e=>n.walkTokens?Promise.all(this.walkTokens(e,n.walkTokens)).then(()=>e):e).then(e=>r(e,n)).then(e=>n.hooks?n.hooks.postprocess(e):e).catch(t);try{n.hooks&&(i=n.hooks.preprocess(i));let e=a(i,n),t=(n.hooks&&(e=n.hooks.processAllTokens(e)),n.walkTokens&&this.walkTokens(e,n.walkTokens),r(e,n));return t=n.hooks?n.hooks.postprocess(t):t}catch(e){return t(e)}}}onError(i,n){return e=>{var t;if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",i)return t="

    An error occurred:

    "+d(e.message+"",!0)+"
    ",n?Promise.resolve(t):t;if(n)return Promise.reject(e);throw e}}});function C(e,t){return T.parse(e,t)}C.options=C.setOptions=function(e){return T.setOptions(e),te(C.defaults=T.defaults),C},C.getDefaults=ee,C.defaults=c,C.use=function(...e){return T.use(...e),te(C.defaults=T.defaults),C},C.walkTokens=function(e,t){return T.walkTokens(e,t)},C.parseInline=T.parseInline,C.Parser=A,C.parser=A.parse,C.Renderer=Se,C.TextRenderer=Ae,C.Lexer=S,C.lexer=S.lex,C.Tokenizer=me,C.Hooks=Te;C.parse=C,A.parse,S.lex;var Ye="2.7.0",Ce=t(D()),xe=`## General - Add queue in sidebar, enable it from settings now!! - use esc key to exit the full screen experience - re-enable dynamic colors theme and backgrounds @@ -20,7 +22,7 @@ ${e} | ESC | Exit full screen app | | F | Toggle Default Mode (exit if active) | | T | Toggle TV Mode (exit of active) | - `,fe={"2.7.0":n,"2.6.0":`## General + `,Ee={"2.7.0":xe,"2.6.0":`## General - **Info** -: dynamic color theme and backgrounds is not working anymore in new Spotify - fix classnames library error(use own version) - fix wrong artist order when showing multiple artists @@ -92,8 +94,8 @@ ${e} ## Settings menu - Complete UI Overhaul for Settings Menu - Descriptions for some common settings - - Added new options to fine tune the UI`},he=n,ye=t(j());function Ke(e=!1){var[t,i]=function(e=!1){let t,i;i=e||null===localStorage.getItem("whats-new_full-screen-version")?(t="New in Full Screen",w.parse(Object.entries(fe).map(([e,t])=>`# v${e} -`+t).join("\n\n"),{gfm:!0,breaks:!0})):(t="New in Full Screen v"+Qe,w.parse(he,{gfm:!0,breaks:!0}));return[t,i]}(e);!async function(t,i,n,e=!1){for(;!Spicetify?.PopupModal||!Spicetify?.LocalStorage;)await new Promise(e=>setTimeout(e,100));var t=`whats-new_${t}-version`,a=Spicetify.LocalStorage.get(t)??"";try{(""===a||(0,ye.default)(i,a)||e)&&(Spicetify.LocalStorage.set(t,i),function(){var e={...n,content:("string"==typeof n.content?function(e){var[t,i]=be();return t.innerHTML=e,t.append(i),t}:function(e){var[t,i]=be();return me.default.render(e,t),t.appendChild(i),t})(n.content)};Spicetify.PopupModal.display(e)}())}catch(e){Spicetify.LocalStorage.set(t,i)}}("full-screen",Qe,{title:t,content:i,isLarge:!0},e)}function be(){var e=document.createElement("div"),t=(e.setAttribute("id","whats-new-content-wrapper"),document.createElement("style"));return t.textContent=` + - Added new options to fine tune the UI`},Le=xe,Ie=t(G());function Qe(e=!1){var[t,i]=function(e=!1){let t,i;i=e||null===localStorage.getItem("whats-new_full-screen-version")?(t="New in Full Screen",C.parse(Object.entries(Ee).map(([e,t])=>`# v${e} +`+t).join("\n\n"),{gfm:!0,breaks:!0})):(t="New in Full Screen v"+Ye,C.parse(Le,{gfm:!0,breaks:!0}));return[t,i]}(e);!async function(t,i,n,e=!1){for(;!Spicetify?.PopupModal||!Spicetify?.LocalStorage;)await new Promise(e=>setTimeout(e,100));var t=`whats-new_${t}-version`,a=Spicetify.LocalStorage.get(t)??"";try{(""===a||(0,Ie.default)(i,a)||e)&&(Spicetify.LocalStorage.set(t,i),function(){var e={...n,content:("string"==typeof n.content?function(e){var[t,i]=Ke();return t.innerHTML=e,t.append(i),t}:function(e){var[t,i]=Ke();return Ce.default.render(e,t),t.appendChild(i),t})(n.content)};Spicetify.PopupModal.display(e)}())}catch(e){Spicetify.LocalStorage.set(t,i)}}("full-screen",Ye,{title:t,content:i,isLarge:!0},e)}function Ke(){var e=document.createElement("div"),t=(e.setAttribute("id","whats-new-content-wrapper"),document.createElement("style"));return t.textContent=` #whats-new-content-wrapper ul, #whats-new-content-wrapper ol { list-style: inherit; margin-left: 1.5em; @@ -116,17 +118,17 @@ ${e} border-radius: 6px; box-shadow: inset 0 -1px 0 rgba(110, 118, 129, 0.4); } - `,[e,t]}function Be(e,t=""){var i=document.createElement("div"),n=(i.classList.add("setting-subhead"),document.createElement("h2"));return n.innerText=e,i.append(n),t&&((e=document.createElement("div")).classList.add("setting-subhead-description"),e.innerHTML=w.parse(t,{breaks:!0}),i.append(e)),i}function We(e,t,i,n=""){var a=document.createElement("div");return a.classList.add("setting-card"),a.setAttribute("setting-key",i),i in Re?a.setAttribute("setting-default",String(Ne.getGlobal(i)===Re[i])):a.setAttribute("setting-default",String(Ne.get(i)===Re[Ne.getMode()][i])),a.innerHTML=` + `,[e,t]}function ze(e,t=""){var i=document.createElement("div"),n=(i.classList.add("setting-subhead"),document.createElement("h2"));return n.innerText=e,i.append(n),t&&((e=document.createElement("div")).classList.add("setting-subhead-description"),e.innerHTML=C.parse(t,{breaks:!0}),i.append(e)),i}function We(e,t,i,n=""){var a=document.createElement("div");return a.classList.add("setting-card"),a.setAttribute("setting-key",i),i in Re?a.setAttribute("setting-default",String(Ne.getGlobal(i)===Re[i])):a.setAttribute("setting-default",String(Ne.get(i)===Re[Ne.getMode()][i])),a.innerHTML=`
    ${e}
    -
    ${w.parse(n,{breaks:!0})}
    +
    ${C.parse(n,{breaks:!0})}
    - `,a}function Oe(e,t,i="",n,a,r,o,s,l=""){let c=n;function d(e){let t=Number(c)+e*a;to&&(t=o),c=Number(Number(t).toFixed(1<=a?0:2)),u.querySelector(".adjust-value").innerText=""+c+i,g&&g.classList.toggle("disabled",c===o),p&&p.classList.toggle("disabled",c===r),s(c)}const u=We(` + `,a}function Ze(e,t,i="",n,a,r,o,s,l=""){let c=n;function d(e){let t=Number(c)+e*a;to&&(t=o),c=Number(Number(t).toFixed(1<=a?0:2)),u.querySelector(".adjust-value").innerText=""+c+i,g&&g.classList.toggle("disabled",c===o),p&&p.classList.toggle("disabled",c===r),s(c)}const u=We(`

    ${c}${i}

    - `,e,t,l),p=u.querySelector(".minus"),g=u.querySelector(".plus");return p&&g&&(p.classList.toggle("disabled",c===r),g.classList.toggle("disabled",c===o),p.onclick=()=>d(-1),g.onclick=()=>d(1)),u}var S={langName:"English",context:{queue:"Playing from queue",track:"Playing track",album:"Playing from album",artist:"Playing from artist",playlist:"Playing from playlist",playlistFolder:"Playing from playlist folder",search:"Playing from search",searchDest:"Songs",collection:"Playing from collection",likedSongs:"Liked Songs",trackRadio:"Playing from track radio",artistRadio:"Playing from artist radio",albumRadio:"Playing from album radio",playlistRadio:"Playing from playlist radio"},upnext:"UP NEXT",unknownArtist:"Artist (Unavailable)",settings:{switchToTV:"Switch to TV Mode",switchToFullscreen:"Switch to Default Mode",tvModeConfig:"TV Mode Configuration",fullscreenConfig:"Full Screen Configuration",exit:"Exit",pluginSettings:"Plugin Settings",fsHideOriginal:"Hide Stock Button",fsHideOriginalDescription:"Hide the spotify's stock fullscreen button(available to **Premium** users)",language:"Language",autoLaunch:{setting:"Auto launch(on spotify startup)",description:"**Limitation:** The spotify window cannot go into fullscreen while automatically launching on startup.",never:"Never(Default)",default:"Open Default Mode",tvmode:"Open TV Mode",lastused:"Last Used Mode"},activationTypes:{setting:"Activation Methods",description:"Choose the methods you want to use to activate the plugin. F and T keys, or buttons on topbar and bottom bar.",both:"Buttons and Keyboard Shortcuts",btns:"Buttons Only",keys:"Keyboard Shortcuts Only"},buttonActivation:{setting:"Customize Activation Buttons",description:"Choose the buttons you want for activation, on topbar(*TV Mode*) and bottom bar(*Default Mode*).",both:"Buttons for both modes",tv:"Button only for TV Mode",def:"Button only for Default Mode"},keyActivation:{setting:"Customize Activation Keys",description:"Choose the keys you want for activation. F for *Default Mode* and T for *TV Mode*",both:"Keys for both modes",tv:"Key only for TV Mode",def:"Key only for Default Mode"},lyricsHeader:"Lyrics Settings",lyrics:"Lyrics",lyricsDescription:["**Note:** You need the [lyrics-plus](https://spicetify.app/docs/advanced-usage/custom-apps#lyrics-plus) custom app to use this feature.","Follow the instructions in the link to install the custom app."],lyricsAlignment:{setting:"Lyrics Alignment",left:"Left",center:"Center",right:"Right"},autoHideLyrics:"Auto Hide Lyrics (when unavailable)",lyricsAnimationTempo:"Lyrics Animation Tempo",generalHeader:"General Settings",progressBar:"Progress Bar",playerControls:"Player Controls",trimTitle:"Trim Title",trimTitleUpNext:"Trim Title(Up Next)",showAlbum:{setting:"Show Album",never:"Never",always:"Always",date:"Show with Release Date"},showAllArtists:"Show All Artists",icons:"Icons",songChangeAnimation:"Song Change Animation",fullscreen:"Fullscreen",extraHeader:"Extra Functionality",backgroundChoice:{setting:"⭐ Background Choice",description:["**New:** Try out the **animated album art** option!","**Warning:** Looks beautiful but may be resource intensive, and is experimental."],dynamicColor:"Dynamic solid color",staticColor:"Static solid color",artwork:"Album art",animatedArt:"Animated Album Art (Experimental)",artist:"Artist artwork"},sidebarQueue:"Enable Queue in Sidebar (replaces the lyrics button)",sidebarQueueDescription:["Toggle the queue in the sidebar with Q or the button in the extra bar.","Make sure to enable the setting in Experimental features. Check [this.](https://github.com/daksh2k/Spicetify-stuff/issues/167#issuecomment-2199480598) "],extraControls:"Extra Controls",upnextDisplay:"Upnext Display",contextDisplay:{setting:"Context Display",always:"Always",never:"Never",mouse:"On mouse movement"},volumeDisplay:{setting:"Volume Bar Display",description:["In `smart` mode the volume bar will be displayed when:"," - you move your mouse to the left side of the screen."," - when the volume is changed."],always:"Always",never:"Never",smart:"Smart"},appearanceHeader:"Advanced/Appearance",appearanceSubHeader:"*(Only change if you know what you are doing!)*",backgroundHeader:"Background Modifications",backgroundSubHeader:"Comes with reasonable defaults, *(Only change if you know what you are doing!)*",backgroundColor:{setting:"Color Choice (for dynamic colored background)",vibrant:"Vibrant",prominent:"Prominent",desaturated:"Desaturated (recommended)",lightVibrant:"Light Vibrant",darkVibrant:"Dark Vibrant",vibrantNonAlarming:"Vibrant Non Alarming"},staticColor:"Color Choice (for static colored background)",themedButtons:"Themed Buttons",themedIcons:"Themed Icons",invertColors:{setting:"Invert Colors",never:"Never",always:"Always",auto:"Automatic (Based on BG)"},verticalMonitorSupport:"Vertical Monitor Support",verticalMonitorSupportDescription:"Enable this if you have a vertical monitor setup. Lyrics will be shown in the bottom, when the window height is greater than the width.",backAnimationTime:"Background Animation Time (for image background)",animationSpeed:"⭐ Animation Speed (for animated background)",upnextScroll:{setting:"Upnext Scroll Animation",mq:"Marquee/Scrolling",sp:"Spotify/Translating"},upnextTime:"Upnext Time to Show",backgroundBlur:"Background Blur",backgroundBrightness:"Background Brightness",aboutHeader:"About",configReset:"Reset Config",reload:"Reload Client"},tvBtnDesc:"TV Mode Display",fullscreenBtnDesc:"Full Screen"},A=t(N()),$e={"en-US":S,"it-IT":(0,A.default)({langName:"Italiano",context:{queue:"Riproduzione coda",track:"Riproduzione brano",album:"Riproduzione album",artist:"Riproduzione artista",playlist:"Riproduzione playlist",playlistFolder:"Riproduzione da cartella di playlist",search:"Riproduzione da ricerca",searchDest:"Brani",collection:"Riproduzione dalla libreria",likedSongs:"Brani che ti piacciono",trackRadio:"Radio dal brano",artistRadio:"Radio da artista",albumRadio:"Radio da album",playlistRadio:"Radio da playlist"},upnext:"In coda",unknownArtist:"Artista sconosciuto",settings:{switchToTV:"Passa alla modalità TV",switchToFullscreen:"Passa alla modalità schermo intero",tvModeConfig:"Modalità TV",fullscreenConfig:"Modalità schermo intero",exit:"Esci",pluginSettings:"Impostazioni plugin",fsHideOriginal:"Nascondi pulsante Schermo Intero di Premium",fsHideOriginalDescription:"Nascondi il pulsante Schermo Intero degli utenti **Spotify Premium**. Richiede un riavvio.",language:"Lingua",autoLaunch:{setting:"Apri automaticamente (all'apertura di Spotify)",description:"**Limitazione:** La finestra di Spotify non può entrare in modalità schermo intero durante l'avvio all'accensione.",never:"Mai (Predefinito)",default:"Apri in modalità default",tvmode:"Apri in modalità TV",lastused:"Apri con l'ultima modalità usata"},lyricsHeader:"Impostazioni testo",lyrics:"Mostra testo",lyricsDescription:["**Nota:** Serve [lyrics-plus](https://spicetify.app/docs/advanced-usage/custom-apps#lyrics-plus) per usare questa funzione.","Segui le instruzioni nel link per installare l'app."],lyricsAlignment:{setting:"Allineamento testo",left:"Sinistra",center:"Centro",right:"Destra"},lyricsAnimationTempo:"Durata animazione testo",generalHeader:"Impostazioni generali",progressBar:"Barra di avanzamento",playerControls:"Controlli player",trimTitle:"Accorcia titolo",trimTitleUpNext:"Accorcia titolo nel visualizzatore coda",showAlbum:{setting:"Mostra album",never:"Mai",always:"Sempre",date:"Con data di uscita"},showAllArtists:"Mostra tutti gli artisti",icons:"Icone",songChangeAnimation:"Animazione cambio brano",fullscreen:"Schermo intero",extraHeader:"Funzionalità aggiuntive",backgroundChoice:{setting:"Scelta sfondo",dynamicColor:"Tinta unita dinamica",staticColor:"Tinta unita fissa (scegli sotto)",artwork:"Immagine dell'album",artist:"Immagine dell'artista"},extraControls:"Controlli aggiuntivi",upnextDisplay:"Mostra il brano in coda",contextDisplay:{setting:"Mostra contesto",always:"Sempre",never:"Mai",mouse:"Al movimento del mouse"},volumeDisplay:{setting:"Mostra barra volume",description:["In modalità `smart` la barra del volume sarà mostrata quando:"," - muovi il mouse nella parte sinistra dello schermo."," - il volume viene cambiato."],always:"Sempre",never:"Mai",smart:"Smart"},appearanceHeader:"Avanzato/Aspetto",appearanceSubHeader:"Cambia solo se sai cosa stai facendo!",backgroundColor:{setting:"Colore su sfondo tinta unita",vibrant:"Vivace",prominent:"Evidente",desaturated:"Desaturato (raccomandato)",lightVibrant:"Vivace chiaro",darkVibrant:"Vivace scuro",vibrantNonAlarming:"Vivace delicato"},staticColor:"Scelta del colore per lo sfondo statico a tinta unita",themedButtons:"Pulsanti a tema",themedIcons:"Icone a tema",invertColors:{setting:"Inverti colori",never:"Mai",always:"Sempre",auto:"Automatico (basato su sfondo)"},backAnimationTime:"Durata animazione sfondo",upnextScroll:{setting:"Scorrimento Up next",mq:"Scorrimento",sp:"Traslazione"},upnextTime:"Tempo per mostrare Up next",backgroundBlur:"Sfocamento sfondo",backgroundBrightness:"Luminosità sfondo",aboutHeader:"A proposito",configReset:"Resetta configurazione",reload:"Ricarica client"},tvBtnDesc:"Modalità TV",fullscreenBtnDesc:"Schermo intero"},S),"zh-CN":(0,A.default)({langName:"简体中文",context:{queue:"正在从队列播放",track:"正在播放",album:"正在从专辑播放",artist:"正在从艺人播放",playlist:"正在从歌单播放",playlistFolder:"正在从歌单文件夹播放",search:"正在从搜索结果播放",searchDest:"歌曲",collection:"正在从合辑播放",likedSongs:"已点赞的歌曲",trackRadio:"正在从歌曲电台播放",artistRadio:"正在从艺人电台播放",albumRadio:"正在从专辑电台播放",playlistRadio:"正在从歌单电台播放"},upnext:"下一首",unknownArtist:"未知歌手",settings:{switchToTV:"切换至电视模式",switchToFullscreen:"切换至默认模式",tvModeConfig:"电视模式配置",fullscreenConfig:"全屏模式配置",exit:"退出",pluginSettings:"插件设置",fsHideOriginal:"隐藏切换至原版按钮 (Spotify Premium)",fsHideOriginalDescription:"隐藏原版的全屏按钮(仅对**Premium**用户有效). 需要重启",language:"语言",autoLaunch:{setting:"自动启动(当Spotify启动时)",description:"**限制:** 自动启动时Spotify窗口不能自动全屏",never:"从不(默认)",default:"进入默认模式",tvmode:"电视模式",lastused:"记忆上次使用状态"},activationTypes:{setting:"激活方式",description:"选择你要激活全屏的方式 FT 键, 或者顶栏和底栏的按钮. **需要重启**",both:"按钮和键盘快捷方式",btns:"仅按钮",keys:"仅键盘快捷方式"},buttonActivation:{setting:"自定义激活按钮",description:"选择你要激活全屏的按钮模式,顶栏(*电视模式*)和底栏(*默认模式) **需要重启**",both:"两者都要",tv:"仅电视模式",def:"仅普通模式"},keyActivation:{setting:"自定义激活快捷键",description:"选择激活全屏的快捷键模式 F 切换到*默认模式*, T 切换到*电视模式* **需要重启**",both:"两者都要",tv:"仅电视模式",def:"仅普通模式"},lyricsHeader:"歌词设置",lyrics:"歌词",lyricsDescription:["**注意:**你需要[lyrics-plus](https://spicetify.app/docs/advanced-usage/custom-apps#lyrics-plus)插件来启用歌词","根据连接里的指示来安装这个插件"],lyricsAlignment:{setting:"歌词对齐方式",left:"靠左",center:"居中",right:"靠右"},lyricsAnimationTempo:"歌词动画速度",generalHeader:"通用设置",progressBar:"播放进度条",playerControls:"播放控制",trimTitle:"缩短标题",trimTitleUpNext:"缩短标题 (下一首提示)",showAlbum:{setting:"显示标题",never:"永不",always:"总是",date:"与发布日期一起显示"},showAllArtists:"显示所有艺人",icons:"显示图标",songChangeAnimation:"切歌动画",fullscreen:"全屏",extraHeader:"额外功能",backgroundChoice:{setting:"背景选择",description:["**最新最热:** 试一下**带动画的专辑图** 选项 [灵感](https://github.com/surfbryce/beautiful-lyrics)","**警告:** 很漂亮,但是这可能占用较多资源,而且这是实验性的"],dynamicColor:"动态纯色",staticColor:"静态纯色(从下面选择)",artwork:"专辑图",animatedArt:"带动画的专辑图(实验性)",artist:"艺人照片"},extraControls:"额外控件",upnextDisplay:"下一首提示",contextDisplay:{setting:"内容来源显示",always:"总是",never:"从不",mouse:"当鼠标移动时"},volumeDisplay:{setting:"音量显示",description:["自动模式下音量条将会在以下情况显示:"," - 鼠标移动到屏幕左侧"," - 音量有变化"],always:"总是",never:"从不",smart:"自动"},appearanceHeader:"高级/外观",appearanceSubHeader:"*(不要动除非你知道自己在做什么)*",backgroundColor:{setting:"纯色背景的颜色配置",vibrant:"Vibrant",prominent:"Prominent",desaturated:"Desaturated (推荐)",lightVibrant:"Light Vibrant",darkVibrant:"Dark Vibrant",vibrantNonAlarming:"Vibrant Non Alarming"},themedButtons:"主题色按钮",themedIcons:"主题色图标",invertColors:{setting:"反转颜色",never:"从不",always:"总是",auto:"自动(基于背景)"},backAnimationTime:"背景动画时间",upnextScroll:{setting:"下一首提示滚动",mq:"Marquee/滚动",sp:"Spotify/变换"},upnextTime:"下一首提示显示时间",backgroundBlur:"背景模糊",backgroundBrightness:"背景亮度",aboutHeader:"关于",configReset:"重置配置",reload:"重新载入应用"},tvBtnDesc:"电视模式显示",fullscreenBtnDesc:"全屏"},S),"de-DE":(0,A.default)({langName:"Deutsch",context:{queue:"Wiedergabe aus der Warteschlange",track:"Titel spielen",album:"Abspielen von Album",artist:"Abspielen von Künstler",playlist:"Abspielen von Playlist",playlistFolder:"Wiedergabe aus dem Playlist-Ordner",search:"Wiedergabe aus Suche",searchDest:"Lieder",collection:"Abspielen aus Sammlung",likedSongs:"Lieblingssongs",trackRadio:"Abspielen von Titel Radio",artistRadio:"Abspielen von Künstler Radio",albumRadio:"Abspielen von Alben Radio",playlistRadio:"Abspielen von Playlist Radio"},upnext:"ALS NÄCHSTES",unknownArtist:"Künstler (nicht verfügbar)",settings:{switchToTV:"Wechseln zu TV-Modus",switchToFullscreen:"Einstellungen des Vollbildmodis",tvModeConfig:"Konfiguration des TV-Modus",fullscreenConfig:"Vollbildmodus konfiguration",exit:"Exit",pluginSettings:"Plugin Einstellungen",fsHideOriginal:"Stock-Schaltfläche ausblenden (Spotify Premium)",language:"Sprache",lyricsHeader:"Ausrichtung des Liedtextes",lyrics:"Liedtext",lyricsAlignment:{setting:"Liedtext Ausrichtung",left:"Links",center:"Center",right:"Rechts"},lyricsAnimationTempo:"Liedtext Animationtempo",generalHeader:"Allgemeine Einstellungen",progressBar:"Fortschritt anzeige",playerControls:"Wiedegergabe steuerung",trimTitle:"Titel trimmen",trimTitleUpNext:"Trim Title(Up Next)",showAlbum:{setting:"Album anzeigen",never:"Niemals",always:"Immer",date:"Veröffentlichungsdatum anzeigen"},showAllArtists:"Alle Künstler anzeigen",icons:"Symbole",songChangeAnimation:"Songwechsel-Animation",fullscreen:"Vollbildmodus",extraHeader:"Zusätzliche Funktionalität",backgroundChoice:{setting:"Hintergrundauswahl",color:"Einfarbig",artwork:"Titelbild"},extraControls:"Zusätzliche Steuerelemente",upnextDisplay:"Nächste-titel Anzeige",contextDisplay:{setting:"Kontextanzeige",always:"Immer",never:"Niemals",mouse:"Bei Mausbewegung"},volumeDisplay:{setting:"Anzeige der Lautstärkenleiste",always:"Immer",never:"Niemals",mouse:"Bei Mausbewegung",volume:"Bei Lautstärkeänderung"},appearanceHeader:"Erweitert/Aussehen",appearanceSubHeader:"Achtung! Ändern diese Einstellungen, wenn Sie wissen, was Sie tun!",backgroundColor:{setting:"Farbwahl auf farbigem Hintergrund",vibrant:"Beschwingt",prominent:"Prominente",desaturated:"Entsättigt (empfohlen)",lightVibrant:"Hell lebendig",darkVibrant:"Dunkel lebendig",vibrantNonAlarming:"Lebhaft, nicht alarmierend"},themedButtons:"Themed Tasten",themedIcons:"Themed Symbole",invertColors:{setting:"Farben umkehren",never:"Niemals",always:"Immer",auto:"Automatisch (basierend auf Hintergrund)"},backAnimationTime:"Background Animation Time",upnextScroll:{setting:"Nächstes Lied Scroll-Animation",mq:"Marquee/Scrolling",sp:"Spotify/Translating"},upnextTime:"Nächster Titel Anzeigedauer",backgroundBlur:"Hintergrund Blur",backgroundBrightness:"Hintergrund Brightness",configReset:"Konfig zurücksetzen",reload:"Client neu laden"},tvBtnDesc:"TV Modus",fullscreenBtnDesc:"Vollbild"},S),"tr-TR":(0,A.default)({langName:"Turkish",context:{queue:"Çalma sırasından çalınıyor",track:"Parça çalınıyor",album:"Albümden oynatılıyor",artist:"Sanatçı'dan oynatılıyor",playlist:"Çalma Listesi'den oynatılıyor",playlistFolder:"Çalma Listesi Klasöründen oynatılıyor",search:"Arama'dan oynatılıyor",searchDest:"Parçalar",collection:"Koleksiyon'dan oynatılıyor",likedSongs:"Beğenilen şarkılar",trackRadio:"Parça Radyosu'ndan oynatılıyor",artistRadio:"Sanatçı Radyosu'ndan oynatılıyor",albumRadio:"Albüm Radyosu'ndan oynatılıyor",playlistRadio:"Çalma Listesi Radyosu'ndan oynatılıyor"},upnext:"SONRAKİ",unknownArtist:"Sanatçı (Mevcut değil)",settings:{switchToTV:"TV Moduna geç",switchToFullscreen:"Tam ekran moduna geç",tvModeConfig:"TV Modu ayarları",fullscreenConfig:"Tam ekran modu ayarları",exit:"Çık",pluginSettings:"Eklenti ayarları",fsHideOriginal:"Tam ekran tuşunu gizle(Spotify Premium kullanıcıları için)",language:"Dil",lyricsHeader:"Şarkı sözleri ayarları",lyrics:"Şarkı sözleri",lyricsAlignment:{setting:"Şarkı sözleri konumu",left:"Sol",center:"Orta",right:"Sağ"},lyricsAnimationTempo:"Şarkı sözleri animasyonu hızı",generalHeader:"Genel ayarlar",progressBar:"İlerleme çubuğu",playerControls:"Oynatıcı kontrolleri",trimTitle:"Başlığı kırp",trimTitleUpNext:"Başlığı kırp (Sonraki şarkı gösterimi)",showAlbum:{setting:"Albüm'ü göster",never:"Asla",always:"Her zaman",date:"Albüm'ün yayınlanma tarihini göster"},showAllArtists:"Şarkıya katkısı olan tüm sanatçıları göster",icons:"Simgeler",songChangeAnimation:"Şarkı değiştirme animasyonu",fullscreen:"Tam ekran",extraHeader:"Ekstra özellikler",backgroundChoice:{setting:"Arka plan özellikleri",color:"Tek renk",artwork:"Albüm kapağı"},extraControls:"Ekstra Kontroller",upnextDisplay:"Sonraki şarkıyı gösterme",contextDisplay:{setting:"Ayrıntıları gösterme",always:"Her zaman",never:"Asla",mouse:"Yalnızca mause hareketinde"},volumeDisplay:{setting:"Ses çubuğunu gösterme",always:"Her zaman",never:"Asla",mouse:"Yalnızca mause hareketinde",volume:"Yalnızca ses düzeyi değiştiği zaman"},appearanceHeader:"Gelişmiş/Görünüm",appearanceSubHeader:"Dikkat! Yalnızca ne yaptığını biliyorsan değiştir.",backgroundColor:{setting:"Arkaplan özel renk tercihi",vibrant:"Parlak",prominent:"Öne çıkan",desaturated:"Soluk (önerilir)",lightVibrant:"Açık parlak",darkVibrant:"Karanlık parlak",vibrantNonAlarming:"Göz almayan parlak"},themedButtons:"Albüm resminin renklerine göre tuşlar",themedIcons:"Albüm resminin renklerine göre simgeler",invertColors:{setting:"Renkleri ters çevir",never:"Asla",always:"Her zaman",auto:"Otomatik (Arka plana göre)"},backAnimationTime:"Arkaplan animasyon stili",upnextScroll:{setting:"Sonraki şarkı yazı animasyonu",mq:"Marquee/Kayan",sp:"Spotify/Sağa sola giden"},upnextTime:"Sonraki şarkı kaçıncı saniyeden sonra gösterilsin? ",backgroundBlur:"Arkaplan'ı bulanıklaştır",backgroundBrightness:"Arka plan parlaklığı",configReset:"Ayarları sıfırla",reload:"İstemciyi (Spotify) yenile (F5)"},tvBtnDesc:"TV Modu'nu göster",fullscreenBtnDesc:"Tam ekran"},S),"ru-RU":(0,A.default)({langName:"Русский",context:{queue:"Воспроизведение из очереди",track:"Воспроизведение трека",album:"Воспроизведение из альбома",artist:"Воспроизведение со страницы исполнителя",playlist:"Воспроизведение из плейлиста",playlistFolder:"Воспроизведение из папки плейлистов",search:"Воспроизведение из поиска",searchDest:"Треки",collection:"Воспроизведение из коллекции",likedSongs:"Любимые треки",trackRadio:"Воспроизведение из радио по треку",artistRadio:"Воспроизведение из радио по исполнителю",albumRadio:"Воспроизведение из радио по альбому",playlistRadio:"Воспроизведение из радио по плейлисту"},upnext:"СЛЕДУЮЩЕЕ",unknownArtist:"Исполнитель (Недоступен)",settings:{switchToTV:"Переключиться на ТВ-режим",switchToFullscreen:"Переключиться на режим По-умолчанию",tvModeConfig:"Настройки ТВ-режима",fullscreenConfig:"Настройки Полного экрана",exit:"Выход",pluginSettings:"Настройки плагина",fsHideOriginal:"Скрыть стоковую кнопку",fsHideOriginalDescription:"Скрывает кнопку Spotify для открытия стокового полноэкранного режима (доступна **Премиум** пользователям). Требуется перезагрузка.",language:"Язык",autoLaunch:{setting:"Авто-запуск (при запуске Spotify)",description:"**Ограничение:** Окно Spotify не может быть развернуто на весь экран при авто-запуске плагина.",never:"Никогда (по-умолчанию)",default:"Открыть режим По-умолчанию",tvmode:"Открыть ТВ-режим",lastused:"Последний использованный режим"},activationTypes:{setting:"Способы активации",description:"Выберите способы активации плагина. Клавиши F и T или кнопки на верхней и нижней панелях. **Требуется перезагрузка**",both:"Кнопки и сочетания клавиш",btns:"Только кнопки",keys:"Только сочетания клавиш"},buttonActivation:{setting:"Настройки кнопок активации",description:"Выберите кнопки активации плагина на верхней (*ТВ-режим*) и нижней (*режим По-умолчанию*) панелях. **Требуется перезагрузка**",both:"Кнопки обоих режимов",tv:"Кнопка только ТВ-режима",def:"Кнопка только режима По-умолчанию"},keyActivation:{setting:"Настройки клавиш активации",description:"Выберите клавиши для активации. F для *режима По-умолчанию* и T для *ТВ-режима* **Требуется перезагрузка**",both:"Клавиши для обоих режимов",tv:"Клавиша только для ТВ-режима",def:"Клавиша только для режима По-умолчанию"},lyricsHeader:"Настройки текста",lyrics:"Текст трека",lyricsDescription:["**Внимание:** Требуется приложение [lyrics-plus](https://spicetify.app/docs/advanced-usage/custom-apps#lyrics-plus) для использования этой функции.","Следуйте инструкциям по ссылке для его установки."],lyricsAlignment:{setting:"Выравнивание текста",left:"По левому краю",center:"По центру",right:"По правому краю"},lyricsAnimationTempo:"Скорость анимации текста",generalHeader:"Основные настройки",progressBar:"Полоса воспроизведения",playerControls:"Элементы управления воспроизведением",trimTitle:"Обрезать название",trimTitleUpNext:"Обрезать название (следующего трека)",showAlbum:{setting:"Отображать альбом",never:"Никогда",always:"Всегда",date:"Отображать с датой релиза"},showAllArtists:"Отображать всех исполнителей",icons:"Иконки",songChangeAnimation:"Анимация переключения трека",fullscreen:"Полный экран",extraHeader:"Дополнительные настройки",backgroundChoice:{setting:"Задний фон",description:["**Новое:** Попробуйте настройку **анимированная обложка альбома**! [Вдохновение](https://github.com/surfbryce/beautiful-lyrics)","**Внимание:** Выглядит очень красиво, но потребляет больше ресурсов и является экспериментальной функцией."],dynamicColor:"Динамическая заливка сплошным цветом",staticColor:"Статическая заливка сплошным цветом (Выберите ниже)",artwork:"Обложка альбома",animatedArt:"Анимированная обложка альбома (Экспериментально)",artist:"Изображение артиста"},extraControls:"Дополнительные элементы управления",upnextDisplay:"Отображать следующий трек",contextDisplay:{setting:"Отображение контекста воспроизведения",always:"Всегда",never:"Никогда",mouse:"При движении мыши"},volumeDisplay:{setting:"Отображать полосу громкости",description:["В `умном` режиме полоса громкости будет отображена при:"," - движении мыши к левой части экрана."," - изменении громкости."],always:"Всегда",never:"Никогда",smart:"Умный режим"},appearanceHeader:"Расширенные настройки внешнего вида",appearanceSubHeader:"*(Изменяйте, только если знаете, что делаете!)*",backgroundColor:{setting:"Тип цвета динамической заливки заднего фона",vibrant:"Насыщенный",prominent:"Яркий",desaturated:"Приглушенный (рекомендуется)",lightVibrant:"Насыщенный светлый",darkVibrant:"Насыщенный темный",vibrantNonAlarming:"Насыщенный спокойный"},staticColor:"Цвет статичной заливки заднего фона",themedButtons:"Цветные кнопки",themedIcons:"Цветные иконки",invertColors:{setting:"Инвертировать цвета",never:"Никогда",always:"Всегда",auto:"Автоматически (на основе фона)"},backAnimationTime:"Длительность анимации смены фона",upnextScroll:{setting:"Анимация смены трека",mq:"Marquee/Прокрутка",sp:"Spotify/Переход"},upnextTime:"Время отображения следующего трека",backgroundBlur:"Размытие фона",backgroundBrightness:"Яркость фона",aboutHeader:"О расширении",configReset:"Сбросить настройки",reload:"Перезагрузить приложение"},tvBtnDesc:"ТВ-режим",fullscreenBtnDesc:"Полный экран"},S),"vi-VN":(0,A.default)({langName:"Tiếng Việt",context:{queue:"Đang phát từ hàng chờ",track:"Đang phát từ bài hát",album:"Đang phát từ album",artist:"Đang phát từ nghệ sĩ",playlist:"Đang phát từ danh sách phát",playlistFolder:"Đang phát từ thư mục danh sách phát",search:"Đang phát từ tìm kiếm",searchDest:"Bài hát",collection:"Đang phát từ bộ sưu tập",likedSongs:"Bài hát đã thích",trackRadio:"Đang phát từ đài phát của bài hát",artistRadio:"Đang phát từ đài phát của nghệ sĩ",albumRadio:"Đang phát từ đài phát của album",playlistRadio:"Đang phát từ đài phát của danh sách phát"},upnext:"TIẾP THEO",unknownArtist:"Nghệ sĩ (Không khả dụng)",settings:{switchToTV:"Chuyển sang chế độ TV",switchToFullscreen:"Chuyển sang chế độ mặc định",tvModeConfig:"Tùy chỉnh chế độ TV",fullscreenConfig:"Tùy chính chế độ toàn màn hình",exit:"Thoát",pluginSettings:"Cài đặt Plugin",fsHideOriginal:"Ẩn nút mặc định",fsHideOriginalDescription:"Ẩn nút toàn màn hình mặc định của Spotify (yêu cầu là người dùng **Premium**). Yêu cầu tải lại.",language:"Ngôn ngữ",autoLaunch:{setting:"Tự khởi động (khi Spotify khởi động)",description:"**Hạn chế:** Cửa sổ Spotify sẽ không thể mở toàn màn hình khi được tự động khởi chạy với hệ thống.",never:"Không bao giờ (Mặc định)",default:"Mở chế độ mặc định",tvmode:"Mở chế độ TV",lastused:"Chế độ dùng lần cuối"},activationTypes:{setting:"Phương thức kích hoạt",description:"Chọn phương thức bạn muốn để kích hoạt Plugin. Phím FT, hoặc là nút ở trên thanh điều hướng và thanh trình phát. **Yêu cầu tải lại**",both:"Nút và phím tắt",btns:"Chỉ nút",keys:"Chỉ phím tắt"},buttonActivation:{setting:"Tùy chính nút kích hoạt",description:"Chọn nút bạn muốn để kích hoạt, trên thanh điều hướng (*Chế độ TV*) và thanh trình phát (*Chế độ mặc định*). **Yêu cầu tải lại**",both:"Nút cho cả hai chế độ",tv:"Chỉ cho chế độ TV",def:"Chỉ cho chế độ mặc định"},keyActivation:{setting:"Tùy chỉnh phím kích hoạt",description:"Chọn phím bạn muốn để kích hoạt. F cho *Chế độ mặc định* và T cho *Chế độ TV* **Yêu cầu tải lại**",both:"Phím cho cả hai chế độ",tv:"Chỉ cho chế độ TV",def:"Chỉ cho chế độ mặc định"},lyricsHeader:"Cài đặt lời bài hát",lyrics:"Lời bài hát",lyricsDescription:["**Ghi chú:** Bạn sẽ cần ứng dụng [lyrics-plus](https://spicetify.app/docs/advanced-usage/custom-apps#lyrics-plus) để dùng tính năng này.","Làm theo các bước trên chỉ dẫn để cài đặt ứng dụng."],lyricsAlignment:{setting:"Căn chỉnh lời bài hát",left:"Trái",center:"Giữa",right:"Phải"},lyricsAnimationTempo:"Nhịp điệu hoạt họa",generalHeader:"Cài đặt tổng quát",progressBar:"Thanh tiến trình",playerControls:"Điều khiển trình phát",trimTitle:"Lược bỏ tiêu đề",trimTitleUpNext:"Lược bỏ tiêu đề (Bài hát kế tiếp)",showAlbum:{setting:"Hiện album",never:"Không bao giờ",always:"Luôn hiện",date:"Hiện với ngày phát hành"},showAllArtists:"Hiện toàn bộ nghệ sĩ",icons:"Icon",songChangeAnimation:"Hoạt họa chuyển bài hát",fullscreen:"Toàn màn hình",extraHeader:"Tính năng bổ sung",backgroundChoice:{setting:"Tùy chọn hình nền",dynamicColor:"Hình nền màu động",staticColor:"Hình nền màu tĩnh (Chọn bên dưới)",artwork:"Ảnh bìa album",artist:"Ảnh bìa nghệ sĩ"},extraControls:"Điều khiển bổ sung",upnextDisplay:"Hiện bài hát tiếp theo",contextDisplay:{setting:"Hiện tùy chọn",always:"Luôn hiện",never:"Không bao giờ",mouse:"Khi chuột di chuyển"},volumeDisplay:{setting:"Hiển thị thanh âm lượng",description:["Trong chế độ `thông minh`, thanh âm lượng sẽ được hiển thị khi:"," - bạn di chuyển chuột về phía trái màn hình."," - âm lượng thay đổi."],always:"Luôn hiện",never:"Không bao giờ",smart:"Thông minh"},appearanceHeader:"Nâng cao/Giao diện",appearanceSubHeader:"*(Chỉ thay đổi nếu bạn biết bạn đang làm gì!)*",backgroundColor:{setting:"Tùy chọn màu cho hình nền màu động",vibrant:"Sống động",prominent:"Nổi bật",desaturated:"Khử bão hòa (được khuyến nghị)",lightVibrant:"Sống động (sáng)",darkVibrant:"Sống động (tối)",vibrantNonAlarming:"Không quá sống động"},staticColor:"Tùy chọn màu cho hình nền màu tĩnh",themedButtons:"Nút được chỉnh theo màu",themedIcons:"Icon được chỉnh theo màu",invertColors:{setting:"Đảo ngược màu",never:"Không bao giờ",always:"Luôn đảo ngược",auto:"Tự động (Dựa trên hình nền)"},backAnimationTime:"Thời gian hoạt họa của hình nền",upnextScroll:{setting:"Hoạt họa của bài hát tiếp theo",mq:"Marquee/Scrolling",sp:"Spotify/Translating"},upnextTime:"Thời gian hiện thông báo bài hát tiếp theo",backgroundBlur:"Làm mờ hình nền",backgroundBrightness:"Độ sáng hình nền",aboutHeader:"Thông tin",configReset:"Đặt lại cài đặt",reload:"Tải lại Client"},tvBtnDesc:"Chế độ TV",fullscreenBtnDesc:"Toàn màn hình"},S),"es-ES":(0,A.default)({langName:"Spanish",context:{queue:"Reproduciendo desde la cola",track:"Reproduciendo la pista",album:"Reproduciendo desde el álbum",artist:"Reproduciendo desde el artista",playlist:"Reproduciendo desde la lista de reproducción",playlistFolder:"Reproduciendo desde la carpeta de listas de reproducción",search:"Reproduciendo desde la búsqueda",searchDest:"Canciones",collection:"Reproduciendo desde la colección",likedSongs:"Canciones favoritas",trackRadio:"Reproduciendo desde la radio de la pista",artistRadio:"Reproduciendo desde la radio del artista",albumRadio:"Reproduciendo desde la radio del álbum",playlistRadio:"Reproduciendo desde la radio de la lista de reproducción"},upnext:"SIGUIENTE",unknownArtist:"Artista (No disponible)",settings:{switchToTV:"Cambiar a modo TV",switchToFullscreen:"Cambiar a modo pantalla completa",tvModeConfig:"Configuración del modo TV",fullscreenConfig:"Configuración de pantalla completa",exit:"Salir",pluginSettings:"Configuración del complemento",fsHideOriginal:"Ocultar el botón de pantalla completa de Spotify",fsHideOriginalDescription:"Oculta el botón de pantalla completa de Spotify (solo disponible para usuarios **Premium**)",language:"Idioma",autoLaunch:{setting:"Lanzamiento automático (al iniciar Spotify)",description:"**Limitación:** La ventana de Spotify no puede ir a pantalla completa al iniciarse automáticamente.",never:"Nunca (predeterminado)",default:"Abrir el modo predeterminado",tvmode:"Abrir el modo TV",lastused:"Último modo usado"},activationTypes:{setting:"Métodos de activación",description:"Elige los métodos que quieres usar para activar el complemento. Los atajos de teclado F y T, o los botones en la barra superior e inferior.",both:"Botones y atajos de teclado",btns:"Botones solo",keys:"Atajos de teclado solo"},buttonActivation:{setting:"Personalizar los botones de activación",description:"Elige los botones que quieres para la activación, en la barra superior (*Modo TV*) y en la barra inferior (*Modo predeterminado*).",both:"Botones para ambos modos",tv:"Botón solo para el modo TV",def:"Botón solo para el modo predeterminado"},keyActivation:{setting:"Personalizar los atajos de activación",description:"Elige los atajos que quieres para la activación. F para el *Modo predeterminado* y T para el *Modo TV*",both:"Atajos para ambos modos",tv:"Atajo solo para el modo TV",def:"Atajo solo para el modo predeterminado"},lyricsHeader:"Configuración de las letras",lyrics:"Letras",lyricsDescription:["**Nota:** Necesitas la aplicación personalizada [lyrics-plus](https://spicetify.app/docs/advanced-usage/custom-apps#lyrics-plus) para usar esta función.","Sigue las instrucciones del enlace para instalar la aplicación personalizada."],lyricsAlignment:{setting:"Alineación de las letras",left:"Izquierda",center:"Centro",right:"Derecha"},autoHideLyrics:"Ocultar las letras automáticamente (cuando no estén disponibles)",lyricsAnimationTempo:"Tempo de la animación de las letras",generalHeader:"Configuración general",progressBar:"Barra de progreso",playerControls:"Controles del reproductor",trimTitle:"Recortar título",trimTitleUpNext:"Recortar título (Siguiente)",showAlbum:{setting:"Mostrar álbum",never:"Nunca",always:"Siempre",date:"Mostrar con fecha de lanzamiento"},showAllArtists:"Mostrar todos los artistas",icons:"Iconos",songChangeAnimation:"Animación de cambio de canción",fullscreen:"Pantalla completa",extraHeader:"Funcionalidad adicional",backgroundChoice:{setting:"⭐ Elección de fondo",description:["**Nuevo:** ¡Prueba la opción de **obra de arte del álbum animado**!","**Advertencia:** Se ve hermoso, pero puede ser intensivo en recursos y es experimental."],dynamicColor:"Color sólido dinámico",staticColor:"Color sólido estático",artwork:"Obra de arte del álbum",animatedArt:"Obra de arte del álbum animada (Experimental)",artist:"Obra de arte del artista"},extraControls:"Controles adicionales",upnextDisplay:"Visualización de la lista de reproducción",contextDisplay:{setting:"Visualización de contexto",always:"Siempre",never:"Nunca",mouse:"Al mover el mouse"},volumeDisplay:{setting:"Visualización de la barra de volumen",description:["En el modo `inteligente`, la barra de volumen se mostrará cuando:"," - mueves el mouse al lado izquierdo de la pantalla."," - cuando se cambia el volumen."],always:"Siempre",never:"Nunca",smart:"Inteligente"},appearanceHeader:"Apariencia avanzada/Apariencia",appearanceSubHeader:"*(Solo cambia si sabes lo que estás haciendo!)*",backgroundHeader:"Modificaciones de fondo",backgroundSubHeader:"Viene con valores predeterminados razonables, *(solo cambia si sabes lo que estás haciendo!)*",backgroundColor:{setting:"Elección de color (para fondo de color dinámico)",vibrant:"Vibrante",prominent:"Prominente",desaturated:"Desaturado (recomendado)",lightVibrant:"Vibrante claro",darkVibrant:"Vibrante oscuro",vibrantNonAlarming:"Vibrante sin alarma"},staticColor:"Elección de color (para fondo de color estático)",themedButtons:"Botones temáticos",themedIcons:"Iconos temáticos",invertColors:{setting:"Invertir colores",never:"Nunca",always:"Siempre",auto:"Automático (Basado en BG)"},backAnimationTime:"Tiempo de animación de fondo (para fondo de imagen)",animationSpeed:"⭐ Velocidad de animación (para fondo animado)",upnextScroll:{setting:"Animación de desplazamiento de la lista de reproducción",mq:"Marquesina/Desplazamiento",sp:"Spotify/Traducción"},upnextTime:"Tiempo de visualización de la lista de reproducción",backgroundBlur:"Desenfoque de fondo",backgroundBrightness:"Brillo de fondo",aboutHeader:"Acerca de",configReset:"Restablecer configuración",reload:"Recargar cliente"},tvBtnDesc:"Visualización del modo TV",fullscreenBtnDesc:"Pantalla completa"},S),"fr-FR":(0,A.default)({langName:"Français",context:{queue:"Lecture de la file d'attente",track:"Lecture de la piste",album:"Lecture de l'album",artist:"Lecture de l'artiste",playlist:"Lecture de la playlist",playlistFolder:"Lecture du dossier de playlist",search:"Lecture de la recherche",searchDest:"Chansons",collection:"Lecture de la collection",likedSongs:"Chansons aimées",trackRadio:"Lecture de la radio de la piste",artistRadio:"Lecture de la radio de l'artiste",albumRadio:"Lecture de la radio de l'album",playlistRadio:"Lecture de la radio de la playlist"},upnext:"À SUIVRE",unknownArtist:"Artiste (Indisponible)",settings:{switchToTV:"Passer en mode TV",switchToFullscreen:"Revenir au mode par défaut",tvModeConfig:"Configuration du mode TV",fullscreenConfig:"Configuration en plein écran",exit:"Quitter",pluginSettings:"Paramètres du plugin",fsHideOriginal:"Masquer le bouton d'origine",fsHideOriginalDescription:"Masquez le bouton de plein écran d'origine de Spotify (disponible pour les utilisateurs **Premium**)",language:"Langue",autoLaunch:{setting:"Lancement automatique (au démarrage de Spotify)",description:"**Limitation :** La fenêtre de Spotify ne peut pas passer en mode plein écran lors du démarrage automatique.",never:"Jamais (Par défaut)",default:"Ouvrir en mode par défaut",tvmode:"Ouvrir en mode TV",lastused:"Dernier mode utilisé"},activationTypes:{setting:"Méthodes d'activation",description:"Choisissez les méthodes que vous souhaitez utiliser pour activer le plugin. Touches F et T, ou boutons dans la barre supérieure et la barre inférieure.",both:"Boutons et raccourcis clavier",btns:"Boutons uniquement",keys:"Raccourcis clavier uniquement"},buttonActivation:{setting:"Personnaliser les boutons d'activation",description:"Choisissez les boutons que vous souhaitez utiliser pour l'activation, dans la barre supérieure (*Mode TV*) et la barre inférieure (*Mode par défaut*).",both:"Boutons pour les deux modes",tv:"Bouton uniquement pour le mode TV",def:"Bouton uniquement pour le mode par défaut"},keyActivation:{setting:"Personnaliser les touches d'activation",description:"Choisissez les touches que vous souhaitez utiliser pour l'activation. Touche F pour le *Mode par défaut* et T pour le *Mode TV*",both:"Touches pour les deux modes",tv:"Touche uniquement pour le mode TV",def:"Touche uniquement pour le mode par défaut"},lyricsHeader:"Paramètres des paroles",lyrics:"Paroles",lyricsDescription:["**Remarque :** Vous avez besoin de l'application personnalisée [lyrics-plus](https://spicetify.app/docs/advanced-usage/custom-apps#lyrics-plus) pour utiliser cette fonctionnalité.","Suivez les instructions du lien pour installer l'application personnalisée."],lyricsAlignment:{setting:"Alignement des paroles",left:"Gauche",center:"Centre",right:"Droite"},autoHideLyrics:"Masquer automatiquement les paroles (lorsque pas disponibles)",lyricsAnimationTempo:"Tempo de l'animation des paroles",generalHeader:"Paramètres généraux",progressBar:"Barre de progression",playerControls:"Contrôles du lecteur",trimTitle:"Réduire le titre",trimTitleUpNext:"Réduire le titre (À suivre)",showAlbum:{setting:"Afficher l'album",never:"Jamais",always:"Toujours",date:"Afficher avec la date de sortie"},showAllArtists:"Afficher tous les artistes",icons:"Icônes",songChangeAnimation:"Animation de changement de chanson",fullscreen:"Plein écran",extraHeader:"Fonctionnalités supplémentaires",backgroundChoice:{setting:"⭐ Choix de l'arrière-plan",description:["**Nouveau :** Essayez l'option **image d'album animée** !","**Avertissement :** Cela peut être très beau, mais peut consommer des ressources et est expérimental."],dynamicColor:"Couleur solide dynamique",staticColor:"Couleur solide statique",artwork:"Image d'album",animatedArt:"Image d'album animée (Expérimental)",artist:"Image de l'artiste"},extraControls:"Contrôles supplémentaires",upnextDisplay:"Affichage À suivre",contextDisplay:{setting:"Affichage du contexte",always:"Toujours",never:"Jamais",mouse:"Lors du mouvement de la souris"},volumeDisplay:{setting:"Affichage de la barre de volume",description:["En mode `intelligent`, la barre de volume s'affichera lorsque :"," - vous déplacez votre souris vers le côté gauche de l'écran."," - lorsque le volume est modifié."],always:"Toujours",never:"Jamais",smart:"Intelligent"},appearanceHeader:"Paramètres avancés/Aspect",appearanceSubHeader:"*(À changer uniquement si vous savez ce que vous faites !)*",backgroundHeader:"Modifications de l'arrière-plan",backgroundSubHeader:"Fournit des valeurs par défaut raisonnables, *(À changer uniquement si vous savez ce que vous faites !)*",backgroundColor:{setting:"Choix de la couleur (pour un arrière-plan coloré dynamique)",vibrant:"Vibrante",prominent:"Prominente",desaturated:"Désaturée (recommandée)",lightVibrant:"Légèrement vibrante",darkVibrant:"Foncé vibrante",vibrantNonAlarming:"Vibrante non alarmante"},staticColor:"Choix de la couleur (pour un arrière-plan coloré statique)",themedButtons:"Boutons thématiques",themedIcons:"Icônes thématiques",invertColors:{setting:"Inverser les couleurs",never:"Jamais",always:"Toujours",auto:"Automatique (basé sur le fond)"},backAnimationTime:"Temps d'animation de l'arrière-plan (pour l'arrière-plan image)",animationSpeed:"⭐ Vitesse d'animation (pour l'arrière-plan animé)",upnextScroll:{setting:"Animation de défilement À suivre",mq:"Marquee/Defilement",sp:"Spotify/Translation"},upnextTime:"Temps pour afficher À suivre",backgroundBlur:"Flou de l'arrière-plan",backgroundBrightness:"Luminosité de l'arrière-plan",aboutHeader:"À propos",configReset:"Réinitialiser la configuration",reload:"Recharger le client"},tvBtnDesc:"Affichage du mode TV",fullscreenBtnDesc:"Plein écran"},S),"id-ID":(0,A.default)({langName:"Bahasa Indonesia",context:{queue:"Memutar dari antrian",track:"Memutar lagu",album:"Memutar dari album",artist:"Memutar dari artis",playlist:"Memutar dari playlist",playlistFolder:"Memutar dari folder playlist",search:"Memutar dari hasil pencarian",searchDest:"Lagu",collection:"Memutar dari koleksi",likedSongs:"Lagu yang disukai",trackRadio:"Memutar dari trek radio",artistRadio:"Memutar dari radio artis",albumRadio:"Memutar dari album radio",playlistRadio:"Memutar dari playlist radio"},upnext:"SELANJUTNYA",unknownArtist:"Artis (Tidak Tersedia)",settings:{switchToTV:"Beralih ke Mode TV",switchToFullscreen:"Beralih ke Mode Default",tvModeConfig:"Konfigurasi Mode TV",fullscreenConfig:"Konfigurasi Layar Penuh",exit:"Keluar",pluginSettings:"Pengaturan Plugin",fsHideOriginal:"Sembunyikan Tombol Default",fsHideOriginalDescription:"Sembunyikan tombol layar penuh bawaan Spotify (tersedia untuk pengguna **Premium**)",language:"Bahasa",autoLaunch:{setting:"Auto-launch (saat startup Spotify)",description:"**Batasan:** Jendela Spotify tidak dapat masuk ke mode layar penuh saat diluncurkan secara otomatis pada startup.",never:"Tidak Pernah (Default)",default:"Buka Mode Default",tvmode:"Buka Mode TV",lastused:"Mode Terakhir yang Digunakan"},activationTypes:{setting:"Metode Aktivasi",description:"Pilih metode yang ingin Anda gunakan untuk mengaktifkan plugin. Tombol F dan T, atau tombol di bilah atas dan bawah.",both:"Tombol dan Pintasan Keyboard",btns:"Hanya Tombol",keys:"Hanya Pintasan Keyboard"},buttonActivation:{setting:"Sesuaikan Tombol Aktivasi",description:"Pilih tombol yang ingin Anda gunakan untuk aktivasi, di bilah atas (*Mode TV*) dan bawah (*Mode Default*).",both:"Tombol untuk kedua mode",tv:"Tombol hanya untuk Mode TV",def:"Tombol hanya untuk Mode Default"},keyActivation:{setting:"Sesuaikan Tombol Aktivasi",description:"Pilih tombol yang ingin Anda gunakan untuk aktivasi. F untuk *Mode Default* dan T untuk *Mode TV*",both:"Tombol untuk kedua mode",tv:"Tombol hanya untuk Mode TV",def:"Tombol hanya untuk Mode Default"},lyricsHeader:"Pengaturan Lirik",lyrics:"Lirik",lyricsDescription:["**Catatan:** Anda memerlukan aplikasi kustom [lyrics-plus](https://spicetify.app/docs/advanced-usage/custom-apps#lyrics-plus) untuk menggunakan fitur ini.","Ikuti petunjuk dalam tautan untuk menginstal aplikasi kustom tersebut."],lyricsAlignment:{setting:"Penjajaran Lirik",left:"Kiri",center:"Tengah",right:"Kanan"},autoHideLyrics:"Sembunyikan Lirik Secara Otomatis (saat tidak tersedia)",lyricsAnimationTempo:"Kecepatan Animasi Lirik",generalHeader:"Pengaturan Umum",progressBar:"Progress Bar",playerControls:"Kontrol Pemutar",trimTitle:"Potong Judul",trimTitleUpNext:"Potong Judul (Selanjutnya)",showAlbum:{setting:"Tampilkan Album",never:"Tidak Pernah",always:"Selalu",date:"Tampilkan dengan Tanggal Rilis"},showAllArtists:"Tampilkan Semua Artis",icons:"Ikon",songChangeAnimation:"Animasi Perubahan Lagu",fullscreen:"Layar Penuh",extraHeader:"Fungsionalitas Tambahan",backgroundChoice:{setting:"⭐ Pilihan Latar Belakang",description:["**Baru:** Cobalah opsi **album seni bergerak**!","**Peringatan:** Terlihat indah tetapi mungkin membutuhkan sumber daya yang tinggi, dan eksperimental."],dynamicColor:"Warna solid dinamis",staticColor:"Warna solid statis",artwork:"Seni Album",animatedArt:"Seni Album Bergerak (Eksperimental)",artist:"Seni Artis"},extraControls:"Kontrol Tambahan",upnextDisplay:"Tampilan Selanjutnya",contextDisplay:{setting:"Tampilan Konteks",always:"Selalu",never:"Tidak Pernah",mouse:"Pada pergerakan mouse"},volumeDisplay:{setting:"Tampilan Bar Volume",description:["Dalam mode `cerdas`, bar volume akan ditampilkan ketika:"," - Anda memindahkan mouse ke sisi kiri layar."," - ketika volume diubah."],always:"Selalu",never:"Tidak Pernah",smart:"Cerdas"},appearanceHeader:"Lanjutan/Penampilan",appearanceSubHeader:"*(Ubah hanya jika Anda tahu apa yang Anda lakukan!)*",backgroundHeader:"Modifikasi Latar Belakang",backgroundSubHeader:"Hadir dengan standar yang wajar, *(Ubah hanya jika Anda tahu apa yang Anda lakukan!)*",backgroundColor:{setting:"Pilihan Warna (untuk latar belakang berwarna dinamis)",vibrant:"Vibrant",prominent:"Prominent",desaturated:"Desaturated (disarankan)",lightVibrant:"Light Vibrant",darkVibrant:"Dark Vibrant",vibrantNonAlarming:"Vibrant Non Alarming"},staticColor:"Pilihan Warna (untuk latar belakang berwarna statis)",themedButtons:"Tombol Bertema",themedIcons:"Ikon Vertema",invertColors:{setting:"Balik Warna",never:"Tidak Pernah",always:"Selalu",auto:"Otomatis (Berdasarkan Latar)"},verticalMonitorSupport:"Dukungan Monitor Vertical",verticalMonitorSupportDescription:"Aktifkan ini jika Anda memiliki pengaturan monitor vertical. Lirik akan ditampilkan di bagian bawah, ketika tinggi jendela lebih besar dari lebar.",backAnimationTime:"Waktu Animasi Latar Belakang (untuk latar belakang gambar)",animationSpeed:"⭐ Kecepatan Animasi (untuk latar belakang bergerak)",upnextScroll:{setting:"Animasi Gulir Selanjutnya",mq:"Marquee/Gulir",sp:"Spotify/Translasi"},upnextTime:"Waktu Selanjutnya untuk Ditampilkan",backgroundBlur:"Blur Latar Belakang",backgroundBrightness:"Kecerahan Latar Belakang",aboutHeader:"Tentang",configReset:"Atur Ulang Konfigurasi",reload:"Muat Ulang Klien"},tvBtnDesc:"Tampilan Mode TV",fullscreenBtnDesc:"Layar Penuh"},S),"pt-BR":(0,A.default)({langName:"Português Brasileiro",context:{queue:"Reproduzindo da fila",track:"Reproduzindo faixa",album:"Reproduzindo do álbum",artist:"Reproduzindo do artista",playlist:"Reproduzindo da playlist",playlistFolder:"Reproduzindo de pasta de playlist",search:"Reproduzindo da pesquisa",searchDest:"Músicas",collection:"Reproduzindo da coleção",likedSongs:"Músicas Curtidas",trackRadio:"Reproduzindo do rádio da faixa",artistRadio:"Reproduzindo do rádio do artista",albumRadio:"Reproduzindo do rádio do álbum",playlistRadio:"Reproduzindo do rádio da playlist"},upnext:"A SEGUIR",unknownArtist:"Artista (Indisponível)",settings:{switchToTV:"Mudar para Modo TV",switchToFullscreen:"Mudar para Modo Padrão",tvModeConfig:"Configuração do Modo TV",fullscreenConfig:"Configuração de Tela Cheia",exit:"Sair",pluginSettings:"Configurações do Plugin",fsHideOriginal:"Ocultar Botão Padrão",fsHideOriginalDescription:"Oculta o botão de tela cheia padrão do Spotify (disponível para usuários **Premium**)",language:"Idioma",autoLaunch:{setting:"Inicialização automática (na inicialização do Spotify))",description:"**Limitação:** A janela do Spotify não pode ser maximizada automaticamente na inicialização.",never:"Nunca (Padrão)",default:"Modo Padrão",tvmode:"Modo TV",lastused:"Último Modo Utilizado"},activationTypes:{setting:"Métodos de Ativação",description:"Escolha os métodos que deseja usar para ativar o plugin. F e T keys, ou botões na barra superior e inferior.",both:"Botões e Atalhos de Teclado",btns:"Apenas Botões",keys:"Apenas Atalhos de Teclado"},buttonActivation:{setting:"Personalizar Botões de Ativação",description:"Escolha os botões desejados para ativação, na barra superior (*Modo TV*) e inferior (*Modo Padrão*).",both:"Modo Padrão e Modo TV",tv:"Modo TV",def:"Modo Padrão"},keyActivation:{setting:"Personalizar Teclas de Ativação",description:"Escolha as teclas desejadas para ativação. Tecla F para *Modo Padrão* e T para *Modo TV*",both:"Modo Padrão e Modo TV",tv:"Modo TV",def:"Modo Padrão"},lyricsHeader:"Configurações de Letras",lyrics:"Letras",lyricsDescription:["**Observação:** Você precisa do [lyrics-plus](https://spicetify.app/docs/advanced-usage/custom-apps#lyrics-plus) aplicativo personalizado para usar esse recurso.","Siga as instruções no link para instalar o aplicativo personalizado."],lyricsAlignment:{setting:"Alinhamento de Letras",left:"Esquerda",center:"Centro",right:"Direita"},autoHideLyrics:"Ocultar Letras Automaticamente (Quando indisponíveis)",lyricsAnimationTempo:"Tempo de Animação das Letras",generalHeader:"Configurações Gerais",progressBar:"Barra de Progresso",playerControls:"Controles do Reprodutor",trimTitle:"Reduzir Título",trimTitleUpNext:"Reduzir Título (Em breve)",showAlbum:{setting:"Exibição do Álbum",never:"Nunca",always:"Sempre",date:"Exibir com Data de Lançamento"},showAllArtists:"Exibição de Todos os Artistas",icons:"Ícones",songChangeAnimation:"Animação de Troca de Música",fullscreen:"Tela Cheia",extraHeader:"Funcionalidades Extras",backgroundChoice:{setting:"⭐ Escolha de Fundo",description:["**Novidade:** Experimente a opção de **Arte do Álbum Animada**!","**Aviso:** Parece bonito, mas pode exigir muito desempenho e é experimental."],dynamicColor:"Cor sólida dinâmica",staticColor:"Cor sólida estática",artwork:"Arte do álbum",animatedArt:"Arte do Álbum Animada (Experimental))",artist:"Arte do Artista"},extraControls:"Controles Extras",upnextDisplay:"Exibição da Próxima Músuica",contextDisplay:{setting:"Exibição do Contexto",always:"Sempre",never:"Nunca",mouse:"Ao movimentar o mouse"},volumeDisplay:{setting:"Exibição da Barra de Volume",description:["No modo `inteligente`, a barra de volume será exibida quando:"," - você mover o mouse para o lado esquerdo da tela."," - quando o volume for alterado."],always:"Sempre",never:"Nunca",smart:"Inteligente"},appearanceHeader:"Avançado/Aparência",appearanceSubHeader:"**(Mude apenas se souber o que está fazendo!)*",backgroundHeader:"Modificações de Fundo",backgroundSubHeader:"Vem com padrões razoáveis, *(Mude apenas se souber o que está fazendo!)*",backgroundColor:{setting:"Escolha de Cor (Para fundo colorido dinâmico)",vibrant:"Vibrante",prominent:"Destaque",desaturated:"Desaturado (Recomendado)",lightVibrant:"Vibrante Claro",darkVibrant:"Vibrante Escuro",vibrantNonAlarming:"Vibrante Não Alarmante"},staticColor:"Escolha de Cor (Para fundo colorido dinâmico)",themedButtons:"Botões Temáticos",themedIcons:"Ícones Temáticos",invertColors:{setting:"Inverter Cores",never:"Nunca",always:"Sempre",auto:"Automático (Baseado no fundo)"},verticalMonitorSupport:"Suporte para Monitor Vertical",verticalMonitorSupportDescription:"Ative isso se tiver uma configuração de monitor vertical. As letras serão exibidas na parte inferior quando a altura da janela for maior que a largura.",backAnimationTime:"Tempo de Animação do Fundo (Para fundo de imagem)",animationSpeed:"⭐ Velocidade de Animação (Para fundo animado)",upnextScroll:{setting:"Animação de rolagem da faixa a seguir",mq:"Marcação/Rolagem",sp:"Spotify/Tradução"},upnextTime:"Tempo para exibição da faixa a seguir",backgroundBlur:"Desfoque do Fundo",backgroundBrightness:"Brilho do Fundo",aboutHeader:"Sobre",configReset:"Redefinir Configuração",reload:"Recarregar Cliente"},tvBtnDesc:"Exibição do Modo TV",fullscreenBtnDesc:"Tela Cheia"},S),"zh-TW":(0,A.default)({langName:"繁體中文",context:{queue:"正在從佇列播放",track:"正在播放",album:"正在從專輯播放",artist:"正在從藝人播放",playlist:"正在從歌單播放",playlistFolder:"正在從歌單資料夾播放",search:"正在從搜尋結果播放",searchDest:"歌曲",collection:"正在從合輯播放",likedSongs:"已按讚的歌曲",trackRadio:"正在從歌曲電台播放",artistRadio:"正在從藝人電台播放",albumRadio:"正在從專輯電台播放",playlistRadio:"正在從歌單電台播放"},upnext:"下一首",unknownArtist:"未知藝人",settings:{switchToTV:"切換至電視模式",switchToFullscreen:"切換至預設模式",tvModeConfig:"電視模式設定",fullscreenConfig:"全螢幕模式設定",exit:"退出",pluginSettings:"插件設定",fsHideOriginal:"隱藏原版按鈕",fsHideOriginalDescription:"隱藏Spotify原版的全螢幕按鈕 (只對**Premium**使用者有效)",language:"語言",autoLaunch:{setting:"自動啟動 (當Spotify啟動時)",description:"**限制:** Spotify 視窗在自動啟動時無法進入全螢幕模式",never:"永不 (預設)",default:"進入預設模式",tvmode:"電視模式",lastused:"上次使用的模式"},activationTypes:{setting:"開啟方式",description:"選擇你要開啟全螢幕的方式 FT 鍵,或者在頂部和底部欄的按鈕",both:"按鈕和鍵盤快捷鍵",btns:"僅限按鈕",keys:"僅限鍵盤快捷鍵"},buttonActivation:{setting:"自訂開啟按鈕",description:"選擇你要開啟全螢幕的方式,頂部(*電視模式*)和底部(*預設模式*)",both:"兩種模式的按鈕",tv:"僅限電視模式的按鈕",def:"僅限一般模式的按鈕"},keyActivation:{setting:"自訂開啟快捷鍵",description:"選擇你要開啟全螢幕的方式 F 切換到*預設模式*, T 切換到*電視模式*",both:"兩種模式的按鍵",tv:"僅限電視模式的按鍵",def:"僅限一般模式的按鍵"},lyricsHeader:"歌詞設定",lyrics:"歌詞",lyricsDescription:["**注意:**你需要先安裝[lyrics-plus](https://spicetify.app/docs/advanced-usage/custom-apps#lyrics-plus)插件才能使用歌詞功能","請根據連結裡的指示安裝這個插件"],lyricsAlignment:{setting:"歌詞對齊方式",left:"靠左對齊",center:"置中",right:"靠右對齊"},autoHideLyrics:"自動隱藏歌詞 (當歌詞不可用時)",lyricsAnimationTempo:"歌詞動畫速度",generalHeader:"一般設定",progressBar:"播放進度條",playerControls:"播放控制",trimTitle:"縮短標題",trimTitleUpNext:"縮短下一首提示的標題",showAlbum:{setting:"顯示專輯標題",never:"永不顯示",always:"永遠顯示",date:"與發佈年分一起顯示"},showAllArtists:"顯示所有藝人",icons:"顯示圖示",songChangeAnimation:"歌曲切換動畫",fullscreen:"全螢幕",extraHeader:"額外功能設定",backgroundChoice:{setting:"背景設定",description:["**新功能:** 試試看 **動化專輯照** 選項!","**警告:** 很漂亮,但可能消耗更多電腦資源,而且這是實驗性的功能"],dynamicColor:"動態純色",staticColor:"靜態純色",artwork:"專輯照",animatedArt:"動化專輯照 (實驗性)",artist:"藝人封面"},extraControls:"額外控制",upnextDisplay:"下一首提示",contextDisplay:{setting:"播放來源顯示",always:"永遠顯示",never:"永不顯示",mouse:"當滑鼠移動時顯示"},volumeDisplay:{setting:"音量條顯示",description:["在自動模式下,音量條將會在以下情況顯示:"," - 滑鼠移動到螢幕左方"," - 音量有變化"],always:"永遠顯示",never:"永不顯示",smart:"自動模式"},appearanceHeader:"進階/外觀設定",appearanceSubHeader:"*(除非你知道你在幹嘛,不然不要改!)*",backgroundHeader:"背景修改",backgroundSubHeader:"有合理的預設,*除非你知道你在幹嘛,不然不要改!*",backgroundColor:{setting:"顏色選擇 (用於動態純色)",vibrant:"豐富多彩",prominent:"突出",desaturated:"去飽和度 (推薦)",lightVibrant:"明亮的活力",darkVibrant:"深色的活力",vibrantNonAlarming:"不引人注目的活力"},staticColor:"顏色選擇 (用於靜態純色)",themedButtons:"主題色按鈕",themedIcons:"主題色圖示",invertColors:{setting:"反轉顏色",never:"永不",always:"永遠",auto:"自動 (基於背景)"},verticalMonitorSupport:"垂直顯示器支援",verticalMonitorSupportDescription:"如果你有垂直顯示器,請啟用此功能。當視窗高度大於寬度時,歌詞將顯示在底部。",backAnimationTime:"背景動畫時間 (用於圖片背景)",animationSpeed:"⭐ 動畫速度 (用於動畫背景)",upnextScroll:{setting:"下一首提示動畫",mq:"跑馬燈/滾動",sp:"Spotify/變換"},upnextTime:"下一首提示顯示時間",backgroundBlur:"背景模糊",backgroundBrightness:"背景亮度",aboutHeader:"關於",configReset:"重設設定",reload:"重新載入插件"},tvBtnDesc:"電視模式",fullscreenBtnDesc:"全螢幕模式"},S)};function Ze(e){var n=[],a=null,r=[],o=!1,t=null,s=e.prototype.handleKey;function l(e){for(var t=0;t{const[t,n]=T.useState(Spicetify.Player.getProgress()),[a,r]=T.useState(Spicetify.Player.getDuration()),[e,o]=T.useState(Ne.get("showRemainingTime")),[s,l]=T.useState({isChanging:!1,data:null}),c=T.useRef(null),[d,u]=T.useState(!0),p=T.useRef(null),g=e=>{var t;0==e.button&&(t=c.current?.getBoundingClientRect().width??480,t=(e={isChanging:!0,data:{begin:e.offsetX,positionCoord:e.offsetX,beginClient:e.clientX,sliderDimen:t}}).data.positionCoord/t,n(t*a),l(e))},m=e=>{var t;s.isChanging&&s.data&&(e=e.clientX-s.data.beginClient,t=s.data.sliderDimen,t=(e=Math.min(Math.max(s.data.begin+e,0),t))/t,n(t*a),l({isChanging:!0,data:{...s.data,positionCoord:e}})),"mousemove"===i&&h()},f=e=>{0==e.button&&s.isChanging&&(Spicetify.Player.seek(t),l({isChanging:!1,data:null}))},h=(e=3e3)=>{p.current&&clearTimeout(p.current),u(!0),p.current=setTimeout(()=>{u(!1)},e)},y=()=>{var e=Spicetify.Player.getProgress();s.isChanging||!Spicetify.Player.isPlaying()&&t===e||n(e)},b=e=>{n(0),r(e.data.duration)};return T.useEffect(()=>{"mousemove"===i&&h();const e=setInterval(y,500);return Spicetify.Player.addEventListener("songchange",b),c.current?.addEventListener("mousedown",g),document.addEventListener("mousemove",m),document.addEventListener("mouseup",f),()=>{clearInterval(e),Spicetify.Player.removeEventListener("songchange",b),c.current?.removeEventListener("mousedown",g),document.removeEventListener("mousemove",m),document.removeEventListener("mouseup",f)}},[s,i]),T.createElement("div",{id:"fsd-progress-container",style:{opacity:d?1:0}},T.createElement("div",{className:"progress-number",id:"fsd-elapsed"},Spicetify.Player.formatTime(t)),T.createElement("div",{id:"fsd-progress-bar",ref:c,className:(0,ve.default)({dragging:s.isChanging})},T.createElement("div",{id:"fsd-progress-bar-inner",style:{width:t/a*100+"%"}},T.createElement("div",{id:"progress-thumb"}))),T.createElement("div",{className:"progress-number",id:"fsd-duration",onClick:()=>{o(!e),Ne.set("showRemainingTime",!e)}},e?" -"+Spicetify.Player.formatTime(a-t):Spicetify.Player.formatTime(a)))},C=t(D()),ke=t(e()),xe=t(F()),we=({volume:e})=>{return C.createElement("button",{className:"fs-button",id:"fsd-volume-icon",onClick:()=>document.querySelector("div.main-nowPlayingBar-volumeBar > button")?.click(),title:0==e?"Unmute":"Mute",dangerouslySetInnerHTML:{__html:"number"!=typeof e||60${Spicetify.SVGIcons.plus2px}`,e,t,l),p=u.querySelector(".minus"),g=u.querySelector(".plus");return p&&g&&(p.classList.toggle("disabled",c===r),g.classList.toggle("disabled",c===o),p.onclick=()=>d(-1),g.onclick=()=>d(1)),u}var h={langName:"English",context:{queue:"Playing from queue",track:"Playing track",album:"Playing from album",artist:"Playing from artist",playlist:"Playing from playlist",playlistFolder:"Playing from playlist folder",search:"Playing from search",searchDest:"Songs",collection:"Playing from collection",likedSongs:"Liked Songs",trackRadio:"Playing from track radio",artistRadio:"Playing from artist radio",albumRadio:"Playing from album radio",playlistRadio:"Playing from playlist radio"},upnext:"UP NEXT",unknownArtist:"Artist (Unavailable)",settings:{switchToTV:"Switch to TV Mode",switchToFullscreen:"Switch to Default Mode",tvModeConfig:"TV Mode Configuration",fullscreenConfig:"Full Screen Configuration",exit:"Exit",pluginSettings:"Plugin Settings",fsHideOriginal:"Hide Stock Button",fsHideOriginalDescription:"Hide the spotify's stock fullscreen button(available to **Premium** users)",language:"Language",autoLaunch:{setting:"Auto launch(on spotify startup)",description:"**Limitation:** The spotify window cannot go into fullscreen while automatically launching on startup.",never:"Never(Default)",default:"Open Default Mode",tvmode:"Open TV Mode",lastused:"Last Used Mode"},activationTypes:{setting:"Activation Methods",description:"Choose the methods you want to use to activate the plugin. F and T keys, or buttons on topbar and bottom bar.",both:"Buttons and Keyboard Shortcuts",btns:"Buttons Only",keys:"Keyboard Shortcuts Only"},buttonActivation:{setting:"Customize Activation Buttons",description:"Choose the buttons you want for activation, on topbar(*TV Mode*) and bottom bar(*Default Mode*).",both:"Buttons for both modes",tv:"Button only for TV Mode",def:"Button only for Default Mode"},keyActivation:{setting:"Customize Activation Keys",description:"Choose the keys you want for activation. F for *Default Mode* and T for *TV Mode*",both:"Keys for both modes",tv:"Key only for TV Mode",def:"Key only for Default Mode"},lyricsHeader:"Lyrics Settings",lyrics:"Lyrics",lyricsDescription:["**Note:** You need the [lyrics-plus](https://spicetify.app/docs/advanced-usage/custom-apps#lyrics-plus) custom app to use this feature.","Follow the instructions in the link to install the custom app."],lyricsAlignment:{setting:"Lyrics Alignment",left:"Left",center:"Center",right:"Right"},autoHideLyrics:"Auto Hide Lyrics (when unavailable)",lyricsAnimationTempo:"Lyrics Animation Tempo",generalHeader:"General Settings",progressBar:"Progress Bar",playerControls:"Player Controls",trimTitle:"Trim Title",trimTitleUpNext:"Trim Title(Up Next)",showAlbum:{setting:"Show Album",never:"Never",always:"Always",date:"Show with Release Date"},showAllArtists:"Show All Artists",icons:"Icons",songChangeAnimation:"Song Change Animation",fullscreen:"Fullscreen",extraHeader:"Extra Functionality",backgroundChoice:{setting:"⭐ Background Choice",description:["**New:** Try out the **animated album art** option!","**Warning:** Looks beautiful but may be resource intensive, and is experimental."],dynamicColor:"Dynamic solid color",staticColor:"Static solid color",artwork:"Album art",animatedArt:"Animated Album Art (Experimental)",artist:"Artist artwork"},sidebarQueue:"Enable Queue in Sidebar (replaces the lyrics button)",sidebarQueueDescription:["Toggle the queue in the sidebar with Q or the button in the extra bar.","Make sure to enable the setting in Experimental features. Check [this.](https://github.com/daksh2k/Spicetify-stuff/issues/167#issuecomment-2199480598) "],extraControls:"Extra Controls",upnextDisplay:"Upnext Display",contextDisplay:{setting:"Context Display",always:"Always",never:"Never",mouse:"On mouse movement"},volumeDisplay:{setting:"Volume Bar Display",description:["In `smart` mode the volume bar will be displayed when:"," - you move your mouse to the left side of the screen."," - when the volume is changed."],always:"Always",never:"Never",smart:"Smart"},appearanceHeader:"Advanced/Appearance",appearanceSubHeader:"*(Only change if you know what you are doing!)*",backgroundHeader:"Background Modifications",backgroundSubHeader:"Comes with reasonable defaults, *(Only change if you know what you are doing!)*",backgroundColor:{setting:"Color Choice (for dynamic colored background)",vibrant:"Vibrant",prominent:"Prominent",desaturated:"Desaturated (recommended)",lightVibrant:"Light Vibrant",darkVibrant:"Dark Vibrant",vibrantNonAlarming:"Vibrant Non Alarming"},staticColor:"Color Choice (for static colored background)",themedButtons:"Themed Buttons",themedIcons:"Themed Icons",invertColors:{setting:"Invert Colors",never:"Never",always:"Always",auto:"Automatic (Based on BG)"},verticalMonitorSupport:"Vertical Monitor Support",verticalMonitorSupportDescription:"Enable this if you have a vertical monitor setup. Lyrics will be shown in the bottom, when the window height is greater than the width.",backAnimationTime:"Background Animation Time (for image background)",animationSpeed:"⭐ Animation Speed (for animated background)",upnextScroll:{setting:"Upnext Scroll Animation",mq:"Marquee/Scrolling",sp:"Spotify/Translating"},upnextTime:"Upnext Time to Show",backgroundBlur:"Background Blur",backgroundBrightness:"Background Brightness",aboutHeader:"About",configReset:"Reset Config",reload:"Reload Client"},tvBtnDesc:"TV Mode Display",fullscreenBtnDesc:"Full Screen"},b=t(B()),Be={"en-US":h,"it-IT":(0,b.default)({langName:"Italiano",context:{queue:"Riproduzione coda",track:"Riproduzione brano",album:"Riproduzione album",artist:"Riproduzione artista",playlist:"Riproduzione playlist",playlistFolder:"Riproduzione da cartella di playlist",search:"Riproduzione da ricerca",searchDest:"Brani",collection:"Riproduzione dalla libreria",likedSongs:"Brani che ti piacciono",trackRadio:"Radio dal brano",artistRadio:"Radio da artista",albumRadio:"Radio da album",playlistRadio:"Radio da playlist"},upnext:"In coda",unknownArtist:"Artista sconosciuto",settings:{switchToTV:"Passa alla modalità TV",switchToFullscreen:"Passa alla modalità schermo intero",tvModeConfig:"Modalità TV",fullscreenConfig:"Modalità schermo intero",exit:"Esci",pluginSettings:"Impostazioni plugin",fsHideOriginal:"Nascondi pulsante Schermo Intero di Premium",fsHideOriginalDescription:"Nascondi il pulsante Schermo Intero degli utenti **Spotify Premium**. Richiede un riavvio.",language:"Lingua",autoLaunch:{setting:"Apri automaticamente (all'apertura di Spotify)",description:"**Limitazione:** La finestra di Spotify non può entrare in modalità schermo intero durante l'avvio all'accensione.",never:"Mai (Predefinito)",default:"Apri in modalità default",tvmode:"Apri in modalità TV",lastused:"Apri con l'ultima modalità usata"},lyricsHeader:"Impostazioni testo",lyrics:"Mostra testo",lyricsDescription:["**Nota:** Serve [lyrics-plus](https://spicetify.app/docs/advanced-usage/custom-apps#lyrics-plus) per usare questa funzione.","Segui le instruzioni nel link per installare l'app."],lyricsAlignment:{setting:"Allineamento testo",left:"Sinistra",center:"Centro",right:"Destra"},lyricsAnimationTempo:"Durata animazione testo",generalHeader:"Impostazioni generali",progressBar:"Barra di avanzamento",playerControls:"Controlli player",trimTitle:"Accorcia titolo",trimTitleUpNext:"Accorcia titolo nel visualizzatore coda",showAlbum:{setting:"Mostra album",never:"Mai",always:"Sempre",date:"Con data di uscita"},showAllArtists:"Mostra tutti gli artisti",icons:"Icone",songChangeAnimation:"Animazione cambio brano",fullscreen:"Schermo intero",extraHeader:"Funzionalità aggiuntive",backgroundChoice:{setting:"Scelta sfondo",dynamicColor:"Tinta unita dinamica",staticColor:"Tinta unita fissa (scegli sotto)",artwork:"Immagine dell'album",artist:"Immagine dell'artista"},extraControls:"Controlli aggiuntivi",upnextDisplay:"Mostra il brano in coda",contextDisplay:{setting:"Mostra contesto",always:"Sempre",never:"Mai",mouse:"Al movimento del mouse"},volumeDisplay:{setting:"Mostra barra volume",description:["In modalità `smart` la barra del volume sarà mostrata quando:"," - muovi il mouse nella parte sinistra dello schermo."," - il volume viene cambiato."],always:"Sempre",never:"Mai",smart:"Smart"},appearanceHeader:"Avanzato/Aspetto",appearanceSubHeader:"Cambia solo se sai cosa stai facendo!",backgroundColor:{setting:"Colore su sfondo tinta unita",vibrant:"Vivace",prominent:"Evidente",desaturated:"Desaturato (raccomandato)",lightVibrant:"Vivace chiaro",darkVibrant:"Vivace scuro",vibrantNonAlarming:"Vivace delicato"},staticColor:"Scelta del colore per lo sfondo statico a tinta unita",themedButtons:"Pulsanti a tema",themedIcons:"Icone a tema",invertColors:{setting:"Inverti colori",never:"Mai",always:"Sempre",auto:"Automatico (basato su sfondo)"},backAnimationTime:"Durata animazione sfondo",upnextScroll:{setting:"Scorrimento Up next",mq:"Scorrimento",sp:"Traslazione"},upnextTime:"Tempo per mostrare Up next",backgroundBlur:"Sfocamento sfondo",backgroundBrightness:"Luminosità sfondo",aboutHeader:"A proposito",configReset:"Resetta configurazione",reload:"Ricarica client"},tvBtnDesc:"Modalità TV",fullscreenBtnDesc:"Schermo intero"},h),"zh-CN":(0,b.default)({langName:"简体中文",context:{queue:"正在从队列播放",track:"正在播放",album:"正在从专辑播放",artist:"正在从艺人播放",playlist:"正在从歌单播放",playlistFolder:"正在从歌单文件夹播放",search:"正在从搜索结果播放",searchDest:"歌曲",collection:"正在从合辑播放",likedSongs:"已点赞的歌曲",trackRadio:"正在从歌曲电台播放",artistRadio:"正在从艺人电台播放",albumRadio:"正在从专辑电台播放",playlistRadio:"正在从歌单电台播放"},upnext:"下一首",unknownArtist:"未知歌手",settings:{switchToTV:"切换至电视模式",switchToFullscreen:"切换至默认模式",tvModeConfig:"电视模式配置",fullscreenConfig:"全屏模式配置",exit:"退出",pluginSettings:"插件设置",fsHideOriginal:"隐藏切换至原版按钮 (Spotify Premium)",fsHideOriginalDescription:"隐藏原版的全屏按钮(仅对**Premium**用户有效). 需要重启",language:"语言",autoLaunch:{setting:"自动启动(当Spotify启动时)",description:"**限制:** 自动启动时Spotify窗口不能自动全屏",never:"从不(默认)",default:"进入默认模式",tvmode:"电视模式",lastused:"记忆上次使用状态"},activationTypes:{setting:"激活方式",description:"选择你要激活全屏的方式 FT 键, 或者顶栏和底栏的按钮. **需要重启**",both:"按钮和键盘快捷方式",btns:"仅按钮",keys:"仅键盘快捷方式"},buttonActivation:{setting:"自定义激活按钮",description:"选择你要激活全屏的按钮模式,顶栏(*电视模式*)和底栏(*默认模式) **需要重启**",both:"两者都要",tv:"仅电视模式",def:"仅普通模式"},keyActivation:{setting:"自定义激活快捷键",description:"选择激活全屏的快捷键模式 F 切换到*默认模式*, T 切换到*电视模式* **需要重启**",both:"两者都要",tv:"仅电视模式",def:"仅普通模式"},lyricsHeader:"歌词设置",lyrics:"歌词",lyricsDescription:["**注意:**你需要[lyrics-plus](https://spicetify.app/docs/advanced-usage/custom-apps#lyrics-plus)插件来启用歌词","根据连接里的指示来安装这个插件"],lyricsAlignment:{setting:"歌词对齐方式",left:"靠左",center:"居中",right:"靠右"},lyricsAnimationTempo:"歌词动画速度",generalHeader:"通用设置",progressBar:"播放进度条",playerControls:"播放控制",trimTitle:"缩短标题",trimTitleUpNext:"缩短标题 (下一首提示)",showAlbum:{setting:"显示标题",never:"永不",always:"总是",date:"与发布日期一起显示"},showAllArtists:"显示所有艺人",icons:"显示图标",songChangeAnimation:"切歌动画",fullscreen:"全屏",extraHeader:"额外功能",backgroundChoice:{setting:"背景选择",description:["**最新最热:** 试一下**带动画的专辑图** 选项 [灵感](https://github.com/surfbryce/beautiful-lyrics)","**警告:** 很漂亮,但是这可能占用较多资源,而且这是实验性的"],dynamicColor:"动态纯色",staticColor:"静态纯色(从下面选择)",artwork:"专辑图",animatedArt:"带动画的专辑图(实验性)",artist:"艺人照片"},extraControls:"额外控件",upnextDisplay:"下一首提示",contextDisplay:{setting:"内容来源显示",always:"总是",never:"从不",mouse:"当鼠标移动时"},volumeDisplay:{setting:"音量显示",description:["自动模式下音量条将会在以下情况显示:"," - 鼠标移动到屏幕左侧"," - 音量有变化"],always:"总是",never:"从不",smart:"自动"},appearanceHeader:"高级/外观",appearanceSubHeader:"*(不要动除非你知道自己在做什么)*",backgroundColor:{setting:"纯色背景的颜色配置",vibrant:"Vibrant",prominent:"Prominent",desaturated:"Desaturated (推荐)",lightVibrant:"Light Vibrant",darkVibrant:"Dark Vibrant",vibrantNonAlarming:"Vibrant Non Alarming"},themedButtons:"主题色按钮",themedIcons:"主题色图标",invertColors:{setting:"反转颜色",never:"从不",always:"总是",auto:"自动(基于背景)"},backAnimationTime:"背景动画时间",upnextScroll:{setting:"下一首提示滚动",mq:"Marquee/滚动",sp:"Spotify/变换"},upnextTime:"下一首提示显示时间",backgroundBlur:"背景模糊",backgroundBrightness:"背景亮度",aboutHeader:"关于",configReset:"重置配置",reload:"重新载入应用"},tvBtnDesc:"电视模式显示",fullscreenBtnDesc:"全屏"},h),"de-DE":(0,b.default)({langName:"Deutsch",context:{queue:"Wiedergabe aus der Warteschlange",track:"Titel spielen",album:"Abspielen von Album",artist:"Abspielen von Künstler",playlist:"Abspielen von Playlist",playlistFolder:"Wiedergabe aus dem Playlist-Ordner",search:"Wiedergabe aus Suche",searchDest:"Lieder",collection:"Abspielen aus Sammlung",likedSongs:"Lieblingssongs",trackRadio:"Abspielen von Titel Radio",artistRadio:"Abspielen von Künstler Radio",albumRadio:"Abspielen von Alben Radio",playlistRadio:"Abspielen von Playlist Radio"},upnext:"ALS NÄCHSTES",unknownArtist:"Künstler (nicht verfügbar)",settings:{switchToTV:"Wechseln zu TV-Modus",switchToFullscreen:"Einstellungen des Vollbildmodis",tvModeConfig:"Konfiguration des TV-Modus",fullscreenConfig:"Vollbildmodus konfiguration",exit:"Exit",pluginSettings:"Plugin Einstellungen",fsHideOriginal:"Stock-Schaltfläche ausblenden (Spotify Premium)",language:"Sprache",lyricsHeader:"Ausrichtung des Liedtextes",lyrics:"Liedtext",lyricsAlignment:{setting:"Liedtext Ausrichtung",left:"Links",center:"Center",right:"Rechts"},lyricsAnimationTempo:"Liedtext Animationtempo",generalHeader:"Allgemeine Einstellungen",progressBar:"Fortschritt anzeige",playerControls:"Wiedegergabe steuerung",trimTitle:"Titel trimmen",trimTitleUpNext:"Trim Title(Up Next)",showAlbum:{setting:"Album anzeigen",never:"Niemals",always:"Immer",date:"Veröffentlichungsdatum anzeigen"},showAllArtists:"Alle Künstler anzeigen",icons:"Symbole",songChangeAnimation:"Songwechsel-Animation",fullscreen:"Vollbildmodus",extraHeader:"Zusätzliche Funktionalität",backgroundChoice:{setting:"Hintergrundauswahl",color:"Einfarbig",artwork:"Titelbild"},extraControls:"Zusätzliche Steuerelemente",upnextDisplay:"Nächste-titel Anzeige",contextDisplay:{setting:"Kontextanzeige",always:"Immer",never:"Niemals",mouse:"Bei Mausbewegung"},volumeDisplay:{setting:"Anzeige der Lautstärkenleiste",always:"Immer",never:"Niemals",mouse:"Bei Mausbewegung",volume:"Bei Lautstärkeänderung"},appearanceHeader:"Erweitert/Aussehen",appearanceSubHeader:"Achtung! Ändern diese Einstellungen, wenn Sie wissen, was Sie tun!",backgroundColor:{setting:"Farbwahl auf farbigem Hintergrund",vibrant:"Beschwingt",prominent:"Prominente",desaturated:"Entsättigt (empfohlen)",lightVibrant:"Hell lebendig",darkVibrant:"Dunkel lebendig",vibrantNonAlarming:"Lebhaft, nicht alarmierend"},themedButtons:"Themed Tasten",themedIcons:"Themed Symbole",invertColors:{setting:"Farben umkehren",never:"Niemals",always:"Immer",auto:"Automatisch (basierend auf Hintergrund)"},backAnimationTime:"Background Animation Time",upnextScroll:{setting:"Nächstes Lied Scroll-Animation",mq:"Marquee/Scrolling",sp:"Spotify/Translating"},upnextTime:"Nächster Titel Anzeigedauer",backgroundBlur:"Hintergrund Blur",backgroundBrightness:"Hintergrund Brightness",configReset:"Konfig zurücksetzen",reload:"Client neu laden"},tvBtnDesc:"TV Modus",fullscreenBtnDesc:"Vollbild"},h),"tr-TR":(0,b.default)({langName:"Turkish",context:{queue:"Çalma sırasından çalınıyor",track:"Parça çalınıyor",album:"Albümden oynatılıyor",artist:"Sanatçı'dan oynatılıyor",playlist:"Çalma Listesi'den oynatılıyor",playlistFolder:"Çalma Listesi Klasöründen oynatılıyor",search:"Arama'dan oynatılıyor",searchDest:"Parçalar",collection:"Koleksiyon'dan oynatılıyor",likedSongs:"Beğenilen şarkılar",trackRadio:"Parça Radyosu'ndan oynatılıyor",artistRadio:"Sanatçı Radyosu'ndan oynatılıyor",albumRadio:"Albüm Radyosu'ndan oynatılıyor",playlistRadio:"Çalma Listesi Radyosu'ndan oynatılıyor"},upnext:"SONRAKİ",unknownArtist:"Sanatçı (Mevcut değil)",settings:{switchToTV:"TV Moduna geç",switchToFullscreen:"Tam ekran moduna geç",tvModeConfig:"TV Modu ayarları",fullscreenConfig:"Tam ekran modu ayarları",exit:"Çık",pluginSettings:"Eklenti ayarları",fsHideOriginal:"Tam ekran tuşunu gizle(Spotify Premium kullanıcıları için)",language:"Dil",lyricsHeader:"Şarkı sözleri ayarları",lyrics:"Şarkı sözleri",lyricsAlignment:{setting:"Şarkı sözleri konumu",left:"Sol",center:"Orta",right:"Sağ"},lyricsAnimationTempo:"Şarkı sözleri animasyonu hızı",generalHeader:"Genel ayarlar",progressBar:"İlerleme çubuğu",playerControls:"Oynatıcı kontrolleri",trimTitle:"Başlığı kırp",trimTitleUpNext:"Başlığı kırp (Sonraki şarkı gösterimi)",showAlbum:{setting:"Albüm'ü göster",never:"Asla",always:"Her zaman",date:"Albüm'ün yayınlanma tarihini göster"},showAllArtists:"Şarkıya katkısı olan tüm sanatçıları göster",icons:"Simgeler",songChangeAnimation:"Şarkı değiştirme animasyonu",fullscreen:"Tam ekran",extraHeader:"Ekstra özellikler",backgroundChoice:{setting:"Arka plan özellikleri",color:"Tek renk",artwork:"Albüm kapağı"},extraControls:"Ekstra Kontroller",upnextDisplay:"Sonraki şarkıyı gösterme",contextDisplay:{setting:"Ayrıntıları gösterme",always:"Her zaman",never:"Asla",mouse:"Yalnızca mause hareketinde"},volumeDisplay:{setting:"Ses çubuğunu gösterme",always:"Her zaman",never:"Asla",mouse:"Yalnızca mause hareketinde",volume:"Yalnızca ses düzeyi değiştiği zaman"},appearanceHeader:"Gelişmiş/Görünüm",appearanceSubHeader:"Dikkat! Yalnızca ne yaptığını biliyorsan değiştir.",backgroundColor:{setting:"Arkaplan özel renk tercihi",vibrant:"Parlak",prominent:"Öne çıkan",desaturated:"Soluk (önerilir)",lightVibrant:"Açık parlak",darkVibrant:"Karanlık parlak",vibrantNonAlarming:"Göz almayan parlak"},themedButtons:"Albüm resminin renklerine göre tuşlar",themedIcons:"Albüm resminin renklerine göre simgeler",invertColors:{setting:"Renkleri ters çevir",never:"Asla",always:"Her zaman",auto:"Otomatik (Arka plana göre)"},backAnimationTime:"Arkaplan animasyon stili",upnextScroll:{setting:"Sonraki şarkı yazı animasyonu",mq:"Marquee/Kayan",sp:"Spotify/Sağa sola giden"},upnextTime:"Sonraki şarkı kaçıncı saniyeden sonra gösterilsin? ",backgroundBlur:"Arkaplan'ı bulanıklaştır",backgroundBrightness:"Arka plan parlaklığı",configReset:"Ayarları sıfırla",reload:"İstemciyi (Spotify) yenile (F5)"},tvBtnDesc:"TV Modu'nu göster",fullscreenBtnDesc:"Tam ekran"},h),"ru-RU":(0,b.default)({langName:"Русский",context:{queue:"Воспроизведение из очереди",track:"Воспроизведение трека",album:"Воспроизведение из альбома",artist:"Воспроизведение со страницы исполнителя",playlist:"Воспроизведение из плейлиста",playlistFolder:"Воспроизведение из папки плейлистов",search:"Воспроизведение из поиска",searchDest:"Треки",collection:"Воспроизведение из коллекции",likedSongs:"Любимые треки",trackRadio:"Воспроизведение из радио по треку",artistRadio:"Воспроизведение из радио по исполнителю",albumRadio:"Воспроизведение из радио по альбому",playlistRadio:"Воспроизведение из радио по плейлисту"},upnext:"СЛЕДУЮЩЕЕ",unknownArtist:"Исполнитель (Недоступен)",settings:{switchToTV:"Переключиться на ТВ-режим",switchToFullscreen:"Переключиться на режим По-умолчанию",tvModeConfig:"Настройки ТВ-режима",fullscreenConfig:"Настройки Полного экрана",exit:"Выход",pluginSettings:"Настройки плагина",fsHideOriginal:"Скрыть стоковую кнопку",fsHideOriginalDescription:"Скрывает кнопку Spotify для открытия стокового полноэкранного режима (доступна **Премиум** пользователям). Требуется перезагрузка.",language:"Язык",autoLaunch:{setting:"Авто-запуск (при запуске Spotify)",description:"**Ограничение:** Окно Spotify не может быть развернуто на весь экран при авто-запуске плагина.",never:"Никогда (по-умолчанию)",default:"Открыть режим По-умолчанию",tvmode:"Открыть ТВ-режим",lastused:"Последний использованный режим"},activationTypes:{setting:"Способы активации",description:"Выберите способы активации плагина. Клавиши F и T или кнопки на верхней и нижней панелях. **Требуется перезагрузка**",both:"Кнопки и сочетания клавиш",btns:"Только кнопки",keys:"Только сочетания клавиш"},buttonActivation:{setting:"Настройки кнопок активации",description:"Выберите кнопки активации плагина на верхней (*ТВ-режим*) и нижней (*режим По-умолчанию*) панелях. **Требуется перезагрузка**",both:"Кнопки обоих режимов",tv:"Кнопка только ТВ-режима",def:"Кнопка только режима По-умолчанию"},keyActivation:{setting:"Настройки клавиш активации",description:"Выберите клавиши для активации. F для *режима По-умолчанию* и T для *ТВ-режима* **Требуется перезагрузка**",both:"Клавиши для обоих режимов",tv:"Клавиша только для ТВ-режима",def:"Клавиша только для режима По-умолчанию"},lyricsHeader:"Настройки текста",lyrics:"Текст трека",lyricsDescription:["**Внимание:** Требуется приложение [lyrics-plus](https://spicetify.app/docs/advanced-usage/custom-apps#lyrics-plus) для использования этой функции.","Следуйте инструкциям по ссылке для его установки."],lyricsAlignment:{setting:"Выравнивание текста",left:"По левому краю",center:"По центру",right:"По правому краю"},lyricsAnimationTempo:"Скорость анимации текста",generalHeader:"Основные настройки",progressBar:"Полоса воспроизведения",playerControls:"Элементы управления воспроизведением",trimTitle:"Обрезать название",trimTitleUpNext:"Обрезать название (следующего трека)",showAlbum:{setting:"Отображать альбом",never:"Никогда",always:"Всегда",date:"Отображать с датой релиза"},showAllArtists:"Отображать всех исполнителей",icons:"Иконки",songChangeAnimation:"Анимация переключения трека",fullscreen:"Полный экран",extraHeader:"Дополнительные настройки",backgroundChoice:{setting:"Задний фон",description:["**Новое:** Попробуйте настройку **анимированная обложка альбома**! [Вдохновение](https://github.com/surfbryce/beautiful-lyrics)","**Внимание:** Выглядит очень красиво, но потребляет больше ресурсов и является экспериментальной функцией."],dynamicColor:"Динамическая заливка сплошным цветом",staticColor:"Статическая заливка сплошным цветом (Выберите ниже)",artwork:"Обложка альбома",animatedArt:"Анимированная обложка альбома (Экспериментально)",artist:"Изображение артиста"},extraControls:"Дополнительные элементы управления",upnextDisplay:"Отображать следующий трек",contextDisplay:{setting:"Отображение контекста воспроизведения",always:"Всегда",never:"Никогда",mouse:"При движении мыши"},volumeDisplay:{setting:"Отображать полосу громкости",description:["В `умном` режиме полоса громкости будет отображена при:"," - движении мыши к левой части экрана."," - изменении громкости."],always:"Всегда",never:"Никогда",smart:"Умный режим"},appearanceHeader:"Расширенные настройки внешнего вида",appearanceSubHeader:"*(Изменяйте, только если знаете, что делаете!)*",backgroundColor:{setting:"Тип цвета динамической заливки заднего фона",vibrant:"Насыщенный",prominent:"Яркий",desaturated:"Приглушенный (рекомендуется)",lightVibrant:"Насыщенный светлый",darkVibrant:"Насыщенный темный",vibrantNonAlarming:"Насыщенный спокойный"},staticColor:"Цвет статичной заливки заднего фона",themedButtons:"Цветные кнопки",themedIcons:"Цветные иконки",invertColors:{setting:"Инвертировать цвета",never:"Никогда",always:"Всегда",auto:"Автоматически (на основе фона)"},backAnimationTime:"Длительность анимации смены фона",upnextScroll:{setting:"Анимация смены трека",mq:"Marquee/Прокрутка",sp:"Spotify/Переход"},upnextTime:"Время отображения следующего трека",backgroundBlur:"Размытие фона",backgroundBrightness:"Яркость фона",aboutHeader:"О расширении",configReset:"Сбросить настройки",reload:"Перезагрузить приложение"},tvBtnDesc:"ТВ-режим",fullscreenBtnDesc:"Полный экран"},h),"vi-VN":(0,b.default)({langName:"Tiếng Việt",context:{queue:"Đang phát từ hàng chờ",track:"Đang phát từ bài hát",album:"Đang phát từ album",artist:"Đang phát từ nghệ sĩ",playlist:"Đang phát từ danh sách phát",playlistFolder:"Đang phát từ thư mục danh sách phát",search:"Đang phát từ tìm kiếm",searchDest:"Bài hát",collection:"Đang phát từ bộ sưu tập",likedSongs:"Bài hát đã thích",trackRadio:"Đang phát từ đài phát của bài hát",artistRadio:"Đang phát từ đài phát của nghệ sĩ",albumRadio:"Đang phát từ đài phát của album",playlistRadio:"Đang phát từ đài phát của danh sách phát"},upnext:"TIẾP THEO",unknownArtist:"Nghệ sĩ (Không khả dụng)",settings:{switchToTV:"Chuyển sang chế độ TV",switchToFullscreen:"Chuyển sang chế độ mặc định",tvModeConfig:"Tùy chỉnh chế độ TV",fullscreenConfig:"Tùy chính chế độ toàn màn hình",exit:"Thoát",pluginSettings:"Cài đặt Plugin",fsHideOriginal:"Ẩn nút mặc định",fsHideOriginalDescription:"Ẩn nút toàn màn hình mặc định của Spotify (yêu cầu là người dùng **Premium**). Yêu cầu tải lại.",language:"Ngôn ngữ",autoLaunch:{setting:"Tự khởi động (khi Spotify khởi động)",description:"**Hạn chế:** Cửa sổ Spotify sẽ không thể mở toàn màn hình khi được tự động khởi chạy với hệ thống.",never:"Không bao giờ (Mặc định)",default:"Mở chế độ mặc định",tvmode:"Mở chế độ TV",lastused:"Chế độ dùng lần cuối"},activationTypes:{setting:"Phương thức kích hoạt",description:"Chọn phương thức bạn muốn để kích hoạt Plugin. Phím FT, hoặc là nút ở trên thanh điều hướng và thanh trình phát. **Yêu cầu tải lại**",both:"Nút và phím tắt",btns:"Chỉ nút",keys:"Chỉ phím tắt"},buttonActivation:{setting:"Tùy chính nút kích hoạt",description:"Chọn nút bạn muốn để kích hoạt, trên thanh điều hướng (*Chế độ TV*) và thanh trình phát (*Chế độ mặc định*). **Yêu cầu tải lại**",both:"Nút cho cả hai chế độ",tv:"Chỉ cho chế độ TV",def:"Chỉ cho chế độ mặc định"},keyActivation:{setting:"Tùy chỉnh phím kích hoạt",description:"Chọn phím bạn muốn để kích hoạt. F cho *Chế độ mặc định* và T cho *Chế độ TV* **Yêu cầu tải lại**",both:"Phím cho cả hai chế độ",tv:"Chỉ cho chế độ TV",def:"Chỉ cho chế độ mặc định"},lyricsHeader:"Cài đặt lời bài hát",lyrics:"Lời bài hát",lyricsDescription:["**Ghi chú:** Bạn sẽ cần ứng dụng [lyrics-plus](https://spicetify.app/docs/advanced-usage/custom-apps#lyrics-plus) để dùng tính năng này.","Làm theo các bước trên chỉ dẫn để cài đặt ứng dụng."],lyricsAlignment:{setting:"Căn chỉnh lời bài hát",left:"Trái",center:"Giữa",right:"Phải"},lyricsAnimationTempo:"Nhịp điệu hoạt họa",generalHeader:"Cài đặt tổng quát",progressBar:"Thanh tiến trình",playerControls:"Điều khiển trình phát",trimTitle:"Lược bỏ tiêu đề",trimTitleUpNext:"Lược bỏ tiêu đề (Bài hát kế tiếp)",showAlbum:{setting:"Hiện album",never:"Không bao giờ",always:"Luôn hiện",date:"Hiện với ngày phát hành"},showAllArtists:"Hiện toàn bộ nghệ sĩ",icons:"Icon",songChangeAnimation:"Hoạt họa chuyển bài hát",fullscreen:"Toàn màn hình",extraHeader:"Tính năng bổ sung",backgroundChoice:{setting:"Tùy chọn hình nền",dynamicColor:"Hình nền màu động",staticColor:"Hình nền màu tĩnh (Chọn bên dưới)",artwork:"Ảnh bìa album",artist:"Ảnh bìa nghệ sĩ"},extraControls:"Điều khiển bổ sung",upnextDisplay:"Hiện bài hát tiếp theo",contextDisplay:{setting:"Hiện tùy chọn",always:"Luôn hiện",never:"Không bao giờ",mouse:"Khi chuột di chuyển"},volumeDisplay:{setting:"Hiển thị thanh âm lượng",description:["Trong chế độ `thông minh`, thanh âm lượng sẽ được hiển thị khi:"," - bạn di chuyển chuột về phía trái màn hình."," - âm lượng thay đổi."],always:"Luôn hiện",never:"Không bao giờ",smart:"Thông minh"},appearanceHeader:"Nâng cao/Giao diện",appearanceSubHeader:"*(Chỉ thay đổi nếu bạn biết bạn đang làm gì!)*",backgroundColor:{setting:"Tùy chọn màu cho hình nền màu động",vibrant:"Sống động",prominent:"Nổi bật",desaturated:"Khử bão hòa (được khuyến nghị)",lightVibrant:"Sống động (sáng)",darkVibrant:"Sống động (tối)",vibrantNonAlarming:"Không quá sống động"},staticColor:"Tùy chọn màu cho hình nền màu tĩnh",themedButtons:"Nút được chỉnh theo màu",themedIcons:"Icon được chỉnh theo màu",invertColors:{setting:"Đảo ngược màu",never:"Không bao giờ",always:"Luôn đảo ngược",auto:"Tự động (Dựa trên hình nền)"},backAnimationTime:"Thời gian hoạt họa của hình nền",upnextScroll:{setting:"Hoạt họa của bài hát tiếp theo",mq:"Marquee/Scrolling",sp:"Spotify/Translating"},upnextTime:"Thời gian hiện thông báo bài hát tiếp theo",backgroundBlur:"Làm mờ hình nền",backgroundBrightness:"Độ sáng hình nền",aboutHeader:"Thông tin",configReset:"Đặt lại cài đặt",reload:"Tải lại Client"},tvBtnDesc:"Chế độ TV",fullscreenBtnDesc:"Toàn màn hình"},h),"es-ES":(0,b.default)({langName:"Spanish",context:{queue:"Reproduciendo desde la cola",track:"Reproduciendo la pista",album:"Reproduciendo desde el álbum",artist:"Reproduciendo desde el artista",playlist:"Reproduciendo desde la lista de reproducción",playlistFolder:"Reproduciendo desde la carpeta de listas de reproducción",search:"Reproduciendo desde la búsqueda",searchDest:"Canciones",collection:"Reproduciendo desde la colección",likedSongs:"Canciones favoritas",trackRadio:"Reproduciendo desde la radio de la pista",artistRadio:"Reproduciendo desde la radio del artista",albumRadio:"Reproduciendo desde la radio del álbum",playlistRadio:"Reproduciendo desde la radio de la lista de reproducción"},upnext:"SIGUIENTE",unknownArtist:"Artista (No disponible)",settings:{switchToTV:"Cambiar a modo TV",switchToFullscreen:"Cambiar a modo pantalla completa",tvModeConfig:"Configuración del modo TV",fullscreenConfig:"Configuración de pantalla completa",exit:"Salir",pluginSettings:"Configuración del complemento",fsHideOriginal:"Ocultar el botón de pantalla completa de Spotify",fsHideOriginalDescription:"Oculta el botón de pantalla completa de Spotify (solo disponible para usuarios **Premium**)",language:"Idioma",autoLaunch:{setting:"Lanzamiento automático (al iniciar Spotify)",description:"**Limitación:** La ventana de Spotify no puede ir a pantalla completa al iniciarse automáticamente.",never:"Nunca (predeterminado)",default:"Abrir el modo predeterminado",tvmode:"Abrir el modo TV",lastused:"Último modo usado"},activationTypes:{setting:"Métodos de activación",description:"Elige los métodos que quieres usar para activar el complemento. Los atajos de teclado F y T, o los botones en la barra superior e inferior.",both:"Botones y atajos de teclado",btns:"Botones solo",keys:"Atajos de teclado solo"},buttonActivation:{setting:"Personalizar los botones de activación",description:"Elige los botones que quieres para la activación, en la barra superior (*Modo TV*) y en la barra inferior (*Modo predeterminado*).",both:"Botones para ambos modos",tv:"Botón solo para el modo TV",def:"Botón solo para el modo predeterminado"},keyActivation:{setting:"Personalizar los atajos de activación",description:"Elige los atajos que quieres para la activación. F para el *Modo predeterminado* y T para el *Modo TV*",both:"Atajos para ambos modos",tv:"Atajo solo para el modo TV",def:"Atajo solo para el modo predeterminado"},lyricsHeader:"Configuración de las letras",lyrics:"Letras",lyricsDescription:["**Nota:** Necesitas la aplicación personalizada [lyrics-plus](https://spicetify.app/docs/advanced-usage/custom-apps#lyrics-plus) para usar esta función.","Sigue las instrucciones del enlace para instalar la aplicación personalizada."],lyricsAlignment:{setting:"Alineación de las letras",left:"Izquierda",center:"Centro",right:"Derecha"},autoHideLyrics:"Ocultar las letras automáticamente (cuando no estén disponibles)",lyricsAnimationTempo:"Tempo de la animación de las letras",generalHeader:"Configuración general",progressBar:"Barra de progreso",playerControls:"Controles del reproductor",trimTitle:"Recortar título",trimTitleUpNext:"Recortar título (Siguiente)",showAlbum:{setting:"Mostrar álbum",never:"Nunca",always:"Siempre",date:"Mostrar con fecha de lanzamiento"},showAllArtists:"Mostrar todos los artistas",icons:"Iconos",songChangeAnimation:"Animación de cambio de canción",fullscreen:"Pantalla completa",extraHeader:"Funcionalidad adicional",backgroundChoice:{setting:"⭐ Elección de fondo",description:["**Nuevo:** ¡Prueba la opción de **obra de arte del álbum animado**!","**Advertencia:** Se ve hermoso, pero puede ser intensivo en recursos y es experimental."],dynamicColor:"Color sólido dinámico",staticColor:"Color sólido estático",artwork:"Obra de arte del álbum",animatedArt:"Obra de arte del álbum animada (Experimental)",artist:"Obra de arte del artista"},extraControls:"Controles adicionales",upnextDisplay:"Visualización de la lista de reproducción",contextDisplay:{setting:"Visualización de contexto",always:"Siempre",never:"Nunca",mouse:"Al mover el mouse"},volumeDisplay:{setting:"Visualización de la barra de volumen",description:["En el modo `inteligente`, la barra de volumen se mostrará cuando:"," - mueves el mouse al lado izquierdo de la pantalla."," - cuando se cambia el volumen."],always:"Siempre",never:"Nunca",smart:"Inteligente"},appearanceHeader:"Apariencia avanzada/Apariencia",appearanceSubHeader:"*(Solo cambia si sabes lo que estás haciendo!)*",backgroundHeader:"Modificaciones de fondo",backgroundSubHeader:"Viene con valores predeterminados razonables, *(solo cambia si sabes lo que estás haciendo!)*",backgroundColor:{setting:"Elección de color (para fondo de color dinámico)",vibrant:"Vibrante",prominent:"Prominente",desaturated:"Desaturado (recomendado)",lightVibrant:"Vibrante claro",darkVibrant:"Vibrante oscuro",vibrantNonAlarming:"Vibrante sin alarma"},staticColor:"Elección de color (para fondo de color estático)",themedButtons:"Botones temáticos",themedIcons:"Iconos temáticos",invertColors:{setting:"Invertir colores",never:"Nunca",always:"Siempre",auto:"Automático (Basado en BG)"},backAnimationTime:"Tiempo de animación de fondo (para fondo de imagen)",animationSpeed:"⭐ Velocidad de animación (para fondo animado)",upnextScroll:{setting:"Animación de desplazamiento de la lista de reproducción",mq:"Marquesina/Desplazamiento",sp:"Spotify/Traducción"},upnextTime:"Tiempo de visualización de la lista de reproducción",backgroundBlur:"Desenfoque de fondo",backgroundBrightness:"Brillo de fondo",aboutHeader:"Acerca de",configReset:"Restablecer configuración",reload:"Recargar cliente"},tvBtnDesc:"Visualización del modo TV",fullscreenBtnDesc:"Pantalla completa"},h),"fr-FR":(0,b.default)({langName:"Français",context:{queue:"Lecture de la file d'attente",track:"Lecture de la piste",album:"Lecture de l'album",artist:"Lecture de l'artiste",playlist:"Lecture de la playlist",playlistFolder:"Lecture du dossier de playlist",search:"Lecture de la recherche",searchDest:"Chansons",collection:"Lecture de la collection",likedSongs:"Chansons aimées",trackRadio:"Lecture de la radio de la piste",artistRadio:"Lecture de la radio de l'artiste",albumRadio:"Lecture de la radio de l'album",playlistRadio:"Lecture de la radio de la playlist"},upnext:"À SUIVRE",unknownArtist:"Artiste (Indisponible)",settings:{switchToTV:"Passer en mode TV",switchToFullscreen:"Revenir au mode par défaut",tvModeConfig:"Configuration du mode TV",fullscreenConfig:"Configuration en plein écran",exit:"Quitter",pluginSettings:"Paramètres du plugin",fsHideOriginal:"Masquer le bouton d'origine",fsHideOriginalDescription:"Masquez le bouton de plein écran d'origine de Spotify (disponible pour les utilisateurs **Premium**)",language:"Langue",autoLaunch:{setting:"Lancement automatique (au démarrage de Spotify)",description:"**Limitation :** La fenêtre de Spotify ne peut pas passer en mode plein écran lors du démarrage automatique.",never:"Jamais (Par défaut)",default:"Ouvrir en mode par défaut",tvmode:"Ouvrir en mode TV",lastused:"Dernier mode utilisé"},activationTypes:{setting:"Méthodes d'activation",description:"Choisissez les méthodes que vous souhaitez utiliser pour activer le plugin. Touches F et T, ou boutons dans la barre supérieure et la barre inférieure.",both:"Boutons et raccourcis clavier",btns:"Boutons uniquement",keys:"Raccourcis clavier uniquement"},buttonActivation:{setting:"Personnaliser les boutons d'activation",description:"Choisissez les boutons que vous souhaitez utiliser pour l'activation, dans la barre supérieure (*Mode TV*) et la barre inférieure (*Mode par défaut*).",both:"Boutons pour les deux modes",tv:"Bouton uniquement pour le mode TV",def:"Bouton uniquement pour le mode par défaut"},keyActivation:{setting:"Personnaliser les touches d'activation",description:"Choisissez les touches que vous souhaitez utiliser pour l'activation. Touche F pour le *Mode par défaut* et T pour le *Mode TV*",both:"Touches pour les deux modes",tv:"Touche uniquement pour le mode TV",def:"Touche uniquement pour le mode par défaut"},lyricsHeader:"Paramètres des paroles",lyrics:"Paroles",lyricsDescription:["**Remarque :** Vous avez besoin de l'application personnalisée [lyrics-plus](https://spicetify.app/docs/advanced-usage/custom-apps#lyrics-plus) pour utiliser cette fonctionnalité.","Suivez les instructions du lien pour installer l'application personnalisée."],lyricsAlignment:{setting:"Alignement des paroles",left:"Gauche",center:"Centre",right:"Droite"},autoHideLyrics:"Masquer automatiquement les paroles (lorsque pas disponibles)",lyricsAnimationTempo:"Tempo de l'animation des paroles",generalHeader:"Paramètres généraux",progressBar:"Barre de progression",playerControls:"Contrôles du lecteur",trimTitle:"Réduire le titre",trimTitleUpNext:"Réduire le titre (À suivre)",showAlbum:{setting:"Afficher l'album",never:"Jamais",always:"Toujours",date:"Afficher avec la date de sortie"},showAllArtists:"Afficher tous les artistes",icons:"Icônes",songChangeAnimation:"Animation de changement de chanson",fullscreen:"Plein écran",extraHeader:"Fonctionnalités supplémentaires",backgroundChoice:{setting:"⭐ Choix de l'arrière-plan",description:["**Nouveau :** Essayez l'option **image d'album animée** !","**Avertissement :** Cela peut être très beau, mais peut consommer des ressources et est expérimental."],dynamicColor:"Couleur solide dynamique",staticColor:"Couleur solide statique",artwork:"Image d'album",animatedArt:"Image d'album animée (Expérimental)",artist:"Image de l'artiste"},extraControls:"Contrôles supplémentaires",upnextDisplay:"Affichage À suivre",contextDisplay:{setting:"Affichage du contexte",always:"Toujours",never:"Jamais",mouse:"Lors du mouvement de la souris"},volumeDisplay:{setting:"Affichage de la barre de volume",description:["En mode `intelligent`, la barre de volume s'affichera lorsque :"," - vous déplacez votre souris vers le côté gauche de l'écran."," - lorsque le volume est modifié."],always:"Toujours",never:"Jamais",smart:"Intelligent"},appearanceHeader:"Paramètres avancés/Aspect",appearanceSubHeader:"*(À changer uniquement si vous savez ce que vous faites !)*",backgroundHeader:"Modifications de l'arrière-plan",backgroundSubHeader:"Fournit des valeurs par défaut raisonnables, *(À changer uniquement si vous savez ce que vous faites !)*",backgroundColor:{setting:"Choix de la couleur (pour un arrière-plan coloré dynamique)",vibrant:"Vibrante",prominent:"Prominente",desaturated:"Désaturée (recommandée)",lightVibrant:"Légèrement vibrante",darkVibrant:"Foncé vibrante",vibrantNonAlarming:"Vibrante non alarmante"},staticColor:"Choix de la couleur (pour un arrière-plan coloré statique)",themedButtons:"Boutons thématiques",themedIcons:"Icônes thématiques",invertColors:{setting:"Inverser les couleurs",never:"Jamais",always:"Toujours",auto:"Automatique (basé sur le fond)"},backAnimationTime:"Temps d'animation de l'arrière-plan (pour l'arrière-plan image)",animationSpeed:"⭐ Vitesse d'animation (pour l'arrière-plan animé)",upnextScroll:{setting:"Animation de défilement À suivre",mq:"Marquee/Defilement",sp:"Spotify/Translation"},upnextTime:"Temps pour afficher À suivre",backgroundBlur:"Flou de l'arrière-plan",backgroundBrightness:"Luminosité de l'arrière-plan",aboutHeader:"À propos",configReset:"Réinitialiser la configuration",reload:"Recharger le client"},tvBtnDesc:"Affichage du mode TV",fullscreenBtnDesc:"Plein écran"},h),"id-ID":(0,b.default)({langName:"Bahasa Indonesia",context:{queue:"Memutar dari antrian",track:"Memutar lagu",album:"Memutar dari album",artist:"Memutar dari artis",playlist:"Memutar dari playlist",playlistFolder:"Memutar dari folder playlist",search:"Memutar dari hasil pencarian",searchDest:"Lagu",collection:"Memutar dari koleksi",likedSongs:"Lagu yang disukai",trackRadio:"Memutar dari trek radio",artistRadio:"Memutar dari radio artis",albumRadio:"Memutar dari album radio",playlistRadio:"Memutar dari playlist radio"},upnext:"SELANJUTNYA",unknownArtist:"Artis (Tidak Tersedia)",settings:{switchToTV:"Beralih ke Mode TV",switchToFullscreen:"Beralih ke Mode Default",tvModeConfig:"Konfigurasi Mode TV",fullscreenConfig:"Konfigurasi Layar Penuh",exit:"Keluar",pluginSettings:"Pengaturan Plugin",fsHideOriginal:"Sembunyikan Tombol Default",fsHideOriginalDescription:"Sembunyikan tombol layar penuh bawaan Spotify (tersedia untuk pengguna **Premium**)",language:"Bahasa",autoLaunch:{setting:"Auto-launch (saat startup Spotify)",description:"**Batasan:** Jendela Spotify tidak dapat masuk ke mode layar penuh saat diluncurkan secara otomatis pada startup.",never:"Tidak Pernah (Default)",default:"Buka Mode Default",tvmode:"Buka Mode TV",lastused:"Mode Terakhir yang Digunakan"},activationTypes:{setting:"Metode Aktivasi",description:"Pilih metode yang ingin Anda gunakan untuk mengaktifkan plugin. Tombol F dan T, atau tombol di bilah atas dan bawah.",both:"Tombol dan Pintasan Keyboard",btns:"Hanya Tombol",keys:"Hanya Pintasan Keyboard"},buttonActivation:{setting:"Sesuaikan Tombol Aktivasi",description:"Pilih tombol yang ingin Anda gunakan untuk aktivasi, di bilah atas (*Mode TV*) dan bawah (*Mode Default*).",both:"Tombol untuk kedua mode",tv:"Tombol hanya untuk Mode TV",def:"Tombol hanya untuk Mode Default"},keyActivation:{setting:"Sesuaikan Tombol Aktivasi",description:"Pilih tombol yang ingin Anda gunakan untuk aktivasi. F untuk *Mode Default* dan T untuk *Mode TV*",both:"Tombol untuk kedua mode",tv:"Tombol hanya untuk Mode TV",def:"Tombol hanya untuk Mode Default"},lyricsHeader:"Pengaturan Lirik",lyrics:"Lirik",lyricsDescription:["**Catatan:** Anda memerlukan aplikasi kustom [lyrics-plus](https://spicetify.app/docs/advanced-usage/custom-apps#lyrics-plus) untuk menggunakan fitur ini.","Ikuti petunjuk dalam tautan untuk menginstal aplikasi kustom tersebut."],lyricsAlignment:{setting:"Penjajaran Lirik",left:"Kiri",center:"Tengah",right:"Kanan"},autoHideLyrics:"Sembunyikan Lirik Secara Otomatis (saat tidak tersedia)",lyricsAnimationTempo:"Kecepatan Animasi Lirik",generalHeader:"Pengaturan Umum",progressBar:"Progress Bar",playerControls:"Kontrol Pemutar",trimTitle:"Potong Judul",trimTitleUpNext:"Potong Judul (Selanjutnya)",showAlbum:{setting:"Tampilkan Album",never:"Tidak Pernah",always:"Selalu",date:"Tampilkan dengan Tanggal Rilis"},showAllArtists:"Tampilkan Semua Artis",icons:"Ikon",songChangeAnimation:"Animasi Perubahan Lagu",fullscreen:"Layar Penuh",extraHeader:"Fungsionalitas Tambahan",backgroundChoice:{setting:"⭐ Pilihan Latar Belakang",description:["**Baru:** Cobalah opsi **album seni bergerak**!","**Peringatan:** Terlihat indah tetapi mungkin membutuhkan sumber daya yang tinggi, dan eksperimental."],dynamicColor:"Warna solid dinamis",staticColor:"Warna solid statis",artwork:"Seni Album",animatedArt:"Seni Album Bergerak (Eksperimental)",artist:"Seni Artis"},extraControls:"Kontrol Tambahan",upnextDisplay:"Tampilan Selanjutnya",contextDisplay:{setting:"Tampilan Konteks",always:"Selalu",never:"Tidak Pernah",mouse:"Pada pergerakan mouse"},volumeDisplay:{setting:"Tampilan Bar Volume",description:["Dalam mode `cerdas`, bar volume akan ditampilkan ketika:"," - Anda memindahkan mouse ke sisi kiri layar."," - ketika volume diubah."],always:"Selalu",never:"Tidak Pernah",smart:"Cerdas"},appearanceHeader:"Lanjutan/Penampilan",appearanceSubHeader:"*(Ubah hanya jika Anda tahu apa yang Anda lakukan!)*",backgroundHeader:"Modifikasi Latar Belakang",backgroundSubHeader:"Hadir dengan standar yang wajar, *(Ubah hanya jika Anda tahu apa yang Anda lakukan!)*",backgroundColor:{setting:"Pilihan Warna (untuk latar belakang berwarna dinamis)",vibrant:"Vibrant",prominent:"Prominent",desaturated:"Desaturated (disarankan)",lightVibrant:"Light Vibrant",darkVibrant:"Dark Vibrant",vibrantNonAlarming:"Vibrant Non Alarming"},staticColor:"Pilihan Warna (untuk latar belakang berwarna statis)",themedButtons:"Tombol Bertema",themedIcons:"Ikon Vertema",invertColors:{setting:"Balik Warna",never:"Tidak Pernah",always:"Selalu",auto:"Otomatis (Berdasarkan Latar)"},verticalMonitorSupport:"Dukungan Monitor Vertical",verticalMonitorSupportDescription:"Aktifkan ini jika Anda memiliki pengaturan monitor vertical. Lirik akan ditampilkan di bagian bawah, ketika tinggi jendela lebih besar dari lebar.",backAnimationTime:"Waktu Animasi Latar Belakang (untuk latar belakang gambar)",animationSpeed:"⭐ Kecepatan Animasi (untuk latar belakang bergerak)",upnextScroll:{setting:"Animasi Gulir Selanjutnya",mq:"Marquee/Gulir",sp:"Spotify/Translasi"},upnextTime:"Waktu Selanjutnya untuk Ditampilkan",backgroundBlur:"Blur Latar Belakang",backgroundBrightness:"Kecerahan Latar Belakang",aboutHeader:"Tentang",configReset:"Atur Ulang Konfigurasi",reload:"Muat Ulang Klien"},tvBtnDesc:"Tampilan Mode TV",fullscreenBtnDesc:"Layar Penuh"},h),"pt-BR":(0,b.default)({langName:"Português Brasileiro",context:{queue:"Reproduzindo da fila",track:"Reproduzindo faixa",album:"Reproduzindo do álbum",artist:"Reproduzindo do artista",playlist:"Reproduzindo da playlist",playlistFolder:"Reproduzindo de pasta de playlist",search:"Reproduzindo da pesquisa",searchDest:"Músicas",collection:"Reproduzindo da coleção",likedSongs:"Músicas Curtidas",trackRadio:"Reproduzindo do rádio da faixa",artistRadio:"Reproduzindo do rádio do artista",albumRadio:"Reproduzindo do rádio do álbum",playlistRadio:"Reproduzindo do rádio da playlist"},upnext:"A SEGUIR",unknownArtist:"Artista (Indisponível)",settings:{switchToTV:"Mudar para Modo TV",switchToFullscreen:"Mudar para Modo Padrão",tvModeConfig:"Configuração do Modo TV",fullscreenConfig:"Configuração de Tela Cheia",exit:"Sair",pluginSettings:"Configurações do Plugin",fsHideOriginal:"Ocultar Botão Padrão",fsHideOriginalDescription:"Oculta o botão de tela cheia padrão do Spotify (disponível para usuários **Premium**)",language:"Idioma",autoLaunch:{setting:"Inicialização automática (na inicialização do Spotify))",description:"**Limitação:** A janela do Spotify não pode ser maximizada automaticamente na inicialização.",never:"Nunca (Padrão)",default:"Modo Padrão",tvmode:"Modo TV",lastused:"Último Modo Utilizado"},activationTypes:{setting:"Métodos de Ativação",description:"Escolha os métodos que deseja usar para ativar o plugin. F e T keys, ou botões na barra superior e inferior.",both:"Botões e Atalhos de Teclado",btns:"Apenas Botões",keys:"Apenas Atalhos de Teclado"},buttonActivation:{setting:"Personalizar Botões de Ativação",description:"Escolha os botões desejados para ativação, na barra superior (*Modo TV*) e inferior (*Modo Padrão*).",both:"Modo Padrão e Modo TV",tv:"Modo TV",def:"Modo Padrão"},keyActivation:{setting:"Personalizar Teclas de Ativação",description:"Escolha as teclas desejadas para ativação. Tecla F para *Modo Padrão* e T para *Modo TV*",both:"Modo Padrão e Modo TV",tv:"Modo TV",def:"Modo Padrão"},lyricsHeader:"Configurações de Letras",lyrics:"Letras",lyricsDescription:["**Observação:** Você precisa do [lyrics-plus](https://spicetify.app/docs/advanced-usage/custom-apps#lyrics-plus) aplicativo personalizado para usar esse recurso.","Siga as instruções no link para instalar o aplicativo personalizado."],lyricsAlignment:{setting:"Alinhamento de Letras",left:"Esquerda",center:"Centro",right:"Direita"},autoHideLyrics:"Ocultar Letras Automaticamente (Quando indisponíveis)",lyricsAnimationTempo:"Tempo de Animação das Letras",generalHeader:"Configurações Gerais",progressBar:"Barra de Progresso",playerControls:"Controles do Reprodutor",trimTitle:"Reduzir Título",trimTitleUpNext:"Reduzir Título (Em breve)",showAlbum:{setting:"Exibição do Álbum",never:"Nunca",always:"Sempre",date:"Exibir com Data de Lançamento"},showAllArtists:"Exibição de Todos os Artistas",icons:"Ícones",songChangeAnimation:"Animação de Troca de Música",fullscreen:"Tela Cheia",extraHeader:"Funcionalidades Extras",backgroundChoice:{setting:"⭐ Escolha de Fundo",description:["**Novidade:** Experimente a opção de **Arte do Álbum Animada**!","**Aviso:** Parece bonito, mas pode exigir muito desempenho e é experimental."],dynamicColor:"Cor sólida dinâmica",staticColor:"Cor sólida estática",artwork:"Arte do álbum",animatedArt:"Arte do Álbum Animada (Experimental))",artist:"Arte do Artista"},extraControls:"Controles Extras",upnextDisplay:"Exibição da Próxima Músuica",contextDisplay:{setting:"Exibição do Contexto",always:"Sempre",never:"Nunca",mouse:"Ao movimentar o mouse"},volumeDisplay:{setting:"Exibição da Barra de Volume",description:["No modo `inteligente`, a barra de volume será exibida quando:"," - você mover o mouse para o lado esquerdo da tela."," - quando o volume for alterado."],always:"Sempre",never:"Nunca",smart:"Inteligente"},appearanceHeader:"Avançado/Aparência",appearanceSubHeader:"**(Mude apenas se souber o que está fazendo!)*",backgroundHeader:"Modificações de Fundo",backgroundSubHeader:"Vem com padrões razoáveis, *(Mude apenas se souber o que está fazendo!)*",backgroundColor:{setting:"Escolha de Cor (Para fundo colorido dinâmico)",vibrant:"Vibrante",prominent:"Destaque",desaturated:"Desaturado (Recomendado)",lightVibrant:"Vibrante Claro",darkVibrant:"Vibrante Escuro",vibrantNonAlarming:"Vibrante Não Alarmante"},staticColor:"Escolha de Cor (Para fundo colorido dinâmico)",themedButtons:"Botões Temáticos",themedIcons:"Ícones Temáticos",invertColors:{setting:"Inverter Cores",never:"Nunca",always:"Sempre",auto:"Automático (Baseado no fundo)"},verticalMonitorSupport:"Suporte para Monitor Vertical",verticalMonitorSupportDescription:"Ative isso se tiver uma configuração de monitor vertical. As letras serão exibidas na parte inferior quando a altura da janela for maior que a largura.",backAnimationTime:"Tempo de Animação do Fundo (Para fundo de imagem)",animationSpeed:"⭐ Velocidade de Animação (Para fundo animado)",upnextScroll:{setting:"Animação de rolagem da faixa a seguir",mq:"Marcação/Rolagem",sp:"Spotify/Tradução"},upnextTime:"Tempo para exibição da faixa a seguir",backgroundBlur:"Desfoque do Fundo",backgroundBrightness:"Brilho do Fundo",aboutHeader:"Sobre",configReset:"Redefinir Configuração",reload:"Recarregar Cliente"},tvBtnDesc:"Exibição do Modo TV",fullscreenBtnDesc:"Tela Cheia"},h),"zh-TW":(0,b.default)({langName:"繁體中文",context:{queue:"正在從佇列播放",track:"正在播放",album:"正在從專輯播放",artist:"正在從藝人播放",playlist:"正在從歌單播放",playlistFolder:"正在從歌單資料夾播放",search:"正在從搜尋結果播放",searchDest:"歌曲",collection:"正在從合輯播放",likedSongs:"已按讚的歌曲",trackRadio:"正在從歌曲電台播放",artistRadio:"正在從藝人電台播放",albumRadio:"正在從專輯電台播放",playlistRadio:"正在從歌單電台播放"},upnext:"下一首",unknownArtist:"未知藝人",settings:{switchToTV:"切換至電視模式",switchToFullscreen:"切換至預設模式",tvModeConfig:"電視模式設定",fullscreenConfig:"全螢幕模式設定",exit:"退出",pluginSettings:"插件設定",fsHideOriginal:"隱藏原版按鈕",fsHideOriginalDescription:"隱藏Spotify原版的全螢幕按鈕 (只對**Premium**使用者有效)",language:"語言",autoLaunch:{setting:"自動啟動 (當Spotify啟動時)",description:"**限制:** Spotify 視窗在自動啟動時無法進入全螢幕模式",never:"永不 (預設)",default:"進入預設模式",tvmode:"電視模式",lastused:"上次使用的模式"},activationTypes:{setting:"開啟方式",description:"選擇你要開啟全螢幕的方式 FT 鍵,或者在頂部和底部欄的按鈕",both:"按鈕和鍵盤快捷鍵",btns:"僅限按鈕",keys:"僅限鍵盤快捷鍵"},buttonActivation:{setting:"自訂開啟按鈕",description:"選擇你要開啟全螢幕的方式,頂部(*電視模式*)和底部(*預設模式*)",both:"兩種模式的按鈕",tv:"僅限電視模式的按鈕",def:"僅限一般模式的按鈕"},keyActivation:{setting:"自訂開啟快捷鍵",description:"選擇你要開啟全螢幕的方式 F 切換到*預設模式*, T 切換到*電視模式*",both:"兩種模式的按鍵",tv:"僅限電視模式的按鍵",def:"僅限一般模式的按鍵"},lyricsHeader:"歌詞設定",lyrics:"歌詞",lyricsDescription:["**注意:**你需要先安裝[lyrics-plus](https://spicetify.app/docs/advanced-usage/custom-apps#lyrics-plus)插件才能使用歌詞功能","請根據連結裡的指示安裝這個插件"],lyricsAlignment:{setting:"歌詞對齊方式",left:"靠左對齊",center:"置中",right:"靠右對齊"},autoHideLyrics:"自動隱藏歌詞 (當歌詞不可用時)",lyricsAnimationTempo:"歌詞動畫速度",generalHeader:"一般設定",progressBar:"播放進度條",playerControls:"播放控制",trimTitle:"縮短標題",trimTitleUpNext:"縮短下一首提示的標題",showAlbum:{setting:"顯示專輯標題",never:"永不顯示",always:"永遠顯示",date:"與發佈年分一起顯示"},showAllArtists:"顯示所有藝人",icons:"顯示圖示",songChangeAnimation:"歌曲切換動畫",fullscreen:"全螢幕",extraHeader:"額外功能設定",backgroundChoice:{setting:"背景設定",description:["**新功能:** 試試看 **動化專輯照** 選項!","**警告:** 很漂亮,但可能消耗更多電腦資源,而且這是實驗性的功能"],dynamicColor:"動態純色",staticColor:"靜態純色",artwork:"專輯照",animatedArt:"動化專輯照 (實驗性)",artist:"藝人封面"},extraControls:"額外控制",upnextDisplay:"下一首提示",contextDisplay:{setting:"播放來源顯示",always:"永遠顯示",never:"永不顯示",mouse:"當滑鼠移動時顯示"},volumeDisplay:{setting:"音量條顯示",description:["在自動模式下,音量條將會在以下情況顯示:"," - 滑鼠移動到螢幕左方"," - 音量有變化"],always:"永遠顯示",never:"永不顯示",smart:"自動模式"},appearanceHeader:"進階/外觀設定",appearanceSubHeader:"*(除非你知道你在幹嘛,不然不要改!)*",backgroundHeader:"背景修改",backgroundSubHeader:"有合理的預設,*除非你知道你在幹嘛,不然不要改!*",backgroundColor:{setting:"顏色選擇 (用於動態純色)",vibrant:"豐富多彩",prominent:"突出",desaturated:"去飽和度 (推薦)",lightVibrant:"明亮的活力",darkVibrant:"深色的活力",vibrantNonAlarming:"不引人注目的活力"},staticColor:"顏色選擇 (用於靜態純色)",themedButtons:"主題色按鈕",themedIcons:"主題色圖示",invertColors:{setting:"反轉顏色",never:"永不",always:"永遠",auto:"自動 (基於背景)"},verticalMonitorSupport:"垂直顯示器支援",verticalMonitorSupportDescription:"如果你有垂直顯示器,請啟用此功能。當視窗高度大於寬度時,歌詞將顯示在底部。",backAnimationTime:"背景動畫時間 (用於圖片背景)",animationSpeed:"⭐ 動畫速度 (用於動畫背景)",upnextScroll:{setting:"下一首提示動畫",mq:"跑馬燈/滾動",sp:"Spotify/變換"},upnextTime:"下一首提示顯示時間",backgroundBlur:"背景模糊",backgroundBrightness:"背景亮度",aboutHeader:"關於",configReset:"重設設定",reload:"重新載入插件"},tvBtnDesc:"電視模式",fullscreenBtnDesc:"全螢幕模式"},h)};function Je(e){var n=[],a=null,r=[],o=!1,t=null,s=e.prototype.handleKey;function l(e){for(var t=0;t{const[t,n]=E.useState(Spicetify.Player.getProgress()),[a,r]=E.useState(Spicetify.Player.getDuration()),[e,o]=E.useState(Ne.get("showRemainingTime")),[s,l]=E.useState({isChanging:!1,data:null}),c=E.useRef(null),[d,u]=E.useState(!0),p=E.useRef(null),g=e=>{var t;0==e.button&&(t=c.current?.getBoundingClientRect().width??480,t=(e={isChanging:!0,data:{begin:e.offsetX,positionCoord:e.offsetX,beginClient:e.clientX,sliderDimen:t}}).data.positionCoord/t,n(t*a),l(e))},m=e=>{var t;s.isChanging&&s.data&&(e=e.clientX-s.data.beginClient,t=s.data.sliderDimen,t=(e=Math.min(Math.max(s.data.begin+e,0),t))/t,n(t*a),l({isChanging:!0,data:{...s.data,positionCoord:e}})),"mousemove"===i&&h()},f=e=>{0==e.button&&s.isChanging&&(Spicetify.Player.seek(t),l({isChanging:!1,data:null}))},h=(e=3e3)=>{p.current&&clearTimeout(p.current),u(!0),p.current=setTimeout(()=>{u(!1)},e)},y=()=>{var e=Spicetify.Player.getProgress();s.isChanging||!Spicetify.Player.isPlaying()&&t===e||n(e)},b=e=>{n(0),r(e.data.duration)};return E.useEffect(()=>{"mousemove"===i&&h();const e=setInterval(y,500);return Spicetify.Player.addEventListener("songchange",b),c.current?.addEventListener("mousedown",g),document.addEventListener("mousemove",m),document.addEventListener("mouseup",f),()=>{clearInterval(e),Spicetify.Player.removeEventListener("songchange",b),c.current?.removeEventListener("mousedown",g),document.removeEventListener("mousemove",m),document.removeEventListener("mouseup",f)}},[s,i]),E.createElement("div",{id:"fsd-progress-container",style:{opacity:d?1:0}},E.createElement("div",{className:"progress-number",id:"fsd-elapsed"},Spicetify.Player.formatTime(t)),E.createElement("div",{id:"fsd-progress-bar",ref:c,className:(0,et.default)({dragging:s.isChanging})},E.createElement("div",{id:"fsd-progress-bar-inner",style:{width:t/a*100+"%"}},E.createElement("div",{id:"progress-thumb"}))),E.createElement("div",{className:"progress-number",id:"fsd-duration",onClick:()=>{o(!e),Ne.set("showRemainingTime",!e)}},e?" -"+Spicetify.Player.formatTime(a-t):Spicetify.Player.formatTime(a)))},L=t(z()),it=t(e()),nt=t(U()),at=({volume:e})=>{return L.createElement("button",{className:"fs-button",id:"fsd-volume-icon",onClick:()=>document.querySelector("div.main-nowPlayingBar-volumeBar > button")?.click(),title:0==e?"Unmute":"Mute",dangerouslySetInnerHTML:{__html:"number"!=typeof e||60 ${Spicetify.SVGIcons.volume} @@ -142,7 +144,7 @@ ${e} ${Spicetify.SVGIcons["volume-off"]} - `}})},et=({state:a})=>{const[t,r]=C.useState(Spicetify.Platform?.PlaybackAPI?._isAvailable?Math.round(100*Spicetify.Player.getVolume()):-100),[o,s]=C.useState({isChanging:!1,data:null}),[e,i]=C.useState(!0),n=C.useRef(null),l=C.useRef(null),c=e=>{var t;0==e.button&&(e={isChanging:!0,data:{begin:(t=n.current?.getBoundingClientRect().height??250)-e.offsetY,positionCoord:t-e.offsetY,beginClient:e.clientY,sliderDimen:t}},t=Math.round(e.data.positionCoord/t*100),r(t),s(e))},d=e=>{if(o.isChanging&&o.data){var t=o.data.beginClient-e.clientY,i=o.data.sliderDimen,t=Math.min(Math.max(o.data.begin+t,0),i);const n=Math.round(t/i*100);r(n),(0,ke.default)(()=>Spicetify.Player.setVolume(n/100),20)(),s({isChanging:!0,data:{...o.data,positionCoord:t}})}"smart"===a&&.2{0==e.button&&o.isChanging&&(Spicetify.Player.setVolume(t/100),s({isChanging:!1,data:null}))},p=(e=2e3)=>{l.current&&clearTimeout(l.current),i(!0),l.current=setTimeout(()=>{i(!1)},e)},g=e=>{o.isChanging||(e=Math.round(100*e.data.volume))!==t&&(r(e),"smart"===a)&&p()};return C.useEffect(()=>("smart"===a&&p(3e3),Spicetify.Platform.PlaybackAPI._events.addListener("volume",g),n.current?.addEventListener("mousedown",c),document.addEventListener("mousemove",d),document.addEventListener("mouseup",u),()=>{Spicetify.Platform.PlaybackAPI._events.removeListener("volume",g),n.current?.removeEventListener("mousedown",c),document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",u)}),[o,a,t]),C.createElement("div",{id:"fsd-volume-container",className:(0,xe.default)({unavailable:-100===t,"v-hidden":"always"!==a&&!e,dragging:o.isChanging})},C.createElement("div",{id:"fsd-volume"},-100===t?"":t+"%"),C.createElement("div",{id:"fsd-volume-bar",ref:n,className:(0,xe.default)({dragging:o.isChanging})},C.createElement("div",{id:"fsd-volume-bar-inner",style:{height:(-100===t?100:t)+"%"}},C.createElement("div",{id:"volume-thumb"}))),C.createElement(we,{volume:t}))};var Se=async function(){let z=0,B=ze.allNotExist();for(;0setTimeout(e,300)),B=ze.allNotExist(),z+=1}function t(){(ze.isModeActivated()&&Ne.getGlobal("tvMode")&&"tv"===Ne.getMode()?I:(Ne.getGlobal("tvMode")&&"tv"===Ne.getMode()||(Ne.setGlobal("tvMode",!0),Ne.setMode("tv"),x()),E))()}function i(){(!ze.isModeActivated()||Ne.getGlobal("tvMode")||"tv"===Ne.getMode()?(!Ne.getGlobal("tvMode")&&"tv"!==Ne.getMode()||(Ne.setGlobal("tvMode",!1),Ne.setMode("def"),x()),E):I)()}Ke(),Ze(Spicetify.Mousetrap),"btns"!==Ne.getGlobal("activationTypes")&&("def"!==Ne.getGlobal("keyActivation")&&Spicetify.Mousetrap.bind("t",t),"tv"!==Ne.getGlobal("keyActivation"))&&Spicetify.Mousetrap.bind("f",i),null===localStorage.getItem("full-screen:inverted")&&localStorage.setItem("full-screen:inverted","{}");const a=JSON.parse(localStorage.getItem("full-screen:inverted")??"{}");let s=Ne.getGlobal("locale");const O=document.createElement("style"),l=document.createElement("div");l.id="full-screen-display",l.classList.add("Video","VideoPlayer--fullscreen","VideoPlayer--landscape");let $,c,V,H,d,n,q,j,F,G,r,U,X,Y,o,u,p,g,Q,K,W,m,f,h,y,b,v;const Z=new Image,k=new Image;function x(){var e;l.classList.toggle("lyrics-active",Boolean(Ne.get("lyricsDisplay"))),Ne.get("sidebarQueue")&&ze.toggleQueuePanel(y,!1),l.classList.toggle("vertical-mode",Ne.get("verticalMonitorSupport")&&window.innerWidth{const[t,r]=L.useState(Spicetify.Platform?.PlaybackAPI?._isAvailable?Math.round(100*Spicetify.Player.getVolume()):-100),[o,s]=L.useState({isChanging:!1,data:null}),[e,i]=L.useState(!0),n=L.useRef(null),l=L.useRef(null),c=e=>{var t;0==e.button&&(e={isChanging:!0,data:{begin:(t=n.current?.getBoundingClientRect().height??250)-e.offsetY,positionCoord:t-e.offsetY,beginClient:e.clientY,sliderDimen:t}},t=Math.round(e.data.positionCoord/t*100),r(t),s(e))},d=e=>{if(o.isChanging&&o.data){var t=o.data.beginClient-e.clientY,i=o.data.sliderDimen,t=Math.min(Math.max(o.data.begin+t,0),i);const n=Math.round(t/i*100);r(n),(0,it.default)(()=>Spicetify.Player.setVolume(n/100),20)(),s({isChanging:!0,data:{...o.data,positionCoord:t}})}"smart"===a&&.2{0==e.button&&o.isChanging&&(Spicetify.Player.setVolume(t/100),s({isChanging:!1,data:null}))},p=(e=2e3)=>{l.current&&clearTimeout(l.current),i(!0),l.current=setTimeout(()=>{i(!1)},e)},g=e=>{o.isChanging||(e=Math.round(100*e.data.volume))!==t&&(r(e),"smart"===a)&&p()};return L.useEffect(()=>("smart"===a&&p(3e3),Spicetify.Platform.PlaybackAPI._events.addListener("volume",g),n.current?.addEventListener("mousedown",c),document.addEventListener("mousemove",d),document.addEventListener("mouseup",u),()=>{Spicetify.Platform.PlaybackAPI._events.removeListener("volume",g),n.current?.removeEventListener("mousedown",c),document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",u)}),[o,a,t]),L.createElement("div",{id:"fsd-volume-container",className:(0,nt.default)({unavailable:-100===t,"v-hidden":"always"!==a&&!e,dragging:o.isChanging})},L.createElement("div",{id:"fsd-volume"},-100===t?"":t+"%"),L.createElement("div",{id:"fsd-volume-bar",ref:n,className:(0,nt.default)({dragging:o.isChanging})},L.createElement("div",{id:"fsd-volume-bar-inner",style:{height:(-100===t?100:t)+"%"}},L.createElement("div",{id:"volume-thumb"}))),L.createElement(at,{volume:t}))};var ot=async function(){let z=0,B=De.allNotExist();for(;0setTimeout(e,300)),B=De.allNotExist(),z+=1}function t(){(De.isModeActivated()&&Ne.getGlobal("tvMode")&&"tv"===Ne.getMode()?L:(Ne.getGlobal("tvMode")&&"tv"===Ne.getMode()||(Ne.setGlobal("tvMode",!0),Ne.setMode("tv"),x()),E))()}function i(){(!De.isModeActivated()||Ne.getGlobal("tvMode")||"tv"===Ne.getMode()?(!Ne.getGlobal("tvMode")&&"tv"!==Ne.getMode()||(Ne.setGlobal("tvMode",!1),Ne.setMode("def"),x()),E):L)()}Qe(),Je(Spicetify.Mousetrap),"btns"!==Ne.getGlobal("activationTypes")&&("def"!==Ne.getGlobal("keyActivation")&&Spicetify.Mousetrap.bind("t",t),"tv"!==Ne.getGlobal("keyActivation"))&&Spicetify.Mousetrap.bind("f",i),null===localStorage.getItem("full-screen:inverted")&&localStorage.setItem("full-screen:inverted","{}");const a=JSON.parse(localStorage.getItem("full-screen:inverted")??"{}");let s=Ne.getGlobal("locale");const O=document.createElement("style"),l=document.createElement("div");l.id="full-screen-display",l.classList.add("Video","VideoPlayer--fullscreen","VideoPlayer--landscape");let $,c,V,H,d,n,q,j,F,G,r,U,X,Y,o,u,p,g,Q,K,W,m,f,h,y,b,v;const Z=new Image,k=new Image;function x(){var e;l.classList.toggle("lyrics-active",Boolean(Ne.get("lyricsDisplay"))),Ne.get("sidebarQueue")&&De.toggleQueuePanel(y,!1),l.classList.toggle("vertical-mode",Ne.get("verticalMonitorSupport")&&window.innerWidth':""} ${Ne.getGlobal("tvMode")&&"never"!==Ne.get("playerControls")&&"never"!==Ne.get("extraControls")?'
    ':""} ${Ne.getGlobal("tvMode")?"":'
    '} -`),(c=l.querySelector("canvas")).width=window.innerWidth,c.height=window.innerHeight,$=l.querySelector("#fsd-art-image"),V=l.querySelector("#fsd-title span"),H=l.querySelector("#fsd-artist span"),d=l.querySelector("#fsd-album span"),"never"!==Ne.get("contextDisplay")&&(q=l.querySelector("#fsd-ctx-container"),j=l.querySelector("#fsd-ctx-icon"),F=l.querySelector("#fsd-ctx-source"),G=l.querySelector("#fsd-ctx-name")),Ne.get("upnextDisplay")&&((r=l.querySelector("#fsd-upnext-container")).onclick=Spicetify.Player.next,U=l.querySelector("#fsd_next_art_image"),X=l.querySelector("#fsd_up_next_text"),Y=l.querySelector("#fsd_next_tit_art"),o=l.querySelector("#fsd_next_tit_art_inner"),u=l.querySelector("#fsd_first_span"),p=l.querySelector("#fsd_second_span")),Ne.get("icons")&&((g=l.querySelector("#playing-icon")).onclick=()=>{Ne.set("titleMovingIcon",!1),g.classList.add("hidden"),Q.classList.remove("hidden")},(Q=l.querySelector("#paused-icon")).onclick=()=>{Ne.set("titleMovingIcon",!0),g.classList.remove("hidden"),Q.classList.add("hidden"),le({data:{is_paused:!Spicetify.Player.isPlaying()}})}),"never"!==Ne.get("playerControls")&&((n=l.querySelector("#fsd-play")).onclick=()=>{ze.fadeAnimation(n),Spicetify.Player.togglePlay()},(K=l.querySelector("#fsd-next")).onclick=()=>{ze.fadeAnimation(K,"fade-ri"),Spicetify.Player.next()},(W=l.querySelector("#fsd-back")).onclick=()=>{ze.fadeAnimation(W,"fade-le"),Spicetify.Player.back()}),"never"!==Ne.get("extraControls")&&(m=l.querySelector("#fsd-heart"),f=l.querySelector("#fsd-shuffle"),h=l.querySelector("#fsd-repeat"),m.onclick=()=>{ze.fadeAnimation(m),Spicetify.Player.toggleHeart()},f.onclick=()=>{ze.fadeAnimation(f),Spicetify.Player.toggleShuffle()},h.onclick=()=>{ze.fadeAnimation(h),Spicetify.Player.toggleRepeat()},"auto"===Ne.get("invertColors")&&((b=l.querySelector("#fsd-invert")).onclick=me),Ne.get("lyricsDisplay")&&!Ne.get("sidebarQueue")&&((v=l.querySelector("#fsd-lyrics")).onclick=()=>ee()),Ne.get("sidebarQueue"))&&((y=l.querySelector("#fsd-queue")).onclick=()=>te())}let J,w=!1;function ee(){l.classList.toggle("lyrics-hide-force"),v&&(ze.fadeAnimation(v),v.classList.toggle("button-active"),v.innerHTML=l.classList.contains("lyrics-unavailable")||l.classList.contains("lyrics-hide-force")?Pe.LYRICS_ACTIVE:Pe.LYRICS_INACTIVE)}function te(){ze.toggleQueue(y),y&&ze.fadeAnimation(y)}function ie(){setTimeout(()=>{var e=ze.getShowTime(Ne.get("upnextTimeToShow"));J&&clearTimeout(J),e<10?(w&&"translateX(0px)"===r.style.transform||C(),w=!0):(r.style.transform="translateX(600px)",w=!1,Spicetify.Player.isPlaying()&&(J=setTimeout(()=>{C(),w=!0},e)))},100)}function ne(e){const t=e.replace("spotify","").replaceAll(":","/");I(),setTimeout(()=>{Spicetify.Platform.History.push(t)},500)}async function ae(){const i=Spicetify.Player.data.item?.metadata;"never"!==Ne.get("contextDisplay")&&!async function(){var e=await ze.getContext($e[s]).catch(e=>console.error(e));F.classList.toggle("ctx-no-name",!e.ctxName),e.ctxIcon||(e.ctxIcon=Spicetify.SVGIcons.spotify);j.innerHTML=/^${e.ctxIcon}`:e.ctxIcon,F.innerText.toLowerCase()===(""+e.ctxSource).toLowerCase()&&G.innerText.toLowerCase()===e.ctxName.toLowerCase()||(F.innerText=""+e.ctxSource,G.innerText=e.ctxName,"mousemove"===Ne.get("contextDisplay")&&ke())}().catch(e=>console.error("Error getting context: ",e));let e=i?.title;Ne.get("trimTitle")&&(e=ze.trimTitle(e));let t;if(Ne.get("showAllArtists")){var n=Object.keys(i).filter(e=>e.startsWith("artist_name")).sort();const o=Object.keys(i).filter(e=>e.startsWith("artist_uri")).sort();t=n.map((e,t)=>[i[e],i[o[t]]])}else t=[[i?.artist_name,i?.artist_uri]];let a,r=!1;"never"!==Ne.get("showAlbum")&&(a=i?.album_title||"",(n=i?.album_uri)?.startsWith("spotify:album:"))&&"date"===Ne.get("showAlbum")&&ze.getAlbumReleaseDate(n,s).then(e=>{a+=e,r&&(d.innerText=a||"")}),S(i),Z.src=i?.image_xlarge_url,Z.onload=()=>{$.style.backgroundImage=`url("${Z.src}")`,V.innerText=e||"",V.setAttribute("uri",Spicetify.Player.data?.item?.uri||""),H.innerHTML=""+t.map(e=>`${e[0]}`).join(", "),H.querySelectorAll("span").forEach(e=>{e.onclick=()=>{ne(e.getAttribute("uri"))}}),d&&(d.innerText=a||"",d.setAttribute("uri",i?.album_uri||""),r=!0),Ne.get("lyricsDisplay")&&Ne.get("autoHideLyrics")&&l.querySelector("#fad-lyrics-plus-container")&&oe()},Z.onerror=()=>{console.error("Check your Internet! Unable to load Image"),Z.src=Pe.OFFLINE_SVG}}async function S(t,e=!1){const i=k.cloneNode();var n=Ne.get("backgroundChoice");switch(c.classList.toggle("animated","animated_album"===n),Xe("animated_album"===n),n){case"dynamic_color":var a=await ze.getNextColor(Ne.get("coloredBackChoice"));A(Spicetify.Player.data.item?.uri,t),re(Spicetify.Player.data.item?.uri),Ge(a,c);break;case"static_color":A(Spicetify.Player.data.item?.uri,t),re(Spicetify.Player.data.item?.uri),Ge(Ne.get("staticBackChoice"),c);break;case"artist_art":k.src=await ze.getImageAndLoad(t),A(k.src,t),re(k.src),k.onload=()=>{Fe(i,k,c,e)};break;case"animated_album":k.src=t?.image_xlarge_url,k.onload=()=>{A(Spicetify.Player.data.item?.uri,t),re(Spicetify.Player.data.item?.uri);{var i=c,n=k;const r=i.getContext("2d");i.width=window.innerWidth,i.height=window.innerHeight;var e=Math.max(Ne.get("blurSize"),28),a=Math.min(Ne.get("backgroundBrightness"),.7);r.filter=`saturate(2) brightness(${a}) blur(${e}px)`;const o=Math.min(i.width,i.height);let t=0;Ue=!0,function e(){r.clearRect(0,0,i.width,i.height),r.save(),r.translate(0,0),r.rotate(2*Math.PI/360*t),r.drawImage(n,-o,-o,2*o,2*o),r.restore(),r.save(),r.translate(i.width/2,0),r.rotate(2*Math.PI/360*t+Math.PI),r.drawImage(n,-o,-o,2*o,2*o),r.restore(),t+=Ye,Ue&&requestAnimationFrame(e)}()}};break;default:k.src=t?.image_xlarge_url,k.onload=()=>{A(Spicetify.Player.data.item?.uri,t),re(Spicetify.Player.data.item?.uri),Fe(i,k,c,e)}}}async function A(i,n){switch(Ne.get("invertColors")){case"always":l.style.setProperty("--main-color","0,0,0"),l.style.setProperty("--contrast-color","255,255,255");break;case"auto":{let e="255,255,255",t="0,0,0";"album_art"===Ne.get("backgroundChoice")&&(n?.album_uri?.split(":")[2]??"")in a?e=a[n?.album_uri?.split(":")[2]??""]?"0,0,0":"255,255,255":[e,t]=await ze.getMainColor(i),l.style.setProperty("--main-color",e),l.style.setProperty("--contrast-color",t),"never"!==Ne.get("extraControls")&&(b.classList.remove("button-active"),b.innerHTML=Pe.INVERT_INACTIVE);break}default:l.style.setProperty("--main-color","255,255,255"),l.style.setProperty("--contrast-color","0,0,0")}}async function re(t){if("dynamic_color"==Ne.get("backgroundChoice")&&"VIBRANT"==Ne.get("coloredBackChoice")||!Ne.get("themedButtons")&&!Ne.get("themedIcons"))l.classList.remove("themed-buttons","themed-icons"),l.style.setProperty("--theme-color","175,175,175");else{l.classList.toggle("themed-buttons",Boolean(Ne.get("themedButtons"))),l.classList.toggle("themed-icons",Boolean(Ne.get("themedIcons")));let e;t=await De.colorExtractor(t).catch(e=>console.warn(e));e=t?.VIBRANT?ze.hexToRgb(t.VIBRANT):"175,175,175",l.style.setProperty("--theme-color",e)}}function T(e){e.detail.isLoading||(l.classList.toggle("lyrics-unavailable",!(e.detail.available&&1<(e.detail?.synced?.length??5))),"never"!==Ne.get("extraControls")&&v.classList.toggle("hidden",l.classList.contains("lyrics-unavailable")))}function oe(){var e=l.querySelector("#fad-lyrics-plus-container");e.innerText?"(• _ • )"==e.innerText?T({detail:{isLoading:!1,available:!1}}):T({detail:{isLoading:!1,available:!0}}):(T({detail:{isLoading:!0,available:!1}}),setTimeout(oe,100))}function se(){Ne.get("upnextDisplay")&&C(),S(Spicetify.Player.data.item?.metadata,!0),l.classList.toggle("vertical-mode",Ne.get("verticalMonitorSupport")&&window.innerWidthe.startsWith("artist_name")).sort().map(e=>t[e]).join(", ");let i;i=n||$e[s].unknownArtist,(n=t.image_xlarge_url)?U.style.backgroundImage=`url("${n}")`:t.image_url?U.style.backgroundImage=`url("${t.image_url}")`:U.style.backgroundImage=`url("${Pe.OFFLINE_SVG}")`,u.innerText=e+" • "+i,p.innerText=e+" • "+i}await 0,r.style.transform="translateX(0px)",w=!0;let e;p.offsetWidth>Y.offsetWidth-2?"mq"===Ne.get("upNextAnim")?(u.style.paddingRight="80px",e=u.offsetWidth/400*5e3,r.style.setProperty("--translate_width_fsd",`-${u.offsetWidth+3.5}px`),o.style.animation="fsd_cssmarquee "+e+"ms linear 800ms infinite"):(u.style.paddingRight="0px",p.innerText="",e=(u.offsetWidth-Y.offsetWidth-2)/.05,r.style.setProperty("--translate_width_fsd",`-${u.offsetWidth-Y.offsetWidth+5}px`),o.style.animation=`fsd_translate ${1500${Spicetify.SVGIcons.play}`:n.innerHTML=`${Spicetify.SVGIcons.pause}`}let de={shuffle:Spicetify.Platform?.PlayerAPI?._state?.shuffle,repeat:Spicetify.Platform?.PlayerAPI?._state?.repeat};function ue(e){e=e?.data??Spicetify.Player.data,ge(),de?.shuffle!==e?.shuffle&&ze.fadeAnimation(f),de?.repeat!==e?.repeat&&ze.fadeAnimation(h),de={shuffle:e?.shuffle,repeat:e?.repeat},h.classList.toggle("dot-after",0!==e?.repeat),h.classList.toggle("button-active",0!==e?.repeat),f.classList.toggle("dot-after",e?.shuffle),f.classList.toggle("button-active",e?.shuffle),2===e?.repeat?h.innerHTML=`${Spicetify.SVGIcons["repeat-once"]}`:h.innerHTML=`${Spicetify.SVGIcons.repeat}`,e?.restrictions&&(f.classList.toggle("unavailable",!e?.restrictions?.canToggleShuffle),h.classList.toggle("unavailable",!e?.restrictions?.canToggleRepeatTrack&&!e?.restrictions?.canToggleRepeatContext))}let pe=Spicetify.Player?.data?.item?.metadata["collection.in_collection"];function ge(){setTimeout(()=>{var e=Spicetify.Player?.data?.item;m.classList.toggle("unavailable","true"!==e?.metadata["collection.can_add"]),pe!==e?.metadata["collection.in_collection"]&&ze.fadeAnimation(m),pe=e?.metadata["collection.in_collection"],"true"===e?.metadata["collection.in_collection"]||Spicetify.Player.getHeart()?(m.innerHTML=`${Spicetify.SVGIcons["heart-active"]}`,m.classList.add("button-active")):(m.innerHTML=`${Spicetify.SVGIcons.heart}`,m.classList.remove("button-active"))},200)}function me(){ze.fadeAnimation(b),b.classList.contains("button-active")?b.innerHTML=Pe.INVERT_ACTIVE:b.innerHTML=Pe.INVERT_INACTIVE,b.classList.toggle("button-active"),getComputedStyle(l).getPropertyValue("--main-color").startsWith("0")?(l.style.setProperty("--main-color","255,255,255"),l.style.setProperty("--contrast-color","0,0,0"),Ne.getGlobal("tvMode")||"album_art"!==Ne.get("backgroundChoice")||(a[Spicetify.Player.data.item?.metadata?.album_uri?.split(":")[2]]=!1)):(l.style.setProperty("--main-color","0,0,0"),l.style.setProperty("--contrast-color","255,255,255"),Ne.getGlobal("tvMode")||"album_art"!==Ne.get("backgroundChoice")||(a[Spicetify.Player.data.item?.metadata?.album_uri?.split(":")[2]]=!0)),localStorage.setItem("full-screen:inverted",JSON.stringify(a))}let fe,he,ye,be;function ve(){fe&&clearTimeout(fe),l.style.cursor="default",fe=setTimeout(()=>l.style.cursor="none",2e3)}function ke(){he&&clearTimeout(he),q.style.opacity="1",he=setTimeout(()=>q.style.opacity="0",3e3)}function xe(){ye&&clearTimeout(ye);const e=l.querySelectorAll(".extra-controls");e.forEach(e=>e.style.opacity="1"),ye=setTimeout(()=>{e.forEach(e=>e.style.opacity="0")},3e3)}function we(){be&&clearTimeout(be);const e=l.querySelector(".fsd-controls-center");e.style.opacity="1",be=setTimeout(()=>e.style.opacity="0",3e3)}function Se(){l.removeEventListener("mousemove",ve),l.removeEventListener("mousemove",ke),l.removeEventListener("mousemove",xe),l.removeEventListener("mousemove",we),fe&&clearTimeout(fe),he&&clearTimeout(he),ye&&clearTimeout(ye),be&&clearTimeout(be)}function Ae(){null===document.fullscreenElement&&Ne.get("enableFullscreen")&&ze.isModeActivated()&&I()}let Te;const Ce=new MutationObserver(ge);async function E(){Ne.get("sidebarQueue")&&ze.toggleQueuePanel(y,!0),document.body.classList.add(...Ve),Ne.get("enableFullscreen")?await ze.fullScreenOn()?.catch(e=>{}):await ze.fullScreenOff()?.catch(e=>{}),setTimeout(()=>{ae(),window.addEventListener("resize",se),se(),l.querySelectorAll(".fsd-song-meta span").forEach(e=>{e.onclick=e=>{ne(e.target?.getAttribute("uri")??"")}})},200),Spicetify.Player.addEventListener("songchange",ae),l.addEventListener("mousemove",ve),ve(),"mousemove"===Ne.get("contextDisplay")&&(l.addEventListener("mousemove",ke),ke()),"mousemove"===Ne.get("extraControls")&&(l.addEventListener("mousemove",xe),xe()),"mousemove"===Ne.get("playerControls")&&(l.addEventListener("mousemove",we),we()),l.querySelector("#fsd-foreground").oncontextmenu=D,l.querySelector("#fsd-foreground").ondblclick=I,c.oncontextmenu=D,c.ondblclick=I,Ne.get("upnextDisplay")&&(ie(),Spicetify.Platform.PlayerAPI._events.addListener("queue_update",C),Spicetify.Platform.PlayerAPI._events.addListener("update",ie)),"never"!==Ne.get("volumeDisplay")&&_e.default.render(Me.default.createElement(et,{state:Ne.get("volumeDisplay")}),l.querySelector("#fsd-volume-parent")),Ne.get("enableFade")?$.classList.add("fsd-background-fade"):$.classList.remove("fsd-background-fade"),Ne.get("icons")&&(le({data:{is_paused:!Spicetify.Player.isPlaying()}}),Spicetify.Player.addEventListener("onplaypause",le)),"never"!==Ne.get("progressBarDisplay")&&_e.default.render(Me.default.createElement(Je,{state:Ne.get("progressBarDisplay")}),l.querySelector("#fsd-progress-parent")),"never"!==Ne.get("playerControls")&&(ce({data:{is_paused:!Spicetify.Player.isPlaying()}}),Spicetify.Player.addEventListener("onplaypause",ce)),"never"!==Ne.get("extraControls")&&(ue(null),ze.addObserver(Ce,".control-button-heart",{attributes:!0,attributeFilter:["aria-checked"]}),Spicetify.Platform.PlayerAPI._events.addListener("update",ue)),document.querySelector(".Root__top-container")?.append(O,l),Ne.get("lyricsDisplay")&&(window.addEventListener("lyrics-plus-update",T),"/lyrics-plus"!==(Te=Spicetify.Platform.History.location.pathname)&&Spicetify.Platform.History.push("/lyrics-plus"),window.dispatchEvent(new Event("fad-request"))),Spicetify.Mousetrap.bind("f11",Ee),document.addEventListener("fullscreenchange",Ae),Spicetify.Mousetrap.bind("esc",I),Ne.get("lyricsDisplay")&&Spicetify.Mousetrap.bind("l",ee),Spicetify.Mousetrap.bind("c",()=>{var e=document.querySelector("body > generic-modal");e?e.remove():D()}),Ne.get("sidebarQueue")&&Spicetify.Mousetrap.bind("q",te)}async function I(){Ne.get("sidebarQueue")&&ze.toggleQueuePanel(y,!1),Xe(!1),Spicetify.Player.removeEventListener("songchange",ae),Se(),window.removeEventListener("resize",se),Ne.get("upnextDisplay")&&(w=!1,Spicetify.Platform.PlayerAPI._events.removeListener("queue_update",C),Spicetify.Platform.PlayerAPI._events.removeListener("update",ie)),_e.default.unmountComponentAtNode(l.querySelector("#fsd-volume-parent")),_e.default.unmountComponentAtNode(l.querySelector("#fsd-progress-parent")),Ne.get("icons")&&Spicetify.Player.removeEventListener("onplaypause",le),"never"!==Ne.get("playerControls")&&Spicetify.Player.removeEventListener("onplaypause",ce),"never"!==Ne.get("extraControls")&&(Ce.disconnect(),Spicetify.Platform.PlayerAPI._events.removeListener("update",ue)),document.body.classList.remove(...Ve),w=!1,Ne.get("enableFullscreen")&&await ze.fullScreenOff()?.catch(e=>{});var e=document.querySelector("body > generic-modal");e&&e.remove(),O.remove(),l.remove(),Ne.get("lyricsDisplay")&&(window.removeEventListener("lyrics-plus-update",T),"/lyrics-plus"!==Te&&ze.revertPathHistory(Te),window.dispatchEvent(new Event("fad-request"))),document.removeEventListener("fullscreenchange",Ae),Spicetify.Mousetrap.unbind("f11"),Spicetify.Mousetrap.unbind("esc"),Spicetify.Mousetrap.unbind("l"),Spicetify.Mousetrap.unbind("c"),Spicetify.Mousetrap.unbind("q")}function Ee(){Ne.get("enableFullscreen")?Ne.set("enableFullscreen",!1):Ne.set("enableFullscreen",!0),x(),E()}function L(e,t){Ne.set(e,t),x(),ze.isModeActivated()&&E()}function _(e,t){Ne.setGlobal(e,t),s=Ne.getGlobal("locale"),x(),ze.isModeActivated()&&E()}function M(e,t,i,n,a,r=""){e=We(` ${Object.keys(t).map(e=>``).join("\n")} - `,e,n,r),r=e.querySelector("select");return i in t||(n in Re[Ne.getMode()]?L(n,i=Re[Ne.getMode()][n]):n in Re&&_(n,i=Re[n])),r.value=i.toString(),r.onchange=e=>{a((e?.target).value)},e}function R(e,t,i=e=>L(t,e),n=""){e=We(``,e,t,a),e=i.querySelector("input");return e&&(t in Re?e.value=Ne.getGlobal(t):e.value=Ne.get(t),e.oninput=e=>n(e?.target?.value)),i}let Ie,_;function N(e=null){e?.preventDefault(),(Ie=document.createElement("div")).id="full-screen-config-container";var e=document.createElement("style");e.innerHTML=` .GenericModal ::-webkit-scrollbar{ width: 7px; } @@ -262,24 +264,24 @@ ${Ne.get("lyricsDisplay")?'
    ':""} .transparent-bg { background-color: rgba(0, 0, 0, 0); } -`,Le.append(e,ze.isModeActivated()?((e=document.createElement("div")).innerHTML=` +`,Ie.append(e,De.isModeActivated()?((e=document.createElement("div")).innerHTML=`
    - + -
    `,e.querySelector("#mode-exit").onclick=I,e.querySelector("#mode-switch").onclick=()=>{(Ne.getGlobal("tvMode")?i:t)(),document.querySelector("body > generic-modal")?.remove()},e):"",Be($e[s].settings.pluginSettings),M($e[s].settings.language,ze.getAvailableLanguages($e),Ne.getGlobal("locale"),"locale",e=>{_("locale",e),document.querySelector("body > generic-modal")?.remove(),D()}),R($e[s].settings.fsHideOriginal,"fsHideOriginal",e=>{_("fsHideOriginal",e),location.reload()},$e[s].settings.fsHideOriginalDescription),M($e[s].settings.autoLaunch.setting,{never:$e[s].settings.autoLaunch.never,default:$e[s].settings.autoLaunch.default,tvmode:$e[s].settings.autoLaunch.tvmode,lastused:$e[s].settings.autoLaunch.lastused},Ne.getGlobal("autoLaunch"),"autoLaunch",e=>{_("autoLaunch",e)},$e[s].settings.autoLaunch.description),M($e[s].settings.activationTypes.setting,{both:$e[s].settings.activationTypes.both,btns:$e[s].settings.activationTypes.btns,keys:$e[s].settings.activationTypes.keys},Ne.getGlobal("activationTypes"),"activationTypes",e=>{_("activationTypes",e),location.reload()},$e[s].settings.activationTypes.description),M($e[s].settings.buttonActivation.setting,{both:$e[s].settings.buttonActivation.both,tv:$e[s].settings.buttonActivation.tv,def:$e[s].settings.buttonActivation.def},Ne.getGlobal("buttonActivation"),"buttonActivation",e=>{_("buttonActivation",e),location.reload()},$e[s].settings.buttonActivation.description),M($e[s].settings.keyActivation.setting,{both:$e[s].settings.keyActivation.both,tv:$e[s].settings.keyActivation.tv,def:$e[s].settings.keyActivation.def},Ne.getGlobal("keyActivation"),"keyActivation",e=>{_("keyActivation",e),location.reload()},$e[s].settings.keyActivation.description),Be($e[s].settings.lyricsHeader),R($e[s].settings.lyrics,"lyricsDisplay",e=>{L("lyricsDisplay",e),l.classList.remove("lyrics-unavailable")},$e[s].settings.lyricsDescription.join("
    ")),R($e[s].settings.autoHideLyrics,"autoHideLyrics"),M($e[s].settings.lyricsAlignment.setting,{left:$e[s].settings.lyricsAlignment.left,center:$e[s].settings.lyricsAlignment.center,right:$e[s].settings.lyricsAlignment.right},Ne.get("lyricsAlignment"),"lyricsAlignment",e=>L("lyricsAlignment",e)),Oe($e[s].settings.lyricsAnimationTempo,"animationTempo","s",Ne.get("animationTempo"),.1,0,1,e=>{Ne.set("animationTempo",Number(e)),x(),ze.isModeActivated()&&E()}),Be($e[s].settings.generalHeader),M($e[s].settings.progressBar,{never:$e[s].settings.contextDisplay.never,mousemove:$e[s].settings.contextDisplay.mouse,always:$e[s].settings.contextDisplay.always},Ne.get("progressBarDisplay"),"progressBarDisplay",e=>{Ne.set("progressBarDisplay",e),"never"!==e?_e.default.render(Me.default.createElement(Je,{state:e}),l.querySelector("#fsd-progress-parent")):_e.default.unmountComponentAtNode(l.querySelector("#fsd-progress-parent"))}),M($e[s].settings.playerControls,{never:$e[s].settings.contextDisplay.never,mousemove:$e[s].settings.contextDisplay.mouse,always:$e[s].settings.contextDisplay.always},Ne.get("playerControls"),"playerControls",e=>L("playerControls",e)),M($e[s].settings.showAlbum.setting,{never:$e[s].settings.showAlbum.never,always:$e[s].settings.showAlbum.always,date:$e[s].settings.showAlbum.date},Ne.get("showAlbum"),"showAlbum",e=>L("showAlbum",e)),R($e[s].settings.icons,"icons"),R($e[s].settings.showAllArtists,"showAllArtists"),R($e[s].settings.trimTitle,"trimTitle"),R($e[s].settings.songChangeAnimation,"enableFade"),document.fullscreenEnabled?R($e[s].settings.fullscreen,"enableFullscreen"):"",Be($e[s].settings.extraHeader),R($e[s].settings.sidebarQueue,"sidebarQueue",e=>L("sidebarQueue",e),$e[s].settings.sidebarQueueDescription.join("
    ")),M($e[s].settings.extraControls,{never:$e[s].settings.contextDisplay.never,mousemove:$e[s].settings.contextDisplay.mouse,always:$e[s].settings.contextDisplay.always},Ne.get("extraControls"),"extraControls",e=>L("extraControls",e)),R($e[s].settings.upnextDisplay,"upnextDisplay"),M($e[s].settings.contextDisplay.setting,{never:$e[s].settings.contextDisplay.never,mousemove:$e[s].settings.contextDisplay.mouse,always:$e[s].settings.contextDisplay.always},Ne.get("contextDisplay"),"contextDisplay",e=>L("contextDisplay",e)),M($e[s].settings.volumeDisplay.setting,{always:$e[s].settings.volumeDisplay.always,never:$e[s].settings.volumeDisplay.never,smart:$e[s].settings.volumeDisplay.smart},Ne.get("volumeDisplay"),"volumeDisplay",e=>{Ne.set("volumeDisplay",e),"never"!==e?_e.default.render(Me.default.createElement(et,{state:e}),l.querySelector("#fsd-volume-parent")):_e.default.unmountComponentAtNode(l.querySelector("#fsd-volume-parent"))},$e[s].settings.volumeDisplay.description.join("\n")),Be($e[s].settings.backgroundHeader,$e[s].settings.backgroundSubHeader),M($e[s].settings.backgroundChoice.setting,{album_art:$e[s].settings.backgroundChoice.artwork,animated_album:$e[s].settings.backgroundChoice.animatedArt,dynamic_color:$e[s].settings.backgroundChoice.dynamicColor,static_color:$e[s].settings.backgroundChoice.staticColor,artist_art:$e[s].settings.backgroundChoice.artist},Ne.get("backgroundChoice"),"backgroundChoice",e=>{Ne.set("backgroundChoice",e),ze.isModeActivated()&&S(Spicetify.Player.data.item?.metadata)},$e[s].settings.backgroundChoice.description.join("
    ")),Oe($e[s].settings.animationSpeed,"animationSpeed","%",100*Ne.get("animationSpeed"),5,5,150,e=>{Ne.set("animationSpeed",Number(e)/100),e=Number(e)/100,Ye=e}),Oe($e[s].settings.backAnimationTime,"backAnimationTime","s",Ne.get("backAnimationTime"),.1,0,5,e=>{Ne.set("backAnimationTime",Number(e)),l.style.setProperty("--fs-transition",e+"s")}),M($e[s].settings.backgroundColor.setting,{VIBRANT:$e[s].settings.backgroundColor.vibrant,PROMINENT:$e[s].settings.backgroundColor.prominent,DESATURATED:$e[s].settings.backgroundColor.desaturated,LIGHT_VIBRANT:$e[s].settings.backgroundColor.lightVibrant,DARK_VIBRANT:$e[s].settings.backgroundColor.darkVibrant,VIBRANT_NON_ALARMING:$e[s].settings.backgroundColor.vibrantNonAlarming},Ne.get("coloredBackChoice"),"coloredBackChoice",e=>{Ne.set("coloredBackChoice",e),ze.isModeActivated()&&S(Spicetify.Player.data.item?.metadata,!0)}),Ie($e[s].settings.staticColor,"staticBackChoice","color",e=>{Ne.set("staticBackChoice",e),"static_color"===Ne.get("backgroundChoice")&&ze.isModeActivated()&&(ze.overlayBack(),Ge(e,c,!0),A(Spicetify.Player.data.item?.uri,Spicetify.Player.data.item?.metadata),P&&clearTimeout(P),P=setTimeout(()=>{ze.overlayBack(!1)},1500))}),Oe($e[s].settings.backgroundBlur,"blurSize","px",Ne.get("blurSize"),4,0,100,e=>{Ne.set("blurSize",Number(e)),ze.isModeActivated()&&(ze.overlayBack(),S(Spicetify.Player.data.item?.metadata,!0),P&&clearTimeout(P),P=setTimeout(()=>{ze.overlayBack(!1)},2e3))}),M($e[s].settings.backgroundBrightness,{0:"0%",.1:"10%",.2:"20%",.3:"30%",.4:"40%",.5:"50%",.6:"60%",.7:"70%",.8:"80%",.9:"90%",1:"100%"},Ne.get("backgroundBrightness"),"backgroundBrightness",e=>{Ne.set("backgroundBrightness",e),ze.isModeActivated()&&S(Spicetify.Player.data.item?.metadata,!0)}),Be($e[s].settings.appearanceHeader,$e[s].settings.appearanceSubHeader),R($e[s].settings.themedButtons,"themedButtons"),R($e[s].settings.themedIcons,"themedIcons"),M($e[s].settings.invertColors.setting,{never:$e[s].settings.invertColors.never,always:$e[s].settings.invertColors.always,auto:$e[s].settings.invertColors.auto},Ne.get("invertColors"),"invertColors",e=>L("invertColors",e)),R($e[s].settings.verticalMonitorSupport,"verticalMonitorSupport",e=>L("verticalMonitorSupport",e),$e[s].settings.verticalMonitorSupportDescription),R($e[s].settings.trimTitleUpNext,"trimTitleUpNext"),M($e[s].settings.upnextScroll.setting,{mq:$e[s].settings.upnextScroll.mq,sp:$e[s].settings.upnextScroll.sp},Ne.get("upNextAnim"),"upNextAnim",e=>L("upNextAnim",e)),Oe($e[s].settings.upnextTime,"upnextTimeToShow","s",Ne.get("upnextTimeToShow"),1,5,60,e=>{Ne.set("upnextTimeToShow",Number(e)),ie()}),Be($e[s].settings.aboutHeader),((e=document.createElement("div")).classList.add("setting-card"),e.innerHTML=` + `,e.querySelector("#mode-exit").onclick=L,e.querySelector("#mode-switch").onclick=()=>{(Ne.getGlobal("tvMode")?i:t)(),document.querySelector("body > generic-modal")?.remove()},e):"",ze(Be[s].settings.pluginSettings),R(Be[s].settings.language,De.getAvailableLanguages(Be),Ne.getGlobal("locale"),"locale",e=>{M("locale",e),document.querySelector("body > generic-modal")?.remove(),N()}),P(Be[s].settings.fsHideOriginal,"fsHideOriginal",e=>{M("fsHideOriginal",e),location.reload()},Be[s].settings.fsHideOriginalDescription),R(Be[s].settings.autoLaunch.setting,{never:Be[s].settings.autoLaunch.never,default:Be[s].settings.autoLaunch.default,tvmode:Be[s].settings.autoLaunch.tvmode,lastused:Be[s].settings.autoLaunch.lastused},Ne.getGlobal("autoLaunch"),"autoLaunch",e=>{M("autoLaunch",e)},Be[s].settings.autoLaunch.description),R(Be[s].settings.activationTypes.setting,{both:Be[s].settings.activationTypes.both,btns:Be[s].settings.activationTypes.btns,keys:Be[s].settings.activationTypes.keys},Ne.getGlobal("activationTypes"),"activationTypes",e=>{M("activationTypes",e),location.reload()},Be[s].settings.activationTypes.description),R(Be[s].settings.buttonActivation.setting,{both:Be[s].settings.buttonActivation.both,tv:Be[s].settings.buttonActivation.tv,def:Be[s].settings.buttonActivation.def},Ne.getGlobal("buttonActivation"),"buttonActivation",e=>{M("buttonActivation",e),location.reload()},Be[s].settings.buttonActivation.description),R(Be[s].settings.keyActivation.setting,{both:Be[s].settings.keyActivation.both,tv:Be[s].settings.keyActivation.tv,def:Be[s].settings.keyActivation.def},Ne.getGlobal("keyActivation"),"keyActivation",e=>{M("keyActivation",e),location.reload()},Be[s].settings.keyActivation.description),ze(Be[s].settings.lyricsHeader),P(Be[s].settings.lyrics,"lyricsDisplay",e=>{I("lyricsDisplay",e),l.classList.remove("lyrics-unavailable")},Be[s].settings.lyricsDescription.join("
    ")),P(Be[s].settings.autoHideLyrics,"autoHideLyrics"),R(Be[s].settings.lyricsAlignment.setting,{left:Be[s].settings.lyricsAlignment.left,center:Be[s].settings.lyricsAlignment.center,right:Be[s].settings.lyricsAlignment.right},Ne.get("lyricsAlignment"),"lyricsAlignment",e=>I("lyricsAlignment",e)),Ze(Be[s].settings.lyricsAnimationTempo,"animationTempo","s",Ne.get("animationTempo"),.1,0,1,e=>{Ne.set("animationTempo",Number(e)),x(),De.isModeActivated()&&E()}),ze(Be[s].settings.generalHeader),R(Be[s].settings.progressBar,{never:Be[s].settings.contextDisplay.never,mousemove:Be[s].settings.contextDisplay.mouse,always:Be[s].settings.contextDisplay.always},Ne.get("progressBarDisplay"),"progressBarDisplay",e=>{Ne.set("progressBarDisplay",e),"never"!==e?Me.default.render(Oe.default.createElement(tt,{state:e}),l.querySelector("#fsd-progress-parent")):Me.default.unmountComponentAtNode(l.querySelector("#fsd-progress-parent"))}),R(Be[s].settings.playerControls,{never:Be[s].settings.contextDisplay.never,mousemove:Be[s].settings.contextDisplay.mouse,always:Be[s].settings.contextDisplay.always},Ne.get("playerControls"),"playerControls",e=>I("playerControls",e)),R(Be[s].settings.showAlbum.setting,{never:Be[s].settings.showAlbum.never,always:Be[s].settings.showAlbum.always,date:Be[s].settings.showAlbum.date},Ne.get("showAlbum"),"showAlbum",e=>I("showAlbum",e)),P(Be[s].settings.icons,"icons"),P(Be[s].settings.showAllArtists,"showAllArtists"),P(Be[s].settings.trimTitle,"trimTitle"),P(Be[s].settings.songChangeAnimation,"enableFade"),document.fullscreenEnabled?P(Be[s].settings.fullscreen,"enableFullscreen"):"",ze(Be[s].settings.extraHeader),P(Be[s].settings.sidebarQueue,"sidebarQueue",e=>I("sidebarQueue",e),Be[s].settings.sidebarQueueDescription.join("
    ")),R(Be[s].settings.extraControls,{never:Be[s].settings.contextDisplay.never,mousemove:Be[s].settings.contextDisplay.mouse,always:Be[s].settings.contextDisplay.always},Ne.get("extraControls"),"extraControls",e=>I("extraControls",e)),P(Be[s].settings.upnextDisplay,"upnextDisplay"),R(Be[s].settings.contextDisplay.setting,{never:Be[s].settings.contextDisplay.never,mousemove:Be[s].settings.contextDisplay.mouse,always:Be[s].settings.contextDisplay.always},Ne.get("contextDisplay"),"contextDisplay",e=>I("contextDisplay",e)),R(Be[s].settings.volumeDisplay.setting,{always:Be[s].settings.volumeDisplay.always,never:Be[s].settings.volumeDisplay.never,smart:Be[s].settings.volumeDisplay.smart},Ne.get("volumeDisplay"),"volumeDisplay",e=>{Ne.set("volumeDisplay",e),"never"!==e?Me.default.render(Oe.default.createElement(rt,{state:e}),l.querySelector("#fsd-volume-parent")):Me.default.unmountComponentAtNode(l.querySelector("#fsd-volume-parent"))},Be[s].settings.volumeDisplay.description.join("\n")),ze(Be[s].settings.backgroundHeader,Be[s].settings.backgroundSubHeader),R(Be[s].settings.backgroundChoice.setting,{album_art:Be[s].settings.backgroundChoice.artwork,animated_album:Be[s].settings.backgroundChoice.animatedArt,dynamic_color:Be[s].settings.backgroundChoice.dynamicColor,static_color:Be[s].settings.backgroundChoice.staticColor,artist_art:Be[s].settings.backgroundChoice.artist},Ne.get("backgroundChoice"),"backgroundChoice",e=>{Ne.set("backgroundChoice",e),De.isModeActivated()&&S(Spicetify.Player.data.item?.metadata)},Be[s].settings.backgroundChoice.description.join("
    ")),Ze(Be[s].settings.animationSpeed,"animationSpeed","%",100*Ne.get("animationSpeed"),5,5,150,e=>{Ne.set("animationSpeed",Number(e)/100),e=Number(e)/100,Xe=e}),Ze(Be[s].settings.backAnimationTime,"backAnimationTime","s",Ne.get("backAnimationTime"),.1,0,5,e=>{Ne.set("backAnimationTime",Number(e)),l.style.setProperty("--fs-transition",e+"s")}),R(Be[s].settings.backgroundColor.setting,{VIBRANT:Be[s].settings.backgroundColor.vibrant,PROMINENT:Be[s].settings.backgroundColor.prominent,DESATURATED:Be[s].settings.backgroundColor.desaturated,LIGHT_VIBRANT:Be[s].settings.backgroundColor.lightVibrant,DARK_VIBRANT:Be[s].settings.backgroundColor.darkVibrant,VIBRANT_NON_ALARMING:Be[s].settings.backgroundColor.vibrantNonAlarming},Ne.get("coloredBackChoice"),"coloredBackChoice",e=>{Ne.set("coloredBackChoice",e),De.isModeActivated()&&S(Spicetify.Player.data.item?.metadata,!0)}),Le(Be[s].settings.staticColor,"staticBackChoice","color",e=>{Ne.set("staticBackChoice",e),"static_color"===Ne.get("backgroundChoice")&&De.isModeActivated()&&(De.overlayBack(),Fe(e,c,!0),A(Spicetify.Player.data.item?.uri,Spicetify.Player.data.item?.metadata),_&&clearTimeout(_),_=setTimeout(()=>{De.overlayBack(!1)},1500))}),Ze(Be[s].settings.backgroundBlur,"blurSize","px",Ne.get("blurSize"),4,0,100,e=>{Ne.set("blurSize",Number(e)),De.isModeActivated()&&(De.overlayBack(),S(Spicetify.Player.data.item?.metadata,!0),_&&clearTimeout(_),_=setTimeout(()=>{De.overlayBack(!1)},2e3))}),R(Be[s].settings.backgroundBrightness,{0:"0%",.1:"10%",.2:"20%",.3:"30%",.4:"40%",.5:"50%",.6:"60%",.7:"70%",.8:"80%",.9:"90%",1:"100%"},Ne.get("backgroundBrightness"),"backgroundBrightness",e=>{Ne.set("backgroundBrightness",e),De.isModeActivated()&&S(Spicetify.Player.data.item?.metadata,!0)}),ze(Be[s].settings.appearanceHeader,Be[s].settings.appearanceSubHeader),P(Be[s].settings.themedButtons,"themedButtons"),P(Be[s].settings.themedIcons,"themedIcons"),R(Be[s].settings.invertColors.setting,{never:Be[s].settings.invertColors.never,always:Be[s].settings.invertColors.always,auto:Be[s].settings.invertColors.auto},Ne.get("invertColors"),"invertColors",e=>I("invertColors",e)),P(Be[s].settings.verticalMonitorSupport,"verticalMonitorSupport",e=>I("verticalMonitorSupport",e),Be[s].settings.verticalMonitorSupportDescription),P(Be[s].settings.trimTitleUpNext,"trimTitleUpNext"),R(Be[s].settings.upnextScroll.setting,{mq:Be[s].settings.upnextScroll.mq,sp:Be[s].settings.upnextScroll.sp},Ne.get("upNextAnim"),"upNextAnim",e=>I("upNextAnim",e)),Ze(Be[s].settings.upnextTime,"upnextTimeToShow","s",Ne.get("upnextTimeToShow"),1,5,60,e=>{Ne.set("upnextTimeToShow",Number(e)),ie()}),ze(Be[s].settings.aboutHeader),((e=document.createElement("div")).classList.add("setting-card"),e.innerHTML=`
    - `,e.querySelector("#changelog").onclick=()=>{var e=document.querySelector("body > generic-modal");e&&e.remove(),setTimeout(()=>Ke(!0),100)},e),((e=document.createElement("div")).innerHTML=` + `,e.querySelector("#changelog").onclick=()=>{var e=document.querySelector("body > generic-modal");e&&e.remove(),setTimeout(()=>Qe(!0),100)},e),((e=document.createElement("div")).innerHTML=`
    - - -
    `,e.querySelector("#reset-switch").onclick=()=>{ze.isModeActivated()?(Ne.resetSettings(),x(),E(),Le="",setTimeout(D,5)):(Ne.resetSettings(null,!0),location.reload())},e.querySelector("#reload-switch").onclick=()=>{location.reload()},e)),Spicetify.PopupModal.display({title:"tv"===Ne.getMode()?$e[s].settings.tvModeConfig:$e[s].settings.fullscreenConfig,content:Le})}var e,N=document.querySelector(je)?.childNodes[0];switch(!Ne.getGlobal("fsHideOriginal")||!N.lastChild.classList.contains("control-button")&&"Full screen"!=N.lastChild?.title||N?.lastChild?.remove(),"keys"!=Ne.getGlobal("activationTypes")&&("tv"!==Ne.getGlobal("buttonActivation")&&((e=document.createElement("button")).classList.add("button","fsd-button","control-button","InvalidDropTarget"),e.id="fs-button",e.setAttribute("title",$e[s].fullscreenBtnDesc),e.innerHTML=Pe.FULLSCREEN,e.onclick=i,e.oncontextmenu=e=>{e.preventDefault(),Ne.setMode("def"),D()},N?.append(e)),"def"!==Ne.getGlobal("buttonActivation"))&&((N=document.createElement("button")).innerHTML=Pe.TV_MODE,N.id="TV-button",N.setAttribute("title",$e[s].tvBtnDesc),N.onclick=t,document.querySelector(He)?(N.classList.add("button","tm-button","main-topBar-button","InvalidDropTarget"),document.querySelector(He)?.append(N)):(N.classList.add("tm-button","Button-small-small-buttonTertiary-condensedAll-isUsingKeyboard-useBrowserDefaultFocusStyle","encore-text-body-small-bold","main-globalNav-buddyFeed","Button-sc-1dqy6lx-0"),document.querySelector(qe)?.prepend(N)),N.oncontextmenu=e=>{e.preventDefault(),Ne.setMode("tv"),D()}),x(),Ne.getGlobal("autoLaunch")){case"default":i();break;case"tvmode":t();break;case"lastused":(Ne.getGlobal("tvMode")?t:i)()}};(async()=>{await Se()})()})();(async()=>{var e;document.getElementById("fullScreen")||((e=document.createElement("style")).id="fullScreen",e.textContent=String.raw` + + + `,e.querySelector("#reset-switch").onclick=()=>{De.isModeActivated()?(Ne.resetSettings(),x(),E(),Ie="",setTimeout(N,5)):(Ne.resetSettings(null,!0),location.reload())},e.querySelector("#reload-switch").onclick=()=>{location.reload()},e)),Spicetify.PopupModal.display({title:"tv"===Ne.getMode()?Be[s].settings.tvModeConfig:Be[s].settings.fullscreenConfig,content:Ie})}var e,D=document.querySelector(qe)?.childNodes[0];switch(!Ne.getGlobal("fsHideOriginal")||!D.lastChild.classList.contains("control-button")&&"Full screen"!=D.lastChild?.title||D?.lastChild?.remove(),"keys"!=Ne.getGlobal("activationTypes")&&("tv"!==Ne.getGlobal("buttonActivation")&&((e=document.createElement("button")).classList.add("button","fsd-button","control-button","InvalidDropTarget"),e.id="fs-button",e.setAttribute("title",Be[s].fullscreenBtnDesc),e.innerHTML=Pe.FULLSCREEN,e.onclick=i,e.oncontextmenu=e=>{e.preventDefault(),Ne.setMode("def"),N()},D?.append(e)),"def"!==Ne.getGlobal("buttonActivation"))&&((D=document.createElement("button")).innerHTML=Pe.TV_MODE,D.id="TV-button",D.setAttribute("title",Be[s].tvBtnDesc),D.onclick=t,document.querySelector(Ve)?(D.classList.add("button","tm-button","main-topBar-button","InvalidDropTarget"),document.querySelector(Ve)?.append(D)):(D.classList.add("tm-button","Button-small-small-buttonTertiary-condensedAll-isUsingKeyboard-useBrowserDefaultFocusStyle","encore-text-body-small-bold","main-globalNav-buddyFeed","Button-sc-1dqy6lx-0"),document.querySelector(He)?.prepend(D)),D.oncontextmenu=e=>{e.preventDefault(),Ne.setMode("tv"),N()}),x(),Ne.getGlobal("autoLaunch")){case"default":i();break;case"tvmode":t();break;case"lastused":(Ne.getGlobal("tvMode")?t:i)()}};(async()=>{await ot()})()})();(async()=>{var e;document.getElementById("fullScreen")||((e=document.createElement("style")).id="fullScreen",e.textContent=String.raw` #fsd-progress-container{width:100%;display:flex;align-items:center;transition:opacity 1s ease-in-out}#fsd-progress-container #fsd-progress-bar{width:100%;height:6px;border-radius:4px;background:rgba(var(--main-color),.35);cursor:pointer;margin:10px auto;display:flex;align-items:center}#fsd-progress-container #fsd-progress-bar.dragging #fsd-progress-bar-inner,#fsd-progress-container #fsd-progress-bar.dragging #progress-thumb,#fsd-progress-container #fsd-progress-bar:hover #fsd-progress-bar-inner,#fsd-progress-container #fsd-progress-bar:hover #progress-thumb{background:var(--theme-main-color);filter:saturate(1.5) contrast(1.5)}#fsd-progress-container #fsd-progress-bar.dragging #progress-thumb,#fsd-progress-container #fsd-progress-bar:hover #progress-thumb{display:block}#fsd-progress-container #fsd-progress-bar.dragging #progress-thumb{transform:scale(1.4)}#fsd-progress-container #fsd-progress-bar-inner{height:100%;border-radius:4px;background:var(--primary-color)}#fsd-progress-container #progress-thumb{width:12px;height:12px;border-radius:50%;background:var(--primary-color);float:right;position:relative;left:7px;top:-3px;display:none;pointer-events:none}#fsd-progress-container .progress-number{min-width:40px;text-align:center}#fsd-progress-container #fsd-elapsed{margin-right:12px}#fsd-progress-container #fsd-duration{margin-left:12px}#fsd-volume-container{position:fixed;text-align:center;background-color:transparent;color:var(--primary-color);float:left;top:30%;left:30px;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:50;height:250px;max-height:33vh;transition:transform .6s var(--transition-function)}#fsd-volume-container.v-hidden{transform:translateX(-100px) scale(.1)}#fsd-volume-container.dragging,#fsd-volume-container:hover{transform:translateX(0) scale(1)}#fsd-volume-container #fsd-volume{width:50px;font-size:18px}#fsd-volume-container #fsd-volume-bar{margin:8px 0;border-radius:4px;background-color:rgba(var(--main-color),.35);width:8px;height:100%;display:flex;align-items:end}#fsd-volume-container #fsd-volume-bar.dragging #fsd-volume-bar-inner,#fsd-volume-container #fsd-volume-bar.dragging #volume-thumb,#fsd-volume-container #fsd-volume-bar:hover #fsd-volume-bar-inner,#fsd-volume-container #fsd-volume-bar:hover #volume-thumb{background:var(--theme-main-color);filter:saturate(1.5) contrast(1.5);transition:none}#fsd-volume-container #fsd-volume-bar.dragging #volume-thumb,#fsd-volume-container #fsd-volume-bar:hover #volume-thumb{display:block}#fsd-volume-container #fsd-volume-bar.dragging #volume-thumb{transform:scale(1.1)}#fsd-volume-container #fsd-volume-bar-inner{width:100%;border-radius:4px;background-color:var(--primary-color);pointer-events:none;transition:height .1s var(--transition-function)}#fsd-volume-container #fsd-volume-icon svg{fill:var(--primary-color)!important}#fsd-volume-container #volume-thumb{width:13px;height:13px;border-radius:50%;background:var(--primary-color);position:relative;left:-2px;top:-5px;display:none;pointer-events:none}#fsd-volume-container.unavailable #fsd-volume-bar{pointer-events:none}#fsd-volume-container.unavailable #fsd-volume-bar-inner{height:100%;background-color:var(--tertiary-color)}#full-screen-display{display:none;z-index:100;position:fixed;width:100%;height:100%;cursor:default;left:0;top:0;--transition-duration:0.8s;--transition-function:ease-in-out;--main-color:255,255,255;--contrast-color:0,0,0;--primary-color:rgba(var(--main-color), 1);--secondary-color:rgba(var(--main-color), 0.7);--tertiary-color:rgba(var(--main-color), 0.5);--theme-color:175,175,175;--theme-background-color:rgba(175, 175, 175, 0.6);--theme-hover-color:rgba(175, 175, 175, 0.3);--theme-main-color:rgba(var(--theme-color), 1)}#full-screen-display.themed-buttons{--theme-background-color:rgba(var(--theme-color), 0.6);--theme-hover-color:rgba(var(--theme-color), 0.3)}#full-screen-display #fsd-album svg,#full-screen-display #fsd-artist svg,#full-screen-display #fsd-title svg{transition:all var(--transition-duration) var(--transition-function);display:var(--icons-display)}#full-screen-display .fsd-artist-list span:hover,#full-screen-display .fsd-song-meta span:hover{cursor:pointer;text-decoration:underline}#full-screen-display .unavailable{color:var(--tertiary-color)!important;pointer-events:none!important;opacity:.5!important;background:0 0!important}@keyframes fadeUp{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeDo{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeRi{0%{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeLe{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}#full-screen-display .fade-do{animation:fadeDo .5s cubic-bezier(.3,0,0,1)}#full-screen-display .fade-up{animation:fadeUp .5s cubic-bezier(.3,0,0,1)}#full-screen-display .fade-ri{animation:fadeRi .5s cubic-bezier(.3,0,0,1)}#full-screen-display .fade-le{animation:fadeLe .5s cubic-bezier(.3,0,0,1)}#full-screen-display button.dot-after{padding-bottom:3px!important}#full-screen-display .dot-after:after{background-color:currentColor;border-radius:50%;bottom:3px;content:"";display:block;height:4px;left:50%;position:absolute;transform:translateX(-50%);width:4px}#full-screen-display #fsd-ctx-container{background-color:transparent;color:var(--secondary-color);position:fixed;float:left;top:30px;left:50px;display:flex;flex-direction:row;justify-content:center;align-items:center;text-align:left;z-index:50;transition:all 1s ease-in-out;opacity:1;max-width:40%}#full-screen-display #fsd-ctx-details{padding-left:18px;line-height:initial;font-size:18px;overflow:hidden}#full-screen-display #fsd-ctx-icon{width:48px;height:48px}#full-screen-display #fsd-progress-container{--theme-main-color:rgba(var(--main-color), 1)}#full-screen-display.themed-buttons #fsd-progress-container,#full-screen-display.themed-icons #fsd-progress-container{--theme-main-color:rgba(var(--theme-color), 1)}#full-screen-display #fsd-ctx-icon svg{fill:var(--primary-color)!important}#full-screen-display #fsd-ctx-source{text-transform:uppercase}#full-screen-display #fsd-ctx-name{font-weight:700;font-size:20px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}#full-screen-display .ctx-no-name{padding-bottom:2px;font-size:24px;font-weight:600}#full-screen-display #fsd-upnext-container{float:right;width:472px;height:102px;max-width:45%;position:fixed;top:45px;right:60px;display:flex;border:1px solid rgba(130,130,130,.7);border-radius:10px;background-color:#141414;flex-direction:row;text-align:left;z-index:50;transition:transform .8s ease-in-out;transform:translateX(600px)}#full-screen-display #fsd_next_art_image{background-size:cover;background-position:center;width:100px;height:100px;border-radius:9px 0 0 9px}#full-screen-display #fsd_next_details{padding-left:18px;padding-top:17px;line-height:initial;width:calc(100% - 115px);color:#fff;font-size:19px;overflow:hidden}#full-screen-display #fsd_next_tit_art{padding-top:9px;font-size:22px;font-weight:700;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@keyframes fsd_cssmarquee{0%{transform:translateX(0)}18%{transform:translateX(0)}100%{transform:translateX(var(--translate_width_fsd))}}@keyframes fsd_translate{0%,10%{transform:translateX(0)}50%,55%{transform:translateX(var(--translate_width_fsd))}100%{transform:translateX(0)}}#full-screen-display #fad-lyrics-plus-container{transition:transform var(--transition-duration) var(--transition-function);position:absolute;right:-50px;width:50%;top:7.5vh}#full-screen-display #fad-lyrics-plus-container .lyrics-lyricsContainer-LyricsContainer{--lyrics-color-active:var(--primary-color)!important;--lyrics-color-inactive:var(--tertiary-color)!important;--lyrics-highlight-background:rgba(var(--contrast-color), 0.7)!important;--lyrics-align-text:var(--lyrics-alignment)!important;--animation-tempo:var(--lyrics-animation-tempo)!important;height:85vh!important}#full-screen-display #fad-lyrics-plus-container .lyrics-config-button{margin-right:20px}#full-screen-display.lyrics-hide-force #fad-lyrics-plus-container,#full-screen-display.lyrics-unavailable #fad-lyrics-plus-container{transform:translateX(1000px) scale3d(.1,.1,.1) rotate(45deg)}#full-screen-display #fsd-foreground{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--primary-color);transition:all var(--transition-duration) var(--transition-function)}#full-screen-display #fsd-art-image{position:relative;width:100%;height:100%;padding-bottom:100%;border-radius:8px;background-size:cover}#full-screen-display #fsd-art-inner{position:absolute;left:3%;bottom:0;width:94%;height:94%;z-index:-1;box-shadow:0 4px 12px rgba(0,0,0,.6)!important;transform:translateZ(0)}#full-screen-display #fsd-artist{font-weight:500;color:var(--secondary-color)}#full-screen-display #fsd-album{font-weight:400;color:var(--tertiary-color)}#full-screen-display .fsd-controls{display:flex;flex-direction:row;transition:opacity 1s ease-in-out;-moz-column-gap:10px;column-gap:10px}#full-screen-display #fsd-background{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:-2}#full-screen-display #fsd-background.animated{transform:scale(3,3.5);transform-origin:left top}#full-screen-display .fs-button{background:0 0;border:0;border-radius:8px;color:var(--primary-color);padding:3px 5px 0 5px;cursor:pointer;position:relative;transition:all .3s var(--transition-function),transform .1s var(--transition-function)}#full-screen-display .fs-button:hover{transform:scale(1.2);filter:saturate(1.5) contrast(1.5)!important;background:var(--theme-hover-color)}#full-screen-display .fs-button.button-active{background:var(--theme-background-color)!important;filter:saturate(1.5) contrast(1.5)!important}#full-screen-display #fsd-foreground svg{fill:var(--primary-color);transition:all .3s var(--transition-function)}#full-screen-display.themed-icons #fsd-foreground svg{fill:var(--theme-main-color);filter:saturate(1.5) contrast(1.5)}#full-screen-display.themed-icons.themed-buttons .fs-button.button-active svg{fill:var(--primary-color)!important}#full-screen-display .fsd-background-fade{transition:background-image var(--fs-transition) linear}body.fsd-activated #full-screen-display{display:block}.fsd-activated .Root__main-view,.fsd-activated .Root__nav-bar,.fsd-activated .Root__now-playing-bar,.fsd-activated .Root__top-bar{visibility:hidden;display:none}.fsd-activated .Root__top-container{overflow-x:hidden}.fsd-activated .fsd-transform-animation{transition:transform .4s ease-in-out}.fsd-activated .fsd-queue-panel{--queue-panel-x:1000px;z-index:101;transform:translateX(var(--queue-panel-x))}.fsd-activated .fsd-queue-panel .icNf66tgG3uxDMbCCIaN.XOSSUjLDKk9RRmiX_UWa,.fsd-activated .fsd-queue-panel .main-buddyFeed-actions.main-buddyFeed-closeContainer{display:none}.fsd-activated .fsd-queue-panel .XOawmCGZcQx4cesyNfVO{width:500px!important}.fsd-activated .fsd-queue-panel .ffFwfKcPDbmAPLXzxzKq,.fsd-activated .fsd-queue-panel .main-buddyFeed-container{background:0 0!important;-webkit-backdrop-filter:blur(10px) brightness(0.7);backdrop-filter:blur(10px) brightness(0.7)}.fsd-activated .Root__main-view-overlay{z-index:1000}#full-screen-display[mode=tv] #fsd-foreground{flex-direction:row;text-align:left;justify-content:left;align-items:flex-end;position:absolute;top:auto;bottom:75px}#full-screen-display[mode=tv] #fad-lyrics-plus-container{width:45%}#full-screen-display[mode=tv].lyrics-active #fsd-foreground{width:-moz-max-content;width:max-content;max-width:60%}#full-screen-display[mode=tv] #fsd-art{width:calc(100vw - 840px);min-width:180px;max-width:220px;margin-left:65px}#full-screen-display[mode=tv] #fsd-progress-parent{width:100%;max-width:450px}#full-screen-display[mode=tv] .fsd-controls+#fsd-progress-parent{padding-left:10px}#full-screen-display[mode=tv] #fsd-details{padding-left:30px;line-height:initial;width:80%;color:var(--primary-color)}#full-screen-display[mode=tv] #fsd-album,#full-screen-display[mode=tv] #fsd-artist,#full-screen-display[mode=tv] #fsd-title{display:flex;justify-content:flex-start;align-items:baseline;gap:5px}#full-screen-display[mode=tv] #fsd-album span,#full-screen-display[mode=tv] #fsd-artist>span,#full-screen-display[mode=tv] #fsd-title span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}#full-screen-display[mode=tv] #fsd-title span{-webkit-line-clamp:3}#full-screen-display[mode=tv] #fsd-album svg,#full-screen-display[mode=tv] #fsd-artist svg,#full-screen-display[mode=tv] #fsd-title svg{flex:0 0 auto}#full-screen-display[mode=tv] #fsd-title{font-size:62px;font-weight:900}@media (max-width:900px),(max-height:800px){#full-screen-display[mode=tv] #fsd-title{font-size:40px;font-weight:600}#full-screen-display[mode=tv] #fsd-album,#full-screen-display[mode=tv] #fsd-artist{font-size:20px}}#full-screen-display[mode=tv] #fsd-album,#full-screen-display[mode=tv] #fsd-artist{font-size:28px}#full-screen-display[mode=tv] #fsd-title svg{width:35px;height:45px}#full-screen-display[mode=tv] #playing-icon{width:30px!important;height:40px!important;margin-right:5px}#full-screen-display[mode=tv] #fsd-album svg,#full-screen-display[mode=tv] #fsd-artist svg{margin-right:15px;width:22px;height:22px}#full-screen-display[mode=tv] #fsd-status{display:flex;flex-direction:row;min-width:450px;max-width:450px;align-items:center;justify-content:space-between}#full-screen-display[mode=tv] #fsd-status.active{-moz-column-gap:10px;column-gap:10px;margin:10px 0}#full-screen-display[mode=def],#full-screen-display[mode=def].lyrics-hide-force,#full-screen-display[mode=def].lyrics-unavailable{--fsd-foreground-transform:50%;--fsd-art-max-width:600px;--fsd-items-max-width:580px;--fsd-title-size:50px;--fsd-sec-size:28px}#full-screen-display[mode=def].lyrics-active :not(#full-screen-display.lyrics-unavailable *,#full-screen-display.lyrics-hide-force *){--fsd-foreground-transform:0px;--fsd-art-max-width:500px;--fsd-items-max-width:480px;--fsd-title-size:40px;--fsd-sec-size:23px}#full-screen-display[mode=def].vertical-mode.lyrics-active{--lyrics-alignment:center}#full-screen-display[mode=def].vertical-mode.lyrics-active #fsd-foreground{width:100%;height:50%;margin-top:20px}#full-screen-display[mode=def].vertical-mode.lyrics-active #fsd-foreground #fsd-art{--fsd-art-max-width:350px}#full-screen-display[mode=def].vertical-mode.lyrics-active #fad-lyrics-plus-container{right:0;left:0;width:100%;top:50%;height:50%}#full-screen-display[mode=def].vertical-mode.lyrics-active #fad-lyrics-plus-container .lyrics-lyricsContainer-LyricsContainer{height:95%!important}#full-screen-display[mode=def].vertical-mode.lyrics-active.lyrics-hide-force,#full-screen-display[mode=def].vertical-mode.lyrics-active.lyrics-unavailable{--fsd-foreground-transform:0%}#full-screen-display[mode=def].vertical-mode.lyrics-active.lyrics-hide-force #fsd-foreground,#full-screen-display[mode=def].vertical-mode.lyrics-active.lyrics-unavailable #fsd-foreground{width:100%;height:100%}#full-screen-display[mode=def].vertical-mode.lyrics-active.lyrics-hide-force #fsd-foreground #fsd-art,#full-screen-display[mode=def].vertical-mode.lyrics-active.lyrics-unavailable #fsd-foreground #fsd-art{--fsd-art-max-width:400px}#full-screen-display[mode=def].vertical-mode.lyrics-active.lyrics-hide-force #fad-lyrics-plus-container,#full-screen-display[mode=def].vertical-mode.lyrics-active.lyrics-unavailable #fad-lyrics-plus-container{transform:translateY(1000px) scale3d(.1,.1,.1)}@media (max-width:1400px){#full-screen-display[mode=def],#full-screen-display[mode=def].lyrics-hide-force,#full-screen-display[mode=def].lyrics-unavailable{--fsd-foreground-transform:50%;--fsd-art-max-width:550px;--fsd-items-max-width:530px;--fsd-title-size:45px;--fsd-sec-size:26px}#full-screen-display[mode=def].lyrics-active :not(#full-screen-display.lyrics-unavailable *,#full-screen-display.lyrics-hide-force *){--fsd-foreground-transform:0px;--fsd-art-max-width:450px;--fsd-items-max-width:430px;--fsd-title-size:38px;--fsd-sec-size:20px}}@media (max-width:1200px){#full-screen-display[mode=def],#full-screen-display[mode=def].lyrics-hide-force,#full-screen-display[mode=def].lyrics-unavailable{--fsd-foreground-transform:50%;--fsd-art-max-width:500px;--fsd-items-max-width:480px;--fsd-title-size:40px;--fsd-sec-size:23px}#full-screen-display[mode=def].lyrics-active :not(#full-screen-display.lyrics-unavailable *,#full-screen-display.lyrics-hide-force *){--fsd-foreground-transform:0px;--fsd-art-max-width:400px;--fsd-items-max-width:380px;--fsd-title-size:38px;--fsd-sec-size:20px}}@media (max-width:992px){#full-screen-display[mode=def],#full-screen-display[mode=def].lyrics-hide-force,#full-screen-display[mode=def].lyrics-unavailable{--fsd-foreground-transform:50%;--fsd-art-max-width:450px;--fsd-items-max-width:430px;--fsd-title-size:38px;--fsd-sec-size:21px}#full-screen-display[mode=def].lyrics-active :not(#full-screen-display.lyrics-unavailable *,#full-screen-display.lyrics-hide-force *){--fsd-foreground-transform:0px;--fsd-art-max-width:350px;--fsd-items-max-width:330px;--fsd-title-size:36px;--fsd-sec-size:20px}}@media (max-width:768px){#full-screen-display[mode=def],#full-screen-display[mode=def].lyrics-hide-force,#full-screen-display[mode=def].lyrics-unavailable{--fsd-foreground-transform:50%;--fsd-art-max-width:400px;--fsd-items-max-width:380px;--fsd-title-size:40px;--fsd-sec-size:23px}#full-screen-display[mode=def].lyrics-active :not(#full-screen-display.lyrics-unavailable *,#full-screen-display.lyrics-hide-force *){--fsd-foreground-transform:0px;--fsd-art-max-width:300px;--fsd-items-max-width:280px;--fsd-title-size:36px;--fsd-sec-size:20px}}#full-screen-display[mode=def] #fsd-art,#full-screen-display[mode=def] #fsd-details,#full-screen-display[mode=def] #fsd-progress-parent,#full-screen-display[mode=def] #fsd-status{transition:all var(--transition-duration) var(--transition-function)}#full-screen-display[mode=def] #fsd-foreground{transform:translateX(var(--fsd-foreground-transform));width:50%;flex-direction:column;text-align:center}#full-screen-display[mode=def] #fsd-art{width:calc(100vh - 300px);max-width:var(--fsd-art-max-width);min-width:300px}#full-screen-display[mode=def] #fsd-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}#full-screen-display[mode=def] #fsd-album,#full-screen-display[mode=def] #fsd-artist{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}#full-screen-display[mode=def] #fsd-progress-parent{width:28vw;max-width:var(--fsd-items-max-width)}#full-screen-display[mode=def] #fsd-details{padding-top:30px;line-height:initial;max-width:var(--fsd-items-max-width);color:var(--primary-color)}#full-screen-display[mode=def] #fsd-status{display:flex;width:28vw;max-width:var(--fsd-items-max-width);align-items:center;justify-content:space-between;flex-direction:row}#full-screen-display[mode=def] #fsd-status.active{margin:5px auto 0;gap:10px}#full-screen-display[mode=def] #fsd-title{font-size:var(--fsd-title-size);font-weight:900;transition:all var(--transition-duration) var(--transition-function)}#full-screen-display[mode=def] #fsd-album,#full-screen-display[mode=def] #fsd-artist{font-size:var(--fsd-sec-size);transition:all var(--transition-duration) var(--transition-function)}@media (max-width:900px),(max-height:900px){#full-screen-display[mode=def] #fsd-title{font-size:35px;font-weight:600}}#full-screen-display[mode=def] #fsd-title svg{width:35px;height:35px}#full-screen-display[mode=def].lyrics-active #fsd-title svg{width:30px;height:30px}#full-screen-display[mode=def].lyrics-active #playing-icon{margin-right:2px}#full-screen-display[mode=def].lyrics-hide-force #fsd-title svg,#full-screen-display[mode=def].lyrics-unavailable #fsd-title svg{width:35px;height:35px}#full-screen-display[mode=def].lyrics-hide-force #playing-icon,#full-screen-display[mode=def].lyrics-unavailable #playing-icon{margin-right:7px}#full-screen-display[mode=def] #playing-icon{width:28px!important;height:28px!important;margin-right:7px}#full-screen-display[mode=def] #fsd-album svg,#full-screen-display[mode=def] #fsd-artist svg{width:calc(var(--fsd-sec-size) - 6px);height:calc(var(--fsd-sec-size) - 6px);margin-right:5px}#full-screen-display[mode=def] .fsd-controls{margin-top:10px;margin-bottom:5px}#full-screen-display[mode=def] .fsd-controls-left{width:30%;justify-content:flex-start}#full-screen-display[mode=def] .fsd-controls-center{width:40%;justify-content:center;margin:10px auto 5px}#full-screen-display[mode=def] .fsd-controls-right{width:30%;justify-content:flex-end}#full-screen-config-container{--main-text-color:#ffffff;--secondary-text-color:#cdcdcd;--main-background-color:#121212;--secondary-background-color:#252525;--tertiary-background-color:#404040;--theme-color:var(--spice-button);color:var(--main-text-color)}#full-screen-config-container .setting-card{background-color:var(--secondary-background-color);border-radius:10px;margin:8px 0}#full-screen-config-container .setting-container{padding:12px 16px;display:flex;flex-direction:column}#full-screen-config-container .setting-item{display:flex;flex-direction:row;justify-content:space-between}#full-screen-config-container .setting-button-row{display:flex;align-items:center;justify-content:center}#full-screen-config-container .setting-button-row button{margin:5px 10px}#full-screen-config-container .setting-subhead{text-align:center;padding:5px 0}#full-screen-config-container .setting-subhead-description{color:var(--secondary-text-color)}#full-screen-config-container .setting-action,#full-screen-config-container .setting-title{display:flex;align-items:center;padding:8px 0}#full-screen-config-container .setting-title{padding-right:15px;font-weight:600}#full-screen-config-container .setting-action{text-align:right}#full-screen-config-container .setting-description{font-size:.9rem;color:var(--secondary-text-color)}#full-screen-config-container .setting-description code{background-color:var(--main-background-color)}#full-screen-config-container .setting-description a{color:var(--theme-color);text-decoration:underline}#full-screen-config-container .setting-description ol,#full-screen-config-container .setting-description ul{list-style:inherit;margin-left:1.5rem}#full-screen-config-container .setting-description kbd{display:inline-block;padding:3px 5px;margin:0 4px;font:12px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;color:#c9d1d9;vertical-align:middle;background-color:#16221b;border:solid 1px rgba(110,118,129,.4);border-radius:6px;box-shadow:inset 0 -1px 0 rgba(110,118,129,.4)}#full-screen-config-container .about{color:var(--theme-color);text-decoration:underline;padding:0 10px}#full-screen-config-container .setting-about{font-size:1.2rem;display:flex;flex-direction:row;justify-content:center;padding:5px 0}#full-screen-config-container .switch{position:relative;display:inline-block;width:44px;height:20px}#full-screen-config-container .switch input{opacity:0;width:0;height:0}#full-screen-config-container .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:rgba(150,150,150,.5);transition:all .3s ease-in-out;border-radius:34px}#full-screen-config-container .slider:before{position:absolute;content:"";height:24px;width:24px;left:-2px;bottom:-2px;background-color:var(--secondary-text-color);transition:all .3s ease-in-out;border-radius:50%}#full-screen-config-container input[type=color]{border:none!important;width:80px!important;height:35px!important;background:#000!important}#full-screen-config-container input:checked+.slider{background-color:var(--tertiary-background-color)}#full-screen-config-container input:focus+.slider{box-shadow:0 0 1px var(--tertiary-background-color)}#full-screen-config-container input:checked+.slider:before{transform:translateX(24px);background-color:var(--theme-color);filter:brightness(1.1) saturate(1.2)}#full-screen-config-container select{background:var(--tertiary-background-color);color:var(--main-text-color);border:none;height:32px}#full-screen-config-container option{background:var(--tertiary-background-color);color:var(--main-text-color)}#full-screen-config-container button.switch{align-items:center;border:0;border-radius:50%;background-color:var(--tertiary-background-color);cursor:pointer;margin-inline-start:12px;padding:10px;width:32px;height:32px}#full-screen-config-container button.switch.disabled,#full-screen-config-container button.switch[disabled]{color:var(--secondary-text-color);opacity:.5;pointer-events:none}#full-screen-config-container button.switch.disabled svg,#full-screen-config-container button.switch[disabled] svg{fill:var(--secondary-text-color)!important}#full-screen-config-container button.switch.small{width:22px;height:22px;padding:3px}#full-screen-config-container button.switch.small svg{fill:var(--theme-color)}#full-screen-config-container .adjust-value{margin-inline:12px;width:22px;text-align:center}#full-screen-config-container .main-buttons-button{border:2px solid transparent;border-radius:10px;cursor:pointer;display:inline-block;font-size:12px;font-weight:700;letter-spacing:1.76px;line-height:18px;padding:8px 34px;text-align:center;text-transform:uppercase;transition:all 33ms cubic-bezier(.3, 0, 0, 1);white-space:nowrap;will-change:transform}#full-screen-config-container .main-button-primary{background-color:var(--theme-color);color:var(--main-text-color)}#full-screen-config-container .main-button-secondary{background-color:transparent;color:var(--theme-color);border:2px solid var(--theme-color)} `.trim(),document.head.appendChild(e))})()}(); \ No newline at end of file diff --git a/Extensions/full-screen/package.json b/Extensions/full-screen/package.json index 8e1b786..5d9c168 100644 --- a/Extensions/full-screen/package.json +++ b/Extensions/full-screen/package.json @@ -11,19 +11,19 @@ "devDependencies": { "@types/lodash.debounce": "^4.0.9", "@types/lodash.defaultsdeep": "^4.6.9", - "@types/react": "17.0.2", - "@types/react-dom": "17.0.2", - "@typescript-eslint/eslint-plugin": "^6.12.0", - "@typescript-eslint/parser": "^6.12.0", - "eslint-plugin-react": "^7.33.2", - "eslint": "^8.54.0", - "eslint-config-prettier": "^9.0.0", - "typescript": "^5.3.2", + "@types/react": "18.3.5", + "@types/react-dom": "18.3.0", + "@typescript-eslint/eslint-plugin": "^8.5.0", + "@typescript-eslint/parser": "^8.5.0", + "eslint-plugin-react": "^7.35.2", + "eslint": "^9.10.0", + "eslint-config-prettier": "^9.1.0", + "typescript": "^5.6.2", "lodash.debounce": "^4.0.8", "lodash.defaultsdeep": "^4.6.1", - "marked": "^10.0.0", - "semver": "^7.5.4", - "spicetify-creator": "^1.0.16", - "classnames": "^2.3.2" + "marked": "^14.1.2", + "semver": "^7.6.3", + "spicetify-creator": "^1.0.17", + "classnames": "^2.5.1" } } diff --git a/package-lock.json b/package-lock.json index 3073507..e28aabd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,25 +22,457 @@ } }, "Extensions/full-screen": { - "version": "2.5.0", + "version": "2.7.0", "license": "MIT", "devDependencies": { "@types/lodash.debounce": "^4.0.9", "@types/lodash.defaultsdeep": "^4.6.9", - "@types/react": "17.0.2", - "@types/react-dom": "17.0.2", - "@typescript-eslint/eslint-plugin": "^6.12.0", - "@typescript-eslint/parser": "^6.12.0", - "classnames": "^2.3.2", - "eslint": "^8.54.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-react": "^7.33.2", + "@types/react": "18.3.5", + "@types/react-dom": "18.3.0", + "@typescript-eslint/eslint-plugin": "^8.5.0", + "@typescript-eslint/parser": "^8.5.0", + "classnames": "^2.5.1", + "eslint": "^9.10.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-react": "^7.35.2", "lodash.debounce": "^4.0.8", "lodash.defaultsdeep": "^4.6.1", - "marked": "^10.0.0", - "semver": "^7.5.4", - "spicetify-creator": "^1.0.16", - "typescript": "^5.3.2" + "marked": "^14.1.2", + "semver": "^7.6.3", + "spicetify-creator": "^1.0.17", + "typescript": "^5.6.2" + } + }, + "Extensions/full-screen/node_modules/@eslint/eslintrc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", + "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "Extensions/full-screen/node_modules/@eslint/js": { + "version": "9.10.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.10.0.tgz", + "integrity": "sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "Extensions/full-screen/node_modules/@types/react": { + "version": "18.3.5", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.5.tgz", + "integrity": "sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "Extensions/full-screen/node_modules/@types/react-dom": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", + "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "Extensions/full-screen/node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.5.0.tgz", + "integrity": "sha512-lHS5hvz33iUFQKuPFGheAB84LwcJ60G8vKnEhnfcK1l8kGVLro2SFYW6K0/tj8FUhRJ0VHyg1oAfg50QGbPPHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.5.0", + "@typescript-eslint/type-utils": "8.5.0", + "@typescript-eslint/utils": "8.5.0", + "@typescript-eslint/visitor-keys": "8.5.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "Extensions/full-screen/node_modules/@typescript-eslint/parser": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.5.0.tgz", + "integrity": "sha512-gF77eNv0Xz2UJg/NbpWJ0kqAm35UMsvZf1GHj8D9MRFTj/V3tAciIWXfmPLsAAF/vUlpWPvUDyH1jjsr0cMVWw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "8.5.0", + "@typescript-eslint/types": "8.5.0", + "@typescript-eslint/typescript-estree": "8.5.0", + "@typescript-eslint/visitor-keys": "8.5.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "Extensions/full-screen/node_modules/@typescript-eslint/scope-manager": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.5.0.tgz", + "integrity": "sha512-06JOQ9Qgj33yvBEx6tpC8ecP9o860rsR22hWMEd12WcTRrfaFgHr2RB/CA/B+7BMhHkXT4chg2MyboGdFGawYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.5.0", + "@typescript-eslint/visitor-keys": "8.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "Extensions/full-screen/node_modules/@typescript-eslint/type-utils": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.5.0.tgz", + "integrity": "sha512-N1K8Ix+lUM+cIDhL2uekVn/ZD7TZW+9/rwz8DclQpcQ9rk4sIL5CAlBC0CugWKREmDjBzI/kQqU4wkg46jWLYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "8.5.0", + "@typescript-eslint/utils": "8.5.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "Extensions/full-screen/node_modules/@typescript-eslint/types": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.5.0.tgz", + "integrity": "sha512-qjkormnQS5wF9pjSi6q60bKUHH44j2APxfh9TQRXK8wbYVeDYYdYJGIROL87LGZZ2gz3Rbmjc736qyL8deVtdw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "Extensions/full-screen/node_modules/@typescript-eslint/typescript-estree": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.5.0.tgz", + "integrity": "sha512-vEG2Sf9P8BPQ+d0pxdfndw3xIXaoSjliG0/Ejk7UggByZPKXmJmw3GW5jV2gHNQNawBUyfahoSiCFVov0Ruf7Q==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "8.5.0", + "@typescript-eslint/visitor-keys": "8.5.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "Extensions/full-screen/node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "Extensions/full-screen/node_modules/@typescript-eslint/utils": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.5.0.tgz", + "integrity": "sha512-6yyGYVL0e+VzGYp60wvkBHiqDWOpT63pdMV2CVG4LVDd5uR6q1qQN/7LafBZtAtNIn/mqXjsSeS5ggv/P0iECw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.5.0", + "@typescript-eslint/types": "8.5.0", + "@typescript-eslint/typescript-estree": "8.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + } + }, + "Extensions/full-screen/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.5.0.tgz", + "integrity": "sha512-yTPqMnbAZJNy2Xq2XU8AdtOW9tJIr+UQb64aXB9f3B1498Zx9JorVgFJcZpEc9UBuCCrdzKID2RGAMkYcDtZOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.5.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "Extensions/full-screen/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "Extensions/full-screen/node_modules/eslint": { + "version": "9.10.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.10.0.tgz", + "integrity": "sha512-Y4D0IgtBZfOcOUAIQTSXBKoNGfY0REGqHJG6+Q81vNippW5YlKjHFj4soMxamKK1NXHUWuBZTLdU3Km+L/pcHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.11.0", + "@eslint/config-array": "^0.18.0", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "9.10.0", + "@eslint/plugin-kit": "^0.1.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.3.0", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.0.2", + "eslint-visitor-keys": "^4.0.0", + "espree": "^10.1.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "Extensions/full-screen/node_modules/eslint-scope": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz", + "integrity": "sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "Extensions/full-screen/node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", + "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "Extensions/full-screen/node_modules/espree": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", + "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.12.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "Extensions/full-screen/node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", + "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "Extensions/full-screen/node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "Extensions/full-screen/node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "Extensions/full-screen/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -74,19 +506,36 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", "dev": true, + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, + "node_modules/@eslint/config-array": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", + "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.4", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@eslint/eslintrc": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", "dev": true, + "peer": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -110,15 +559,40 @@ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.54.0.tgz", "integrity": "sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==", "dev": true, + "peer": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@eslint/object-schema": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", + "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.1.0.tgz", + "integrity": "sha512-autAXT203ixhqei9xt+qkYOvY8l6LAFIdT2UXc/RPNeUVfqRF1BV94GTJyVPFKT8nFM6MyVJhjLj9E8JWvf5zQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.13", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", "dev": true, + "peer": true, "dependencies": { "@humanwhocodes/object-schema": "^2.0.1", "debug": "^4.1.1", @@ -145,7 +619,22 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", - "dev": true + "dev": true, + "peer": true + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz", + "integrity": "sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", @@ -182,12 +671,6 @@ "node": ">= 8" } }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, "node_modules/@types/lodash": { "version": "4.14.202", "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz", @@ -195,254 +678,61 @@ "dev": true }, "node_modules/@types/lodash.debounce": { - "version": "4.0.9", - "resolved": "https://registry.npmjs.org/@types/lodash.debounce/-/lodash.debounce-4.0.9.tgz", - "integrity": "sha512-Ma5JcgTREwpLRwMM+XwBR7DaWe96nC38uCBDFKZWbNKD+osjVzdpnUSwBcqCptrp16sSOLBAUb50Car5I0TCsQ==", - "dev": true, - "dependencies": { - "@types/lodash": "*" - } - }, - "node_modules/@types/lodash.defaultsdeep": { - "version": "4.6.9", - "resolved": "https://registry.npmjs.org/@types/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.9.tgz", - "integrity": "sha512-pLtCFK0YkHfGtGLYLNMTbFB5/G5+RsmQCIbbHH8GOAXjv+gDkVilY98kILfe8JH2Kev0OCReYxp1AjxEjP8ixA==", - "dev": true, - "dependencies": { - "@types/lodash": "*" - } - }, - "node_modules/@types/prop-types": { - "version": "15.7.11", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", - "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", - "dev": true - }, - "node_modules/@types/react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.2.tgz", - "integrity": "sha512-Xt40xQsrkdvjn1EyWe1Bc0dJLcil/9x2vAuW7ya+PuQip4UYUaXyhzWmAbwRsdMgwOFHpfp7/FFZebDU6Y8VHA==", - "dev": true, - "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-Icd9KEgdnFfJs39KyRyr0jQ7EKhq8U6CcHRMGAS45fp5qgUvxL3ujUCfWFttUK2UErqZNj97t9gsVPNAqcwoCg==", - "dev": true, - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/semver": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", - "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", - "dev": true - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.12.0.tgz", - "integrity": "sha512-XOpZ3IyJUIV1b15M7HVOpgQxPPF7lGXgsfcEIu3yDxFPaf/xZKt7s9QO/pbk7vpWQyVulpJbu4E5LwpZiQo4kA==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.12.0", - "@typescript-eslint/type-utils": "6.12.0", - "@typescript-eslint/utils": "6.12.0", - "@typescript-eslint/visitor-keys": "6.12.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.4", - "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.12.0.tgz", - "integrity": "sha512-s8/jNFPKPNRmXEnNXfuo1gemBdVmpQsK1pcu+QIvuNJuhFzGrpD7WjOcvDc/+uEdfzSYpNu7U/+MmbScjoQ6vg==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "6.12.0", - "@typescript-eslint/types": "6.12.0", - "@typescript-eslint/typescript-estree": "6.12.0", - "@typescript-eslint/visitor-keys": "6.12.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.12.0.tgz", - "integrity": "sha512-5gUvjg+XdSj8pcetdL9eXJzQNTl3RD7LgUiYTl8Aabdi8hFkaGSYnaS6BLc0BGNaDH+tVzVwmKtWvu0jLgWVbw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.12.0", - "@typescript-eslint/visitor-keys": "6.12.0" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.12.0.tgz", - "integrity": "sha512-WWmRXxhm1X8Wlquj+MhsAG4dU/Blvf1xDgGaYCzfvStP2NwPQh6KBvCDbiOEvaE0filhranjIlK/2fSTVwtBng==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "6.12.0", - "@typescript-eslint/utils": "6.12.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.12.0.tgz", - "integrity": "sha512-MA16p/+WxM5JG/F3RTpRIcuOghWO30//VEOvzubM8zuOOBYXsP+IfjoCXXiIfy2Ta8FRh9+IO9QLlaFQUU+10Q==", + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/lodash.debounce/-/lodash.debounce-4.0.9.tgz", + "integrity": "sha512-Ma5JcgTREwpLRwMM+XwBR7DaWe96nC38uCBDFKZWbNKD+osjVzdpnUSwBcqCptrp16sSOLBAUb50Car5I0TCsQ==", "dev": true, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "dependencies": { + "@types/lodash": "*" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.12.0.tgz", - "integrity": "sha512-vw9E2P9+3UUWzhgjyyVczLWxZ3GuQNT7QpnIY3o5OMeLO/c8oHljGc8ZpryBMIyympiAAaKgw9e5Hl9dCWFOYw==", + "node_modules/@types/lodash.defaultsdeep": { + "version": "4.6.9", + "resolved": "https://registry.npmjs.org/@types/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.9.tgz", + "integrity": "sha512-pLtCFK0YkHfGtGLYLNMTbFB5/G5+RsmQCIbbHH8GOAXjv+gDkVilY98kILfe8JH2Kev0OCReYxp1AjxEjP8ixA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.12.0", - "@typescript-eslint/visitor-keys": "6.12.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@types/lodash": "*" } }, - "node_modules/@typescript-eslint/utils": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.12.0.tgz", - "integrity": "sha512-LywPm8h3tGEbgfyjYnu3dauZ0U7R60m+miXgKcZS8c7QALO9uWJdvNoP+duKTk2XMWc7/Q3d/QiCuLN9X6SWyQ==", + "node_modules/@types/prop-types": { + "version": "15.7.11", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", + "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", + "dev": true + }, + "node_modules/@types/react": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.2.tgz", + "integrity": "sha512-Xt40xQsrkdvjn1EyWe1Bc0dJLcil/9x2vAuW7ya+PuQip4UYUaXyhzWmAbwRsdMgwOFHpfp7/FFZebDU6Y8VHA==", "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.12.0", - "@typescript-eslint/types": "6.12.0", - "@typescript-eslint/typescript-estree": "6.12.0", - "semver": "^7.5.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "@types/prop-types": "*", + "csstype": "^3.0.2" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.12.0.tgz", - "integrity": "sha512-rg3BizTZHF1k3ipn8gfrzDXXSFKyOEB5zxYXInQ6z0hUvmQlhaZQzK+YmHmNViMA9HzW5Q9+bPPt90bU6GQwyw==", + "node_modules/@types/react-dom": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-Icd9KEgdnFfJs39KyRyr0jQ7EKhq8U6CcHRMGAS45fp5qgUvxL3ujUCfWFttUK2UErqZNj97t9gsVPNAqcwoCg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.12.0", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "@types/react": "*" } }, "node_modules/@ungap/structured-clone": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true + "dev": true, + "peer": true }, "node_modules/acorn": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", - "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -519,28 +809,34 @@ "dev": true }, "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/array-includes": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", - "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", "is-string": "^1.0.7" }, "engines": { @@ -550,13 +846,25 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/array.prototype.flat": { @@ -596,30 +904,36 @@ } }, "node_modules/array.prototype.tosorted": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", - "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.2.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", - "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", "dev": true, + "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", "is-shared-array-buffer": "^1.0.2" }, "engines": { @@ -629,15 +943,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/asynciterator.prototype": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", - "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.3" - } - }, "node_modules/at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", @@ -689,10 +994,14 @@ } }, "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -770,14 +1079,20 @@ } }, "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dev": true, + "license": "MIT", "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -966,6 +1281,60 @@ "node": ">=0.8" } }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -990,17 +1359,21 @@ "dev": true }, "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-properties": { @@ -1020,23 +1393,12 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, + "peer": true, "dependencies": { "esutils": "^2.0.2" }, @@ -1064,50 +1426,58 @@ } }, "node_modules/es-abstract": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", - "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", "dev": true, + "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.2", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.5", - "es-set-tostringtag": "^2.0.1", + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", "es-to-primitive": "^1.2.1", "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.2", - "get-symbol-description": "^1.0.0", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", "globalthis": "^1.0.3", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", "has-symbols": "^1.0.3", - "hasown": "^2.0.0", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", + "is-shared-array-buffer": "^1.0.3", "is-string": "^1.0.7", - "is-typed-array": "^1.1.12", + "is-typed-array": "^1.1.13", "is-weakref": "^1.0.2", "object-inspect": "^1.13.1", "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "safe-array-concat": "^1.0.1", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", - "string.prototype.trimstart": "^1.0.7", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.13" + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" @@ -1116,37 +1486,78 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-iterator-helpers": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", - "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", + "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", "dev": true, + "license": "MIT", "dependencies": { - "asynciterator.prototype": "^1.0.0", - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.22.1", - "es-set-tostringtag": "^2.0.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", + "internal-slot": "^1.0.7", "iterator.prototype": "^1.1.2", - "safe-array-concat": "^1.0.1" + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/es-set-tostringtag": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", - "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", "dev": true, + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.2", - "has-tostringtag": "^1.0.0", - "hasown": "^2.0.0" + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" }, "engines": { "node": ">= 0.4" @@ -1285,6 +1696,7 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.54.0.tgz", "integrity": "sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==", "dev": true, + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -1336,10 +1748,11 @@ } }, "node_modules/eslint-config-prettier": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz", - "integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", "dev": true, + "license": "MIT", "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -1348,33 +1761,36 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.33.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", - "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "version": "7.35.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.35.2.tgz", + "integrity": "sha512-Rbj2R9zwP2GYNcIak4xoAMV57hrBh3hTaR0k7hVjwCQgryE/pw5px4b13EYjduOI0hfXyZhwBxaGpOTbWSGzKQ==", "dev": true, + "license": "MIT", "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.12", + "es-iterator-helpers": "^1.0.19", "estraverse": "^5.3.0", + "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.0", "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", + "resolve": "^2.0.0-next.5", "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.8" + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" }, "engines": { "node": ">=4" }, "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" } }, "node_modules/eslint-plugin-react/node_modules/doctrine": { @@ -1403,6 +1819,7 @@ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, + "peer": true, "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -1431,6 +1848,7 @@ "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, + "peer": true, "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", @@ -1569,6 +1987,7 @@ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, + "peer": true, "dependencies": { "flat-cache": "^3.0.4" }, @@ -1634,6 +2053,7 @@ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, + "peer": true, "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.3", @@ -1654,6 +2074,7 @@ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, + "license": "MIT", "dependencies": { "is-callable": "^1.1.3" } @@ -1751,28 +2172,35 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, + "license": "MIT", "dependencies": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" }, "engines": { "node": ">= 0.4" @@ -1858,6 +2286,7 @@ "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dev": true, + "peer": true, "dependencies": { "type-fest": "^0.20.2" }, @@ -1883,26 +2312,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -1946,22 +2355,24 @@ } }, "node_modules/has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.2" + "es-define-property": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1982,12 +2393,13 @@ } }, "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, + "license": "MIT", "dependencies": { - "has-symbols": "^1.0.2" + "has-symbols": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -1997,10 +2409,11 @@ } }, "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, + "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, @@ -2052,10 +2465,11 @@ } }, "node_modules/ignore": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", - "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } @@ -2127,12 +2541,13 @@ "dev": true }, "node_modules/internal-slot": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", - "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dev": true, + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.2", + "es-errors": "^1.3.0", "hasown": "^2.0.0", "side-channel": "^1.0.4" }, @@ -2141,14 +2556,17 @@ } }, "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2159,6 +2577,7 @@ "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -2239,6 +2658,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-date-object": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", @@ -2277,6 +2712,7 @@ "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -2289,6 +2725,7 @@ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -2312,19 +2749,24 @@ } }, "node_modules/is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -2370,6 +2812,7 @@ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -2382,21 +2825,29 @@ } }, "node_modules/is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2" + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2433,12 +2884,13 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dev": true, + "license": "MIT", "dependencies": { - "which-typed-array": "^1.1.11" + "which-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -2448,10 +2900,14 @@ } }, "node_modules/is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -2469,13 +2925,17 @@ } }, "node_modules/is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2500,7 +2960,8 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", @@ -2513,6 +2974,7 @@ "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", "dev": true, + "license": "MIT", "dependencies": { "define-properties": "^1.2.1", "get-intrinsic": "^1.2.1", @@ -2716,18 +3178,6 @@ "loose-envify": "cli.js" } }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", @@ -2753,10 +3203,11 @@ } }, "node_modules/marked": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-10.0.0.tgz", - "integrity": "sha512-YiGcYcWj50YrwBgNzFoYhQ1hT6GmQbFG8SksnYJX1z4BXTHSOrz1GB5/Jm2yQvMg4nN1FHP4M6r03R10KrVUiA==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-14.1.2.tgz", + "integrity": "sha512-f3r0yqpz31VXiDB/wj9GaOB0a2PRLQl6vJmXiFrniNwjkKdvakqJRULhjFKJpxOchlCRiG5fcacoUZY5Xa6PEQ==", "dev": true, + "license": "MIT", "bin": { "marked": "bin/marked.js" }, @@ -2912,10 +3363,14 @@ } }, "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -2930,13 +3385,14 @@ } }, "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, @@ -2948,28 +3404,31 @@ } }, "node_modules/object.entries": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", - "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" } }, "node_modules/object.fromentries": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", - "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -2978,28 +3437,16 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.hasown": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", - "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", - "dev": true, - "dependencies": { - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object.values": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", - "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -3136,15 +3583,6 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -3173,6 +3611,16 @@ "node": ">=6" } }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/postcss": { "version": "8.4.31", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", @@ -3388,15 +3836,17 @@ } }, "node_modules/reflect.getprototypeof": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", - "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", "globalthis": "^1.0.3", "which-builtin-type": "^1.1.3" }, @@ -3408,14 +3858,16 @@ } }, "node_modules/regexp.prototype.flags": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", - "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" }, "engines": { "node": ">= 0.4" @@ -3559,13 +4011,14 @@ } }, "node_modules/safe-array-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", - "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", "has-symbols": "^1.0.3", "isarray": "^2.0.5" }, @@ -3577,15 +4030,19 @@ } }, "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", "is-regex": "^1.1.4" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -3621,13 +4078,11 @@ "dev": true }, "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -3636,29 +4091,34 @@ } }, "node_modules/set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, + "license": "MIT", "dependencies": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" } }, "node_modules/set-function-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", - "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dev": true, + "license": "MIT", "dependencies": { - "define-data-property": "^1.0.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -3698,28 +4158,24 @@ } }, "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -3739,10 +4195,11 @@ } }, "node_modules/spicetify-creator": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/spicetify-creator/-/spicetify-creator-1.0.16.tgz", - "integrity": "sha512-b/DPC6qmVBhFFViSDVJe6qVgi/qpnhDg75UVb8aIkmEnSsm4AreI/dbUL10JLo+1sneaCIRvm3E117eLsRjEzA==", + "version": "1.0.17", + "resolved": "https://registry.npmjs.org/spicetify-creator/-/spicetify-creator-1.0.17.tgz", + "integrity": "sha512-PajJIP0mi8UPErSeuqDf2wF4j8aHF4O+1S9JDIuY4wYKcHHWSvQ21FGnfyxzO6rS4/MkwMDzO6uERnrNAu+sHw==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.1.2", "clean-css": "^5.2.4", @@ -3764,34 +4221,54 @@ "dev": true }, "node_modules/string.prototype.matchall": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", - "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "regexp.prototype.flags": "^1.5.0", - "set-function-name": "^2.0.0", - "side-channel": "^1.0.4" + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, "node_modules/string.prototype.trim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -3801,28 +4278,33 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", - "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3950,12 +4432,13 @@ } }, "node_modules/ts-api-utils": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", - "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=16.13.0" + "node": ">=16" }, "peerDependencies": { "typescript": ">=4.2.0" @@ -3984,6 +4467,7 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, + "peer": true, "engines": { "node": ">=10" }, @@ -3992,29 +4476,32 @@ } }, "node_modules/typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" } }, "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -4024,16 +4511,18 @@ } }, "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", "dev": true, + "license": "MIT", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -4043,24 +4532,32 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/typescript": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz", - "integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", + "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -4182,13 +4679,14 @@ } }, "node_modules/which-builtin-type": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", + "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", "dev": true, + "license": "MIT", "dependencies": { - "function.prototype.name": "^1.1.5", - "has-tostringtag": "^1.0.0", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", "is-date-object": "^1.0.5", "is-finalizationregistry": "^1.0.2", @@ -4197,8 +4695,8 @@ "is-weakref": "^1.0.2", "isarray": "^2.0.5", "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" @@ -4208,31 +4706,36 @@ } }, "node_modules/which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", "dev": true, + "license": "MIT", "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", "dev": true, + "license": "MIT", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -4247,12 +4750,6 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",