3 order by time_added desc",limit:3}),f.search({type:"track",expression:"time_played after 8 weeks ago and media_kind is music order by time_played desc",limit:3})])},set:function(s,e){s.recently_added=new E(e[0].data.albums),s.recently_played=e[1].data.tracks}},Or={name:"PageBrowse",components:{ContentWithHeading:R,TabsMusic:G,ListAlbums:j,ListTracks:V},beforeRouteEnter(s,e,a){rt.load(s).then(r=>{a(o=>rt.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;rt.load(s).then(o=>{rt.set(r,o),a()})},data(){return{recently_added:[],recently_played:{items:[]},show_track_details_modal:!1,selected_track:{}}},methods:{open_browse:function(s){this.$router.push({path:"/music/browse/"+s})}}},Dr={class:"fd-page-with-tabs"},zr=t("p",{class:"title is-4"},"Recently added",-1),Nr=t("p",{class:"heading"},"albums",-1),Vr={class:"level"},Br={class:"level-item"},Mr=t("p",{class:"title is-4"},"Recently played",-1),Fr=t("p",{class:"heading"},"tracks",-1),Gr={class:"level"},jr={class:"level-item"};function Kr(s,e,a,r,o,i){const n=h("tabs-music"),c=h("list-albums"),p=h("content-with-heading"),g=h("list-tracks");return l(),_("div",Dr,[u(n),u(p,null,{"heading-left":d(()=>[zr,Nr]),content:d(()=>[u(c,{albums:o.recently_added},null,8,["albums"])]),footer:d(()=>[t("nav",Vr,[t("p",Br,[t("a",{class:"button is-light is-small is-rounded",onClick:e[0]||(e[0]=b=>i.open_browse("recently_added"))},"Show more")])])]),_:1}),u(p,null,{"heading-left":d(()=>[Mr,Fr]),content:d(()=>[u(g,{tracks:o.recently_played.items},null,8,["tracks"])]),footer:d(()=>[t("nav",Gr,[t("p",jr,[t("a",{class:"button is-light is-small is-rounded",onClick:e[1]||(e[1]=b=>i.open_browse("recently_played"))},"Show more")])])]),_:1})])}var Hr=k(Or,[["render",Kr]]);const dt={load:function(s){const e=A.getters.settings_option_recently_added_limit;return f.search({type:"album",expression:"media_kind is music having track_count > 3 order by time_added desc",limit:e})},set:function(s,e){s.recently_added=new E(e.data.albums),s.recently_added.group(Lr("time_added",{direction:"desc",defaultValue:"0000"}))}},Wr={name:"PageBrowseType",components:{ContentWithHeading:R,TabsMusic:G,ListAlbums:j},beforeRouteEnter(s,e,a){dt.load(s).then(r=>{a(o=>dt.set(o,r))})},beforeRouteUpdate(s,e,a){if(!this.recently_added.isEmpty()){a();return}const r=this;dt.load(s).then(o=>{dt.set(r,o),a()})},data(){return{recently_added:new E}}},Yr={class:"fd-page-with-tabs"},Qr=t("p",{class:"title is-4"},"Recently added",-1),Jr=t("p",{class:"heading"},"albums",-1);function Zr(s,e,a,r,o,i){const n=h("tabs-music"),c=h("list-albums"),p=h("content-with-heading");return l(),_("div",Yr,[u(n),u(p,null,{"heading-left":d(()=>[Qr,Jr]),content:d(()=>[u(c,{albums:o.recently_added},null,8,["albums"])]),_:1})])}var Xr=k(Wr,[["render",Zr]]);const _t={load:function(s){return f.search({type:"track",expression:"time_played after 8 weeks ago and media_kind is music order by time_played desc",limit:50})},set:function(s,e){s.recently_played=e.data.tracks}},td={name:"PageBrowseType",components:{ContentWithHeading:R,TabsMusic:G,ListTracks:V},beforeRouteEnter(s,e,a){_t.load(s).then(r=>{a(o=>_t.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;_t.load(s).then(o=>{_t.set(r,o),a()})},data(){return{recently_played:{}}}},sd={class:"fd-page-with-tabs"},ed=t("p",{class:"title is-4"},"Recently played",-1),id=t("p",{class:"heading"},"tracks",-1);function od(s,e,a,r,o,i){const n=h("tabs-music"),c=h("list-tracks"),p=h("content-with-heading");return l(),_("div",sd,[u(n),u(p,null,{"heading-left":d(()=>[ed,id]),content:d(()=>[u(c,{tracks:o.recently_played.items},null,8,["tracks"])]),_:1})])}var ad=k(td,[["render",od]]);const nd={name:"IndexButtonList",props:["index"],computed:{filtered_index(){if(!this.index)return[];const s="!\"#$%&'()*+,-./:;<=>?@[\\]^`{|}~";return this.index.filter(e=>!s.includes(e))}},methods:{nav:function(s){this.$router.push({hash:"#index_"+s})},scroll_to_top:function(){window.scrollTo({top:0,behavior:"smooth"})}}},ld={class:"buttons is-centered fd-is-square",style:{"margin-bottom":"16px"}},rd=["onClick"];function dd(s,e,a,r,o,i){return l(),_("section",null,[t("nav",ld,[(l(!0),_(T,null,I(i.filtered_index,n=>(l(),_("a",{key:n,class:"button is-small",onClick:c=>i.nav(n)},m(n),9,rd))),128))])])}var H=k(nd,[["render",dd]]);const _d={name:"ModalDialogArtist",props:["show","artist"],emits:["close"],methods:{play:function(){this.$emit("close"),f.player_play_uri(this.artist.uri,!1)},queue_add:function(){this.$emit("close"),f.queue_add(this.artist.uri)},queue_add_next:function(){this.$emit("close"),f.queue_add_next(this.artist.uri)},open_artist:function(){this.$emit("close"),this.$router.push({path:"/music/artists/"+this.artist.id})}}},cd={key:0,class:"modal is-active"},ud={class:"modal-content fd-modal-card"},md={class:"card"},hd={class:"card-content"},pd={class:"title is-4"},fd={class:"content is-small"},yd=t("span",{class:"heading"},"Albums",-1),gd={class:"title is-6"},bd=t("span",{class:"heading"},"Tracks",-1),kd={class:"title is-6"},wd=t("span",{class:"heading"},"Type",-1),vd={class:"title is-6"},$d=t("span",{class:"heading"},"Added at",-1),xd={class:"title is-6"},Cd={class:"card-footer"},qd=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-plus"})],-1),Sd=t("span",{class:"is-size-7"},"Add",-1),Pd=[qd,Sd],Ad=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-play"})],-1),Td=t("span",{class:"is-size-7"},"Add Next",-1),Rd=[Ad,Td],Ed=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),Id=t("span",{class:"is-size-7"},"Play",-1),Ud=[Ed,Id];function Ld(s,e,a,r,o,i){return l(),_("div",null,[u(N,{name:"fade"},{default:d(()=>[a.show?(l(),_("div",cd,[t("div",{class:"modal-background",onClick:e[0]||(e[0]=n=>s.$emit("close"))}),t("div",ud,[t("div",md,[t("div",hd,[t("p",pd,[t("a",{class:"has-text-link",onClick:e[1]||(e[1]=(...n)=>i.open_artist&&i.open_artist(...n))},m(a.artist.name),1)]),t("div",fd,[t("p",null,[yd,t("span",gd,m(a.artist.album_count),1)]),t("p",null,[bd,t("span",kd,m(a.artist.track_count),1)]),t("p",null,[wd,t("span",vd,m(a.artist.data_kind),1)]),t("p",null,[$d,t("span",xd,m(s.$filters.time(a.artist.time_added,"L LT")),1)])])]),t("footer",Cd,[t("a",{class:"card-footer-item has-text-dark",onClick:e[2]||(e[2]=(...n)=>i.queue_add&&i.queue_add(...n))},Pd),t("a",{class:"card-footer-item has-text-dark",onClick:e[3]||(e[3]=(...n)=>i.queue_add_next&&i.queue_add_next(...n))},Rd),t("a",{class:"card-footer-item has-text-dark",onClick:e[4]||(e[4]=(...n)=>i.play&&i.play(...n))},Ud)])])]),t("button",{class:"modal-close is-large","aria-label":"close",onClick:e[5]||(e[5]=n=>s.$emit("close"))})])):y("",!0)]),_:1})])}var Gt=k(_d,[["render",Ld]]);const Od={name:"ListArtists",components:{ModalDialogArtist:Gt},props:["artists","media_kind","hide_group_title"],data(){return{show_details_modal:!1,selected_artist:{}}},computed:{media_kind_resolved:function(){return this.media_kind?this.media_kind:this.selected_artist.media_kind}},methods:{open_artist:function(s){this.selected_artist=s,this.media_kind_resolved==="podcast"||(this.media_kind_resolved==="audiobook"?this.$router.push({path:"/audiobooks/artists/"+s.id}):this.$router.push({path:"/music/artists/"+s.id}))},open_dialog:function(s){this.selected_artist=s,this.show_details_modal=!0}}},Dd={key:0,class:"mt-6 mb-5 py-2"},zd={class:"media-content is-clipped"},Nd=["id"],Vd=["onClick"],Bd={class:"media-content fd-has-action is-clipped"},Md={class:"title is-6"},Fd={class:"media-right"},Gd=["onClick"],jd=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),Kd=[jd];function Hd(s,e,a,r,o,i){const n=h("modal-dialog-artist");return l(),_(T,null,[(l(!0),_(T,null,I(a.artists,c=>(l(),_(T,{key:c.itemId},[!c.isItem&&!a.hide_group_title?(l(),_("div",Dd,[t("div",zd,[t("span",{id:"index_"+c.groupKey,class:"tag is-info is-light is-small has-text-weight-bold"},m(c.groupKey),9,Nd)])])):c.isItem?(l(),_("div",{key:1,class:"media",onClick:p=>i.open_artist(c.item)},[t("div",Bd,[t("h1",Md,m(c.item.name),1)]),t("div",Fd,[t("a",{onClick:D(p=>i.open_dialog(c.item),["prevent","stop"])},Kd,8,Gd)])],8,Vd)):y("",!0)],64))),128)),(l(),w(Q,{to:"#app"},[u(n,{show:o.show_details_modal,artist:o.selected_artist,media_kind:a.media_kind,onClose:e[0]||(e[0]=c=>o.show_details_modal=!1)},null,8,["show","artist","media_kind"])]))],64)}var ds=k(Od,[["render",Hd]]);const Wd={name:"DropdownMenu",props:["modelValue","options"],emits:["update:modelValue"],data(){return{is_active:!1}},methods:{onClickOutside(s){this.is_active=!1},select(s){this.is_active=!1,this.$emit("update:modelValue",s)}}},Yd={class:"dropdown-trigger"},Qd=t("span",{class:"icon is-small"},[t("i",{class:"mdi mdi-chevron-down","aria-hidden":"true"})],-1),Jd={id:"dropdown-menu",class:"dropdown-menu",role:"menu"},Zd={class:"dropdown-content"},Xd=["onClick"];function t_(s,e,a,r,o,i){const n=Zt("click-away");return U((l(),_("div",{class:C(["dropdown",{"is-active":o.is_active}])},[t("div",Yd,[t("button",{class:"button","aria-haspopup":"true","aria-controls":"dropdown-menu",onClick:e[0]||(e[0]=c=>o.is_active=!o.is_active)},[t("span",null,m(a.modelValue),1),Qd])]),t("div",Jd,[t("div",Zd,[(l(!0),_(T,null,I(a.options,c=>(l(),_("a",{key:c,class:C(["dropdown-item",{"is-active":a.modelValue===c}]),onClick:p=>i.select(c)},m(c),11,Xd))),128))])])],2)),[[n,i.onClickOutside]])}var _s=k(Wd,[["render",t_]]);const ct={load:function(s){return f.library_artists("music")},set:function(s,e){s.artists_list=new E(e.data)}},s_={name:"PageArtists",components:{ContentWithHeading:R,TabsMusic:G,IndexButtonList:H,ListArtists:ds,DropdownMenu:_s},beforeRouteEnter(s,e,a){ct.load(s).then(r=>{a(o=>ct.set(o,r))})},beforeRouteUpdate(s,e,a){if(!this.artists_list.isEmpty()){a();return}const r=this;ct.load(s).then(o=>{ct.set(r,o),a()})},data(){return{artists_list:new E,groupby_options:[{name:"Name",options:tt("name_sort")},{name:"Recently added",options:Nt("time_added",{direction:"desc",defaultValue:"0000"})}]}},computed:{artists(){if(!this.artists_list)return[];const s=this.groupby_options.find(e=>e.name===this.selected_groupby_option_name);return this.artists_list.group(s.options,[e=>!this.hide_singles||e.track_count>e.album_count*2,e=>!this.hide_spotify||e.data_kind!=="spotify"]),this.artists_list},groupby_option_names(){return[...this.groupby_options].map(s=>s.name)},selected_groupby_option_name:{get(){return this.$store.state.artists_sort},set(s){this.$store.commit(Rs,s)}},spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},hide_singles:{get(){return this.$store.state.hide_singles},set(s){this.$store.commit(Mt,s)}},hide_spotify:{get(){return this.$store.state.hide_spotify},set(s){this.$store.commit(ns,s)}}},methods:{}},e_={class:"fd-page-with-tabs"},i_={class:"columns"},o_={class:"column"},a_=t("p",{class:"heading",style:{"margin-bottom":"24px"}},"Filter",-1),n_={class:"field"},l_={class:"control"},r_=t("label",{for:"switchHideSingles"},"Hide singles",-1),d_=t("p",{class:"help"}," If active, hides artists that only appear on singles or playlists. ",-1),__={key:0,class:"field"},c_={class:"control"},u_=t("label",{for:"switchHideSpotify"},"Hide artists from Spotify",-1),m_=t("p",{class:"help"}," If active, hides artists that only appear in your Spotify library. ",-1),h_={class:"column"},p_=t("p",{class:"heading",style:{"margin-bottom":"24px"}},"Sort by",-1),f_=t("p",{class:"title is-4"},"Artists",-1),y_={class:"heading"};function g_(s,e,a,r,o,i){const n=h("tabs-music"),c=h("index-button-list"),p=h("dropdown-menu"),g=h("list-artists"),b=h("content-with-heading");return l(),_("div",e_,[u(n),u(b,null,{options:d(()=>[u(c,{index:i.artists.indexList},null,8,["index"]),t("div",i_,[t("div",o_,[a_,t("div",n_,[t("div",l_,[U(t("input",{id:"switchHideSingles","onUpdate:modelValue":e[0]||(e[0]=x=>i.hide_singles=x),type:"checkbox",name:"switchHideSingles",class:"switch"},null,512),[[J,i.hide_singles]]),r_]),d_]),i.spotify_enabled?(l(),_("div",__,[t("div",c_,[U(t("input",{id:"switchHideSpotify","onUpdate:modelValue":e[1]||(e[1]=x=>i.hide_spotify=x),type:"checkbox",name:"switchHideSpotify",class:"switch"},null,512),[[J,i.hide_spotify]]),u_]),m_])):y("",!0)]),t("div",h_,[p_,u(p,{modelValue:i.selected_groupby_option_name,"onUpdate:modelValue":e[2]||(e[2]=x=>i.selected_groupby_option_name=x),options:i.groupby_option_names},null,8,["modelValue","options"])])])]),"heading-left":d(()=>[f_,t("p",y_,m(i.artists.count)+" Artists",1)]),"heading-right":d(()=>[]),content:d(()=>[u(g,{artists:i.artists},null,8,["artists"])]),_:1})])}var b_=k(s_,[["render",g_]]);const ut={load:function(s){return Promise.all([f.library_artist(s.params.artist_id),f.library_artist_albums(s.params.artist_id)])},set:function(s,e){s.artist=e[0].data,s.albums_list=new E(e[1].data)}},k_={name:"PageArtist",components:{ContentWithHeading:R,ListAlbums:j,ModalDialogArtist:Gt,DropdownMenu:_s},beforeRouteEnter(s,e,a){ut.load(s).then(r=>{a(o=>ut.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;ut.load(s).then(o=>{ut.set(r,o),a()})},data(){return{artist:{},albums_list:new E,groupby_options:[{name:"Name",options:tt("name_sort")},{name:"Release date",options:Nt("date_released",{direction:"asc",defaultValue:"0000"})}],show_artist_details_modal:!1}},computed:{albums(){const s=this.groupby_options.find(e=>e.name===this.selected_groupby_option_name);return this.albums_list.group(s.options),this.albums_list},groupby_option_names(){return[...this.groupby_options].map(s=>s.name)},selected_groupby_option_name:{get(){return this.$store.state.artist_albums_sort},set(s){this.$store.commit(Es,s)}}},methods:{open_tracks:function(){this.$router.push({path:"/music/artists/"+this.artist.id+"/tracks"})},play:function(){f.player_play_uri(this.albums.items.map(s=>s.uri).join(","),!0)}}},w_={class:"columns"},v_={class:"column"},$_=t("p",{class:"heading",style:{"margin-bottom":"24px"}},"Sort by",-1),x_={class:"title is-4"},C_={class:"buttons is-centered"},q_=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),S_=[q_],P_=t("span",{class:"icon"},[t("i",{class:"mdi mdi-shuffle"})],-1),A_=t("span",null,"Shuffle",-1),T_=[P_,A_],R_={class:"heading has-text-centered-mobile"};function E_(s,e,a,r,o,i){const n=h("dropdown-menu"),c=h("list-albums"),p=h("modal-dialog-artist"),g=h("content-with-heading");return l(),w(g,null,{options:d(()=>[t("div",w_,[t("div",v_,[$_,u(n,{modelValue:i.selected_groupby_option_name,"onUpdate:modelValue":e[0]||(e[0]=b=>i.selected_groupby_option_name=b),options:i.groupby_option_names},null,8,["modelValue","options"])])])]),"heading-left":d(()=>[t("p",x_,m(o.artist.name),1)]),"heading-right":d(()=>[t("div",C_,[t("a",{class:"button is-small is-light is-rounded",onClick:e[1]||(e[1]=b=>o.show_artist_details_modal=!0)},S_),t("a",{class:"button is-small is-dark is-rounded",onClick:e[2]||(e[2]=(...b)=>i.play&&i.play(...b))},T_)])]),content:d(()=>[t("p",R_,[$(m(o.artist.album_count)+" albums | ",1),t("a",{class:"has-text-link",onClick:e[3]||(e[3]=(...b)=>i.open_tracks&&i.open_tracks(...b))},m(o.artist.track_count)+" tracks",1)]),u(c,{albums:i.albums,hide_group_title:!0},null,8,["albums"]),u(p,{show:o.show_artist_details_modal,artist:o.artist,onClose:e[4]||(e[4]=b=>o.show_artist_details_modal=!1)},null,8,["show","artist"])]),_:1})}var I_=k(k_,[["render",E_]]);const mt={load:function(s){return f.library_albums("music")},set:function(s,e){s.albums_list=new E(e.data)}},U_={name:"PageAlbums",components:{ContentWithHeading:R,TabsMusic:G,IndexButtonList:H,ListAlbums:j,DropdownMenu:_s},beforeRouteEnter(s,e,a){mt.load(s).then(r=>{a(o=>mt.set(o,r))})},beforeRouteUpdate(s,e,a){if(!this.albums_list.isEmpty()){a();return}const r=this;mt.load(s).then(o=>{mt.set(r,o),a()})},data(){return{albums_list:new E,groupby_options:[{name:"Name",options:tt("name_sort")},{name:"Recently added",options:Nt("time_added",{direction:"desc",defaultValue:"0000"})},{name:"Recently released",options:Nt("date_released",{direction:"desc",defaultValue:"0000"})}]}},computed:{albums(){const s=this.groupby_options.find(e=>e.name===this.selected_groupby_option_name);return this.albums_list.group(s.options,[e=>!this.hide_singles||e.track_count>2,e=>!this.hide_spotify||e.data_kind!=="spotify"]),this.albums_list},groupby_option_names(){return[...this.groupby_options].map(s=>s.name)},selected_groupby_option_name:{get(){return this.$store.state.albums_sort},set(s){this.$store.commit(Is,s)}},spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},hide_singles:{get(){return this.$store.state.hide_singles},set(s){this.$store.commit(Mt,s)}},hide_spotify:{get(){return this.$store.state.hide_spotify},set(s){this.$store.commit(ns,s)}}},methods:{scrollToTop:function(){window.scrollTo({top:0,behavior:"smooth"})}}},L_={class:"fd-page-with-tabs"},O_={class:"columns"},D_={class:"column"},z_=t("p",{class:"heading",style:{"margin-bottom":"24px"}},"Filter",-1),N_={class:"field"},V_={class:"control"},B_=t("label",{for:"switchHideSingles"},"Hide singles",-1),M_=t("p",{class:"help"}," If active, hides singles and albums with tracks that only appear in playlists. ",-1),F_={key:0,class:"field"},G_={class:"control"},j_=t("label",{for:"switchHideSpotify"},"Hide albums from Spotify",-1),K_=t("p",{class:"help"}," If active, hides albums that only appear in your Spotify library. ",-1),H_={class:"column"},W_=t("p",{class:"heading",style:{"margin-bottom":"24px"}},"Sort by",-1),Y_=t("p",{class:"title is-4"},"Albums",-1),Q_={class:"heading"};function J_(s,e,a,r,o,i){const n=h("tabs-music"),c=h("index-button-list"),p=h("dropdown-menu"),g=h("list-albums"),b=h("content-with-heading");return l(),_("div",L_,[u(n),u(b,null,{options:d(()=>[u(c,{index:i.albums.indexList},null,8,["index"]),t("div",O_,[t("div",D_,[z_,t("div",N_,[t("div",V_,[U(t("input",{id:"switchHideSingles","onUpdate:modelValue":e[0]||(e[0]=x=>i.hide_singles=x),type:"checkbox",name:"switchHideSingles",class:"switch"},null,512),[[J,i.hide_singles]]),B_]),M_]),i.spotify_enabled?(l(),_("div",F_,[t("div",G_,[U(t("input",{id:"switchHideSpotify","onUpdate:modelValue":e[1]||(e[1]=x=>i.hide_spotify=x),type:"checkbox",name:"switchHideSpotify",class:"switch"},null,512),[[J,i.hide_spotify]]),j_]),K_])):y("",!0)]),t("div",H_,[W_,u(p,{modelValue:i.selected_groupby_option_name,"onUpdate:modelValue":e[2]||(e[2]=x=>i.selected_groupby_option_name=x),options:i.groupby_option_names},null,8,["modelValue","options"])])])]),"heading-left":d(()=>[Y_,t("p",Q_,m(i.albums.count)+" Albums",1)]),"heading-right":d(()=>[]),content:d(()=>[u(g,{albums:i.albums},null,8,["albums"])]),_:1})])}var Z_=k(U_,[["render",J_]]);const X_={},tc={class:"hero is-light is-bold fd-content"},sc={class:"hero-body"},ec={class:"container"},ic={class:"columns is-centered"},oc={class:"column is-four-fifths"},ac={class:"columns",style:{"flex-direction":"row-reverse"}},nc={class:"column fd-has-cover"},lc={class:"column is-three-fifths has-text-centered-mobile",style:{margin:"auto 0"}},rc={class:"section fd-content"},dc={class:"container"},_c={class:"columns is-centered"},cc={class:"column is-four-fifths"},uc={style:{"margin-top":"16px"}};function mc(s,e){return l(),_("div",null,[t("section",tc,[t("div",sc,[t("div",ec,[t("div",ic,[t("div",oc,[t("div",ac,[t("div",nc,[O(s.$slots,"heading-right")]),t("div",lc,[O(s.$slots,"heading-left")])])])])])])]),t("section",rc,[t("div",dc,[t("div",_c,[t("div",cc,[O(s.$slots,"content"),t("div",uc,[O(s.$slots,"footer")])])])])])])}var cs=k(X_,[["render",mc]]);const ht={load:function(s){return Promise.all([f.library_album(s.params.album_id),f.library_album_tracks(s.params.album_id)])},set:function(s,e){s.album=e[0].data,s.tracks=e[1].data.items}},hc={name:"PageAlbum",components:{ContentWithHero:cs,ListTracks:V,ModalDialogAlbum:Ft,CoverArtwork:K},beforeRouteEnter(s,e,a){ht.load(s).then(r=>{a(o=>ht.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;ht.load(s).then(o=>{ht.set(r,o),a()})},data(){return{album:{},tracks:[],show_album_details_modal:!1}},methods:{open_artist:function(){this.show_details_modal=!1,this.$router.push({path:"/music/artists/"+this.album.artist_id})},play:function(){f.player_play_uri(this.album.uri,!0)}}},pc={class:"title is-5"},fc={class:"subtitle is-6 has-text-link has-text-weight-normal"},yc={class:"buttons fd-is-centered-mobile fd-has-margin-top"},gc=t("span",{class:"icon"},[t("i",{class:"mdi mdi-shuffle"})],-1),bc=t("span",null,"Shuffle",-1),kc=[gc,bc],wc=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),vc=[wc],$c={class:"image is-square fd-has-shadow fd-has-action"},xc={class:"heading is-7 has-text-centered-mobile fd-has-margin-top"};function Cc(s,e,a,r,o,i){const n=h("cover-artwork"),c=h("list-tracks"),p=h("modal-dialog-album"),g=h("content-with-hero");return l(),w(g,null,{"heading-left":d(()=>[t("h1",pc,m(o.album.name),1),t("h2",fc,[t("a",{class:"has-text-link",onClick:e[0]||(e[0]=(...b)=>i.open_artist&&i.open_artist(...b))},m(o.album.artist),1)]),t("div",yc,[t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...b)=>i.play&&i.play(...b))},kc),t("a",{class:"button is-small is-light is-rounded",onClick:e[2]||(e[2]=b=>o.show_album_details_modal=!0)},vc)])]),"heading-right":d(()=>[t("p",$c,[u(n,{artwork_url:o.album.artwork_url,artist:o.album.artist,album:o.album.name,onClick:e[3]||(e[3]=b=>o.show_album_details_modal=!0)},null,8,["artwork_url","artist","album"])])]),content:d(()=>[t("p",xc,m(o.album.track_count)+" tracks ",1),u(c,{tracks:o.tracks,uris:o.album.uri},null,8,["tracks","uris"]),u(p,{show:o.show_album_details_modal,album:o.album,onClose:e[4]||(e[4]=b=>o.show_album_details_modal=!1)},null,8,["show","album"])]),_:1})}var qc=k(hc,[["render",Cc]]);const Sc={name:"ModalDialogGenre",props:["show","genre"],emits:["close"],methods:{play:function(){this.$emit("close"),f.player_play_expression('genre is "'+this.genre.name+'" and media_kind is music',!1)},queue_add:function(){this.$emit("close"),f.queue_expression_add('genre is "'+this.genre.name+'" and media_kind is music')},queue_add_next:function(){this.$emit("close"),f.queue_expression_add_next('genre is "'+this.genre.name+'" and media_kind is music')},open_genre:function(){this.$emit("close"),this.$router.push({name:"Genre",params:{genre:this.genre.name}})}}},Pc={key:0,class:"modal is-active"},Ac={class:"modal-content fd-modal-card"},Tc={class:"card"},Rc={class:"card-content"},Ec={class:"title is-4"},Ic={class:"card-footer"},Uc=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-plus"})],-1),Lc=t("span",{class:"is-size-7"},"Add",-1),Oc=[Uc,Lc],Dc=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-play"})],-1),zc=t("span",{class:"is-size-7"},"Add Next",-1),Nc=[Dc,zc],Vc=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),Bc=t("span",{class:"is-size-7"},"Play",-1),Mc=[Vc,Bc];function Fc(s,e,a,r,o,i){return l(),_("div",null,[u(N,{name:"fade"},{default:d(()=>[a.show?(l(),_("div",Pc,[t("div",{class:"modal-background",onClick:e[0]||(e[0]=n=>s.$emit("close"))}),t("div",Ac,[t("div",Tc,[t("div",Rc,[t("p",Ec,[t("a",{class:"has-text-link",onClick:e[1]||(e[1]=(...n)=>i.open_genre&&i.open_genre(...n))},m(a.genre.name),1)])]),t("footer",Ic,[t("a",{class:"card-footer-item has-text-dark",onClick:e[2]||(e[2]=(...n)=>i.queue_add&&i.queue_add(...n))},Oc),t("a",{class:"card-footer-item has-text-dark",onClick:e[3]||(e[3]=(...n)=>i.queue_add_next&&i.queue_add_next(...n))},Nc),t("a",{class:"card-footer-item has-text-dark",onClick:e[4]||(e[4]=(...n)=>i.play&&i.play(...n))},Mc)])])]),t("button",{class:"modal-close is-large","aria-label":"close",onClick:e[5]||(e[5]=n=>s.$emit("close"))})])):y("",!0)]),_:1})])}var us=k(Sc,[["render",Fc]]);const Gc={name:"ListGenres",components:{ModalDialogGenre:us},props:["genres","media_kind","hide_group_title"],data(){return{show_details_modal:!1,selected_genre:{}}},computed:{media_kind_resolved:function(){return this.media_kind?this.media_kind:this.selected_genre.media_kind}},methods:{open_genre:function(s){this.$router.push({name:"Genre",params:{genre:s.name}})},open_dialog:function(s){this.selected_genre=s,this.show_details_modal=!0}}},jc={key:0,class:"mt-6 mb-5 py-2"},Kc={class:"media-content is-clipped"},Hc=["id"],Wc=["onClick"],Yc={class:"media-content fd-has-action is-clipped"},Qc={class:"title is-6"},Jc={class:"media-right"},Zc=["onClick"],Xc=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),tu=[Xc];function su(s,e,a,r,o,i){const n=h("modal-dialog-genre");return l(),_(T,null,[(l(!0),_(T,null,I(a.genres,c=>(l(),_(T,{key:c.itemId},[!c.isItem&&!a.hide_group_title?(l(),_("div",jc,[t("div",Kc,[t("span",{id:"index_"+c.groupKey,class:"tag is-info is-light is-small has-text-weight-bold"},m(c.groupKey),9,Hc)])])):c.isItem?(l(),_("div",{key:1,class:"media",onClick:p=>i.open_genre(c.item)},[t("div",Yc,[t("h1",Qc,m(c.item.name),1)]),t("div",Jc,[t("a",{onClick:D(p=>i.open_dialog(c.item),["prevent","stop"])},tu,8,Zc)])],8,Wc)):y("",!0)],64))),128)),(l(),w(Q,{to:"#app"},[u(n,{show:o.show_details_modal,genre:o.selected_genre,onClose:e[0]||(e[0]=c=>o.show_details_modal=!1)},null,8,["show","genre"])]))],64)}var eu=k(Gc,[["render",su]]);const pt={load:function(s){return f.library_genres()},set:function(s,e){s.genres=e.data,s.genres=new E(e.data),s.genres.group(zs("name_sort"))}},iu={name:"PageGenres",components:{ContentWithHeading:R,TabsMusic:G,IndexButtonList:H,ListGenres:eu},beforeRouteEnter(s,e,a){pt.load(s).then(r=>{a(o=>pt.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;pt.load(s).then(o=>{pt.set(r,o),a()})},data(){return{genres:new E}},computed:{},methods:{}},ou={class:"fd-page-with-tabs"},au=t("p",{class:"title is-4"},"Genres",-1),nu={class:"heading"};function lu(s,e,a,r,o,i){const n=h("tabs-music"),c=h("index-button-list"),p=h("list-genres"),g=h("content-with-heading");return l(),_("div",ou,[u(n),u(g,null,{options:d(()=>[u(c,{index:o.genres.indexList},null,8,["index"])]),"heading-left":d(()=>[au,t("p",nu,m(o.genres.total)+" genres",1)]),content:d(()=>[u(p,{genres:o.genres},null,8,["genres"])]),_:1})])}var ru=k(iu,[["render",lu]]);const ft={load:function(s){return f.library_genre(s.params.genre)},set:function(s,e){s.name=s.$route.params.genre,s.albums_list=new E(e.data.albums),s.albums_list.group(tt("name_sort"))}},du={name:"PageGenre",components:{ContentWithHeading:R,IndexButtonList:H,ListAlbums:j,ModalDialogGenre:us},beforeRouteEnter(s,e,a){ft.load(s).then(r=>{a(o=>ft.set(o,r))})},beforeRouteUpdate(s,e,a){if(!this.albums_list.isEmpty()){a();return}const r=this;ft.load(s).then(o=>{ft.set(r,o),a()})},data(){return{name:"",albums_list:new E,show_genre_details_modal:!1}},methods:{open_tracks:function(){this.show_details_modal=!1,this.$router.push({name:"GenreTracks",params:{genre:this.name}})},play:function(){f.player_play_expression('genre is "'+this.name+'" and media_kind is music',!0)}}},_u={class:"title is-4"},cu={class:"buttons is-centered"},uu=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),mu=[uu],hu=t("span",{class:"icon"},[t("i",{class:"mdi mdi-shuffle"})],-1),pu=t("span",null,"Shuffle",-1),fu=[hu,pu],yu={class:"heading has-text-centered-mobile"};function gu(s,e,a,r,o,i){const n=h("index-button-list"),c=h("list-albums"),p=h("modal-dialog-genre"),g=h("content-with-heading");return l(),_("div",null,[u(g,null,{options:d(()=>[u(n,{index:o.albums_list.indexList},null,8,["index"])]),"heading-left":d(()=>[t("p",_u,m(o.name),1)]),"heading-right":d(()=>[t("div",cu,[t("a",{class:"button is-small is-light is-rounded",onClick:e[0]||(e[0]=b=>o.show_genre_details_modal=!0)},mu),t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...b)=>i.play&&i.play(...b))},fu)])]),content:d(()=>[t("p",yu,[$(m(o.albums_list.total)+" albums | ",1),t("a",{class:"has-text-link",onClick:e[2]||(e[2]=(...b)=>i.open_tracks&&i.open_tracks(...b))},"tracks")]),u(c,{albums:o.albums_list},null,8,["albums"]),u(p,{show:o.show_genre_details_modal,genre:{name:o.name},onClose:e[3]||(e[3]=b=>o.show_genre_details_modal=!1)},null,8,["show","genre"])]),_:1})])}var bu=k(du,[["render",gu]]);const yt={load:function(s){return f.library_genre_tracks(s.params.genre)},set:function(s,e){s.genre=s.$route.params.genre,s.tracks=e.data.tracks}},ku={name:"PageGenreTracks",components:{ContentWithHeading:R,ListTracks:V,IndexButtonList:H,ModalDialogGenre:us},beforeRouteEnter(s,e,a){yt.load(s).then(r=>{a(o=>yt.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;yt.load(s).then(o=>{yt.set(r,o),a()})},data(){return{tracks:{items:[]},genre:"",show_genre_details_modal:!1}},computed:{index_list(){return[...new Set(this.tracks.items.map(s=>s.title_sort.charAt(0).toUpperCase()))]},expression(){return'genre is "'+this.genre+'" and media_kind is music'}},methods:{open_genre:function(){this.show_details_modal=!1,this.$router.push({name:"Genre",params:{genre:this.genre}})},play:function(){f.player_play_expression(this.expression,!0)}}},wu={class:"title is-4"},vu={class:"buttons is-centered"},$u=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),xu=[$u],Cu=t("span",{class:"icon"},[t("i",{class:"mdi mdi-shuffle"})],-1),qu=t("span",null,"Shuffle",-1),Su=[Cu,qu],Pu={class:"heading has-text-centered-mobile"};function Au(s,e,a,r,o,i){const n=h("index-button-list"),c=h("list-tracks"),p=h("modal-dialog-genre"),g=h("content-with-heading");return l(),_("div",null,[u(g,null,{options:d(()=>[u(n,{index:i.index_list},null,8,["index"])]),"heading-left":d(()=>[t("p",wu,m(o.genre),1)]),"heading-right":d(()=>[t("div",vu,[t("a",{class:"button is-small is-light is-rounded",onClick:e[0]||(e[0]=b=>o.show_genre_details_modal=!0)},xu),t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...b)=>i.play&&i.play(...b))},Su)])]),content:d(()=>[t("p",Pu,[t("a",{class:"has-text-link",onClick:e[2]||(e[2]=(...b)=>i.open_genre&&i.open_genre(...b))},"albums"),$(" | "+m(o.tracks.total)+" tracks ",1)]),u(c,{tracks:o.tracks.items,expression:i.expression},null,8,["tracks","expression"]),u(p,{show:o.show_genre_details_modal,genre:{name:o.genre},onClose:e[3]||(e[3]=b=>o.show_genre_details_modal=!1)},null,8,["show","genre"])]),_:1})])}var Tu=k(ku,[["render",Au]]);const gt={load:function(s){return Promise.all([f.library_artist(s.params.artist_id),f.library_artist_tracks(s.params.artist_id)])},set:function(s,e){s.artist=e[0].data,s.tracks=e[1].data.tracks}},Ru={name:"PageArtistTracks",components:{ContentWithHeading:R,ListTracks:V,IndexButtonList:H,ModalDialogArtist:Gt},beforeRouteEnter(s,e,a){gt.load(s).then(r=>{a(o=>gt.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;gt.load(s).then(o=>{gt.set(r,o),a()})},data(){return{artist:{},tracks:{items:[]},show_artist_details_modal:!1}},computed:{index_list(){return[...new Set(this.tracks.items.map(s=>s.title_sort.charAt(0).toUpperCase()))]},track_uris(){return this.tracks.items.map(s=>s.uri).join(",")}},methods:{open_artist:function(){this.show_details_modal=!1,this.$router.push({path:"/music/artists/"+this.artist.id})},play:function(){f.player_play_uri(this.tracks.items.map(s=>s.uri).join(","),!0)}}},Eu={class:"title is-4"},Iu={class:"buttons is-centered"},Uu=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),Lu=[Uu],Ou=t("span",{class:"icon"},[t("i",{class:"mdi mdi-shuffle"})],-1),Du=t("span",null,"Shuffle",-1),zu=[Ou,Du],Nu={class:"heading has-text-centered-mobile"};function Vu(s,e,a,r,o,i){const n=h("index-button-list"),c=h("list-tracks"),p=h("modal-dialog-artist"),g=h("content-with-heading");return l(),_("div",null,[u(g,null,{options:d(()=>[u(n,{index:i.index_list},null,8,["index"])]),"heading-left":d(()=>[t("p",Eu,m(o.artist.name),1)]),"heading-right":d(()=>[t("div",Iu,[t("a",{class:"button is-small is-light is-rounded",onClick:e[0]||(e[0]=b=>o.show_artist_details_modal=!0)},Lu),t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...b)=>i.play&&i.play(...b))},zu)])]),content:d(()=>[t("p",Nu,[t("a",{class:"has-text-link",onClick:e[2]||(e[2]=(...b)=>i.open_artist&&i.open_artist(...b))},m(o.artist.album_count)+" albums",1),$(" | "+m(o.artist.track_count)+" tracks ",1)]),u(c,{tracks:o.tracks.items,uris:i.track_uris},null,8,["tracks","uris"]),u(p,{show:o.show_artist_details_modal,artist:o.artist,onClose:e[3]||(e[3]=b=>o.show_artist_details_modal=!1)},null,8,["show","artist"])]),_:1})])}var Bu=k(Ru,[["render",Vu]]);const Mu={name:"ModalDialogComposer",props:["show","composer"],emits:["close"],methods:{play:function(){this.$emit("close"),f.player_play_expression('composer is "'+this.composer.name+'" and media_kind is music',!1)},queue_add:function(){this.$emit("close"),f.queue_expression_add('composer is "'+this.composer.name+'" and media_kind is music')},queue_add_next:function(){this.$emit("close"),f.queue_expression_add_next('composer is "'+this.composer.name+'" and media_kind is music')},open_albums:function(){this.$emit("close"),this.$router.push({name:"ComposerAlbums",params:{composer:this.composer.name}})},open_tracks:function(){this.show_details_modal=!1,this.$router.push({name:"ComposerTracks",params:{composer:this.composer.name}})}}},Fu={key:0,class:"modal is-active"},Gu={class:"modal-content fd-modal-card"},ju={class:"card"},Ku={class:"card-content"},Hu={class:"title is-4"},Wu=t("span",{class:"heading"},"Albums",-1),Yu=t("span",{class:"heading"},"Tracks",-1),Qu={class:"card-footer"},Ju=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-plus"})],-1),Zu=t("span",{class:"is-size-7"},"Add",-1),Xu=[Ju,Zu],tm=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-play"})],-1),sm=t("span",{class:"is-size-7"},"Add Next",-1),em=[tm,sm],im=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),om=t("span",{class:"is-size-7"},"Play",-1),am=[im,om];function nm(s,e,a,r,o,i){return l(),_("div",null,[u(N,{name:"fade"},{default:d(()=>[a.show?(l(),_("div",Fu,[t("div",{class:"modal-background",onClick:e[0]||(e[0]=n=>s.$emit("close"))}),t("div",Gu,[t("div",ju,[t("div",Ku,[t("p",Hu,[t("a",{class:"has-text-link",onClick:e[1]||(e[1]=(...n)=>i.open_albums&&i.open_albums(...n))},m(a.composer.name),1)]),t("p",null,[Wu,t("a",{class:"has-text-link is-6",onClick:e[2]||(e[2]=(...n)=>i.open_albums&&i.open_albums(...n))},m(a.composer.album_count),1)]),t("p",null,[Yu,t("a",{class:"has-text-link is-6",onClick:e[3]||(e[3]=(...n)=>i.open_tracks&&i.open_tracks(...n))},m(a.composer.track_count),1)])]),t("footer",Qu,[t("a",{class:"card-footer-item has-text-dark",onClick:e[4]||(e[4]=(...n)=>i.queue_add&&i.queue_add(...n))},Xu),t("a",{class:"card-footer-item has-text-dark",onClick:e[5]||(e[5]=(...n)=>i.queue_add_next&&i.queue_add_next(...n))},em),t("a",{class:"card-footer-item has-text-dark",onClick:e[6]||(e[6]=(...n)=>i.play&&i.play(...n))},am)])])]),t("button",{class:"modal-close is-large","aria-label":"close",onClick:e[7]||(e[7]=n=>s.$emit("close"))})])):y("",!0)]),_:1})])}var ms=k(Mu,[["render",nm]]);const lm={name:"ListComposers",components:{ModalDialogComposer:ms},props:["composers","media_kind","hide_group_title"],data(){return{show_details_modal:!1,selected_composer:{}}},computed:{media_kind_resolved:function(){return this.media_kind?this.media_kind:this.selected_composer.media_kind}},methods:{open_composer:function(s){this.selected_composer=s,this.$router.push({name:"ComposerTracks",params:{composer:s.name}})},open_dialog:function(s){this.selected_composer=s,this.show_details_modal=!0}}},rm={key:0,class:"mt-6 mb-5 py-2"},dm={class:"media-content is-clipped"},_m=["id"],cm=["onClick"],um={class:"media-content fd-has-action is-clipped"},mm={class:"title is-6"},hm={class:"media-right"},pm=["onClick"],fm=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),ym=[fm];function gm(s,e,a,r,o,i){const n=h("modal-dialog-composer");return l(),_(T,null,[(l(!0),_(T,null,I(a.composers,c=>(l(),_(T,{key:c.itemId},[!c.isItem&&!a.hide_group_title?(l(),_("div",rm,[t("div",dm,[t("span",{id:"index_"+c.groupKey,class:"tag is-info is-light is-small has-text-weight-bold"},m(c.groupKey),9,_m)])])):c.isItem?(l(),_("div",{key:1,class:"media",onClick:p=>i.open_composer(c.item)},[t("div",um,[t("h1",mm,m(c.item.name),1)]),t("div",hm,[t("a",{onClick:D(p=>i.open_dialog(c.item),["prevent","stop"])},ym,8,pm)])],8,cm)):y("",!0)],64))),128)),(l(),w(Q,{to:"#app"},[u(n,{show:o.show_details_modal,composer:o.selected_composer,media_kind:a.media_kind,onClose:e[0]||(e[0]=c=>o.show_details_modal=!1)},null,8,["show","composer","media_kind"])]))],64)}var Ns=k(lm,[["render",gm]]);const bt={load:function(s){return f.library_composers()},set:function(s,e){s.composers=new E(e.data),s.composers.group(zs("name_sort"))}},bm={name:"PageComposers",components:{ContentWithHeading:R,TabsMusic:G,IndexButtonList:H,ListComposers:Ns},beforeRouteEnter(s,e,a){bt.load(s).then(r=>{a(o=>bt.set(o,r))})},beforeRouteUpdate(s,e,a){if(!this.composers.isEmpty()){a();return}const r=this;bt.load(s).then(o=>{bt.set(r,o),a()})},data(){return{composers:new E}},methods:{}},km=t("p",{class:"title is-4"},"Composers",-1),wm={class:"heading"};function vm(s,e,a,r,o,i){const n=h("tabs-music"),c=h("index-button-list"),p=h("list-composers"),g=h("content-with-heading");return l(),_("div",null,[u(n),u(g,null,{options:d(()=>[u(c,{index:o.composers.indexList},null,8,["index"])]),"heading-left":d(()=>[km,t("p",wm,m(o.composers.total)+" composers",1)]),content:d(()=>[u(p,{composers:o.composers},null,8,["composers"])]),_:1})])}var $m=k(bm,[["render",vm]]);const kt={load:function(s){return f.library_composer(s.params.composer)},set:function(s,e){s.name=s.$route.params.composer,s.albums_list=new E(e.data.albums)}},xm={name:"PageComposer",components:{ContentWithHeading:R,ListAlbums:j,ModalDialogComposer:ms},beforeRouteEnter(s,e,a){kt.load(s).then(r=>{a(o=>kt.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;kt.load(s).then(o=>{kt.set(r,o),a()})},data(){return{name:"",albums_list:new E,show_composer_details_modal:!1}},methods:{open_tracks:function(){this.$router.push({name:"ComposerTracks",params:{composer:this.name}})},play:function(){f.player_play_expression('composer is "'+this.name+'" and media_kind is music',!0)}}},Cm={class:"title is-4"},qm={class:"buttons is-centered"},Sm=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),Pm=[Sm],Am=t("span",{class:"icon"},[t("i",{class:"mdi mdi-shuffle"})],-1),Tm=t("span",null,"Shuffle",-1),Rm=[Am,Tm],Em={class:"heading has-text-centered-mobile"};function Im(s,e,a,r,o,i){const n=h("list-albums"),c=h("modal-dialog-composer"),p=h("content-with-heading");return l(),_("div",null,[u(p,null,{"heading-left":d(()=>[t("p",Cm,m(o.name),1)]),"heading-right":d(()=>[t("div",qm,[t("a",{class:"button is-small is-light is-rounded",onClick:e[0]||(e[0]=g=>o.show_composer_details_modal=!0)},Pm),t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...g)=>i.play&&i.play(...g))},Rm)])]),content:d(()=>[t("p",Em,[$(m(o.albums_list.total)+" albums | ",1),t("a",{class:"has-text-link",onClick:e[2]||(e[2]=(...g)=>i.open_tracks&&i.open_tracks(...g))},"tracks")]),u(n,{albums:o.albums_list,hide_group_title:!0},null,8,["albums"]),u(c,{show:o.show_composer_details_modal,composer:{name:o.name},onClose:e[3]||(e[3]=g=>o.show_composer_details_modal=!1)},null,8,["show","composer"])]),_:1})])}var Um=k(xm,[["render",Im]]);const wt={load:function(s){return f.library_composer_tracks(s.params.composer)},set:function(s,e){s.composer=s.$route.params.composer,s.tracks=e.data.tracks}},Lm={name:"PageComposerTracks",components:{ContentWithHeading:R,ListTracks:V,ModalDialogComposer:ms},beforeRouteEnter(s,e,a){wt.load(s).then(r=>{a(o=>wt.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;wt.load(s).then(o=>{wt.set(r,o),a()})},data(){return{tracks:{items:[]},composer:"",show_composer_details_modal:!1}},computed:{play_expression(){return'composer is "'+this.composer+'" and media_kind is music'}},methods:{open_albums:function(){this.show_details_modal=!1,this.$router.push({name:"ComposerAlbums",params:{composer:this.composer}})},play:function(){f.player_play_expression(this.play_expression,!0)}}},Om={class:"title is-4"},Dm={class:"buttons is-centered"},zm=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),Nm=[zm],Vm=t("span",{class:"icon"},[t("i",{class:"mdi mdi-shuffle"})],-1),Bm=t("span",null,"Shuffle",-1),Mm=[Vm,Bm],Fm={class:"heading has-text-centered-mobile"};function Gm(s,e,a,r,o,i){const n=h("list-tracks"),c=h("modal-dialog-composer"),p=h("content-with-heading");return l(),_("div",null,[u(p,null,{"heading-left":d(()=>[t("p",Om,m(o.composer),1)]),"heading-right":d(()=>[t("div",Dm,[t("a",{class:"button is-small is-light is-rounded",onClick:e[0]||(e[0]=g=>o.show_composer_details_modal=!0)},Nm),t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...g)=>i.play&&i.play(...g))},Mm)])]),content:d(()=>[t("p",Fm,[t("a",{class:"has-text-link",onClick:e[2]||(e[2]=(...g)=>i.open_albums&&i.open_albums(...g))},"albums"),$(" | "+m(o.tracks.total)+" tracks ",1)]),u(n,{tracks:o.tracks.items,expression:i.play_expression},null,8,["tracks","expression"]),u(c,{show:o.show_composer_details_modal,composer:{name:o.composer},onClose:e[3]||(e[3]=g=>o.show_composer_details_modal=!1)},null,8,["show","composer"])]),_:1})])}var jm=k(Lm,[["render",Gm]]);const Km={name:"ModalDialogAddRss",props:["show"],emits:["close","podcast-added"],data(){return{url:"",loading:!1}},watch:{show(){this.show&&(this.loading=!1,setTimeout(()=>{this.$refs.url_field.focus()},10))}},methods:{add_stream:function(){this.loading=!0,f.library_add(this.url).then(()=>{this.$emit("close"),this.$emit("podcast-added"),this.url=""}).catch(()=>{this.loading=!1})}}},Hm={key:0,class:"modal is-active"},Wm={class:"modal-content fd-modal-card"},Ym={class:"card"},Qm={class:"card-content"},Jm=t("p",{class:"title is-4"},"Add Podcast RSS feed URL",-1),Zm={class:"field"},Xm={class:"control is-expanded has-icons-left"},th=["disabled"],sh=t("span",{class:"icon is-left"},[t("i",{class:"mdi mdi-rss"})],-1),eh=t("p",{class:"help"}," Adding a podcast includes creating an RSS playlist, that will allow OwnTone to manage the podcast subscription. ",-1),ih={key:0,class:"card-footer"},oh=t("a",{class:"card-footer-item button is-loading"},[t("span",{class:"icon"},[t("i",{class:"mdi mdi-web"})]),t("span",{class:"is-size-7"},"Processing ...")],-1),ah=[oh],nh={key:1,class:"card-footer"},lh=t("span",{class:"icon"},[t("i",{class:"mdi mdi-cancel"})],-1),rh=t("span",{class:"is-size-7"},"Cancel",-1),dh=[lh,rh],_h=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-plus"})],-1),ch=t("span",{class:"is-size-7"},"Add",-1),uh=[_h,ch];function mh(s,e,a,r,o,i){return l(),_("div",null,[u(N,{name:"fade"},{default:d(()=>[a.show?(l(),_("div",Hm,[t("div",{class:"modal-background",onClick:e[0]||(e[0]=n=>s.$emit("close"))}),t("div",Wm,[t("div",Ym,[t("div",Qm,[Jm,t("form",{onSubmit:e[2]||(e[2]=D((...n)=>i.add_stream&&i.add_stream(...n),["prevent"]))},[t("div",Zm,[t("p",Xm,[U(t("input",{ref:"url_field","onUpdate:modelValue":e[1]||(e[1]=n=>o.url=n),class:"input is-shadowless",type:"text",placeholder:"http://url-to-rss",disabled:o.loading},null,8,th),[[M,o.url]]),sh]),eh])],32)]),o.loading?(l(),_("footer",ih,ah)):(l(),_("footer",nh,[t("a",{class:"card-footer-item has-text-danger",onClick:e[3]||(e[3]=n=>s.$emit("close"))},dh),t("a",{class:"card-footer-item has-background-info has-text-white has-text-weight-bold",onClick:e[4]||(e[4]=(...n)=>i.add_stream&&i.add_stream(...n))},uh)]))])]),t("button",{class:"modal-close is-large","aria-label":"close",onClick:e[5]||(e[5]=n=>s.$emit("close"))})])):y("",!0)]),_:1})])}var hh=k(Km,[["render",mh]]);const vt={load:function(s){return Promise.all([f.library_albums("podcast"),f.library_podcasts_new_episodes()])},set:function(s,e){s.albums=new E(e[0].data),s.new_episodes=e[1].data.tracks}},ph={name:"PagePodcasts",components:{ContentWithHeading:R,ListTracks:V,ListAlbums:j,ModalDialogAddRss:hh},beforeRouteEnter(s,e,a){vt.load(s).then(r=>{a(o=>vt.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;vt.load(s).then(o=>{vt.set(r,o),a()})},data(){return{albums:[],new_episodes:{items:[]},show_url_modal:!1}},computed:{rss(){return this.$store.state.rss_count}},methods:{mark_all_played:function(){this.new_episodes.items.forEach(s=>{f.library_track_update(s.id,{play_count:"increment"})}),this.new_episodes.items={}},open_add_podcast_dialog:function(s){this.show_url_modal=!0},reload_new_episodes:function(){f.library_podcasts_new_episodes().then(({data:s})=>{this.new_episodes=s.tracks})},reload_podcasts:function(){f.library_albums("podcast").then(({data:s})=>{this.albums=new E(s),this.reload_new_episodes()})},update_rss:function(){this.$store.commit(ls,"rss"),this.$store.commit(ot,!0)}}},fh=t("p",{class:"title is-4"},"New episodes",-1),yh={class:"buttons is-centered"},gh=t("span",{class:"icon"},[t("i",{class:"mdi mdi-pencil"})],-1),bh=t("span",null,"Mark All Played",-1),kh=[gh,bh],wh=t("p",{class:"title is-4"},"Podcasts",-1),vh={class:"heading"},$h={class:"buttons is-centered"},xh=t("span",{class:"icon"},[t("i",{class:"mdi mdi-refresh"})],-1),Ch=t("span",null,"Update",-1),qh=[xh,Ch],Sh=t("span",{class:"icon"},[t("i",{class:"mdi mdi-rss"})],-1),Ph=t("span",null,"Add Podcast",-1),Ah=[Sh,Ph];function Th(s,e,a,r,o,i){const n=h("list-tracks"),c=h("content-with-heading"),p=h("list-albums"),g=h("modal-dialog-add-rss");return l(),_("div",null,[o.new_episodes.items.length>0?(l(),w(c,{key:0},{"heading-left":d(()=>[fh]),"heading-right":d(()=>[t("div",yh,[t("a",{class:"button is-small",onClick:e[0]||(e[0]=(...b)=>i.mark_all_played&&i.mark_all_played(...b))},kh)])]),content:d(()=>[u(n,{tracks:o.new_episodes.items,show_progress:!0,onPlayCountChanged:i.reload_new_episodes},null,8,["tracks","onPlayCountChanged"])]),_:1})):y("",!0),u(c,null,{"heading-left":d(()=>[wh,t("p",vh,m(o.albums.total)+" podcasts",1)]),"heading-right":d(()=>[t("div",$h,[i.rss.tracks>0?(l(),_("a",{key:0,class:"button is-small",onClick:e[1]||(e[1]=(...b)=>i.update_rss&&i.update_rss(...b))},qh)):y("",!0),t("a",{class:"button is-small",onClick:e[2]||(e[2]=(...b)=>i.open_add_podcast_dialog&&i.open_add_podcast_dialog(...b))},Ah)])]),content:d(()=>[u(p,{albums:o.albums,onPlayCountChanged:e[3]||(e[3]=b=>i.reload_new_episodes()),onPodcastDeleted:e[4]||(e[4]=b=>i.reload_podcasts())},null,8,["albums"]),u(g,{show:o.show_url_modal,onClose:e[5]||(e[5]=b=>o.show_url_modal=!1),onPodcastAdded:e[6]||(e[6]=b=>i.reload_podcasts())},null,8,["show"])]),_:1})])}var Rh=k(ph,[["render",Th]]);const $t={load:function(s){return Promise.all([f.library_album(s.params.album_id),f.library_podcast_episodes(s.params.album_id)])},set:function(s,e){s.album=e[0].data,s.tracks=e[1].data.tracks.items}},Eh={name:"PagePodcast",components:{ContentWithHeading:R,ListTracks:V,ModalDialogAlbum:Ft,ModalDialog:rs},beforeRouteEnter(s,e,a){$t.load(s).then(r=>{a(o=>$t.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;$t.load(s).then(o=>{$t.set(r,o),a()})},data(){return{album:{},tracks:[],show_album_details_modal:!1,show_remove_podcast_modal:!1,rss_playlist_to_remove:{}}},computed:{new_tracks(){return this.tracks.filter(s=>s.play_count===0).length}},methods:{play:function(){f.player_play_uri(this.album.uri,!1)},open_remove_podcast_dialog:function(){this.show_album_details_modal=!1,f.library_track_playlists(this.tracks[0].id).then(({data:s})=>{const e=s.items.filter(a=>a.type==="rss");if(e.length!==1){this.$store.dispatch("add_notification",{text:"Podcast cannot be removed. Probably it was not added as an RSS playlist.",type:"danger"});return}this.rss_playlist_to_remove=e[0],this.show_remove_podcast_modal=!0})},remove_podcast:function(){this.show_remove_podcast_modal=!1,f.library_playlist_delete(this.rss_playlist_to_remove.id).then(()=>{this.$router.replace({path:"/podcasts"})})},reload_tracks:function(){f.library_podcast_episodes(this.album.id).then(({data:s})=>{this.tracks=s.tracks.items})}}},Ih={class:"title is-4"},Uh={class:"buttons is-centered"},Lh=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),Oh=[Lh],Dh=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),zh=t("span",null,"Play",-1),Nh=[Dh,zh],Vh={class:"heading has-text-centered-mobile"},Bh=t("p",null,"Permanently remove this podcast from your library?",-1),Mh={class:"is-size-7"},Fh=$(" (This will also remove the RSS playlist "),Gh=$(".) ");function jh(s,e,a,r,o,i){const n=h("list-tracks"),c=h("modal-dialog-album"),p=h("modal-dialog"),g=h("content-with-heading");return l(),w(g,null,{"heading-left":d(()=>[t("div",Ih,m(o.album.name),1)]),"heading-right":d(()=>[t("div",Uh,[t("a",{class:"button is-small is-light is-rounded",onClick:e[0]||(e[0]=b=>o.show_album_details_modal=!0)},Oh),t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...b)=>i.play&&i.play(...b))},Nh)])]),content:d(()=>[t("p",Vh,m(o.album.track_count)+" tracks ",1),u(n,{tracks:o.tracks,show_progress:!0,onPlayCountChanged:i.reload_tracks},null,8,["tracks","onPlayCountChanged"]),u(c,{show:o.show_album_details_modal,album:o.album,media_kind:"podcast",new_tracks:i.new_tracks,onClose:e[2]||(e[2]=b=>o.show_album_details_modal=!1),onPlayCountChanged:i.reload_tracks,onRemovePodcast:i.open_remove_podcast_dialog},null,8,["show","album","new_tracks","onPlayCountChanged","onRemovePodcast"]),u(p,{show:o.show_remove_podcast_modal,title:"Remove podcast",delete_action:"Remove",onClose:e[3]||(e[3]=b=>o.show_remove_podcast_modal=!1),onDelete:i.remove_podcast},{"modal-content":d(()=>[Bh,t("p",Mh,[Fh,t("b",null,m(o.rss_playlist_to_remove.name),1),Gh])]),_:1},8,["show","onDelete"])]),_:1})}var Kh=k(Eh,[["render",jh]]);const Hh={name:"TabsAudiobooks"},Wh={class:"section fd-tabs-section"},Yh={class:"container"},Qh={class:"columns is-centered"},Jh={class:"column is-four-fifths"},Zh={class:"tabs is-centered is-small"},Xh=["onClick","onKeypress"],tp=t("span",{class:"icon is-small"},[t("i",{class:"mdi mdi-artist"})],-1),sp=t("span",{class:""},"Authors",-1),ep=[tp,sp],ip=["onClick","onKeypress"],op=t("span",{class:"icon is-small"},[t("i",{class:"mdi mdi-album"})],-1),ap=t("span",{class:""},"Audiobooks",-1),np=[op,ap];function lp(s,e,a,r,o,i){const n=h("router-link");return l(),_("section",Wh,[t("div",Yh,[t("div",Qh,[t("div",Jh,[t("div",Zh,[t("ul",null,[u(n,{to:"/audiobooks/artists",custom:""},{default:d(({navigate:c,isActive:p})=>[t("li",{class:C({"is-active":p})},[t("a",{onClick:c,onKeypress:B(c,["enter"])},ep,40,Xh)],2)]),_:1}),u(n,{to:"/audiobooks/albums",custom:""},{default:d(({navigate:c,isActive:p})=>[t("li",{class:C({"is-active":p})},[t("a",{onClick:c,onKeypress:B(c,["enter"])},np,40,ip)],2)]),_:1})])])])])])])}var Vs=k(Hh,[["render",lp]]);const xt={load:function(s){return f.library_albums("audiobook")},set:function(s,e){s.albums=new E(e.data),s.albums.group(tt("name_sort"))}},rp={name:"PageAudiobooksAlbums",components:{TabsAudiobooks:Vs,ContentWithHeading:R,IndexButtonList:H,ListAlbums:j},beforeRouteEnter(s,e,a){xt.load(s).then(r=>{a(o=>xt.set(o,r))})},beforeRouteUpdate(s,e,a){if(!this.albums.isEmpty()){a();return}const r=this;xt.load(s).then(o=>{xt.set(r,o),a()})},data(){return{albums:new E}},methods:{}},dp={class:"fd-page-with-tabs"},_p=t("p",{class:"title is-4"},"Audiobooks",-1),cp={class:"heading"};function up(s,e,a,r,o,i){const n=h("tabs-audiobooks"),c=h("index-button-list"),p=h("list-albums"),g=h("content-with-heading");return l(),_("div",dp,[u(n),u(g,null,{options:d(()=>[u(c,{index:o.albums.indexList},null,8,["index"])]),"heading-left":d(()=>[_p,t("p",cp,m(o.albums.count)+" Audiobooks",1)]),content:d(()=>[u(p,{albums:o.albums},null,8,["albums"])]),_:1})])}var mp=k(rp,[["render",up]]);const Ct={load:function(s){return f.library_artists("audiobook")},set:function(s,e){s.artists_list=new E(e.data)}},hp={name:"PageAudiobooksArtists",components:{ContentWithHeading:R,TabsAudiobooks:Vs,IndexButtonList:H,ListArtists:ds},beforeRouteEnter(s,e,a){Ct.load(s).then(r=>{a(o=>Ct.set(o,r))})},beforeRouteUpdate(s,e,a){if(!this.artists_list.isEmpty()){a();return}const r=this;Ct.load(s).then(o=>{Ct.set(r,o),a()})},data(){return{artists_list:new E}},computed:{artists(){return this.artists_list?(this.artists_list.group(tt("name_sort")),this.artists_list):[]}},methods:{}},pp={class:"fd-page-with-tabs"},fp=t("p",{class:"title is-4"},"Authors",-1),yp={class:"heading"};function gp(s,e,a,r,o,i){const n=h("tabs-audiobooks"),c=h("index-button-list"),p=h("list-artists"),g=h("content-with-heading");return l(),_("div",pp,[u(n),u(g,null,{options:d(()=>[u(c,{index:i.artists.indexList},null,8,["index"])]),"heading-left":d(()=>[fp,t("p",yp,m(i.artists.count)+" Authors",1)]),"heading-right":d(()=>[]),content:d(()=>[u(p,{artists:i.artists},null,8,["artists"])]),_:1})])}var bp=k(hp,[["render",gp]]);const qt={load:function(s){return Promise.all([f.library_artist(s.params.artist_id),f.library_artist_albums(s.params.artist_id)])},set:function(s,e){s.artist=e[0].data,s.albums=new E(e[1].data)}},kp={name:"PageAudiobooksArtist",components:{ContentWithHeading:R,ListAlbums:j,ModalDialogArtist:Gt},beforeRouteEnter(s,e,a){qt.load(s).then(r=>{a(o=>qt.set(o,r))})},beforeRouteUpdate(s,e,a){if(!this.albums.isEmpty()){a();return}const r=this;qt.load(s).then(o=>{qt.set(r,o),a()})},data(){return{artist:{},albums:new E,show_artist_details_modal:!1}},methods:{play:function(){f.player_play_uri(this.albums.items.map(s=>s.uri).join(","),!1)}}},wp={class:"title is-4"},vp={class:"buttons is-centered"},$p=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),xp=[$p],Cp=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),qp=t("span",null,"Shuffle",-1),Sp=[Cp,qp],Pp={class:"heading has-text-centered-mobile"};function Ap(s,e,a,r,o,i){const n=h("list-albums"),c=h("modal-dialog-artist"),p=h("content-with-heading");return l(),w(p,null,{"heading-left":d(()=>[t("p",wp,m(o.artist.name),1)]),"heading-right":d(()=>[t("div",vp,[t("a",{class:"button is-small is-light is-rounded",onClick:e[0]||(e[0]=g=>o.show_artist_details_modal=!0)},xp),t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...g)=>i.play&&i.play(...g))},Sp)])]),content:d(()=>[t("p",Pp,m(o.artist.album_count)+" albums ",1),u(n,{albums:o.albums},null,8,["albums"]),u(c,{show:o.show_artist_details_modal,artist:o.artist,onClose:e[2]||(e[2]=g=>o.show_artist_details_modal=!1)},null,8,["show","artist"])]),_:1})}var Tp=k(kp,[["render",Ap]]);const St={load:function(s){return Promise.all([f.library_album(s.params.album_id),f.library_album_tracks(s.params.album_id)])},set:function(s,e){s.album=e[0].data,s.tracks=e[1].data.items}},Rp={name:"PageAudiobooksAlbum",components:{ContentWithHero:cs,ListTracks:V,ModalDialogAlbum:Ft,CoverArtwork:K},beforeRouteEnter(s,e,a){St.load(s).then(r=>{a(o=>St.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;St.load(s).then(o=>{St.set(r,o),a()})},data(){return{album:{},tracks:[],show_album_details_modal:!1}},methods:{open_artist:function(){this.show_details_modal=!1,this.$router.push({path:"/audiobooks/artists/"+this.album.artist_id})},play:function(){f.player_play_uri(this.album.uri,!1)},play_track:function(s){f.player_play_uri(this.album.uri,!1,s)},open_dialog:function(s){this.selected_track=s,this.show_details_modal=!0}}},Ep={class:"title is-5"},Ip={class:"subtitle is-6 has-text-link has-text-weight-normal"},Up={class:"buttons fd-is-centered-mobile fd-has-margin-top"},Lp=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),Op=t("span",null,"Play",-1),Dp=[Lp,Op],zp=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),Np=[zp],Vp={class:"image is-square fd-has-shadow fd-has-action"},Bp={class:"heading is-7 has-text-centered-mobile fd-has-margin-top"};function Mp(s,e,a,r,o,i){const n=h("cover-artwork"),c=h("list-tracks"),p=h("modal-dialog-album"),g=h("content-with-hero");return l(),w(g,null,{"heading-left":d(()=>[t("h1",Ep,m(o.album.name),1),t("h2",Ip,[t("a",{class:"has-text-link",onClick:e[0]||(e[0]=(...b)=>i.open_artist&&i.open_artist(...b))},m(o.album.artist),1)]),t("div",Up,[t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...b)=>i.play&&i.play(...b))},Dp),t("a",{class:"button is-small is-light is-rounded",onClick:e[2]||(e[2]=b=>o.show_album_details_modal=!0)},Np)])]),"heading-right":d(()=>[t("p",Vp,[u(n,{artwork_url:o.album.artwork_url,artist:o.album.artist,album:o.album.name,onClick:e[3]||(e[3]=b=>o.show_album_details_modal=!0)},null,8,["artwork_url","artist","album"])])]),content:d(()=>[t("p",Bp,m(o.album.track_count)+" tracks ",1),u(c,{tracks:o.tracks,uris:o.album.uri},null,8,["tracks","uris"]),u(p,{show:o.show_album_details_modal,album:o.album,media_kind:"audiobook",onClose:e[4]||(e[4]=b=>o.show_album_details_modal=!1)},null,8,["show","album"])]),_:1})}var Fp=k(Rp,[["render",Mp]]);const Gp={name:"ModalDialogPlaylist",props:["show","playlist","uris"],emits:["close"],methods:{play:function(){this.$emit("close"),f.player_play_uri(this.uris?this.uris:this.playlist.uri,!1)},queue_add:function(){this.$emit("close"),f.queue_add(this.uris?this.uris:this.playlist.uri)},queue_add_next:function(){this.$emit("close"),f.queue_add_next(this.uris?this.uris:this.playlist.uri)},open_playlist:function(){this.$emit("close"),this.$router.push({path:"/playlists/"+this.playlist.id+"/tracks"})}}},jp={key:0,class:"modal is-active"},Kp={class:"modal-content fd-modal-card"},Hp={class:"card"},Wp={class:"card-content"},Yp={class:"title is-4"},Qp={class:"content is-small"},Jp=t("span",{class:"heading"},"Path",-1),Zp={class:"title is-6"},Xp=t("span",{class:"heading"},"Type",-1),tf={class:"title is-6"},sf={key:0,class:"card-footer"},ef=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-plus"})],-1),of=t("span",{class:"is-size-7"},"Add",-1),af=[ef,of],nf=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-play"})],-1),lf=t("span",{class:"is-size-7"},"Add Next",-1),rf=[nf,lf],df=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),_f=t("span",{class:"is-size-7"},"Play",-1),cf=[df,_f];function uf(s,e,a,r,o,i){return l(),_("div",null,[u(N,{name:"fade"},{default:d(()=>[a.show?(l(),_("div",jp,[t("div",{class:"modal-background",onClick:e[0]||(e[0]=n=>s.$emit("close"))}),t("div",Kp,[t("div",Hp,[t("div",Wp,[t("p",Yp,[t("a",{class:"has-text-link",onClick:e[1]||(e[1]=(...n)=>i.open_playlist&&i.open_playlist(...n))},m(a.playlist.name),1)]),t("div",Qp,[t("p",null,[Jp,t("span",Zp,m(a.playlist.path),1)]),t("p",null,[Xp,t("span",tf,m(a.playlist.type),1)])])]),a.playlist.folder?y("",!0):(l(),_("footer",sf,[t("a",{class:"card-footer-item has-text-dark",onClick:e[2]||(e[2]=(...n)=>i.queue_add&&i.queue_add(...n))},af),t("a",{class:"card-footer-item has-text-dark",onClick:e[3]||(e[3]=(...n)=>i.queue_add_next&&i.queue_add_next(...n))},rf),t("a",{class:"card-footer-item has-text-dark",onClick:e[4]||(e[4]=(...n)=>i.play&&i.play(...n))},cf)]))])]),t("button",{class:"modal-close is-large","aria-label":"close",onClick:e[5]||(e[5]=n=>s.$emit("close"))})])):y("",!0)]),_:1})])}var Bs=k(Gp,[["render",uf]]);const mf={name:"ListPlaylists",components:{ModalDialogPlaylist:Bs},props:["playlists"],data(){return{show_details_modal:!1,selected_playlist:{}}},methods:{open_playlist:function(s){s.type!=="folder"?this.$router.push({path:"/playlists/"+s.id+"/tracks"}):this.$router.push({path:"/playlists/"+s.id})},open_dialog:function(s){this.selected_playlist=s,this.show_details_modal=!0}}},hf=["playlist","onClick"],pf={class:"media-left fd-has-action"},ff={class:"icon"},yf={class:"media-content fd-has-action is-clipped"},gf={class:"title is-6"},bf={class:"media-right"},kf=["onClick"],wf=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),vf=[wf];function $f(s,e,a,r,o,i){const n=h("modal-dialog-playlist");return l(),_(T,null,[(l(!0),_(T,null,I(a.playlists,c=>(l(),_("div",{key:c.id,class:"media",playlist:c,onClick:p=>i.open_playlist(c)},[t("figure",pf,[t("span",ff,[t("i",{class:C(["mdi",{"mdi-library-music":c.type!=="folder","mdi-rss":c.type==="rss","mdi-folder":c.type==="folder"}])},null,2)])]),t("div",yf,[t("h1",gf,m(c.name),1)]),t("div",bf,[t("a",{onClick:D(p=>i.open_dialog(c),["prevent","stop"])},vf,8,kf)])],8,hf))),128)),(l(),w(Q,{to:"#app"},[u(n,{show:o.show_details_modal,playlist:o.selected_playlist,onClose:e[0]||(e[0]=c=>o.show_details_modal=!1)},null,8,["show","playlist"])]))],64)}var hs=k(mf,[["render",$f]]);const Pt={load:function(s){return Promise.all([f.library_playlist(s.params.playlist_id),f.library_playlist_folder(s.params.playlist_id)])},set:function(s,e){s.playlist=e[0].data,s.playlists=e[1].data}},xf={name:"PagePlaylists",components:{ContentWithHeading:R,ListPlaylists:hs},beforeRouteEnter(s,e,a){Pt.load(s).then(r=>{a(o=>Pt.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;Pt.load(s).then(o=>{Pt.set(r,o),a()})},data(){return{playlist:{},playlists:{}}}},Cf={class:"title is-4"},qf={class:"heading"};function Sf(s,e,a,r,o,i){const n=h("list-playlists"),c=h("content-with-heading");return l(),w(c,null,{"heading-left":d(()=>[t("p",Cf,m(o.playlist.name),1),t("p",qf,m(o.playlists.total)+" playlists",1)]),content:d(()=>[u(n,{playlists:o.playlists.items},null,8,["playlists"])]),_:1})}var Pf=k(xf,[["render",Sf]]);const At={load:function(s){return Promise.all([f.library_playlist(s.params.playlist_id),f.library_playlist_tracks(s.params.playlist_id)])},set:function(s,e){s.playlist=e[0].data,s.tracks=e[1].data.items}},Af={name:"PagePlaylist",components:{ContentWithHeading:R,ListTracks:V,ModalDialogPlaylist:Bs},beforeRouteEnter(s,e,a){At.load(s).then(r=>{a(o=>At.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;At.load(s).then(o=>{At.set(r,o),a()})},data(){return{playlist:{},tracks:[],show_playlist_details_modal:!1}},computed:{uris(){return this.playlist.random?this.tracks.map(s=>s.uri).join(","):this.playlist.uri}},methods:{play:function(){f.player_play_uri(this.uris,!0)}}},Tf={class:"title is-4"},Rf={class:"buttons is-centered"},Ef=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),If=[Ef],Uf=t("span",{class:"icon"},[t("i",{class:"mdi mdi-shuffle"})],-1),Lf=t("span",null,"Shuffle",-1),Of=[Uf,Lf],Df={class:"heading has-text-centered-mobile"};function zf(s,e,a,r,o,i){const n=h("list-tracks"),c=h("modal-dialog-playlist"),p=h("content-with-heading");return l(),w(p,null,{"heading-left":d(()=>[t("div",Tf,m(o.playlist.name),1)]),"heading-right":d(()=>[t("div",Rf,[t("a",{class:"button is-small is-light is-rounded",onClick:e[0]||(e[0]=g=>o.show_playlist_details_modal=!0)},If),t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...g)=>i.play&&i.play(...g))},Of)])]),content:d(()=>[t("p",Df,m(o.tracks.length)+" tracks",1),u(n,{tracks:o.tracks,uris:i.uris},null,8,["tracks","uris"]),u(c,{show:o.show_playlist_details_modal,playlist:o.playlist,uris:i.uris,onClose:e[2]||(e[2]=g=>o.show_playlist_details_modal=!1)},null,8,["show","playlist","uris"])]),_:1})}var Nf=k(Af,[["render",zf]]);const Vf={name:"ModalDialogDirectory",props:["show","directory"],emits:["close"],methods:{play:function(){this.$emit("close"),f.player_play_expression('path starts with "'+this.directory.path+'" order by path asc',!1)},queue_add:function(){this.$emit("close"),f.queue_expression_add('path starts with "'+this.directory.path+'" order by path asc')},queue_add_next:function(){this.$emit("close"),f.queue_expression_add_next('path starts with "'+this.directory.path+'" order by path asc')}}},Bf={key:0,class:"modal is-active"},Mf={class:"modal-content fd-modal-card"},Ff={class:"card"},Gf={class:"card-content"},jf={class:"title is-4"},Kf={class:"card-footer"},Hf=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-plus"})],-1),Wf=t("span",{class:"is-size-7"},"Add",-1),Yf=[Hf,Wf],Qf=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-play"})],-1),Jf=t("span",{class:"is-size-7"},"Add Next",-1),Zf=[Qf,Jf],Xf=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),ty=t("span",{class:"is-size-7"},"Play",-1),sy=[Xf,ty];function ey(s,e,a,r,o,i){return l(),_("div",null,[u(N,{name:"fade"},{default:d(()=>[a.show?(l(),_("div",Bf,[t("div",{class:"modal-background",onClick:e[0]||(e[0]=n=>s.$emit("close"))}),t("div",Mf,[t("div",Ff,[t("div",Gf,[t("p",jf,m(a.directory.path),1)]),t("footer",Kf,[t("a",{class:"card-footer-item has-text-dark",onClick:e[1]||(e[1]=(...n)=>i.queue_add&&i.queue_add(...n))},Yf),t("a",{class:"card-footer-item has-text-dark",onClick:e[2]||(e[2]=(...n)=>i.queue_add_next&&i.queue_add_next(...n))},Zf),t("a",{class:"card-footer-item has-text-dark",onClick:e[3]||(e[3]=(...n)=>i.play&&i.play(...n))},sy)])])]),t("button",{class:"modal-close is-large","aria-label":"close",onClick:e[4]||(e[4]=n=>s.$emit("close"))})])):y("",!0)]),_:1})])}var iy=k(Vf,[["render",ey]]);const oy={name:"ListDirectories",components:{ModalDialogDirectory:iy},props:["directories"],data(){return{show_details_modal:!1,selected_directory:{}}},computed:{current_directory(){return this.$route.query&&this.$route.query.directory?this.$route.query.directory:"/"}},methods:{open_parent_directory:function(){this.current_directory.slice(0,this.current_directory.lastIndexOf("/"))===""||this.$store.state.config.directories.includes(this.current_directory)?this.$router.push({path:"/files"}):this.$router.push({path:"/files",query:{directory:this.current_directory.slice(0,this.current_directory.lastIndexOf("/"))}})},open_directory:function(s){this.$router.push({path:"/files",query:{directory:s.path}})},open_dialog:function(s){this.selected_directory=s,this.show_details_modal=!0}}},ay=bs('..
',2),ny={class:"media-right"},ly=["onClick"],ry=t("figure",{class:"media-left fd-has-action"},[t("span",{class:"icon"},[t("i",{class:"mdi mdi-folder"})])],-1),dy={class:"media-content fd-has-action is-clipped"},_y={class:"title is-6"},cy={class:"subtitle is-7 has-text-grey-light"},uy={class:"media-right"},my=["onClick"],hy=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),py=[hy];function fy(s,e,a,r,o,i){const n=h("modal-dialog-directory");return l(),_(T,null,[s.$route.query.directory?(l(),_("div",{key:0,class:"media",onClick:e[0]||(e[0]=c=>i.open_parent_directory())},[ay,t("div",ny,[O(s.$slots,"actions")])])):y("",!0),(l(!0),_(T,null,I(a.directories,c=>(l(),_("div",{key:c.path,class:"media",onClick:p=>i.open_directory(c)},[ry,t("div",dy,[t("h1",_y,m(c.path.substring(c.path.lastIndexOf("/")+1)),1),t("h2",cy,m(c.path),1)]),t("div",uy,[t("a",{onClick:D(p=>i.open_dialog(c),["prevent","stop"])},py,8,my)])],8,ly))),128)),(l(),w(Q,{to:"#app"},[u(n,{show:o.show_details_modal,directory:o.selected_directory,onClose:e[1]||(e[1]=c=>o.show_details_modal=!1)},null,8,["show","directory"])]))],64)}var yy=k(oy,[["render",fy]]);const Tt={load:function(s){return s.query.directory?f.library_files(s.query.directory):Promise.resolve()},set:function(s,e){e?s.files=e.data:s.files={directories:s.$store.state.config.directories.map(a=>({path:a})),tracks:{items:[]},playlists:{items:[]}}}},gy={name:"PageFiles",components:{ContentWithHeading:R,ListDirectories:yy,ListPlaylists:hs,ListTracks:V},beforeRouteEnter(s,e,a){Tt.load(s).then(r=>{a(o=>Tt.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;Tt.load(s).then(o=>{Tt.set(r,o),a()})},data(){return{files:{directories:[],tracks:{items:[]},playlists:{items:[]}}}},computed:{current_directory(){return this.$route.query&&this.$route.query.directory?this.$route.query.directory:"/"},play_expression(){return'path starts with "'+this.current_directory+'" order by path asc'}},methods:{play:function(){f.player_play_expression(this.play_expression,!1)}}},by=t("p",{class:"title is-4"},"Files",-1),ky={class:"title is-7 has-text-grey"},wy={class:"buttons is-centered"},vy=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),$y=[vy],xy=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),Cy=t("span",null,"Play",-1),qy=[xy,Cy];function Sy(s,e,a,r,o,i){const n=h("list-directories"),c=h("list-playlists"),p=h("list-tracks"),g=h("modal-dialog-directory"),b=h("content-with-heading");return l(),_("div",null,[u(b,null,{"heading-left":d(()=>[by,t("p",ky,m(i.current_directory),1)]),"heading-right":d(()=>[t("div",wy,[t("a",{class:"button is-small is-light is-rounded",onClick:e[0]||(e[0]=x=>s.open_directory_dialog({path:i.current_directory}))},$y),t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...x)=>i.play&&i.play(...x))},qy)])]),content:d(()=>[u(n,{directories:o.files.directories},null,8,["directories"]),u(c,{playlists:o.files.playlists.items},null,8,["playlists"]),u(p,{tracks:o.files.tracks.items,expression:i.play_expression,show_icon:!0},null,8,["tracks","expression"]),u(g,{show:s.show_directory_details_modal,directory:s.selected_directory,onClose:e[2]||(e[2]=x=>s.show_directory_details_modal=!1)},null,8,["show","directory"])]),_:1})])}var Py=k(gy,[["render",Sy]]);const Rt={load:function(s){return f.library_radio_streams()},set:function(s,e){s.tracks=e.data.tracks}},Ay={name:"PageRadioStreams",components:{ContentWithHeading:R,ListTracks:V},beforeRouteEnter(s,e,a){Rt.load(s).then(r=>{a(o=>Rt.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;Rt.load(s).then(o=>{Rt.set(r,o),a()})},data(){return{tracks:{items:[]}}}},Ty=t("p",{class:"title is-4"},"Radio",-1),Ry={class:"heading has-text-centered-mobile"};function Ey(s,e,a,r,o,i){const n=h("list-tracks"),c=h("content-with-heading");return l(),_("div",null,[u(c,null,{"heading-left":d(()=>[Ty]),content:d(()=>[t("p",Ry,m(o.tracks.total)+" tracks ",1),u(n,{tracks:o.tracks.items},null,8,["tracks"])]),_:1})])}var Iy=k(Ay,[["render",Ey]]);const Uy={name:"ContentText"},Ly={class:"section fd-content py-3"},Oy={class:"container"},Dy={class:"columns is-centered"},zy={class:"column is-four-fifths"};function Ny(s,e,a,r,o,i){return l(),_("section",Ly,[t("div",Oy,[t("div",Dy,[t("div",zy,[O(s.$slots,"content")])])])])}var Ms=k(Uy,[["render",Ny]]);const Vy={name:"TabsSearch",props:["query"],computed:{spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},route_query:function(){return this.query?{type:"track,artist,album,playlist,audiobook,podcast",query:this.query,limit:3,offset:0}:null}},methods:{search_library:function(){this.$store.commit(Yt,"/search/library"),this.$router.push({path:this.$store.state.search_path,query:this.route_query})},search_spotify:function(){this.$store.commit(Yt,"/search/spotify"),this.$router.push({path:this.$store.state.search_path,query:this.route_query})}}},By={key:0,class:"section fd-remove-padding-bottom"},My={class:"container"},Fy={class:"columns is-centered"},Gy={class:"column is-four-fifths"},jy={class:"tabs is-centered is-small is-toggle is-toggle-rounded"},Ky=t("span",{class:"icon is-small"},[t("i",{class:"mdi mdi-library-books"})],-1),Hy=t("span",{class:""},"Library",-1),Wy=[Ky,Hy],Yy=t("span",{class:"icon is-small"},[t("i",{class:"mdi mdi-spotify"})],-1),Qy=t("span",{class:""},"Spotify",-1),Jy=[Yy,Qy];function Zy(s,e,a,r,o,i){return i.spotify_enabled?(l(),_("section",By,[t("div",My,[t("div",Fy,[t("div",Gy,[t("div",jy,[t("ul",null,[t("li",{class:C({"is-active":s.$store.state.search_path==="/search/library"})},[t("a",{onClick:e[0]||(e[0]=(...n)=>i.search_library&&i.search_library(...n))},Wy)],2),t("li",{class:C({"is-active":s.$store.state.search_path==="/search/spotify"})},[t("a",{onClick:e[1]||(e[1]=(...n)=>i.search_spotify&&i.search_spotify(...n))},Jy)],2)])])])])])])):y("",!0)}var Fs=k(Vy,[["render",Zy]]);const Xy={name:"PageSearch",components:{ContentWithHeading:R,ContentText:Ms,TabsSearch:Fs,ListTracks:V,ListArtists:ds,ListAlbums:j,ListPlaylists:hs,ListComposers:Ns},data(){return{search_query:"",tracks:{items:[],total:0},artists:new E,albums:new E,composers:{items:[],total:0},playlists:{items:[],total:0},audiobooks:new E,podcasts:new E}},computed:{recent_searches(){return this.$store.state.recent_searches},show_tracks(){return this.$route.query.type&&this.$route.query.type.includes("track")},show_all_tracks_button(){return this.tracks.total>this.tracks.items.length},show_artists(){return this.$route.query.type&&this.$route.query.type.includes("artist")},show_all_artists_button(){return this.artists.total>this.artists.items.length},show_albums(){return this.$route.query.type&&this.$route.query.type.includes("album")},show_all_albums_button(){return this.albums.total>this.albums.items.length},show_composers(){return this.$route.query.type&&this.$route.query.type.includes("composer")},show_all_composers_button(){return this.composers.total>this.composers.items.length},show_playlists(){return this.$route.query.type&&this.$route.query.type.includes("playlist")},show_all_playlists_button(){return this.playlists.total>this.playlists.items.length},show_audiobooks(){return this.$route.query.type&&this.$route.query.type.includes("audiobook")},show_all_audiobooks_button(){return this.audiobooks.total>this.audiobooks.items.length},show_podcasts(){return this.$route.query.type&&this.$route.query.type.includes("podcast")},show_all_podcasts_button(){return this.podcasts.total>this.podcasts.items.length},is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},watch:{$route(s,e){this.search(s)}},mounted:function(){this.search(this.$route)},methods:{search:function(s){if(!s.query.query||s.query.query===""){this.search_query="",this.$refs.search_field.focus();return}this.search_query=s.query.query,this.searchMusic(s.query),this.searchAudiobooks(s.query),this.searchPodcasts(s.query),this.$store.commit(as,s.query.query)},searchMusic:function(s){if(s.type.indexOf("track")<0&&s.type.indexOf("artist")<0&&s.type.indexOf("album")<0&&s.type.indexOf("playlist")<0)return;const e={type:s.type,media_kind:"music"};s.query.startsWith("query:")?e.expression=s.query.replace(/^query:/,"").trim():e.query=s.query,s.limit&&(e.limit=s.limit,e.offset=s.offset),f.search(e).then(({data:a})=>{this.tracks=a.tracks?a.tracks:{items:[],total:0},this.artists=new E(a.artists),this.albums=new E(a.albums),this.composers=a.composers?a.composers:{items:[],total:0},this.playlists=a.playlists?a.playlists:{items:[],total:0}})},searchAudiobooks:function(s){if(s.type.indexOf("audiobook")<0)return;const e={type:"album",media_kind:"audiobook"};s.query.startsWith("query:")?e.expression=s.query.replace(/^query:/,"").trim():e.expression='((album includes "'+s.query+'" or artist includes "'+s.query+'") and media_kind is audiobook)',s.limit&&(e.limit=s.limit,e.offset=s.offset),f.search(e).then(({data:a})=>{this.audiobooks=new E(a.albums)})},searchPodcasts:function(s){if(s.type.indexOf("podcast")<0)return;const e={type:"album",media_kind:"podcast"};s.query.startsWith("query:")?e.expression=s.query.replace(/^query:/,"").trim():e.expression='((album includes "'+s.query+'" or artist includes "'+s.query+'") and media_kind is podcast)',s.limit&&(e.limit=s.limit,e.offset=s.offset),f.search(e).then(({data:a})=>{this.podcasts=new E(a.albums)})},new_search:function(){!this.search_query||(this.$router.push({path:this.$store.state.search_path,query:{type:"track,artist,album,playlist,audiobook,podcast,composer",query:this.search_query,limit:3,offset:0}}),this.$refs.search_field.blur())},open_search_tracks:function(){this.$router.push({path:"/search/library",query:{type:"track",query:this.$route.query.query}})},open_search_artists:function(){this.$router.push({path:"/search/library",query:{type:"artist",query:this.$route.query.query}})},open_search_albums:function(){this.$router.push({path:"/search/library",query:{type:"album",query:this.$route.query.query}})},open_search_composers:function(){this.$router.push({path:"/search/library",query:{type:"tracks",query:this.$route.query.query}})},open_search_playlists:function(){this.$router.push({path:"/search/library",query:{type:"playlist",query:this.$route.query.query}})},open_search_audiobooks:function(){this.$router.push({path:"/search/library",query:{type:"audiobook",query:this.$route.query.query}})},open_search_podcasts:function(){this.$router.push({path:"/search/library",query:{type:"podcast",query:this.$route.query.query}})},open_composer:function(s){this.$router.push({name:"ComposerAlbums",params:{composer:s.name}})},open_playlist:function(s){this.$router.push({path:"/playlists/"+s.id+"/tracks"})},open_recent_search:function(s){this.search_query=s,this.new_search()},open_track_dialog:function(s){this.selected_track=s,this.show_track_details_modal=!0},open_album_dialog:function(s){this.selected_album=s,this.show_album_details_modal=!0},open_artist_dialog:function(s){this.selected_artist=s,this.show_artist_details_modal=!0},open_composer_dialog:function(s){this.selected_composer=s,this.show_composer_details_modal=!0},open_playlist_dialog:function(s){this.selected_playlist=s,this.show_playlist_details_modal=!0}}},tg={class:"section fd-remove-padding-bottom"},sg={class:"container"},eg={class:"columns is-centered"},ig={class:"column is-four-fifths"},og={class:"field"},ag={class:"control is-expanded has-icons-left"},ng=t("span",{class:"icon is-left"},[t("i",{class:"mdi mdi-magnify"})],-1),lg=t("p",{class:"help has-text-centered"},[$(" Tip: you can search by a smart playlist query language "),t("a",{href:"https://github.com/owntone/owntone-server/blob/master/README_SMARTPL.md",target:"_blank"},"expression"),$(" if you prefix it with "),t("code",null,"query:"),$(". ")],-1),rg={class:"tags",style:{"margin-top":"16px"}},dg=["onClick"],_g=t("p",{class:"title is-4"},"Tracks",-1),cg={key:0,class:"level"},ug={class:"level-item"},mg=t("p",null,[t("i",null,"No tracks found")],-1),hg=t("p",{class:"title is-4"},"Artists",-1),pg={key:0,class:"level"},fg={class:"level-item"},yg=t("p",null,[t("i",null,"No artists found")],-1),gg=t("p",{class:"title is-4"},"Albums",-1),bg={key:0,class:"level"},kg={class:"level-item"},wg=t("p",null,[t("i",null,"No albums found")],-1),vg=t("p",{class:"title is-4"},"Composers",-1),$g={key:0,class:"level"},xg={class:"level-item"},Cg=t("p",null,[t("i",null,"No composers found")],-1),qg=t("p",{class:"title is-4"},"Playlists",-1),Sg={key:0,class:"level"},Pg={class:"level-item"},Ag=t("p",null,[t("i",null,"No playlists found")],-1),Tg=t("p",{class:"title is-4"},"Podcasts",-1),Rg={key:0,class:"level"},Eg={class:"level-item"},Ig=t("p",null,[t("i",null,"No podcasts found")],-1),Ug=t("p",{class:"title is-4"},"Audiobooks",-1),Lg={key:0,class:"level"},Og={class:"level-item"},Dg=t("p",null,[t("i",null,"No audiobooks found")],-1);function zg(s,e,a,r,o,i){const n=h("tabs-search"),c=h("list-tracks"),p=h("content-with-heading"),g=h("content-text"),b=h("list-artists"),x=h("list-albums"),q=h("list-composers"),z=h("list-playlists");return l(),_("div",null,[t("section",tg,[t("div",sg,[t("div",eg,[t("div",ig,[t("form",{onSubmit:e[1]||(e[1]=D((...S)=>i.new_search&&i.new_search(...S),["prevent"]))},[t("div",og,[t("p",ag,[U(t("input",{ref:"search_field","onUpdate:modelValue":e[0]||(e[0]=S=>o.search_query=S),class:"input is-rounded is-shadowless",type:"text",placeholder:"Search",autocomplete:"off"},null,512),[[M,o.search_query]]),ng]),lg])],32),t("div",rg,[(l(!0),_(T,null,I(i.recent_searches,S=>(l(),_("a",{key:S,class:"tag",onClick:W=>i.open_recent_search(S)},m(S),9,dg))),128))])])])])]),u(n,{query:o.search_query},null,8,["query"]),i.show_tracks&&o.tracks.total?(l(),w(p,{key:0},{"heading-left":d(()=>[_g]),content:d(()=>[u(c,{tracks:o.tracks.items},null,8,["tracks"])]),footer:d(()=>[i.show_all_tracks_button?(l(),_("nav",cg,[t("p",ug,[t("a",{class:"button is-light is-small is-rounded",onClick:e[2]||(e[2]=(...S)=>i.open_search_tracks&&i.open_search_tracks(...S))},"Show all "+m(o.tracks.total.toLocaleString())+" tracks",1)])])):y("",!0)]),_:1})):y("",!0),i.show_tracks&&!o.tracks.total?(l(),w(g,{key:1,class:"mt-6"},{content:d(()=>[mg]),_:1})):y("",!0),i.show_artists&&o.artists.total?(l(),w(p,{key:2},{"heading-left":d(()=>[hg]),content:d(()=>[u(b,{artists:o.artists,hide_group_title:!0},null,8,["artists"])]),footer:d(()=>[i.show_all_artists_button?(l(),_("nav",pg,[t("p",fg,[t("a",{class:"button is-light is-small is-rounded",onClick:e[3]||(e[3]=(...S)=>i.open_search_artists&&i.open_search_artists(...S))},"Show all "+m(o.artists.total.toLocaleString())+" artists",1)])])):y("",!0)]),_:1})):y("",!0),i.show_artists&&!o.artists.total?(l(),w(g,{key:3},{content:d(()=>[yg]),_:1})):y("",!0),i.show_albums&&o.albums.total?(l(),w(p,{key:4},{"heading-left":d(()=>[gg]),content:d(()=>[u(x,{albums:o.albums,hide_group_title:!0},null,8,["albums"])]),footer:d(()=>[i.show_all_albums_button?(l(),_("nav",bg,[t("p",kg,[t("a",{class:"button is-light is-small is-rounded",onClick:e[4]||(e[4]=(...S)=>i.open_search_albums&&i.open_search_albums(...S))},"Show all "+m(o.albums.total.toLocaleString())+" albums",1)])])):y("",!0)]),_:1})):y("",!0),i.show_albums&&!o.albums.total?(l(),w(g,{key:5},{content:d(()=>[wg]),_:1})):y("",!0),i.show_composers&&o.composers.total?(l(),w(p,{key:6},{"heading-left":d(()=>[vg]),content:d(()=>[u(q,{composers:o.composers.items},null,8,["composers"])]),footer:d(()=>[i.show_all_composers_button?(l(),_("nav",$g,[t("p",xg,[t("a",{class:"button is-light is-small is-rounded",onClick:e[5]||(e[5]=(...S)=>i.open_search_composers&&i.open_search_composers(...S))},"Show all "+m(o.composers.total)+" composers",1)])])):y("",!0)]),_:1})):y("",!0),i.show_composers&&!o.composers.total?(l(),w(g,{key:7},{content:d(()=>[Cg]),_:1})):y("",!0),i.show_playlists&&o.playlists.total?(l(),w(p,{key:8},{"heading-left":d(()=>[qg]),content:d(()=>[u(z,{playlists:o.playlists.items},null,8,["playlists"])]),footer:d(()=>[i.show_all_playlists_button?(l(),_("nav",Sg,[t("p",Pg,[t("a",{class:"button is-light is-small is-rounded",onClick:e[6]||(e[6]=(...S)=>i.open_search_playlists&&i.open_search_playlists(...S))},"Show all "+m(o.playlists.total.toLocaleString())+" playlists",1)])])):y("",!0)]),_:1})):y("",!0),i.show_playlists&&!o.playlists.total?(l(),w(g,{key:9},{content:d(()=>[Ag]),_:1})):y("",!0),i.show_podcasts&&o.podcasts.total?(l(),w(p,{key:10},{"heading-left":d(()=>[Tg]),content:d(()=>[u(x,{albums:o.podcasts},null,8,["albums"])]),footer:d(()=>[i.show_all_podcasts_button?(l(),_("nav",Rg,[t("p",Eg,[t("a",{class:"button is-light is-small is-rounded",onClick:e[7]||(e[7]=(...S)=>i.open_search_podcasts&&i.open_search_podcasts(...S))},"Show all "+m(o.podcasts.total.toLocaleString())+" podcasts",1)])])):y("",!0)]),_:1})):y("",!0),i.show_podcasts&&!o.podcasts.total?(l(),w(g,{key:11},{content:d(()=>[Ig]),_:1})):y("",!0),i.show_audiobooks&&o.audiobooks.total?(l(),w(p,{key:12},{"heading-left":d(()=>[Ug]),content:d(()=>[u(x,{albums:o.audiobooks},null,8,["albums"])]),footer:d(()=>[i.show_all_audiobooks_button?(l(),_("nav",Lg,[t("p",Og,[t("a",{class:"button is-light is-small is-rounded",onClick:e[8]||(e[8]=(...S)=>i.open_search_audiobooks&&i.open_search_audiobooks(...S))},"Show all "+m(o.audiobooks.total.toLocaleString())+" audiobooks",1)])])):y("",!0)]),_:1})):y("",!0),i.show_audiobooks&&!o.audiobooks.total?(l(),w(g,{key:13},{content:d(()=>[Dg]),_:1})):y("",!0)])}var Ng=k(Xy,[["render",zg]]);const Vg={name:"PageAbout",data(){return{show_update_dropdown:!1,show_update_library:!1}},computed:{config(){return this.$store.state.config},library(){return this.$store.state.library}},methods:{onClickOutside(s){this.show_update_dropdown=!1},showUpdateDialog(){this.$store.commit(ot,!0)}}},Bg={class:"section"},Mg={class:"container"},Fg={class:"columns is-centered"},Gg={class:"column is-four-fifths has-text-centered-mobile"},jg={class:"heading"},Kg=t("b",null,"OwnTone",-1),Hg={class:"title is-4"},Wg={class:"section"},Yg={class:"container"},Qg={class:"columns is-centered"},Jg={class:"column is-four-fifths"},Zg={class:"content"},Xg={class:"level is-mobile"},tb=t("div",{class:"level-left"},[t("div",{class:"level-item"},[t("h2",{class:"title is-5"},"Library")])],-1),sb={class:"level-right"},eb={key:0},ib=t("a",{class:"button is-small is-loading"},"Update",-1),ob=[ib],ab={key:1},nb={class:"table"},lb=t("th",null,"Artists",-1),rb={class:"has-text-right"},db=t("th",null,"Albums",-1),_b={class:"has-text-right"},cb=t("th",null,"Tracks",-1),ub={class:"has-text-right"},mb=t("th",null,"Total playtime",-1),hb={class:"has-text-right"},pb=t("th",null,"Library updated",-1),fb={class:"has-text-right"},yb={class:"has-text-grey"},gb=t("th",null,"Uptime",-1),bb={class:"has-text-right"},kb={class:"has-text-grey"},wb={class:"section"},vb={class:"container"},$b={class:"columns is-centered"},xb={class:"column is-four-fifths"},Cb={class:"content has-text-centered-mobile"},qb={class:"is-size-7"},Sb=bs(' Web interface built with Bulma, Material Design Icons, Vue.js, axios and more.
',1);function Pb(s,e,a,r,o,i){return l(),_("div",null,[t("section",Bg,[t("div",Mg,[t("div",Fg,[t("div",Gg,[t("p",jg,[Kg,$(" - version "+m(i.config.version),1)]),t("h1",Hg,m(i.config.library_name),1)])])])]),t("section",Wg,[t("div",Yg,[t("div",Qg,[t("div",Jg,[t("div",Zg,[t("nav",Xg,[tb,t("div",sb,[i.library.updating?(l(),_("div",eb,ob)):(l(),_("div",ab,[t("a",{class:"button is-small",onClick:e[0]||(e[0]=n=>i.showUpdateDialog())},"Update")]))])]),t("table",nb,[t("tbody",null,[t("tr",null,[lb,t("td",rb,m(s.$filters.number(i.library.artists)),1)]),t("tr",null,[db,t("td",_b,m(s.$filters.number(i.library.albums)),1)]),t("tr",null,[cb,t("td",ub,m(s.$filters.number(i.library.songs)),1)]),t("tr",null,[mb,t("td",hb,m(s.$filters.duration(i.library.db_playtime*1e3,"y [years], d [days], h [hours], m [minutes]")),1)]),t("tr",null,[pb,t("td",fb,[$(m(s.$filters.timeFromNow(i.library.updated_at))+" ",1),t("span",yb,"("+m(s.$filters.time(i.library.updated_at,"lll"))+")",1)])]),t("tr",null,[gb,t("td",bb,[$(m(s.$filters.timeFromNow(i.library.started_at,!0))+" ",1),t("span",kb,"("+m(s.$filters.time(i.library.started_at,"ll"))+")",1)])])])])])])])])]),t("section",wb,[t("div",vb,[t("div",$b,[t("div",xb,[t("div",Cb,[t("p",qb," Compiled with support for "+m(i.config.buildoptions.join(", "))+". ",1),Sb])])])])])])}var Ab=k(Vg,[["render",Pb]]);const Tb={name:"SpotifyListItemAlbum",props:["album"]},Rb={class:"media"},Eb={key:0,class:"media-left fd-has-action"},Ib={class:"media-content fd-has-action is-clipped"},Ub={class:"title is-6"},Lb={class:"subtitle is-7 has-text-grey"},Ob={class:"subtitle is-7 has-text-grey has-text-weight-normal"},Db={class:"media-right"};function zb(s,e,a,r,o,i){return l(),_("div",Rb,[s.$slots.artwork?(l(),_("div",Eb,[O(s.$slots,"artwork")])):y("",!0),t("div",Ib,[t("h1",Ub,m(a.album.name),1),t("h2",Lb,[t("b",null,m(a.album.artists[0].name),1)]),t("h2",Ob," ("+m(a.album.album_type)+", "+m(s.$filters.time(a.album.release_date,"L"))+") ",1)]),t("div",Db,[O(s.$slots,"actions")])])}var jt=k(Tb,[["render",zb]]);const Nb={name:"SpotifyListItemPlaylist",props:["playlist"],methods:{open_playlist:function(){this.$router.push({path:"/music/spotify/playlists/"+this.playlist.id})}}},Vb={class:"media"},Bb={class:"title is-6"},Mb={class:"subtitle is-7"},Fb={class:"media-right"};function Gb(s,e,a,r,o,i){return l(),_("div",Vb,[t("div",{class:"media-content fd-has-action is-clipped",onClick:e[0]||(e[0]=(...n)=>i.open_playlist&&i.open_playlist(...n))},[t("h1",Bb,m(a.playlist.name),1),t("h2",Mb,m(a.playlist.owner.display_name),1)]),t("div",Fb,[O(s.$slots,"actions")])])}var ps=k(Nb,[["render",Gb]]);const jb={name:"SpotifyModalDialogAlbum",props:["show","album"],emits:["close"],data(){return{artwork_visible:!1}},computed:{artwork_url:function(){return this.album.images&&this.album.images.length>0?this.album.images[0].url:""}},methods:{play:function(){this.$emit("close"),f.player_play_uri(this.album.uri,!1)},queue_add:function(){this.$emit("close"),f.queue_add(this.album.uri)},queue_add_next:function(){this.$emit("close"),f.queue_add_next(this.album.uri)},open_album:function(){this.$router.push({path:"/music/spotify/albums/"+this.album.id})},open_artist:function(){this.$router.push({path:"/music/spotify/artists/"+this.album.artists[0].id})},artwork_loaded:function(){this.artwork_visible=!0},artwork_error:function(){this.artwork_visible=!1}}},Kb={key:0,class:"modal is-active"},Hb={class:"modal-content fd-modal-card"},Wb={class:"card"},Yb={class:"card-content"},Qb={class:"image is-square fd-has-margin-bottom"},Jb=["src"],Zb={class:"title is-4"},Xb={class:"content is-small"},t1=t("span",{class:"heading"},"Album artist",-1),s1=t("span",{class:"heading"},"Release date",-1),e1={class:"title is-6"},i1=t("span",{class:"heading"},"Type",-1),o1={class:"title is-6"},a1={class:"card-footer"},n1=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-plus"})],-1),l1=t("span",{class:"is-size-7"},"Add",-1),r1=[n1,l1],d1=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-play"})],-1),_1=t("span",{class:"is-size-7"},"Add Next",-1),c1=[d1,_1],u1=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),m1=t("span",{class:"is-size-7"},"Play",-1),h1=[u1,m1];function p1(s,e,a,r,o,i){return l(),_("div",null,[u(N,{name:"fade"},{default:d(()=>[a.show?(l(),_("div",Kb,[t("div",{class:"modal-background",onClick:e[0]||(e[0]=n=>s.$emit("close"))}),t("div",Hb,[t("div",Wb,[t("div",Yb,[U(t("figure",Qb,[t("img",{src:i.artwork_url,class:"fd-has-shadow",onLoad:e[1]||(e[1]=(...n)=>i.artwork_loaded&&i.artwork_loaded(...n)),onError:e[2]||(e[2]=(...n)=>i.artwork_error&&i.artwork_error(...n))},null,40,Jb)],512),[[zt,o.artwork_visible]]),t("p",Zb,[t("a",{class:"has-text-link",onClick:e[3]||(e[3]=(...n)=>i.open_album&&i.open_album(...n))},m(a.album.name),1)]),t("div",Xb,[t("p",null,[t1,t("a",{class:"title is-6 has-text-link",onClick:e[4]||(e[4]=(...n)=>i.open_artist&&i.open_artist(...n))},m(a.album.artists[0].name),1)]),t("p",null,[s1,t("span",e1,m(s.$filters.time(a.album.release_date,"L")),1)]),t("p",null,[i1,t("span",o1,m(a.album.album_type),1)])])]),t("footer",a1,[t("a",{class:"card-footer-item has-text-dark",onClick:e[5]||(e[5]=(...n)=>i.queue_add&&i.queue_add(...n))},r1),t("a",{class:"card-footer-item has-text-dark",onClick:e[6]||(e[6]=(...n)=>i.queue_add_next&&i.queue_add_next(...n))},c1),t("a",{class:"card-footer-item has-text-dark",onClick:e[7]||(e[7]=(...n)=>i.play&&i.play(...n))},h1)])])]),t("button",{class:"modal-close is-large","aria-label":"close",onClick:e[8]||(e[8]=n=>s.$emit("close"))})])):y("",!0)]),_:1})])}var at=k(jb,[["render",p1]]);const f1={name:"SpotifyModalDialogPlaylist",props:["show","playlist"],emits:["close"],methods:{play:function(){this.$emit("close"),f.player_play_uri(this.playlist.uri,!1)},queue_add:function(){this.$emit("close"),f.queue_add(this.playlist.uri)},queue_add_next:function(){this.$emit("close"),f.queue_add_next(this.playlist.uri)},open_playlist:function(){this.$router.push({path:"/music/spotify/playlists/"+this.playlist.id})}}},y1={key:0,class:"modal is-active"},g1={class:"modal-content fd-modal-card"},b1={class:"card"},k1={class:"card-content"},w1={class:"title is-4"},v1={class:"content is-small"},$1=t("span",{class:"heading"},"Owner",-1),x1={class:"title is-6"},C1=t("span",{class:"heading"},"Tracks",-1),q1={class:"title is-6"},S1=t("span",{class:"heading"},"Path",-1),P1={class:"title is-6"},A1={class:"card-footer"},T1=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-plus"})],-1),R1=t("span",{class:"is-size-7"},"Add",-1),E1=[T1,R1],I1=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-play"})],-1),U1=t("span",{class:"is-size-7"},"Add Next",-1),L1=[I1,U1],O1=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),D1=t("span",{class:"is-size-7"},"Play",-1),z1=[O1,D1];function N1(s,e,a,r,o,i){return l(),_("div",null,[u(N,{name:"fade"},{default:d(()=>[a.show?(l(),_("div",y1,[t("div",{class:"modal-background",onClick:e[0]||(e[0]=n=>s.$emit("close"))}),t("div",g1,[t("div",b1,[t("div",k1,[t("p",w1,[t("a",{class:"has-text-link",onClick:e[1]||(e[1]=(...n)=>i.open_playlist&&i.open_playlist(...n))},m(a.playlist.name),1)]),t("div",v1,[t("p",null,[$1,t("span",x1,m(a.playlist.owner.display_name),1)]),t("p",null,[C1,t("span",q1,m(a.playlist.tracks.total),1)]),t("p",null,[S1,t("span",P1,m(a.playlist.uri),1)])])]),t("footer",A1,[t("a",{class:"card-footer-item has-text-dark",onClick:e[2]||(e[2]=(...n)=>i.queue_add&&i.queue_add(...n))},E1),t("a",{class:"card-footer-item has-text-dark",onClick:e[3]||(e[3]=(...n)=>i.queue_add_next&&i.queue_add_next(...n))},L1),t("a",{class:"card-footer-item has-text-dark",onClick:e[4]||(e[4]=(...n)=>i.play&&i.play(...n))},z1)])])]),t("button",{class:"modal-close is-large","aria-label":"close",onClick:e[5]||(e[5]=n=>s.$emit("close"))})])):y("",!0)]),_:1})])}var Kt=k(f1,[["render",N1]]);const Et={load:function(s){if(A.state.spotify_new_releases.length>0&&A.state.spotify_featured_playlists.length>0)return Promise.resolve();const e=new F;return e.setAccessToken(A.state.spotify.webapi_token),Promise.all([e.getNewReleases({country:A.state.spotify.webapi_country,limit:50}),e.getFeaturedPlaylists({country:A.state.spotify.webapi_country,limit:50})])},set:function(s,e){e&&(A.commit(is,e[0].albums.items),A.commit(os,e[1].playlists.items))}},V1={name:"SpotifyPageBrowse",components:{ContentWithHeading:R,TabsMusic:G,SpotifyListItemAlbum:jt,SpotifyListItemPlaylist:ps,SpotifyModalDialogAlbum:at,SpotifyModalDialogPlaylist:Kt,CoverArtwork:K},beforeRouteEnter(s,e,a){Et.load(s).then(r=>{a(o=>Et.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;Et.load(s).then(o=>{Et.set(r,o),a()})},data(){return{show_album_details_modal:!1,selected_album:{},show_playlist_details_modal:!1,selected_playlist:{}}},computed:{new_releases(){return this.$store.state.spotify_new_releases.slice(0,3)},featured_playlists(){return this.$store.state.spotify_featured_playlists.slice(0,3)},is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},methods:{open_album:function(s){this.$router.push({path:"/music/spotify/albums/"+s.id})},open_album_dialog:function(s){this.selected_album=s,this.show_album_details_modal=!0},open_playlist_dialog:function(s){this.selected_playlist=s,this.show_playlist_details_modal=!0},artwork_url:function(s){return s.images&&s.images.length>0?s.images[0].url:""}}},B1={class:"fd-page-with-tabs"},M1=t("p",{class:"title is-4"},"New Releases",-1),F1={class:"image is-64x64 fd-has-shadow fd-has-action"},G1=["onClick"],j1=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),K1=[j1],H1={class:"level"},W1={class:"level-item"},Y1=$(" Show more "),Q1=t("p",{class:"title is-4"},"Featured Playlists",-1),J1=["onClick"],Z1=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),X1=[Z1],tk={class:"level"},sk={class:"level-item"},ek=$(" Show more ");function ik(s,e,a,r,o,i){const n=h("tabs-music"),c=h("cover-artwork"),p=h("spotify-list-item-album"),g=h("spotify-modal-dialog-album"),b=h("router-link"),x=h("content-with-heading"),q=h("spotify-list-item-playlist"),z=h("spotify-modal-dialog-playlist");return l(),_("div",B1,[u(n),u(x,null,{"heading-left":d(()=>[M1]),content:d(()=>[(l(!0),_(T,null,I(i.new_releases,S=>(l(),w(p,{key:S.id,album:S,onClick:W=>i.open_album(S)},Vt({actions:d(()=>[t("a",{onClick:W=>i.open_album_dialog(S)},K1,8,G1)]),_:2},[i.is_visible_artwork?{name:"artwork",fn:d(()=>[t("p",F1,[u(c,{artwork_url:i.artwork_url(S),artist:S.artist,album:S.name,maxwidth:64,maxheight:64},null,8,["artwork_url","artist","album"])])])}:void 0]),1032,["album","onClick"]))),128)),u(g,{show:o.show_album_details_modal,album:o.selected_album,onClose:e[0]||(e[0]=S=>o.show_album_details_modal=!1)},null,8,["show","album"])]),footer:d(()=>[t("nav",H1,[t("p",W1,[u(b,{to:"/music/spotify/new-releases",class:"button is-light is-small is-rounded"},{default:d(()=>[Y1]),_:1})])])]),_:1}),u(x,null,{"heading-left":d(()=>[Q1]),content:d(()=>[(l(!0),_(T,null,I(i.featured_playlists,S=>(l(),w(q,{key:S.id,playlist:S},{actions:d(()=>[t("a",{onClick:W=>i.open_playlist_dialog(S)},X1,8,J1)]),_:2},1032,["playlist"]))),128)),u(z,{show:o.show_playlist_details_modal,playlist:o.selected_playlist,onClose:e[1]||(e[1]=S=>o.show_playlist_details_modal=!1)},null,8,["show","playlist"])]),footer:d(()=>[t("nav",tk,[t("p",sk,[u(b,{to:"/music/spotify/featured-playlists",class:"button is-light is-small is-rounded"},{default:d(()=>[ek]),_:1})])])]),_:1})])}var ok=k(V1,[["render",ik]]);const It={load:function(s){if(A.state.spotify_new_releases.length>0)return Promise.resolve();const e=new F;return e.setAccessToken(A.state.spotify.webapi_token),e.getNewReleases({country:A.state.spotify.webapi_country,limit:50})},set:function(s,e){e&&A.commit(is,e.albums.items)}},ak={name:"SpotifyPageBrowseNewReleases",components:{ContentWithHeading:R,TabsMusic:G,SpotifyListItemAlbum:jt,SpotifyModalDialogAlbum:at,CoverArtwork:K},beforeRouteEnter(s,e,a){It.load(s).then(r=>{a(o=>It.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;It.load(s).then(o=>{It.set(r,o),a()})},data(){return{show_album_details_modal:!1,selected_album:{}}},computed:{new_releases(){return this.$store.state.spotify_new_releases},is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},methods:{open_album:function(s){this.$router.push({path:"/music/spotify/albums/"+s.id})},open_album_dialog:function(s){this.selected_album=s,this.show_album_details_modal=!0},artwork_url:function(s){return s.images&&s.images.length>0?s.images[0].url:""}}},nk={class:"fd-page-with-tabs"},lk=t("p",{class:"title is-4"},"New Releases",-1),rk={class:"image is-64x64 fd-has-shadow fd-has-action"},dk=["onClick"],_k=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),ck=[_k];function uk(s,e,a,r,o,i){const n=h("tabs-music"),c=h("cover-artwork"),p=h("spotify-list-item-album"),g=h("spotify-modal-dialog-album"),b=h("content-with-heading");return l(),_("div",nk,[u(n),u(b,null,{"heading-left":d(()=>[lk]),content:d(()=>[(l(!0),_(T,null,I(i.new_releases,x=>(l(),w(p,{key:x.id,album:x,onClick:q=>i.open_album(x)},Vt({actions:d(()=>[t("a",{onClick:q=>i.open_album_dialog(x)},ck,8,dk)]),_:2},[i.is_visible_artwork?{name:"artwork",fn:d(()=>[t("p",rk,[u(c,{artwork_url:i.artwork_url(x),artist:x.artist,album:x.name,maxwidth:64,maxheight:64},null,8,["artwork_url","artist","album"])])])}:void 0]),1032,["album","onClick"]))),128)),u(g,{show:o.show_album_details_modal,album:o.selected_album,onClose:e[0]||(e[0]=x=>o.show_album_details_modal=!1)},null,8,["show","album"])]),_:1})])}var mk=k(ak,[["render",uk]]);const Ut={load:function(s){if(A.state.spotify_featured_playlists.length>0)return Promise.resolve();const e=new F;e.setAccessToken(A.state.spotify.webapi_token),e.getFeaturedPlaylists({country:A.state.spotify.webapi_country,limit:50})},set:function(s,e){e&&A.commit(os,e.playlists.items)}},hk={name:"SpotifyPageBrowseFeaturedPlaylists",components:{ContentWithHeading:R,TabsMusic:G,SpotifyListItemPlaylist:ps,SpotifyModalDialogPlaylist:Kt},beforeRouteEnter(s,e,a){Ut.load(s).then(r=>{a(o=>Ut.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;Ut.load(s).then(o=>{Ut.set(r,o),a()})},data(){return{show_playlist_details_modal:!1,selected_playlist:{}}},computed:{featured_playlists(){return this.$store.state.spotify_featured_playlists}},methods:{open_playlist_dialog:function(s){this.selected_playlist=s,this.show_playlist_details_modal=!0}}},pk={class:"fd-page-with-tabs"},fk=t("p",{class:"title is-4"},"Featured Playlists",-1),yk=["onClick"],gk=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),bk=[gk];function kk(s,e,a,r,o,i){const n=h("tabs-music"),c=h("spotify-list-item-playlist"),p=h("spotify-modal-dialog-playlist"),g=h("content-with-heading");return l(),_("div",pk,[u(n),u(g,null,{"heading-left":d(()=>[fk]),content:d(()=>[(l(!0),_(T,null,I(i.featured_playlists,b=>(l(),w(c,{key:b.id,playlist:b},{actions:d(()=>[t("a",{onClick:x=>i.open_playlist_dialog(b)},bk,8,yk)]),_:2},1032,["playlist"]))),128)),u(p,{show:o.show_playlist_details_modal,playlist:o.selected_playlist,onClose:e[0]||(e[0]=b=>o.show_playlist_details_modal=!1)},null,8,["show","playlist"])]),_:1})])}var wk=k(hk,[["render",kk]]);const vk={name:"SpotifyModalDialogArtist",props:["show","artist"],emits:["close"],methods:{play:function(){this.$emit("close"),f.player_play_uri(this.artist.uri,!1)},queue_add:function(){this.$emit("close"),f.queue_add(this.artist.uri)},queue_add_next:function(){this.$emit("close"),f.queue_add_next(this.artist.uri)},open_artist:function(){this.$router.push({path:"/music/spotify/artists/"+this.artist.id})}}},$k={key:0,class:"modal is-active"},xk={class:"modal-content fd-modal-card"},Ck={class:"card"},qk={class:"card-content"},Sk={class:"title is-4"},Pk={class:"content is-small"},Ak=t("span",{class:"heading"},"Popularity / Followers",-1),Tk={class:"title is-6"},Rk=t("span",{class:"heading"},"Genres",-1),Ek={class:"title is-6"},Ik={class:"card-footer"},Uk=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-plus"})],-1),Lk=t("span",{class:"is-size-7"},"Add",-1),Ok=[Uk,Lk],Dk=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-play"})],-1),zk=t("span",{class:"is-size-7"},"Add Next",-1),Nk=[Dk,zk],Vk=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),Bk=t("span",{class:"is-size-7"},"Play",-1),Mk=[Vk,Bk];function Fk(s,e,a,r,o,i){return l(),_("div",null,[u(N,{name:"fade"},{default:d(()=>[a.show?(l(),_("div",$k,[t("div",{class:"modal-background",onClick:e[0]||(e[0]=n=>s.$emit("close"))}),t("div",xk,[t("div",Ck,[t("div",qk,[t("p",Sk,[t("a",{class:"has-text-link",onClick:e[1]||(e[1]=(...n)=>i.open_artist&&i.open_artist(...n))},m(a.artist.name),1)]),t("div",Pk,[t("p",null,[Ak,t("span",Tk,m(a.artist.popularity)+" / "+m(a.artist.followers.total),1)]),t("p",null,[Rk,t("span",Ek,m(a.artist.genres.join(", ")),1)])])]),t("footer",Ik,[t("a",{class:"card-footer-item has-text-dark",onClick:e[2]||(e[2]=(...n)=>i.queue_add&&i.queue_add(...n))},Ok),t("a",{class:"card-footer-item has-text-dark",onClick:e[3]||(e[3]=(...n)=>i.queue_add_next&&i.queue_add_next(...n))},Nk),t("a",{class:"card-footer-item has-text-dark",onClick:e[4]||(e[4]=(...n)=>i.play&&i.play(...n))},Mk)])])]),t("button",{class:"modal-close is-large","aria-label":"close",onClick:e[5]||(e[5]=n=>s.$emit("close"))})])):y("",!0)]),_:1})])}var Gs=k(vk,[["render",Fk]]);const Qt=50,Lt={load:function(s){const e=new F;return e.setAccessToken(A.state.spotify.webapi_token),Promise.all([e.getArtist(s.params.artist_id),e.getArtistAlbums(s.params.artist_id,{limit:Qt,offset:0,include_groups:"album,single",market:A.state.spotify.webapi_country})])},set:function(s,e){s.artist=e[0],s.albums=[],s.total=0,s.offset=0,s.append_albums(e[1])}},Gk={name:"SpotifyPageArtist",components:{ContentWithHeading:R,SpotifyListItemAlbum:jt,SpotifyModalDialogAlbum:at,SpotifyModalDialogArtist:Gs,VueEternalLoading:ss.exports.VueEternalLoading,CoverArtwork:K},beforeRouteEnter(s,e,a){Lt.load(s).then(r=>{a(o=>Lt.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;Lt.load(s).then(o=>{Lt.set(r,o),a()})},data(){return{artist:{},albums:[],total:0,offset:0,show_details_modal:!1,selected_album:{},show_artist_details_modal:!1}},computed:{is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},methods:{load_next:function({loaded:s}){const e=new F;e.setAccessToken(this.$store.state.spotify.webapi_token),e.getArtistAlbums(this.artist.id,{limit:Qt,offset:this.offset,include_groups:"album,single"}).then(a=>{this.append_albums(a),s(a.items.length,Qt)})},append_albums:function(s){this.albums=this.albums.concat(s.items),this.total=s.total,this.offset+=s.limit},play:function(){this.show_details_modal=!1,f.player_play_uri(this.artist.uri,!0)},open_album:function(s){this.$router.push({path:"/music/spotify/albums/"+s.id})},open_dialog:function(s){this.selected_album=s,this.show_details_modal=!0},artwork_url:function(s){return s.images&&s.images.length>0?s.images[0].url:""}}},jk={class:"title is-4"},Kk={class:"buttons is-centered"},Hk=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),Wk=[Hk],Yk=t("span",{class:"icon"},[t("i",{class:"mdi mdi-shuffle"})],-1),Qk=t("span",null,"Shuffle",-1),Jk=[Yk,Qk],Zk={class:"heading has-text-centered-mobile"},Xk={class:"image is-64x64 fd-has-shadow fd-has-action"},tw=["onClick"],sw=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),ew=[sw],iw=$(" . ");function ow(s,e,a,r,o,i){const n=h("cover-artwork"),c=h("spotify-list-item-album"),p=h("VueEternalLoading"),g=h("spotify-modal-dialog-album"),b=h("spotify-modal-dialog-artist"),x=h("content-with-heading");return l(),w(x,null,{"heading-left":d(()=>[t("p",jk,m(o.artist.name),1)]),"heading-right":d(()=>[t("div",Kk,[t("a",{class:"button is-small is-light is-rounded",onClick:e[0]||(e[0]=q=>o.show_artist_details_modal=!0)},Wk),t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...q)=>i.play&&i.play(...q))},Jk)])]),content:d(()=>[t("p",Zk,m(o.total)+" albums",1),(l(!0),_(T,null,I(o.albums,q=>(l(),w(c,{key:q.id,album:q,onClick:z=>i.open_album(q)},Vt({actions:d(()=>[t("a",{onClick:D(z=>i.open_dialog(q),["prevent","stop"])},ew,8,tw)]),_:2},[i.is_visible_artwork?{name:"artwork",fn:d(()=>[t("p",Xk,[u(n,{artwork_url:i.artwork_url(q),artist:q.artist,album:q.name,maxwidth:64,maxheight:64},null,8,["artwork_url","artist","album"])])])}:void 0]),1032,["album","onClick"]))),128)),o.offset[iw]),_:1},8,["load"])):y("",!0),u(g,{show:o.show_details_modal,album:o.selected_album,onClose:e[2]||(e[2]=q=>o.show_details_modal=!1)},null,8,["show","album"]),u(b,{show:o.show_artist_details_modal,artist:o.artist,onClose:e[3]||(e[3]=q=>o.show_artist_details_modal=!1)},null,8,["show","artist"])]),_:1})}var aw=k(Gk,[["render",ow]]);const nw={name:"SpotifyListItemTrack",props:["track","position","album","context_uri"],methods:{play:function(){f.player_play_uri(this.context_uri,!1,this.position)}}},lw={class:"media"},rw={key:0,class:"subtitle is-7"},dw=$(" (Track is not playable"),_w={key:0},cw=$(") "),uw={class:"media-right"};function mw(s,e,a,r,o,i){return l(),_("div",lw,[t("div",{class:"media-content fd-has-action is-clipped",onClick:e[0]||(e[0]=(...n)=>i.play&&i.play(...n))},[t("h1",{class:C(["title is-6",{"has-text-grey-light":a.track.is_playable===!1}])},m(a.track.name),3),t("h2",{class:C(["subtitle is-7",{"has-text-grey":a.track.is_playable,"has-text-grey-light":a.track.is_playable===!1}])},[t("b",null,m(a.track.artists[0].name),1)],2),a.track.is_playable===!1?(l(),_("h2",rw,[dw,a.track.restrictions&&a.track.restrictions.reason?(l(),_("span",_w,", restriction reason: "+m(a.track.restrictions.reason),1)):y("",!0),cw])):y("",!0)]),t("div",uw,[O(s.$slots,"actions")])])}var fs=k(nw,[["render",mw]]);const hw={name:"SpotifyModalDialogTrack",props:["show","track","album"],emits:["close"],methods:{play:function(){this.$emit("close"),f.player_play_uri(this.track.uri,!1)},queue_add:function(){this.$emit("close"),f.queue_add(this.track.uri)},queue_add_next:function(){this.$emit("close"),f.queue_add_next(this.track.uri)},open_album:function(){this.$router.push({path:"/music/spotify/albums/"+this.album.id})},open_artist:function(){this.$router.push({path:"/music/spotify/artists/"+this.album.artists[0].id})}}},pw={key:0,class:"modal is-active"},fw={class:"modal-content fd-modal-card"},yw={class:"card"},gw={class:"card-content"},bw={class:"title is-4"},kw={class:"subtitle"},ww={class:"content is-small"},vw=t("span",{class:"heading"},"Album",-1),$w=t("span",{class:"heading"},"Album artist",-1),xw=t("span",{class:"heading"},"Release date",-1),Cw={class:"title is-6"},qw=t("span",{class:"heading"},"Track / Disc",-1),Sw={class:"title is-6"},Pw=t("span",{class:"heading"},"Length",-1),Aw={class:"title is-6"},Tw=t("span",{class:"heading"},"Path",-1),Rw={class:"title is-6"},Ew={class:"card-footer"},Iw=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-plus"})],-1),Uw=t("span",{class:"is-size-7"},"Add",-1),Lw=[Iw,Uw],Ow=t("span",{class:"icon"},[t("i",{class:"mdi mdi-playlist-play"})],-1),Dw=t("span",{class:"is-size-7"},"Add Next",-1),zw=[Ow,Dw],Nw=t("span",{class:"icon"},[t("i",{class:"mdi mdi-play"})],-1),Vw=t("span",{class:"is-size-7"},"Play",-1),Bw=[Nw,Vw];function Mw(s,e,a,r,o,i){return l(),_("div",null,[u(N,{name:"fade"},{default:d(()=>[a.show?(l(),_("div",pw,[t("div",{class:"modal-background",onClick:e[0]||(e[0]=n=>s.$emit("close"))}),t("div",fw,[t("div",yw,[t("div",gw,[t("p",bw,m(a.track.name),1),t("p",kw,m(a.track.artists[0].name),1),t("div",ww,[t("p",null,[vw,t("a",{class:"title is-6 has-text-link",onClick:e[1]||(e[1]=(...n)=>i.open_album&&i.open_album(...n))},m(a.album.name),1)]),t("p",null,[$w,t("a",{class:"title is-6 has-text-link",onClick:e[2]||(e[2]=(...n)=>i.open_artist&&i.open_artist(...n))},m(a.album.artists[0].name),1)]),t("p",null,[xw,t("span",Cw,m(s.$filters.time(a.album.release_date,"L")),1)]),t("p",null,[qw,t("span",Sw,m(a.track.track_number)+" / "+m(a.track.disc_number),1)]),t("p",null,[Pw,t("span",Aw,m(s.$filters.duration(a.track.duration_ms)),1)]),t("p",null,[Tw,t("span",Rw,m(a.track.uri),1)])])]),t("footer",Ew,[t("a",{class:"card-footer-item has-text-dark",onClick:e[3]||(e[3]=(...n)=>i.queue_add&&i.queue_add(...n))},Lw),t("a",{class:"card-footer-item has-text-dark",onClick:e[4]||(e[4]=(...n)=>i.queue_add_next&&i.queue_add_next(...n))},zw),t("a",{class:"card-footer-item has-text-dark",onClick:e[5]||(e[5]=(...n)=>i.play&&i.play(...n))},Bw)])])]),t("button",{class:"modal-close is-large","aria-label":"close",onClick:e[6]||(e[6]=n=>s.$emit("close"))})])):y("",!0)]),_:1})])}var ys=k(hw,[["render",Mw]]);const Ot={load:function(s){const e=new F;return e.setAccessToken(A.state.spotify.webapi_token),e.getAlbum(s.params.album_id,{market:A.state.spotify.webapi_country})},set:function(s,e){s.album=e}},Fw={name:"PageAlbum",components:{ContentWithHero:cs,SpotifyListItemTrack:fs,SpotifyModalDialogTrack:ys,SpotifyModalDialogAlbum:at,CoverArtwork:K},beforeRouteEnter(s,e,a){Ot.load(s).then(r=>{a(o=>Ot.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;Ot.load(s).then(o=>{Ot.set(r,o),a()})},data(){return{album:{artists:[{}],tracks:{}},show_track_details_modal:!1,selected_track:{},show_album_details_modal:!1}},computed:{artwork_url:function(){return this.album.images&&this.album.images.length>0?this.album.images[0].url:""}},methods:{open_artist:function(){this.$router.push({path:"/music/spotify/artists/"+this.album.artists[0].id})},play:function(){this.show_details_modal=!1,f.player_play_uri(this.album.uri,!0)},open_track_dialog:function(s){this.selected_track=s,this.show_track_details_modal=!0}}},Gw={class:"title is-5"},jw={class:"subtitle is-6 has-text-link has-text-weight-normal"},Kw={class:"buttons fd-is-centered-mobile fd-has-margin-top"},Hw=t("span",{class:"icon"},[t("i",{class:"mdi mdi-shuffle"})],-1),Ww=t("span",null,"Shuffle",-1),Yw=[Hw,Ww],Qw=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),Jw=[Qw],Zw={class:"image is-square fd-has-shadow fd-has-action"},Xw={class:"heading is-7 has-text-centered-mobile fd-has-margin-top"},tv=["onClick"],sv=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),ev=[sv];function iv(s,e,a,r,o,i){const n=h("cover-artwork"),c=h("spotify-list-item-track"),p=h("spotify-modal-dialog-track"),g=h("spotify-modal-dialog-album"),b=h("content-with-hero");return l(),w(b,null,{"heading-left":d(()=>[t("h1",Gw,m(o.album.name),1),t("h2",jw,[t("a",{class:"has-text-link",onClick:e[0]||(e[0]=(...x)=>i.open_artist&&i.open_artist(...x))},m(o.album.artists[0].name),1)]),t("div",Kw,[t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...x)=>i.play&&i.play(...x))},Yw),t("a",{class:"button is-small is-light is-rounded",onClick:e[2]||(e[2]=x=>o.show_album_details_modal=!0)},Jw)])]),"heading-right":d(()=>[t("p",Zw,[u(n,{artwork_url:i.artwork_url,artist:o.album.artist,album:o.album.name,onClick:e[3]||(e[3]=x=>o.show_album_details_modal=!0)},null,8,["artwork_url","artist","album"])])]),content:d(()=>[t("p",Xw,m(o.album.tracks.total)+" tracks ",1),(l(!0),_(T,null,I(o.album.tracks.items,(x,q)=>(l(),w(c,{key:x.id,track:x,position:q,album:o.album,context_uri:o.album.uri},{actions:d(()=>[t("a",{onClick:z=>i.open_track_dialog(x)},ev,8,tv)]),_:2},1032,["track","position","album","context_uri"]))),128)),u(p,{show:o.show_track_details_modal,track:o.selected_track,album:o.album,onClose:e[4]||(e[4]=x=>o.show_track_details_modal=!1)},null,8,["show","track","album"]),u(g,{show:o.show_album_details_modal,album:o.album,onClose:e[5]||(e[5]=x=>o.show_album_details_modal=!1)},null,8,["show","album"])]),_:1})}var ov=k(Fw,[["render",iv]]);const Jt=50,Dt={load:function(s){const e=new F;return e.setAccessToken(A.state.spotify.webapi_token),Promise.all([e.getPlaylist(s.params.playlist_id),e.getPlaylistTracks(s.params.playlist_id,{limit:Jt,offset:0})])},set:function(s,e){s.playlist=e[0],s.tracks=[],s.total=0,s.offset=0,s.append_tracks(e[1])}},av={name:"SpotifyPagePlaylist",components:{ContentWithHeading:R,SpotifyListItemTrack:fs,SpotifyModalDialogTrack:ys,SpotifyModalDialogPlaylist:Kt,VueEternalLoading:ss.exports.VueEternalLoading},beforeRouteEnter(s,e,a){Dt.load(s).then(r=>{a(o=>Dt.set(o,r))})},beforeRouteUpdate(s,e,a){const r=this;Dt.load(s).then(o=>{Dt.set(r,o),a()})},data(){return{playlist:{tracks:{}},tracks:[],total:0,offset:0,show_track_details_modal:!1,selected_track:{},show_playlist_details_modal:!1}},methods:{load_next:function({loaded:s}){const e=new F;e.setAccessToken(this.$store.state.spotify.webapi_token),e.getPlaylistTracks(this.playlist.id,{limit:Jt,offset:this.offset}).then(a=>{this.append_tracks(a),s(a.items.length,Jt)})},append_tracks:function(s){this.tracks=this.tracks.concat(s.items),this.total=s.total,this.offset+=s.limit},play:function(){this.show_details_modal=!1,f.player_play_uri(this.playlist.uri,!0)},open_track_dialog:function(s){this.selected_track=s,this.show_track_details_modal=!0}}},nv={class:"title is-4"},lv={class:"buttons is-centered"},rv=t("span",{class:"icon"},[t("i",{class:"mdi mdi-dots-horizontal mdi-18px"})],-1),dv=[rv],_v=t("span",{class:"icon"},[t("i",{class:"mdi mdi-shuffle"})],-1),cv=t("span",null,"Shuffle",-1),uv=[_v,cv],mv={class:"heading has-text-centered-mobile"},hv=["onClick"],pv=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),fv=[pv],yv=$(" . ");function gv(s,e,a,r,o,i){const n=h("spotify-list-item-track"),c=h("VueEternalLoading"),p=h("spotify-modal-dialog-track"),g=h("spotify-modal-dialog-playlist"),b=h("content-with-heading");return l(),w(b,null,{"heading-left":d(()=>[t("div",nv,m(o.playlist.name),1)]),"heading-right":d(()=>[t("div",lv,[t("a",{class:"button is-small is-light is-rounded",onClick:e[0]||(e[0]=x=>o.show_playlist_details_modal=!0)},dv),t("a",{class:"button is-small is-dark is-rounded",onClick:e[1]||(e[1]=(...x)=>i.play&&i.play(...x))},uv)])]),content:d(()=>[t("p",mv,m(o.playlist.tracks.total)+" tracks ",1),(l(!0),_(T,null,I(o.tracks,(x,q)=>(l(),w(n,{key:x.track.id,track:x.track,album:x.track.album,position:q,context_uri:o.playlist.uri},{actions:d(()=>[t("a",{onClick:z=>i.open_track_dialog(x.track)},fv,8,hv)]),_:2},1032,["track","album","position","context_uri"]))),128)),o.offset[yv]),_:1},8,["load"])):y("",!0),u(p,{show:o.show_track_details_modal,track:o.selected_track,album:o.selected_track.album,onClose:e[2]||(e[2]=x=>o.show_track_details_modal=!1)},null,8,["show","track","album"]),u(g,{show:o.show_playlist_details_modal,playlist:o.playlist,onClose:e[3]||(e[3]=x=>o.show_playlist_details_modal=!1)},null,8,["show","playlist"])]),_:1})}var bv=k(av,[["render",gv]]);const kv={name:"SpotifyListItemArtist",props:["artist"],methods:{open_artist:function(){this.$router.push({path:"/music/spotify/artists/"+this.artist.id})}}},wv={class:"media"},vv={class:"title is-6"},$v={class:"media-right"};function xv(s,e,a,r,o,i){return l(),_("div",wv,[t("div",{class:"media-content fd-has-action is-clipped",onClick:e[0]||(e[0]=(...n)=>i.open_artist&&i.open_artist(...n))},[t("h1",vv,m(a.artist.name),1)]),t("div",$v,[O(s.$slots,"actions")])])}var Cv=k(kv,[["render",xv]]);const et=50,qv={name:"SpotifyPageSearch",components:{ContentWithHeading:R,ContentText:Ms,TabsSearch:Fs,SpotifyListItemTrack:fs,SpotifyListItemArtist:Cv,SpotifyListItemAlbum:jt,SpotifyListItemPlaylist:ps,SpotifyModalDialogTrack:ys,SpotifyModalDialogArtist:Gs,SpotifyModalDialogAlbum:at,SpotifyModalDialogPlaylist:Kt,VueEternalLoading:ss.exports.VueEternalLoading,CoverArtwork:K},data(){return{search_query:"",tracks:{items:[],total:0},artists:{items:[],total:0},albums:{items:[],total:0},playlists:{items:[],total:0},query:{},search_param:{},show_track_details_modal:!1,selected_track:{},show_album_details_modal:!1,selected_album:{},show_artist_details_modal:!1,selected_artist:{},show_playlist_details_modal:!1,selected_playlist:{},validSearchTypes:["track","artist","album","playlist"]}},computed:{recent_searches(){return this.$store.state.recent_searches.filter(s=>!s.startsWith("query:"))},show_tracks(){return this.$route.query.type&&this.$route.query.type.includes("track")},show_all_tracks_button(){return this.tracks.total>this.tracks.items.length},show_artists(){return this.$route.query.type&&this.$route.query.type.includes("artist")},show_all_artists_button(){return this.artists.total>this.artists.items.length},show_albums(){return this.$route.query.type&&this.$route.query.type.includes("album")},show_all_albums_button(){return this.albums.total>this.albums.items.length},show_playlists(){return this.$route.query.type&&this.$route.query.type.includes("playlist")},show_all_playlists_button(){return this.playlists.total>this.playlists.items.length},is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},watch:{$route(s,e){this.query=s.query,this.search()}},mounted:function(){this.query=this.$route.query,this.search()},methods:{reset:function(){this.tracks={items:[],total:0},this.artists={items:[],total:0},this.albums={items:[],total:0},this.playlists={items:[],total:0}},search:function(){if(this.reset(),!this.query.query||this.query.query===""||this.query.query.startsWith("query:")){this.search_query="",this.$refs.search_field.focus();return}this.search_query=this.query.query,this.search_param.limit=this.query.limit?this.query.limit:et,this.search_param.offset=this.query.offset?this.query.offset:0,this.$store.commit(as,this.query.query),this.search_all()},spotify_search:function(){return f.spotify().then(({data:s})=>{this.search_param.market=s.webapi_country;const e=new F;e.setAccessToken(s.webapi_token);const a=this.query.type.split(",").filter(r=>this.validSearchTypes.includes(r));return e.search(this.query.query,a,this.search_param)})},search_all:function(){this.spotify_search().then(s=>{this.tracks=s.tracks?s.tracks:{items:[],total:0},this.artists=s.artists?s.artists:{items:[],total:0},this.albums=s.albums?s.albums:{items:[],total:0},this.playlists=s.playlists?s.playlists:{items:[],total:0}})},search_tracks_next:function({loaded:s}){this.spotify_search().then(e=>{this.tracks.items=this.tracks.items.concat(e.tracks.items),this.tracks.total=e.tracks.total,this.search_param.offset+=e.tracks.limit,s(e.tracks.items.length,et)})},search_artists_next:function({loaded:s}){this.spotify_search().then(e=>{this.artists.items=this.artists.items.concat(e.artists.items),this.artists.total=e.artists.total,this.search_param.offset+=e.artists.limit,s(e.artists.items.length,et)})},search_albums_next:function({loaded:s}){this.spotify_search().then(e=>{this.albums.items=this.albums.items.concat(e.albums.items),this.albums.total=e.albums.total,this.search_param.offset+=e.albums.limit,s(e.albums.items.length,et)})},search_playlists_next:function({loaded:s}){this.spotify_search().then(e=>{this.playlists.items=this.playlists.items.concat(e.playlists.items),this.playlists.total=e.playlists.total,this.search_param.offset+=e.playlists.limit,s(e.playlists.items.length,et)})},new_search:function(){!this.search_query||(this.$router.push({path:"/search/spotify",query:{type:"track,artist,album,playlist,audiobook,podcast",query:this.search_query,limit:3,offset:0}}),this.$refs.search_field.blur())},open_search_tracks:function(){this.$router.push({path:"/search/spotify",query:{type:"track",query:this.$route.query.query}})},open_search_artists:function(){this.$router.push({path:"/search/spotify",query:{type:"artist",query:this.$route.query.query}})},open_search_albums:function(){this.$router.push({path:"/search/spotify",query:{type:"album",query:this.$route.query.query}})},open_search_playlists:function(){this.$router.push({path:"/search/spotify",query:{type:"playlist",query:this.$route.query.query}})},open_recent_search:function(s){this.search_query=s,this.new_search()},open_track_dialog:function(s){this.selected_track=s,this.show_track_details_modal=!0},open_album_dialog:function(s){this.selected_album=s,this.show_album_details_modal=!0},open_artist_dialog:function(s){this.selected_artist=s,this.show_artist_details_modal=!0},open_playlist_dialog:function(s){this.selected_playlist=s,this.show_playlist_details_modal=!0},open_album:function(s){this.$router.push({path:"/music/spotify/albums/"+s.id})},artwork_url:function(s){return s.images&&s.images.length>0?s.images[0].url:""}}},Sv={class:"section fd-remove-padding-bottom"},Pv={class:"container"},Av={class:"columns is-centered"},Tv={class:"column is-four-fifths"},Rv={class:"field"},Ev={class:"control is-expanded has-icons-left"},Iv=t("span",{class:"icon is-left"},[t("i",{class:"mdi mdi-magnify"})],-1),Uv={class:"tags",style:{"margin-top":"16px"}},Lv=["onClick"],Ov=t("p",{class:"title is-4"},"Tracks",-1),Dv=["onClick"],zv=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),Nv=[zv],Vv=$(" . "),Bv={key:0,class:"level"},Mv={class:"level-item"},Fv=t("p",null,[t("i",null,"No tracks found")],-1),Gv=t("p",{class:"title is-4"},"Artists",-1),jv=["onClick"],Kv=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),Hv=[Kv],Wv=$(" . "),Yv={key:0,class:"level"},Qv={class:"level-item"},Jv=t("p",null,[t("i",null,"No artists found")],-1),Zv=t("p",{class:"title is-4"},"Albums",-1),Xv={class:"image is-64x64 fd-has-shadow fd-has-action"},t$=["onClick"],s$=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),e$=[s$],i$=$(" . "),o$={key:0,class:"level"},a$={class:"level-item"},n$=t("p",null,[t("i",null,"No albums found")],-1),l$=t("p",{class:"title is-4"},"Playlists",-1),r$=["onClick"],d$=t("span",{class:"icon has-text-dark"},[t("i",{class:"mdi mdi-dots-vertical mdi-18px"})],-1),_$=[d$],c$=$(" . "),u$={key:0,class:"level"},m$={class:"level-item"},h$=t("p",null,[t("i",null,"No playlists found")],-1);function p$(s,e,a,r,o,i){const n=h("tabs-search"),c=h("spotify-list-item-track"),p=h("VueEternalLoading"),g=h("spotify-modal-dialog-track"),b=h("content-with-heading"),x=h("content-text"),q=h("spotify-list-item-artist"),z=h("spotify-modal-dialog-artist"),S=h("cover-artwork"),W=h("spotify-list-item-album"),nt=h("spotify-modal-dialog-album"),lt=h("spotify-list-item-playlist"),L=h("spotify-modal-dialog-playlist");return l(),_("div",null,[t("section",Sv,[t("div",Pv,[t("div",Av,[t("div",Tv,[t("form",{onSubmit:e[1]||(e[1]=D((...P)=>i.new_search&&i.new_search(...P),["prevent"]))},[t("div",Rv,[t("p",Ev,[U(t("input",{ref:"search_field","onUpdate:modelValue":e[0]||(e[0]=P=>o.search_query=P),class:"input is-rounded is-shadowless",type:"text",placeholder:"Search",autocomplete:"off"},null,512),[[M,o.search_query]]),Iv])])],32),t("div",Uv,[(l(!0),_(T,null,I(i.recent_searches,P=>(l(),_("a",{key:P,class:"tag",onClick:st=>i.open_recent_search(P)},m(P),9,Lv))),128))])])])])]),u(n,{query:o.search_query},null,8,["query"]),i.show_tracks&&o.tracks.total?(l(),w(b,{key:0},{"heading-left":d(()=>[Ov]),content:d(()=>[(l(!0),_(T,null,I(o.tracks.items,P=>(l(),w(c,{key:P.id,track:P,album:P.album,position:0,context_uri:P.uri},{actions:d(()=>[t("a",{onClick:st=>i.open_track_dialog(P)},Nv,8,Dv)]),_:2},1032,["track","album","context_uri"]))),128)),o.query.type==="track"?(l(),w(p,{key:0,load:i.search_tracks_next},{"no-more":d(()=>[Vv]),_:1},8,["load"])):y("",!0),u(g,{show:o.show_track_details_modal,track:o.selected_track,album:o.selected_track.album,onClose:e[2]||(e[2]=P=>o.show_track_details_modal=!1)},null,8,["show","track","album"])]),footer:d(()=>[i.show_all_tracks_button?(l(),_("nav",Bv,[t("p",Mv,[t("a",{class:"button is-light is-small is-rounded",onClick:e[3]||(e[3]=(...P)=>i.open_search_tracks&&i.open_search_tracks(...P))},"Show all "+m(o.tracks.total.toLocaleString())+" tracks",1)])])):y("",!0)]),_:1})):y("",!0),i.show_tracks&&!o.tracks.total?(l(),w(x,{key:1,class:"mt-6"},{content:d(()=>[Fv]),_:1})):y("",!0),i.show_artists&&o.artists.total?(l(),w(b,{key:2},{"heading-left":d(()=>[Gv]),content:d(()=>[(l(!0),_(T,null,I(o.artists.items,P=>(l(),w(q,{key:P.id,artist:P},{actions:d(()=>[t("a",{onClick:st=>i.open_artist_dialog(P)},Hv,8,jv)]),_:2},1032,["artist"]))),128)),o.query.type==="artist"?(l(),w(p,{key:0,load:i.search_artists_next},{"no-more":d(()=>[Wv]),_:1},8,["load"])):y("",!0),u(z,{show:o.show_artist_details_modal,artist:o.selected_artist,onClose:e[4]||(e[4]=P=>o.show_artist_details_modal=!1)},null,8,["show","artist"])]),footer:d(()=>[i.show_all_artists_button?(l(),_("nav",Yv,[t("p",Qv,[t("a",{class:"button is-light is-small is-rounded",onClick:e[5]||(e[5]=(...P)=>i.open_search_artists&&i.open_search_artists(...P))},"Show all "+m(o.artists.total.toLocaleString())+" artists",1)])])):y("",!0)]),_:1})):y("",!0),i.show_artists&&!o.artists.total?(l(),w(x,{key:3},{content:d(()=>[Jv]),_:1})):y("",!0),i.show_albums&&o.albums.total?(l(),w(b,{key:4},{"heading-left":d(()=>[Zv]),content:d(()=>[(l(!0),_(T,null,I(o.albums.items,P=>(l(),w(W,{key:P.id,album:P,onClick:st=>i.open_album(P)},Vt({actions:d(()=>[t("a",{onClick:st=>i.open_album_dialog(P)},e$,8,t$)]),_:2},[i.is_visible_artwork?{name:"artwork",fn:d(()=>[t("p",Xv,[u(S,{artwork_url:i.artwork_url(P),artist:P.artist,album:P.name,maxwidth:64,maxheight:64},null,8,["artwork_url","artist","album"])])])}:void 0]),1032,["album","onClick"]))),128)),o.query.type==="album"?(l(),w(p,{key:0,load:i.search_albums_next},{"no-more":d(()=>[i$]),_:1},8,["load"])):y("",!0),u(nt,{show:o.show_album_details_modal,album:o.selected_album,onClose:e[6]||(e[6]=P=>o.show_album_details_modal=!1)},null,8,["show","album"])]),footer:d(()=>[i.show_all_albums_button?(l(),_("nav",o$,[t("p",a$,[t("a",{class:"button is-light is-small is-rounded",onClick:e[7]||(e[7]=(...P)=>i.open_search_albums&&i.open_search_albums(...P))},"Show all "+m(o.albums.total.toLocaleString())+" albums",1)])])):y("",!0)]),_:1})):y("",!0),i.show_albums&&!o.albums.total?(l(),w(x,{key:5},{content:d(()=>[n$]),_:1})):y("",!0),i.show_playlists&&o.playlists.total?(l(),w(b,{key:6},{"heading-left":d(()=>[l$]),content:d(()=>[(l(!0),_(T,null,I(o.playlists.items,P=>(l(),w(lt,{key:P.id,playlist:P},{actions:d(()=>[t("a",{onClick:st=>i.open_playlist_dialog(P)},_$,8,r$)]),_:2},1032,["playlist"]))),128)),o.query.type==="playlist"?(l(),w(p,{key:0,load:i.search_playlists_next},{"no-more":d(()=>[c$]),_:1},8,["load"])):y("",!0),u(L,{show:o.show_playlist_details_modal,playlist:o.selected_playlist,onClose:e[8]||(e[8]=P=>o.show_playlist_details_modal=!1)},null,8,["show","playlist"])]),footer:d(()=>[i.show_all_playlists_button?(l(),_("nav",u$,[t("p",m$,[t("a",{class:"button is-light is-small is-rounded",onClick:e[9]||(e[9]=(...P)=>i.open_search_playlists&&i.open_search_playlists(...P))},"Show all "+m(o.playlists.total.toLocaleString())+" playlists",1)])])):y("",!0)]),_:1})):y("",!0),i.show_playlists&&!o.playlists.total?(l(),w(x,{key:7},{content:d(()=>[h$]),_:1})):y("",!0)])}var f$=k(qv,[["render",p$]]);const y$={name:"TabsSettings",computed:{}},g$={class:"section fd-tabs-section"},b$={class:"container"},k$={class:"columns is-centered"},w$={class:"column is-four-fifths"},v$={class:"tabs is-centered is-small"},$$=["onClick","onKeypress"],x$=t("span",{class:""},"Webinterface",-1),C$=[x$],q$=["onClick","onKeypress"],S$=t("span",{class:""},"Remotes & Outputs",-1),P$=[S$],A$=["onClick","onKeypress"],T$=t("span",{class:""},"Artwork",-1),R$=[T$],E$=["onClick","onKeypress"],I$=t("span",{class:""},"Online Services",-1),U$=[I$];function L$(s,e,a,r,o,i){const n=h("router-link");return l(),_("section",g$,[t("div",b$,[t("div",k$,[t("div",w$,[t("div",v$,[t("ul",null,[u(n,{to:"/settings/webinterface",custom:""},{default:d(({navigate:c,isActive:p})=>[t("li",{class:C({"is-active":p})},[t("a",{onClick:c,onKeypress:B(c,["enter"])},C$,40,$$)],2)]),_:1}),u(n,{to:"/settings/remotes-outputs",custom:""},{default:d(({navigate:c,isActive:p})=>[t("li",{class:C({"is-active":p})},[t("a",{onClick:c,onKeypress:B(c,["enter"])},P$,40,q$)],2)]),_:1}),u(n,{to:"/settings/artwork",custom:""},{default:d(({navigate:c,isActive:p})=>[t("li",{class:C({"is-active":p})},[t("a",{onClick:c,onKeypress:B(c,["enter"])},R$,40,A$)],2)]),_:1}),u(n,{to:"/settings/online-services",custom:""},{default:d(({navigate:c,isActive:p})=>[t("li",{class:C({"is-active":p})},[t("a",{onClick:c,onKeypress:B(c,["enter"])},U$,40,E$)],2)]),_:1})])])])])])])}var Ht=k(y$,[["render",L$]]);const O$={name:"SettingsCheckbox",props:["category_name","option_name"],data(){return{timerDelay:2e3,timerId:-1,statusUpdate:""}},computed:{category(){return this.$store.state.settings.categories.find(s=>s.name===this.category_name)},option(){return this.category?this.category.options.find(s=>s.name===this.option_name):{}},value(){return this.option.value},info(){return this.statusUpdate==="success"?"(setting saved)":this.statusUpdate==="error"?"(error saving setting)":""}},methods:{set_update_timer(){this.timerId>0&&(window.clearTimeout(this.timerId),this.timerId=-1),this.statusUpdate="",this.$refs.settings_checkbox.checked!==this.value&&(this.timerId=window.setTimeout(this.update_setting,this.timerDelay))},update_setting(){this.timerId=-1;const s=this.$refs.settings_checkbox.checked;if(console.log(this.$refs.settings_checkbox),s===this.value){this.statusUpdate="";return}const e={category:this.category.name,name:this.option_name,value:s};f.settings_update(this.category.name,e).then(()=>{this.$store.commit(Bt,e),this.statusUpdate="success"}).catch(()=>{this.statusUpdate="error",this.$refs.settings_checkbox.checked=this.value}).finally(()=>{this.timerId=window.setTimeout(this.clear_status,this.timerDelay)})},clear_status:function(){this.statusUpdate=""}}},D$={class:"field"},z$={class:"checkbox"},N$=["checked"],V$={key:0,class:"help"};function B$(s,e,a,r,o,i){return l(),_("div",D$,[t("label",z$,[t("input",{ref:"settings_checkbox",type:"checkbox",checked:i.value,onChange:e[0]||(e[0]=(...n)=>i.set_update_timer&&i.set_update_timer(...n))},null,40,N$),O(s.$slots,"label"),t("i",{class:C(["is-size-7",{"has-text-info":o.statusUpdate==="success","has-text-danger":o.statusUpdate==="error"}])},m(i.info),3)]),s.$slots.info?(l(),_("p",V$,[O(s.$slots,"info")])):y("",!0)])}var js=k(O$,[["render",B$]]);const M$={name:"SettingsTextfield",props:["category_name","option_name","placeholder","disabled"],data(){return{timerDelay:2e3,timerId:-1,statusUpdate:""}},computed:{category(){return this.$store.state.settings.categories.find(s=>s.name===this.category_name)},option(){return this.category?this.category.options.find(s=>s.name===this.option_name):{}},value(){return this.option.value},info(){return this.statusUpdate==="success"?"(setting saved)":this.statusUpdate==="error"?"(error saving setting)":""}},methods:{set_update_timer(){this.timerId>0&&(window.clearTimeout(this.timerId),this.timerId=-1),this.statusUpdate="",this.$refs.settings_text.value!==this.value&&(this.timerId=window.setTimeout(this.update_setting,this.timerDelay))},update_setting(){this.timerId=-1;const s=this.$refs.settings_text.value;if(s===this.value){this.statusUpdate="";return}const e={category:this.category.name,name:this.option_name,value:s};f.settings_update(this.category.name,e).then(()=>{this.$store.commit(Bt,e),this.statusUpdate="success"}).catch(()=>{this.statusUpdate="error",this.$refs.settings_text.value=this.value}).finally(()=>{this.timerId=window.setTimeout(this.clear_status,this.timerDelay)})},clear_status:function(){this.statusUpdate=""}}},F$=["disabled"],G$={class:"field"},j$={class:"label has-text-weight-normal"},K$={class:"control"},H$=["placeholder","value"],W$={key:0,class:"help"};function Y$(s,e,a,r,o,i){return l(),_("fieldset",{disabled:a.disabled},[t("div",G$,[t("label",j$,[O(s.$slots,"label"),t("i",{class:C(["is-size-7",{"has-text-info":o.statusUpdate==="success","has-text-danger":o.statusUpdate==="error"}])},m(i.info),3)]),t("div",K$,[t("input",{ref:"settings_text",class:"input",type:"text",placeholder:a.placeholder,value:i.value,onInput:e[0]||(e[0]=(...n)=>i.set_update_timer&&i.set_update_timer(...n))},null,40,H$)]),s.$slots.info?(l(),_("p",W$,[O(s.$slots,"info")])):y("",!0)])],8,F$)}var Q$=k(M$,[["render",Y$]]);const J$={name:"SettingsIntfield",props:["category_name","option_name","placeholder","disabled"],data(){return{timerDelay:2e3,timerId:-1,statusUpdate:""}},computed:{category(){return this.$store.state.settings.categories.find(s=>s.name===this.category_name)},option(){return this.category?this.category.options.find(s=>s.name===this.option_name):{}},value(){return this.option.value},info(){return this.statusUpdate==="success"?"(setting saved)":this.statusUpdate==="error"?"(error saving setting)":""}},methods:{set_update_timer(){this.timerId>0&&(window.clearTimeout(this.timerId),this.timerId=-1),this.statusUpdate="",this.$refs.settings_number.value!==this.value&&(this.timerId=window.setTimeout(this.update_setting,this.timerDelay))},update_setting(){this.timerId=-1;const s=this.$refs.settings_number.value;if(s===this.value){this.statusUpdate="";return}const e={category:this.category.name,name:this.option_name,value:parseInt(s,10)};f.settings_update(this.category.name,e).then(()=>{this.$store.commit(Bt,e),this.statusUpdate="success"}).catch(()=>{this.statusUpdate="error",this.$refs.settings_number.value=this.value}).finally(()=>{this.timerId=window.setTimeout(this.clear_status,this.timerDelay)})},clear_status:function(){this.statusUpdate=""}}},Z$=["disabled"],X$={class:"field"},t0={class:"label has-text-weight-normal"},s0={class:"control"},e0=["placeholder","value"],i0={key:0,class:"help"};function o0(s,e,a,r,o,i){return l(),_("fieldset",{disabled:a.disabled},[t("div",X$,[t("label",t0,[O(s.$slots,"label"),t("i",{class:C(["is-size-7",{"has-text-info":o.statusUpdate==="success","has-text-danger":o.statusUpdate==="error"}])},m(i.info),3)]),t("div",s0,[t("input",{ref:"settings_number",class:"input",type:"number",min:"0",style:{width:"10em"},placeholder:a.placeholder,value:i.value,onInput:e[0]||(e[0]=(...n)=>i.set_update_timer&&i.set_update_timer(...n))},null,40,e0)]),s.$slots.info?(l(),_("p",i0,[O(s.$slots,"info")])):y("",!0)])],8,Z$)}var a0=k(J$,[["render",o0]]);const n0={name:"SettingsPageWebinterface",components:{ContentWithHeading:R,TabsSettings:Ht,SettingsCheckbox:js,SettingsTextfield:Q$,SettingsIntfield:a0},computed:{settings_option_show_composer_now_playing(){return this.$store.getters.settings_option_show_composer_now_playing}}},l0={class:"fd-page-with-tabs"},r0=t("div",{class:"title is-4"},"Navbar items",-1),d0=t("p",{class:"content"},"Select the top navigation bar menu items",-1),_0=t("div",{class:"notification is-size-7"}," If you select more items than can be shown on your screen then the burger menu will disappear. ",-1),c0=$(" Playlists "),u0=$(" Music "),m0=$(" Podcasts "),h0=$(" Audiobooks "),p0=$(" Radio "),f0=$(" Files "),y0=$(" Search "),g0=t("div",{class:"title is-4"},"Album lists",-1),b0=$(" Show cover artwork in album list "),k0=t("div",{class:"title is-4"},"Now playing page",-1),w0=$(" Show composer "),v0=$(' If enabled the composer of the current playing track is shown on the "now playing page" '),$0=$(" Show composer only for listed genres "),x0=t("p",{class:"help"},' Comma separated list of genres the composer should be displayed on the "now playing page". ',-1),C0=t("p",{class:"help"},"Leave empty to always show the composer.",-1),q0=t("p",{class:"help"},[$(" The genre tag of the current track is matched by checking, if one of the defined genres are included. For example setting to "),t("code",null,"classical, soundtrack"),$(' will show the composer for tracks with a genre tag of "Contemporary Classical".'),t("br")],-1),S0=t("div",{class:"title is-4"},"Recently added page",-1),P0=$(' Limit the number of albums shown on the "Recently Added" page ');function A0(s,e,a,r,o,i){const n=h("tabs-settings"),c=h("settings-checkbox"),p=h("content-with-heading"),g=h("settings-textfield"),b=h("settings-intfield");return l(),_("div",l0,[u(n),u(p,null,{"heading-left":d(()=>[r0]),content:d(()=>[d0,_0,u(c,{category_name:"webinterface",option_name:"show_menu_item_playlists"},{label:d(()=>[c0]),_:1}),u(c,{category_name:"webinterface",option_name:"show_menu_item_music"},{label:d(()=>[u0]),_:1}),u(c,{category_name:"webinterface",option_name:"show_menu_item_podcasts"},{label:d(()=>[m0]),_:1}),u(c,{category_name:"webinterface",option_name:"show_menu_item_audiobooks"},{label:d(()=>[h0]),_:1}),u(c,{category_name:"webinterface",option_name:"show_menu_item_radio"},{label:d(()=>[p0]),_:1}),u(c,{category_name:"webinterface",option_name:"show_menu_item_files"},{label:d(()=>[f0]),_:1}),u(c,{category_name:"webinterface",option_name:"show_menu_item_search"},{label:d(()=>[y0]),_:1})]),_:1}),u(p,null,{"heading-left":d(()=>[g0]),content:d(()=>[u(c,{category_name:"webinterface",option_name:"show_cover_artwork_in_album_lists"},{label:d(()=>[b0]),_:1})]),_:1}),u(p,null,{"heading-left":d(()=>[k0]),content:d(()=>[u(c,{category_name:"webinterface",option_name:"show_composer_now_playing"},{label:d(()=>[w0]),info:d(()=>[v0]),_:1}),u(g,{category_name:"webinterface",option_name:"show_composer_for_genre",disabled:!i.settings_option_show_composer_now_playing,placeholder:"Genres"},{label:d(()=>[$0]),info:d(()=>[x0,C0,q0]),_:1},8,["disabled"])]),_:1}),u(p,null,{"heading-left":d(()=>[S0]),content:d(()=>[u(b,{category_name:"webinterface",option_name:"recently_added_limit"},{label:d(()=>[P0]),_:1})]),_:1})])}var T0=k(n0,[["render",A0]]);const R0={name:"SettingsPageArtwork",components:{ContentWithHeading:R,TabsSettings:Ht,SettingsCheckbox:js},computed:{spotify(){return this.$store.state.spotify}}},E0={class:"fd-page-with-tabs"},I0=t("div",{class:"title is-4"},"Artwork",-1),U0=t("div",{class:"content"},[t("p",null," OwnTone supports PNG and JPEG artwork which is either placed as separate image files in the library, embedded in the media files or made available online by radio stations. "),t("p",null," In addition to that, you can enable fetching artwork from the following artwork providers: ")],-1),L0=$(" Spotify "),O0=$(" Discogs ("),D0=t("a",{href:"https://www.discogs.com/"},"https://www.discogs.com/",-1),z0=$(") "),N0=$(" Cover Art Archive ("),V0=t("a",{href:"https://coverartarchive.org/"},"https://coverartarchive.org/",-1),B0=$(") ");function M0(s,e,a,r,o,i){const n=h("tabs-settings"),c=h("settings-checkbox"),p=h("content-with-heading");return l(),_("div",E0,[u(n),u(p,null,{"heading-left":d(()=>[I0]),content:d(()=>[U0,i.spotify.libspotify_logged_in?(l(),w(c,{key:0,category_name:"artwork",option_name:"use_artwork_source_spotify"},{label:d(()=>[L0]),_:1})):y("",!0),u(c,{category_name:"artwork",option_name:"use_artwork_source_discogs"},{label:d(()=>[O0,D0,z0]),_:1}),u(c,{category_name:"artwork",option_name:"use_artwork_source_coverartarchive"},{label:d(()=>[N0,V0,B0]),_:1})]),_:1})])}var F0=k(R0,[["render",M0]]);const G0={name:"SettingsPageOnlineServices",components:{ContentWithHeading:R,TabsSettings:Ht},filters:{join(s){return s.join(", ")}},data(){return{libspotify:{user:"",password:"",errors:{user:"",password:"",error:""}},lastfm_login:{user:"",password:"",errors:{user:"",password:"",error:""}}}},computed:{lastfm(){return this.$store.state.lastfm},spotify(){return this.$store.state.spotify},spotify_required_scope(){return this.spotify.webapi_required_scope?this.spotify.webapi_required_scope.split(" "):[]},spotify_missing_scope(){return this.spotify.webapi_token_valid&&this.spotify.webapi_granted_scope&&this.spotify.webapi_required_scope?this.spotify.webapi_required_scope.split(" ").filter(s=>this.spotify.webapi_granted_scope.indexOf(s)<0):[]},use_libspotify(){return this.$store.state.config.use_libspotify}},methods:{login_libspotify(){f.spotify_login(this.libspotify).then(s=>{this.libspotify.user="",this.libspotify.password="",this.libspotify.errors.user="",this.libspotify.errors.password="",this.libspotify.errors.error="",s.data.success||(this.libspotify.errors.user=s.data.errors.user,this.libspotify.errors.password=s.data.errors.password,this.libspotify.errors.error=s.data.errors.error)})},logout_spotify(){f.spotify_logout()},login_lastfm(){f.lastfm_login(this.lastfm_login).then(s=>{this.lastfm_login.user="",this.lastfm_login.password="",this.lastfm_login.errors.user="",this.lastfm_login.errors.password="",this.lastfm_login.errors.error="",s.data.success||(this.lastfm_login.errors.user=s.data.errors.user,this.lastfm_login.errors.password=s.data.errors.password,this.lastfm_login.errors.error=s.data.errors.error)})},logoutLastfm(){f.lastfm_logout()}}},j0={class:"fd-page-with-tabs"},K0=t("div",{class:"title is-4"},"Spotify",-1),H0={key:0,class:"notification is-size-7"},W0=t("p",null," OwnTone was either built without support for Spotify or libspotify is not installed. ",-1),Y0=[W0],Q0={key:1},J0={class:"notification is-size-7"},Z0=t("b",null,"You must have a Spotify premium account",-1),X0=$(". "),tx={key:0},sx={key:0},ex=t("p",{class:"content"},[t("b",null,"libspotify"),$(" - Login with your Spotify username and password ")],-1),ix={key:0,class:"fd-has-margin-bottom"},ox=$(" Logged in as "),ax={class:"field is-grouped"},nx={class:"control is-expanded"},lx={class:"help is-danger"},rx={class:"control is-expanded"},dx={class:"help is-danger"},_x=t("div",{class:"control"},[t("button",{class:"button is-info"},"Login")],-1),cx={class:"help is-danger"},ux=t("p",{class:"help"}," libspotify enables OwnTone to play Spotify tracks. ",-1),mx=t("p",{class:"help"}," OwnTone will not store your password, but will still be able to log you in automatically afterwards, because libspotify saves a login token. ",-1),hx={class:"fd-has-margin-top"},px=t("p",{class:"content"},[t("b",null,"Spotify Web API"),$(" - Grant access to the Spotify Web API ")],-1),fx={key:0},yx=$(" Access granted for "),gx={key:1,class:"help is-danger"},bx=$(" Please reauthorize Web API access to grant OwnTone the following additional access rights: "),kx={class:"field fd-has-margin-top"},wx={class:"control"},vx=["href"],$x={class:"help"},xx=$(" Access to the Spotify Web API enables scanning of your Spotify library. Required scopes are "),Cx=$(". "),qx={key:2,class:"field fd-has-margin-top"},Sx={class:"control"},Px=t("div",{class:"title is-4"},"Last.fm",-1),Ax={key:0,class:"notification is-size-7"},Tx=t("p",null,"OwnTone was built without support for Last.fm.",-1),Rx=[Tx],Ex={key:1},Ix=t("p",{class:"content"},[t("b",null,"Last.fm"),$(" - Login with your Last.fm username and password to enable scrobbling ")],-1),Ux={key:0},Lx={key:1},Ox={class:"field is-grouped"},Dx={class:"control is-expanded"},zx={class:"help is-danger"},Nx={class:"control is-expanded"},Vx={class:"help is-danger"},Bx=t("div",{class:"control"},[t("button",{class:"button is-info",type:"submit"},"Login")],-1),Mx={class:"help is-danger"},Fx=t("p",{class:"help"}," OwnTone will not store your Last.fm username/password, only the session key. The session key does not expire. ",-1);function Gx(s,e,a,r,o,i){const n=h("tabs-settings"),c=h("content-with-heading");return l(),_("div",j0,[u(n),u(c,null,{"heading-left":d(()=>[K0]),content:d(()=>[i.spotify.spotify_installed?y("",!0):(l(),_("div",H0,Y0)),i.spotify.spotify_installed?(l(),_("div",Q0,[t("div",J0,[Z0,X0,s.use_libspotity?(l(),_("span",tx,"If you normally log into Spotify with your Facebook account you must first go to Spotify's web site where you can get the Spotify username and password that matches your account.")):y("",!0)]),s.use_libspotity?(l(),_("div",sx,[ex,i.spotify.libspotify_logged_in?(l(),_("p",ix,[ox,t("b",null,[t("code",null,m(i.spotify.libspotify_user),1)])])):y("",!0),i.spotify.spotify_installed&&!i.spotify.libspotify_logged_in?(l(),_("form",{key:1,onSubmit:e[2]||(e[2]=D((...p)=>i.login_libspotify&&i.login_libspotify(...p),["prevent"]))},[t("div",ax,[t("div",nx,[U(t("input",{"onUpdate:modelValue":e[0]||(e[0]=p=>o.libspotify.user=p),class:"input",type:"text",placeholder:"Username"},null,512),[[M,o.libspotify.user]]),t("p",lx,m(o.libspotify.errors.user),1)]),t("div",rx,[U(t("input",{"onUpdate:modelValue":e[1]||(e[1]=p=>o.libspotify.password=p),class:"input",type:"password",placeholder:"Password"},null,512),[[M,o.libspotify.password]]),t("p",dx,m(o.libspotify.errors.password),1)]),_x])],32)):y("",!0),t("p",cx,m(o.libspotify.errors.error),1),ux,mx])):y("",!0),t("div",hx,[px,i.spotify.webapi_token_valid?(l(),_("p",fx,[yx,t("b",null,[t("code",null,m(i.spotify.webapi_user),1)])])):y("",!0),i.spotify_missing_scope.length>0?(l(),_("p",gx,[bx,t("b",null,[t("code",null,m(i.spotify_missing_scope.join()),1)])])):y("",!0),t("div",kx,[t("div",wx,[t("a",{class:C(["button",{"is-info":!i.spotify.webapi_token_valid||i.spotify_missing_scope.length>0}]),href:i.spotify.oauth_uri},"Authorize Web API access",10,vx)])]),t("p",$x,[xx,t("code",null,m(i.spotify_required_scope.join()),1),Cx]),i.spotify.webapi_token_valid?(l(),_("div",qx,[t("div",Sx,[t("a",{class:"button is-danger",onClick:e[3]||(e[3]=(...p)=>i.logout_spotify&&i.logout_spotify(...p))},"Logout")])])):y("",!0)])])):y("",!0)]),_:1}),u(c,null,{"heading-left":d(()=>[Px]),content:d(()=>[i.lastfm.enabled?y("",!0):(l(),_("div",Ax,Rx)),i.lastfm.enabled?(l(),_("div",Ex,[Ix,i.lastfm.scrobbling_enabled?(l(),_("div",Ux,[t("a",{class:"button",onClick:e[4]||(e[4]=(...p)=>i.logoutLastfm&&i.logoutLastfm(...p))},"Stop scrobbling")])):y("",!0),i.lastfm.scrobbling_enabled?y("",!0):(l(),_("div",Lx,[t("form",{onSubmit:e[7]||(e[7]=D((...p)=>i.login_lastfm&&i.login_lastfm(...p),["prevent"]))},[t("div",Ox,[t("div",Dx,[U(t("input",{"onUpdate:modelValue":e[5]||(e[5]=p=>o.lastfm_login.user=p),class:"input",type:"text",placeholder:"Username"},null,512),[[M,o.lastfm_login.user]]),t("p",zx,m(o.lastfm_login.errors.user),1)]),t("div",Nx,[U(t("input",{"onUpdate:modelValue":e[6]||(e[6]=p=>o.lastfm_login.password=p),class:"input",type:"password",placeholder:"Password"},null,512),[[M,o.lastfm_login.password]]),t("p",Vx,m(o.lastfm_login.errors.password),1)]),Bx]),t("p",Mx,m(o.lastfm_login.errors.error),1),Fx],32)]))])):y("",!0)]),_:1})])}var jx=k(G0,[["render",Gx]]);const Kx={name:"SettingsPageRemotesOutputs",components:{ContentWithHeading:R,TabsSettings:Ht},filters:{},data(){return{pairing_req:{pin:""},verification_req:{pin:""}}},computed:{pairing(){return this.$store.state.pairing},outputs(){return this.$store.state.outputs}},methods:{kickoff_pairing(){f.pairing_kickoff(this.pairing_req)},output_toggle(s){f.output_toggle(s)},kickoff_verification(s){f.output_update(s,this.verification_req)}}},Hx={class:"fd-page-with-tabs"},Wx=t("div",{class:"title is-4"},"Remote Pairing",-1),Yx={key:0,class:"notification"},Qx={class:"label has-text-weight-normal"},Jx=$(" Remote pairing request from "),Zx={class:"field is-grouped"},Xx={class:"control"},t2=t("div",{class:"control"},[t("button",{class:"button is-info",type:"submit"},"Send")],-1),s2={key:1,class:"content"},e2=t("p",null,"No active pairing request.",-1),i2=[e2],o2=t("div",{class:"title is-4"},"Speaker pairing and device verification",-1),a2=t("p",{class:"content"}," If your speaker requires pairing then activate it below and enter the PIN that it displays. ",-1),n2={class:"field"},l2={class:"control"},r2={class:"checkbox"},d2=["onUpdate:modelValue","onChange"],_2=["onSubmit"],c2={class:"field is-grouped"},u2={class:"control"},m2=t("div",{class:"control"},[t("button",{class:"button is-info",type:"submit"},"Verify")],-1);function h2(s,e,a,r,o,i){const n=h("tabs-settings"),c=h("content-with-heading");return l(),_("div",Hx,[u(n),u(c,null,{"heading-left":d(()=>[Wx]),content:d(()=>[i.pairing.active?(l(),_("div",Yx,[t("form",{onSubmit:e[1]||(e[1]=D((...p)=>i.kickoff_pairing&&i.kickoff_pairing(...p),["prevent"]))},[t("label",Qx,[Jx,t("b",null,m(i.pairing.remote),1)]),t("div",Zx,[t("div",Xx,[U(t("input",{"onUpdate:modelValue":e[0]||(e[0]=p=>o.pairing_req.pin=p),class:"input",type:"text",placeholder:"Enter pairing code"},null,512),[[M,o.pairing_req.pin]])]),t2])],32)])):y("",!0),i.pairing.active?y("",!0):(l(),_("div",s2,i2))]),_:1}),u(c,null,{"heading-left":d(()=>[o2]),content:d(()=>[a2,(l(!0),_(T,null,I(i.outputs,p=>(l(),_("div",{key:p.id},[t("div",n2,[t("div",l2,[t("label",r2,[U(t("input",{"onUpdate:modelValue":g=>p.selected=g,type:"checkbox",onChange:g=>i.output_toggle(p.id)},null,40,d2),[[J,p.selected]]),$(" "+m(p.name),1)])])]),p.needs_auth_key?(l(),_("form",{key:0,class:"fd-has-margin-bottom",onSubmit:D(g=>i.kickoff_verification(p.id),["prevent"])},[t("div",c2,[t("div",u2,[U(t("input",{"onUpdate:modelValue":e[2]||(e[2]=g=>o.verification_req.pin=g),class:"input",type:"text",placeholder:"Enter verification code"},null,512),[[M,o.verification_req.pin]])]),m2])],40,_2)):y("",!0)]))),128))]),_:1})])}var p2=k(Kx,[["render",h2]]);const Ks=Zs({history:Xs(),routes:[{path:"/",name:"PageQueue",component:Yo},{path:"/about",name:"About",component:Ab},{path:"/now-playing",name:"Now playing",component:ga},{path:"/music",redirect:"/music/browse"},{path:"/music/browse",name:"Browse",component:Hr,meta:{show_progress:!0,has_tabs:!0}},{path:"/music/browse/recently_added",name:"Browse Recently Added",component:Xr,meta:{show_progress:!0,has_tabs:!0}},{path:"/music/browse/recently_played",name:"Browse Recently Played",component:ad,meta:{show_progress:!0,has_tabs:!0}},{path:"/music/artists",name:"Artists",component:b_,meta:{show_progress:!0,has_tabs:!0,has_index:!0}},{path:"/music/artists/:artist_id",name:"Artist",component:I_,meta:{show_progress:!0,has_index:!0}},{path:"/music/artists/:artist_id/tracks",name:"Tracks",component:Bu,meta:{show_progress:!0,has_index:!0}},{path:"/music/albums",name:"Albums",component:Z_,meta:{show_progress:!0,has_tabs:!0,has_index:!0}},{path:"/music/albums/:album_id",name:"Album",component:qc,meta:{show_progress:!0}},{path:"/music/genres",name:"Genres",component:ru,meta:{show_progress:!0,has_tabs:!0,has_index:!0}},{path:"/music/genres/:genre",name:"Genre",component:bu,meta:{show_progress:!0,has_index:!0}},{path:"/music/genres/:genre/tracks",name:"GenreTracks",component:Tu,meta:{show_progress:!0,has_index:!0}},{path:"/music/composers",name:"Composers",component:$m,meta:{show_progress:!0,has_tabs:!0,has_index:!0}},{path:"/music/composers/:composer/albums",name:"ComposerAlbums",component:Um,meta:{show_progress:!0,has_tabs:!0,has_index:!0}},{path:"/music/composers/:composer/tracks",name:"ComposerTracks",component:jm,meta:{show_progress:!0,has_tabs:!0,has_index:!0}},{path:"/podcasts",name:"Podcasts",component:Rh,meta:{show_progress:!0}},{path:"/podcasts/:album_id",name:"Podcast",component:Kh,meta:{show_progress:!0}},{path:"/audiobooks",redirect:"/audiobooks/artists"},{path:"/audiobooks/artists",name:"AudiobooksArtists",component:bp,meta:{show_progress:!0,has_tabs:!0,has_index:!0}},{path:"/audiobooks/artists/:artist_id",name:"AudiobooksArtist",component:Tp,meta:{show_progress:!0}},{path:"/audiobooks/albums",name:"AudiobooksAlbums",component:mp,meta:{show_progress:!0,has_tabs:!0,has_index:!0}},{path:"/audiobooks/:album_id",name:"Audiobook",component:Fp,meta:{show_progress:!0}},{path:"/radio",name:"Radio",component:Iy,meta:{show_progress:!0}},{path:"/files",name:"Files",component:Py,meta:{show_progress:!0}},{path:"/playlists",redirect:"/playlists/0"},{path:"/playlists/:playlist_id",name:"Playlists",component:Pf,meta:{show_progress:!0}},{path:"/playlists/:playlist_id/tracks",name:"Playlist",component:Nf,meta:{show_progress:!0}},{path:"/search",redirect:"/search/library"},{path:"/search/library",name:"Search Library",component:Ng},{path:"/music/spotify",name:"Spotify",component:ok,meta:{show_progress:!0,has_tabs:!0}},{path:"/music/spotify/new-releases",name:"Spotify Browse New Releases",component:mk,meta:{show_progress:!0,has_tabs:!0}},{path:"/music/spotify/featured-playlists",name:"Spotify Browse Featured Playlists",component:wk,meta:{show_progress:!0,has_tabs:!0}},{path:"/music/spotify/artists/:artist_id",name:"Spotify Artist",component:aw,meta:{show_progress:!0}},{path:"/music/spotify/albums/:album_id",name:"Spotify Album",component:ov,meta:{show_progress:!0}},{path:"/music/spotify/playlists/:playlist_id",name:"Spotify Playlist",component:bv,meta:{show_progress:!0}},{path:"/search/spotify",name:"Spotify Search",component:f$},{path:"/settings/webinterface",name:"Settings Webinterface",component:T0},{path:"/settings/artwork",name:"Settings Artwork",component:F0},{path:"/settings/online-services",name:"Settings Online Services",component:jx},{path:"/settings/remotes-outputs",name:"Settings Remotes Outputs",component:p2}],scrollBehavior(s,e,a){return a?new Promise((o,i)=>{setTimeout(()=>{o(a)},0)}):s.path===e.path&&s.hash?{el:s.hash,top:120}:s.hash?new Promise((o,i)=>{setTimeout(()=>{o({el:s.hash,top:120})},0)}):s.meta.has_index?new Promise((o,i)=>{setTimeout(()=>{s.meta.has_tabs?o({el:"#top",top:140}):o({el:"#top",top:110})},0)}):{left:0,top:0}}});Ks.beforeEach((s,e,a)=>{if(A.state.show_burger_menu){A.commit(Z,!1),a(!1);return}if(A.state.show_player_menu){A.commit(X,!1),a(!1);return}a(!0)});te(Y);const f2={duration:function(s,e){return e?Y.duration(s).format(e):Y.duration(s).format("hh:*mm:ss")},time:function(s,e){return e?Y(s).format(e):Y(s).format()},timeFromNow:function(s,e){return Y(s).fromNow(e)},number:function(s){return s.toLocaleString()},channels:function(s){return s===1?"mono":s===2?"stereo":s?s+" channels":""}},y2={name:"NavbarItemLink",props:{to:String,exact:Boolean},computed:{is_active(){return this.exact?this.$route.path===this.to:this.$route.path.startsWith(this.to)},show_player_menu:{get(){return this.$store.state.show_player_menu},set(s){this.$store.commit(X,s)}},show_burger_menu:{get(){return this.$store.state.show_burger_menu},set(s){this.$store.commit(Z,s)}}},methods:{open_link:function(){this.show_burger_menu&&this.$store.commit(Z,!1),this.show_player_menu&&this.$store.commit(X,!1),this.$router.push({path:this.to})},full_path:function(){return this.$router.resolve(this.to).href}}},g2=["href"];function b2(s,e,a,r,o,i){return l(),_("a",{class:C(["navbar-item",{"is-active":i.is_active}]),href:i.full_path(),onClick:e[0]||(e[0]=D(n=>i.open_link(),["stop","prevent"]))},[O(s.$slots,"default")],10,g2)}var Hs=k(y2,[["render",b2]]);const k2={name:"NavbarTop",components:{NavbarItemLink:Hs},data(){return{show_settings_menu:!1}},computed:{is_visible_playlists(){return this.$store.getters.settings_option("webinterface","show_menu_item_playlists").value},is_visible_music(){return this.$store.getters.settings_option("webinterface","show_menu_item_music").value},is_visible_podcasts(){return this.$store.getters.settings_option("webinterface","show_menu_item_podcasts").value},is_visible_audiobooks(){return this.$store.getters.settings_option("webinterface","show_menu_item_audiobooks").value},is_visible_radio(){return this.$store.getters.settings_option("webinterface","show_menu_item_radio").value},is_visible_files(){return this.$store.getters.settings_option("webinterface","show_menu_item_files").value},is_visible_search(){return this.$store.getters.settings_option("webinterface","show_menu_item_search").value},player(){return this.$store.state.player},config(){return this.$store.state.config},library(){return this.$store.state.library},audiobooks(){return this.$store.state.audiobooks_count},podcasts(){return this.$store.state.podcasts_count},spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},show_burger_menu:{get(){return this.$store.state.show_burger_menu},set(s){this.$store.commit(Z,s)}},show_player_menu(){return this.$store.state.show_player_menu},show_update_dialog:{get(){return this.$store.state.show_update_dialog},set(s){this.$store.commit(ot,s)}},zindex(){return this.show_player_menu?"z-index: 20":""}},watch:{$route(s,e){this.show_settings_menu=!1}},methods:{on_click_outside_settings(){this.show_settings_menu=!this.show_settings_menu},open_update_dialog(){this.show_update_dialog=!0,this.show_settings_menu=!1,this.show_burger_menu=!1}}},w2={class:"navbar-brand"},v2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-library-music"})],-1),$2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-music"})],-1),x2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-microphone"})],-1),C2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-book-open-variant"})],-1),q2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-radio"})],-1),S2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-folder-open"})],-1),P2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-magnify"})],-1),A2=t("span",null,null,-1),T2=t("span",null,null,-1),R2=t("span",null,null,-1),E2=[A2,T2,R2],I2=t("div",{class:"navbar-start"},null,-1),U2={class:"navbar-end"},L2=t("a",{class:"navbar-link is-arrowless"},[t("span",{class:"icon is-hidden-touch"},[t("i",{class:"mdi mdi-24px mdi-menu"})]),t("span",{class:"is-hidden-desktop has-text-weight-bold"},"OwnTone")],-1),O2={class:"navbar-dropdown is-right"},D2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-library-music"})],-1),z2=t("b",null,"Playlists",-1),N2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-music"})],-1),V2=t("b",null,"Music",-1),B2=t("span",{class:"fd-navbar-item-level2"},"Artists",-1),M2=t("span",{class:"fd-navbar-item-level2"},"Albums",-1),F2=t("span",{class:"fd-navbar-item-level2"},"Genres",-1),G2=t("span",{class:"fd-navbar-item-level2"},"Spotify",-1),j2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-microphone"})],-1),K2=t("b",null,"Podcasts",-1),H2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-book-open-variant"})],-1),W2=t("b",null,"Audiobooks",-1),Y2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-radio"})],-1),Q2=t("b",null,"Radio",-1),J2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-folder-open"})],-1),Z2=t("b",null,"Files",-1),X2=t("span",{class:"icon"},[t("i",{class:"mdi mdi-magnify"})],-1),tC=t("b",null,"Search",-1),sC=t("hr",{class:"fd-navbar-divider"},null,-1),eC=$(" Settings "),iC=$(" About "),oC=t("div",{class:"navbar-item is-hidden-desktop",style:{"margin-bottom":"2.5rem"}},null,-1);function aC(s,e,a,r,o,i){const n=h("navbar-item-link");return l(),_("nav",{class:"fd-top-navbar navbar is-light is-fixed-top",style:ts(i.zindex),role:"navigation","aria-label":"main navigation"},[t("div",w2,[i.is_visible_playlists?(l(),w(n,{key:0,to:"/playlists"},{default:d(()=>[v2]),_:1})):y("",!0),i.is_visible_music?(l(),w(n,{key:1,to:"/music"},{default:d(()=>[$2]),_:1})):y("",!0),i.is_visible_podcasts?(l(),w(n,{key:2,to:"/podcasts"},{default:d(()=>[x2]),_:1})):y("",!0),i.is_visible_audiobooks?(l(),w(n,{key:3,to:"/audiobooks"},{default:d(()=>[C2]),_:1})):y("",!0),i.is_visible_radio?(l(),w(n,{key:4,to:"/radio"},{default:d(()=>[q2]),_:1})):y("",!0),i.is_visible_files?(l(),w(n,{key:5,to:"/files"},{default:d(()=>[S2]),_:1})):y("",!0),i.is_visible_search?(l(),w(n,{key:6,to:"/search"},{default:d(()=>[P2]),_:1})):y("",!0),t("div",{class:C(["navbar-burger",{"is-active":i.show_burger_menu}]),onClick:e[0]||(e[0]=c=>i.show_burger_menu=!i.show_burger_menu)},E2,2)]),t("div",{class:C(["navbar-menu",{"is-active":i.show_burger_menu}])},[I2,t("div",U2,[t("div",{class:C(["navbar-item has-dropdown is-hoverable",{"is-active":o.show_settings_menu}]),onClick:e[2]||(e[2]=(...c)=>i.on_click_outside_settings&&i.on_click_outside_settings(...c))},[L2,t("div",O2,[u(n,{to:"/playlists"},{default:d(()=>[D2,z2]),_:1}),u(n,{to:"/music",exact:""},{default:d(()=>[N2,V2]),_:1}),u(n,{to:"/music/artists"},{default:d(()=>[B2]),_:1}),u(n,{to:"/music/albums"},{default:d(()=>[M2]),_:1}),u(n,{to:"/music/genres"},{default:d(()=>[F2]),_:1}),i.spotify_enabled?(l(),w(n,{key:0,to:"/music/spotify"},{default:d(()=>[G2]),_:1})):y("",!0),u(n,{to:"/podcasts"},{default:d(()=>[j2,K2]),_:1}),u(n,{to:"/audiobooks"},{default:d(()=>[H2,W2]),_:1}),u(n,{to:"/radio"},{default:d(()=>[Y2,Q2]),_:1}),u(n,{to:"/files"},{default:d(()=>[J2,Z2]),_:1}),u(n,{to:"/search"},{default:d(()=>[X2,tC]),_:1}),sC,u(n,{to:"/settings/webinterface"},{default:d(()=>[eC]),_:1}),t("a",{class:"navbar-item",onClick:e[1]||(e[1]=D(c=>i.open_update_dialog(),["stop","prevent"]))}," Update Library "),u(n,{to:"/about"},{default:d(()=>[iC]),_:1}),oC])],2)])],2),U(t("div",{class:"is-overlay",style:{"z-index":"10",width:"100vw",height:"100vh"},onClick:e[3]||(e[3]=c=>o.show_settings_menu=!1)},null,512),[[zt,o.show_settings_menu]])],4)}var nC=k(k2,[["render",aC]]),it={_audio:new Audio,_context:null,_source:null,_gain:null,setupAudio(){const s=window.AudioContext||window.webkitAudioContext;return this._context=new s,this._source=this._context.createMediaElementSource(this._audio),this._gain=this._context.createGain(),this._source.connect(this._gain),this._gain.connect(this._context.destination),this._audio.addEventListener("canplaythrough",e=>{this._audio.play()}),this._audio.addEventListener("canplay",e=>{this._audio.play()}),this._audio},setVolume(s){!this._gain||(s=parseFloat(s)||0,s=s<0?0:s,s=s>1?1:s,this._gain.gain.value=s)},playSource(s){this.stopAudio(),this._context.resume().then(()=>{this._audio.src=String(s||"")+"?x="+Date.now(),this._audio.crossOrigin="anonymous",this._audio.load()})},stopAudio(){try{this._audio.pause()}catch{}try{this._audio.stop()}catch{}try{this._audio.close()}catch{}}};const lC={name:"NavbarItemOutput",components:{Slider:Xt},props:["output"],computed:{type_class(){return this.output.type.startsWith("AirPlay")?"mdi-airplay":this.output.type==="Chromecast"?"mdi-cast":this.output.type==="fifo"?"mdi-pipe":"mdi-server"},volume(){return this.output.selected?this.output.volume:0}},methods:{play_next:function(){f.player_next()},set_volume:function(s){f.player_output_volume(this.output.id,s)},set_enabled:function(){const s={selected:!this.output.selected};f.output_update(this.output.id,s)}}},rC={class:"navbar-item"},dC={class:"level is-mobile"},_C={class:"level-left fd-expanded"},cC={class:"level-item",style:{"flex-grow":"0"}},uC={class:"button is-white is-small"},mC=["title"],hC={class:"level-item fd-expanded"},pC={class:"fd-expanded"};function fC(s,e,a,r,o,i){const n=h("Slider");return l(),_("div",rC,[t("div",dC,[t("div",_C,[t("div",cC,[t("a",uC,[t("span",{class:C(["icon fd-has-action",{"has-text-grey-light":!a.output.selected}]),onClick:e[0]||(e[0]=(...c)=>i.set_enabled&&i.set_enabled(...c))},[t("i",{class:C(["mdi mdi-18px",i.type_class]),title:a.output.type},null,10,mC)],2)])]),t("div",hC,[t("div",pC,[t("p",{class:C(["heading",{"has-text-grey-light":!a.output.selected}])},m(a.output.name),3),u(n,{modelValue:i.volume,"onUpdate:modelValue":e[1]||(e[1]=c=>i.volume=c),min:0,max:100,step:1,tooltips:!1,disabled:!a.output.selected,classes:{target:"slider"},onChange:i.set_volume},null,8,["modelValue","disabled","onChange"])])])])])])}var yC=k(lC,[["render",fC]]);const gC={name:"PlayerButtonPlayPause",props:{icon_style:String,show_disabled_message:Boolean},computed:{is_playing(){return this.$store.state.player.state==="play"},is_pause_allowed(){return this.$store.getters.now_playing&&this.$store.getters.now_playing.data_kind!=="pipe"},disabled(){return!this.$store.state.queue||this.$store.state.queue.count<=0}},methods:{toggle_play_pause:function(){if(this.disabled){this.show_disabled_message&&this.$store.dispatch("add_notification",{text:"Queue is empty",type:"info",topic:"connection",timeout:2e3});return}this.is_playing&&this.is_pause_allowed?f.player_pause():this.is_playing&&!this.is_pause_allowed?f.player_stop():f.player_play()}}},bC=["disabled"],kC={class:"icon"};function wC(s,e,a,r,o,i){return l(),_("a",{disabled:i.disabled,onClick:e[0]||(e[0]=(...n)=>i.toggle_play_pause&&i.toggle_play_pause(...n))},[t("span",kC,[t("i",{class:C(["mdi",[a.icon_style,{"mdi-play":!i.is_playing,"mdi-pause":i.is_playing&&i.is_pause_allowed,"mdi-stop":i.is_playing&&!i.is_pause_allowed}]])},null,2)])],8,bC)}var vC=k(gC,[["render",wC]]);const $C={name:"PlayerButtonNext",props:{icon_style:String},computed:{disabled(){return!this.$store.state.queue||this.$store.state.queue.count<=0}},methods:{play_next:function(){this.disabled||f.player_next()}}},xC=["disabled"],CC={class:"icon"};function qC(s,e,a,r,o,i){return l(),_("a",{disabled:i.disabled,onClick:e[0]||(e[0]=(...n)=>i.play_next&&i.play_next(...n))},[t("span",CC,[t("i",{class:C(["mdi mdi-skip-forward",a.icon_style])},null,2)])],8,xC)}var SC=k($C,[["render",qC]]);const PC={name:"PlayerButtonPrevious",props:{icon_style:String},computed:{disabled(){return!this.$store.state.queue||this.$store.state.queue.count<=0}},methods:{play_previous:function(){this.disabled||f.player_previous()}}},AC=["disabled"],TC={class:"icon"};function RC(s,e,a,r,o,i){return l(),_("a",{disabled:i.disabled,onClick:e[0]||(e[0]=(...n)=>i.play_previous&&i.play_previous(...n))},[t("span",TC,[t("i",{class:C(["mdi mdi-skip-backward",a.icon_style])},null,2)])],8,AC)}var EC=k(PC,[["render",RC]]);const IC={name:"PlayerButtonShuffle",props:{icon_style:String},computed:{is_shuffle(){return this.$store.state.player.shuffle}},methods:{toggle_shuffle_mode:function(){f.player_shuffle(!this.is_shuffle)}}},UC={class:"icon"};function LC(s,e,a,r,o,i){return l(),_("a",{class:C({"is-warning":i.is_shuffle}),onClick:e[0]||(e[0]=(...n)=>i.toggle_shuffle_mode&&i.toggle_shuffle_mode(...n))},[t("span",UC,[t("i",{class:C(["mdi",[a.icon_style,{"mdi-shuffle":i.is_shuffle,"mdi-shuffle-disabled":!i.is_shuffle}]])},null,2)])],2)}var OC=k(IC,[["render",LC]]);const DC={name:"PlayerButtonConsume",props:{icon_style:String},computed:{is_consume(){return this.$store.state.player.consume}},methods:{toggle_consume_mode:function(){f.player_consume(!this.is_consume)}}},zC={class:"icon"};function NC(s,e,a,r,o,i){return l(),_("a",{class:C({"is-warning":i.is_consume}),onClick:e[0]||(e[0]=(...n)=>i.toggle_consume_mode&&i.toggle_consume_mode(...n))},[t("span",zC,[t("i",{class:C(["mdi mdi-fire",a.icon_style])},null,2)])],2)}var VC=k(DC,[["render",NC]]);const BC={name:"PlayerButtonRepeat",props:{icon_style:String},computed:{is_repeat_all(){return this.$store.state.player.repeat==="all"},is_repeat_single(){return this.$store.state.player.repeat==="single"},is_repeat_off(){return!this.is_repeat_all&&!this.is_repeat_single}},methods:{toggle_repeat_mode:function(){this.is_repeat_all?f.player_repeat("single"):this.is_repeat_single?f.player_repeat("off"):f.player_repeat("all")}}},MC={class:"icon"};function FC(s,e,a,r,o,i){return l(),_("a",{class:C({"is-warning":!i.is_repeat_off}),onClick:e[0]||(e[0]=(...n)=>i.toggle_repeat_mode&&i.toggle_repeat_mode(...n))},[t("span",MC,[t("i",{class:C(["mdi",[a.icon_style,{"mdi-repeat":i.is_repeat_all,"mdi-repeat-once":i.is_repeat_single,"mdi-repeat-off":i.is_repeat_off}]])},null,2)])],2)}var GC=k(BC,[["render",FC]]);const jC={name:"PlayerButtonSeekBack",props:["seek_ms","icon_style"],computed:{now_playing(){return this.$store.getters.now_playing},is_stopped(){return this.$store.state.player.state==="stop"},disabled(){return!this.$store.state.queue||this.$store.state.queue.count<=0||this.is_stopped||this.now_playing.data_kind==="pipe"},visible(){return["podcast","audiobook"].includes(this.now_playing.media_kind)}},methods:{seek:function(){this.disabled||f.player_seek(this.seek_ms*-1)}}},KC=["disabled"],HC={class:"icon"};function WC(s,e,a,r,o,i){return i.visible?(l(),_("a",{key:0,disabled:i.disabled,onClick:e[0]||(e[0]=(...n)=>i.seek&&i.seek(...n))},[t("span",HC,[t("i",{class:C(["mdi mdi-rewind",a.icon_style])},null,2)])],8,KC)):y("",!0)}var YC=k(jC,[["render",WC]]);const QC={name:"PlayerButtonSeekForward",props:["seek_ms","icon_style"],computed:{now_playing(){return this.$store.getters.now_playing},is_stopped(){return this.$store.state.player.state==="stop"},disabled(){return!this.$store.state.queue||this.$store.state.queue.count<=0||this.is_stopped||this.now_playing.data_kind==="pipe"},visible(){return["podcast","audiobook"].includes(this.now_playing.media_kind)}},methods:{seek:function(){this.disabled||f.player_seek(this.seek_ms)}}},JC=["disabled"],ZC={class:"icon"};function XC(s,e,a,r,o,i){return i.visible?(l(),_("a",{key:0,disabled:i.disabled,onClick:e[0]||(e[0]=(...n)=>i.seek&&i.seek(...n))},[t("span",ZC,[t("i",{class:C(["mdi mdi-fast-forward",a.icon_style])},null,2)])],8,JC)):y("",!0)}var t4=k(QC,[["render",XC]]);const s4={name:"NavbarBottom",components:{NavbarItemLink:Hs,NavbarItemOutput:yC,Slider:Xt,PlayerButtonPlayPause:vC,PlayerButtonNext:SC,PlayerButtonPrevious:EC,PlayerButtonShuffle:OC,PlayerButtonConsume:VC,PlayerButtonRepeat:GC,PlayerButtonSeekForward:t4,PlayerButtonSeekBack:YC},data(){return{old_volume:0,playing:!1,loading:!1,stream_volume:10,show_outputs_menu:!1,show_desktop_outputs_menu:!1}},computed:{show_player_menu:{get(){return this.$store.state.show_player_menu},set(s){this.$store.commit(X,s)}},show_burger_menu(){return this.$store.state.show_burger_menu},zindex(){return this.show_burger_menu?"z-index: 20":""},state(){return this.$store.state.player},now_playing(){return this.$store.getters.now_playing},is_now_playing_page(){return this.$route.path==="/now-playing"},outputs(){return this.$store.state.outputs},player(){return this.$store.state.player},config(){return this.$store.state.config}},watch:{"$store.state.player.volume"(){this.player.volume>0&&(this.old_volume=this.player.volume)}},mounted(){this.setupAudio()},unmounted(){this.closeAudio()},methods:{on_click_outside_outputs(){this.show_outputs_menu=!1},set_volume:function(s){f.player_volume(s)},toggle_mute_volume:function(){this.player.volume>0?this.set_volume(0):this.set_volume(this.old_volume)},setupAudio:function(){const s=it.setupAudio();s.addEventListener("waiting",e=>{this.playing=!1,this.loading=!0}),s.addEventListener("playing",e=>{this.playing=!0,this.loading=!1}),s.addEventListener("ended",e=>{this.playing=!1,this.loading=!1}),s.addEventListener("error",e=>{this.closeAudio(),this.$store.dispatch("add_notification",{text:"HTTP stream error: failed to load stream or stopped loading due to network problem",type:"danger"}),this.playing=!1,this.loading=!1})},closeAudio:function(){it.stopAudio(),this.playing=!1},playChannel:function(){if(this.playing)return;const s="/stream.mp3";this.loading=!0,it.playSource(s),it.setVolume(this.stream_volume/100)},togglePlay:function(){if(!this.loading)return this.playing?this.closeAudio():this.playChannel()},set_stream_volume:function(s){this.stream_volume=s,it.setVolume(this.stream_volume/100)}}},e4={class:"navbar-brand fd-expanded"},i4=t("span",{class:"icon"},[t("i",{class:"mdi mdi-24px mdi-playlist-play"})],-1),o4={class:"is-clipped"},a4={class:"is-size-7 fd-is-text-clipped"},n4=t("br",null,null,-1),l4={key:0},r4={class:"icon"},d4={class:"icon"},_4={class:"navbar-dropdown is-right is-boxed",style:{"margin-right":"6px","margin-bottom":"6px","border-radius":"6px"}},c4={class:"navbar-item"},u4={class:"level is-mobile"},m4={class:"level-left fd-expanded"},h4={class:"level-item",style:{"flex-grow":"0"}},p4={class:"icon"},f4={class:"level-item fd-expanded"},y4={class:"fd-expanded"},g4=t("p",{class:"heading"},"Volume",-1),b4=t("hr",{class:"fd-navbar-divider"},null,-1),k4=t("hr",{class:"fd-navbar-divider"},null,-1),w4={class:"navbar-item"},v4={class:"level is-mobile"},$4={class:"level-left fd-expanded"},x4={class:"level-item",style:{"flex-grow":"0"}},C4=t("i",{class:"mdi mdi-18px mdi-radio-tower"},null,-1),q4=[C4],S4={class:"level-item fd-expanded"},P4={class:"fd-expanded"},A4=$(" HTTP stream "),T4=t("a",{href:"stream.mp3"},[t("span",{class:"is-lowercase"},"(stream.mp3)")],-1),R4=[A4,T4],E4=t("hr",{class:"fd-navbar-divider"},null,-1),I4={class:"navbar-item"},U4={class:"level is-mobile fd-expanded"},L4={class:"level-item"},O4={class:"buttons has-addons"},D4=t("div",{class:"navbar-start"},null,-1),z4={class:"navbar-end"},N4={class:"navbar-item"},V4={class:"buttons is-centered"},B4=t("hr",{class:"fd-navbar-divider"},null,-1),M4={class:"navbar-item"},F4={class:"level is-mobile"},G4={class:"level-left fd-expanded"},j4={class:"level-item",style:{"flex-grow":"0"}},K4={class:"icon"},H4={class:"level-item fd-expanded"},W4={class:"fd-expanded"},Y4=t("p",{class:"heading"},"Volume",-1),Q4=t("hr",{class:"fd-navbar-divider"},null,-1),J4={class:"navbar-item fd-has-margin-bottom"},Z4={class:"level is-mobile"},X4={class:"level-left fd-expanded"},t3={class:"level-item",style:{"flex-grow":"0"}},s3=t("i",{class:"mdi mdi-18px mdi-radio-tower"},null,-1),e3=[s3],i3={class:"level-item fd-expanded"},o3={class:"fd-expanded"},a3=$(" HTTP stream "),n3=t("a",{href:"stream.mp3"},[t("span",{class:"is-lowercase"},"(stream.mp3)")],-1),l3=[a3,n3];function r3(s,e,a,r,o,i){const n=h("navbar-item-link"),c=h("router-link"),p=h("player-button-previous"),g=h("player-button-seek-back"),b=h("player-button-play-pause"),x=h("player-button-seek-forward"),q=h("player-button-next"),z=h("Slider"),S=h("navbar-item-output"),W=h("player-button-repeat"),nt=h("player-button-shuffle"),lt=h("player-button-consume");return l(),_("nav",{class:C(["fd-bottom-navbar navbar is-white is-fixed-bottom",{"is-transparent":i.is_now_playing_page,"is-dark":!i.is_now_playing_page}]),style:ts(i.zindex),role:"navigation","aria-label":"player controls"},[t("div",e4,[u(n,{to:"/",exact:""},{default:d(()=>[i4]),_:1}),i.is_now_playing_page?y("",!0):(l(),w(c,{key:0,to:"/now-playing",class:"navbar-item is-expanded is-clipped","active-class":"is-active",exact:""},{default:d(()=>[t("div",o4,[t("p",a4,[t("strong",null,m(i.now_playing.title),1),n4,$(" "+m(i.now_playing.artist),1),i.now_playing.data_kind==="url"?(l(),_("span",l4," - "+m(i.now_playing.album),1)):y("",!0)])])]),_:1})),i.is_now_playing_page?(l(),w(p,{key:1,class:"navbar-item fd-margin-left-auto",icon_style:"mdi-24px"})):y("",!0),i.is_now_playing_page?(l(),w(g,{key:2,seek_ms:"10000",class:"navbar-item",icon_style:"mdi-24px"})):y("",!0),u(b,{class:"navbar-item",icon_style:"mdi-36px",show_disabled_message:""}),i.is_now_playing_page?(l(),w(x,{key:3,seek_ms:"30000",class:"navbar-item",icon_style:"mdi-24px"})):y("",!0),i.is_now_playing_page?(l(),w(q,{key:4,class:"navbar-item",icon_style:"mdi-24px"})):y("",!0),t("a",{class:"navbar-item fd-margin-left-auto is-hidden-desktop",onClick:e[0]||(e[0]=L=>i.show_player_menu=!i.show_player_menu)},[t("span",r4,[t("i",{class:C(["mdi mdi-18px",{"mdi-chevron-up":!i.show_player_menu,"mdi-chevron-down":i.show_player_menu}])},null,2)])]),t("div",{class:C(["navbar-item has-dropdown has-dropdown-up fd-margin-left-auto is-hidden-touch",{"is-active":i.show_player_menu}])},[t("a",{class:"navbar-link is-arrowless",onClick:e[1]||(e[1]=L=>i.show_player_menu=!i.show_player_menu)},[t("span",d4,[t("i",{class:C(["mdi mdi-18px",{"mdi-chevron-up":!i.show_player_menu,"mdi-chevron-down":i.show_player_menu}])},null,2)])]),t("div",_4,[t("div",c4,[t("div",u4,[t("div",m4,[t("div",h4,[t("a",{class:"button is-white is-small",onClick:e[2]||(e[2]=(...L)=>i.toggle_mute_volume&&i.toggle_mute_volume(...L))},[t("span",p4,[t("i",{class:C(["mdi mdi-18px",{"mdi-volume-off":i.player.volume<=0,"mdi-volume-high":i.player.volume>0}])},null,2)])])]),t("div",f4,[t("div",y4,[g4,u(z,{modelValue:i.player.volume,"onUpdate:modelValue":e[3]||(e[3]=L=>i.player.volume=L),min:0,max:100,step:1,tooltips:!1,classes:{target:"slider"},onChange:i.set_volume},null,8,["modelValue","onChange"])])])])])]),b4,(l(!0),_(T,null,I(i.outputs,L=>(l(),w(S,{key:L.id,output:L},null,8,["output"]))),128)),k4,t("div",w4,[t("div",v4,[t("div",$4,[t("div",x4,[t("a",{class:C(["button is-white is-small",{"is-loading":o.loading}])},[t("span",{class:C(["icon fd-has-action",{"has-text-grey-light":!o.playing&&!o.loading,"is-loading":o.loading}]),onClick:e[4]||(e[4]=(...L)=>i.togglePlay&&i.togglePlay(...L))},q4,2)],2)]),t("div",S4,[t("div",P4,[t("p",{class:C(["heading",{"has-text-grey-light":!o.playing}])},R4,2),u(z,{modelValue:o.stream_volume,"onUpdate:modelValue":e[5]||(e[5]=L=>o.stream_volume=L),min:0,max:100,step:1,tooltips:!1,disabled:!o.playing,classes:{target:"slider"},onChange:i.set_stream_volume},null,8,["modelValue","disabled","onChange"])])])])])]),E4,t("div",I4,[t("div",U4,[t("div",L4,[t("div",O4,[u(W,{class:"button"}),u(nt,{class:"button"}),u(lt,{class:"button"})])])])])])],2)]),t("div",{class:C(["navbar-menu is-hidden-desktop",{"is-active":i.show_player_menu}])},[D4,t("div",z4,[t("div",N4,[t("div",V4,[u(W,{class:"button",icon_style:"mdi-18px"}),u(nt,{class:"button",icon_style:"mdi-18px"}),u(lt,{class:"button",icon_style:"mdi-18px"})])]),B4,t("div",M4,[t("div",F4,[t("div",G4,[t("div",j4,[t("a",{class:"button is-white is-small",onClick:e[6]||(e[6]=(...L)=>i.toggle_mute_volume&&i.toggle_mute_volume(...L))},[t("span",K4,[t("i",{class:C(["mdi mdi-18px",{"mdi-volume-off":i.player.volume<=0,"mdi-volume-high":i.player.volume>0}])},null,2)])])]),t("div",H4,[t("div",W4,[Y4,u(z,{modelValue:i.player.volume,"onUpdate:modelValue":e[7]||(e[7]=L=>i.player.volume=L),min:0,max:100,step:1,tooltips:!1,classes:{target:"slider"},onChange:i.set_volume},null,8,["modelValue","onChange"])])])])])]),(l(!0),_(T,null,I(i.outputs,L=>(l(),w(S,{key:L.id,output:L},null,8,["output"]))),128)),Q4,t("div",J4,[t("div",Z4,[t("div",X4,[t("div",t3,[t("a",{class:C(["button is-white is-small",{"is-loading":o.loading}])},[t("span",{class:C(["icon fd-has-action",{"has-text-grey-light":!o.playing&&!o.loading,"is-loading":o.loading}]),onClick:e[8]||(e[8]=(...L)=>i.togglePlay&&i.togglePlay(...L))},e3,2)],2)]),t("div",i3,[t("div",o3,[t("p",{class:C(["heading",{"has-text-grey-light":!o.playing}])},l3,2),u(z,{modelValue:o.stream_volume,"onUpdate:modelValue":e[9]||(e[9]=L=>o.stream_volume=L),min:0,max:100,step:1,tooltips:!1,disabled:!o.playing,classes:{target:"slider"},onChange:i.set_stream_volume},null,8,["modelValue","disabled","onChange"])])])])])])])],2)],6)}var d3=k(s4,[["render",r3]]);const _3={name:"NotificationList",components:{},data(){return{showNav:!1}},computed:{notifications(){return this.$store.state.notifications.list}},methods:{remove:function(s){this.$store.commit(Wt,s)}}},c3={key:0,class:"fd-notifications"},u3={class:"columns is-centered"},m3={class:"column is-half"},h3=["onClick"];function p3(s,e,a,r,o,i){return i.notifications.length>0?(l(),_("section",c3,[t("div",u3,[t("div",m3,[(l(!0),_(T,null,I(i.notifications,n=>(l(),_("div",{key:n.id,class:C(["notification has-shadow",["notification",n.type?`is-${n.type}`:""]])},[t("button",{class:"delete",onClick:c=>i.remove(n)},null,8,h3),$(" "+m(n.text),1)],2))),128))])])])):y("",!0)}var f3=k(_3,[["render",p3]]);const y3={name:"ModalDialogRemotePairing",props:["show"],emits:["close"],data(){return{pairing_req:{pin:""}}},computed:{pairing(){return this.$store.state.pairing}},watch:{show(){this.show&&(this.loading=!1,setTimeout(()=>{this.$refs.pin_field.focus()},10))}},methods:{kickoff_pairing(){f.pairing_kickoff(this.pairing_req).then(()=>{this.pairing_req.pin=""})}}},g3={key:0,class:"modal is-active"},b3={class:"modal-content fd-modal-card"},k3={class:"card"},w3={class:"card-content"},v3=t("p",{class:"title is-4"},"Remote pairing request",-1),$3={class:"label"},x3={class:"field"},C3={class:"control"},q3={class:"card-footer"},S3=t("span",{class:"icon"},[t("i",{class:"mdi mdi-cancel"})],-1),P3=t("span",{class:"is-size-7"},"Cancel",-1),A3=[S3,P3],T3=t("span",{class:"icon"},[t("i",{class:"mdi mdi-cellphone-iphone"})],-1),R3=t("span",{class:"is-size-7"},"Pair Remote",-1),E3=[T3,R3];function I3(s,e,a,r,o,i){return l(),_("div",null,[u(N,{name:"fade"},{default:d(()=>[a.show?(l(),_("div",g3,[t("div",{class:"modal-background",onClick:e[0]||(e[0]=n=>s.$emit("close"))}),t("div",b3,[t("div",k3,[t("div",w3,[v3,t("form",{onSubmit:e[2]||(e[2]=D((...n)=>i.kickoff_pairing&&i.kickoff_pairing(...n),["prevent"]))},[t("label",$3,m(i.pairing.remote),1),t("div",x3,[t("div",C3,[U(t("input",{ref:"pin_field","onUpdate:modelValue":e[1]||(e[1]=n=>o.pairing_req.pin=n),class:"input",type:"text",placeholder:"Enter pairing code"},null,512),[[M,o.pairing_req.pin]])])])],32)]),t("footer",q3,[t("a",{class:"card-footer-item has-text-danger",onClick:e[3]||(e[3]=n=>s.$emit("close"))},A3),t("a",{class:"card-footer-item has-background-info has-text-white has-text-weight-bold",onClick:e[4]||(e[4]=(...n)=>i.kickoff_pairing&&i.kickoff_pairing(...n))},E3)])])]),t("button",{class:"modal-close is-large","aria-label":"close",onClick:e[5]||(e[5]=n=>s.$emit("close"))})])):y("",!0)]),_:1})])}var U3=k(y3,[["render",I3]]);const L3={name:"ModalDialogUpdate",components:{ModalDialog:rs},props:["show"],emits:["close"],data(){return{rescan_metadata:!1}},computed:{library(){return this.$store.state.library},rss(){return this.$store.state.rss_count},spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},update_dialog_scan_kind:{get(){return this.$store.state.update_dialog_scan_kind},set(s){this.$store.commit(ls,s)}}},methods:{update_library(){this.rescan_metadata?f.library_rescan(this.update_dialog_scan_kind):f.library_update(this.update_dialog_scan_kind)},close(){this.update_dialog_scan_kind="",this.$emit("close")}}},O3={key:0},D3=t("p",{class:"mb-3"},"Scan for new, deleted and modified files",-1),z3={key:0,class:"field"},N3={class:"control"},V3={class:"select is-small"},B3=t("option",{value:""},"Update everything",-1),M3=t("option",{value:"files"},"Only update local library",-1),F3={key:0,value:"spotify"},G3={key:1,value:"rss"},j3={class:"field"},K3={class:"checkbox is-size-7 is-small"},H3=$(" Rescan metadata for unmodified files "),W3={key:1},Y3=t("p",{class:"mb-3"},"Library update in progress ...",-1),Q3=[Y3];function J3(s,e,a,r,o,i){const n=h("modal-dialog");return l(),w(n,{show:a.show,title:"Update library",ok_action:i.library.updating?"":"Rescan",close_action:"Close",onOk:i.update_library,onClose:e[2]||(e[2]=c=>i.close())},{"modal-content":d(()=>[i.library.updating?(l(),_("div",W3,Q3)):(l(),_("div",O3,[D3,i.spotify_enabled||i.rss.tracks>0?(l(),_("div",z3,[t("div",N3,[t("div",V3,[U(t("select",{"onUpdate:modelValue":e[0]||(e[0]=c=>i.update_dialog_scan_kind=c)},[B3,M3,i.spotify_enabled?(l(),_("option",F3," Only update Spotify ")):y("",!0),i.rss.tracks>0?(l(),_("option",G3," Only update RSS feeds ")):y("",!0)],512),[[se,i.update_dialog_scan_kind]])])])])):y("",!0),t("div",j3,[t("label",K3,[U(t("input",{"onUpdate:modelValue":e[1]||(e[1]=c=>o.rescan_metadata=c),type:"checkbox"},null,512),[[J,o.rescan_metadata]]),H3])])]))]),_:1},8,["show","ok_action","onOk"])}var Z3=k(L3,[["render",J3]]);const X3={name:"App",components:{NavbarTop:nC,NavbarBottom:d3,NotificationList:f3,ModalDialogRemotePairing:U3,ModalDialogUpdate:Z3},data(){return{token_timer_id:0,reconnect_attempts:0,pairing_active:!1}},computed:{show_burger_menu:{get(){return this.$store.state.show_burger_menu},set(s){this.$store.commit(Z,s)}},show_player_menu:{get(){return this.$store.state.show_player_menu},set(s){this.$store.commit(X,s)}},show_update_dialog:{get(){return this.$store.state.show_update_dialog},set(s){this.$store.commit(ot,s)}}},watch:{show_burger_menu(){this.update_is_clipped()},show_player_menu(){this.update_is_clipped()}},created:function(){Y.locale(navigator.language),this.connect(),this.$Progress.start(),this.$router.beforeEach((s,e,a)=>{if(s.meta.show_progress){if(s.meta.progress!==void 0){const r=s.meta.progress;this.$Progress.parseMeta(r)}this.$Progress.start()}a()}),this.$router.afterEach((s,e)=>{s.meta.show_progress&&this.$Progress.finish()})},methods:{connect:function(){f.config().then(({data:s})=>{this.$store.commit(ks,s),this.$store.commit(Mt,s.hide_singles),document.title=s.library_name,this.open_ws(),this.$Progress.finish()}).catch(()=>{this.$store.dispatch("add_notification",{text:"Failed to connect to OwnTone server",type:"danger",topic:"connection"})})},open_ws:function(){if(this.$store.state.config.websocket_port<=0){this.$store.dispatch("add_notification",{text:"Missing websocket port",type:"danger"});return}const s=this;let e="ws://";window.location.protocol==="https:"&&(e="wss://");let a=e+window.location.hostname+":"+s.$store.state.config.websocket_port;const r=new ee(a,"notify",{reconnectInterval:1e3,maxReconnectInterval:2e3});r.onopen=function(){s.reconnect_attempts=0,r.send(JSON.stringify({notify:["update","database","player","options","outputs","volume","queue","spotify","lastfm","pairing"]})),s.update_outputs(),s.update_player_status(),s.update_library_stats(),s.update_settings(),s.update_queue(),s.update_spotify(),s.update_lastfm(),s.update_pairing()},r.onclose=function(){};var o=!1;function i(){o||(s.update_outputs(),s.update_player_status(),s.update_library_stats(),s.update_settings(),s.update_queue(),s.update_spotify(),s.update_lastfm(),s.update_pairing(),o=!0,setTimeout(function(){o=!1},500))}window.addEventListener("focus",i),document.addEventListener("visibilitychange",function(){document.visibilityState==="visible"&&i()}),r.onmessage=function(n){const c=JSON.parse(n.data);(c.notify.includes("update")||c.notify.includes("database"))&&s.update_library_stats(),(c.notify.includes("player")||c.notify.includes("options")||c.notify.includes("volume"))&&s.update_player_status(),(c.notify.includes("outputs")||c.notify.includes("volume"))&&s.update_outputs(),c.notify.includes("queue")&&s.update_queue(),c.notify.includes("spotify")&&s.update_spotify(),c.notify.includes("lastfm")&&s.update_lastfm(),c.notify.includes("pairing")&&s.update_pairing()}},update_library_stats:function(){f.library_stats().then(({data:s})=>{this.$store.commit(vs,s)}),f.library_count("media_kind is audiobook").then(({data:s})=>{this.$store.commit($s,s)}),f.library_count("media_kind is podcast").then(({data:s})=>{this.$store.commit(xs,s)}),f.library_count("scan_kind is rss").then(({data:s})=>{this.$store.commit(Cs,s)})},update_outputs:function(){f.outputs().then(({data:s})=>{this.$store.commit(qs,s.outputs)})},update_player_status:function(){f.player_status().then(({data:s})=>{this.$store.commit(es,s)})},update_queue:function(){f.queue().then(({data:s})=>{this.$store.commit(Ss,s)})},update_settings:function(){f.settings().then(({data:s})=>{this.$store.commit(ws,s)})},update_lastfm:function(){f.lastfm().then(({data:s})=>{this.$store.commit(Ps,s)})},update_spotify:function(){f.spotify().then(({data:s})=>{this.$store.commit(As,s),this.token_timer_id>0&&(window.clearTimeout(this.token_timer_id),this.token_timer_id=0),s.webapi_token_expires_in>0&&s.webapi_token&&(this.token_timer_id=window.setTimeout(this.update_spotify,1e3*s.webapi_token_expires_in))})},update_pairing:function(){f.pairing().then(({data:s})=>{this.$store.commit(Ts,s),this.pairing_active=s.active})},update_is_clipped:function(){this.show_burger_menu||this.show_player_menu?document.querySelector("html").classList.add("is-clipped"):document.querySelector("html").classList.remove("is-clipped")}},template:""},t8={id:"app"};function s8(s,e,a,r,o,i){const n=h("navbar-top"),c=h("vue-progress-bar"),p=h("router-view"),g=h("modal-dialog-remote-pairing"),b=h("modal-dialog-update"),x=h("notification-list"),q=h("navbar-bottom");return l(),_("div",t8,[u(n),u(c,{class:"fd-progress-bar"}),u(p,null,{default:d(({Component:z})=>[(l(),w(ie(z),{class:"fd-page"}))]),_:1}),u(g,{show:o.pairing_active,onClose:e[0]||(e[0]=z=>o.pairing_active=!1)},null,8,["show"]),u(b,{show:i.show_update_dialog,onClose:e[1]||(e[1]=z=>i.show_update_dialog=!1)},null,8,["show"]),U(u(x,null,null,512),[[zt,!i.show_burger_menu]]),u(q),U(t("div",{class:"fd-overlay-fullscreen",onClick:e[2]||(e[2]=z=>i.show_burger_menu=i.show_player_menu=!1)},null,512),[[zt,i.show_burger_menu||i.show_player_menu]])])}var e8=k(X3,[["render",s8]]);const Ws=oe(e8).use(A).use(Ks).use(ae,{color:"hsl(204, 86%, 53%)",failedColor:"red",height:"1px"}).use(ne).use(le,{log:!1}).use(re);Ws.config.globalProperties.$filters=f2;Ws.mount("#app");
+var tb=Object.defineProperty,sb=Object.defineProperties;var nb=Object.getOwnPropertyDescriptors;var Ai=Object.getOwnPropertySymbols;var kf=Object.prototype.hasOwnProperty,xf=Object.prototype.propertyIsEnumerable;var wf=(e,t,s)=>t in e?tb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Je=(e,t)=>{for(var s in t||(t={}))kf.call(t,s)&&wf(e,s,t[s]);if(Ai)for(var s of Ai(t))xf.call(t,s)&&wf(e,s,t[s]);return e},Ws=(e,t)=>sb(e,nb(t));var nu=(e,t)=>{var s={};for(var n in e)kf.call(e,n)&&t.indexOf(n)<0&&(s[n]=e[n]);if(e!=null&&Ai)for(var n of Ai(e))t.indexOf(n)<0&&xf.call(e,n)&&(s[n]=e[n]);return s};const rb=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const r of o)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&n(i)}).observe(document,{childList:!0,subtree:!0});function s(o){const r={};return o.integrity&&(r.integrity=o.integrity),o.referrerpolicy&&(r.referrerPolicy=o.referrerpolicy),o.crossorigin==="use-credentials"?r.credentials="include":o.crossorigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function n(o){if(o.ep)return;o.ep=!0;const r=s(o);fetch(o.href,r)}};rb();function al(e,t){const s=Object.create(null),n=e.split(",");for(let o=0;o!!s[o.toLowerCase()]:o=>!!s[o]}const ob="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt",ib=al(ob),ab="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",lb=al(ab);function jm(e){return!!e||e===""}function Hn(e){if(ze(e)){const t={};for(let s=0;s{if(s){const n=s.split(cb);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Le(e){let t="";if(Ot(e))t=e;else if(ze(e))for(let s=0;sMn(s,t))}const R=e=>Ot(e)?e:e==null?"":ze(e)||Rt(e)&&(e.toString===Um||!et(e.toString))?JSON.stringify(e,Bm,2):String(e),Bm=(e,t)=>t&&t.__v_isRef?Bm(e,t.value):Br(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,o])=>(s[`${n} =>`]=o,s),{})}:fr(t)?{[`Set(${t.size})`]:[...t.values()]}:Rt(t)&&!ze(t)&&!Vm(t)?String(t):t,gt={},jr=[],Hs=()=>{},mb=()=>!1,pb=/^on[^a-z]/,ci=e=>pb.test(e),Nc=e=>e.startsWith("onUpdate:"),It=Object.assign,Mc=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},_b=Object.prototype.hasOwnProperty,dt=(e,t)=>_b.call(e,t),ze=Array.isArray,Br=e=>ul(e)==="[object Map]",fr=e=>ul(e)==="[object Set]",Sf=e=>e instanceof Date,et=e=>typeof e=="function",Ot=e=>typeof e=="string",Lc=e=>typeof e=="symbol",Rt=e=>e!==null&&typeof e=="object",jc=e=>Rt(e)&&et(e.then)&&et(e.catch),Um=Object.prototype.toString,ul=e=>Um.call(e),gb=e=>ul(e).slice(8,-1),Vm=e=>ul(e)==="[object Object]",Bc=e=>Ot(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,No=al(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),cl=e=>{const t=Object.create(null);return s=>t[s]||(t[s]=e(s))},vb=/-(\w)/g,Ss=cl(e=>e.replace(vb,(t,s)=>s?s.toUpperCase():"")),yb=/\B([A-Z])/g,Zs=cl(e=>e.replace(yb,"-$1").toLowerCase()),di=cl(e=>e.charAt(0).toUpperCase()+e.slice(1)),Mo=cl(e=>e?`on${di(e)}`:""),si=(e,t)=>!Object.is(e,t),Ur=(e,t)=>{for(let s=0;s{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:s})},Ln=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Ef;const bb=()=>Ef||(Ef=typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof global!="undefined"?global:{});let vs;class Uc{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&vs&&(this.parent=vs,this.index=(vs.scopes||(vs.scopes=[])).push(this)-1)}run(t){if(this.active){const s=vs;try{return vs=this,t()}finally{vs=s}}}on(){vs=this}off(){vs=this.parent}stop(t){if(this.active){let s,n;for(s=0,n=this.effects.length;s{const t=new Set(e);return t.w=0,t.n=0,t},qm=e=>(e.w&jn)>0,zm=e=>(e.n&jn)>0,Sb=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let s=0;for(let n=0;n{(c==="length"||c>=n)&&a.push(u)});else switch(s!==void 0&&a.push(i.get(s)),t){case"add":ze(e)?Bc(s)&&a.push(i.get("length")):(a.push(i.get(ir)),Br(e)&&a.push(i.get(Hu)));break;case"delete":ze(e)||(a.push(i.get(ir)),Br(e)&&a.push(i.get(Hu)));break;case"set":Br(e)&&a.push(i.get(ir));break}if(a.length===1)a[0]&&qu(a[0]);else{const u=[];for(const c of a)c&&u.push(...c);qu(Vc(u))}}function qu(e,t){for(const s of ze(e)?e:[...e])(s!==Us||s.allowRecurse)&&(s.scheduler?s.scheduler():s.run())}const Ob=al("__proto__,__v_isRef,__isVue"),Km=new Set(Object.getOwnPropertyNames(Symbol).map(e=>Symbol[e]).filter(Lc)),Tb=dl(),Ab=dl(!1,!0),Pb=dl(!0),Db=dl(!0,!0),$f=Fb();function Fb(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...s){const n=lt(this);for(let r=0,i=this.length;r{e[t]=function(...s){hr();const n=lt(this)[t].apply(this,s);return mr(),n}}),e}function dl(e=!1,t=!1){return function(n,o,r){if(o==="__v_isReactive")return!e;if(o==="__v_isReadonly")return e;if(o==="__v_isShallow")return t;if(o==="__v_raw"&&r===(e?t?tp:ep:t?Qm:Xm).get(n))return n;const i=ze(n);if(!e&&i&&dt($f,o))return Reflect.get($f,o,r);const a=Reflect.get(n,o,r);return(Lc(o)?Km.has(o):Ob(o))||(e||Es(n,"get",o),t)?a:Vt(a)?!i||!Bc(o)?a.value:a:Rt(a)?e?qc(a):pr(a):a}}const Ib=Ym(),Rb=Ym(!0);function Ym(e=!1){return function(s,n,o,r){let i=s[n];if(zr(i)&&Vt(i)&&!Vt(o))return!1;if(!e&&!zr(o)&&(zc(o)||(o=lt(o),i=lt(i)),!ze(s)&&Vt(i)&&!Vt(o)))return i.value=o,!0;const a=ze(s)&&Bc(n)?Number(n)e,fl=e=>Reflect.getPrototypeOf(e);function Pi(e,t,s=!1,n=!1){e=e.__v_raw;const o=lt(e),r=lt(t);t!==r&&!s&&Es(o,"get",t),!s&&Es(o,"get",r);const{has:i}=fl(o),a=n?Hc:s?Kc:ni;if(i.call(o,t))return a(e.get(t));if(i.call(o,r))return a(e.get(r));e!==o&&e.get(t)}function Di(e,t=!1){const s=this.__v_raw,n=lt(s),o=lt(e);return e!==o&&!t&&Es(n,"has",e),!t&&Es(n,"has",o),e===o?s.has(e):s.has(e)||s.has(o)}function Fi(e,t=!1){return e=e.__v_raw,!t&&Es(lt(e),"iterate",ir),Reflect.get(e,"size",e)}function Of(e){e=lt(e);const t=lt(this);return fl(t).has.call(t,e)||(t.add(e),hn(t,"add",e,e)),this}function Tf(e,t){t=lt(t);const s=lt(this),{has:n,get:o}=fl(s);let r=n.call(s,e);r||(e=lt(e),r=n.call(s,e));const i=o.call(s,e);return s.set(e,t),r?si(t,i)&&hn(s,"set",e,t):hn(s,"add",e,t),this}function Af(e){const t=lt(this),{has:s,get:n}=fl(t);let o=s.call(t,e);o||(e=lt(e),o=s.call(t,e)),n&&n.call(t,e);const r=t.delete(e);return o&&hn(t,"delete",e,void 0),r}function Pf(){const e=lt(this),t=e.size!==0,s=e.clear();return t&&hn(e,"clear",void 0,void 0),s}function Ii(e,t){return function(n,o){const r=this,i=r.__v_raw,a=lt(i),u=t?Hc:e?Kc:ni;return!e&&Es(a,"iterate",ir),i.forEach((c,d)=>n.call(o,u(c),u(d),r))}}function Ri(e,t,s){return function(...n){const o=this.__v_raw,r=lt(o),i=Br(r),a=e==="entries"||e===Symbol.iterator&&i,u=e==="keys"&&i,c=o[e](...n),d=s?Hc:t?Kc:ni;return!t&&Es(r,"iterate",u?Hu:ir),{next(){const{value:h,done:f}=c.next();return f?{value:h,done:f}:{value:a?[d(h[0]),d(h[1])]:d(h),done:f}},[Symbol.iterator](){return this}}}}function wn(e){return function(...t){return e==="delete"?!1:this}}function Ub(){const e={get(r){return Pi(this,r)},get size(){return Fi(this)},has:Di,add:Of,set:Tf,delete:Af,clear:Pf,forEach:Ii(!1,!1)},t={get(r){return Pi(this,r,!1,!0)},get size(){return Fi(this)},has:Di,add:Of,set:Tf,delete:Af,clear:Pf,forEach:Ii(!1,!0)},s={get(r){return Pi(this,r,!0)},get size(){return Fi(this,!0)},has(r){return Di.call(this,r,!0)},add:wn("add"),set:wn("set"),delete:wn("delete"),clear:wn("clear"),forEach:Ii(!0,!1)},n={get(r){return Pi(this,r,!0,!0)},get size(){return Fi(this,!0)},has(r){return Di.call(this,r,!0)},add:wn("add"),set:wn("set"),delete:wn("delete"),clear:wn("clear"),forEach:Ii(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(r=>{e[r]=Ri(r,!1,!1),s[r]=Ri(r,!0,!1),t[r]=Ri(r,!1,!0),n[r]=Ri(r,!0,!0)}),[e,s,t,n]}const[Vb,Hb,qb,zb]=Ub();function hl(e,t){const s=t?e?zb:qb:e?Hb:Vb;return(n,o,r)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?n:Reflect.get(dt(s,o)&&o in n?s:n,o,r)}const Gb={get:hl(!1,!1)},Wb={get:hl(!1,!0)},Kb={get:hl(!0,!1)},Yb={get:hl(!0,!0)},Xm=new WeakMap,Qm=new WeakMap,ep=new WeakMap,tp=new WeakMap;function Zb(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Jb(e){return e.__v_skip||!Object.isExtensible(e)?0:Zb(gb(e))}function pr(e){return zr(e)?e:ml(e,!1,Zm,Gb,Xm)}function sp(e){return ml(e,!1,jb,Wb,Qm)}function qc(e){return ml(e,!0,Jm,Kb,ep)}function Xb(e){return ml(e,!0,Bb,Yb,tp)}function ml(e,t,s,n,o){if(!Rt(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const r=o.get(e);if(r)return r;const i=Jb(e);if(i===0)return e;const a=new Proxy(e,i===2?n:s);return o.set(e,a),a}function ar(e){return zr(e)?ar(e.__v_raw):!!(e&&e.__v_isReactive)}function zr(e){return!!(e&&e.__v_isReadonly)}function zc(e){return!!(e&&e.__v_isShallow)}function Gc(e){return ar(e)||zr(e)}function lt(e){const t=e&&e.__v_raw;return t?lt(t):e}function Wc(e){return Ba(e,"__v_skip",!0),e}const ni=e=>Rt(e)?pr(e):e,Kc=e=>Rt(e)?qc(e):e;function Yc(e){Rn&&Us&&(e=lt(e),Wm(e.dep||(e.dep=Vc())))}function pl(e,t){e=lt(e),e.dep&&qu(e.dep)}function Vt(e){return!!(e&&e.__v_isRef===!0)}function cn(e){return rp(e,!1)}function np(e){return rp(e,!0)}function rp(e,t){return Vt(e)?e:new Qb(e,t)}class Qb{constructor(t,s){this.__v_isShallow=s,this.dep=void 0,this.__v_isRef=!0,this._rawValue=s?t:lt(t),this._value=s?t:ni(t)}get value(){return Yc(this),this._value}set value(t){t=this.__v_isShallow?t:lt(t),si(t,this._rawValue)&&(this._rawValue=t,this._value=this.__v_isShallow?t:ni(t),pl(this))}}function e1(e){pl(e)}function Vr(e){return Vt(e)?e.value:e}const t1={get:(e,t,s)=>Vr(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const o=e[t];return Vt(o)&&!Vt(s)?(o.value=s,!0):Reflect.set(e,t,s,n)}};function Zc(e){return ar(e)?e:new Proxy(e,t1)}class s1{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:s,set:n}=t(()=>Yc(this),()=>pl(this));this._get=s,this._set=n}get value(){return this._get()}set value(t){this._set(t)}}function n1(e){return new s1(e)}function Lo(e){const t=ze(e)?new Array(e.length):{};for(const s in e)t[s]=op(e,s);return t}class r1{constructor(t,s,n){this._object=t,this._key=s,this._defaultValue=n,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}}function op(e,t,s){const n=e[t];return Vt(n)?n:new r1(e,t,s)}class o1{constructor(t,s,n,o){this._setter=s,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new fi(t,()=>{this._dirty||(this._dirty=!0,pl(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=n}get value(){const t=lt(this);return Yc(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function i1(e,t,s=!1){let n,o;const r=et(e);return r?(n=e,o=Hs):(n=e.get,o=e.set),new o1(n,o,r||!o,s)}const jo=[];function ip(e,...t){hr();const s=jo.length?jo[jo.length-1].component:null,n=s&&s.appContext.config.warnHandler,o=a1();if(n)Js(n,s,11,[e+t.join(""),s&&s.proxy,o.map(({vnode:r})=>`at <${Zp(s,r.type)}>`).join(`
+`),o]);else{const r=[`[Vue warn]: ${e}`,...t];o.length&&r.push(`
+`,...l1(o)),console.warn(...r)}mr()}function a1(){let e=jo[jo.length-1];if(!e)return[];const t=[];for(;e;){const s=t[0];s&&s.vnode===e?s.recurseCount++:t.push({vnode:e,recurseCount:0});const n=e.component&&e.component.parent;e=n&&n.vnode}return t}function l1(e){const t=[];return e.forEach((s,n)=>{t.push(...n===0?[]:[`
+`],...u1(s))}),t}function u1({vnode:e,recurseCount:t}){const s=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,o=` at <${Zp(e.component,e.type,n)}`,r=">"+s;return e.props?[o,...c1(e.props),r]:[o+r]}function c1(e){const t=[],s=Object.keys(e);return s.slice(0,3).forEach(n=>{t.push(...ap(n,e[n]))}),s.length>3&&t.push(" ..."),t}function ap(e,t,s){return Ot(t)?(t=JSON.stringify(t),s?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?s?t:[`${e}=${t}`]:Vt(t)?(t=ap(e,lt(t.value),!0),s?t:[`${e}=Ref<`,t,">"]):et(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=lt(t),s?t:[`${e}=`,t])}function Js(e,t,s,n){let o;try{o=n?e(...n):e()}catch(r){_r(r,t,s)}return o}function ks(e,t,s,n){if(et(e)){const r=Js(e,t,s,n);return r&&jc(r)&&r.catch(i=>{_r(i,t,s)}),r}const o=[];for(let r=0;r>>1;ri(ws[n])ln&&ws.splice(t,1)}function cp(e,t,s,n){ze(e)?s.push(...e):(!t||!t.includes(e,e.allowRecurse?n+1:n))&&s.push(e),up()}function m1(e){cp(e,Oo,Bo,Dr)}function Qc(e){cp(e,$n,Uo,Fr)}function ed(e,t=null){if(Bo.length){for(Gu=t,Oo=[...new Set(Bo)],Bo.length=0,Dr=0;Drri(s)-ri(n)),Fr=0;Fr<$n.length;Fr++)$n[Fr]();$n=null,Fr=0}}const ri=e=>e.id==null?1/0:e.id;function dp(e){zu=!1,Ua=!0,ed(e),ws.sort((s,n)=>ri(s)-ri(n));const t=Hs;try{for(ln=0;lnIr.emit(o,...r)),Ni=[]):typeof window!="undefined"&&window.HTMLElement&&!(!((n=(s=window.navigator)===null||s===void 0?void 0:s.userAgent)===null||n===void 0)&&n.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(r=>{fp(r,t)}),setTimeout(()=>{Ir||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Ni=[])},3e3)):Ni=[]}function p1(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||gt;let o=s;const r=t.startsWith("update:"),i=r&&t.slice(7);if(i&&i in n){const d=`${i==="modelValue"?"model":i}Modifiers`,{number:h,trim:f}=n[d]||gt;f?o=s.map(m=>m.trim()):h&&(o=s.map(Ln))}let a,u=n[a=Mo(t)]||n[a=Mo(Ss(t))];!u&&r&&(u=n[a=Mo(Zs(t))]),u&&ks(u,e,6,o);const c=n[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,ks(c,e,6,o)}}function hp(e,t,s=!1){const n=t.emitsCache,o=n.get(e);if(o!==void 0)return o;const r=e.emits;let i={},a=!1;if(!et(e)){const u=c=>{const d=hp(c,t,!0);d&&(a=!0,It(i,d))};!s&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}return!r&&!a?(n.set(e,null),null):(ze(r)?r.forEach(u=>i[u]=null):It(i,r),n.set(e,i),i)}function gl(e,t){return!e||!ci(t)?!1:(t=t.slice(2).replace(/Once$/,""),dt(e,t[0].toLowerCase()+t.slice(1))||dt(e,Zs(t))||dt(e,t))}let Qt=null,vl=null;function oi(e){const t=Qt;return Qt=e,vl=e&&e.type.__scopeId||null,t}function _1(e){vl=e}function g1(){vl=null}const v1=e=>T;function T(e,t=Qt,s){if(!t||e._n)return e;const n=(...o)=>{n._d&&Ju(-1);const r=oi(t),i=e(...o);return oi(r),n._d&&Ju(1),i};return n._n=!0,n._c=!0,n._d=!0,n}function Ta(e){const{type:t,vnode:s,proxy:n,withProxy:o,props:r,propsOptions:[i],slots:a,attrs:u,emit:c,render:d,renderCache:h,data:f,setupState:m,ctx:p,inheritAttrs:_}=e;let g,y;const b=oi(e);try{if(s.shapeFlag&4){const S=o||n;g=ys(d.call(S,S,h,r,m,f,p)),y=u}else{const S=t;g=ys(S.length>1?S(r,{attrs:u,slots:a,emit:c}):S(r,null)),y=t.props?u:b1(u)}}catch(S){qo.length=0,_r(S,e,1),g=P(ss)}let k=g;if(y&&_!==!1){const S=Object.keys(y),{shapeFlag:E}=k;S.length&&E&7&&(i&&S.some(Nc)&&(y=w1(y,i)),k=mn(k,y))}return s.dirs&&(k.dirs=k.dirs?k.dirs.concat(s.dirs):s.dirs),s.transition&&(k.transition=s.transition),g=k,oi(b),g}function y1(e){let t;for(let s=0;s{let t;for(const s in e)(s==="class"||s==="style"||ci(s))&&((t||(t={}))[s]=e[s]);return t},w1=(e,t)=>{const s={};for(const n in e)(!Nc(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function k1(e,t,s){const{props:n,children:o,component:r}=e,{props:i,children:a,patchFlag:u}=t,c=r.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&u>=0){if(u&1024)return!0;if(u&16)return n?Df(n,i,c):!!i;if(u&8){const d=t.dynamicProps;for(let h=0;he.__isSuspense,S1={name:"Suspense",__isSuspense:!0,process(e,t,s,n,o,r,i,a,u,c){e==null?C1(t,s,n,o,r,i,a,u,c):$1(e,t,s,n,o,i,a,u,c)},hydrate:O1,create:sd,normalize:T1},E1=S1;function ii(e,t){const s=e.props&&e.props[t];et(s)&&s()}function C1(e,t,s,n,o,r,i,a,u){const{p:c,o:{createElement:d}}=u,h=d("div"),f=e.suspense=sd(e,o,n,t,h,s,r,i,a,u);c(null,f.pendingBranch=e.ssContent,h,null,n,f,r,i),f.deps>0?(ii(e,"onPending"),ii(e,"onFallback"),c(null,e.ssFallback,t,s,n,null,r,i),Hr(f,e.ssFallback)):f.resolve()}function $1(e,t,s,n,o,r,i,a,{p:u,um:c,o:{createElement:d}}){const h=t.suspense=e.suspense;h.vnode=t,t.el=e.el;const f=t.ssContent,m=t.ssFallback,{activeBranch:p,pendingBranch:_,isInFallback:g,isHydrating:y}=h;if(_)h.pendingBranch=f,Ys(f,_)?(u(_,f,h.hiddenContainer,null,o,h,r,i,a),h.deps<=0?h.resolve():g&&(u(p,m,s,n,o,null,r,i,a),Hr(h,m))):(h.pendingId++,y?(h.isHydrating=!1,h.activeBranch=_):c(_,o,h),h.deps=0,h.effects.length=0,h.hiddenContainer=d("div"),g?(u(null,f,h.hiddenContainer,null,o,h,r,i,a),h.deps<=0?h.resolve():(u(p,m,s,n,o,null,r,i,a),Hr(h,m))):p&&Ys(f,p)?(u(p,f,s,n,o,h,r,i,a),h.resolve(!0)):(u(null,f,h.hiddenContainer,null,o,h,r,i,a),h.deps<=0&&h.resolve()));else if(p&&Ys(f,p))u(p,f,s,n,o,h,r,i,a),Hr(h,f);else if(ii(t,"onPending"),h.pendingBranch=f,h.pendingId++,u(null,f,h.hiddenContainer,null,o,h,r,i,a),h.deps<=0)h.resolve();else{const{timeout:b,pendingId:k}=h;b>0?setTimeout(()=>{h.pendingId===k&&h.fallback(m)},b):b===0&&h.fallback(m)}}function sd(e,t,s,n,o,r,i,a,u,c,d=!1){const{p:h,m:f,um:m,n:p,o:{parentNode:_,remove:g}}=c,y=Ln(e.props&&e.props.timeout),b={vnode:e,parent:t,parentComponent:s,isSVG:i,container:n,hiddenContainer:o,anchor:r,deps:0,pendingId:0,timeout:typeof y=="number"?y:-1,activeBranch:null,pendingBranch:null,isInFallback:!0,isHydrating:d,isUnmounted:!1,effects:[],resolve(k=!1){const{vnode:S,activeBranch:E,pendingBranch:$,pendingId:I,effects:j,parentComponent:O,container:L}=b;if(b.isHydrating)b.isHydrating=!1;else if(!k){const U=E&&$.transition&&$.transition.mode==="out-in";U&&(E.transition.afterLeave=()=>{I===b.pendingId&&f($,L,W,0)});let{anchor:W}=b;E&&(W=p(E),m(E,O,b,!0)),U||f($,L,W,0)}Hr(b,$),b.pendingBranch=null,b.isInFallback=!1;let z=b.parent,D=!1;for(;z;){if(z.pendingBranch){z.effects.push(...j),D=!0;break}z=z.parent}D||Qc(j),b.effects=[],ii(S,"onResolve")},fallback(k){if(!b.pendingBranch)return;const{vnode:S,activeBranch:E,parentComponent:$,container:I,isSVG:j}=b;ii(S,"onFallback");const O=p(E),L=()=>{!b.isInFallback||(h(null,k,I,O,$,null,j,a,u),Hr(b,k))},z=k.transition&&k.transition.mode==="out-in";z&&(E.transition.afterLeave=L),b.isInFallback=!0,m(E,$,null,!0),z||L()},move(k,S,E){b.activeBranch&&f(b.activeBranch,k,S,E),b.container=k},next(){return b.activeBranch&&p(b.activeBranch)},registerDep(k,S){const E=!!b.pendingBranch;E&&b.deps++;const $=k.vnode.el;k.asyncDep.catch(I=>{_r(I,k,0)}).then(I=>{if(k.isUnmounted||b.isUnmounted||b.pendingId!==k.suspenseId)return;k.asyncResolved=!0;const{vnode:j}=k;ec(k,I,!1),$&&(j.el=$);const O=!$&&k.subTree.el;S(k,j,_($||k.subTree.el),$?null:p(k.subTree),b,i,u),O&&g(O),td(k,j.el),E&&--b.deps===0&&b.resolve()})},unmount(k,S){b.isUnmounted=!0,b.activeBranch&&m(b.activeBranch,s,k,S),b.pendingBranch&&m(b.pendingBranch,s,k,S)}};return b}function O1(e,t,s,n,o,r,i,a,u){const c=t.suspense=sd(t,n,s,e.parentNode,document.createElement("div"),null,o,r,i,a,!0),d=u(e,c.pendingBranch=t.ssContent,s,c,r,i);return c.deps===0&&c.resolve(),d}function T1(e){const{shapeFlag:t,children:s}=e,n=t&32;e.ssContent=Ff(n?s.default:s),e.ssFallback=n?Ff(s.fallback):P(ss)}function Ff(e){let t;if(et(e)){const s=Yr&&e._c;s&&(e._d=!1,x()),e=e(),s&&(e._d=!0,t=Qs,Bp())}return ze(e)&&(e=y1(e)),e=ys(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(s=>s!==e)),e}function mp(e,t){t&&t.pendingBranch?ze(e)?t.effects.push(...e):t.effects.push(e):Qc(e)}function Hr(e,t){e.activeBranch=t;const{vnode:s,parentComponent:n}=e,o=s.el=t.el;n&&n.subTree===s&&(n.vnode.el=o,td(n,o))}function Vo(e,t){if(Gt){let s=Gt.provides;const n=Gt.parent&&Gt.parent.provides;n===s&&(s=Gt.provides=Object.create(n)),s[e]=t}}function Xs(e,t,s=!1){const n=Gt||Qt;if(n){const o=n.parent==null?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides;if(o&&e in o)return o[e];if(arguments.length>1)return s&&et(t)?t.call(n.proxy):t}}function A1(e,t){return hi(e,null,t)}function pp(e,t){return hi(e,null,{flush:"post"})}function P1(e,t){return hi(e,null,{flush:"sync"})}const If={};function Bt(e,t,s){return hi(e,t,s)}function hi(e,t,{immediate:s,deep:n,flush:o,onTrack:r,onTrigger:i}=gt){const a=Gt;let u,c=!1,d=!1;if(Vt(e)?(u=()=>e.value,c=zc(e)):ar(e)?(u=()=>e,n=!0):ze(e)?(d=!0,c=e.some(ar),u=()=>e.map(y=>{if(Vt(y))return y.value;if(ar(y))return or(y);if(et(y))return Js(y,a,2)})):et(e)?t?u=()=>Js(e,a,2):u=()=>{if(!(a&&a.isUnmounted))return h&&h(),ks(e,a,3,[f])}:u=Hs,t&&n){const y=u;u=()=>or(y())}let h,f=y=>{h=g.onStop=()=>{Js(y,a,4)}};if(Zr)return f=Hs,t?s&&ks(t,a,3,[u(),d?[]:void 0,f]):u(),Hs;let m=d?[]:If;const p=()=>{if(!!g.active)if(t){const y=g.run();(n||c||(d?y.some((b,k)=>si(b,m[k])):si(y,m)))&&(h&&h(),ks(t,a,3,[y,m===If?void 0:m,f]),m=y)}else g.run()};p.allowRecurse=!!t;let _;o==="sync"?_=p:o==="post"?_=()=>Yt(p,a&&a.suspense):_=()=>{!a||a.isMounted?m1(p):p()};const g=new fi(u,_);return t?s?p():m=g.run():o==="post"?Yt(g.run.bind(g),a&&a.suspense):g.run(),()=>{g.stop(),a&&a.scope&&Mc(a.scope.effects,g)}}function D1(e,t,s){const n=this.proxy,o=Ot(e)?e.includes(".")?_p(n,e):()=>n[e]:e.bind(n,n);let r;et(t)?r=t:(r=t.handler,s=t);const i=Gt;Un(this);const a=hi(o,r.bind(n),s);return i?Un(i):Nn(),a}function _p(e,t){const s=t.split(".");return()=>{let n=e;for(let o=0;o{or(s,t)});else if(Vm(e))for(const s in e)or(e[s],t);return e}function nd(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return io(()=>{e.isMounted=!0}),kl(()=>{e.isUnmounting=!0}),e}const $s=[Function,Array],F1={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:$s,onEnter:$s,onAfterEnter:$s,onEnterCancelled:$s,onBeforeLeave:$s,onLeave:$s,onAfterLeave:$s,onLeaveCancelled:$s,onBeforeAppear:$s,onAppear:$s,onAfterAppear:$s,onAppearCancelled:$s},setup(e,{slots:t}){const s=zn(),n=nd();let o;return()=>{const r=t.default&&yl(t.default(),!0);if(!r||!r.length)return;let i=r[0];if(r.length>1){for(const _ of r)if(_.type!==ss){i=_;break}}const a=lt(e),{mode:u}=a;if(n.isLeaving)return ru(i);const c=Rf(i);if(!c)return ru(i);const d=Gr(c,a,n,s);dr(c,d);const h=s.subTree,f=h&&Rf(h);let m=!1;const{getTransitionKey:p}=c.type;if(p){const _=p();o===void 0?o=_:_!==o&&(o=_,m=!0)}if(f&&f.type!==ss&&(!Ys(c,f)||m)){const _=Gr(f,a,n,s);if(dr(f,_),u==="out-in")return n.isLeaving=!0,_.afterLeave=()=>{n.isLeaving=!1,s.update()},ru(i);u==="in-out"&&c.type!==ss&&(_.delayLeave=(g,y,b)=>{const k=gp(n,f);k[String(f.key)]=f,g._leaveCb=()=>{y(),g._leaveCb=void 0,delete d.delayedLeave},d.delayedLeave=b})}return i}}},rd=F1;function gp(e,t){const{leavingVNodes:s}=e;let n=s.get(t.type);return n||(n=Object.create(null),s.set(t.type,n)),n}function Gr(e,t,s,n){const{appear:o,mode:r,persisted:i=!1,onBeforeEnter:a,onEnter:u,onAfterEnter:c,onEnterCancelled:d,onBeforeLeave:h,onLeave:f,onAfterLeave:m,onLeaveCancelled:p,onBeforeAppear:_,onAppear:g,onAfterAppear:y,onAppearCancelled:b}=t,k=String(e.key),S=gp(s,e),E=(I,j)=>{I&&ks(I,n,9,j)},$={mode:r,persisted:i,beforeEnter(I){let j=a;if(!s.isMounted)if(o)j=_||a;else return;I._leaveCb&&I._leaveCb(!0);const O=S[k];O&&Ys(e,O)&&O.el._leaveCb&&O.el._leaveCb(),E(j,[I])},enter(I){let j=u,O=c,L=d;if(!s.isMounted)if(o)j=g||u,O=y||c,L=b||d;else return;let z=!1;const D=I._enterCb=U=>{z||(z=!0,U?E(L,[I]):E(O,[I]),$.delayedLeave&&$.delayedLeave(),I._enterCb=void 0)};j?(j(I,D),j.length<=1&&D()):D()},leave(I,j){const O=String(e.key);if(I._enterCb&&I._enterCb(!0),s.isUnmounting)return j();E(h,[I]);let L=!1;const z=I._leaveCb=D=>{L||(L=!0,j(),D?E(p,[I]):E(m,[I]),I._leaveCb=void 0,S[O]===e&&delete S[O])};S[O]=e,f?(f(I,z),f.length<=1&&z()):z()},clone(I){return Gr(I,t,s,n)}};return $}function ru(e){if(pi(e))return e=mn(e),e.children=null,e}function Rf(e){return pi(e)?e.children?e.children[0]:void 0:e}function dr(e,t){e.shapeFlag&6&&e.component?dr(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function yl(e,t=!1,s){let n=[],o=0;for(let r=0;r1)for(let r=0;r!!e.type.__asyncLoader;function I1(e){et(e)&&(e={loader:e});const{loader:t,loadingComponent:s,errorComponent:n,delay:o=200,timeout:r,suspensible:i=!0,onError:a}=e;let u=null,c,d=0;const h=()=>(d++,u=null,f()),f=()=>{let m;return u||(m=u=t().catch(p=>{if(p=p instanceof Error?p:new Error(String(p)),a)return new Promise((_,g)=>{a(p,()=>_(h()),()=>g(p),d+1)});throw p}).then(p=>m!==u&&u?u:(p&&(p.__esModule||p[Symbol.toStringTag]==="Module")&&(p=p.default),c=p,p)))};return mi({name:"AsyncComponentWrapper",__asyncLoader:f,get __asyncResolved(){return c},setup(){const m=Gt;if(c)return()=>ou(c,m);const p=b=>{u=null,_r(b,m,13,!n)};if(i&&m.suspense||Zr)return f().then(b=>()=>ou(b,m)).catch(b=>(p(b),()=>n?P(n,{error:b}):null));const _=cn(!1),g=cn(),y=cn(!!o);return o&&setTimeout(()=>{y.value=!1},o),r!=null&&setTimeout(()=>{if(!_.value&&!g.value){const b=new Error(`Async component timed out after ${r}ms.`);p(b),g.value=b}},r),f().then(()=>{_.value=!0,m.parent&&pi(m.parent.vnode)&&Xc(m.parent.update)}).catch(b=>{p(b),g.value=b}),()=>{if(_.value&&c)return ou(c,m);if(g.value&&n)return P(n,{error:g.value});if(s&&!y.value)return P(s)}}})}function ou(e,{vnode:{ref:t,props:s,children:n}}){const o=P(e,s,n);return o.ref=t,o}const pi=e=>e.type.__isKeepAlive,R1={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const s=zn(),n=s.ctx;if(!n.renderer)return t.default;const o=new Map,r=new Set;let i=null;const a=s.suspense,{renderer:{p:u,m:c,um:d,o:{createElement:h}}}=n,f=h("div");n.activate=(b,k,S,E,$)=>{const I=b.component;c(b,k,S,0,a),u(I.vnode,b,k,S,I,a,E,b.slotScopeIds,$),Yt(()=>{I.isDeactivated=!1,I.a&&Ur(I.a);const j=b.props&&b.props.onVnodeMounted;j&&ds(j,I.parent,b)},a)},n.deactivate=b=>{const k=b.component;c(b,f,null,1,a),Yt(()=>{k.da&&Ur(k.da);const S=b.props&&b.props.onVnodeUnmounted;S&&ds(S,k.parent,b),k.isDeactivated=!0},a)};function m(b){iu(b),d(b,s,a,!0)}function p(b){o.forEach((k,S)=>{const E=Wa(k.type);E&&(!b||!b(E))&&_(S)})}function _(b){const k=o.get(b);!i||k.type!==i.type?m(k):i&&iu(i),o.delete(b),r.delete(b)}Bt(()=>[e.include,e.exclude],([b,k])=>{b&&p(S=>To(b,S)),k&&p(S=>!To(k,S))},{flush:"post",deep:!0});let g=null;const y=()=>{g!=null&&o.set(g,au(s.subTree))};return io(y),wl(y),kl(()=>{o.forEach(b=>{const{subTree:k,suspense:S}=s,E=au(k);if(b.type===E.type){iu(E);const $=E.component.da;$&&Yt($,S);return}m(b)})}),()=>{if(g=null,!t.default)return null;const b=t.default(),k=b[0];if(b.length>1)return i=null,b;if(!Bn(k)||!(k.shapeFlag&4)&&!(k.shapeFlag&128))return i=null,k;let S=au(k);const E=S.type,$=Wa(Wr(S)?S.type.__asyncResolved||{}:E),{include:I,exclude:j,max:O}=e;if(I&&(!$||!To(I,$))||j&&$&&To(j,$))return i=S,k;const L=S.key==null?E:S.key,z=o.get(L);return S.el&&(S=mn(S),k.shapeFlag&128&&(k.ssContent=S)),g=L,z?(S.el=z.el,S.component=z.component,S.transition&&dr(S,S.transition),S.shapeFlag|=512,r.delete(L),r.add(L)):(r.add(L),O&&r.size>parseInt(O,10)&&_(r.values().next().value)),S.shapeFlag|=256,i=S,k}}},N1=R1;function To(e,t){return ze(e)?e.some(s=>To(s,t)):Ot(e)?e.split(",").includes(t):e.test?e.test(t):!1}function vp(e,t){bp(e,"a",t)}function yp(e,t){bp(e,"da",t)}function bp(e,t,s=Gt){const n=e.__wdc||(e.__wdc=()=>{let o=s;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(bl(t,n,s),s){let o=s.parent;for(;o&&o.parent;)pi(o.parent.vnode)&&M1(n,t,s,o),o=o.parent}}function M1(e,t,s,n){const o=bl(t,e,n,!0);_i(()=>{Mc(n[t],o)},s)}function iu(e){let t=e.shapeFlag;t&256&&(t-=256),t&512&&(t-=512),e.shapeFlag=t}function au(e){return e.shapeFlag&128?e.ssContent:e}function bl(e,t,s=Gt,n=!1){if(s){const o=s[e]||(s[e]=[]),r=t.__weh||(t.__weh=(...i)=>{if(s.isUnmounted)return;hr(),Un(s);const a=ks(t,s,e,i);return Nn(),mr(),a});return n?o.unshift(r):o.push(r),r}}const gn=e=>(t,s=Gt)=>(!Zr||e==="sp")&&bl(e,t,s),wp=gn("bm"),io=gn("m"),kp=gn("bu"),wl=gn("u"),kl=gn("bum"),_i=gn("um"),xp=gn("sp"),Sp=gn("rtg"),Ep=gn("rtc");function Cp(e,t=Gt){bl("ec",e,t)}let Wu=!0;function L1(e){const t=Op(e),s=e.proxy,n=e.ctx;Wu=!1,t.beforeCreate&&Nf(t.beforeCreate,e,"bc");const{data:o,computed:r,methods:i,watch:a,provide:u,inject:c,created:d,beforeMount:h,mounted:f,beforeUpdate:m,updated:p,activated:_,deactivated:g,beforeDestroy:y,beforeUnmount:b,destroyed:k,unmounted:S,render:E,renderTracked:$,renderTriggered:I,errorCaptured:j,serverPrefetch:O,expose:L,inheritAttrs:z,components:D,directives:U,filters:W}=t;if(c&&j1(c,n,null,e.appContext.config.unwrapInjectedRef),i)for(const ae in i){const ve=i[ae];et(ve)&&(n[ae]=ve.bind(s))}if(o){const ae=o.call(s,s);Rt(ae)&&(e.data=pr(ae))}if(Wu=!0,r)for(const ae in r){const ve=r[ae],Me=et(ve)?ve.bind(s,s):et(ve.get)?ve.get.bind(s,s):Hs,Ge=!et(ve)&&et(ve.set)?ve.set.bind(s):Hs,me=Wt({get:Me,set:Ge});Object.defineProperty(n,ae,{enumerable:!0,configurable:!0,get:()=>me.value,set:Z=>me.value=Z})}if(a)for(const ae in a)$p(a[ae],n,s,ae);if(u){const ae=et(u)?u.call(s):u;Reflect.ownKeys(ae).forEach(ve=>{Vo(ve,ae[ve])})}d&&Nf(d,e,"c");function te(ae,ve){ze(ve)?ve.forEach(Me=>ae(Me.bind(s))):ve&&ae(ve.bind(s))}if(te(wp,h),te(io,f),te(kp,m),te(wl,p),te(vp,_),te(yp,g),te(Cp,j),te(Ep,$),te(Sp,I),te(kl,b),te(_i,S),te(xp,O),ze(L))if(L.length){const ae=e.exposed||(e.exposed={});L.forEach(ve=>{Object.defineProperty(ae,ve,{get:()=>s[ve],set:Me=>s[ve]=Me})})}else e.exposed||(e.exposed={});E&&e.render===Hs&&(e.render=E),z!=null&&(e.inheritAttrs=z),D&&(e.components=D),U&&(e.directives=U)}function j1(e,t,s=Hs,n=!1){ze(e)&&(e=Ku(e));for(const o in e){const r=e[o];let i;Rt(r)?"default"in r?i=Xs(r.from||o,r.default,!0):i=Xs(r.from||o):i=Xs(r),Vt(i)&&n?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>i.value,set:a=>i.value=a}):t[o]=i}}function Nf(e,t,s){ks(ze(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function $p(e,t,s,n){const o=n.includes(".")?_p(s,n):()=>s[n];if(Ot(e)){const r=t[e];et(r)&&Bt(o,r)}else if(et(e))Bt(o,e.bind(s));else if(Rt(e))if(ze(e))e.forEach(r=>$p(r,t,s,n));else{const r=et(e.handler)?e.handler.bind(s):t[e.handler];et(r)&&Bt(o,r,e)}}function Op(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:o,optionsCache:r,config:{optionMergeStrategies:i}}=e.appContext,a=r.get(t);let u;return a?u=a:!o.length&&!s&&!n?u=t:(u={},o.length&&o.forEach(c=>Ha(u,c,i,!0)),Ha(u,t,i)),r.set(t,u),u}function Ha(e,t,s,n=!1){const{mixins:o,extends:r}=t;r&&Ha(e,r,s,!0),o&&o.forEach(i=>Ha(e,i,s,!0));for(const i in t)if(!(n&&i==="expose")){const a=B1[i]||s&&s[i];e[i]=a?a(e[i],t[i]):t[i]}return e}const B1={data:Mf,props:er,emits:er,methods:er,computed:er,beforeCreate:rs,created:rs,beforeMount:rs,mounted:rs,beforeUpdate:rs,updated:rs,beforeDestroy:rs,beforeUnmount:rs,destroyed:rs,unmounted:rs,activated:rs,deactivated:rs,errorCaptured:rs,serverPrefetch:rs,components:er,directives:er,watch:V1,provide:Mf,inject:U1};function Mf(e,t){return t?e?function(){return It(et(e)?e.call(this,this):e,et(t)?t.call(this,this):t)}:t:e}function U1(e,t){return er(Ku(e),Ku(t))}function Ku(e){if(ze(e)){const t={};for(let s=0;s0)&&!(i&16)){if(i&8){const d=e.vnode.dynamicProps;for(let h=0;h{u=!0;const[f,m]=Ap(h,t,!0);It(i,f),m&&a.push(...m)};!s&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!r&&!u)return n.set(e,jr),jr;if(ze(r))for(let d=0;d-1,m[1]=_<0||p<_,(p>-1||dt(m,"default"))&&a.push(h)}}}const c=[i,a];return n.set(e,c),c}function Lf(e){return e[0]!=="$"}function jf(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:e===null?"null":""}function Bf(e,t){return jf(e)===jf(t)}function Uf(e,t){return ze(t)?t.findIndex(s=>Bf(s,e)):et(t)&&Bf(t,e)?0:-1}const Pp=e=>e[0]==="_"||e==="$stable",od=e=>ze(e)?e.map(ys):[ys(e)],z1=(e,t,s)=>{const n=T((...o)=>od(t(...o)),s);return n._c=!1,n},Dp=(e,t,s)=>{const n=e._ctx;for(const o in e){if(Pp(o))continue;const r=e[o];if(et(r))t[o]=z1(o,r,n);else if(r!=null){const i=od(r);t[o]=()=>i}}},Fp=(e,t)=>{const s=od(t);e.slots.default=()=>s},G1=(e,t)=>{if(e.vnode.shapeFlag&32){const s=t._;s?(e.slots=lt(t),Ba(t,"_",s)):Dp(t,e.slots={})}else e.slots={},t&&Fp(e,t);Ba(e.slots,Sl,1)},W1=(e,t,s)=>{const{vnode:n,slots:o}=e;let r=!0,i=gt;if(n.shapeFlag&32){const a=t._;a?s&&a===1?r=!1:(It(o,t),!s&&a===1&&delete o._):(r=!t.$stable,Dp(t,o)),i=t}else t&&(Fp(e,t),i={default:1});if(r)for(const a in o)!Pp(a)&&!(a in i)&&delete o[a]};function wt(e,t){const s=Qt;if(s===null)return e;const n=El(s)||s.proxy,o=e.dirs||(e.dirs=[]);for(let r=0;rqa(f,t&&(ze(t)?t[m]:t),s,n,o));return}if(Wr(n)&&!o)return;const r=n.shapeFlag&4?El(n.component)||n.component.proxy:n.el,i=o?null:r,{i:a,r:u}=e,c=t&&t.r,d=a.refs===gt?a.refs={}:a.refs,h=a.setupState;if(c!=null&&c!==u&&(Ot(c)?(d[c]=null,dt(h,c)&&(h[c]=null)):Vt(c)&&(c.value=null)),et(u))Js(u,a,12,[i,d]);else{const f=Ot(u),m=Vt(u);if(f||m){const p=()=>{if(e.f){const _=f?d[u]:u.value;o?ze(_)&&Mc(_,r):ze(_)?_.includes(r)||_.push(r):f?(d[u]=[r],dt(h,u)&&(h[u]=d[u])):(u.value=[r],e.k&&(d[e.k]=u.value))}else f?(d[u]=i,dt(h,u)&&(h[u]=i)):Vt(u)&&(u.value=i,e.k&&(d[e.k]=i))};i?(p.id=-1,Yt(p,s)):p()}}}let kn=!1;const Mi=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",lu=e=>e.nodeType===8;function Z1(e){const{mt:t,p:s,o:{patchProp:n,nextSibling:o,parentNode:r,remove:i,insert:a,createComment:u}}=e,c=(g,y)=>{if(!y.hasChildNodes()){s(null,g,y),Va();return}kn=!1,d(y.firstChild,g,null,null,null),Va(),kn&&console.error("Hydration completed but contains mismatches.")},d=(g,y,b,k,S,E=!1)=>{const $=lu(g)&&g.data==="[",I=()=>p(g,y,b,k,S,$),{type:j,ref:O,shapeFlag:L}=y,z=g.nodeType;y.el=g;let D=null;switch(j){case Kr:z!==3?D=I():(g.data!==y.children&&(kn=!0,g.data=y.children),D=o(g));break;case ss:z!==8||$?D=I():D=o(g);break;case lr:if(z!==1)D=I();else{D=g;const U=!y.children.length;for(let W=0;W{E=E||!!y.dynamicChildren;const{type:$,props:I,patchFlag:j,shapeFlag:O,dirs:L}=y,z=$==="input"&&L||$==="option";if(z||j!==-1){if(L&&Ks(y,null,b,"created"),I)if(z||!E||j&48)for(const U in I)(z&&U.endsWith("value")||ci(U)&&!No(U))&&n(g,U,null,I[U],!1,void 0,b);else I.onClick&&n(g,"onClick",null,I.onClick,!1,void 0,b);let D;if((D=I&&I.onVnodeBeforeMount)&&ds(D,b,y),L&&Ks(y,null,b,"beforeMount"),((D=I&&I.onVnodeMounted)||L)&&mp(()=>{D&&ds(D,b,y),L&&Ks(y,null,b,"mounted")},k),O&16&&!(I&&(I.innerHTML||I.textContent))){let U=f(g.firstChild,y,g,b,k,S,E);for(;U;){kn=!0;const W=U;U=U.nextSibling,i(W)}}else O&8&&g.textContent!==y.children&&(kn=!0,g.textContent=y.children)}return g.nextSibling},f=(g,y,b,k,S,E,$)=>{$=$||!!y.dynamicChildren;const I=y.children,j=I.length;for(let O=0;O{const{slotScopeIds:$}=y;$&&(S=S?S.concat($):$);const I=r(g),j=f(o(g),y,I,b,k,S,E);return j&&lu(j)&&j.data==="]"?o(y.anchor=j):(kn=!0,a(y.anchor=u("]"),I,j),j)},p=(g,y,b,k,S,E)=>{if(kn=!0,y.el=null,E){const j=_(g);for(;;){const O=o(g);if(O&&O!==j)i(O);else break}}const $=o(g),I=r(g);return i(g),s(null,y,I,$,b,k,Mi(I),S),$},_=g=>{let y=0;for(;g;)if(g=o(g),g&&lu(g)&&(g.data==="["&&y++,g.data==="]")){if(y===0)return o(g);y--}return g};return[c,d]}const Yt=mp;function Rp(e){return Mp(e)}function Np(e){return Mp(e,Z1)}function Mp(e,t){const s=bb();s.__VUE__=!0;const{insert:n,remove:o,patchProp:r,createElement:i,createText:a,createComment:u,setText:c,setElementText:d,parentNode:h,nextSibling:f,setScopeId:m=Hs,cloneNode:p,insertStaticContent:_}=e,g=(C,N,K,oe=null,le=null,ye=null,ke=!1,he=null,pe=!!N.dynamicChildren)=>{if(C===N)return;C&&!Ys(C,N)&&(oe=be(C),ce(C,le,ye,!0),C=null),N.patchFlag===-2&&(pe=!1,N.dynamicChildren=null);const{type:fe,ref:je,shapeFlag:Ce}=N;switch(fe){case Kr:y(C,N,K,oe);break;case ss:b(C,N,K,oe);break;case lr:C==null&&k(N,K,oe,ke);break;case Ke:U(C,N,K,oe,le,ye,ke,he,pe);break;default:Ce&1?$(C,N,K,oe,le,ye,ke,he,pe):Ce&6?W(C,N,K,oe,le,ye,ke,he,pe):(Ce&64||Ce&128)&&fe.process(C,N,K,oe,le,ye,ke,he,pe,Re)}je!=null&&le&&qa(je,C&&C.ref,ye,N||C,!N)},y=(C,N,K,oe)=>{if(C==null)n(N.el=a(N.children),K,oe);else{const le=N.el=C.el;N.children!==C.children&&c(le,N.children)}},b=(C,N,K,oe)=>{C==null?n(N.el=u(N.children||""),K,oe):N.el=C.el},k=(C,N,K,oe)=>{[C.el,C.anchor]=_(C.children,N,K,oe,C.el,C.anchor)},S=({el:C,anchor:N},K,oe)=>{let le;for(;C&&C!==N;)le=f(C),n(C,K,oe),C=le;n(N,K,oe)},E=({el:C,anchor:N})=>{let K;for(;C&&C!==N;)K=f(C),o(C),C=K;o(N)},$=(C,N,K,oe,le,ye,ke,he,pe)=>{ke=ke||N.type==="svg",C==null?I(N,K,oe,le,ye,ke,he,pe):L(C,N,le,ye,ke,he,pe)},I=(C,N,K,oe,le,ye,ke,he)=>{let pe,fe;const{type:je,props:Ce,shapeFlag:Ne,transition:qe,patchFlag:Ze,dirs:nt}=C;if(C.el&&p!==void 0&&Ze===-1)pe=C.el=p(C.el);else{if(pe=C.el=i(C.type,ye,Ce&&Ce.is,Ce),Ne&8?d(pe,C.children):Ne&16&&O(C.children,pe,null,oe,le,ye&&je!=="foreignObject",ke,he),nt&&Ks(C,null,oe,"created"),Ce){for(const v in Ce)v!=="value"&&!No(v)&&r(pe,v,null,Ce[v],ye,C.children,oe,le,se);"value"in Ce&&r(pe,"value",null,Ce.value),(fe=Ce.onVnodeBeforeMount)&&ds(fe,oe,C)}j(pe,C,C.scopeId,ke,oe)}nt&&Ks(C,null,oe,"beforeMount");const w=(!le||le&&!le.pendingBranch)&&qe&&!qe.persisted;w&&qe.beforeEnter(pe),n(pe,N,K),((fe=Ce&&Ce.onVnodeMounted)||w||nt)&&Yt(()=>{fe&&ds(fe,oe,C),w&&qe.enter(pe),nt&&Ks(C,null,oe,"mounted")},le)},j=(C,N,K,oe,le)=>{if(K&&m(C,K),oe)for(let ye=0;ye{for(let fe=pe;fe{const he=N.el=C.el;let{patchFlag:pe,dynamicChildren:fe,dirs:je}=N;pe|=C.patchFlag&16;const Ce=C.props||gt,Ne=N.props||gt;let qe;K&&Kn(K,!1),(qe=Ne.onVnodeBeforeUpdate)&&ds(qe,K,N,C),je&&Ks(N,C,K,"beforeUpdate"),K&&Kn(K,!0);const Ze=le&&N.type!=="foreignObject";if(fe?z(C.dynamicChildren,fe,he,K,oe,Ze,ye):ke||Me(C,N,he,null,K,oe,Ze,ye,!1),pe>0){if(pe&16)D(he,N,Ce,Ne,K,oe,le);else if(pe&2&&Ce.class!==Ne.class&&r(he,"class",null,Ne.class,le),pe&4&&r(he,"style",Ce.style,Ne.style,le),pe&8){const nt=N.dynamicProps;for(let w=0;w{qe&&ds(qe,K,N,C),je&&Ks(N,C,K,"updated")},oe)},z=(C,N,K,oe,le,ye,ke)=>{for(let he=0;he{if(K!==oe){for(const he in oe){if(No(he))continue;const pe=oe[he],fe=K[he];pe!==fe&&he!=="value"&&r(C,he,fe,pe,ke,N.children,le,ye,se)}if(K!==gt)for(const he in K)!No(he)&&!(he in oe)&&r(C,he,K[he],null,ke,N.children,le,ye,se);"value"in oe&&r(C,"value",K.value,oe.value)}},U=(C,N,K,oe,le,ye,ke,he,pe)=>{const fe=N.el=C?C.el:a(""),je=N.anchor=C?C.anchor:a("");let{patchFlag:Ce,dynamicChildren:Ne,slotScopeIds:qe}=N;qe&&(he=he?he.concat(qe):qe),C==null?(n(fe,K,oe),n(je,K,oe),O(N.children,K,je,le,ye,ke,he,pe)):Ce>0&&Ce&64&&Ne&&C.dynamicChildren?(z(C.dynamicChildren,Ne,K,le,ye,ke,he),(N.key!=null||le&&N===le.subTree)&&id(C,N,!0)):Me(C,N,K,je,le,ye,ke,he,pe)},W=(C,N,K,oe,le,ye,ke,he,pe)=>{N.slotScopeIds=he,C==null?N.shapeFlag&512?le.ctx.activate(N,K,oe,ke,pe):ue(N,K,oe,le,ye,ke,pe):te(C,N,pe)},ue=(C,N,K,oe,le,ye,ke)=>{const he=C.component=zp(C,oe,le);if(pi(C)&&(he.ctx.renderer=Re),Wp(he),he.asyncDep){if(le&&le.registerDep(he,ae),!C.el){const pe=he.subTree=P(ss);b(null,pe,N,K)}return}ae(he,C,N,K,le,ye,ke)},te=(C,N,K)=>{const oe=N.component=C.component;if(k1(C,N,K))if(oe.asyncDep&&!oe.asyncResolved){ve(oe,N,K);return}else oe.next=N,h1(oe.update),oe.update();else N.component=C.component,N.el=C.el,oe.vnode=N},ae=(C,N,K,oe,le,ye,ke)=>{const he=()=>{if(C.isMounted){let{next:je,bu:Ce,u:Ne,parent:qe,vnode:Ze}=C,nt=je,w;Kn(C,!1),je?(je.el=Ze.el,ve(C,je,ke)):je=Ze,Ce&&Ur(Ce),(w=je.props&&je.props.onVnodeBeforeUpdate)&&ds(w,qe,je,Ze),Kn(C,!0);const v=Ta(C),F=C.subTree;C.subTree=v,g(F,v,h(F.el),be(F),C,le,ye),je.el=v.el,nt===null&&td(C,v.el),Ne&&Yt(Ne,le),(w=je.props&&je.props.onVnodeUpdated)&&Yt(()=>ds(w,qe,je,Ze),le)}else{let je;const{el:Ce,props:Ne}=N,{bm:qe,m:Ze,parent:nt}=C,w=Wr(N);if(Kn(C,!1),qe&&Ur(qe),!w&&(je=Ne&&Ne.onVnodeBeforeMount)&&ds(je,nt,N),Kn(C,!0),Ce&&De){const v=()=>{C.subTree=Ta(C),De(Ce,C.subTree,C,le,null)};w?N.type.__asyncLoader().then(()=>!C.isUnmounted&&v()):v()}else{const v=C.subTree=Ta(C);g(null,v,K,oe,C,le,ye),N.el=v.el}if(Ze&&Yt(Ze,le),!w&&(je=Ne&&Ne.onVnodeMounted)){const v=N;Yt(()=>ds(je,nt,v),le)}N.shapeFlag&256&&C.a&&Yt(C.a,le),C.isMounted=!0,N=K=oe=null}},pe=C.effect=new fi(he,()=>Xc(C.update),C.scope),fe=C.update=pe.run.bind(pe);fe.id=C.uid,Kn(C,!0),fe()},ve=(C,N,K)=>{N.component=C;const oe=C.vnode.props;C.vnode=N,C.next=null,q1(C,N.props,oe,K),W1(C,N.children,K),hr(),ed(void 0,C.update),mr()},Me=(C,N,K,oe,le,ye,ke,he,pe=!1)=>{const fe=C&&C.children,je=C?C.shapeFlag:0,Ce=N.children,{patchFlag:Ne,shapeFlag:qe}=N;if(Ne>0){if(Ne&128){me(fe,Ce,K,oe,le,ye,ke,he,pe);return}else if(Ne&256){Ge(fe,Ce,K,oe,le,ye,ke,he,pe);return}}qe&8?(je&16&&se(fe,le,ye),Ce!==fe&&d(K,Ce)):je&16?qe&16?me(fe,Ce,K,oe,le,ye,ke,he,pe):se(fe,le,ye,!0):(je&8&&d(K,""),qe&16&&O(Ce,K,oe,le,ye,ke,he,pe))},Ge=(C,N,K,oe,le,ye,ke,he,pe)=>{C=C||jr,N=N||jr;const fe=C.length,je=N.length,Ce=Math.min(fe,je);let Ne;for(Ne=0;Neje?se(C,le,ye,!0,!1,Ce):O(N,K,oe,le,ye,ke,he,pe,Ce)},me=(C,N,K,oe,le,ye,ke,he,pe)=>{let fe=0;const je=N.length;let Ce=C.length-1,Ne=je-1;for(;fe<=Ce&&fe<=Ne;){const qe=C[fe],Ze=N[fe]=pe?On(N[fe]):ys(N[fe]);if(Ys(qe,Ze))g(qe,Ze,K,null,le,ye,ke,he,pe);else break;fe++}for(;fe<=Ce&&fe<=Ne;){const qe=C[Ce],Ze=N[Ne]=pe?On(N[Ne]):ys(N[Ne]);if(Ys(qe,Ze))g(qe,Ze,K,null,le,ye,ke,he,pe);else break;Ce--,Ne--}if(fe>Ce){if(fe<=Ne){const qe=Ne+1,Ze=qeNe)for(;fe<=Ce;)ce(C[fe],le,ye,!0),fe++;else{const qe=fe,Ze=fe,nt=new Map;for(fe=Ze;fe<=Ne;fe++){const Ie=N[fe]=pe?On(N[fe]):ys(N[fe]);Ie.key!=null&&nt.set(Ie.key,fe)}let w,v=0;const F=Ne-Ze+1;let q=!1,J=0;const de=new Array(F);for(fe=0;fe=F){ce(Ie,le,ye,!0);continue}let ee;if(Ie.key!=null)ee=nt.get(Ie.key);else for(w=Ze;w<=Ne;w++)if(de[w-Ze]===0&&Ys(Ie,N[w])){ee=w;break}ee===void 0?ce(Ie,le,ye,!0):(de[ee-Ze]=fe+1,ee>=J?J=ee:q=!0,g(Ie,N[ee],K,null,le,ye,ke,he,pe),v++)}const Ee=q?J1(de):jr;for(w=Ee.length-1,fe=F-1;fe>=0;fe--){const Ie=Ze+fe,ee=N[Ie],ie=Ie+1{const{el:ye,type:ke,transition:he,children:pe,shapeFlag:fe}=C;if(fe&6){Z(C.component.subTree,N,K,oe);return}if(fe&128){C.suspense.move(N,K,oe);return}if(fe&64){ke.move(C,N,K,Re);return}if(ke===Ke){n(ye,N,K);for(let Ce=0;Cehe.enter(ye),le);else{const{leave:Ce,delayLeave:Ne,afterLeave:qe}=he,Ze=()=>n(ye,N,K),nt=()=>{Ce(ye,()=>{Ze(),qe&&qe()})};Ne?Ne(ye,Ze,nt):nt()}else n(ye,N,K)},ce=(C,N,K,oe=!1,le=!1)=>{const{type:ye,props:ke,ref:he,children:pe,dynamicChildren:fe,shapeFlag:je,patchFlag:Ce,dirs:Ne}=C;if(he!=null&&qa(he,null,K,C,!0),je&256){N.ctx.deactivate(C);return}const qe=je&1&&Ne,Ze=!Wr(C);let nt;if(Ze&&(nt=ke&&ke.onVnodeBeforeUnmount)&&ds(nt,N,C),je&6)re(C.component,K,oe);else{if(je&128){C.suspense.unmount(K,oe);return}qe&&Ks(C,null,N,"beforeUnmount"),je&64?C.type.remove(C,N,K,le,Re,oe):fe&&(ye!==Ke||Ce>0&&Ce&64)?se(fe,N,K,!1,!0):(ye===Ke&&Ce&384||!le&&je&16)&&se(pe,N,K),oe&&we(C)}(Ze&&(nt=ke&&ke.onVnodeUnmounted)||qe)&&Yt(()=>{nt&&ds(nt,N,C),qe&&Ks(C,null,N,"unmounted")},K)},we=C=>{const{type:N,el:K,anchor:oe,transition:le}=C;if(N===Ke){V(K,oe);return}if(N===lr){E(C);return}const ye=()=>{o(K),le&&!le.persisted&&le.afterLeave&&le.afterLeave()};if(C.shapeFlag&1&&le&&!le.persisted){const{leave:ke,delayLeave:he}=le,pe=()=>ke(K,ye);he?he(C.el,ye,pe):pe()}else ye()},V=(C,N)=>{let K;for(;C!==N;)K=f(C),o(C),C=K;o(N)},re=(C,N,K)=>{const{bum:oe,scope:le,update:ye,subTree:ke,um:he}=C;oe&&Ur(oe),le.stop(),ye&&(ye.active=!1,ce(ke,C,N,K)),he&&Yt(he,N),Yt(()=>{C.isUnmounted=!0},N),N&&N.pendingBranch&&!N.isUnmounted&&C.asyncDep&&!C.asyncResolved&&C.suspenseId===N.pendingId&&(N.deps--,N.deps===0&&N.resolve())},se=(C,N,K,oe=!1,le=!1,ye=0)=>{for(let ke=ye;keC.shapeFlag&6?be(C.component.subTree):C.shapeFlag&128?C.suspense.next():f(C.anchor||C.el),He=(C,N,K)=>{C==null?N._vnode&&ce(N._vnode,null,null,!0):g(N._vnode||null,C,N,null,null,null,K),Va(),N._vnode=C},Re={p:g,um:ce,m:Z,r:we,mt:ue,mc:O,pc:Me,pbc:z,n:be,o:e};let Oe,De;return t&&([Oe,De]=t(Re)),{render:He,hydrate:Oe,createApp:Y1(He,Oe)}}function Kn({effect:e,update:t},s){e.allowRecurse=t.allowRecurse=s}function id(e,t,s=!1){const n=e.children,o=t.children;if(ze(n)&&ze(o))for(let r=0;r>1,e[s[a]]0&&(t[n]=s[r-1]),s[r]=n)}}for(r=s.length,i=s[r-1];r-- >0;)s[r]=i,i=t[i];return s}const X1=e=>e.__isTeleport,Ho=e=>e&&(e.disabled||e.disabled===""),Vf=e=>typeof SVGElement!="undefined"&&e instanceof SVGElement,Zu=(e,t)=>{const s=e&&e.to;return Ot(s)?t?t(s):null:s},Q1={__isTeleport:!0,process(e,t,s,n,o,r,i,a,u,c){const{mc:d,pc:h,pbc:f,o:{insert:m,querySelector:p,createText:_,createComment:g}}=c,y=Ho(t.props);let{shapeFlag:b,children:k,dynamicChildren:S}=t;if(e==null){const E=t.el=_(""),$=t.anchor=_("");m(E,s,n),m($,s,n);const I=t.target=Zu(t.props,p),j=t.targetAnchor=_("");I&&(m(j,I),i=i||Vf(I));const O=(L,z)=>{b&16&&d(k,L,z,o,r,i,a,u)};y?O(s,$):I&&O(I,j)}else{t.el=e.el;const E=t.anchor=e.anchor,$=t.target=e.target,I=t.targetAnchor=e.targetAnchor,j=Ho(e.props),O=j?s:$,L=j?E:I;if(i=i||Vf($),S?(f(e.dynamicChildren,S,O,o,r,i,a),id(e,t,!0)):u||h(e,t,O,L,o,r,i,a,!1),y)j||Li(t,s,E,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const z=t.target=Zu(t.props,p);z&&Li(t,z,null,c,0)}else j&&Li(t,$,I,c,1)}},remove(e,t,s,n,{um:o,o:{remove:r}},i){const{shapeFlag:a,children:u,anchor:c,targetAnchor:d,target:h,props:f}=e;if(h&&r(d),(i||!Ho(f))&&(r(c),a&16))for(let m=0;m0?Qs||jr:null,Bp(),Yr>0&&Qs&&Qs.push(e),e}function A(e,t,s,n,o,r){return Up(l(e,t,s,n,o,r,!0))}function xe(e,t,s,n,o){return Up(P(e,t,s,n,o,!0))}function Bn(e){return e?e.__v_isVNode===!0:!1}function Ys(e,t){return e.type===t.type&&e.key===t.key}function s0(e){}const Sl="__vInternal",Vp=({key:e})=>e!=null?e:null,Aa=({ref:e,ref_key:t,ref_for:s})=>e!=null?Ot(e)||Vt(e)||et(e)?{i:Qt,r:e,k:t,f:!!s}:e:null;function l(e,t=null,s=null,n=0,o=null,r=e===Ke?0:1,i=!1,a=!1){const u={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Vp(t),ref:t&&Aa(t),scopeId:vl,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:n,dynamicProps:o,dynamicChildren:null,appContext:null};return a?(cd(u,s),r&128&&e.normalize(u)):s&&(u.shapeFlag|=Ot(s)?8:16),Yr>0&&!i&&Qs&&(u.patchFlag>0||r&6)&&u.patchFlag!==32&&Qs.push(u),u}const P=n0;function n0(e,t=null,s=null,n=0,o=null,r=!1){if((!e||e===Lp)&&(e=ss),Bn(e)){const a=mn(e,t,!0);return s&&cd(a,s),a}if(m0(e)&&(e=e.__vccOpts),t){t=Hp(t);let{class:a,style:u}=t;a&&!Ot(a)&&(t.class=Le(a)),Rt(u)&&(Gc(u)&&!ze(u)&&(u=It({},u)),t.style=Hn(u))}const i=Ot(e)?1:x1(e)?128:X1(e)?64:Rt(e)?4:et(e)?2:0;return l(e,t,s,n,o,i,r,!0)}function Hp(e){return e?Gc(e)||Sl in e?It({},e):e:null}function mn(e,t,s=!1){const{props:n,ref:o,patchFlag:r,children:i}=e,a=t?dd(n||{},t):n;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&Vp(a),ref:t&&t.ref?s&&o?ze(o)?o.concat(Aa(t)):[o,Aa(t)]:Aa(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ke?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&mn(e.ssContent),ssFallback:e.ssFallback&&mn(e.ssFallback),el:e.el,anchor:e.anchor}}function $e(e=" ",t=0){return P(Kr,null,e,t)}function ud(e,t){const s=P(lr,null,e);return s.staticCount=t,s}function Y(e="",t=!1){return t?(x(),xe(ss,null,e)):P(ss,null,e)}function ys(e){return e==null||typeof e=="boolean"?P(ss):ze(e)?P(Ke,null,e.slice()):typeof e=="object"?On(e):P(Kr,null,String(e))}function On(e){return e.el===null||e.memo?e:mn(e)}function cd(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(ze(t))s=16;else if(typeof t=="object")if(n&65){const o=t.default;o&&(o._c&&(o._d=!1),cd(e,o()),o._c&&(o._d=!0));return}else{s=32;const o=t._;!o&&!(Sl in t)?t._ctx=Qt:o===3&&Qt&&(Qt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else et(t)?(t={default:t,_ctx:Qt},s=32):(t=String(t),n&64?(s=16,t=[$e(t)]):s=8);e.children=t,e.shapeFlag|=s}function dd(...e){const t={};for(let s=0;st(i,a,void 0,r&&r[a]));else{const i=Object.keys(e);o=new Array(i.length);for(let a=0,u=i.length;aBn(t)?!(t.type===ss||t.type===Ke&&!qp(t.children)):!0)?e:null}function r0(e){const t={};for(const s in e)t[Mo(s)]=e[s];return t}const Xu=e=>e?Gp(e)?El(e)||e.proxy:Xu(e.parent):null,za=It(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Xu(e.parent),$root:e=>Xu(e.root),$emit:e=>e.emit,$options:e=>Op(e),$forceUpdate:e=>()=>Xc(e.update),$nextTick:e=>_l.bind(e.proxy),$watch:e=>D1.bind(e)}),Qu={get({_:e},t){const{ctx:s,setupState:n,data:o,props:r,accessCache:i,type:a,appContext:u}=e;let c;if(t[0]!=="$"){const m=i[t];if(m!==void 0)switch(m){case 1:return n[t];case 2:return o[t];case 4:return s[t];case 3:return r[t]}else{if(n!==gt&&dt(n,t))return i[t]=1,n[t];if(o!==gt&&dt(o,t))return i[t]=2,o[t];if((c=e.propsOptions[0])&&dt(c,t))return i[t]=3,r[t];if(s!==gt&&dt(s,t))return i[t]=4,s[t];Wu&&(i[t]=0)}}const d=za[t];let h,f;if(d)return t==="$attrs"&&Es(e,"get",t),d(e);if((h=a.__cssModules)&&(h=h[t]))return h;if(s!==gt&&dt(s,t))return i[t]=4,s[t];if(f=u.config.globalProperties,dt(f,t))return f[t]},set({_:e},t,s){const{data:n,setupState:o,ctx:r}=e;return o!==gt&&dt(o,t)?(o[t]=s,!0):n!==gt&&dt(n,t)?(n[t]=s,!0):dt(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:o,propsOptions:r}},i){let a;return!!s[i]||e!==gt&&dt(e,i)||t!==gt&&dt(t,i)||(a=r[0])&&dt(a,i)||dt(n,i)||dt(za,i)||dt(o.config.globalProperties,i)},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:dt(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}},o0=It({},Qu,{get(e,t){if(t!==Symbol.unscopables)return Qu.get(e,t,e)},has(e,t){return t[0]!=="_"&&!ib(t)}}),i0=Ip();let a0=0;function zp(e,t,s){const n=e.type,o=(t?t.appContext:e.appContext)||i0,r={uid:a0++,vnode:e,type:n,parent:t,appContext:o,root:null,next:null,subTree:null,effect:null,update:null,scope:new Uc(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(o.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Ap(n,o),emitsOptions:hp(n,o),emit:null,emitted:null,propsDefaults:gt,inheritAttrs:n.inheritAttrs,ctx:gt,data:gt,props:gt,attrs:gt,slots:gt,refs:gt,setupState:gt,setupContext:null,suspense:s,suspenseId:s?s.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return r.ctx={_:r},r.root=t?t.root:r,r.emit=p1.bind(null,r),e.ce&&e.ce(r),r}let Gt=null;const zn=()=>Gt||Qt,Un=e=>{Gt=e,e.scope.on()},Nn=()=>{Gt&&Gt.scope.off(),Gt=null};function Gp(e){return e.vnode.shapeFlag&4}let Zr=!1;function Wp(e,t=!1){Zr=t;const{props:s,children:n}=e.vnode,o=Gp(e);H1(e,s,o,t),G1(e,n);const r=o?l0(e,t):void 0;return Zr=!1,r}function l0(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=Wc(new Proxy(e.ctx,Qu));const{setup:n}=s;if(n){const o=e.setupContext=n.length>1?Yp(e):null;Un(e),hr();const r=Js(n,e,0,[e.props,o]);if(mr(),Nn(),jc(r)){if(r.then(Nn,Nn),t)return r.then(i=>{ec(e,i,t)}).catch(i=>{_r(i,e,0)});e.asyncDep=r}else ec(e,r,t)}else Kp(e,t)}function ec(e,t,s){et(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Rt(t)&&(e.setupState=Zc(t)),Kp(e,s)}let Ga,tc;function u0(e){Ga=e,tc=t=>{t.render._rc&&(t.withProxy=new Proxy(t.ctx,o0))}}const c0=()=>!Ga;function Kp(e,t,s){const n=e.type;if(!e.render){if(!t&&Ga&&!n.render){const o=n.template;if(o){const{isCustomElement:r,compilerOptions:i}=e.appContext.config,{delimiters:a,compilerOptions:u}=n,c=It(It({isCustomElement:r,delimiters:a},i),u);n.render=Ga(o,c)}}e.render=n.render||Hs,tc&&tc(e)}Un(e),hr(),L1(e),mr(),Nn()}function d0(e){return new Proxy(e.attrs,{get(t,s){return Es(e,"get","$attrs"),t[s]}})}function Yp(e){const t=n=>{e.exposed=n||{}};let s;return{get attrs(){return s||(s=d0(e))},slots:e.slots,emit:e.emit,expose:t}}function El(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Zc(Wc(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in za)return za[s](e)}}))}const f0=/(?:^|[-_])(\w)/g,h0=e=>e.replace(f0,t=>t.toUpperCase()).replace(/[-_]/g,"");function Wa(e){return et(e)&&e.displayName||e.name}function Zp(e,t,s=!1){let n=Wa(t);if(!n&&t.__file){const o=t.__file.match(/([^/\\]+)\.\w+$/);o&&(n=o[1])}if(!n&&e&&e.parent){const o=r=>{for(const i in r)if(r[i]===t)return i};n=o(e.components||e.parent.type.components)||o(e.appContext.components)}return n?h0(n):s?"App":"Anonymous"}function m0(e){return et(e)&&"__vccOpts"in e}const Wt=(e,t)=>i1(e,t,Zr);function p0(){return null}function _0(){return null}function g0(e){}function v0(e,t){return null}function y0(){return Jp().slots}function b0(){return Jp().attrs}function Jp(){const e=zn();return e.setupContext||(e.setupContext=Yp(e))}function w0(e,t){const s=ze(e)?e.reduce((n,o)=>(n[o]={},n),{}):e;for(const n in t){const o=s[n];o?ze(o)||et(o)?s[n]={type:o,default:t[n]}:o.default=t[n]:o===null&&(s[n]={default:t[n]})}return s}function k0(e,t){const s={};for(const n in e)t.includes(n)||Object.defineProperty(s,n,{enumerable:!0,get:()=>e[n]});return s}function x0(e){const t=zn();let s=e();return Nn(),jc(s)&&(s=s.catch(n=>{throw Un(t),n})),[s,()=>Un(t)]}function Cl(e,t,s){const n=arguments.length;return n===2?Rt(t)&&!ze(t)?Bn(t)?P(e,null,[t]):P(e,t):P(e,null,t):(n>3?s=Array.prototype.slice.call(arguments,2):n===3&&Bn(s)&&(s=[s]),P(e,t,s))}const Xp=Symbol(""),S0=()=>{{const e=Xs(Xp);return e||ip("Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build."),e}};function E0(){}function C0(e,t,s,n){const o=s[n];if(o&&Qp(o,e))return o;const r=t();return r.memo=e.slice(),s[n]=r}function Qp(e,t){const s=e.memo;if(s.length!=t.length)return!1;for(let n=0;n0&&Qs&&Qs.push(e),!0}const e_="3.2.33",$0={createComponentInstance:zp,setupComponent:Wp,renderComponentRoot:Ta,setCurrentRenderingInstance:oi,isVNode:Bn,normalizeVNode:ys},O0=$0,T0=null,A0=null,P0="http://www.w3.org/2000/svg",rr=typeof document!="undefined"?document:null,qf=rr&&rr.createElement("template"),D0={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const o=t?rr.createElementNS(P0,e):rr.createElement(e,s?{is:s}:void 0);return e==="select"&&n&&n.multiple!=null&&o.setAttribute("multiple",n.multiple),o},createText:e=>rr.createTextNode(e),createComment:e=>rr.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>rr.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},cloneNode(e){const t=e.cloneNode(!0);return"_value"in e&&(t._value=e._value),t},insertStaticContent(e,t,s,n,o,r){const i=s?s.previousSibling:t.lastChild;if(o&&(o===r||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),s),!(o===r||!(o=o.nextSibling)););else{qf.innerHTML=n?``:e;const a=qf.content;if(n){const u=a.firstChild;for(;u.firstChild;)a.appendChild(u.firstChild);a.removeChild(u)}t.insertBefore(a,s)}return[i?i.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}};function F0(e,t,s){const n=e._vtc;n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}function I0(e,t,s){const n=e.style,o=Ot(s);if(s&&!o){for(const r in s)sc(n,r,s[r]);if(t&&!Ot(t))for(const r in t)s[r]==null&&sc(n,r,"")}else{const r=n.display;o?t!==s&&(n.cssText=s):t&&e.removeAttribute("style"),"_vod"in e&&(n.display=r)}}const zf=/\s*!important$/;function sc(e,t,s){if(ze(s))s.forEach(n=>sc(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=R0(e,t);zf.test(s)?e.setProperty(Zs(n),s.replace(zf,""),"important"):e[n]=s}}const Gf=["Webkit","Moz","ms"],uu={};function R0(e,t){const s=uu[t];if(s)return s;let n=Ss(t);if(n!=="filter"&&n in e)return uu[t]=n;n=di(n);for(let o=0;o{let e=Date.now,t=!1;if(typeof window!="undefined"){Date.now()>document.createEvent("Event").timeStamp&&(e=()=>performance.now());const s=navigator.userAgent.match(/firefox\/(\d+)/i);t=!!(s&&Number(s[1])<=53)}return[e,t]})();let nc=0;const j0=Promise.resolve(),B0=()=>{nc=0},U0=()=>nc||(j0.then(B0),nc=t_());function un(e,t,s,n){e.addEventListener(t,s,n)}function V0(e,t,s,n){e.removeEventListener(t,s,n)}function H0(e,t,s,n,o=null){const r=e._vei||(e._vei={}),i=r[t];if(n&&i)i.value=n;else{const[a,u]=q0(t);if(n){const c=r[t]=z0(n,o);un(e,a,c,u)}else i&&(V0(e,a,i,u),r[t]=void 0)}}const Kf=/(?:Once|Passive|Capture)$/;function q0(e){let t;if(Kf.test(e)){t={};let s;for(;s=e.match(Kf);)e=e.slice(0,e.length-s[0].length),t[s[0].toLowerCase()]=!0}return[Zs(e.slice(2)),t]}function z0(e,t){const s=n=>{const o=n.timeStamp||t_();(L0||o>=s.attached-1)&&ks(G0(n,s.value),t,5,[n])};return s.value=e,s.attached=U0(),s}function G0(e,t){if(ze(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>o=>!o._stopped&&n&&n(o))}else return t}const Yf=/^on[a-z]/,W0=(e,t,s,n,o=!1,r,i,a,u)=>{t==="class"?F0(e,n,o):t==="style"?I0(e,s,n):ci(t)?Nc(t)||H0(e,t,s,n,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):K0(e,t,n,o))?M0(e,t,n,r,i,a,u):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),N0(e,t,n,o))};function K0(e,t,s,n){return n?!!(t==="innerHTML"||t==="textContent"||t in e&&Yf.test(t)&&et(s)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||Yf.test(t)&&Ot(s)?!1:t in e}function s_(e,t){const s=mi(e);class n extends $l{constructor(r){super(s,r,t)}}return n.def=s,n}const Y0=e=>s_(e,h_),Z0=typeof HTMLElement!="undefined"?HTMLElement:class{};class $l extends Z0{constructor(t,s={},n){super();this._def=t,this._props=s,this._instance=null,this._connected=!1,this._resolved=!1,this._numberProps=null,this.shadowRoot&&n?n(this._createVNode(),this.shadowRoot):this.attachShadow({mode:"open"})}connectedCallback(){this._connected=!0,this._instance||this._resolveDef()}disconnectedCallback(){this._connected=!1,_l(()=>{this._connected||(oc(null,this.shadowRoot),this._instance=null)})}_resolveDef(){if(this._resolved)return;this._resolved=!0;for(let n=0;n{for(const o of n)this._setAttr(o.attributeName)}).observe(this,{attributes:!0});const t=n=>{const{props:o,styles:r}=n,i=!ze(o),a=o?i?Object.keys(o):o:[];let u;if(i)for(const c in this._props){const d=o[c];(d===Number||d&&d.type===Number)&&(this._props[c]=Ln(this._props[c]),(u||(u=Object.create(null)))[c]=!0)}this._numberProps=u;for(const c of Object.keys(this))c[0]!=="_"&&this._setProp(c,this[c],!0,!1);for(const c of a.map(Ss))Object.defineProperty(this,c,{get(){return this._getProp(c)},set(d){this._setProp(c,d)}});this._applyStyles(r),this._update()},s=this._def.__asyncLoader;s?s().then(t):t(this._def)}_setAttr(t){let s=this.getAttribute(t);this._numberProps&&this._numberProps[t]&&(s=Ln(s)),this._setProp(Ss(t),s,!1)}_getProp(t){return this._props[t]}_setProp(t,s,n=!0,o=!0){s!==this._props[t]&&(this._props[t]=s,o&&this._instance&&this._update(),n&&(s===!0?this.setAttribute(Zs(t),""):typeof s=="string"||typeof s=="number"?this.setAttribute(Zs(t),s+""):s||this.removeAttribute(Zs(t))))}_update(){oc(this._createVNode(),this.shadowRoot)}_createVNode(){const t=P(this._def,It({},this._props));return this._instance||(t.ce=s=>{this._instance=s,s.isCE=!0,s.emit=(o,...r)=>{this.dispatchEvent(new CustomEvent(o,{detail:r}))};let n=this;for(;n=n&&(n.parentNode||n.host);)if(n instanceof $l){s.parent=n._instance;break}}),t}_applyStyles(t){t&&t.forEach(s=>{const n=document.createElement("style");n.textContent=s,this.shadowRoot.appendChild(n)})}}function J0(e="$style"){{const t=zn();if(!t)return gt;const s=t.type.__cssModules;if(!s)return gt;const n=s[e];return n||gt}}function X0(e){const t=zn();if(!t)return;const s=()=>rc(t.subTree,e(t.proxy));pp(s),io(()=>{const n=new MutationObserver(s);n.observe(t.subTree.el.parentNode,{childList:!0}),_i(()=>n.disconnect())})}function rc(e,t){if(e.shapeFlag&128){const s=e.suspense;e=s.activeBranch,s.pendingBranch&&!s.isHydrating&&s.effects.push(()=>{rc(s.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Zf(e.el,t);else if(e.type===Ke)e.children.forEach(s=>rc(s,t));else if(e.type===lr){let{el:s,anchor:n}=e;for(;s&&(Zf(s,t),s!==n);)s=s.nextSibling}}function Zf(e,t){if(e.nodeType===1){const s=e.style;for(const n in t)s.setProperty(`--${n}`,t[n])}}const xn="transition",po="animation",Ht=(e,{slots:t})=>Cl(rd,r_(e),t);Ht.displayName="Transition";const n_={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Q0=Ht.props=It({},rd.props,n_),Yn=(e,t=[])=>{ze(e)?e.forEach(s=>s(...t)):e&&e(...t)},Jf=e=>e?ze(e)?e.some(t=>t.length>1):e.length>1:!1;function r_(e){const t={};for(const D in e)D in n_||(t[D]=e[D]);if(e.css===!1)return t;const{name:s="v",type:n,duration:o,enterFromClass:r=`${s}-enter-from`,enterActiveClass:i=`${s}-enter-active`,enterToClass:a=`${s}-enter-to`,appearFromClass:u=r,appearActiveClass:c=i,appearToClass:d=a,leaveFromClass:h=`${s}-leave-from`,leaveActiveClass:f=`${s}-leave-active`,leaveToClass:m=`${s}-leave-to`}=e,p=ew(o),_=p&&p[0],g=p&&p[1],{onBeforeEnter:y,onEnter:b,onEnterCancelled:k,onLeave:S,onLeaveCancelled:E,onBeforeAppear:$=y,onAppear:I=b,onAppearCancelled:j=k}=t,O=(D,U,W)=>{tr(D,U?d:a),tr(D,U?c:i),W&&W()},L=(D,U)=>{tr(D,m),tr(D,f),U&&U()},z=D=>(U,W)=>{const ue=D?I:b,te=()=>O(U,D,W);Yn(ue,[U,te]),Xf(()=>{tr(U,D?u:r),an(U,D?d:a),Jf(ue)||Qf(U,n,_,te)})};return It(t,{onBeforeEnter(D){Yn(y,[D]),an(D,r),an(D,i)},onBeforeAppear(D){Yn($,[D]),an(D,u),an(D,c)},onEnter:z(!1),onAppear:z(!0),onLeave(D,U){const W=()=>L(D,U);an(D,h),i_(),an(D,f),Xf(()=>{tr(D,h),an(D,m),Jf(S)||Qf(D,n,g,W)}),Yn(S,[D,W])},onEnterCancelled(D){O(D,!1),Yn(k,[D])},onAppearCancelled(D){O(D,!0),Yn(j,[D])},onLeaveCancelled(D){L(D),Yn(E,[D])}})}function ew(e){if(e==null)return null;if(Rt(e))return[cu(e.enter),cu(e.leave)];{const t=cu(e);return[t,t]}}function cu(e){return Ln(e)}function an(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.add(s)),(e._vtc||(e._vtc=new Set)).add(t)}function tr(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const{_vtc:s}=e;s&&(s.delete(t),s.size||(e._vtc=void 0))}function Xf(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let tw=0;function Qf(e,t,s,n){const o=e._endId=++tw,r=()=>{o===e._endId&&n()};if(s)return setTimeout(r,s);const{type:i,timeout:a,propCount:u}=o_(e,t);if(!i)return n();const c=i+"end";let d=0;const h=()=>{e.removeEventListener(c,f),r()},f=m=>{m.target===e&&++d>=u&&h()};setTimeout(()=>{d(s[p]||"").split(", "),o=n(xn+"Delay"),r=n(xn+"Duration"),i=eh(o,r),a=n(po+"Delay"),u=n(po+"Duration"),c=eh(a,u);let d=null,h=0,f=0;t===xn?i>0&&(d=xn,h=i,f=r.length):t===po?c>0&&(d=po,h=c,f=u.length):(h=Math.max(i,c),d=h>0?i>c?xn:po:null,f=d?d===xn?r.length:u.length:0);const m=d===xn&&/\b(transform|all)(,|$)/.test(s[xn+"Property"]);return{type:d,timeout:h,propCount:f,hasTransform:m}}function eh(e,t){for(;e.lengthth(s)+th(e[n])))}function th(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function i_(){return document.body.offsetHeight}const a_=new WeakMap,l_=new WeakMap,sw={name:"TransitionGroup",props:It({},Q0,{tag:String,moveClass:String}),setup(e,{slots:t}){const s=zn(),n=nd();let o,r;return wl(()=>{if(!o.length)return;const i=e.moveClass||`${e.name||"v"}-move`;if(!aw(o[0].el,s.vnode.el,i))return;o.forEach(rw),o.forEach(ow);const a=o.filter(iw);i_(),a.forEach(u=>{const c=u.el,d=c.style;an(c,i),d.transform=d.webkitTransform=d.transitionDuration="";const h=c._moveCb=f=>{f&&f.target!==c||(!f||/transform$/.test(f.propertyName))&&(c.removeEventListener("transitionend",h),c._moveCb=null,tr(c,i))};c.addEventListener("transitionend",h)})}),()=>{const i=lt(e),a=r_(i);let u=i.tag||Ke;o=r,r=t.default?yl(t.default()):[];for(let c=0;c{i.split(/\s+/).forEach(a=>a&&n.classList.remove(a))}),s.split(/\s+/).forEach(i=>i&&n.classList.add(i)),n.style.display="none";const o=t.nodeType===1?t:t.parentNode;o.appendChild(n);const{hasTransform:r}=o_(n);return o.removeChild(n),r}const Vn=e=>{const t=e.props["onUpdate:modelValue"];return ze(t)?s=>Ur(t,s):t};function lw(e){e.target.composing=!0}function sh(e){const t=e.target;t.composing&&(t.composing=!1,uw(t,"input"))}function uw(e,t){const s=document.createEvent("HTMLEvents");s.initEvent(t,!0,!0),e.dispatchEvent(s)}const es={created(e,{modifiers:{lazy:t,trim:s,number:n}},o){e._assign=Vn(o);const r=n||o.props&&o.props.type==="number";un(e,t?"change":"input",i=>{if(i.target.composing)return;let a=e.value;s?a=a.trim():r&&(a=Ln(a)),e._assign(a)}),s&&un(e,"change",()=>{e.value=e.value.trim()}),t||(un(e,"compositionstart",lw),un(e,"compositionend",sh),un(e,"change",sh))},mounted(e,{value:t}){e.value=t==null?"":t},beforeUpdate(e,{value:t,modifiers:{lazy:s,trim:n,number:o}},r){if(e._assign=Vn(r),e.composing||document.activeElement===e&&(s||n&&e.value.trim()===t||(o||e.type==="number")&&Ln(e.value)===t))return;const i=t==null?"":t;e.value!==i&&(e.value=i)}},pn={deep:!0,created(e,t,s){e._assign=Vn(s),un(e,"change",()=>{const n=e._modelValue,o=Jr(e),r=e.checked,i=e._assign;if(ze(n)){const a=ll(n,o),u=a!==-1;if(r&&!u)i(n.concat(o));else if(!r&&u){const c=[...n];c.splice(a,1),i(c)}}else if(fr(n)){const a=new Set(n);r?a.add(o):a.delete(o),i(a)}else i(u_(e,r))})},mounted:nh,beforeUpdate(e,t,s){e._assign=Vn(s),nh(e,t,s)}};function nh(e,{value:t,oldValue:s},n){e._modelValue=t,ze(t)?e.checked=ll(t,n.props.value)>-1:fr(t)?e.checked=t.has(n.props.value):t!==s&&(e.checked=Mn(t,u_(e,!0)))}const fd={created(e,{value:t},s){e.checked=Mn(t,s.props.value),e._assign=Vn(s),un(e,"change",()=>{e._assign(Jr(e))})},beforeUpdate(e,{value:t,oldValue:s},n){e._assign=Vn(n),t!==s&&(e.checked=Mn(t,n.props.value))}},hd={deep:!0,created(e,{value:t,modifiers:{number:s}},n){const o=fr(t);un(e,"change",()=>{const r=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>s?Ln(Jr(i)):Jr(i));e._assign(e.multiple?o?new Set(r):r:r[0])}),e._assign=Vn(n)},mounted(e,{value:t}){rh(e,t)},beforeUpdate(e,t,s){e._assign=Vn(s)},updated(e,{value:t}){rh(e,t)}};function rh(e,t){const s=e.multiple;if(!(s&&!ze(t)&&!fr(t))){for(let n=0,o=e.options.length;n-1:r.selected=t.has(i);else if(Mn(Jr(r),t)){e.selectedIndex!==n&&(e.selectedIndex=n);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Jr(e){return"_value"in e?e._value:e.value}function u_(e,t){const s=t?"_trueValue":"_falseValue";return s in e?e[s]:t}const cw={created(e,t,s){ji(e,t,s,null,"created")},mounted(e,t,s){ji(e,t,s,null,"mounted")},beforeUpdate(e,t,s,n){ji(e,t,s,n,"beforeUpdate")},updated(e,t,s,n){ji(e,t,s,n,"updated")}};function ji(e,t,s,n,o){let r;switch(e.tagName){case"SELECT":r=hd;break;case"TEXTAREA":r=es;break;default:switch(s.props&&s.props.type){case"checkbox":r=pn;break;case"radio":r=fd;break;default:r=es}}const i=r[o];i&&i(e,t,s,n)}function dw(){es.getSSRProps=({value:e})=>({value:e}),fd.getSSRProps=({value:e},t)=>{if(t.props&&Mn(t.props.value,e))return{checked:!0}},pn.getSSRProps=({value:e},t)=>{if(ze(e)){if(t.props&&ll(e,t.props.value)>-1)return{checked:!0}}else if(fr(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}}}const fw=["ctrl","shift","alt","meta"],hw={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>fw.some(s=>e[`${s}Key`]&&!t.includes(s))},pt=(e,t)=>(s,...n)=>{for(let o=0;os=>{if(!("key"in s))return;const n=Zs(s.key);if(t.some(o=>o===n||mw[o]===n))return e(s)},Xr={beforeMount(e,{value:t},{transition:s}){e._vod=e.style.display==="none"?"":e.style.display,s&&t?s.beforeEnter(e):_o(e,t)},mounted(e,{value:t},{transition:s}){s&&t&&s.enter(e)},updated(e,{value:t,oldValue:s},{transition:n}){!t!=!s&&(n?t?(n.beforeEnter(e),_o(e,!0),n.enter(e)):n.leave(e,()=>{_o(e,!1)}):_o(e,t))},beforeUnmount(e,{value:t}){_o(e,t)}};function _o(e,t){e.style.display=t?e._vod:"none"}function pw(){Xr.getSSRProps=({value:e})=>{if(!e)return{style:{display:"none"}}}}const c_=It({patchProp:W0},D0);let zo,oh=!1;function d_(){return zo||(zo=Rp(c_))}function f_(){return zo=oh?zo:Np(c_),oh=!0,zo}const oc=(...e)=>{d_().render(...e)},h_=(...e)=>{f_().hydrate(...e)},m_=(...e)=>{const t=d_().createApp(...e),{mount:s}=t;return t.mount=n=>{const o=p_(n);if(!o)return;const r=t._component;!et(r)&&!r.render&&!r.template&&(r.template=o.innerHTML),o.innerHTML="";const i=s(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t},_w=(...e)=>{const t=f_().createApp(...e),{mount:s}=t;return t.mount=n=>{const o=p_(n);if(o)return s(o,!0,o instanceof SVGElement)},t};function p_(e){return Ot(e)?document.querySelector(e):e}let ih=!1;const gw=()=>{ih||(ih=!0,dw(),pw())},vw=()=>{};var yw=Object.freeze(Object.defineProperty({__proto__:null,compile:vw,EffectScope:Uc,ReactiveEffect:fi,customRef:n1,effect:Cb,effectScope:wb,getCurrentScope:kb,isProxy:Gc,isReactive:ar,isReadonly:zr,isRef:Vt,isShallow:zc,markRaw:Wc,onScopeDispose:xb,proxyRefs:Zc,reactive:pr,readonly:qc,ref:cn,shallowReactive:sp,shallowReadonly:Xb,shallowRef:np,stop:$b,toRaw:lt,toRef:op,toRefs:Lo,triggerRef:e1,unref:Vr,camelize:Ss,capitalize:di,normalizeClass:Le,normalizeProps:fb,normalizeStyle:Hn,toDisplayString:R,toHandlerKey:Mo,BaseTransition:rd,Comment:ss,Fragment:Ke,KeepAlive:N1,Static:lr,Suspense:E1,Teleport:qn,Text:Kr,callWithAsyncErrorHandling:ks,callWithErrorHandling:Js,cloneVNode:mn,compatUtils:A0,computed:Wt,createBlock:xe,createCommentVNode:Y,createElementBlock:A,createElementVNode:l,createHydrationRenderer:Np,createPropsRestProxy:k0,createRenderer:Rp,createSlots:gi,createStaticVNode:ud,createTextVNode:$e,createVNode:P,defineAsyncComponent:I1,defineComponent:mi,defineEmits:_0,defineExpose:g0,defineProps:p0,get devtools(){return Ir},getCurrentInstance:zn,getTransitionRawChildren:yl,guardReactiveProps:Hp,h:Cl,handleError:_r,initCustomFormatter:E0,inject:Xs,isMemoSame:Qp,isRuntimeOnly:c0,isVNode:Bn,mergeDefaults:w0,mergeProps:dd,nextTick:_l,onActivated:vp,onBeforeMount:wp,onBeforeUnmount:kl,onBeforeUpdate:kp,onDeactivated:yp,onErrorCaptured:Cp,onMounted:io,onRenderTracked:Ep,onRenderTriggered:Sp,onServerPrefetch:xp,onUnmounted:_i,onUpdated:wl,openBlock:x,popScopeId:g1,provide:Vo,pushScopeId:_1,queuePostFlushCb:Qc,registerRuntimeCompiler:u0,renderList:bt,renderSlot:xt,resolveComponent:B,resolveDirective:xl,resolveDynamicComponent:jp,resolveFilter:T0,resolveTransitionHooks:Gr,setBlockTracking:Ju,setDevtoolsHook:fp,setTransitionHooks:dr,ssrContextKey:Xp,ssrUtils:O0,toHandlers:r0,transformVNodeArgs:s0,useAttrs:b0,useSSRContext:S0,useSlots:y0,useTransitionState:nd,version:e_,warn:ip,watch:Bt,watchEffect:A1,watchPostEffect:pp,watchSyncEffect:P1,withAsyncContext:x0,withCtx:T,withDefaults:v0,withDirectives:wt,withMemo:C0,withScopeId:v1,Transition:Ht,TransitionGroup:nw,VueElement:$l,createApp:m_,createSSRApp:_w,defineCustomElement:s_,defineSSRCustomElement:Y0,hydrate:h_,initDirectivesForSSR:gw,render:oc,useCssModule:J0,useCssVars:X0,vModelCheckbox:pn,vModelDynamic:cw,vModelRadio:fd,vModelSelect:hd,vModelText:es,vShow:Xr,withKeys:bs,withModifiers:pt},Symbol.toStringTag,{value:"Module"}));function bw(){return __().__VUE_DEVTOOLS_GLOBAL_HOOK__}function __(){return typeof navigator!="undefined"&&typeof window!="undefined"?window:typeof global!="undefined"?global:{}}const ww=typeof Proxy=="function",kw="devtools-plugin:setup",xw="plugin:settings:set";let xr,ic;function Sw(){var e;return xr!==void 0||(typeof window!="undefined"&&window.performance?(xr=!0,ic=window.performance):typeof global!="undefined"&&((e=global.perf_hooks)===null||e===void 0?void 0:e.performance)?(xr=!0,ic=global.perf_hooks.performance):xr=!1),xr}function Ew(){return Sw()?ic.now():Date.now()}class Cw{constructor(t,s){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=t,this.hook=s;const n={};if(t.settings)for(const i in t.settings){const a=t.settings[i];n[i]=a.defaultValue}const o=`__vue-devtools-plugin-settings__${t.id}`;let r=Object.assign({},n);try{const i=localStorage.getItem(o),a=JSON.parse(i);Object.assign(r,a)}catch{}this.fallbacks={getSettings(){return r},setSettings(i){try{localStorage.setItem(o,JSON.stringify(i))}catch{}r=i},now(){return Ew()}},s&&s.on(xw,(i,a)=>{i===this.plugin.id&&this.fallbacks.setSettings(a)}),this.proxiedOn=new Proxy({},{get:(i,a)=>this.target?this.target.on[a]:(...u)=>{this.onQueue.push({method:a,args:u})}}),this.proxiedTarget=new Proxy({},{get:(i,a)=>this.target?this.target[a]:a==="on"?this.proxiedOn:Object.keys(this.fallbacks).includes(a)?(...u)=>(this.targetQueue.push({method:a,args:u,resolve:()=>{}}),this.fallbacks[a](...u)):(...u)=>new Promise(c=>{this.targetQueue.push({method:a,args:u,resolve:c})})})}async setRealTarget(t){this.target=t;for(const s of this.onQueue)this.target.on[s.method](...s.args);for(const s of this.targetQueue)s.resolve(await this.target[s.method](...s.args))}}function $w(e,t){const s=e,n=__(),o=bw(),r=ww&&s.enableEarlyProxy;if(o&&(n.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__||!r))o.emit(kw,e,t);else{const i=r?new Cw(s,o):null;(n.__VUE_DEVTOOLS_PLUGINS__=n.__VUE_DEVTOOLS_PLUGINS__||[]).push({pluginDescriptor:s,setupFn:t,proxy:i}),i&&t(i.proxiedTarget)}}/*!
+ * vuex v4.0.2
+ * (c) 2021 Evan You
+ * @license MIT
+ */var Ow="store";function ao(e,t){Object.keys(e).forEach(function(s){return t(e[s],s)})}function Tw(e){return e!==null&&typeof e=="object"}function Aw(e){return e&&typeof e.then=="function"}function Pw(e,t){return function(){return e(t)}}function g_(e,t,s){return t.indexOf(e)<0&&(s&&s.prepend?t.unshift(e):t.push(e)),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}function v_(e,t){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var s=e.state;Ol(e,s,[],e._modules.root,!0),md(e,s,t)}function md(e,t,s){var n=e._state;e.getters={},e._makeLocalGettersCache=Object.create(null);var o=e._wrappedGetters,r={};ao(o,function(i,a){r[a]=Pw(i,e),Object.defineProperty(e.getters,a,{get:function(){return r[a]()},enumerable:!0})}),e._state=pr({data:t}),e.strict&&Nw(e),n&&s&&e._withCommit(function(){n.data=null})}function Ol(e,t,s,n,o){var r=!s.length,i=e._modules.getNamespace(s);if(n.namespaced&&(e._modulesNamespaceMap[i],e._modulesNamespaceMap[i]=n),!r&&!o){var a=pd(t,s.slice(0,-1)),u=s[s.length-1];e._withCommit(function(){a[u]=n.state})}var c=n.context=Dw(e,i,s);n.forEachMutation(function(d,h){var f=i+h;Fw(e,f,d,c)}),n.forEachAction(function(d,h){var f=d.root?h:i+h,m=d.handler||d;Iw(e,f,m,c)}),n.forEachGetter(function(d,h){var f=i+h;Rw(e,f,d,c)}),n.forEachChild(function(d,h){Ol(e,t,s.concat(h),d,o)})}function Dw(e,t,s){var n=t==="",o={dispatch:n?e.dispatch:function(r,i,a){var u=Ka(r,i,a),c=u.payload,d=u.options,h=u.type;return(!d||!d.root)&&(h=t+h),e.dispatch(h,c)},commit:n?e.commit:function(r,i,a){var u=Ka(r,i,a),c=u.payload,d=u.options,h=u.type;(!d||!d.root)&&(h=t+h),e.commit(h,c,d)}};return Object.defineProperties(o,{getters:{get:n?function(){return e.getters}:function(){return y_(e,t)}},state:{get:function(){return pd(e.state,s)}}}),o}function y_(e,t){if(!e._makeLocalGettersCache[t]){var s={},n=t.length;Object.keys(e.getters).forEach(function(o){if(o.slice(0,n)===t){var r=o.slice(n);Object.defineProperty(s,r,{get:function(){return e.getters[o]},enumerable:!0})}}),e._makeLocalGettersCache[t]=s}return e._makeLocalGettersCache[t]}function Fw(e,t,s,n){var o=e._mutations[t]||(e._mutations[t]=[]);o.push(function(i){s.call(e,n.state,i)})}function Iw(e,t,s,n){var o=e._actions[t]||(e._actions[t]=[]);o.push(function(i){var a=s.call(e,{dispatch:n.dispatch,commit:n.commit,getters:n.getters,state:n.state,rootGetters:e.getters,rootState:e.state},i);return Aw(a)||(a=Promise.resolve(a)),e._devtoolHook?a.catch(function(u){throw e._devtoolHook.emit("vuex:error",u),u}):a})}function Rw(e,t,s,n){e._wrappedGetters[t]||(e._wrappedGetters[t]=function(r){return s(n.state,n.getters,r.state,r.getters)})}function Nw(e){Bt(function(){return e._state.data},function(){},{deep:!0,flush:"sync"})}function pd(e,t){return t.reduce(function(s,n){return s[n]},e)}function Ka(e,t,s){return Tw(e)&&e.type&&(s=t,t=e,e=e.type),{type:e,payload:t,options:s}}var Mw="vuex bindings",ah="vuex:mutations",du="vuex:actions",Sr="vuex",Lw=0;function jw(e,t){$w({id:"org.vuejs.vuex",app:e,label:"Vuex",homepage:"https://next.vuex.vuejs.org/",logo:"https://vuejs.org/images/icons/favicon-96x96.png",packageName:"vuex",componentStateTypes:[Mw]},function(s){s.addTimelineLayer({id:ah,label:"Vuex Mutations",color:lh}),s.addTimelineLayer({id:du,label:"Vuex Actions",color:lh}),s.addInspector({id:Sr,label:"Vuex",icon:"storage",treeFilterPlaceholder:"Filter stores..."}),s.on.getInspectorTree(function(n){if(n.app===e&&n.inspectorId===Sr)if(n.filter){var o=[];x_(o,t._modules.root,n.filter,""),n.rootNodes=o}else n.rootNodes=[k_(t._modules.root,"")]}),s.on.getInspectorState(function(n){if(n.app===e&&n.inspectorId===Sr){var o=n.nodeId;y_(t,o),n.state=Vw(qw(t._modules,o),o==="root"?t.getters:t._makeLocalGettersCache,o)}}),s.on.editInspectorState(function(n){if(n.app===e&&n.inspectorId===Sr){var o=n.nodeId,r=n.path;o!=="root"&&(r=o.split("/").filter(Boolean).concat(r)),t._withCommit(function(){n.set(t._state.data,r,n.state.value)})}}),t.subscribe(function(n,o){var r={};n.payload&&(r.payload=n.payload),r.state=o,s.notifyComponentUpdate(),s.sendInspectorTree(Sr),s.sendInspectorState(Sr),s.addTimelineEvent({layerId:ah,event:{time:Date.now(),title:n.type,data:r}})}),t.subscribeAction({before:function(n,o){var r={};n.payload&&(r.payload=n.payload),n._id=Lw++,n._time=Date.now(),r.state=o,s.addTimelineEvent({layerId:du,event:{time:n._time,title:n.type,groupId:n._id,subtitle:"start",data:r}})},after:function(n,o){var r={},i=Date.now()-n._time;r.duration={_custom:{type:"duration",display:i+"ms",tooltip:"Action duration",value:i}},n.payload&&(r.payload=n.payload),r.state=o,s.addTimelineEvent({layerId:du,event:{time:Date.now(),title:n.type,groupId:n._id,subtitle:"end",data:r}})}})})}var lh=8702998,Bw=6710886,Uw=16777215,b_={label:"namespaced",textColor:Uw,backgroundColor:Bw};function w_(e){return e&&e!=="root"?e.split("/").slice(-2,-1)[0]:"Root"}function k_(e,t){return{id:t||"root",label:w_(t),tags:e.namespaced?[b_]:[],children:Object.keys(e._children).map(function(s){return k_(e._children[s],t+s+"/")})}}function x_(e,t,s,n){n.includes(s)&&e.push({id:n||"root",label:n.endsWith("/")?n.slice(0,n.length-1):n||"Root",tags:t.namespaced?[b_]:[]}),Object.keys(t._children).forEach(function(o){x_(e,t._children[o],s,n+o+"/")})}function Vw(e,t,s){t=s==="root"?t:t[s];var n=Object.keys(t),o={state:Object.keys(e.state).map(function(i){return{key:i,editable:!0,value:e.state[i]}})};if(n.length){var r=Hw(t);o.getters=Object.keys(r).map(function(i){return{key:i.endsWith("/")?w_(i):i,editable:!1,value:ac(function(){return r[i]})}})}return o}function Hw(e){var t={};return Object.keys(e).forEach(function(s){var n=s.split("/");if(n.length>1){var o=t,r=n.pop();n.forEach(function(i){o[i]||(o[i]={_custom:{value:{},display:i,tooltip:"Module",abstract:!0}}),o=o[i]._custom.value}),o[r]=ac(function(){return e[s]})}else t[s]=ac(function(){return e[s]})}),t}function qw(e,t){var s=t.split("/").filter(function(n){return n});return s.reduce(function(n,o,r){var i=n[o];if(!i)throw new Error('Missing module "'+o+'" for path "'+t+'".');return r===s.length-1?i:i._children},t==="root"?e:e.root._children)}function ac(e){try{return e()}catch(t){return t}}var zs=function(t,s){this.runtime=s,this._children=Object.create(null),this._rawModule=t;var n=t.state;this.state=(typeof n=="function"?n():n)||{}},S_={namespaced:{configurable:!0}};S_.namespaced.get=function(){return!!this._rawModule.namespaced};zs.prototype.addChild=function(t,s){this._children[t]=s};zs.prototype.removeChild=function(t){delete this._children[t]};zs.prototype.getChild=function(t){return this._children[t]};zs.prototype.hasChild=function(t){return t in this._children};zs.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)};zs.prototype.forEachChild=function(t){ao(this._children,t)};zs.prototype.forEachGetter=function(t){this._rawModule.getters&&ao(this._rawModule.getters,t)};zs.prototype.forEachAction=function(t){this._rawModule.actions&&ao(this._rawModule.actions,t)};zs.prototype.forEachMutation=function(t){this._rawModule.mutations&&ao(this._rawModule.mutations,t)};Object.defineProperties(zs.prototype,S_);var gr=function(t){this.register([],t,!1)};gr.prototype.get=function(t){return t.reduce(function(s,n){return s.getChild(n)},this.root)};gr.prototype.getNamespace=function(t){var s=this.root;return t.reduce(function(n,o){return s=s.getChild(o),n+(s.namespaced?o+"/":"")},"")};gr.prototype.update=function(t){E_([],this.root,t)};gr.prototype.register=function(t,s,n){var o=this;n===void 0&&(n=!0);var r=new zs(s,n);if(t.length===0)this.root=r;else{var i=this.get(t.slice(0,-1));i.addChild(t[t.length-1],r)}s.modules&&ao(s.modules,function(a,u){o.register(t.concat(u),a,n)})};gr.prototype.unregister=function(t){var s=this.get(t.slice(0,-1)),n=t[t.length-1],o=s.getChild(n);!o||!o.runtime||s.removeChild(n)};gr.prototype.isRegistered=function(t){var s=this.get(t.slice(0,-1)),n=t[t.length-1];return s?s.hasChild(n):!1};function E_(e,t,s){if(t.update(s),s.modules)for(var n in s.modules){if(!t.getChild(n))return;E_(e.concat(n),t.getChild(n),s.modules[n])}}function zw(e){return new hs(e)}var hs=function(t){var s=this;t===void 0&&(t={});var n=t.plugins;n===void 0&&(n=[]);var o=t.strict;o===void 0&&(o=!1);var r=t.devtools;this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new gr(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._makeLocalGettersCache=Object.create(null),this._devtools=r;var i=this,a=this,u=a.dispatch,c=a.commit;this.dispatch=function(f,m){return u.call(i,f,m)},this.commit=function(f,m,p){return c.call(i,f,m,p)},this.strict=o;var d=this._modules.root.state;Ol(this,d,[],this._modules.root),md(this,d),n.forEach(function(h){return h(s)})},_d={state:{configurable:!0}};hs.prototype.install=function(t,s){t.provide(s||Ow,this),t.config.globalProperties.$store=this;var n=this._devtools!==void 0?this._devtools:!1;n&&jw(t,this)};_d.state.get=function(){return this._state.data};_d.state.set=function(e){};hs.prototype.commit=function(t,s,n){var o=this,r=Ka(t,s,n),i=r.type,a=r.payload,u={type:i,payload:a},c=this._mutations[i];!c||(this._withCommit(function(){c.forEach(function(h){h(a)})}),this._subscribers.slice().forEach(function(d){return d(u,o.state)}))};hs.prototype.dispatch=function(t,s){var n=this,o=Ka(t,s),r=o.type,i=o.payload,a={type:r,payload:i},u=this._actions[r];if(!!u){try{this._actionSubscribers.slice().filter(function(d){return d.before}).forEach(function(d){return d.before(a,n.state)})}catch{}var c=u.length>1?Promise.all(u.map(function(d){return d(i)})):u[0](i);return new Promise(function(d,h){c.then(function(f){try{n._actionSubscribers.filter(function(m){return m.after}).forEach(function(m){return m.after(a,n.state)})}catch{}d(f)},function(f){try{n._actionSubscribers.filter(function(m){return m.error}).forEach(function(m){return m.error(a,n.state,f)})}catch{}h(f)})})}};hs.prototype.subscribe=function(t,s){return g_(t,this._subscribers,s)};hs.prototype.subscribeAction=function(t,s){var n=typeof t=="function"?{before:t}:t;return g_(n,this._actionSubscribers,s)};hs.prototype.watch=function(t,s,n){var o=this;return Bt(function(){return t(o.state,o.getters)},s,Object.assign({},n))};hs.prototype.replaceState=function(t){var s=this;this._withCommit(function(){s._state.data=t})};hs.prototype.registerModule=function(t,s,n){n===void 0&&(n={}),typeof t=="string"&&(t=[t]),this._modules.register(t,s),Ol(this,this.state,t,this._modules.get(t),n.preserveState),md(this,this.state)};hs.prototype.unregisterModule=function(t){var s=this;typeof t=="string"&&(t=[t]),this._modules.unregister(t),this._withCommit(function(){var n=pd(s.state,t.slice(0,-1));delete n[t[t.length-1]]}),v_(this)};hs.prototype.hasModule=function(t){return typeof t=="string"&&(t=[t]),this._modules.isRegistered(t)};hs.prototype.hotUpdate=function(t){this._modules.update(t),v_(this,!0)};hs.prototype._withCommit=function(t){var s=this._committing;this._committing=!0,t(),this._committing=s};Object.defineProperties(hs.prototype,_d);const C_="UPDATE_CONFIG",$_="UPDATE_SETTINGS",Tl="UPDATE_SETTINGS_OPTION",O_="UPDATE_LIBRARY_STATS",T_="UPDATE_LIBRARY_AUDIOBOOKS_COUNT",A_="UPDATE_LIBRARY_PODCASTS_COUNT",P_="UPDATE_LIBRARY_RSS_COUNT",D_="UPDATE_OUTPUTS",gd="UPDATE_PLAYER_STATUS",F_="UPDATE_QUEUE",I_="UPDATE_LASTFM",R_="UPDATE_SPOTIFY",N_="UPDATE_PAIRING",vd="SPOTIFY_NEW_RELEASES",yd="SPOTIFY_FEATURED_PLAYLISTS",uh="ADD_NOTIFICATION",lc="DELETE_NOTIFICATION",uc="SEARCH_PATH",bd="ADD_RECENT_SEARCH",Al="HIDE_SINGLES",wd="HIDE_SPOTIFY",M_="ARTISTS_SORT",L_="ARTIST_ALBUMS_SORT",j_="ALBUMS_SORT",B_="SHOW_ONLY_NEXT_ITEMS",Qr="SHOW_BURGER_MENU",eo="SHOW_PLAYER_MENU",vi="SHOW_UPDATE_DIALOG",kd="UPDATE_DIALOG_SCAN_KIND";var it=zw({state(){return{config:{websocket_port:0,version:"",buildoptions:[]},settings:{categories:[]},library:{artists:0,albums:0,songs:0,db_playtime:0,updating:!1},audiobooks_count:{},podcasts_count:{},rss_count:{},outputs:[],player:{state:"stop",repeat:"off",consume:!1,shuffle:!1,volume:0,item_id:0,item_length_ms:0,item_progress_ms:0},queue:{version:0,count:0,items:[]},lastfm:{},spotify:{},pairing:{},spotify_new_releases:[],spotify_featured_playlists:[],notifications:{next_id:1,list:[]},search_path:"/search/library",recent_searches:[],hide_singles:!1,hide_spotify:!1,artists_sort:"Name",artist_albums_sort:"Name",albums_sort:"Name",show_only_next_items:!1,show_burger_menu:!1,show_player_menu:!1,show_update_dialog:!1,update_dialog_scan_kind:""}},getters:{now_playing:e=>{const t=e.queue.items.find(function(s){return s.id===e.player.item_id});return t===void 0?{}:t},settings_webinterface:e=>e.settings?e.settings.categories.find(t=>t.name==="webinterface"):null,settings_option_recently_added_limit:(e,t)=>{if(t.settings_webinterface){const s=t.settings_webinterface.options.find(n=>n.name==="recently_added_limit");if(s)return s.value}return 100},settings_option_show_composer_now_playing:(e,t)=>{if(t.settings_webinterface){const s=t.settings_webinterface.options.find(n=>n.name==="show_composer_now_playing");if(s)return s.value}return!1},settings_option_show_composer_for_genre:(e,t)=>{if(t.settings_webinterface){const s=t.settings_webinterface.options.find(n=>n.name==="show_composer_for_genre");if(s)return s.value}return null},settings_category:e=>t=>e.settings.categories.find(s=>s.name===t),settings_option:e=>(t,s)=>{const n=e.settings.categories.find(o=>o.name===t);return n?n.options.find(o=>o.name===s):{}}},mutations:{[C_](e,t){e.config=t},[$_](e,t){e.settings=t},[Tl](e,t){const n=e.settings.categories.find(o=>o.name===t.category).options.find(o=>o.name===t.name);n.value=t.value},[O_](e,t){e.library=t},[T_](e,t){e.audiobooks_count=t},[A_](e,t){e.podcasts_count=t},[P_](e,t){e.rss_count=t},[D_](e,t){e.outputs=t},[gd](e,t){e.player=t},[F_](e,t){e.queue=t},[I_](e,t){e.lastfm=t},[R_](e,t){e.spotify=t},[N_](e,t){e.pairing=t},[vd](e,t){e.spotify_new_releases=t},[yd](e,t){e.spotify_featured_playlists=t},[uh](e,t){if(t.topic){const s=e.notifications.list.findIndex(n=>n.topic===t.topic);if(s>=0){e.notifications.list.splice(s,1,t);return}}e.notifications.list.push(t)},[lc](e,t){const s=e.notifications.list.indexOf(t);s!==-1&&e.notifications.list.splice(s,1)},[uc](e,t){e.search_path=t},[bd](e,t){const s=e.recent_searches.findIndex(n=>n===t);s>=0&&e.recent_searches.splice(s,1),e.recent_searches.splice(0,0,t),e.recent_searches.length>5&&e.recent_searches.pop()},[Al](e,t){e.hide_singles=t},[wd](e,t){e.hide_spotify=t},[M_](e,t){e.artists_sort=t},[L_](e,t){e.artist_albums_sort=t},[j_](e,t){e.albums_sort=t},[B_](e,t){e.show_only_next_items=t},[Qr](e,t){e.show_burger_menu=t},[eo](e,t){e.show_player_menu=t},[vi](e,t){e.show_update_dialog=t},[kd](e,t){e.update_dialog_scan_kind=t}},actions:{add_notification({commit:e,state:t},s){const n={id:t.notifications.next_id++,type:s.type,text:s.text,topic:s.topic,timeout:s.timeout};e(uh,n),s.timeout>0&&setTimeout(()=>{e(lc,n)},s.timeout)}}});/*!
+ * vue-router v4.0.14
+ * (c) 2022 Eduardo San Martin Morote
+ * @license MIT
+ */const U_=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol",lo=e=>U_?Symbol(e):"_vr_"+e,Gw=lo("rvlm"),ch=lo("rvd"),xd=lo("r"),V_=lo("rl"),cc=lo("rvl"),Rr=typeof window!="undefined";function Ww(e){return e.__esModule||U_&&e[Symbol.toStringTag]==="Module"}const yt=Object.assign;function fu(e,t){const s={};for(const n in t){const o=t[n];s[n]=Array.isArray(o)?o.map(e):e(o)}return s}const Go=()=>{},Kw=/\/$/,Yw=e=>e.replace(Kw,"");function hu(e,t,s="/"){let n,o={},r="",i="";const a=t.indexOf("?"),u=t.indexOf("#",a>-1?a:0);return a>-1&&(n=t.slice(0,a),r=t.slice(a+1,u>-1?u:t.length),o=e(r)),u>-1&&(n=n||t.slice(0,u),i=t.slice(u,t.length)),n=Qw(n!=null?n:t,s),{fullPath:n+(r&&"?")+r+i,path:n,query:o,hash:i}}function Zw(e,t){const s=t.query?e(t.query):"";return t.path+(s&&"?")+s+(t.hash||"")}function dh(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Jw(e,t,s){const n=t.matched.length-1,o=s.matched.length-1;return n>-1&&n===o&&to(t.matched[n],s.matched[o])&&H_(t.params,s.params)&&e(t.query)===e(s.query)&&t.hash===s.hash}function to(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function H_(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const s in e)if(!Xw(e[s],t[s]))return!1;return!0}function Xw(e,t){return Array.isArray(e)?fh(e,t):Array.isArray(t)?fh(t,e):e===t}function fh(e,t){return Array.isArray(t)?e.length===t.length&&e.every((s,n)=>s===t[n]):e.length===1&&e[0]===t}function Qw(e,t){if(e.startsWith("/"))return e;if(!e)return t;const s=t.split("/"),n=e.split("/");let o=s.length-1,r,i;for(r=0;r({left:window.pageXOffset,top:window.pageYOffset});function rk(e){let t;if("el"in e){const s=e.el,n=typeof s=="string"&&s.startsWith("#"),o=typeof s=="string"?n?document.getElementById(s.slice(1)):document.querySelector(s):s;if(!o)return;t=nk(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function hh(e,t){return(history.state?history.state.position-t:-1)+e}const dc=new Map;function ok(e,t){dc.set(e,t)}function ik(e){const t=dc.get(e);return dc.delete(e),t}let ak=()=>location.protocol+"//"+location.host;function q_(e,t){const{pathname:s,search:n,hash:o}=t,r=e.indexOf("#");if(r>-1){let a=o.includes(e.slice(r))?e.slice(r).length:1,u=o.slice(a);return u[0]!=="/"&&(u="/"+u),dh(u,"")}return dh(s,e)+n+o}function lk(e,t,s,n){let o=[],r=[],i=null;const a=({state:f})=>{const m=q_(e,location),p=s.value,_=t.value;let g=0;if(f){if(s.value=m,t.value=f,i&&i===p){i=null;return}g=_?f.position-_.position:0}else n(m);o.forEach(y=>{y(s.value,p,{delta:g,type:ai.pop,direction:g?g>0?Wo.forward:Wo.back:Wo.unknown})})};function u(){i=s.value}function c(f){o.push(f);const m=()=>{const p=o.indexOf(f);p>-1&&o.splice(p,1)};return r.push(m),m}function d(){const{history:f}=window;!f.state||f.replaceState(yt({},f.state,{scroll:Pl()}),"")}function h(){for(const f of r)f();r=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",d)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",d),{pauseListeners:u,listen:c,destroy:h}}function mh(e,t,s,n=!1,o=!1){return{back:e,current:t,forward:s,replaced:n,position:window.history.length,scroll:o?Pl():null}}function uk(e){const{history:t,location:s}=window,n={value:q_(e,s)},o={value:t.state};o.value||r(n.value,{back:null,current:n.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function r(u,c,d){const h=e.indexOf("#"),f=h>-1?(s.host&&document.querySelector("base")?e:e.slice(h))+u:ak()+e+u;try{t[d?"replaceState":"pushState"](c,"",f),o.value=c}catch(m){console.error(m),s[d?"replace":"assign"](f)}}function i(u,c){const d=yt({},t.state,mh(o.value.back,u,o.value.forward,!0),c,{position:o.value.position});r(u,d,!0),n.value=u}function a(u,c){const d=yt({},o.value,t.state,{forward:u,scroll:Pl()});r(d.current,d,!0);const h=yt({},mh(n.value,u,null),{position:d.position+1},c);r(u,h,!1),n.value=u}return{location:n,state:o,push:a,replace:i}}function ck(e){e=ek(e);const t=uk(e),s=lk(e,t.state,t.location,t.replace);function n(r,i=!0){i||s.pauseListeners(),history.go(r)}const o=yt({location:"",base:e,go:n,createHref:sk.bind(null,e)},t,s);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function dk(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),ck(e)}function fk(e){return typeof e=="string"||e&&typeof e=="object"}function z_(e){return typeof e=="string"||typeof e=="symbol"}const Sn={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},G_=lo("nf");var ph;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(ph||(ph={}));function so(e,t){return yt(new Error,{type:e,[G_]:!0},t)}function En(e,t){return e instanceof Error&&G_ in e&&(t==null||!!(e.type&t))}const _h="[^/]+?",hk={sensitive:!1,strict:!1,start:!0,end:!0},mk=/[.+*?^${}()[\]/\\]/g;function pk(e,t){const s=yt({},hk,t),n=[];let o=s.start?"^":"";const r=[];for(const c of e){const d=c.length?[]:[90];s.strict&&!c.length&&(o+="/");for(let h=0;ht.length?t.length===1&&t[0]===40+40?1:-1:0}function gk(e,t){let s=0;const n=e.score,o=t.score;for(;s1&&(u==="*"||u==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),r.push({type:1,value:c,regexp:d,repeatable:u==="*"||u==="+",optional:u==="*"||u==="?"})):t("Invalid state to consume buffer"),c="")}function f(){c+=u}for(;a{i(b)}:Go}function i(d){if(z_(d)){const h=n.get(d);h&&(n.delete(d),s.splice(s.indexOf(h),1),h.children.forEach(i),h.alias.forEach(i))}else{const h=s.indexOf(d);h>-1&&(s.splice(h,1),d.record.name&&n.delete(d.record.name),d.children.forEach(i),d.alias.forEach(i))}}function a(){return s}function u(d){let h=0;for(;h=0&&(d.record.path!==s[h].record.path||!W_(d,s[h]));)h++;s.splice(h,0,d),d.record.name&&!gh(d)&&n.set(d.record.name,d)}function c(d,h){let f,m={},p,_;if("name"in d&&d.name){if(f=n.get(d.name),!f)throw so(1,{location:d});_=f.record.name,m=yt(xk(h.params,f.keys.filter(b=>!b.optional).map(b=>b.name)),d.params),p=f.stringify(m)}else if("path"in d)p=d.path,f=s.find(b=>b.re.test(p)),f&&(m=f.parse(p),_=f.record.name);else{if(f=h.name?n.get(h.name):s.find(b=>b.re.test(h.path)),!f)throw so(1,{location:d,currentLocation:h});_=f.record.name,m=yt({},h.params,d.params),p=f.stringify(m)}const g=[];let y=f;for(;y;)g.unshift(y.record),y=y.parent;return{name:_,path:p,params:m,matched:g,meta:Ck(g)}}return e.forEach(d=>r(d)),{addRoute:r,resolve:c,removeRoute:i,getRoutes:a,getRecordMatcher:o}}function xk(e,t){const s={};for(const n of t)n in e&&(s[n]=e[n]);return s}function Sk(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:Ek(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||{}:{default:e.component}}}function Ek(e){const t={},s=e.props||!1;if("component"in e)t.default=s;else for(const n in e.components)t[n]=typeof s=="boolean"?s:s[n];return t}function gh(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Ck(e){return e.reduce((t,s)=>yt(t,s.meta),{})}function vh(e,t){const s={};for(const n in e)s[n]=n in t?t[n]:e[n];return s}function W_(e,t){return t.children.some(s=>s===e||W_(e,s))}const K_=/#/g,$k=/&/g,Ok=/\//g,Tk=/=/g,Ak=/\?/g,Y_=/\+/g,Pk=/%5B/g,Dk=/%5D/g,Z_=/%5E/g,Fk=/%60/g,J_=/%7B/g,Ik=/%7C/g,X_=/%7D/g,Rk=/%20/g;function Sd(e){return encodeURI(""+e).replace(Ik,"|").replace(Pk,"[").replace(Dk,"]")}function Nk(e){return Sd(e).replace(J_,"{").replace(X_,"}").replace(Z_,"^")}function fc(e){return Sd(e).replace(Y_,"%2B").replace(Rk,"+").replace(K_,"%23").replace($k,"%26").replace(Fk,"`").replace(J_,"{").replace(X_,"}").replace(Z_,"^")}function Mk(e){return fc(e).replace(Tk,"%3D")}function Lk(e){return Sd(e).replace(K_,"%23").replace(Ak,"%3F")}function jk(e){return e==null?"":Lk(e).replace(Ok,"%2F")}function Ya(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function Bk(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;or&&fc(r)):[n&&fc(n)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+s,r!=null&&(t+="="+r))})}return t}function Uk(e){const t={};for(const s in e){const n=e[s];n!==void 0&&(t[s]=Array.isArray(n)?n.map(o=>o==null?null:""+o):n==null?n:""+n)}return t}function go(){let e=[];function t(n){return e.push(n),()=>{const o=e.indexOf(n);o>-1&&e.splice(o,1)}}function s(){e=[]}return{add:t,list:()=>e,reset:s}}function Tn(e,t,s,n,o){const r=n&&(n.enterCallbacks[o]=n.enterCallbacks[o]||[]);return()=>new Promise((i,a)=>{const u=h=>{h===!1?a(so(4,{from:s,to:t})):h instanceof Error?a(h):fk(h)?a(so(2,{from:t,to:h})):(r&&n.enterCallbacks[o]===r&&typeof h=="function"&&r.push(h),i())},c=e.call(n&&n.instances[o],t,s,u);let d=Promise.resolve(c);e.length<3&&(d=d.then(u)),d.catch(h=>a(h))})}function mu(e,t,s,n){const o=[];for(const r of e)for(const i in r.components){let a=r.components[i];if(!(t!=="beforeRouteEnter"&&!r.instances[i]))if(Vk(a)){const c=(a.__vccOpts||a)[t];c&&o.push(Tn(c,s,n,r,i))}else{let u=a();o.push(()=>u.then(c=>{if(!c)return Promise.reject(new Error(`Couldn't resolve component "${i}" at "${r.path}"`));const d=Ww(c)?c.default:c;r.components[i]=d;const f=(d.__vccOpts||d)[t];return f&&Tn(f,s,n,r,i)()}))}}return o}function Vk(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function bh(e){const t=Xs(xd),s=Xs(V_),n=Wt(()=>t.resolve(Vr(e.to))),o=Wt(()=>{const{matched:u}=n.value,{length:c}=u,d=u[c-1],h=s.matched;if(!d||!h.length)return-1;const f=h.findIndex(to.bind(null,d));if(f>-1)return f;const m=wh(u[c-2]);return c>1&&wh(d)===m&&h[h.length-1].path!==m?h.findIndex(to.bind(null,u[c-2])):f}),r=Wt(()=>o.value>-1&&Gk(s.params,n.value.params)),i=Wt(()=>o.value>-1&&o.value===s.matched.length-1&&H_(s.params,n.value.params));function a(u={}){return zk(u)?t[Vr(e.replace)?"replace":"push"](Vr(e.to)).catch(Go):Promise.resolve()}return{route:n,href:Wt(()=>n.value.href),isActive:r,isExactActive:i,navigate:a}}const Hk=mi({name:"RouterLink",props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:bh,setup(e,{slots:t}){const s=pr(bh(e)),{options:n}=Xs(xd),o=Wt(()=>({[kh(e.activeClass,n.linkActiveClass,"router-link-active")]:s.isActive,[kh(e.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:s.isExactActive}));return()=>{const r=t.default&&t.default(s);return e.custom?r:Cl("a",{"aria-current":s.isExactActive?e.ariaCurrentValue:null,href:s.href,onClick:s.navigate,class:o.value},r)}}}),qk=Hk;function zk(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Gk(e,t){for(const s in t){const n=t[s],o=e[s];if(typeof n=="string"){if(n!==o)return!1}else if(!Array.isArray(o)||o.length!==n.length||n.some((r,i)=>r!==o[i]))return!1}return!0}function wh(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const kh=(e,t,s)=>e!=null?e:t!=null?t:s,Wk=mi({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},setup(e,{attrs:t,slots:s}){const n=Xs(cc),o=Wt(()=>e.route||n.value),r=Xs(ch,0),i=Wt(()=>o.value.matched[r]);Vo(ch,r+1),Vo(Gw,i),Vo(cc,o);const a=cn();return Bt(()=>[a.value,i.value,e.name],([u,c,d],[h,f,m])=>{c&&(c.instances[d]=u,f&&f!==c&&u&&u===h&&(c.leaveGuards.size||(c.leaveGuards=f.leaveGuards),c.updateGuards.size||(c.updateGuards=f.updateGuards))),u&&c&&(!f||!to(c,f)||!h)&&(c.enterCallbacks[d]||[]).forEach(p=>p(u))},{flush:"post"}),()=>{const u=o.value,c=i.value,d=c&&c.components[e.name],h=e.name;if(!d)return xh(s.default,{Component:d,route:u});const f=c.props[e.name],m=f?f===!0?u.params:typeof f=="function"?f(u):f:null,_=Cl(d,yt({},m,t,{onVnodeUnmounted:g=>{g.component.isUnmounted&&(c.instances[h]=null)},ref:a}));return xh(s.default,{Component:_,route:u})||_}}});function xh(e,t){if(!e)return null;const s=e(t);return s.length===1?s[0]:s}const Kk=Wk;function Yk(e){const t=kk(e.routes,e),s=e.parseQuery||Bk,n=e.stringifyQuery||yh,o=e.history,r=go(),i=go(),a=go(),u=np(Sn);let c=Sn;Rr&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const d=fu.bind(null,V=>""+V),h=fu.bind(null,jk),f=fu.bind(null,Ya);function m(V,re){let se,be;return z_(V)?(se=t.getRecordMatcher(V),be=re):be=V,t.addRoute(be,se)}function p(V){const re=t.getRecordMatcher(V);re&&t.removeRoute(re)}function _(){return t.getRoutes().map(V=>V.record)}function g(V){return!!t.getRecordMatcher(V)}function y(V,re){if(re=yt({},re||u.value),typeof V=="string"){const De=hu(s,V,re.path),C=t.resolve({path:De.path},re),N=o.createHref(De.fullPath);return yt(De,C,{params:f(C.params),hash:Ya(De.hash),redirectedFrom:void 0,href:N})}let se;if("path"in V)se=yt({},V,{path:hu(s,V.path,re.path).path});else{const De=yt({},V.params);for(const C in De)De[C]==null&&delete De[C];se=yt({},V,{params:h(V.params)}),re.params=h(re.params)}const be=t.resolve(se,re),He=V.hash||"";be.params=d(f(be.params));const Re=Zw(n,yt({},V,{hash:Nk(He),path:be.path})),Oe=o.createHref(Re);return yt({fullPath:Re,hash:He,query:n===yh?Uk(V.query):V.query||{}},be,{redirectedFrom:void 0,href:Oe})}function b(V){return typeof V=="string"?hu(s,V,u.value.path):yt({},V)}function k(V,re){if(c!==V)return so(8,{from:re,to:V})}function S(V){return I(V)}function E(V){return S(yt(b(V),{replace:!0}))}function $(V){const re=V.matched[V.matched.length-1];if(re&&re.redirect){const{redirect:se}=re;let be=typeof se=="function"?se(V):se;return typeof be=="string"&&(be=be.includes("?")||be.includes("#")?be=b(be):{path:be},be.params={}),yt({query:V.query,hash:V.hash,params:V.params},be)}}function I(V,re){const se=c=y(V),be=u.value,He=V.state,Re=V.force,Oe=V.replace===!0,De=$(se);if(De)return I(yt(b(De),{state:He,force:Re,replace:Oe}),re||se);const C=se;C.redirectedFrom=re;let N;return!Re&&Jw(n,be,se)&&(N=so(16,{to:C,from:be}),Ge(be,be,!0,!1)),(N?Promise.resolve(N):O(C,be)).catch(K=>En(K)?En(K,2)?K:Me(K):ae(K,C,be)).then(K=>{if(K){if(En(K,2))return I(yt(b(K.to),{state:He,force:Re,replace:Oe}),re||C)}else K=z(C,be,!0,Oe,He);return L(C,be,K),K})}function j(V,re){const se=k(V,re);return se?Promise.reject(se):Promise.resolve()}function O(V,re){let se;const[be,He,Re]=Zk(V,re);se=mu(be.reverse(),"beforeRouteLeave",V,re);for(const De of be)De.leaveGuards.forEach(C=>{se.push(Tn(C,V,re))});const Oe=j.bind(null,V,re);return se.push(Oe),Er(se).then(()=>{se=[];for(const De of r.list())se.push(Tn(De,V,re));return se.push(Oe),Er(se)}).then(()=>{se=mu(He,"beforeRouteUpdate",V,re);for(const De of He)De.updateGuards.forEach(C=>{se.push(Tn(C,V,re))});return se.push(Oe),Er(se)}).then(()=>{se=[];for(const De of V.matched)if(De.beforeEnter&&!re.matched.includes(De))if(Array.isArray(De.beforeEnter))for(const C of De.beforeEnter)se.push(Tn(C,V,re));else se.push(Tn(De.beforeEnter,V,re));return se.push(Oe),Er(se)}).then(()=>(V.matched.forEach(De=>De.enterCallbacks={}),se=mu(Re,"beforeRouteEnter",V,re),se.push(Oe),Er(se))).then(()=>{se=[];for(const De of i.list())se.push(Tn(De,V,re));return se.push(Oe),Er(se)}).catch(De=>En(De,8)?De:Promise.reject(De))}function L(V,re,se){for(const be of a.list())be(V,re,se)}function z(V,re,se,be,He){const Re=k(V,re);if(Re)return Re;const Oe=re===Sn,De=Rr?history.state:{};se&&(be||Oe?o.replace(V.fullPath,yt({scroll:Oe&&De&&De.scroll},He)):o.push(V.fullPath,He)),u.value=V,Ge(V,re,se,Oe),Me()}let D;function U(){D=o.listen((V,re,se)=>{const be=y(V),He=$(be);if(He){I(yt(He,{replace:!0}),be).catch(Go);return}c=be;const Re=u.value;Rr&&ok(hh(Re.fullPath,se.delta),Pl()),O(be,Re).catch(Oe=>En(Oe,12)?Oe:En(Oe,2)?(I(Oe.to,be).then(De=>{En(De,20)&&!se.delta&&se.type===ai.pop&&o.go(-1,!1)}).catch(Go),Promise.reject()):(se.delta&&o.go(-se.delta,!1),ae(Oe,be,Re))).then(Oe=>{Oe=Oe||z(be,Re,!1),Oe&&(se.delta?o.go(-se.delta,!1):se.type===ai.pop&&En(Oe,20)&&o.go(-1,!1)),L(be,Re,Oe)}).catch(Go)})}let W=go(),ue=go(),te;function ae(V,re,se){Me(V);const be=ue.list();return be.length?be.forEach(He=>He(V,re,se)):console.error(V),Promise.reject(V)}function ve(){return te&&u.value!==Sn?Promise.resolve():new Promise((V,re)=>{W.add([V,re])})}function Me(V){return te||(te=!V,U(),W.list().forEach(([re,se])=>V?se(V):re()),W.reset()),V}function Ge(V,re,se,be){const{scrollBehavior:He}=e;if(!Rr||!He)return Promise.resolve();const Re=!se&&ik(hh(V.fullPath,0))||(be||!se)&&history.state&&history.state.scroll||null;return _l().then(()=>He(V,re,Re)).then(Oe=>Oe&&rk(Oe)).catch(Oe=>ae(Oe,V,re))}const me=V=>o.go(V);let Z;const ce=new Set;return{currentRoute:u,addRoute:m,removeRoute:p,hasRoute:g,getRoutes:_,resolve:y,options:e,push:S,replace:E,go:me,back:()=>me(-1),forward:()=>me(1),beforeEach:r.add,beforeResolve:i.add,afterEach:a.add,onError:ue.add,isReady:ve,install(V){const re=this;V.component("RouterLink",qk),V.component("RouterView",Kk),V.config.globalProperties.$router=re,Object.defineProperty(V.config.globalProperties,"$route",{enumerable:!0,get:()=>Vr(u)}),Rr&&!Z&&u.value===Sn&&(Z=!0,S(o.location).catch(He=>{}));const se={};for(const He in Sn)se[He]=Wt(()=>u.value[He]);V.provide(xd,re),V.provide(V_,pr(se)),V.provide(cc,u);const be=V.unmount;ce.add(V),V.unmount=function(){ce.delete(V),ce.size<1&&(c=Sn,D&&D(),u.value=Sn,Z=!1,te=!1),be()}}}}function Er(e){return e.reduce((t,s)=>t.then(()=>s()),Promise.resolve())}function Zk(e,t){const s=[],n=[],o=[],r=Math.max(t.matched.length,e.matched.length);for(let i=0;ito(c,a))?n.push(a):s.push(a));const u=e.matched[i];u&&(t.matched.find(c=>to(c,u))||o.push(u))}return[s,n,o]}var ge=(e,t)=>{const s=e.__vccOpts||e;for(const[n,o]of t)s[n]=o;return s};const Jk={name:"ContentWithHeading",data(){return{options_visible:!1}},mounted(){this.$slots.options&&(this.observer=new IntersectionObserver(this.onElementObserved,{rootMargin:"-82px 0px 0px 0px",threshold:1}),this.observer.observe(this.$refs.options_ref))},methods:{onElementObserved(e){e.forEach(({target:t,isIntersecting:s})=>{this.options_visible=s})},scroll_to_top:function(){window.scrollTo({top:0,behavior:"smooth"})},scroll_to_content:function(){this.$route.meta.has_tabs?this.$scrollTo("#top",{offset:-140}):this.$scrollTo("#top",{offset:-110})},visibilityChanged:function(e){this.options_visible=e}}},Xk={class:"section fd-content"},Qk={class:"container"},ex={class:"columns is-centered"},tx={class:"column is-four-fifths"},sx={key:0},nx={ref:"options_ref",style:{height:"1px"}},rx={class:"buttons is-centered",style:{"margin-bottom":"6px","margin-top":"16px"}},ox=l("span",{class:"icon is-small"},[l("i",{class:"mdi mdi-chevron-up"})],-1),ix=[ox],ax=l("span",{class:"icon is-small"},[l("i",{class:"mdi mdi-chevron-down"})],-1),lx=[ax],ux={id:"top",class:"level"},cx={class:"level-left"},dx={class:"level-item has-text-centered-mobile"},fx={class:"level-right has-text-centered-mobile"},hx={style:{"margin-top":"16px"}};function mx(e,t,s,n,o,r){return x(),A("section",Xk,[l("div",Qk,[l("div",ex,[l("div",tx,[e.$slots.options?(x(),A("section",sx,[l("div",nx,null,512),xt(e.$slots,"options"),l("nav",rx,[o.options_visible?(x(),A("a",{key:1,class:"button is-small is-white",onClick:t[1]||(t[1]=(...i)=>r.scroll_to_content&&r.scroll_to_content(...i))},lx)):(x(),A("a",{key:0,class:"button is-small is-white",onClick:t[0]||(t[0]=(...i)=>r.scroll_to_top&&r.scroll_to_top(...i))},ix))])])):Y("",!0),l("div",{class:Le({"fd-content-with-option":e.$slots.options})},[l("nav",ux,[l("div",cx,[l("div",dx,[l("div",null,[xt(e.$slots,"heading-left")])])]),l("div",fx,[xt(e.$slots,"heading-right")])]),xt(e.$slots,"content"),l("div",hx,[xt(e.$slots,"footer")])],2)])])])])}var ft=ge(Jk,[["render",mx]]),ts=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function Q_(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function eg(e){if(e.__esModule)return e;var t=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(e).forEach(function(s){var n=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(t,s,n.get?n:{enumerable:!0,get:function(){return e[s]}})}),t}var Ed={exports:{}},tg=function(t,s){return function(){for(var o=new Array(arguments.length),r=0;r=0)return;n==="set-cookie"?s[n]=(s[n]?s[n]:[]).concat([o]):s[n]=s[n]?s[n]+", "+o:o}}),s},Eh=ms,zx=Eh.isStandardBrowserEnv()?function(){var t=/(msie|trident)/i.test(navigator.userAgent),s=document.createElement("a"),n;function o(r){var i=r;return t&&(s.setAttribute("href",i),i=s.href),s.setAttribute("href",i),{href:s.href,protocol:s.protocol?s.protocol.replace(/:$/,""):"",host:s.host,search:s.search?s.search.replace(/^\?/,""):"",hash:s.hash?s.hash.replace(/^#/,""):"",hostname:s.hostname,port:s.port,pathname:s.pathname.charAt(0)==="/"?s.pathname:"/"+s.pathname}}return n=o(window.location.href),function(i){var a=Eh.isString(i)?o(i):i;return a.protocol===n.protocol&&a.host===n.host}}():function(){return function(){return!0}}();function Od(e){this.message=e}Od.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")};Od.prototype.__CANCEL__=!0;var Fl=Od,Ui=ms,Gx=Nx,Wx=Mx,Kx=og,Yx=Vx,Zx=qx,Jx=zx,_u=lg,Xx=ag,Qx=Fl,Ch=function(t){return new Promise(function(n,o){var r=t.data,i=t.headers,a=t.responseType,u;function c(){t.cancelToken&&t.cancelToken.unsubscribe(u),t.signal&&t.signal.removeEventListener("abort",u)}Ui.isFormData(r)&&delete i["Content-Type"];var d=new XMLHttpRequest;if(t.auth){var h=t.auth.username||"",f=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";i.Authorization="Basic "+btoa(h+":"+f)}var m=Yx(t.baseURL,t.url);d.open(t.method.toUpperCase(),Kx(m,t.params,t.paramsSerializer),!0),d.timeout=t.timeout;function p(){if(!!d){var g="getAllResponseHeaders"in d?Zx(d.getAllResponseHeaders()):null,y=!a||a==="text"||a==="json"?d.responseText:d.response,b={data:y,status:d.status,statusText:d.statusText,headers:g,config:t,request:d};Gx(function(S){n(S),c()},function(S){o(S),c()},b),d=null}}if("onloadend"in d?d.onloadend=p:d.onreadystatechange=function(){!d||d.readyState!==4||d.status===0&&!(d.responseURL&&d.responseURL.indexOf("file:")===0)||setTimeout(p)},d.onabort=function(){!d||(o(_u("Request aborted",t,"ECONNABORTED",d)),d=null)},d.onerror=function(){o(_u("Network Error",t,null,d)),d=null},d.ontimeout=function(){var y=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",b=t.transitional||Xx;t.timeoutErrorMessage&&(y=t.timeoutErrorMessage),o(_u(y,t,b.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",d)),d=null},Ui.isStandardBrowserEnv()){var _=(t.withCredentials||Jx(m))&&t.xsrfCookieName?Wx.read(t.xsrfCookieName):void 0;_&&(i[t.xsrfHeaderName]=_)}"setRequestHeader"in d&&Ui.forEach(i,function(y,b){typeof r=="undefined"&&b.toLowerCase()==="content-type"?delete i[b]:d.setRequestHeader(b,y)}),Ui.isUndefined(t.withCredentials)||(d.withCredentials=!!t.withCredentials),a&&a!=="json"&&(d.responseType=t.responseType),typeof t.onDownloadProgress=="function"&&d.addEventListener("progress",t.onDownloadProgress),typeof t.onUploadProgress=="function"&&d.upload&&d.upload.addEventListener("progress",t.onUploadProgress),(t.cancelToken||t.signal)&&(u=function(g){!d||(o(!g||g&&g.type?new Qx("canceled"):g),d.abort(),d=null)},t.cancelToken&&t.cancelToken.subscribe(u),t.signal&&(t.signal.aborted?u():t.signal.addEventListener("abort",u))),r||(r=null),d.send(r)})},Zt=ms,$h=Fx,eS=ig,tS=ag,sS={"Content-Type":"application/x-www-form-urlencoded"};function Oh(e,t){!Zt.isUndefined(e)&&Zt.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function nS(){var e;return(typeof XMLHttpRequest!="undefined"||typeof process!="undefined"&&Object.prototype.toString.call(process)==="[object process]")&&(e=Ch),e}function rS(e,t,s){if(Zt.isString(e))try{return(t||JSON.parse)(e),Zt.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(s||JSON.stringify)(e)}var Il={transitional:tS,adapter:nS(),transformRequest:[function(t,s){return $h(s,"Accept"),$h(s,"Content-Type"),Zt.isFormData(t)||Zt.isArrayBuffer(t)||Zt.isBuffer(t)||Zt.isStream(t)||Zt.isFile(t)||Zt.isBlob(t)?t:Zt.isArrayBufferView(t)?t.buffer:Zt.isURLSearchParams(t)?(Oh(s,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):Zt.isObject(t)||s&&s["Content-Type"]==="application/json"?(Oh(s,"application/json"),rS(t)):t}],transformResponse:[function(t){var s=this.transitional||Il.transitional,n=s&&s.silentJSONParsing,o=s&&s.forcedJSONParsing,r=!n&&this.responseType==="json";if(r||o&&Zt.isString(t)&&t.length)try{return JSON.parse(t)}catch(i){if(r)throw i.name==="SyntaxError"?eS(i,this,"E_JSON_PARSE"):i}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};Zt.forEach(["delete","get","head"],function(t){Il.headers[t]={}});Zt.forEach(["post","put","patch"],function(t){Il.headers[t]=Zt.merge(sS)});var Td=Il,oS=ms,iS=Td,aS=function(t,s,n){var o=this||iS;return oS.forEach(n,function(i){t=i.call(o,t,s)}),t},ug=function(t){return!!(t&&t.__CANCEL__)},Th=ms,gu=aS,lS=ug,uS=Td,cS=Fl;function vu(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new cS("canceled")}var dS=function(t){vu(t),t.headers=t.headers||{},t.data=gu.call(t,t.data,t.headers,t.transformRequest),t.headers=Th.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),Th.forEach(["delete","get","head","post","put","patch","common"],function(o){delete t.headers[o]});var s=t.adapter||uS.adapter;return s(t).then(function(o){return vu(t),o.data=gu.call(t,o.data,o.headers,t.transformResponse),o},function(o){return lS(o)||(vu(t),o&&o.response&&(o.response.data=gu.call(t,o.response.data,o.response.headers,t.transformResponse))),Promise.reject(o)})},ps=ms,cg=function(t,s){s=s||{};var n={};function o(d,h){return ps.isPlainObject(d)&&ps.isPlainObject(h)?ps.merge(d,h):ps.isPlainObject(h)?ps.merge({},h):ps.isArray(h)?h.slice():h}function r(d){if(ps.isUndefined(s[d])){if(!ps.isUndefined(t[d]))return o(void 0,t[d])}else return o(t[d],s[d])}function i(d){if(!ps.isUndefined(s[d]))return o(void 0,s[d])}function a(d){if(ps.isUndefined(s[d])){if(!ps.isUndefined(t[d]))return o(void 0,t[d])}else return o(void 0,s[d])}function u(d){if(d in s)return o(t[d],s[d]);if(d in t)return o(void 0,t[d])}var c={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:u};return ps.forEach(Object.keys(t).concat(Object.keys(s)),function(h){var f=c[h]||r,m=f(h);ps.isUndefined(m)&&f!==u||(n[h]=m)}),n},dg={version:"0.26.1"},fS=dg.version,Ad={};["object","boolean","number","function","string","symbol"].forEach(function(e,t){Ad[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}});var Ah={};Ad.transitional=function(t,s,n){function o(r,i){return"[Axios v"+fS+"] Transitional option '"+r+"'"+i+(n?". "+n:"")}return function(r,i,a){if(t===!1)throw new Error(o(i," has been removed"+(s?" in "+s:"")));return s&&!Ah[i]&&(Ah[i]=!0,console.warn(o(i," has been deprecated since v"+s+" and will be removed in the near future"))),t?t(r,i,a):!0}};function hS(e,t,s){if(typeof e!="object")throw new TypeError("options must be an object");for(var n=Object.keys(e),o=n.length;o-- >0;){var r=n[o],i=t[r];if(i){var a=e[r],u=a===void 0||i(a,r,e);if(u!==!0)throw new TypeError("option "+r+" must be "+u);continue}if(s!==!0)throw Error("Unknown option "+r)}}var mS={assertOptions:hS,validators:Ad},fg=ms,pS=og,Ph=Px,Dh=dS,Rl=cg,hg=mS,$r=hg.validators;function yi(e){this.defaults=e,this.interceptors={request:new Ph,response:new Ph}}yi.prototype.request=function(t,s){typeof t=="string"?(s=s||{},s.url=t):s=t||{},s=Rl(this.defaults,s),s.method?s.method=s.method.toLowerCase():this.defaults.method?s.method=this.defaults.method.toLowerCase():s.method="get";var n=s.transitional;n!==void 0&&hg.assertOptions(n,{silentJSONParsing:$r.transitional($r.boolean),forcedJSONParsing:$r.transitional($r.boolean),clarifyTimeoutError:$r.transitional($r.boolean)},!1);var o=[],r=!0;this.interceptors.request.forEach(function(m){typeof m.runWhen=="function"&&m.runWhen(s)===!1||(r=r&&m.synchronous,o.unshift(m.fulfilled,m.rejected))});var i=[];this.interceptors.response.forEach(function(m){i.push(m.fulfilled,m.rejected)});var a;if(!r){var u=[Dh,void 0];for(Array.prototype.unshift.apply(u,o),u=u.concat(i),a=Promise.resolve(s);u.length;)a=a.then(u.shift(),u.shift());return a}for(var c=s;o.length;){var d=o.shift(),h=o.shift();try{c=d(c)}catch(f){h(f);break}}try{a=Dh(c)}catch(f){return Promise.reject(f)}for(;i.length;)a=a.then(i.shift(),i.shift());return a};yi.prototype.getUri=function(t){return t=Rl(this.defaults,t),pS(t.url,t.params,t.paramsSerializer).replace(/^\?/,"")};fg.forEach(["delete","get","head","options"],function(t){yi.prototype[t]=function(s,n){return this.request(Rl(n||{},{method:t,url:s,data:(n||{}).data}))}});fg.forEach(["post","put","patch"],function(t){yi.prototype[t]=function(s,n,o){return this.request(Rl(o||{},{method:t,url:s,data:n}))}});var _S=yi,gS=Fl;function no(e){if(typeof e!="function")throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(o){t=o});var s=this;this.promise.then(function(n){if(!!s._listeners){var o,r=s._listeners.length;for(o=0;o(it.dispatch("add_notification",{text:t.data.count+" tracks appended to queue",type:"info",timeout:2e3}),Promise.resolve(t)))},queue_add_next(e){let t=0;return it.getters.now_playing&&it.getters.now_playing.id&&(t=it.getters.now_playing.position+1),Te.post("./api/queue/items/add?uris="+e+"&position="+t).then(s=>(it.dispatch("add_notification",{text:s.data.count+" tracks appended to queue",type:"info",timeout:2e3}),Promise.resolve(s)))},queue_expression_add(e){const t={};return t.expression=e,Te.post("./api/queue/items/add",void 0,{params:t}).then(s=>(it.dispatch("add_notification",{text:s.data.count+" tracks appended to queue",type:"info",timeout:2e3}),Promise.resolve(s)))},queue_expression_add_next(e){const t={};return t.expression=e,t.position=0,it.getters.now_playing&&it.getters.now_playing.id&&(t.position=it.getters.now_playing.position+1),Te.post("./api/queue/items/add",void 0,{params:t}).then(s=>(it.dispatch("add_notification",{text:s.data.count+" tracks appended to queue",type:"info",timeout:2e3}),Promise.resolve(s)))},queue_save_playlist(e){return Te.post("./api/queue/save",void 0,{params:{name:e}}).then(t=>(it.dispatch("add_notification",{text:'Queue saved to playlist "'+e+'"',type:"info",timeout:2e3}),Promise.resolve(t)))},player_status(){return Te.get("./api/player")},player_play_uri(e,t,s=void 0){const n={};return n.uris=e,n.shuffle=t?"true":"false",n.clear="true",n.playback="start",n.playback_from_position=s,Te.post("./api/queue/items/add",void 0,{params:n})},player_play_expression(e,t,s=void 0){const n={};return n.expression=e,n.shuffle=t?"true":"false",n.clear="true",n.playback="start",n.playback_from_position=s,Te.post("./api/queue/items/add",void 0,{params:n})},player_play(e={}){return Te.put("./api/player/play",void 0,{params:e})},player_playpos(e){return Te.put("./api/player/play?position="+e)},player_playid(e){return Te.put("./api/player/play?item_id="+e)},player_pause(){return Te.put("./api/player/pause")},player_stop(){return Te.put("./api/player/stop")},player_next(){return Te.put("./api/player/next")},player_previous(){return Te.put("./api/player/previous")},player_shuffle(e){const t=e?"true":"false";return Te.put("./api/player/shuffle?state="+t)},player_consume(e){const t=e?"true":"false";return Te.put("./api/player/consume?state="+t)},player_repeat(e){return Te.put("./api/player/repeat?state="+e)},player_volume(e){return Te.put("./api/player/volume?volume="+e)},player_output_volume(e,t){return Te.put("./api/player/volume?volume="+t+"&output_id="+e)},player_seek_to_pos(e){return Te.put("./api/player/seek?position_ms="+e)},player_seek(e){return Te.put("./api/player/seek?seek_ms="+e)},outputs(){return Te.get("./api/outputs")},output_update(e,t){return Te.put("./api/outputs/"+e,t)},output_toggle(e){return Te.put("./api/outputs/"+e+"/toggle")},library_artists(e=void 0){return Te.get("./api/library/artists",{params:{media_kind:e}})},library_artist(e){return Te.get("./api/library/artists/"+e)},library_artist_albums(e){return Te.get("./api/library/artists/"+e+"/albums")},library_albums(e=void 0){return Te.get("./api/library/albums",{params:{media_kind:e}})},library_album(e){return Te.get("./api/library/albums/"+e)},library_album_tracks(e,t={limit:-1,offset:0}){return Te.get("./api/library/albums/"+e+"/tracks",{params:t})},library_album_track_update(e,t){return Te.put("./api/library/albums/"+e+"/tracks",void 0,{params:t})},library_genres(e=void 0){return Te.get("./api/library/genres",{params:{media_kind:e}})},library_genre(e){return Te.get(`./api/library/genres/${encodeURIComponent(e)}`)},library_genre_albums(e){const t={type:"albums",expression:`genre is "${e}" and media_kind is music`};return Te.get("./api/search",{params:t})},library_genre_tracks(e){const t={type:"tracks",expression:`genre is "${e}" and media_kind is music`};return Te.get("./api/search",{params:t})},library_radio_streams(){const e={type:"tracks",media_kind:"music",expression:"data_kind is url and song_length = 0"};return Te.get("./api/search",{params:e})},library_composers(e=void 0){return Te.get("./api/library/composers",{params:{media_kind:e}})},library_composer(e){return Te.get(`./api/library/composers/${encodeURIComponent(e)}`)},library_composer_albums(e){const t={type:"albums",expression:`composer is "${e}" and media_kind is music`};return Te.get("./api/search",{params:t})},library_composer_tracks(e){const t={type:"tracks",expression:`composer is "${e}" and media_kind is music`};return Te.get("./api/search",{params:t})},library_artist_tracks(e){if(e){const t={type:"tracks",expression:'songartistid is "'+e+'"'};return Te.get("./api/search",{params:t})}},library_podcasts_new_episodes(){const e={type:"tracks",expression:"media_kind is podcast and play_count = 0 ORDER BY time_added DESC"};return Te.get("./api/search",{params:e})},library_podcast_episodes(e){const t={type:"tracks",expression:'media_kind is podcast and songalbumid is "'+e+'" ORDER BY date_released DESC'};return Te.get("./api/search",{params:t})},library_add(e){return Te.post("./api/library/add",void 0,{params:{url:e}})},library_playlist_delete(e){return Te.delete("./api/library/playlists/"+e,void 0)},library_playlists(){return Te.get("./api/library/playlists")},library_playlist_folder(e=0){return Te.get("./api/library/playlists/"+e+"/playlists")},library_playlist(e){return Te.get("./api/library/playlists/"+e)},library_playlist_tracks(e){return Te.get("./api/library/playlists/"+e+"/tracks")},library_track(e){return Te.get("./api/library/tracks/"+e)},library_track_playlists(e){return Te.get("./api/library/tracks/"+e+"/playlists")},library_track_update(e,t={}){return Te.put("./api/library/tracks/"+e,void 0,{params:t})},library_files(e=void 0){const t={directory:e};return Te.get("./api/library/files",{params:t})},search(e){return Te.get("./api/search",{params:e})},spotify(){return Te.get("./api/spotify")},spotify_login(e){return Te.post("./api/spotify-login",e)},spotify_logout(){return Te.get("./api/spotify-logout")},lastfm(){return Te.get("./api/lastfm")},lastfm_login(e){return Te.post("./api/lastfm-login",e)},lastfm_logout(e){return Te.get("./api/lastfm-logout")},pairing(){return Te.get("./api/pairing")},pairing_kickoff(e){return Te.post("./api/pairing",e)},artwork_url_append_size_params(e,t=600,s=600){return e&&e.startsWith("/")?e.includes("?")?e+"&maxwidth="+t+"&maxheight="+s:e+"?maxwidth="+t+"&maxheight="+s:e}};const ES={name:"ListItemQueueItem",props:["item","position","current_position","show_only_next_items","edit_mode"],computed:{state(){return this.$store.state.player},is_next(){return this.current_position<0||this.position>=this.current_position}},methods:{play:function(){G.player_play({item_id:this.item.id})}}},CS={key:0,class:"media"},$S={key:0,class:"media-left"},OS=l("span",{class:"icon has-text-grey fd-is-movable handle"},[l("i",{class:"mdi mdi-drag-horizontal mdi-18px"})],-1),TS=[OS],AS={class:"media-right"};function PS(e,t,s,n,o,r){return r.is_next||!s.show_only_next_items?(x(),A("div",CS,[s.edit_mode?(x(),A("div",$S,TS)):Y("",!0),l("div",{class:"media-content fd-has-action is-clipped",onClick:t[0]||(t[0]=(...i)=>r.play&&r.play(...i))},[l("h1",{class:Le(["title is-6",{"has-text-primary":s.item.id===r.state.item_id,"has-text-grey-light":!r.is_next}])},R(s.item.title),3),l("h2",{class:Le(["subtitle is-7",{"has-text-primary":s.item.id===r.state.item_id,"has-text-grey-light":!r.is_next,"has-text-grey":r.is_next&&s.item.id!==r.state.item_id}])},[l("b",null,R(s.item.artist),1)],2),l("h2",{class:Le(["subtitle is-7",{"has-text-primary":s.item.id===r.state.item_id,"has-text-grey-light":!r.is_next,"has-text-grey":r.is_next&&s.item.id!==r.state.item_id}])},R(s.item.album),3)]),l("div",AS,[xt(e.$slots,"actions")])])):Y("",!0)}var DS=ge(ES,[["render",PS]]),pg={exports:{}};(function(e){var t=function(){var s="https://api.spotify.com/v1",n=null,o=null,r=function(f,m){return f.abort=m,f},i=function(f,m){var p;if(o!==null){var _=o.defer();f(function(g){_.resolve(g)},function(g){_.reject(g)}),p=_.promise}else window.Promise&&(p=new window.Promise(f));return p?new r(p,m):null},a=function(){var f=Array.prototype.slice.call(arguments),m=f[0],p=f.slice(1);return m=m||{},p.forEach(function(_){for(var g in _)_.hasOwnProperty(g)&&(m[g]=_[g])}),m},u=function(f,m){var p="";for(var _ in m)if(m.hasOwnProperty(_)){var g=m[_];p+=encodeURIComponent(_)+"="+encodeURIComponent(g)+"&"}return p.length>0&&(p=p.substring(0,p.length-1),f=f+"?"+p),f},c=function(f,m){var p=new XMLHttpRequest,_=function(g,y){function b($){g&&g($),m&&m(null,$)}function k(){y&&y(p),m&&m(p,null)}var S=f.type||"GET";if(p.open(S,u(f.url,f.params)),n&&p.setRequestHeader("Authorization","Bearer "+n),p.onreadystatechange=function(){if(p.readyState===4){var $=null;try{$=p.responseText?JSON.parse(p.responseText):""}catch(I){console.error(I)}p.status>=200&&p.status<300?b($):k()}},S==="GET")p.send(null);else{var E=null;f.postData&&(f.contentType==="image/jpeg"?(E=f.postData,p.setRequestHeader("Content-Type",f.contentType)):(E=JSON.stringify(f.postData),p.setRequestHeader("Content-Type","application/json"))),p.send(E)}};return m?(_(),null):i(_,function(){p.abort()})},d=function(f,m,p,_){var g={},y=null;typeof m=="object"?(g=m,y=p):typeof m=="function"&&(y=m);var b=f.type||"GET";return b!=="GET"&&f.postData&&!_?f.postData=a(f.postData,g):f.params=a(f.params,g),c(f,y)},h=function(){};return h.prototype={constructor:t},h.prototype.getGeneric=function(f,m){var p={url:f};return d(p,m)},h.prototype.getMe=function(f,m){var p={url:s+"/me"};return d(p,f,m)},h.prototype.getMySavedTracks=function(f,m){var p={url:s+"/me/tracks"};return d(p,f,m)},h.prototype.addToMySavedTracks=function(f,m,p){var _={url:s+"/me/tracks",type:"PUT",postData:f};return d(_,m,p)},h.prototype.removeFromMySavedTracks=function(f,m,p){var _={url:s+"/me/tracks",type:"DELETE",postData:f};return d(_,m,p)},h.prototype.containsMySavedTracks=function(f,m,p){var _={url:s+"/me/tracks/contains",params:{ids:f.join(",")}};return d(_,m,p)},h.prototype.getMySavedAlbums=function(f,m){var p={url:s+"/me/albums"};return d(p,f,m)},h.prototype.addToMySavedAlbums=function(f,m,p){var _={url:s+"/me/albums",type:"PUT",postData:f};return d(_,m,p)},h.prototype.removeFromMySavedAlbums=function(f,m,p){var _={url:s+"/me/albums",type:"DELETE",postData:f};return d(_,m,p)},h.prototype.containsMySavedAlbums=function(f,m,p){var _={url:s+"/me/albums/contains",params:{ids:f.join(",")}};return d(_,m,p)},h.prototype.getMyTopArtists=function(f,m){var p={url:s+"/me/top/artists"};return d(p,f,m)},h.prototype.getMyTopTracks=function(f,m){var p={url:s+"/me/top/tracks"};return d(p,f,m)},h.prototype.getMyRecentlyPlayedTracks=function(f,m){var p={url:s+"/me/player/recently-played"};return d(p,f,m)},h.prototype.followUsers=function(f,m){var p={url:s+"/me/following/",type:"PUT",params:{ids:f.join(","),type:"user"}};return d(p,m)},h.prototype.followArtists=function(f,m){var p={url:s+"/me/following/",type:"PUT",params:{ids:f.join(","),type:"artist"}};return d(p,m)},h.prototype.followPlaylist=function(f,m,p){var _={url:s+"/playlists/"+f+"/followers",type:"PUT",postData:{}};return d(_,m,p)},h.prototype.unfollowUsers=function(f,m){var p={url:s+"/me/following/",type:"DELETE",params:{ids:f.join(","),type:"user"}};return d(p,m)},h.prototype.unfollowArtists=function(f,m){var p={url:s+"/me/following/",type:"DELETE",params:{ids:f.join(","),type:"artist"}};return d(p,m)},h.prototype.unfollowPlaylist=function(f,m){var p={url:s+"/playlists/"+f+"/followers",type:"DELETE"};return d(p,m)},h.prototype.isFollowingUsers=function(f,m){var p={url:s+"/me/following/contains",type:"GET",params:{ids:f.join(","),type:"user"}};return d(p,m)},h.prototype.isFollowingArtists=function(f,m){var p={url:s+"/me/following/contains",type:"GET",params:{ids:f.join(","),type:"artist"}};return d(p,m)},h.prototype.areFollowingPlaylist=function(f,m,p){var _={url:s+"/playlists/"+f+"/followers/contains",type:"GET",params:{ids:m.join(",")}};return d(_,p)},h.prototype.getFollowedArtists=function(f,m){var p={url:s+"/me/following",type:"GET",params:{type:"artist"}};return d(p,f,m)},h.prototype.getUser=function(f,m,p){var _={url:s+"/users/"+encodeURIComponent(f)};return d(_,m,p)},h.prototype.getUserPlaylists=function(f,m,p){var _;return typeof f=="string"?_={url:s+"/users/"+encodeURIComponent(f)+"/playlists"}:(_={url:s+"/me/playlists"},p=m,m=f),d(_,m,p)},h.prototype.getPlaylist=function(f,m,p){var _={url:s+"/playlists/"+f};return d(_,m,p)},h.prototype.getPlaylistTracks=function(f,m,p){var _={url:s+"/playlists/"+f+"/tracks"};return d(_,m,p)},h.prototype.getPlaylistCoverImage=function(f,m){var p={url:s+"/playlists/"+f+"/images"};return d(p,m)},h.prototype.createPlaylist=function(f,m,p){var _={url:s+"/users/"+encodeURIComponent(f)+"/playlists",type:"POST",postData:m};return d(_,m,p)},h.prototype.changePlaylistDetails=function(f,m,p){var _={url:s+"/playlists/"+f,type:"PUT",postData:m};return d(_,m,p)},h.prototype.addTracksToPlaylist=function(f,m,p,_){var g={url:s+"/playlists/"+f+"/tracks",type:"POST",postData:{uris:m}};return d(g,p,_,!0)},h.prototype.replaceTracksInPlaylist=function(f,m,p){var _={url:s+"/playlists/"+f+"/tracks",type:"PUT",postData:{uris:m}};return d(_,{},p)},h.prototype.reorderTracksInPlaylist=function(f,m,p,_,g){var y={url:s+"/playlists/"+f+"/tracks",type:"PUT",postData:{range_start:m,insert_before:p}};return d(y,_,g)},h.prototype.removeTracksFromPlaylist=function(f,m,p){var _=m.map(function(y){return typeof y=="string"?{uri:y}:y}),g={url:s+"/playlists/"+f+"/tracks",type:"DELETE",postData:{tracks:_}};return d(g,{},p)},h.prototype.removeTracksFromPlaylistWithSnapshotId=function(f,m,p,_){var g=m.map(function(b){return typeof b=="string"?{uri:b}:b}),y={url:s+"/playlists/"+f+"/tracks",type:"DELETE",postData:{tracks:g,snapshot_id:p}};return d(y,{},_)},h.prototype.removeTracksFromPlaylistInPositions=function(f,m,p,_){var g={url:s+"/playlists/"+f+"/tracks",type:"DELETE",postData:{positions:m,snapshot_id:p}};return d(g,{},_)},h.prototype.uploadCustomPlaylistCoverImage=function(f,m,p){var _={url:s+"/playlists/"+f+"/images",type:"PUT",postData:m.replace(/^data:image\/jpeg;base64,/,""),contentType:"image/jpeg"};return d(_,{},p)},h.prototype.getAlbum=function(f,m,p){var _={url:s+"/albums/"+f};return d(_,m,p)},h.prototype.getAlbumTracks=function(f,m,p){var _={url:s+"/albums/"+f+"/tracks"};return d(_,m,p)},h.prototype.getAlbums=function(f,m,p){var _={url:s+"/albums/",params:{ids:f.join(",")}};return d(_,m,p)},h.prototype.getTrack=function(f,m,p){var _={};return _.url=s+"/tracks/"+f,d(_,m,p)},h.prototype.getTracks=function(f,m,p){var _={url:s+"/tracks/",params:{ids:f.join(",")}};return d(_,m,p)},h.prototype.getArtist=function(f,m,p){var _={url:s+"/artists/"+f};return d(_,m,p)},h.prototype.getArtists=function(f,m,p){var _={url:s+"/artists/",params:{ids:f.join(",")}};return d(_,m,p)},h.prototype.getArtistAlbums=function(f,m,p){var _={url:s+"/artists/"+f+"/albums"};return d(_,m,p)},h.prototype.getArtistTopTracks=function(f,m,p,_){var g={url:s+"/artists/"+f+"/top-tracks",params:{country:m}};return d(g,p,_)},h.prototype.getArtistRelatedArtists=function(f,m,p){var _={url:s+"/artists/"+f+"/related-artists"};return d(_,m,p)},h.prototype.getFeaturedPlaylists=function(f,m){var p={url:s+"/browse/featured-playlists"};return d(p,f,m)},h.prototype.getNewReleases=function(f,m){var p={url:s+"/browse/new-releases"};return d(p,f,m)},h.prototype.getCategories=function(f,m){var p={url:s+"/browse/categories"};return d(p,f,m)},h.prototype.getCategory=function(f,m,p){var _={url:s+"/browse/categories/"+f};return d(_,m,p)},h.prototype.getCategoryPlaylists=function(f,m,p){var _={url:s+"/browse/categories/"+f+"/playlists"};return d(_,m,p)},h.prototype.search=function(f,m,p,_){var g={url:s+"/search/",params:{q:f,type:m.join(",")}};return d(g,p,_)},h.prototype.searchAlbums=function(f,m,p){return this.search(f,["album"],m,p)},h.prototype.searchArtists=function(f,m,p){return this.search(f,["artist"],m,p)},h.prototype.searchTracks=function(f,m,p){return this.search(f,["track"],m,p)},h.prototype.searchPlaylists=function(f,m,p){return this.search(f,["playlist"],m,p)},h.prototype.searchShows=function(f,m,p){return this.search(f,["show"],m,p)},h.prototype.searchEpisodes=function(f,m,p){return this.search(f,["episode"],m,p)},h.prototype.getAudioFeaturesForTrack=function(f,m){var p={};return p.url=s+"/audio-features/"+f,d(p,{},m)},h.prototype.getAudioFeaturesForTracks=function(f,m){var p={url:s+"/audio-features",params:{ids:f}};return d(p,{},m)},h.prototype.getAudioAnalysisForTrack=function(f,m){var p={};return p.url=s+"/audio-analysis/"+f,d(p,{},m)},h.prototype.getRecommendations=function(f,m){var p={url:s+"/recommendations"};return d(p,f,m)},h.prototype.getAvailableGenreSeeds=function(f){var m={url:s+"/recommendations/available-genre-seeds"};return d(m,{},f)},h.prototype.getMyDevices=function(f){var m={url:s+"/me/player/devices"};return d(m,{},f)},h.prototype.getMyCurrentPlaybackState=function(f,m){var p={url:s+"/me/player"};return d(p,f,m)},h.prototype.getMyCurrentPlayingTrack=function(f,m){var p={url:s+"/me/player/currently-playing"};return d(p,f,m)},h.prototype.transferMyPlayback=function(f,m,p){var _=m||{};_.device_ids=f;var g={type:"PUT",url:s+"/me/player",postData:_};return d(g,m,p)},h.prototype.play=function(f,m){f=f||{};var p="device_id"in f?{device_id:f.device_id}:null,_={};["context_uri","uris","offset","position_ms"].forEach(function(b){b in f&&(_[b]=f[b])});var g={type:"PUT",url:s+"/me/player/play",params:p,postData:_},y=typeof f=="function"?f:{};return d(g,y,m)},h.prototype.queue=function(f,m,p){m=m||{};var _="device_id"in m?{uri:f,device_id:m.device_id}:{uri:f},g={type:"POST",url:s+"/me/player/queue",params:_};return d(g,m,p)},h.prototype.pause=function(f,m){f=f||{};var p="device_id"in f?{device_id:f.device_id}:null,_={type:"PUT",url:s+"/me/player/pause",params:p};return d(_,f,m)},h.prototype.skipToNext=function(f,m){f=f||{};var p="device_id"in f?{device_id:f.device_id}:null,_={type:"POST",url:s+"/me/player/next",params:p};return d(_,f,m)},h.prototype.skipToPrevious=function(f,m){f=f||{};var p="device_id"in f?{device_id:f.device_id}:null,_={type:"POST",url:s+"/me/player/previous",params:p};return d(_,f,m)},h.prototype.seek=function(f,m,p){m=m||{};var _={position_ms:f};"device_id"in m&&(_.device_id=m.device_id);var g={type:"PUT",url:s+"/me/player/seek",params:_};return d(g,m,p)},h.prototype.setRepeat=function(f,m,p){m=m||{};var _={state:f};"device_id"in m&&(_.device_id=m.device_id);var g={type:"PUT",url:s+"/me/player/repeat",params:_};return d(g,m,p)},h.prototype.setVolume=function(f,m,p){m=m||{};var _={volume_percent:f};"device_id"in m&&(_.device_id=m.device_id);var g={type:"PUT",url:s+"/me/player/volume",params:_};return d(g,m,p)},h.prototype.setShuffle=function(f,m,p){m=m||{};var _={state:f};"device_id"in m&&(_.device_id=m.device_id);var g={type:"PUT",url:s+"/me/player/shuffle",params:_};return d(g,m,p)},h.prototype.getShow=function(f,m,p){var _={};return _.url=s+"/shows/"+f,d(_,m,p)},h.prototype.getShows=function(f,m,p){var _={url:s+"/shows/",params:{ids:f.join(",")}};return d(_,m,p)},h.prototype.getMySavedShows=function(f,m){var p={url:s+"/me/shows"};return d(p,f,m)},h.prototype.addToMySavedShows=function(f,m,p){var _={url:s+"/me/shows",type:"PUT",postData:f};return d(_,m,p)},h.prototype.removeFromMySavedShows=function(f,m,p){var _={url:s+"/me/shows",type:"DELETE",postData:f};return d(_,m,p)},h.prototype.containsMySavedShows=function(f,m,p){var _={url:s+"/me/shows/contains",params:{ids:f.join(",")}};return d(_,m,p)},h.prototype.getShowEpisodes=function(f,m,p){var _={url:s+"/shows/"+f+"/episodes"};return d(_,m,p)},h.prototype.getEpisode=function(f,m,p){var _={};return _.url=s+"/episodes/"+f,d(_,m,p)},h.prototype.getEpisodes=function(f,m,p){var _={url:s+"/episodes/",params:{ids:f.join(",")}};return d(_,m,p)},h.prototype.getAccessToken=function(){return n},h.prototype.setAccessToken=function(f){n=f},h.prototype.setPromiseImplementation=function(f){var m=!1;try{var p=new f(function(_){_()});typeof p.then=="function"&&typeof p.catch=="function"&&(m=!0)}catch(_){console.error(_)}if(m)o=f;else throw new Error("Unsupported implementation of Promises/A+")},h}();e.exports=t})(pg);var Gs=pg.exports;const FS={name:"ModalDialogQueueItem",props:["show","item"],emits:["close"],data(){return{spotify_track:{}}},watch:{item(){if(this.item&&this.item.data_kind==="spotify"){const e=new Gs;e.setAccessToken(this.$store.state.spotify.webapi_token),e.getTrack(this.item.path.slice(this.item.path.lastIndexOf(":")+1)).then(t=>{this.spotify_track=t})}else this.spotify_track={}}},methods:{remove:function(){this.$emit("close"),G.queue_remove(this.item.id)},play:function(){this.$emit("close"),G.player_play({item_id:this.item.id})},open_album:function(){this.media_kind==="podcast"?this.$router.push({path:"/podcasts/"+this.item.album_id}):this.media_kind==="audiobook"?this.$router.push({path:"/audiobooks/"+this.item.album_id}):this.$router.push({path:"/music/albums/"+this.item.album_id})},open_album_artist:function(){this.$router.push({path:"/music/artists/"+this.item.album_artist_id})},open_genre:function(){this.$router.push({name:"Genre",params:{genre:this.item.genre}})},open_spotify_artist:function(){this.$emit("close"),this.$router.push({path:"/music/spotify/artists/"+this.spotify_track.artists[0].id})},open_spotify_album:function(){this.$emit("close"),this.$router.push({path:"/music/spotify/albums/"+this.spotify_track.album.id})}}},IS={key:0,class:"modal is-active"},RS={class:"modal-content fd-modal-card"},NS={class:"card"},MS={class:"card-content"},LS={class:"title is-4"},jS={class:"subtitle"},BS={class:"content is-small"},US=l("span",{class:"heading"},"Album",-1),VS={key:1,class:"title is-6"},HS={key:0},qS=l("span",{class:"heading"},"Album artist",-1),zS={key:1,class:"title is-6"},GS={key:1},WS=l("span",{class:"heading"},"Composer",-1),KS={class:"title is-6"},YS={key:2},ZS=l("span",{class:"heading"},"Year",-1),JS={class:"title is-6"},XS={key:3},QS=l("span",{class:"heading"},"Genre",-1),eE=l("span",{class:"heading"},"Track / Disc",-1),tE={class:"title is-6"},sE=l("span",{class:"heading"},"Length",-1),nE={class:"title is-6"},rE=l("span",{class:"heading"},"Path",-1),oE={class:"title is-6"},iE=l("span",{class:"heading"},"Type",-1),aE={class:"title is-6"},lE={key:0,class:"has-text-weight-normal"},uE=$e("("),cE=$e(", "),dE=$e(")"),fE=l("span",{class:"heading"},"Quality",-1),hE={class:"title is-6"},mE={key:0},pE={key:1},_E={key:2},gE={class:"card-footer"},vE=l("span",{class:"icon"},[l("i",{class:"mdi mdi-delete"})],-1),yE=l("span",{class:"is-size-7"},"Remove",-1),bE=[vE,yE],wE=l("span",{class:"icon"},[l("i",{class:"mdi mdi-play"})],-1),kE=l("span",{class:"is-size-7"},"Play",-1),xE=[wE,kE];function SE(e,t,s,n,o,r){return x(),A("div",null,[P(Ht,{name:"fade"},{default:T(()=>[s.show?(x(),A("div",IS,[l("div",{class:"modal-background",onClick:t[0]||(t[0]=i=>e.$emit("close"))}),l("div",RS,[l("div",NS,[l("div",MS,[l("p",LS,R(s.item.title),1),l("p",jS,R(s.item.artist),1),l("div",BS,[l("p",null,[US,s.item.album_id?(x(),A("a",{key:0,class:"title is-6 has-text-link",onClick:t[1]||(t[1]=(...i)=>r.open_album&&r.open_album(...i))},R(s.item.album),1)):(x(),A("span",VS,R(s.item.album),1))]),s.item.album_artist?(x(),A("p",HS,[qS,s.item.album_artist_id?(x(),A("a",{key:0,class:"title is-6 has-text-link",onClick:t[2]||(t[2]=(...i)=>r.open_album_artist&&r.open_album_artist(...i))},R(s.item.album_artist),1)):(x(),A("span",zS,R(s.item.album_artist),1))])):Y("",!0),s.item.composer?(x(),A("p",GS,[WS,l("span",KS,R(s.item.composer),1)])):Y("",!0),s.item.year>0?(x(),A("p",YS,[ZS,l("span",JS,R(s.item.year),1)])):Y("",!0),s.item.genre?(x(),A("p",XS,[QS,l("a",{class:"title is-6 has-text-link",onClick:t[3]||(t[3]=(...i)=>r.open_genre&&r.open_genre(...i))},R(s.item.genre),1)])):Y("",!0),l("p",null,[eE,l("span",tE,R(s.item.track_number)+" / "+R(s.item.disc_number),1)]),l("p",null,[sE,l("span",nE,R(e.$filters.durationInHours(s.item.length_ms)),1)]),l("p",null,[rE,l("span",oE,R(s.item.path),1)]),l("p",null,[iE,l("span",aE,[$e(R(s.item.media_kind)+" - "+R(s.item.data_kind)+" ",1),s.item.data_kind==="spotify"?(x(),A("span",lE,[uE,l("a",{onClick:t[4]||(t[4]=(...i)=>r.open_spotify_artist&&r.open_spotify_artist(...i))},"artist"),cE,l("a",{onClick:t[5]||(t[5]=(...i)=>r.open_spotify_album&&r.open_spotify_album(...i))},"album"),dE])):Y("",!0)])]),l("p",null,[fE,l("span",hE,[$e(R(s.item.type)+" ",1),s.item.samplerate?(x(),A("span",mE," | "+R(s.item.samplerate)+" Hz",1)):Y("",!0),s.item.channels?(x(),A("span",pE," | "+R(e.$filters.channels(s.item.channels)),1)):Y("",!0),s.item.bitrate?(x(),A("span",_E," | "+R(s.item.bitrate)+" Kb/s",1)):Y("",!0)])])])]),l("footer",gE,[l("a",{class:"card-footer-item has-text-dark",onClick:t[6]||(t[6]=(...i)=>r.remove&&r.remove(...i))},bE),l("a",{class:"card-footer-item has-text-dark",onClick:t[7]||(t[7]=(...i)=>r.play&&r.play(...i))},xE)])])]),l("button",{class:"modal-close is-large","aria-label":"close",onClick:t[8]||(t[8]=i=>e.$emit("close"))})])):Y("",!0)]),_:1})])}var _g=ge(FS,[["render",SE]]);const EE={name:"ModalDialogAddUrlStream",props:["show"],emits:["close"],data(){return{url:"",loading:!1}},watch:{show(){this.show&&(this.loading=!1,setTimeout(()=>{this.$refs.url_field.focus()},10))}},methods:{add_stream:function(){this.loading=!0,G.queue_add(this.url).then(()=>{this.$emit("close"),this.url=""}).catch(()=>{this.loading=!1})},play:function(){this.loading=!0,G.player_play_uri(this.url,!1).then(()=>{this.$emit("close"),this.url=""}).catch(()=>{this.loading=!1})}}},CE={key:0,class:"modal is-active"},$E={class:"modal-content fd-modal-card"},OE={class:"card"},TE={class:"card-content"},AE=l("p",{class:"title is-4"},"Add stream URL",-1),PE={class:"field"},DE={class:"control is-expanded has-icons-left"},FE=["disabled"],IE=l("span",{class:"icon is-left"},[l("i",{class:"mdi mdi-web"})],-1),RE={key:0,class:"card-footer"},NE=l("a",{class:"card-footer-item has-text-dark"},[l("span",{class:"icon"},[l("i",{class:"mdi mdi-web"})]),l("span",{class:"is-size-7"},"Loading ...")],-1),ME=[NE],LE={key:1,class:"card-footer"},jE=l("span",{class:"icon"},[l("i",{class:"mdi mdi-cancel"})],-1),BE=l("span",{class:"is-size-7"},"Cancel",-1),UE=[jE,BE],VE=l("span",{class:"icon"},[l("i",{class:"mdi mdi-playlist-plus"})],-1),HE=l("span",{class:"is-size-7"},"Add",-1),qE=[VE,HE],zE=l("span",{class:"icon"},[l("i",{class:"mdi mdi-play"})],-1),GE=l("span",{class:"is-size-7"},"Play",-1),WE=[zE,GE];function KE(e,t,s,n,o,r){return x(),A("div",null,[P(Ht,{name:"fade"},{default:T(()=>[s.show?(x(),A("div",CE,[l("div",{class:"modal-background",onClick:t[0]||(t[0]=i=>e.$emit("close"))}),l("div",$E,[l("div",OE,[l("div",TE,[AE,l("form",{class:"fd-has-margin-bottom",onSubmit:t[2]||(t[2]=pt((...i)=>r.play&&r.play(...i),["prevent"]))},[l("div",PE,[l("p",DE,[wt(l("input",{ref:"url_field","onUpdate:modelValue":t[1]||(t[1]=i=>o.url=i),class:"input is-shadowless",type:"text",placeholder:"http://url-to-stream",disabled:o.loading},null,8,FE),[[es,o.url]]),IE])])],32)]),o.loading?(x(),A("footer",RE,ME)):(x(),A("footer",LE,[l("a",{class:"card-footer-item has-text-danger",onClick:t[3]||(t[3]=i=>e.$emit("close"))},UE),l("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...i)=>r.add_stream&&r.add_stream(...i))},qE),l("a",{class:"card-footer-item has-background-info has-text-white has-text-weight-bold",onClick:t[5]||(t[5]=(...i)=>r.play&&r.play(...i))},WE)]))])]),l("button",{class:"modal-close is-large","aria-label":"close",onClick:t[6]||(t[6]=i=>e.$emit("close"))})])):Y("",!0)]),_:1})])}var YE=ge(EE,[["render",KE]]);const ZE={name:"ModalDialogPlaylistSave",props:["show"],emits:["close"],data(){return{playlist_name:"",loading:!1}},watch:{show(){this.show&&(this.loading=!1,setTimeout(()=>{this.$refs.playlist_name_field.focus()},10))}},methods:{save:function(){this.playlist_name.length<1||(this.loading=!0,G.queue_save_playlist(this.playlist_name).then(()=>{this.$emit("close"),this.playlist_name=""}).catch(()=>{this.loading=!1}))}}},JE={key:0,class:"modal is-active"},XE={class:"modal-content fd-modal-card"},QE={class:"card"},eC={class:"card-content"},tC=l("p",{class:"title is-4"},"Save queue to playlist",-1),sC={class:"field"},nC={class:"control is-expanded has-icons-left"},rC=["disabled"],oC=l("span",{class:"icon is-left"},[l("i",{class:"mdi mdi-file-music"})],-1),iC={key:0,class:"card-footer"},aC=l("a",{class:"card-footer-item has-text-dark"},[l("span",{class:"icon"},[l("i",{class:"mdi mdi-web"})]),l("span",{class:"is-size-7"},"Saving ...")],-1),lC=[aC],uC={key:1,class:"card-footer"},cC=l("span",{class:"icon"},[l("i",{class:"mdi mdi-cancel"})],-1),dC=l("span",{class:"is-size-7"},"Cancel",-1),fC=[cC,dC],hC=l("span",{class:"icon"},[l("i",{class:"mdi mdi-content-save"})],-1),mC=l("span",{class:"is-size-7"},"Save",-1),pC=[hC,mC];function _C(e,t,s,n,o,r){return x(),A("div",null,[P(Ht,{name:"fade"},{default:T(()=>[s.show?(x(),A("div",JE,[l("div",{class:"modal-background",onClick:t[0]||(t[0]=i=>e.$emit("close"))}),l("div",XE,[l("div",QE,[l("div",eC,[tC,l("form",{class:"fd-has-margin-bottom",onSubmit:t[2]||(t[2]=pt((...i)=>r.save&&r.save(...i),["prevent"]))},[l("div",sC,[l("p",nC,[wt(l("input",{ref:"playlist_name_field","onUpdate:modelValue":t[1]||(t[1]=i=>o.playlist_name=i),class:"input is-shadowless",type:"text",placeholder:"Playlist name",disabled:o.loading},null,8,rC),[[es,o.playlist_name]]),oC])])],32)]),o.loading?(x(),A("footer",iC,lC)):(x(),A("footer",uC,[l("a",{class:"card-footer-item has-text-danger",onClick:t[3]||(t[3]=i=>e.$emit("close"))},fC),l("a",{class:"card-footer-item has-background-info has-text-white has-text-weight-bold",onClick:t[4]||(t[4]=(...i)=>r.save&&r.save(...i))},pC)]))])]),l("button",{class:"modal-close is-large","aria-label":"close",onClick:t[5]||(t[5]=i=>e.$emit("close"))})])):Y("",!0)]),_:1})])}var gC=ge(ZE,[["render",_C]]),gg={exports:{}},Pd=eg(yw);/**!
+ * Sortable 1.14.0
+ * @author RubaXa
+ * @author owenm
+ * @license MIT
+ */function Ih(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),s.push.apply(s,n)}return s}function tn(e){for(var t=1;t=0)&&(s[o]=e[o]);return s}function bC(e,t){if(e==null)return{};var s=yC(e,t),n,o;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0)&&(!Object.prototype.propertyIsEnumerable.call(e,n)||(s[n]=e[n]))}return s}function wC(e){return kC(e)||xC(e)||SC(e)||EC()}function kC(e){if(Array.isArray(e))return pc(e)}function xC(e){if(typeof Symbol!="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function SC(e,t){if(!!e){if(typeof e=="string")return pc(e,t);var s=Object.prototype.toString.call(e).slice(8,-1);if(s==="Object"&&e.constructor&&(s=e.constructor.name),s==="Map"||s==="Set")return Array.from(e);if(s==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s))return pc(e,t)}}function pc(e,t){(t==null||t>e.length)&&(t=e.length);for(var s=0,n=new Array(t);s"&&(t=t.substring(1)),e)try{if(e.matches)return e.matches(t);if(e.msMatchesSelector)return e.msMatchesSelector(t);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(t)}catch{return!1}return!1}}function OC(e){return e.host&&e!==document&&e.host.nodeType?e.host:e.parentNode}function Bs(e,t,s,n){if(e){s=s||document;do{if(t!=null&&(t[0]===">"?e.parentNode===s&&Za(e,t):Za(e,t))||n&&e===s)return e;if(e===s)break}while(e=OC(e))}return null}var Nh=/\s+/g;function Ct(e,t,s){if(e&&t)if(e.classList)e.classList[s?"add":"remove"](t);else{var n=(" "+e.className+" ").replace(Nh," ").replace(" "+t+" "," ");e.className=(n+(s?" "+t:"")).replace(Nh," ")}}function Ue(e,t,s){var n=e&&e.style;if(n){if(s===void 0)return document.defaultView&&document.defaultView.getComputedStyle?s=document.defaultView.getComputedStyle(e,""):e.currentStyle&&(s=e.currentStyle),t===void 0?s:s[t];!(t in n)&&t.indexOf("webkit")===-1&&(t="-webkit-"+t),n[t]=s+(typeof s=="string"?"":"px")}}function ur(e,t){var s="";if(typeof e=="string")s=e;else do{var n=Ue(e,"transform");n&&n!=="none"&&(s=n+" "+s)}while(!t&&(e=e.parentNode));var o=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return o&&new o(s)}function bg(e,t,s){if(e){var n=e.getElementsByTagName(t),o=0,r=n.length;if(s)for(;o=r:i=o<=r,!i)return n;if(n===en())break;n=In(n,!1)}return!1}function ro(e,t,s,n){for(var o=0,r=0,i=e.children;r2&&arguments[2]!==void 0?arguments[2]:{},o=n.evt,r=bC(n,RC);wi.pluginEvent.bind(Xe)(t,s,tn({dragEl:Se,parentEl:At,ghostEl:st,rootEl:St,nextEl:sr,lastDownEl:Ia,cloneEl:Pt,cloneHidden:Dn,dragStarted:Po,putSortable:Kt,activeSortable:Xe.active,originalEvent:o,oldIndex:Lr,oldDraggableIndex:Zo,newIndex:gs,newDraggableIndex:An,hideGhostForTarget:Cg,unhideGhostForTarget:$g,cloneNowHidden:function(){Dn=!0},cloneNowShown:function(){Dn=!1},dispatchSortableEvent:function(a){os({sortable:s,name:a,originalEvent:o})}},r))};function os(e){Ao(tn({putSortable:Kt,cloneEl:Pt,targetEl:Se,rootEl:St,oldIndex:Lr,oldDraggableIndex:Zo,newIndex:gs,newDraggableIndex:An},e))}var Se,At,st,St,sr,Ia,Pt,Dn,Lr,gs,Zo,An,Vi,Kt,Nr=!1,Ja=!1,Xa=[],Zn,Rs,ku,xu,Bh,Uh,Po,Tr,Jo,Xo=!1,Hi=!1,Ra,Jt,Su=[],_c=!1,Qa=[],Nl=typeof document!="undefined",qi=vg,Vh=bi||vn?"cssFloat":"float",NC=Nl&&!$C&&!vg&&"draggable"in document.createElement("div"),xg=function(){if(!!Nl){if(vn)return!1;var e=document.createElement("x");return e.style.cssText="pointer-events:auto",e.style.pointerEvents==="auto"}}(),Sg=function(t,s){var n=Ue(t),o=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),r=ro(t,0,s),i=ro(t,1,s),a=r&&Ue(r),u=i&&Ue(i),c=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+Et(r).width,d=u&&parseInt(u.marginLeft)+parseInt(u.marginRight)+Et(i).width;if(n.display==="flex")return n.flexDirection==="column"||n.flexDirection==="column-reverse"?"vertical":"horizontal";if(n.display==="grid")return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(r&&a.float&&a.float!=="none"){var h=a.float==="left"?"left":"right";return i&&(u.clear==="both"||u.clear===h)?"vertical":"horizontal"}return r&&(a.display==="block"||a.display==="flex"||a.display==="table"||a.display==="grid"||c>=o&&n[Vh]==="none"||i&&n[Vh]==="none"&&c+d>o)?"vertical":"horizontal"},MC=function(t,s,n){var o=n?t.left:t.top,r=n?t.right:t.bottom,i=n?t.width:t.height,a=n?s.left:s.top,u=n?s.right:s.bottom,c=n?s.width:s.height;return o===a||r===u||o+i/2===a+c/2},LC=function(t,s){var n;return Xa.some(function(o){var r=o[Xt].options.emptyInsertThreshold;if(!(!r||Dd(o))){var i=Et(o),a=t>=i.left-r&&t<=i.right+r,u=s>=i.top-r&&s<=i.bottom+r;if(a&&u)return n=o}}),n},Eg=function(t){function s(r,i){return function(a,u,c,d){var h=a.options.group.name&&u.options.group.name&&a.options.group.name===u.options.group.name;if(r==null&&(i||h))return!0;if(r==null||r===!1)return!1;if(i&&r==="clone")return r;if(typeof r=="function")return s(r(a,u,c,d),i)(a,u,c,d);var f=(i?a:u).options.group.name;return r===!0||typeof r=="string"&&r===f||r.join&&r.indexOf(f)>-1}}var n={},o=t.group;(!o||Fa(o)!="object")&&(o={name:o}),n.name=o.name,n.checkPull=s(o.pull,!0),n.checkPut=s(o.put),n.revertClone=o.revertClone,t.group=n},Cg=function(){!xg&&st&&Ue(st,"display","none")},$g=function(){!xg&&st&&Ue(st,"display","")};Nl&&document.addEventListener("click",function(e){if(Ja)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),Ja=!1,!1},!0);var Jn=function(t){if(Se){t=t.touches?t.touches[0]:t;var s=LC(t.clientX,t.clientY);if(s){var n={};for(var o in t)t.hasOwnProperty(o)&&(n[o]=t[o]);n.target=n.rootEl=s,n.preventDefault=void 0,n.stopPropagation=void 0,s[Xt]._onDragOver(n)}}},jC=function(t){Se&&Se.parentNode[Xt]._isOutsideThisEl(t.target)};function Xe(e,t){if(!(e&&e.nodeType&&e.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(e));this.el=e,this.options=t=Ds({},t),e[Xt]=this;var s={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(e.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Sg(e,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(i,a){i.setData("Text",a.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:Xe.supportPointer!==!1&&"PointerEvent"in window&&!Ko,emptyInsertThreshold:5};wi.initializePlugins(this,e,s);for(var n in s)!(n in t)&&(t[n]=s[n]);Eg(t);for(var o in this)o.charAt(0)==="_"&&typeof this[o]=="function"&&(this[o]=this[o].bind(this));this.nativeDraggable=t.forceFallback?!1:NC,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?at(e,"pointerdown",this._onTapStart):(at(e,"mousedown",this._onTapStart),at(e,"touchstart",this._onTapStart)),this.nativeDraggable&&(at(e,"dragover",this),at(e,"dragenter",this)),Xa.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),Ds(this,DC())}Xe.prototype={constructor:Xe,_isOutsideThisEl:function(t){!this.el.contains(t)&&t!==this.el&&(Tr=null)},_getDirection:function(t,s){return typeof this.options.direction=="function"?this.options.direction.call(this,t,s,Se):this.options.direction},_onTapStart:function(t){if(!!t.cancelable){var s=this,n=this.el,o=this.options,r=o.preventOnFilter,i=t.type,a=t.touches&&t.touches[0]||t.pointerType&&t.pointerType==="touch"&&t,u=(a||t).target,c=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||u,d=o.filter;if(WC(n),!Se&&!(/mousedown|pointerdown/.test(i)&&t.button!==0||o.disabled)&&!c.isContentEditable&&!(!this.nativeDraggable&&Ko&&u&&u.tagName.toUpperCase()==="SELECT")&&(u=Bs(u,o.draggable,n,!1),!(u&&u.animated)&&Ia!==u)){if(Lr=Ft(u),Zo=Ft(u,o.draggable),typeof d=="function"){if(d.call(this,t,u,this)){os({sortable:s,rootEl:c,name:"filter",targetEl:u,toEl:n,fromEl:n}),us("filter",s,{evt:t}),r&&t.cancelable&&t.preventDefault();return}}else if(d&&(d=d.split(",").some(function(h){if(h=Bs(c,h.trim(),n,!1),h)return os({sortable:s,rootEl:h,name:"filter",targetEl:u,fromEl:n,toEl:n}),us("filter",s,{evt:t}),!0}),d)){r&&t.cancelable&&t.preventDefault();return}o.handle&&!Bs(c,o.handle,n,!1)||this._prepareDragStart(t,a,u)}}},_prepareDragStart:function(t,s,n){var o=this,r=o.el,i=o.options,a=r.ownerDocument,u;if(n&&!Se&&n.parentNode===r){var c=Et(n);if(St=r,Se=n,At=Se.parentNode,sr=Se.nextSibling,Ia=n,Vi=i.group,Xe.dragged=Se,Zn={target:Se,clientX:(s||t).clientX,clientY:(s||t).clientY},Bh=Zn.clientX-c.left,Uh=Zn.clientY-c.top,this._lastX=(s||t).clientX,this._lastY=(s||t).clientY,Se.style["will-change"]="all",u=function(){if(us("delayEnded",o,{evt:t}),Xe.eventCanceled){o._onDrop();return}o._disableDelayedDragEvents(),!Rh&&o.nativeDraggable&&(Se.draggable=!0),o._triggerDragStart(t,s),os({sortable:o,name:"choose",originalEvent:t}),Ct(Se,i.chosenClass,!0)},i.ignore.split(",").forEach(function(d){bg(Se,d.trim(),Eu)}),at(a,"dragover",Jn),at(a,"mousemove",Jn),at(a,"touchmove",Jn),at(a,"mouseup",o._onDrop),at(a,"touchend",o._onDrop),at(a,"touchcancel",o._onDrop),Rh&&this.nativeDraggable&&(this.options.touchStartThreshold=4,Se.draggable=!0),us("delayStart",this,{evt:t}),i.delay&&(!i.delayOnTouchOnly||s)&&(!this.nativeDraggable||!(bi||vn))){if(Xe.eventCanceled){this._onDrop();return}at(a,"mouseup",o._disableDelayedDrag),at(a,"touchend",o._disableDelayedDrag),at(a,"touchcancel",o._disableDelayedDrag),at(a,"mousemove",o._delayedDragTouchMoveHandler),at(a,"touchmove",o._delayedDragTouchMoveHandler),i.supportPointer&&at(a,"pointermove",o._delayedDragTouchMoveHandler),o._dragStartTimer=setTimeout(u,i.delay)}else u()}},_delayedDragTouchMoveHandler:function(t){var s=t.touches?t.touches[0]:t;Math.max(Math.abs(s.clientX-this._lastX),Math.abs(s.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){Se&&Eu(Se),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;rt(t,"mouseup",this._disableDelayedDrag),rt(t,"touchend",this._disableDelayedDrag),rt(t,"touchcancel",this._disableDelayedDrag),rt(t,"mousemove",this._delayedDragTouchMoveHandler),rt(t,"touchmove",this._delayedDragTouchMoveHandler),rt(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,s){s=s||t.pointerType=="touch"&&t,!this.nativeDraggable||s?this.options.supportPointer?at(document,"pointermove",this._onTouchMove):s?at(document,"touchmove",this._onTouchMove):at(document,"mousemove",this._onTouchMove):(at(Se,"dragend",this),at(St,"dragstart",this._onDragStart));try{document.selection?Na(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(t,s){if(Nr=!1,St&&Se){us("dragStarted",this,{evt:s}),this.nativeDraggable&&at(document,"dragover",jC);var n=this.options;!t&&Ct(Se,n.dragClass,!1),Ct(Se,n.ghostClass,!0),Xe.active=this,t&&this._appendGhost(),os({sortable:this,name:"start",originalEvent:s})}else this._nulling()},_emulateDragOver:function(){if(Rs){this._lastX=Rs.clientX,this._lastY=Rs.clientY,Cg();for(var t=document.elementFromPoint(Rs.clientX,Rs.clientY),s=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(Rs.clientX,Rs.clientY),t!==s);)s=t;if(Se.parentNode[Xt]._isOutsideThisEl(t),s)do{if(s[Xt]){var n=void 0;if(n=s[Xt]._onDragOver({clientX:Rs.clientX,clientY:Rs.clientY,target:t,rootEl:s}),n&&!this.options.dragoverBubble)break}t=s}while(s=s.parentNode);$g()}},_onTouchMove:function(t){if(Zn){var s=this.options,n=s.fallbackTolerance,o=s.fallbackOffset,r=t.touches?t.touches[0]:t,i=st&&ur(st,!0),a=st&&i&&i.a,u=st&&i&&i.d,c=qi&&Jt&&Lh(Jt),d=(r.clientX-Zn.clientX+o.x)/(a||1)+(c?c[0]-Su[0]:0)/(a||1),h=(r.clientY-Zn.clientY+o.y)/(u||1)+(c?c[1]-Su[1]:0)/(u||1);if(!Xe.active&&!Nr){if(n&&Math.max(Math.abs(r.clientX-this._lastX),Math.abs(r.clientY-this._lastY))=0&&(os({rootEl:At,name:"add",toEl:At,fromEl:St,originalEvent:t}),os({sortable:this,name:"remove",toEl:At,originalEvent:t}),os({rootEl:At,name:"sort",toEl:At,fromEl:St,originalEvent:t}),os({sortable:this,name:"sort",toEl:At,originalEvent:t})),Kt&&Kt.save()):gs!==Lr&&gs>=0&&(os({sortable:this,name:"update",toEl:At,originalEvent:t}),os({sortable:this,name:"sort",toEl:At,originalEvent:t})),Xe.active&&((gs==null||gs===-1)&&(gs=Lr,An=Zo),os({sortable:this,name:"end",toEl:At,originalEvent:t}),this.save()))),this._nulling()},_nulling:function(){us("nulling",this),St=Se=At=st=sr=Pt=Ia=Dn=Zn=Rs=Po=gs=An=Lr=Zo=Tr=Jo=Kt=Vi=Xe.dragged=Xe.ghost=Xe.clone=Xe.active=null,Qa.forEach(function(t){t.checked=!0}),Qa.length=ku=xu=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":Se&&(this._onDragOver(t),BC(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t=[],s,n=this.el.children,o=0,r=n.length,i=this.options;on.right+o||e.clientX<=n.right&&e.clientY>n.bottom&&e.clientX>=n.left:e.clientX>n.right&&e.clientY>n.top||e.clientX<=n.right&&e.clientY>n.bottom+o}function qC(e,t,s,n,o,r,i,a){var u=n?e.clientY:e.clientX,c=n?s.height:s.width,d=n?s.top:s.left,h=n?s.bottom:s.right,f=!1;if(!i){if(a&&Rad+c*r/2:uh-Ra)return-Jo}else if(u>d+c*(1-o)/2&&uh-c*r/2)?u>d+c/2?1:-1:0}function zC(e){return Ft(Se)1&&(tt.forEach(function(a){r.addAnimationState({target:a,rect:cs?Et(a):i}),bu(a),a.fromRect=i,n.removeAnimationState(a)}),cs=!1,XC(!this.options.removeCloneOnHide,o))},dragOverCompleted:function(s){var n=s.sortable,o=s.isOwner,r=s.insertion,i=s.activeSortable,a=s.parentEl,u=s.putSortable,c=this.options;if(r){if(o&&i._hideClone(),yo=!1,c.animation&&tt.length>1&&(cs||!o&&!i.options.sort&&!u)){var d=Et(kt,!1,!0,!0);tt.forEach(function(f){f!==kt&&(jh(f,d),a.appendChild(f))}),cs=!0}if(!o)if(cs||Wi(),tt.length>1){var h=Gi;i._showClone(n),i.options.animation&&!Gi&&h&&_s.forEach(function(f){i.addAnimationState({target:f,rect:bo}),f.fromRect=bo,f.thisAnimationDuration=null})}else i._showClone(n)}},dragOverAnimationCapture:function(s){var n=s.dragRect,o=s.isOwner,r=s.activeSortable;if(tt.forEach(function(a){a.thisAnimationDuration=null}),r.options.animation&&!o&&r.multiDrag.isMultiDrag){bo=Ds({},n);var i=ur(kt,!0);bo.top-=i.f,bo.left-=i.e}},dragOverAnimationComplete:function(){cs&&(cs=!1,Wi())},drop:function(s){var n=s.originalEvent,o=s.rootEl,r=s.parentEl,i=s.sortable,a=s.dispatchSortableEvent,u=s.oldIndex,c=s.putSortable,d=c||this.sortable;if(!!n){var h=this.options,f=r.children;if(!Ar)if(h.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),Ct(kt,h.selectedClass,!~tt.indexOf(kt)),~tt.indexOf(kt))tt.splice(tt.indexOf(kt),1),vo=null,Ao({sortable:i,rootEl:o,name:"deselect",targetEl:kt,originalEvt:n});else{if(tt.push(kt),Ao({sortable:i,rootEl:o,name:"select",targetEl:kt,originalEvt:n}),n.shiftKey&&vo&&i.el.contains(vo)){var m=Ft(vo),p=Ft(kt);if(~m&&~p&&m!==p){var _,g;for(p>m?(g=m,_=p):(g=p,_=m+1);g<_;g++)~tt.indexOf(f[g])||(Ct(f[g],h.selectedClass,!0),tt.push(f[g]),Ao({sortable:i,rootEl:o,name:"select",targetEl:f[g],originalEvt:n}))}}else vo=kt;Ns=d}if(Ar&&this.isMultiDrag){if(cs=!1,(r[Xt].options.sort||r!==o)&&tt.length>1){var y=Et(kt),b=Ft(kt,":not(."+this.options.selectedClass+")");if(!yo&&h.animation&&(kt.thisAnimationDuration=null),d.captureAnimationState(),!yo&&(h.animation&&(kt.fromRect=y,tt.forEach(function(S){if(S.thisAnimationDuration=null,S!==kt){var E=cs?Et(S):y;S.fromRect=E,d.addAnimationState({target:S,rect:E})}})),Wi(),tt.forEach(function(S){f[b]?r.insertBefore(S,f[b]):r.appendChild(S),b++}),u===Ft(kt))){var k=!1;tt.forEach(function(S){if(S.sortableIndex!==Ft(S)){k=!0;return}}),k&&a("update")}tt.forEach(function(S){bu(S)}),d.animateAll()}Ns=d}(o===r||c&&c.lastPutMode!=="clone")&&_s.forEach(function(S){S.parentNode&&S.parentNode.removeChild(S)})}},nullingGlobal:function(){this.isMultiDrag=Ar=!1,_s.length=0},destroyGlobal:function(){this._deselectMultiDrag(),rt(document,"pointerup",this._deselectMultiDrag),rt(document,"mouseup",this._deselectMultiDrag),rt(document,"touchend",this._deselectMultiDrag),rt(document,"keydown",this._checkKeyDown),rt(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(s){if(!(typeof Ar!="undefined"&&Ar)&&Ns===this.sortable&&!(s&&Bs(s.target,this.options.draggable,this.sortable.el,!1))&&!(s&&s.button!==0))for(;tt.length;){var n=tt[0];Ct(n,this.options.selectedClass,!1),tt.shift(),Ao({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:n,originalEvt:s})}},_checkKeyDown:function(s){s.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(s){s.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},Ds(e,{pluginName:"multiDrag",utils:{select:function(s){var n=s.parentNode[Xt];!n||!n.options.multiDrag||~tt.indexOf(s)||(Ns&&Ns!==n&&(Ns.multiDrag._deselectMultiDrag(),Ns=n),Ct(s,n.options.selectedClass,!0),tt.push(s))},deselect:function(s){var n=s.parentNode[Xt],o=tt.indexOf(s);!n||!n.options.multiDrag||!~o||(Ct(s,n.options.selectedClass,!1),tt.splice(o,1))}},eventProperties:function(){var s=this,n=[],o=[];return tt.forEach(function(r){n.push({multiDragElement:r,index:r.sortableIndex});var i;cs&&r!==kt?i=-1:cs?i=Ft(r,":not(."+s.options.selectedClass+")"):i=Ft(r),o.push({multiDragElement:r,index:i})}),{items:wC(tt),clones:[].concat(_s),oldIndicies:n,newIndicies:o}},optionListeners:{multiDragKey:function(s){return s=s.toLowerCase(),s==="ctrl"?s="Control":s.length>1&&(s=s.charAt(0).toUpperCase()+s.substr(1)),s}}})}function XC(e,t){tt.forEach(function(s,n){var o=t.children[s.sortableIndex+(e?Number(n):0)];o?t.insertBefore(s,o):t.appendChild(s)})}function qh(e,t){_s.forEach(function(s,n){var o=t.children[s.sortableIndex+(e?Number(n):0)];o?t.insertBefore(s,o):t.appendChild(s)})}function Wi(){tt.forEach(function(e){e!==kt&&e.parentNode&&e.parentNode.removeChild(e)})}Xe.mount(new KC);Xe.mount(Rd,Id);var QC=Object.freeze(Object.defineProperty({__proto__:null,default:Xe,MultiDrag:JC,Sortable:Xe,Swap:YC},Symbol.toStringTag,{value:"Module"})),e$=eg(QC);(function(e,t){(function(n,o){e.exports=o(Pd,e$)})(typeof self!="undefined"?self:ts,function(s,n){return function(o){var r={};function i(a){if(r[a])return r[a].exports;var u=r[a]={i:a,l:!1,exports:{}};return o[a].call(u.exports,u,u.exports,i),u.l=!0,u.exports}return i.m=o,i.c=r,i.d=function(a,u,c){i.o(a,u)||Object.defineProperty(a,u,{enumerable:!0,get:c})},i.r=function(a){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(a,"__esModule",{value:!0})},i.t=function(a,u){if(u&1&&(a=i(a)),u&8||u&4&&typeof a=="object"&&a&&a.__esModule)return a;var c=Object.create(null);if(i.r(c),Object.defineProperty(c,"default",{enumerable:!0,value:a}),u&2&&typeof a!="string")for(var d in a)i.d(c,d,function(h){return a[h]}.bind(null,d));return c},i.n=function(a){var u=a&&a.__esModule?function(){return a.default}:function(){return a};return i.d(u,"a",u),u},i.o=function(a,u){return Object.prototype.hasOwnProperty.call(a,u)},i.p="",i(i.s="fb15")}({"00ee":function(o,r,i){var a=i("b622"),u=a("toStringTag"),c={};c[u]="z",o.exports=String(c)==="[object z]"},"0366":function(o,r,i){var a=i("1c0b");o.exports=function(u,c,d){if(a(u),c===void 0)return u;switch(d){case 0:return function(){return u.call(c)};case 1:return function(h){return u.call(c,h)};case 2:return function(h,f){return u.call(c,h,f)};case 3:return function(h,f,m){return u.call(c,h,f,m)}}return function(){return u.apply(c,arguments)}}},"057f":function(o,r,i){var a=i("fc6a"),u=i("241c").f,c={}.toString,d=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],h=function(f){try{return u(f)}catch{return d.slice()}};o.exports.f=function(m){return d&&c.call(m)=="[object Window]"?h(m):u(a(m))}},"06cf":function(o,r,i){var a=i("83ab"),u=i("d1e7"),c=i("5c6c"),d=i("fc6a"),h=i("c04e"),f=i("5135"),m=i("0cfb"),p=Object.getOwnPropertyDescriptor;r.f=a?p:function(g,y){if(g=d(g),y=h(y,!0),m)try{return p(g,y)}catch{}if(f(g,y))return c(!u.f.call(g,y),g[y])}},"0cfb":function(o,r,i){var a=i("83ab"),u=i("d039"),c=i("cc12");o.exports=!a&&!u(function(){return Object.defineProperty(c("div"),"a",{get:function(){return 7}}).a!=7})},"13d5":function(o,r,i){var a=i("23e7"),u=i("d58f").left,c=i("a640"),d=i("ae40"),h=c("reduce"),f=d("reduce",{1:0});a({target:"Array",proto:!0,forced:!h||!f},{reduce:function(p){return u(this,p,arguments.length,arguments.length>1?arguments[1]:void 0)}})},"14c3":function(o,r,i){var a=i("c6b6"),u=i("9263");o.exports=function(c,d){var h=c.exec;if(typeof h=="function"){var f=h.call(c,d);if(typeof f!="object")throw TypeError("RegExp exec method returned something other than an Object or null");return f}if(a(c)!=="RegExp")throw TypeError("RegExp#exec called on incompatible receiver");return u.call(c,d)}},"159b":function(o,r,i){var a=i("da84"),u=i("fdbc"),c=i("17c2"),d=i("9112");for(var h in u){var f=a[h],m=f&&f.prototype;if(m&&m.forEach!==c)try{d(m,"forEach",c)}catch{m.forEach=c}}},"17c2":function(o,r,i){var a=i("b727").forEach,u=i("a640"),c=i("ae40"),d=u("forEach"),h=c("forEach");o.exports=!d||!h?function(m){return a(this,m,arguments.length>1?arguments[1]:void 0)}:[].forEach},"1be4":function(o,r,i){var a=i("d066");o.exports=a("document","documentElement")},"1c0b":function(o,r){o.exports=function(i){if(typeof i!="function")throw TypeError(String(i)+" is not a function");return i}},"1c7e":function(o,r,i){var a=i("b622"),u=a("iterator"),c=!1;try{var d=0,h={next:function(){return{done:!!d++}},return:function(){c=!0}};h[u]=function(){return this},Array.from(h,function(){throw 2})}catch{}o.exports=function(f,m){if(!m&&!c)return!1;var p=!1;try{var _={};_[u]=function(){return{next:function(){return{done:p=!0}}}},f(_)}catch{}return p}},"1d80":function(o,r){o.exports=function(i){if(i==null)throw TypeError("Can't call method on "+i);return i}},"1dde":function(o,r,i){var a=i("d039"),u=i("b622"),c=i("2d00"),d=u("species");o.exports=function(h){return c>=51||!a(function(){var f=[],m=f.constructor={};return m[d]=function(){return{foo:1}},f[h](Boolean).foo!==1})}},"23cb":function(o,r,i){var a=i("a691"),u=Math.max,c=Math.min;o.exports=function(d,h){var f=a(d);return f<0?u(f+h,0):c(f,h)}},"23e7":function(o,r,i){var a=i("da84"),u=i("06cf").f,c=i("9112"),d=i("6eeb"),h=i("ce4e"),f=i("e893"),m=i("94ca");o.exports=function(p,_){var g=p.target,y=p.global,b=p.stat,k,S,E,$,I,j;if(y?S=a:b?S=a[g]||h(g,{}):S=(a[g]||{}).prototype,S)for(E in _){if(I=_[E],p.noTargetGet?(j=u(S,E),$=j&&j.value):$=S[E],k=m(y?E:g+(b?".":"#")+E,p.forced),!k&&$!==void 0){if(typeof I==typeof $)continue;f(I,$)}(p.sham||$&&$.sham)&&c(I,"sham",!0),d(S,E,I,p)}}},"241c":function(o,r,i){var a=i("ca84"),u=i("7839"),c=u.concat("length","prototype");r.f=Object.getOwnPropertyNames||function(h){return a(h,c)}},"25f0":function(o,r,i){var a=i("6eeb"),u=i("825a"),c=i("d039"),d=i("ad6d"),h="toString",f=RegExp.prototype,m=f[h],p=c(function(){return m.call({source:"a",flags:"b"})!="/a/b"}),_=m.name!=h;(p||_)&&a(RegExp.prototype,h,function(){var y=u(this),b=String(y.source),k=y.flags,S=String(k===void 0&&y instanceof RegExp&&!("flags"in f)?d.call(y):k);return"/"+b+"/"+S},{unsafe:!0})},"2ca0":function(o,r,i){var a=i("23e7"),u=i("06cf").f,c=i("50c4"),d=i("5a34"),h=i("1d80"),f=i("ab13"),m=i("c430"),p="".startsWith,_=Math.min,g=f("startsWith"),y=!m&&!g&&!!function(){var b=u(String.prototype,"startsWith");return b&&!b.writable}();a({target:"String",proto:!0,forced:!y&&!g},{startsWith:function(k){var S=String(h(this));d(k);var E=c(_(arguments.length>1?arguments[1]:void 0,S.length)),$=String(k);return p?p.call(S,$,E):S.slice(E,E+$.length)===$}})},"2d00":function(o,r,i){var a=i("da84"),u=i("342f"),c=a.process,d=c&&c.versions,h=d&&d.v8,f,m;h?(f=h.split("."),m=f[0]+f[1]):u&&(f=u.match(/Edge\/(\d+)/),(!f||f[1]>=74)&&(f=u.match(/Chrome\/(\d+)/),f&&(m=f[1]))),o.exports=m&&+m},"342f":function(o,r,i){var a=i("d066");o.exports=a("navigator","userAgent")||""},"35a1":function(o,r,i){var a=i("f5df"),u=i("3f8c"),c=i("b622"),d=c("iterator");o.exports=function(h){if(h!=null)return h[d]||h["@@iterator"]||u[a(h)]}},"37e8":function(o,r,i){var a=i("83ab"),u=i("9bf2"),c=i("825a"),d=i("df75");o.exports=a?Object.defineProperties:function(f,m){c(f);for(var p=d(m),_=p.length,g=0,y;_>g;)u.f(f,y=p[g++],m[y]);return f}},"3bbe":function(o,r,i){var a=i("861d");o.exports=function(u){if(!a(u)&&u!==null)throw TypeError("Can't set "+String(u)+" as a prototype");return u}},"3ca3":function(o,r,i){var a=i("6547").charAt,u=i("69f3"),c=i("7dd0"),d="String Iterator",h=u.set,f=u.getterFor(d);c(String,"String",function(m){h(this,{type:d,string:String(m),index:0})},function(){var p=f(this),_=p.string,g=p.index,y;return g>=_.length?{value:void 0,done:!0}:(y=a(_,g),p.index+=y.length,{value:y,done:!1})})},"3f8c":function(o,r){o.exports={}},"4160":function(o,r,i){var a=i("23e7"),u=i("17c2");a({target:"Array",proto:!0,forced:[].forEach!=u},{forEach:u})},"428f":function(o,r,i){var a=i("da84");o.exports=a},"44ad":function(o,r,i){var a=i("d039"),u=i("c6b6"),c="".split;o.exports=a(function(){return!Object("z").propertyIsEnumerable(0)})?function(d){return u(d)=="String"?c.call(d,""):Object(d)}:Object},"44d2":function(o,r,i){var a=i("b622"),u=i("7c73"),c=i("9bf2"),d=a("unscopables"),h=Array.prototype;h[d]==null&&c.f(h,d,{configurable:!0,value:u(null)}),o.exports=function(f){h[d][f]=!0}},"44e7":function(o,r,i){var a=i("861d"),u=i("c6b6"),c=i("b622"),d=c("match");o.exports=function(h){var f;return a(h)&&((f=h[d])!==void 0?!!f:u(h)=="RegExp")}},"4930":function(o,r,i){var a=i("d039");o.exports=!!Object.getOwnPropertySymbols&&!a(function(){return!String(Symbol())})},"4d64":function(o,r,i){var a=i("fc6a"),u=i("50c4"),c=i("23cb"),d=function(h){return function(f,m,p){var _=a(f),g=u(_.length),y=c(p,g),b;if(h&&m!=m){for(;g>y;)if(b=_[y++],b!=b)return!0}else for(;g>y;y++)if((h||y in _)&&_[y]===m)return h||y||0;return!h&&-1}};o.exports={includes:d(!0),indexOf:d(!1)}},"4de4":function(o,r,i){var a=i("23e7"),u=i("b727").filter,c=i("1dde"),d=i("ae40"),h=c("filter"),f=d("filter");a({target:"Array",proto:!0,forced:!h||!f},{filter:function(p){return u(this,p,arguments.length>1?arguments[1]:void 0)}})},"4df4":function(o,r,i){var a=i("0366"),u=i("7b0b"),c=i("9bdd"),d=i("e95a"),h=i("50c4"),f=i("8418"),m=i("35a1");o.exports=function(_){var g=u(_),y=typeof this=="function"?this:Array,b=arguments.length,k=b>1?arguments[1]:void 0,S=k!==void 0,E=m(g),$=0,I,j,O,L,z,D;if(S&&(k=a(k,b>2?arguments[2]:void 0,2)),E!=null&&!(y==Array&&d(E)))for(L=E.call(g),z=L.next,j=new y;!(O=z.call(L)).done;$++)D=S?c(L,k,[O.value,$],!0):O.value,f(j,$,D);else for(I=h(g.length),j=new y(I);I>$;$++)D=S?k(g[$],$):g[$],f(j,$,D);return j.length=$,j}},"4fad":function(o,r,i){var a=i("23e7"),u=i("6f53").entries;a({target:"Object",stat:!0},{entries:function(d){return u(d)}})},"50c4":function(o,r,i){var a=i("a691"),u=Math.min;o.exports=function(c){return c>0?u(a(c),9007199254740991):0}},"5135":function(o,r){var i={}.hasOwnProperty;o.exports=function(a,u){return i.call(a,u)}},"5319":function(o,r,i){var a=i("d784"),u=i("825a"),c=i("7b0b"),d=i("50c4"),h=i("a691"),f=i("1d80"),m=i("8aa5"),p=i("14c3"),_=Math.max,g=Math.min,y=Math.floor,b=/\$([$&'`]|\d\d?|<[^>]*>)/g,k=/\$([$&'`]|\d\d?)/g,S=function(E){return E===void 0?E:String(E)};a("replace",2,function(E,$,I,j){var O=j.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,L=j.REPLACE_KEEPS_$0,z=O?"$":"$0";return[function(W,ue){var te=f(this),ae=W==null?void 0:W[E];return ae!==void 0?ae.call(W,te,ue):$.call(String(te),W,ue)},function(U,W){if(!O&&L||typeof W=="string"&&W.indexOf(z)===-1){var ue=I($,U,this,W);if(ue.done)return ue.value}var te=u(U),ae=String(this),ve=typeof W=="function";ve||(W=String(W));var Me=te.global;if(Me){var Ge=te.unicode;te.lastIndex=0}for(var me=[];;){var Z=p(te,ae);if(Z===null||(me.push(Z),!Me))break;var ce=String(Z[0]);ce===""&&(te.lastIndex=m(ae,d(te.lastIndex),Ge))}for(var we="",V=0,re=0;re=V&&(we+=ae.slice(V,be)+C,V=be+se.length)}return we+ae.slice(V)}];function D(U,W,ue,te,ae,ve){var Me=ue+U.length,Ge=te.length,me=k;return ae!==void 0&&(ae=c(ae),me=b),$.call(ve,me,function(Z,ce){var we;switch(ce.charAt(0)){case"$":return"$";case"&":return U;case"`":return W.slice(0,ue);case"'":return W.slice(Me);case"<":we=ae[ce.slice(1,-1)];break;default:var V=+ce;if(V===0)return Z;if(V>Ge){var re=y(V/10);return re===0?Z:re<=Ge?te[re-1]===void 0?ce.charAt(1):te[re-1]+ce.charAt(1):Z}we=te[V-1]}return we===void 0?"":we})}})},"5692":function(o,r,i){var a=i("c430"),u=i("c6cd");(o.exports=function(c,d){return u[c]||(u[c]=d!==void 0?d:{})})("versions",[]).push({version:"3.6.5",mode:a?"pure":"global",copyright:"\xA9 2020 Denis Pushkarev (zloirock.ru)"})},"56ef":function(o,r,i){var a=i("d066"),u=i("241c"),c=i("7418"),d=i("825a");o.exports=a("Reflect","ownKeys")||function(f){var m=u.f(d(f)),p=c.f;return p?m.concat(p(f)):m}},"5a34":function(o,r,i){var a=i("44e7");o.exports=function(u){if(a(u))throw TypeError("The method doesn't accept regular expressions");return u}},"5c6c":function(o,r){o.exports=function(i,a){return{enumerable:!(i&1),configurable:!(i&2),writable:!(i&4),value:a}}},"5db7":function(o,r,i){var a=i("23e7"),u=i("a2bf"),c=i("7b0b"),d=i("50c4"),h=i("1c0b"),f=i("65f0");a({target:"Array",proto:!0},{flatMap:function(p){var _=c(this),g=d(_.length),y;return h(p),y=f(_,0),y.length=u(y,_,_,g,0,1,p,arguments.length>1?arguments[1]:void 0),y}})},"6547":function(o,r,i){var a=i("a691"),u=i("1d80"),c=function(d){return function(h,f){var m=String(u(h)),p=a(f),_=m.length,g,y;return p<0||p>=_?d?"":void 0:(g=m.charCodeAt(p),g<55296||g>56319||p+1===_||(y=m.charCodeAt(p+1))<56320||y>57343?d?m.charAt(p):g:d?m.slice(p,p+2):(g-55296<<10)+(y-56320)+65536)}};o.exports={codeAt:c(!1),charAt:c(!0)}},"65f0":function(o,r,i){var a=i("861d"),u=i("e8b5"),c=i("b622"),d=c("species");o.exports=function(h,f){var m;return u(h)&&(m=h.constructor,typeof m=="function"&&(m===Array||u(m.prototype))?m=void 0:a(m)&&(m=m[d],m===null&&(m=void 0))),new(m===void 0?Array:m)(f===0?0:f)}},"69f3":function(o,r,i){var a=i("7f9a"),u=i("da84"),c=i("861d"),d=i("9112"),h=i("5135"),f=i("f772"),m=i("d012"),p=u.WeakMap,_,g,y,b=function(O){return y(O)?g(O):_(O,{})},k=function(O){return function(L){var z;if(!c(L)||(z=g(L)).type!==O)throw TypeError("Incompatible receiver, "+O+" required");return z}};if(a){var S=new p,E=S.get,$=S.has,I=S.set;_=function(O,L){return I.call(S,O,L),L},g=function(O){return E.call(S,O)||{}},y=function(O){return $.call(S,O)}}else{var j=f("state");m[j]=!0,_=function(O,L){return d(O,j,L),L},g=function(O){return h(O,j)?O[j]:{}},y=function(O){return h(O,j)}}o.exports={set:_,get:g,has:y,enforce:b,getterFor:k}},"6eeb":function(o,r,i){var a=i("da84"),u=i("9112"),c=i("5135"),d=i("ce4e"),h=i("8925"),f=i("69f3"),m=f.get,p=f.enforce,_=String(String).split("String");(o.exports=function(g,y,b,k){var S=k?!!k.unsafe:!1,E=k?!!k.enumerable:!1,$=k?!!k.noTargetGet:!1;if(typeof b=="function"&&(typeof y=="string"&&!c(b,"name")&&u(b,"name",y),p(b).source=_.join(typeof y=="string"?y:"")),g===a){E?g[y]=b:d(y,b);return}else S?!$&&g[y]&&(E=!0):delete g[y];E?g[y]=b:u(g,y,b)})(Function.prototype,"toString",function(){return typeof this=="function"&&m(this).source||h(this)})},"6f53":function(o,r,i){var a=i("83ab"),u=i("df75"),c=i("fc6a"),d=i("d1e7").f,h=function(f){return function(m){for(var p=c(m),_=u(p),g=_.length,y=0,b=[],k;g>y;)k=_[y++],(!a||d.call(p,k))&&b.push(f?[k,p[k]]:p[k]);return b}};o.exports={entries:h(!0),values:h(!1)}},"73d9":function(o,r,i){var a=i("44d2");a("flatMap")},"7418":function(o,r){r.f=Object.getOwnPropertySymbols},"746f":function(o,r,i){var a=i("428f"),u=i("5135"),c=i("e538"),d=i("9bf2").f;o.exports=function(h){var f=a.Symbol||(a.Symbol={});u(f,h)||d(f,h,{value:c.f(h)})}},"7839":function(o,r){o.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(o,r,i){var a=i("1d80");o.exports=function(u){return Object(a(u))}},"7c73":function(o,r,i){var a=i("825a"),u=i("37e8"),c=i("7839"),d=i("d012"),h=i("1be4"),f=i("cc12"),m=i("f772"),p=">",_="<",g="prototype",y="script",b=m("IE_PROTO"),k=function(){},S=function(O){return _+y+p+O+_+"/"+y+p},E=function(O){O.write(S("")),O.close();var L=O.parentWindow.Object;return O=null,L},$=function(){var O=f("iframe"),L="java"+y+":",z;return O.style.display="none",h.appendChild(O),O.src=String(L),z=O.contentWindow.document,z.open(),z.write(S("document.F=Object")),z.close(),z.F},I,j=function(){try{I=document.domain&&new ActiveXObject("htmlfile")}catch{}j=I?E(I):$();for(var O=c.length;O--;)delete j[g][c[O]];return j()};d[b]=!0,o.exports=Object.create||function(L,z){var D;return L!==null?(k[g]=a(L),D=new k,k[g]=null,D[b]=L):D=j(),z===void 0?D:u(D,z)}},"7dd0":function(o,r,i){var a=i("23e7"),u=i("9ed3"),c=i("e163"),d=i("d2bb"),h=i("d44e"),f=i("9112"),m=i("6eeb"),p=i("b622"),_=i("c430"),g=i("3f8c"),y=i("ae93"),b=y.IteratorPrototype,k=y.BUGGY_SAFARI_ITERATORS,S=p("iterator"),E="keys",$="values",I="entries",j=function(){return this};o.exports=function(O,L,z,D,U,W,ue){u(z,L,D);var te=function(re){if(re===U&&me)return me;if(!k&&re in Me)return Me[re];switch(re){case E:return function(){return new z(this,re)};case $:return function(){return new z(this,re)};case I:return function(){return new z(this,re)}}return function(){return new z(this)}},ae=L+" Iterator",ve=!1,Me=O.prototype,Ge=Me[S]||Me["@@iterator"]||U&&Me[U],me=!k&&Ge||te(U),Z=L=="Array"&&Me.entries||Ge,ce,we,V;if(Z&&(ce=c(Z.call(new O)),b!==Object.prototype&&ce.next&&(!_&&c(ce)!==b&&(d?d(ce,b):typeof ce[S]!="function"&&f(ce,S,j)),h(ce,ae,!0,!0),_&&(g[ae]=j))),U==$&&Ge&&Ge.name!==$&&(ve=!0,me=function(){return Ge.call(this)}),(!_||ue)&&Me[S]!==me&&f(Me,S,me),g[L]=me,U)if(we={values:te($),keys:W?me:te(E),entries:te(I)},ue)for(V in we)(k||ve||!(V in Me))&&m(Me,V,we[V]);else a({target:L,proto:!0,forced:k||ve},we);return we}},"7f9a":function(o,r,i){var a=i("da84"),u=i("8925"),c=a.WeakMap;o.exports=typeof c=="function"&&/native code/.test(u(c))},"825a":function(o,r,i){var a=i("861d");o.exports=function(u){if(!a(u))throw TypeError(String(u)+" is not an object");return u}},"83ab":function(o,r,i){var a=i("d039");o.exports=!a(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})},"8418":function(o,r,i){var a=i("c04e"),u=i("9bf2"),c=i("5c6c");o.exports=function(d,h,f){var m=a(h);m in d?u.f(d,m,c(0,f)):d[m]=f}},"861d":function(o,r){o.exports=function(i){return typeof i=="object"?i!==null:typeof i=="function"}},"8875":function(o,r,i){var a,u,c;(function(d,h){u=[],a=h,c=typeof a=="function"?a.apply(r,u):a,c!==void 0&&(o.exports=c)})(typeof self!="undefined"?self:this,function(){function d(){var h=Object.getOwnPropertyDescriptor(document,"currentScript");if(!h&&"currentScript"in document&&document.currentScript||h&&h.get!==d&&document.currentScript)return document.currentScript;try{throw new Error}catch(I){var f=/.*at [^(]*\((.*):(.+):(.+)\)$/ig,m=/@([^@]*):(\d+):(\d+)\s*$/ig,p=f.exec(I.stack)||m.exec(I.stack),_=p&&p[1]||!1,g=p&&p[2]||!1,y=document.location.href.replace(document.location.hash,""),b,k,S,E=document.getElementsByTagName("script");_===y&&(b=document.documentElement.outerHTML,k=new RegExp("(?:[^\\n]+?\\n){0,"+(g-2)+"}[^<]*
-