dashboard-ui/app.js
2023-08-31 15:30:17 +02:00

1 line
58 KiB
JavaScript

!function(){"use strict";var customPaths,appMode=globalThis.appMode;function returnFirstDependency(obj){return obj}function returnFirstDependencyDefault(obj){var _obj;return(null==(_obj=obj=Array.isArray(obj)?obj[0]:obj)?void 0:_obj.default)||obj}function enableNativeGamepadKeyMapping(){return window.navigator&&"string"==typeof window.navigator.gamepadInputEmulation&&(window.navigator.gamepadInputEmulation="keyboard")}function loadPlugin(url){return Promise.all([importFromPath("./modules/common/pluginmanager.js")]).then(function(responses){var pluginManager=responses[0];return url.startsWith("./")&&url.endsWith(".js")?(console.log("Loading plugin module: "+url),getDynamicImport(url)().then(function(f){return pluginManager.loadPlugin(f,url)})):pluginManager.loadPluginFromUrl(url)})}function returnFalse(){return!1}function onApiClientCreated(e,apiClient){"ios"!==appMode&&"android"!==appMode||(apiClient._getAvailablePlugins=apiClient.getAvailablePlugins,apiClient.getAvailablePlugins=function(){var promises=[this._getAvailablePlugins(),importFromPath("./modules/common/pluginmanager.js")];return Promise.all(promises).then(function(responses){var plugins=responses[0],pluginManager=responses[1];return plugins.filter(function(p){return pluginManager.allowPluginPages(p.guid)})})}.bind(apiClient)),Promise.all([importFromPath("./modules/browser.js")]).then(function(responses){responses[0].operaTv&&(apiClient.isWebSocketSupported=returnFalse)})}function createConnectionManager(){return Promise.all([importFromPath("./modules/emby-apiclient/connectionmanager.js"),importFromPath("./modules/emby-apiclient/events.js"),importFromPath("./modules/common/querystring.js"),importFromPath("./modules/common/servicelocator.js")]).then(function(outerResponses){var accessToken,userId,connectionManager=outerResponses[0],events=outerResponses[1],queryString=outerResponses[2],outerResponses=outerResponses[3].appHost;globalThis.Events=events,connectionManager.globalScopeApiClient=!0,connectionManager.devicePixelRatio=globalThis.devicePixelRatio,globalThis.ConnectionManager=connectionManager,events.on(connectionManager,"apiclientcreated",onApiClientCreated),outerResponses.supports("multiserver")||(connectionManager.enableServerAddressValidation=!1,window.location.search&&(accessToken=(events=queryString.parse(window.location.search)).accessToken,userId=events.userId,accessToken&&userId&&1===events.e||(userId=accessToken=null)),console.log("creating ApiClient singleton"),connectionManager.validateServerIds=!1,outerResponses=window.location.href.toLowerCase(),events=-1!==(queryString=outerResponses.lastIndexOf("/web"))?outerResponses.substring(0,queryString):(queryString=(outerResponses=window.location).protocol+"//"+outerResponses.hostname,outerResponses.port&&(queryString+=":"+outerResponses.port),queryString),outerResponses=connectionManager.getApiClientFromServerInfo({ManualAddress:events,ManualAddressOnly:!0,IsLocalServer:!0,AccessToken:accessToken,UserId:userId},events),accessToken&&userId&&(window.location="index.html"),outerResponses.enableAutomaticNetworking=!1,console.log("loaded ApiClient singleton"))})}function getPluginPageContentPath(){return globalThis.ApiClient?globalThis.ApiClient.getUrl("web/ConfigurationPage"):null}function triggerWorkerTask(){require(["bgtaskregister"],function(bgtaskregister){try{bgtaskregister.triggerTask()}catch(err){console.error("Error firing ApplicationTrigger",err)}})}function getWindowsLocalSync(){return{sync:triggerWorkerTask,setProgressUpdatesEnabled:function(enabled){}}}function getDynamicImport(path){return function(){return require(["".concat(path)]).then(returnFirstDependencyDefault)}}function importFromPath(path){return getDynamicImport(path)()}function importFromPathWithoutExport(path){return function(path){return function(){return require(["".concat(path)])}}(path)()}function loadAppStorage(){var promise;if("winjs"===appMode)promise=getRequirePromise("native/windows/appstorage");else try{localStorage.setItem("_test","0"),localStorage.removeItem("_test"),promise=importFromPath("./modules/emby-apiclient/appstorage-localstorage.js")}catch(e){promise=importFromPath("./modules/emby-apiclient/appstorage-memory.js")}return promise.then(function(appStorage){return(appStorage.init?appStorage.init():Promise.resolve()).then(function(){return appStorage})})}function loadApiClient(){return getDynamicImport("./modules/common/servicelocator.js")().then(function(serviceLocator){return loadAppHost().then(function(appHost){return(appHost.supports("sync")?getDynamicImport("./modules/emby-apiclient/apiclientex.js"):getDynamicImport("./modules/emby-apiclient/apiclient.js"))()}).then(function(apiClientFactory){return serviceLocator.initialize({apiClientFactory:apiClientFactory}),apiClientFactory})})}function supportsTizenNaclSockets(){if(globalThis.tizen&&globalThis.tizen.systeminfo)return globalThis.tizen.systeminfo.getCapability("http://tizen.org/feature/platform.version"),0}function supportsTizenWasmSockets(){var v;return!(!globalThis.tizen||!globalThis.tizen.systeminfo)&&(v=globalThis.tizen.systeminfo.getCapability("http://tizen.org/feature/platform.version"))&&parseFloat(v)>=parseFloat("6.0")}function loadServerDiscovery(){return customPaths.serverdiscovery?getRequirePromise(addJsExtIfNeeded(customPaths.serverdiscovery)):"windows"===appMode||"winjs"===appMode?getRequirePromise("native/windows/serverdiscovery"):globalThis.tizen&&(supportsTizenNaclSockets()||supportsTizenWasmSockets())?getRequirePromise("native/tizen/serverdiscovery"):"android"===appMode?getRequirePromise("native/android/serverdiscovery"):"ios"===appMode?getRequirePromise("native/ios/serverdiscovery"):getDynamicImport("./modules/emby-apiclient/serverdiscovery.js")()}function loadShell(){return customPaths.shell?getRequirePromise(addJsExtIfNeeded(customPaths.shell)):"android"===appMode?getRequirePromise("native/android/shell"):getDynamicImport("./modules/shell.js")()}function loadWakeOnLan(){return customPaths.wakeonlan?getRequirePromise(addJsExtIfNeeded(customPaths.wakeonlan)):"windows"===appMode||"winjs"===appMode?getRequirePromise("native/windows/wakeonlan"):globalThis.tizen&&(supportsTizenNaclSockets()||supportsTizenWasmSockets())?getRequirePromise("native/tizen/wakeonlan"):"ios"===appMode?getRequirePromise("native/ios/wakeonlan"):"android"===appMode?getRequirePromise("native/android/wakeonlan"):getDynamicImport("./modules/emby-apiclient/wakeonlan.js")()}function loadFullscreenManager(){return getDynamicImport("./modules/common/servicelocator.js")().then(function(serviceLocator){var promise=customPaths.fullscreenmanager?getRequirePromise(customPaths.fullscreenmanager):getDynamicImport("./modules/fullscreen/fullscreenmanager.js")();return promise.then(function(fullscreenManager){return serviceLocator.initialize({fullscreenManager:fullscreenManager}),fullscreenManager})})}function loadIap(){var promise="android"===appMode?getRequirePromise("native/android/iap"):"ios"===appMode?getRequirePromise("native/ios/iap"):getDynamicImport("./modules/iap.js")();return promise.then(function(iapManager){return getDynamicImport("./modules/common/servicelocator.js")().then(function(serviceLocator){serviceLocator.initialize({iapManager:iapManager})})})}function loadServiceLocator(){return Promise.all([loadAppStorage(),loadAppHost(),loadShell(),loadFullscreenManager(),loadWakeOnLan(),loadServerDiscovery()]).then(function(responses){var appStorage=responses[0],appHost=responses[1],shell=responses[2],wakeOnLan=responses[4],serverDiscovery=responses[5],responses=[getDynamicImport("./modules/common/servicelocator.js")()];return appHost.supports("sync")&&(responses.push(require(["filerepository"])),responses.push(require(["itemrepository"])),responses.push(require(["transfermanager"])),responses.push(require(["useractionrepository"])),responses.push(require(["localsync"]))),appHost.supports("cameraupload")&&responses.push(loadCameraUpload()),Promise.all(responses).then(function(responsesInner){var fileRepository,itemRepository,transferManager,userActionRepository,localSync,cameraUpload,index=0,serviceLocator=responsesInner[index];return index++,appHost.supports("sync")&&(fileRepository=responsesInner[index][0],itemRepository=responsesInner[++index][0],transferManager=responsesInner[++index][0],userActionRepository=responsesInner[++index][0],localSync=responsesInner[++index][0],index++),appHost.supports("cameraupload")&&(cameraUpload=responsesInner[index],index++),serviceLocator.initialize({appStorage:appStorage,appHost:appHost,shell:shell,wakeOnLan:wakeOnLan,serverDiscovery:serverDiscovery,fileRepository:fileRepository,itemRepository:itemRepository,transferManager:transferManager,userActionRepository:userActionRepository,cameraUpload:cameraUpload,localSync:localSync}),appHost.init().then(loadApiClient).then(loadIap)})})}function addJsExtIfNeeded(path){return path.endsWith(".js")||(path+=".js"),path}function getRequirePromise(dep){return new Promise(function(resolve,reject){require([dep],resolve)})}function loadCameraUpload(){return"ios"===appMode?getRequirePromise("native/ios/cameraupload"):"android"===appMode?getRequirePromise("native/android/cameraupload"):Promise.resolve({start:function(){},setProgressUpdatesEnabled:function(){},getAvailableFolders:function(){return Promise.resolve([{Id:"541C6607-9C45-4875-A292-5F89F742B2B3/L0/040",Name:"TestFolder1"},{Id:"773DFE72-F38F-4220-8F2F-C4A472DBBA75/L0/040",Name:"TestFolder2"}])}})}function loadAppHost(){return customPaths.apphost?getRequirePromise(addJsExtIfNeeded(customPaths.apphost)):"ios"===appMode?getRequirePromise("native/ios/apphost"):"android"===appMode?getRequirePromise("native/android/apphost"):"windows"===appMode?getRequirePromise("native/windows/apphost"):importFromPath("./modules/apphost.js")}function initRequire(){for(var importMap=function(){var elem=document.querySelector('script[type="importmap"]');if(elem){elem=elem.innerHTML;if(elem)try{var obj=JSON.parse(elem);if(obj){var imports=obj.imports;if(imports)return imports}}catch(err){console.log("error parsing import map: "+err)}}return{}}(),entries=Object.entries(importMap),i=0,length=entries.length;i<length;i++){var entry=entries[i],key=entry[0],entry=entry[1];console.log("defining from importMap: "+key+": "+entry),define(key,[],getDynamicImport(entry))}define("inputManager",["serviceLocator"],getDynamicImport("./modules/common/inputmanager.js")),define("inputmanager",["inputManager"],returnFirstDependency),define("fullscreenManager",loadFullscreenManager),define("shell",[],loadShell),customPaths.filesystem?define("filesystem",[addJsExtIfNeeded(customPaths.filesystem)],returnFirstDependency):define("filesystem",[],getDynamicImport("./modules/common/filesystem.js")),define("hlsjs",["modules/hlsjs/hls.min"],returnFirstDependency),define("connectionManagerResolver",["connectionManager"],returnFirstDependency),define("libjass",["bower_components/libjass/libjass","css!bower_components/libjass/libjass.css"],returnFirstDependency),define("SubtitlesOctopus",["bower_components/javascriptsubtitlesoctopus/dist/subtitles-octopus"],returnFirstDependency),define("tabbedView",[],getDynamicImport("./modules/tabbedview/tabbedview.js")),define("itemsTab",[],getDynamicImport("./modules/tabbedview/itemstab.js")),define("baseView",[],getDynamicImport("./modules/viewmanager/baseview.js")),define("baseTab",[],getDynamicImport("./modules/tabbedview/basetab.js")),define("ListPage",[],getDynamicImport("./list/list.js")),define("formHelper",[],getDynamicImport("./modules/formhelper.js")),define("connectHelper",[],getDynamicImport("./modules/emby-connect/connecthelper.js")),define("addToList",[],getDynamicImport("./modules/addtolist/addtolist.js")),define("ItemAccessDialog",[],getDynamicImport("./modules/itemaccessdialog/itemaccessdialog.js")),define("emby-input",[],getDynamicImport("./modules/emby-elements/emby-input/emby-input.js")),define("emby-select",[],getDynamicImport("./modules/emby-elements/emby-select/emby-select.js")),define("emby-multilineselect",[],getDynamicImport("./modules/emby-elements/emby-multilineselect/emby-multilineselect.js")),define("emby-slider",[],getDynamicImport("./modules/emby-elements/emby-slider/emby-slider.js")),define("emby-checkbox",[],getDynamicImport("./modules/emby-elements/emby-checkbox/emby-checkbox.js")),define("emby-progressbar",[],getDynamicImport("./modules/emby-elements/emby-progressbar/emby-progressbar.js")),define("embyProgressBarStyle",["css!modules/emby-elements/emby-progressbar/emby-progressbar.css"],returnFirstDependency),define("emby-radio",[],getDynamicImport("./modules/emby-elements/emby-radio/emby-radio.js")),define("emby-toggle",[],getDynamicImport("./modules/emby-elements/emby-toggle/emby-toggle.js")),define("emby-textarea",[],getDynamicImport("./modules/emby-elements/emby-textarea/emby-textarea.js")),define("serverRestartDialog",[],getDynamicImport("./modules/serverrestartdialog/serverrestartdialog.js")),define("channelRecordingCreator",[],getDynamicImport("./modules/recordingcreator/channelrecordingcreator.js")),define("recordingCreator",[],getDynamicImport("./modules/recordingcreator/recordingcreator.js")),define("recordingEditor",[],getDynamicImport("./modules/recordingcreator/recordingeditor.js")),define("seriesRecordingEditor",[],getDynamicImport("./modules/recordingcreator/seriesrecordingeditor.js")),define("recordingFields",[],getDynamicImport("./modules/recordingcreator/recordingfields.js")),define("recordingButton",[],getDynamicImport("./modules/recordingcreator/recordingbutton.js")),define("subtitleEditor",[],getDynamicImport("./modules/subtitleeditor/subtitleeditor.js")),define("itemIdentifier",[],getDynamicImport("./modules/itemidentifier/itemidentifier.js")),define("imageEditor",[],getDynamicImport("./modules/imageeditor/imageeditor.js")),define("imageDownloader",[],getDynamicImport("./modules/imagedownloader/imagedownloader.js")),define("itemContextMenu",[],getDynamicImport("./modules/itemcontextmenu.js")),define("dom",[],getDynamicImport("./modules/dom.js")),define("textEncoding",[],getDynamicImport("./modules/common/textencoding.js")),define("playerStats",[],getDynamicImport("./modules/playerstats/playerstats.js")),define("subtitleOffsetOverlay",[],getDynamicImport("./modules/subtitleoffsetoverlay/subtitleoffsetoverlay.js")),define("subtitleAppearanceHelper",[],getDynamicImport("./modules/common/subtitleappearancehelper.js")),define("playbackManager",["fullscreenManager"],getDynamicImport("./modules/common/playback/playbackmanager.js")),define("homeSections",[],getDynamicImport("./modules/homesections/homesections.js")),define("refreshDialog",[],getDynamicImport("./modules/refreshdialog/refreshdialog.js")),define("cardStyle",["css!modules/cardbuilder/card.css"],returnFirstDependency),define("cardBuilder",[],getDynamicImport("./modules/cardbuilder/cardbuilder.js")),define("mouseManager",[],getDynamicImport("./modules/input/mouse.js")),define("keyboardManager",[],getDynamicImport("./modules/input/keyboard.js")),define("flexStyles",["css!modules/flexstyles.css"],returnFirstDependency),define("tvguide",[],getDynamicImport("./modules/emby-elements/guide/guide.js")),define("programStyles",["css!modules/emby-elements/guide/programs.css"],returnFirstDependency),define("guide-settings-dialog",[],getDynamicImport("./modules/emby-elements/guide/guide-settings.js")),define("loadingDialog",[],getDynamicImport("./modules/loadingdialog/loadingdialog.js")),define("syncDialog",[],getDynamicImport("./modules/sync/sync.js")),define("syncJobEditor",[],getDynamicImport("./modules/sync/syncjobeditor.js")),define("syncJobList",[],getDynamicImport("./modules/sync/syncjoblist.js")),define("morphdom",[],getDynamicImport("./modules/morphdom/morphdom.js")),define("viewManager",[],getDynamicImport("./modules/viewmanager/viewmanager.js")),define("apphost",[],loadAppHost),define("cameraUpload",[],loadCameraUpload),define("serverdiscovery",[],loadServerDiscovery),define("wakeOnLan",[],loadWakeOnLan),define("appStorage",[],loadAppStorage),define("slideshow",[],getDynamicImport("./modules/slideshow/slideshow.js")),define("clearButtonStyle",[],returnFirstDependency),define("emby-downloadbutton",[],getDynamicImport("./modules/emby-elements/sync/emby-downloadbutton.js")),define("listView",[],getDynamicImport("./modules/listview/listview.js")),define("listViewStyle",["css!modules/listview/listview.css"],returnFirstDependency),define("formDialogStyle",["css!modules/formdialog.css"],returnFirstDependency),define("sectionsStyle",["css!modules/sections.css"],returnFirstDependency),define("indicators",[],getDynamicImport("./modules/indicators/indicators.js")),define("mediaInfo",[],getDynamicImport("./modules/mediainfo/mediainfo.js")),define("emby-playstatebutton",[],getDynamicImport("./modules/emby-elements/userdatabuttons/emby-playstatebutton.js")),define("emby-ratingbutton",[],getDynamicImport("./modules/emby-elements/userdatabuttons/emby-ratingbutton.js")),define("viewSettings",[],getDynamicImport("./modules/viewsettings/viewsettings.js")),define("filterMenu",[],getDynamicImport("./modules/filtermenu/filtermenu.js")),define("genericedit",[],getDynamicImport("./modules/genericedit/genericedit.js")),define("registrationServices",[],getDynamicImport("./modules/registrationservices/registrationservices.js")),define("serversync",[],getDynamicImport("./modules/sync/serversync.js")),define("multiserversync",[],getDynamicImport("./modules/sync/multiserversync.js")),define("mediasync",["modules/sync/mediasync"],returnFirstDependency),define("scroller",[],getDynamicImport("./modules/scroller/smoothscroller.js")),define("scrollStyles",["css!modules/scrollstyles.css"],returnFirstDependency),define("toast",[],getDynamicImport("./modules/toast/toast.js")),define("layoutManager",[],getDynamicImport("./modules/layoutmanager.js")),define("appSettings",["appStorage"],getDynamicImport("./modules/common/appsettings.js")),define("appsettings",["appSettings"],returnFirstDependency),define("userSettings",[],getDynamicImport("./modules/common/usersettings/usersettings.js")),define("userSettingsBuilder",[],getDynamicImport("./modules/common/usersettings/usersettingsbuilder.js")),define("material-icons",["css!modules/fonts/material-icons/style.css"],returnFirstDependency),define("systemFontsCss",["css!modules/fonts/fonts.css"],returnFirstDependency),define("imageUploader",[],getDynamicImport("./modules/imageuploader/imageuploader.js")),define("dockedTabs",[],getDynamicImport("./modules/dockedtabs/dockedtabs.js")),define("navdrawer",[],getDynamicImport("./modules/navdrawer/navdrawer.js")),define("navDrawerContent",[],getDynamicImport("./modules/navdrawer/navdrawercontent.js")),define("queryString",[],getDynamicImport("./modules/common/querystring.js")),define("alert",[],getDynamicImport("./modules/common/dialogs/alert.js")),define("confirm",[],getDynamicImport("./modules/common/dialogs/confirm.js")),define("dialog",[],getDynamicImport("./modules/dialog/dialog.js")),define("dialogHelper",[],getDynamicImport("./modules/dialoghelper/dialoghelper.js")),define("dialogTemplateHtml",["text!modules/dialog/dialog.template.html"],returnFirstDependency),define("prompt",[],getDynamicImport("./modules/prompt/prompt.js")),define("jQuery",["https://code.jquery.com/jquery-3.7.0.slim.min.js"],function(){return globalThis.ApiClient&&(globalThis.jQuery.ajax=globalThis.ApiClient.ajax),globalThis.jQuery}),define("screensaverManager",[],getDynamicImport("./modules/screensavermanager.js")),define("serverNotifications",[],getDynamicImport("./modules/common/input/api.js")),define("apiInput",["serverNotifications"],returnFirstDependency),define("headroom",[],getDynamicImport("./modules/headroom/headroom.js")),define("appFooter",[],getDynamicImport("./modules/appfooter/appfooter.js")),define("apiClientResolver",["connectionManager"],function(connectionManager){return function(){return connectionManager.currentApiClient()}}),define("appRouter",[],getDynamicImport("./modules/approuter.js")),define("embyRouter",["appRouter"],returnFirstDependency),define("actionsheet",[],getDynamicImport("./modules/actionsheet/actionsheet.js")),define("webActionSheet",["actionsheet"],returnFirstDependency),globalThis.tizen&&supportsTizenNaclSockets()&&define("sockets",["native/tizen/naclSockets/sockets"],returnFirstDependency),globalThis.tizen&&supportsTizenWasmSockets()&&define("sockets",["native/tizen/wasmSockets/sockets"],returnFirstDependency),define("iapManager",[],loadIap),define("multi-download",[],getDynamicImport("./modules/multidownload.js")),define("videoosd_infotab",[],getDynamicImport("./videoosd/infotab.js")),define("videoosd_chapterstab",[],getDynamicImport("./videoosd/chapterstab.js")),define("videoosd_peopletab",[],getDynamicImport("./videoosd/peopletab.js")),define("videoosd_onnowtab",[],getDynamicImport("./videoosd/onnowtab.js")),define("videoosd_guidetab",[],getDynamicImport("./videoosd/guidetab.js")),define("localassetmanager",[],getDynamicImport("./modules/localdatabase/localassetmanager.js")),define("detailtablecss",[],returnFirstDependency),define("apiclient",[],loadApiClient)}function loadHeader(){return console.log("loadHeader"),Promise.all([importFromPath("./modules/appheader/appheader.js")]).then(function(responses){return responses[0].init()})}function onAppReady(){"virtualKeyboard"in navigator&&(navigator.virtualKeyboard.overlaysContent=!0),console.log("onAppReady");var promises=[importFromPath("./modules/common/servicelocator.js"),importFromPath("./modules/approuter.js"),importFromPath("./modules/browser.js")];return"ios"!==appMode&&"android"!==appMode||promises.push(importFromPath("./modules/registrationservices/registrationservices.js")),Promise.all(promises).then(function(responses){var appHost=responses[0].appHost,appRouter=responses[1],responses=responses[2];return promises=[],console.log("Loaded dependencies in onAppReady"),function(appRouter,appHost){console.log("Defining core routes"),appRouter.addRoute({path:"/startup/connectlogin.html",controller:"startup/connectlogin.js",controllerType:"module",anonymous:!0,startup:!0,defaultTitle:!0,clearBackdrop:!0,autoFocus:!1,adjustHeaderForEmbeddedScroll:!0,drawer:!1}),appRouter.addRoute({path:"/startup/connectsignup.html",controller:"startup/connectsignup.js",controllerType:"module",anonymous:!0,startup:!0,defaultTitle:!0,clearBackdrop:!0,adjustHeaderForEmbeddedScroll:!0,drawer:!1}),appRouter.addRoute({path:"/startup/welcome.html",controller:"startup/welcome.js",controllerType:"module",anonymous:!0,startup:!0,defaultTitle:!0,clearBackdrop:!0,adjustHeaderForEmbeddedScroll:!0,drawer:!1}),appRouter.addRoute({path:"/startup/forgotpassword.html",controller:"startup/forgotpassword.js",controllerType:"module",anonymous:!0,startup:!0,defaultTitle:!0,clearBackdrop:!0,adjustHeaderForEmbeddedScroll:!0,drawer:!1}),appRouter.addRoute({path:"/startup/forgotpasswordpin.html",controller:"startup/forgotpasswordpin.js",controllerType:"module",anonymous:!0,startup:!0,defaultTitle:!0,clearBackdrop:!0,adjustHeaderForEmbeddedScroll:!0,drawer:!1}),appRouter.addRoute({path:"/home",contentPath:"/home/home.html",type:"home",defaultTitle:!0,controller:"home/home.js",controllerType:"module",autoFocus:!1,homeButton:!1,headerTabs:!0,backdropItemTypes:"Movie,Series,Game,Book",adjustHeaderForEmbeddedScroll:!0,enableMediaControlTV:!0}),appRouter.addRoute({path:"/home/home.html",contentPath:"/home/home.html",type:"home",defaultTitle:!0,controller:"home/home.js",controllerType:"module",autoFocus:!1,homeButton:!1,headerTabs:!0,backdropItemTypes:"Movie,Series,Game,Book",adjustHeaderForEmbeddedScroll:!0,enableMediaControlTV:!0}),appRouter.addRoute({path:"/home.html",contentPath:"/home/home.html",type:"home",defaultTitle:!0,controller:"home/home.js",controllerType:"module",autoFocus:!1,homeButton:!1,headerTabs:!0,backdropItemTypes:"Movie,Series,Game,Book",adjustHeaderForEmbeddedScroll:!0,enableMediaControlTV:!0}),appRouter.addRoute({path:"/home_horiz/home.html",type:"home",defaultTitle:!0,controller:"home_horiz/home.js",controllerType:"module",headerTabs:!0,autoFocus:!1,homeButton:!1,headerBackground:!1,backdropItemTypes:"Movie,Series,Game,Book",clearBackdrop:!0,enableMediaControlTV:!0}),appRouter.addRoute({path:"/list/list.html",controller:"list/list.js",controllerType:"module",autoFocus:!1,canRefresh:!0,adjustHeaderForEmbeddedScroll:!0,supportsThemeMedia:!0}),appRouter.addRoute({contentPath:"/item/item.html",path:"/item",autoFocus:!1,controller:"item/item.js",controllerType:"module",transparentHeader:!0,adjustHeaderForEmbeddedScroll:!0,supportsThemeMedia:!0,transition:!0}),appRouter.addRoute({contentPath:"/item/item.html",path:"/item/item.html",controller:"item/item.js",controllerType:"module",autoFocus:!1,transparentHeader:!0,adjustHeaderForEmbeddedScroll:!0,supportsThemeMedia:!0,transition:!0}),appRouter.addRoute({contentPath:"/livetv/livetv.html",path:"/livetv",controller:"livetv/livetv.js",title:"LiveTV",controllerType:"module",autoFocus:!1,headerTabs:!0,adjustHeaderForEmbeddedScroll:!0,enableMediaControlTV:!0}),appRouter.addRoute({path:"/startup/login.html",contentPath:"/list/list.html",controller:"startup/login.js",controllerType:"module",anonymous:!0,autoFocus:!1,startup:!0,defaultTitle:!0,clearBackdrop:!0,adjustHeaderForEmbeddedScroll:!0,drawer:!1}),appRouter.addRoute({path:"/startup/manuallogin.html",controller:"startup/manuallogin.js",controllerType:"module",anonymous:!0,startup:!0,defaultTitle:!0,autoFocus:!1,clearBackdrop:!0,adjustHeaderForEmbeddedScroll:!0,drawer:!1}),appRouter.addRoute({contentPath:"/games/games.html",path:"/games",controller:"games/games.js",controllerType:"module",autoFocus:!1,headerTabs:!0,backdropItemTypes:"Game",adjustHeaderForEmbeddedScroll:!0}),appRouter.addRoute({contentPath:"/videos/videos.html",path:"/videos",controller:"videos/videos.js",controllerType:"module",autoFocus:!1,headerTabs:!0,backdropItemTypes:"Movie,Series,MusicVideo,Video",adjustHeaderForEmbeddedScroll:!0}),appRouter.addRoute({contentPath:"/music/music.html",path:"/music",controller:"music/music.js",controllerType:"module",autoFocus:!1,headerTabs:!0,backdropItemTypes:"MusicAlbum",adjustHeaderForEmbeddedScroll:!0,enableMediaControlTV:!0}),appRouter.addRoute({path:"/videoosd/videoosd.html",controller:"videoosd/videoosd.js",controllerType:"module",type:"video-osd",supportsThemeMedia:!0,enableMediaControl:!1,autoFocus:!1,headerBackground:!1,homeButton:!1,drawer:!1,dockedTabs:!1,backButton:!0,transparentHeader:!0,anonymous:!0}),appRouter.addRoute({contentPath:"/settings/settings.html",path:"/settings",controller:"settings/settings.js",controllerType:"module",title:"Settings",autoFocus:!1,clearBackdrop:!0,settingsTheme:!0,drawer:!1,adjustHeaderForEmbeddedScroll:!0}),appHost.supports("keyboardsettings")&&appRouter.addRoute({path:"/settings/keyboard.html",controller:"settings/keyboard.js",controllerType:"module",type:"settings",title:"HeaderKeyboardAndRemote",thumbImage:"",order:2,icon:"&#xe312;",clearBackdrop:!0,settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0,autoFocus:!1}),appRouter.addRoute({path:"/settings/notifications.html",contentPath:"/list/list.html",controller:"settings/notifications.js",controllerType:"module",type:"settings",title:"Notifications",category:"Playback",thumbImage:"",order:1001,icon:"&#xe7f4;",clearBackdrop:!0,settingsTheme:!0,settingsType:"user",adjustHeaderForEmbeddedScroll:!0,hideDrawerWithOtherUserIdParam:!0,featureId:"notifications",minServerVersion:"4.8.0.20"}),appRouter.addRoute({path:"/settings/playback.html",controller:"settings/playback.js",controllerType:"module",type:"settings",title:"Playback",category:"Playback",thumbImage:"",order:2,icon:"&#xe038;",clearBackdrop:!0,settingsTheme:!0,settingsType:"user",adjustHeaderForEmbeddedScroll:!0,hideDrawerWithOtherUserIdParam:!0}),appRouter.addRoute({path:"/settings/subtitles.html",controller:"settings/subtitles.js",controllerType:"module",type:"settings",title:"Subtitles",category:"Playback",thumbImage:"",order:3,icon:"&#xe01c;",clearBackdrop:!0,settingsTheme:!0,settingsType:"user",adjustHeaderForEmbeddedScroll:!0,hideDrawerWithOtherUserIdParam:!0}),appRouter.addRoute({path:"/settings/display.html",controller:"settings/display.js",controllerType:"module",type:"settings",title:"Display",category:"General",thumbImage:"",order:0,icon:"&#xe333;",clearBackdrop:!0,settingsTheme:!0,settingsType:"user",adjustHeaderForEmbeddedScroll:!0,hideDrawerWithOtherUserIdParam:!0}),appRouter.addRoute({path:"/settings/homescreen.html",controller:"settings/homescreen.js",controllerType:"module",type:"settings",title:"HeaderHomeScreen",category:"General",thumbImage:"",order:1,icon:"&#xE88a;",clearBackdrop:!0,settingsTheme:!0,settingsType:"user",adjustHeaderForEmbeddedScroll:!0,hideDrawerWithOtherUserIdParam:!0}),appHost.supports("fileinput")&&appRouter.addRoute({path:"/settings/profile.html",controller:"settings/profile.js",controllerType:"module",type:"settings",title:"Profile",icon:"person",clearBackdrop:!0,roles:"EnableUserPreferenceAccess",settingsTheme:!0,settingsType:"user",adjustHeaderForEmbeddedScroll:!0,hideDrawerWithOtherUserIdParam:!0}),appHost.supports("cameraupload")&&appRouter.addRoute({path:"/settings/cameraupload.html",autoFocus:!1,controller:"settings/cameraupload.js",controllerType:"module",type:"settings",icon:"photo",title:"HeaderCameraUpload",clearBackdrop:!0,settingsTheme:!0,helpUrl:"https://support.emby.media/support/solutions/articles/44001159382-camera-upload",adjustHeaderForEmbeddedScroll:!0}),appHost.supports("sync")&&(appRouter.addRoute({path:"/settings/download.html",controller:"settings/download.js",controllerType:"module",type:"settings",icon:"download",title:"Downloads",clearBackdrop:!0,settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0}),appRouter.addRoute({path:"/settings/managedownloads.html",controller:"settings/managedownloads.js",controllerType:"module",icon:"download",type:"settings",title:"HeaderManageDownloads",autoFocus:!1,clearBackdrop:!0,settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0})),appRouter.addRoute({path:"/search",contentPath:"/search/search.html",controller:"search/search.js",controllerType:"module",title:"",autoFocus:!1,clearBackdrop:!0,searchButton:!1,adjustHeaderForEmbeddedScroll:!0,navMenuId:"search"}),appRouter.addRoute({path:"/startup/manualserver.html",controller:"startup/manualserver.js",controllerType:"module",anonymous:!0,startup:!0,defaultTitle:!0,clearBackdrop:!0,adjustHeaderForEmbeddedScroll:!0,drawer:!1}),appRouter.addRoute({path:"/startup/selectserver.html",contentPath:"/list/list.html",autoFocus:!1,anonymous:!0,startup:!0,controller:"startup/selectserver.js",controllerType:"module",title:"HeaderSelectServer",clearBackdrop:!0,adjustHeaderForEmbeddedScroll:!0,drawer:!1,helpUrl:"https://support.emby.media/support/solutions/articles/44001160340-emby-connect"}),appRouter.addRoute({contentPath:"/tv/tv.html",path:"/tv",controller:"tv/tv.js",controllerType:"module",autoFocus:!1,headerTabs:!0,backdropItemTypes:"Series",adjustHeaderForEmbeddedScroll:!0}),appHost.supports("serversetup")&&(appRouter.addRoute({contentPath:"/plugins/addplugin.html",path:"/plugins/install",autoFocus:!1,roles:"admin",controller:"plugins/addpluginpage.js",controllerType:"module",settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0,clearBackdrop:!0,helpUrl:"https://support.emby.media/support/solutions/articles/44001159720-plugins",title:"Plugins"}),appRouter.addRoute({path:"/database",contentPath:"/server/database/database.html",roles:"admin",controller:"server/database/database.js",controllerType:"module",settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0,clearBackdrop:!0,title:"Database",autoFocus:!1}),appRouter.addRoute({path:"/dashboard",contentPath:"/dashboard/dashboard.html",autoFocus:!1,roles:"admin",controller:"dashboard/dashboard.js",controllerType:"module",settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0,clearBackdrop:!0,title:"Dashboard"}),appRouter.addRoute({path:"/dashboard.html",contentPath:"/dashboard/dashboard.html",autoFocus:!1,roles:"admin",controller:"dashboard/dashboard.js",controllerType:"module",settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0,clearBackdrop:!0,title:"Dashboard"}),appRouter.addRoute({path:"/dashboard/settings",contentPath:"/dashboard/settings.html",controller:"dashboard/settings.js",controllerType:"module",autoFocus:!1,roles:"admin",settingsTheme:!0,clearBackdrop:!0,helpUrl:"https://support.emby.media/support/solutions/articles/44001159322-server-settings",title:"Settings",adjustHeaderForEmbeddedScroll:!0}),appRouter.addRoute({contentPath:"/list/list.html",path:"/devices",autoFocus:!1,roles:"admin",controller:"devices/devices.js",controllerType:"module",settingsTheme:!0,clearBackdrop:!0,helpUrl:"https://support.emby.media/support/solutions/articles/44001159497-devices",title:"Devices",adjustHeaderForEmbeddedScroll:!0,canRefresh:!0}),appRouter.addRoute({contentPath:"/network/network.html",path:"/network",autoFocus:!1,roles:"admin",controller:"network/network.js",controllerType:"module",title:"Network",settingsTheme:!0,clearBackdrop:!0,helpUrl:"https://support.emby.media/support/solutions/articles/44001159601-hosting-settings",adjustHeaderForEmbeddedScroll:!0}),appRouter.addRoute({path:"/devices/device.html",autoFocus:!1,roles:"admin",controller:"devices/device.js",controllerType:"module",settingsTheme:!0,clearBackdrop:!0,helpUrl:"https://support.emby.media/support/solutions/articles/44001159497-devices",title:"Devices",navMenuId:"devices",adjustHeaderForEmbeddedScroll:!0}),appRouter.addRoute({path:"/devices/cameraupload.html",autoFocus:!1,roles:"admin",controller:"devices/cameraupload.js",controllerType:"module",settingsTheme:!0,title:"HeaderCameraUpload",clearBackdrop:!0,helpUrl:"https://support.emby.media/support/solutions/articles/44001159382-camera-upload",adjustHeaderForEmbeddedScroll:!0}),appRouter.addRoute({contentPath:"/metadatamanager/metadatamanager.html",path:"/metadatamanager",controller:"metadatamanager/metadatamanager.js",controllerType:"module",autoFocus:!1,adjustHeaderForEmbeddedScroll:!0,clearBackdrop:!0,title:"MetadataManager"}),appRouter.addRoute({contentPath:"/transcoding/transcoding.html",path:"/transcoding",autoFocus:!1,roles:"admin",controller:"transcoding/transcoding.js",controllerType:"module",title:"Transcoding",settingsTheme:!0,headerTabs:!0,clearBackdrop:!0,helpUrl:"https://support.emby.media/support/solutions/articles/44001159897-transcoding",adjustHeaderForEmbeddedScroll:!0}),appRouter.addRoute({contentPath:"/list/list.html",path:"/librarysetup/libraries",autoFocus:!1,roles:"admin",settingsTheme:!0,controller:"librarysetup/library.js",controllerType:"module",clearBackdrop:!0,adjustHeaderForEmbeddedScroll:!0,helpUrl:"https://support.emby.media/support/solutions/articles/44001159319-library-setup",title:"Library",navMenuId:"librarysetup"}),appRouter.addRoute({path:"/librarysetup/advanced",contentPath:"/librarysetup/advanced.html",autoFocus:!1,roles:"admin",controller:"librarysetup/advanced.js",controllerType:"module",settingsTheme:!0,clearBackdrop:!0,helpUrl:"https://support.emby.media/support/solutions/articles/44001159319-library-setup",title:"Library",navMenuId:"librarysetup",adjustHeaderForEmbeddedScroll:!0}),appRouter.addRoute({path:"/livetvsetup",contentPath:"/livetvsetup/livetvsetup.html",controller:"livetvsetup/livetvsetup.js",controllerType:"module",autoFocus:!1,roles:"admin",settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0,clearBackdrop:!0,headerTabs:!0,title:"LiveTV",helpUrl:"https://support.emby.media/support/solutions/articles/44001160415-live-tv-setup",navMenuId:"livetvsetup"}),appRouter.addRoute({path:"/livetvsetup/guideprovider.html",autoFocus:!1,roles:"admin",controller:"livetvsetup/guideprovider.js",controllerType:"module",settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0,clearBackdrop:!0,helpUrl:"https://support.emby.media/support/solutions/articles/44001160415-live-tv-setup",title:"LiveTV",navMenuId:"livetvsetup"}),appRouter.addRoute({path:"/livetvsetup/livetvtuner.html",autoFocus:!1,roles:"admin",controller:"livetvsetup/livetvtuner.js",controllerType:"module",settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0,clearBackdrop:!0,helpUrl:"https://support.emby.media/support/solutions/articles/44001160415-live-tv-setup",title:"HeaderTVSourceSetup",navMenuId:"livetvsetup"}),appRouter.addRoute({path:"/logs",contentPath:"/list/list.html",autoFocus:!1,roles:"admin",controller:"logs/logs.js",controllerType:"module",settingsTheme:!0,clearBackdrop:!0,adjustHeaderForEmbeddedScroll:!0,canRefresh:!0,title:"Logs"}),appRouter.addRoute({path:"/log",contentPath:"/list/list.html",autoFocus:!1,roles:"admin",controller:"logs/log.js",controllerType:"module",settingsTheme:!0,clearBackdrop:!0,adjustHeaderForEmbeddedScroll:!0,canRefresh:!0,navMenuId:"logs",title:"Logs"}),appRouter.addRoute({path:"/server/notifications/notificationsetting.html",autoFocus:!1,roles:"admin",settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0,controller:"server/notifications/notificationsetting.js",controllerType:"module",clearBackdrop:!0,helpUrl:"https://support.emby.media/support/solutions/articles/44001159719-notifications",title:"Notifications",navMenuId:"notifications"}),appRouter.addRoute({path:"/server/notifications/notificationsettings.html",controller:"server/notifications/notificationsettings.js",controllerType:"module",autoFocus:!1,roles:"admin",settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0,clearBackdrop:!0,helpUrl:"https://support.emby.media/support/solutions/articles/44001159719-notifications",title:"Notifications",navMenuId:"notifications"}),appRouter.addRoute({path:"/plugins",contentPath:"/plugins/plugins.html",controller:"plugins/plugins.js",controllerType:"module",autoFocus:!1,roles:"admin",settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0,clearBackdrop:!0,headerTabs:!0,title:"Plugins",helpUrl:"https://support.emby.media/support/solutions/articles/44001159720-plugins",navMenuId:"plugins"}),appRouter.addRoute({path:"/dashboard/releasenotes.html",autoFocus:!1,roles:"admin",controller:"dashboard/releasenotes.js",controllerType:"module",settingsTheme:!0,clearBackdrop:!0,adjustHeaderForEmbeddedScroll:!0}),appRouter.addRoute({path:"/scheduledtasks",contentPath:"/scheduledtasks/scheduledtasks.html",roles:"admin",autoFocus:!1,controller:"scheduledtasks/scheduledtasks.js",controllerType:"module",title:"HeaderScheduledTasks",clearBackdrop:!0,settingsTheme:!0,helpUrl:"https://support.emby.media/support/solutions/articles/44001159751-scheduled-tasks",navMenuId:"scheduledtasks",adjustHeaderForEmbeddedScroll:!0}),appRouter.addRoute({path:"/scheduledtask",contentPath:"/list/list.html",autoFocus:!1,roles:"admin",controller:"scheduledtasks/scheduledtask.js",controllerType:"module",settingsTheme:!0,clearBackdrop:!0,helpUrl:"https://support.emby.media/support/solutions/articles/44001159751-scheduled-tasks",title:"HeaderScheduledTasks",navMenuId:"scheduledtasks",adjustHeaderForEmbeddedScroll:!0}),appRouter.addRoute({path:"/serveractivity",contentPath:"/list/list.html",autoFocus:!1,roles:"admin",controller:"dashboard/serveractivity.js",controllerType:"module",settingsTheme:!0,clearBackdrop:!0,adjustHeaderForEmbeddedScroll:!0,canRefresh:!0,navMenuId:"dashboard"}),appRouter.addRoute({path:"/apikeys",contentPath:"/list/list.html",autoFocus:!1,roles:"admin",controller:"apikeys/apikeys.js",controllerType:"module",settingsTheme:!0,clearBackdrop:!0,adjustHeaderForEmbeddedScroll:!0,canRefresh:!0,title:"HeaderApiKeys"}),appRouter.addRoute({contentPath:"/embypremiere/embypremiere.html",path:"/embypremiere",controller:"embypremiere/embypremiere.js",controllerType:"module",autoFocus:!1,roles:"admin",settingsTheme:!0,clearBackdrop:!0,helpUrl:"https://emby.media/premiere",title:"Emby Premiere",adjustHeaderForEmbeddedScroll:!0}),appRouter.addRoute({path:"/serverdownloads",contentPath:"server/downloads/activity.html",autoFocus:!1,controller:"server/downloads/activity.js",controllerType:"module",settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0,clearBackdrop:!0,title:"Downloads"}),appRouter.addRoute({path:"/conversions",contentPath:"server/downloads/activity.html",autoFocus:!1,controller:"server/downloads/activity.js",controllerType:"module",settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0,clearBackdrop:!0,title:"Conversions"}),appRouter.addRoute({path:"/serverdownloadsettings",contentPath:"server/downloads/settings.html",autoFocus:!1,settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0,clearBackdrop:!0,controller:"server/downloads/settings.js",controllerType:"module"}),appRouter.addRoute({path:"/users/user",contentPath:"/users/user.html",controller:"users/user.js",controllerType:"module",autoFocus:!1,roles:"admin",settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0,clearBackdrop:!0,headerTabs:!0,helpUrl:"https://support.emby.media/support/solutions/articles/44001160237-users",navMenuId:"users"}),appRouter.addRoute({path:"/users/new",contentPath:"/users/usernew.html",controller:"users/usernew.js",controllerType:"module",autoFocus:!1,roles:"admin",settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0,clearBackdrop:!0,helpUrl:"https://support.emby.media/support/solutions/articles/44001160237-users",navMenuId:"users",title:"HeaderNewUser"}),appRouter.addRoute({path:"/users",contentPath:"/list/list.html",autoFocus:!1,roles:"admin",controller:"users/users.js",controllerType:"module",settingsTheme:!0,clearBackdrop:!0,helpUrl:"https://support.emby.media/support/solutions/articles/44001160237-users",adjustHeaderForEmbeddedScroll:!0,canRefresh:!0,title:"Users"}),appRouter.addRoute({path:"/wizard/wizardagreement.html",anonymous:!0,controller:"wizard/wizardagreement.js",controllerType:"module",homeButton:!1,secondaryHeaderFeatures:!1,defaultTitle:!0,drawer:!1,dockedTabs:!1,settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0,clearBackdrop:!0}),appRouter.addRoute({path:"/wizard/wizardremoteaccess.html",anonymous:!0,controller:"wizard/wizardremoteaccess.js",controllerType:"module",homeButton:!1,secondaryHeaderFeatures:!1,defaultTitle:!0,drawer:!1,dockedTabs:!1,settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0,clearBackdrop:!0}),appRouter.addRoute({path:"/wizard/wizardfinish.html",anonymous:!0,controller:"wizard/wizardfinishpage.js",controllerType:"module",homeButton:!1,secondaryHeaderFeatures:!1,defaultTitle:!0,drawer:!1,dockedTabs:!1,settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0,clearBackdrop:!0}),appRouter.addRoute({path:"/wizard/wizardlibrary.html",controller:"librarysetup/library.js",controllerType:"module",anonymous:!0,homeButton:!1,secondaryHeaderFeatures:!1,defaultTitle:!0,drawer:!1,dockedTabs:!1,settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0,clearBackdrop:!0,helpUrl:"https://support.emby.media/support/solutions/articles/44001159319-library-setup"}),appRouter.addRoute({path:"/wizard/wizardsettings.html",anonymous:!0,controller:"wizard/wizardsettings.js",controllerType:"module",homeButton:!1,secondaryHeaderFeatures:!1,defaultTitle:!0,drawer:!1,dockedTabs:!1,settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0,clearBackdrop:!0}),appRouter.addRoute({path:"/wizard/wizardstart.html",anonymous:!0,controller:"wizard/wizardstart.js",controllerType:"module",homeButton:!1,secondaryHeaderFeatures:!1,defaultTitle:!0,drawer:!1,dockedTabs:!1,settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0,clearBackdrop:!0}),appRouter.addRoute({path:"/wizard/wizarduser.html",controller:"wizard/wizarduserpage.js",controllerType:"module",autoFocus:!1,anonymous:!0,homeButton:!1,secondaryHeaderFeatures:!1,defaultTitle:!0,drawer:!1,dockedTabs:!1,settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0,clearBackdrop:!0}),appRouter.addRoute({path:"/configurationpage",autoFocus:!1,enableCache:!1,enableContentQueryString:!0,roles:"admin",contentPath:appHost.supports("multiserver")?getPluginPageContentPath:null,settingsTheme:!0,windowScroll:3,requiresDynamicTitle:!0}),appRouter.addRoute({path:"/genericui",contentPath:"modules/genericui/genericui.html",autoFocus:!1,controller:"modules/genericui/genericui.js",controllerType:"module",enableContentQueryString:!0,settingsTheme:!0,adjustHeaderForEmbeddedScroll:!0,clearBackdrop:!0})),appRouter.addRoute({path:"/index.html",isDefaultRoute:!0,clearBackdrop:!0,autoFocus:!1}),appRouter.addRoute({path:"/",isDefaultRoute:!0,clearBackdrop:!0})}(appRouter,appHost),appRouter.start({click:!1,hashbang:!0}),document.dispatchEvent(new CustomEvent("appready",{})),appHost.supports("soundeffects")&&importFromPath("./modules/soundeffects/soundeffectsmanager.js"),importFromPathWithoutExport("./modules/thememediaplayer.js"),importFromPathWithoutExport("./modules/transparencymanagement.js"),!enableNativeGamepadKeyMapping()&&("ongamepadconnected"in window||navigator.getGamepads||navigator.webkitGetGamepads)&&importFromPathWithoutExport("./modules/input/gamepadtokey.js"),appHost.supports("windowstate")&&importFromPathWithoutExport("./modules/controlbox.js"),"android"===appMode?require(["native/android/mediasession","native/android/chromecast","native/android/appshortcuts","native/android/nativecredentials","native/android/nativesettings"]):"ios"===appMode?require(["native/ios/mediasession","native/ios/appshortcuts","native/ios/backgroundfetch","native/ios/nativecredentials","native/ios/nativesettings","native/ios/nativeplayerbridge"]):"windows"===appMode?require(["native/windows/mediasession","native/windows/nativesettings","native/windows/nativecredentials"]):globalThis.tizen&&(require(["native/tizen/input"]),require(["native/tizen/networkerror"]),responses.sdkVersion&&2.4<=responses.sdkVersion&&require(["native/tizen/preview"]),require(["native/tizen/screensavermanager"]),responses.tizenSideload=!1,responses.tizenSideload)&&require(["native/tizen/expiration"]),responses.tv||(importFromPathWithoutExport("./modules/autobackdrops.js"),importFromPathWithoutExport("./modules/notifications.js"),importFromPath("./modules/dockedtabs/dockedtabs.js")),importFromPathWithoutExport("./modules/nowplayingbar/nowplayingbar.js"),appHost.supports("remotecontrol")&&importFromPathWithoutExport("./modules/playback/remotecontrolautoplay.js"),navigator.mediaSession&&importFromPathWithoutExport("./modules/playback/mediasession.js"),importFromPath("./modules/input/mouse.js"),importFromPath("./modules/input/keyboard.js"),importFromPath("./modules/common/input/api.js"),appHost.supports("screensaver")&&importFromPath("./modules/screensavermanager.js"),appHost.supports("fullscreenchange")&&importFromPathWithoutExport("./modules/fullscreen/fullscreen-dc.js"),appHost.supports("multiserver")||globalThis.ApiClient&&require(["css!"+globalThis.ApiClient.getUrl("Branding/Css")]),"winjs"===appMode&&function(appHost){navigator.mediaSession||require(["native/windows/mediasession"]),navigator.connection&&navigator.connection.type||require(["native/windows/networkpolyfill"]),appHost.supports("sync")&&require(["bgtaskregister"],function(bgtaskregister){bgtaskregister.registerTask()})}(appHost),importFromPath("./modules/actionsheet/actionsheet.js"),require(["formDialogStyle"]),getDynamicImport("./modules/common/playback/playbackmanager.js")().then(function(playbackManager){window.addEventListener("beforeunload",function(e){try{playbackManager.onAppClose()}catch(err){console.log("error in onAppClose: "+err)}})}),Promise.all(promises)})}function loadFirstLevelPresentationDependencies(){return console.log("loadFirstLevelPresentationDependencies"),Promise.all([importFromPath("./modules/browser.js")]).then(function(responses){responses=responses[0],(appMode||responses.tv)&&(console.log=function(){}),responses.osx?document.documentElement.classList.add("html-osx"):"windows"!==appMode&&"winjs"!==appMode||document.documentElement.classList.add("html-maxfonttouch"),(responses.iOS||responses.osx)&&document.documentElement.classList.add("imgLazyAppleHack"),responses=[];return responses.push(require(["flexStyles"])),responses.push(require(["css!modules/layout.css"])),"container"in document.documentElement.style&&responses.push(require(["css!modules/layout_container.css"])),responses.push(require(["sectionsStyle"])),responses.push(require(["systemFontsCss"])),Promise.all(responses)})}function loadGlobalization(){return Promise.all([importFromPath("./modules/common/globalize.js"),importFromPath("./modules/common/servicelocator.js")]).then(function(responses){var globalize=responses[0],responses=responses[1].appHost,stringPromises=(globalThis.urlCacheParam&&globalize.setCacheParam(globalThis.urlCacheParam),[]);return responses.supports("serversetup")&&stringPromises.push(function(globalize){var translations=["ar","be-BY","bg-BG","ca","cs","da","de","el","en-GB","en-US","es","es-AR","es-MX","fa","fi","fr","fr-CA","gsw","he","hi-IN","hr","hu","id","it","ja","kk","ko","lt-LT","ms","nb","nl","no","pl","pt-BR","pt-PT","ro","ru","sk","sl-SI","sv","tr","uk","vi","zh-CN","zh-HK","zh-TW"].map(function(i){return{lang:i,path:"strings/"+i+".json"}});return globalize.loadStrings({name:"core",translations:translations})}(globalize)),stringPromises.push(function(globalize){var translations=["ar","bg-BG","ca","cs","da","de","el","en-GB","en-US","es","es-AR","es-MX","et-EE","fi","fr","fr-CA","gsw","he","hr","hu","id","it","ja","kk","ko","lt-LT","ms","nb","nl","pl","pt-BR","pt-PT","ro","ru","sk","sl-SI","sv","tr","uk","vi","zh-CN","zh-HK","zh-TW"].map(function(i){return{lang:i,path:"modules/common/strings/"+i+".json"}});return globalize.loadStrings({name:"sharedcomponents",translations:translations})}(globalize)),Promise.all(stringPromises)})}function loadThirdLevelPolyfills(){return Promise.all([importFromPath("./modules/browser.js")]).then(function(responses){var responses=responses[0],promises=("windows"===appMode?(define("transfermanager",[],getDynamicImport("./modules/sync/transfermanager.js")),define("filerepository",["native/windows/filerepository"],returnFirstDependency),define("localsync",["native/windows/localsync"],returnFirstDependency),define("itemrepository",["native/windows/itemrepository"],returnFirstDependency),define("useractionrepository",["native/windows/useractionrepository"],returnFirstDependency)):"winjs"!==appMode||responses.xboxOne?"ios"===appMode?(define("filerepository",["native/ios/filerepository"],returnFirstDependency),define("transfermanager",["filerepository"],returnFirstDependency),define("localsync",["native/ios/localsync"],returnFirstDependency),define("itemrepository",["native/ios/itemrepository"],returnFirstDependency),define("useractionrepository",["native/ios/useractionrepository"],returnFirstDependency)):"android"===appMode&&AndroidAppHost.supportsSync()?(define("transfermanager",[],getDynamicImport("./modules/sync/transfermanager.js")),define("filerepository",["native/android/filerepository"],returnFirstDependency),define("localsync",["native/android/localsync"],returnFirstDependency),define("itemrepository",["native/android/itemrepository"],returnFirstDependency),define("useractionrepository",["native/android/useractionrepository"],returnFirstDependency)):(define("transfermanager",[],getDynamicImport("./modules/sync/transfermanager.js")),define("filerepository",[],getDynamicImport("./modules/sync/filerepository.js")),define("localsync",[],getDynamicImport("./modules/sync/localsync.js")),define("itemrepository",[],getDynamicImport("./modules/localdatabase/itemrepository.js")),define("useractionrepository",[],getDynamicImport("./modules/localdatabase/useractionrepository.js"))):(define("bgtaskregister",["native/windows/bgtaskregister"],returnFirstDependency),define("transfermanager",["native/windows/transfermanager"],returnFirstDependency),define("filerepository",["native/windows/filerepository"],returnFirstDependency),define("localsync",[],getWindowsLocalSync),define("itemrepository",[],getDynamicImport("./modules/localdatabase/itemrepository.js")),define("useractionrepository",[],getDynamicImport("./modules/localdatabase/useractionrepository.js"))),[]);return"customElements"in globalThis?"customElements"in globalThis&&!responses.iOS&&!responses.safari&&customElements.upgrade||promises.push(importFromPathWithoutExport("./modules/polyfills/custom-elements-builtin.js")):globalThis.MutationObserver&&globalThis.Reflect?promises.push(require(["modules/polyfills/custom-elements"])):promises.push(require(["modules/polyfills/document-register-element"])),globalThis.tizen&&promises.push(require(["native/tizen/tizeninfo"])),(globalThis.webos||globalThis.PalmSystem)&&promises.push(require(["native/webos/webosinfo"])),Promise.all(promises)})}function loadSecondLevelPolyfills(){var promises=[],isMissingRequestSignalSupport=("undefined"==typeof SpeechRecognition&&(globalThis.SpeechRecognition=globalThis.webkitSpeechRecognition),"function"==typeof globalThis.Request&&!Object.prototype.hasOwnProperty.call(globalThis.Request.prototype,"signal"));return"undefined"!=typeof AbortSignal&&!isMissingRequestSignalSupport&&AbortSignal.timeout||promises.push(importFromPathWithoutExport("./modules/polyfills/abortsignal.js")),"undefined"!=typeof AbortController&&!isMissingRequestSignalSupport||promises.push(importFromPathWithoutExport("./modules/polyfills/abortcontroller.js")),"undefined"!=typeof AbortController&&isMissingRequestSignalSupport&&promises.push(importFromPathWithoutExport("./modules/polyfills/abortablefetch.js")),"undefined"!=typeof Intl&&Intl.NumberFormat||promises.push(importFromPathWithoutExport("./modules/polyfills/numberformat.js")),"function"==typeof Object.assign&&"function"==typeof Object.create&&"function"==typeof Object.hasOwn||promises.push(importFromPathWithoutExport("./modules/polyfills/object.js")),"function"==typeof Promise.any&&"function"==typeof Promise.allSettled||promises.push(importFromPathWithoutExport("./modules/polyfills/promise.js")),String.prototype.includes&&String.prototype.startsWith&&String.prototype.endsWith&&String.prototype.replaceAll||promises.push(importFromPathWithoutExport("./modules/polyfills/string.js")),Array.prototype.filter&&Array.prototype.includes&&Array.prototype.some&&Array.isArray&&Array.from||promises.push(importFromPathWithoutExport("./modules/polyfills/array.js")),Element.prototype.matches&&Element.prototype.closest&&Element.prototype.remove&&Element.prototype.replaceChildren||promises.push(importFromPathWithoutExport("./modules/polyfills/element.js")),HTMLFormElement.prototype.requestSubmit||promises.push(importFromPathWithoutExport("./modules/polyfills/form.js")),Function.prototype.bind||promises.push(importFromPathWithoutExport("./modules/polyfills/bind.js")),"undefined"==typeof Map&&promises.push(importFromPathWithoutExport("./modules/polyfills/map.js")),"undefined"==typeof WeakMap&&promises.push(importFromPathWithoutExport("./modules/polyfills/weakmap.js")),"undefined"==typeof Set&&promises.push(importFromPathWithoutExport("./modules/polyfills/set.js")),"undefined"!=typeof crypto&&crypto.randomUUID||promises.push(importFromPathWithoutExport("./modules/polyfills/crypto.js")),"undefined"!=typeof CSS&&CSS.supports||promises.push(importFromPathWithoutExport("./modules/polyfills/css.js")),Promise.all(promises)}function start(startInfo){if(enableNativeGamepadKeyMapping(),"undefined"!=typeof Windows&&Windows.UI){try{Windows.UI.ViewManagement.ApplicationViewScaling.trySetDisableLayoutScaling(!0)}catch(err){}try{Windows.UI.ViewManagement.ApplicationView.getForCurrentView().setDesiredBoundsMode(Windows.UI.ViewManagement.ApplicationViewBoundsMode.useCoreWindow)}catch(err){}}return startInfo=startInfo||globalThis.appStartInfo||{},customPaths=startInfo.paths||{},initRequire(),promises=[],globalThis.Emby.requiresClassesPolyfill&&promises.push(importFromPathWithoutExport("./modules/babelhelpers.js")),globalThis.ResizeObserver||promises.push(importFromPathWithoutExport("./modules/polyfills/resizeobserver.js")),globalThis.IntersectionObserver||promises.push(importFromPathWithoutExport("./modules/polyfills/intersection-observer.js")),"undefined"==typeof fetch&&promises.push(importFromPathWithoutExport("./modules/polyfills/fetch.js")),Promise.all(promises).then(loadSecondLevelPolyfills,loadSecondLevelPolyfills).then(loadThirdLevelPolyfills,loadThirdLevelPolyfills).then(loadServiceLocator).then(createConnectionManager).then(loadGlobalization).then(loadFirstLevelPresentationDependencies).then(function(){console.log("loadPlugins");var startInfo=this;return Promise.all([importFromPath("./modules/common/servicelocator.js"),importFromPath("./modules/browser.js"),importFromPath("./modules/approuter.js")]).then(function(responses){var appHost=responses[0].appHost,responses=responses[1],externalPlugins=(appHost.supports("windowstate")&&(document.querySelector(".skinHeader").insertAdjacentHTML("beforeend",'<div class="windowDragRegion hide-mouse-idle-tv"></div>'),require(["css!modules/windowdrag.css"])),startInfo.plugins||[]),list=(console.log("Loading installed plugins"),["./modules/common/playback/playbackvalidation.js","./modules/common/playback/playaccessvalidation.js","./modules/common/playback/experimentalwarnings.js"]);appHost.supports("soundeffects")&&list.push("./modules/soundeffects/defaultsoundeffects/plugin.js"),appHost.supports("screensaver")&&(list.push("./modules/logoscreensaver/plugin.js"),list.push("./modules/backdropscreensaver/plugin.js"),list.push("./modules/photoscreensaver/plugin.js")),"android"===appMode?(list.push("native/android/mpvvideoplayer"),list.push("native/android/mpvaudioplayer")):"ios"===appMode?(list.push("native/ios/mpvaudioplayer"),list.push("native/ios/mpvvideoplayer")):"windows"===appMode&&(list.push("native/windows/mpvvideoplayer"),list.push("native/windows/nativeaudioplayer")),list.push("./modules/htmlaudioplayer/plugin.js"),"ios"===appMode&&list.push("native/ios/chromecast"),"android"===appMode&&(list.push("native/android/externalplayer"),list.push("native/android/chromecast")),globalThis.webapis&&webapis.avplay?list.push("native/tizen/tizenavplayer/plugin"):list.push("./modules/htmlvideoplayer/plugin.js"),list.push("./modules/photoplayer/plugin.js"),appHost.supports("remotecontrol")&&(list.push("./modules/sessionplayer.js"),!globalThis.chrome||responses.edge||responses.electron||"android"===appMode||list.push("./modules/chromecast/chromecastplayer.js")),(appHost.supports("youtube")||responses.electron)&&list.push("winjs"===appMode?"native/windows/youtubeplayer/plugin":"./modules/youtubeplayer/plugin.js");for(var i=0,length=externalPlugins.length;i<length;i++)list.push(externalPlugins[i]);return responses.electron&&list.push("./modules/externalplayer/plugin.js"),list.push("./modules/confirmstillplaying/plugin.js"),Promise.all(list.map(loadPlugin))})}.bind(startInfo)).then(function(){return console.log("loadExternalScripts"),require(this.scripts||[])}.bind(startInfo)).then(loadHeader).then(onAppReady);var promises}Object.entries||(Object.entries=function(obj){for(var ownProps=Object.keys(obj),i=ownProps.length,resArray=new Array(i);i--;)resArray[i]=[ownProps[i],obj[ownProps[i]]];return resArray}),globalThis.Emby||(globalThis.Emby={}),globalThis.Emby.importModule=importFromPath,globalThis.Emby.App={start:start},-1===globalThis.location.href.toString().toLowerCase().indexOf("autostart=false")&&start()}();