From 838ba7ff36483495e4abf6fb5f5a5b337aa4c817 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Tue, 18 Aug 2020 15:21:25 +0200 Subject: [PATCH 01/27] Bump version 236 --- supervisor/const.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervisor/const.py b/supervisor/const.py index 985cf5a43..aef52091b 100644 --- a/supervisor/const.py +++ b/supervisor/const.py @@ -3,7 +3,7 @@ from enum import Enum from ipaddress import ip_network from pathlib import Path -SUPERVISOR_VERSION = "235" +SUPERVISOR_VERSION = "236" URL_HASSIO_ADDONS = "https://github.com/home-assistant/hassio-addons" URL_HASSIO_VERSION = "https://version.home-assistant.io/{channel}.json" From 3541cbff5eb2bf7f51745df8f1ad1f3816de42a2 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Tue, 18 Aug 2020 21:40:52 +0200 Subject: [PATCH 02/27] Remove old dns forwarder (#1945) --- Dockerfile | 3 +-- supervisor/core.py | 1 - supervisor/misc/forwarder.py | 49 ---------------------------------- supervisor/plugins/__init__.py | 4 --- supervisor/plugins/dns.py | 9 ------- 5 files changed, 1 insertion(+), 65 deletions(-) delete mode 100644 supervisor/misc/forwarder.py diff --git a/Dockerfile b/Dockerfile index 10afdd765..305fcce0b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,8 +14,7 @@ RUN \ libffi \ libpulse \ musl \ - openssl \ - socat + openssl ARG BUILD_ARCH WORKDIR /usr/src diff --git a/supervisor/core.py b/supervisor/core.py index 2f9808463..db51bb2bf 100644 --- a/supervisor/core.py +++ b/supervisor/core.py @@ -259,7 +259,6 @@ class Core(CoreSysAttributes): self.sys_websession.close(), self.sys_websession_ssl.close(), self.sys_ingress.unload(), - self.sys_plugins.unload(), self.sys_hwmonitor.unload(), ] ) diff --git a/supervisor/misc/forwarder.py b/supervisor/misc/forwarder.py deleted file mode 100644 index bb6cb04a1..000000000 --- a/supervisor/misc/forwarder.py +++ /dev/null @@ -1,49 +0,0 @@ -"""Setup the internal DNS service for host applications.""" -import asyncio -from ipaddress import IPv4Address -import logging -import shlex -from typing import Optional - -import async_timeout - -_LOGGER: logging.Logger = logging.getLogger(__name__) - -COMMAND = "socat UDP-RECVFROM:53,fork UDP-SENDTO:{!s}:53" - - -class DNSForward: - """Manage DNS forwarding to internal DNS.""" - - def __init__(self): - """Initialize DNS forwarding.""" - self.proc: Optional[asyncio.Process] = None - - async def start(self, dns_server: IPv4Address) -> None: - """Start DNS forwarding.""" - try: - self.proc = await asyncio.create_subprocess_exec( - *shlex.split(COMMAND.format(dns_server)), - stdin=asyncio.subprocess.DEVNULL, - stdout=asyncio.subprocess.DEVNULL, - stderr=asyncio.subprocess.DEVNULL, - ) - except OSError as err: - _LOGGER.error("Can't start DNS forwarding: %s", err) - else: - _LOGGER.info("Start DNS port forwarding to %s", dns_server) - - async def stop(self) -> None: - """Stop DNS forwarding.""" - if not self.proc: - _LOGGER.warning("DNS forwarding is not running!") - return - - self.proc.kill() - try: - with async_timeout.timeout(5): - await self.proc.wait() - except asyncio.TimeoutError: - _LOGGER.warning("Stop waiting for DNS shutdown") - - _LOGGER.info("Stop DNS forwarding") diff --git a/supervisor/plugins/__init__.py b/supervisor/plugins/__init__.py index 828670971..6f23f5980 100644 --- a/supervisor/plugins/__init__.py +++ b/supervisor/plugins/__init__.py @@ -111,10 +111,6 @@ class PluginManager(CoreSysAttributes): ] ) - async def unload(self) -> None: - """Unload Supervisor plugin.""" - await asyncio.wait([self.dns.unload()]) - async def shutdown(self) -> None: """Shutdown Supervisor plugin.""" # Sequential to avoid issue on slow IO diff --git a/supervisor/plugins/dns.py b/supervisor/plugins/dns.py index 6718513b5..19cdc1dae 100644 --- a/supervisor/plugins/dns.py +++ b/supervisor/plugins/dns.py @@ -25,7 +25,6 @@ from ..coresys import CoreSys, CoreSysAttributes from ..docker.dns import DockerDNS from ..docker.stats import DockerStats from ..exceptions import CoreDNSError, CoreDNSUpdateError, DockerAPIError -from ..misc.forwarder import DNSForward from ..utils.json import JsonConfig from ..validate import dns_url from .validate import SCHEMA_DNS_CONFIG @@ -53,7 +52,6 @@ class CoreDNS(JsonConfig, CoreSysAttributes): super().__init__(FILE_HASSIO_DNS, SCHEMA_DNS_CONFIG) self.coresys: CoreSys = coresys self.instance: DockerDNS = DockerDNS(coresys) - self.forwarder: DNSForward = DNSForward() self.coredns_template: Optional[jinja2.Template] = None self.resolv_template: Optional[jinja2.Template] = None @@ -141,9 +139,6 @@ class CoreDNS(JsonConfig, CoreSysAttributes): self.image = self.instance.image self.save_data() - # Start DNS forwarder - self.sys_create_task(self.forwarder.start(self.sys_docker.network.dns)) - # Initialize CoreDNS Template try: self.coredns_template = jinja2.Template(COREDNS_TMPL.read_text()) @@ -164,10 +159,6 @@ class CoreDNS(JsonConfig, CoreSysAttributes): # Update supervisor self._write_resolv(HOST_RESOLV) - async def unload(self) -> None: - """Unload DNS forwarder.""" - await self.forwarder.stop() - async def install(self) -> None: """Install CoreDNS.""" _LOGGER.info("Setup CoreDNS plugin") From b3308ecbe0a5f4e4ada3c473188ffa8fcbfdbe3f Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 19 Aug 2020 16:46:39 +0200 Subject: [PATCH 03/27] Fix timeout and reflect s6-overlay (#1947) --- supervisor/docker/interface.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervisor/docker/interface.py b/supervisor/docker/interface.py index 26c9a233b..b9791aab3 100644 --- a/supervisor/docker/interface.py +++ b/supervisor/docker/interface.py @@ -29,7 +29,7 @@ class DockerInterface(CoreSysAttributes): @property def timeout(self) -> int: """Return timeout for Docker actions.""" - return 30 + return 10 @property def name(self) -> Optional[str]: From 2411b4287da191f5e11a979df3952322f05c35df Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Thu, 20 Aug 2020 11:22:04 +0200 Subject: [PATCH 04/27] Group all homeassistant/core into a module (#1950) * Group all homeassistant/core into a module * fix references * fix lint * streamline object property protection * Fix api --- supervisor/addons/addon.py | 2 +- supervisor/api/addons.py | 2 +- supervisor/api/homeassistant.py | 16 +- supervisor/api/proxy.py | 15 +- supervisor/api/supervisor.py | 4 +- supervisor/auth.py | 6 +- supervisor/bootstrap.py | 2 - supervisor/core.py | 13 +- supervisor/coresys.py | 21 - supervisor/discovery/__init__.py | 4 +- supervisor/homeassistant/__init__.py | 241 +++++++++++ supervisor/homeassistant/api.py | 122 ++++++ .../core.py} | 397 +++--------------- supervisor/{misc => homeassistant}/secrets.py | 2 +- supervisor/ingress.py | 4 +- supervisor/misc/tasks.py | 16 +- supervisor/snapshots/__init__.py | 14 +- 17 files changed, 467 insertions(+), 414 deletions(-) create mode 100644 supervisor/homeassistant/__init__.py create mode 100644 supervisor/homeassistant/api.py rename supervisor/{homeassistant.py => homeassistant/core.py} (50%) rename supervisor/{misc => homeassistant}/secrets.py (97%) diff --git a/supervisor/addons/addon.py b/supervisor/addons/addon.py index 00b2d9690..f97748661 100644 --- a/supervisor/addons/addon.py +++ b/supervisor/addons/addon.py @@ -359,7 +359,7 @@ class Addon(AddonModel): options = self.options # Update secrets for validation - await self.sys_secrets.reload() + await self.sys_homeassistant.secrets.reload() try: options = schema(options) diff --git a/supervisor/api/addons.py b/supervisor/api/addons.py index 6fcf07920..a95adcc9a 100644 --- a/supervisor/api/addons.py +++ b/supervisor/api/addons.py @@ -282,7 +282,7 @@ class APIAddons(CoreSysAttributes): addon = self._extract_addon_installed(request) # Update secrets for validation - await self.sys_secrets.reload() + await self.sys_homeassistant.secrets.reload() # Extend schema with add-on specific validation addon_schema = SCHEMA_OPTIONS.extend( diff --git a/supervisor/api/homeassistant.py b/supervisor/api/homeassistant.py index a300f4c9f..d688b2f4c 100644 --- a/supervisor/api/homeassistant.py +++ b/supervisor/api/homeassistant.py @@ -117,7 +117,7 @@ class APIHomeAssistant(CoreSysAttributes): @api_process async def stats(self, request: web.Request) -> Dict[Any, str]: """Return resource information.""" - stats = await self.sys_homeassistant.stats() + stats = await self.sys_homeassistant.core.stats() if not stats: raise APIError("No stats available") @@ -138,36 +138,36 @@ class APIHomeAssistant(CoreSysAttributes): body = await api_validate(SCHEMA_VERSION, request) version = body.get(ATTR_VERSION, self.sys_homeassistant.latest_version) - await asyncio.shield(self.sys_homeassistant.update(version)) + await asyncio.shield(self.sys_homeassistant.core.update(version)) @api_process def stop(self, request: web.Request) -> Awaitable[None]: """Stop Home Assistant.""" - return asyncio.shield(self.sys_homeassistant.stop()) + return asyncio.shield(self.sys_homeassistant.core.stop()) @api_process def start(self, request: web.Request) -> Awaitable[None]: """Start Home Assistant.""" - return asyncio.shield(self.sys_homeassistant.start()) + return asyncio.shield(self.sys_homeassistant.core.start()) @api_process def restart(self, request: web.Request) -> Awaitable[None]: """Restart Home Assistant.""" - return asyncio.shield(self.sys_homeassistant.restart()) + return asyncio.shield(self.sys_homeassistant.core.restart()) @api_process def rebuild(self, request: web.Request) -> Awaitable[None]: """Rebuild Home Assistant.""" - return asyncio.shield(self.sys_homeassistant.rebuild()) + return asyncio.shield(self.sys_homeassistant.core.rebuild()) @api_process_raw(CONTENT_TYPE_BINARY) def logs(self, request: web.Request) -> Awaitable[bytes]: """Return Home Assistant Docker logs.""" - return self.sys_homeassistant.logs() + return self.sys_homeassistant.core.logs() @api_process async def check(self, request: web.Request) -> None: """Check configuration of Home Assistant.""" - result = await self.sys_homeassistant.check_config() + result = await self.sys_homeassistant.core.check_config() if not result.valid: raise APIError(result.log) diff --git a/supervisor/api/proxy.py b/supervisor/api/proxy.py index b61e65bb9..80ee712ed 100644 --- a/supervisor/api/proxy.py +++ b/supervisor/api/proxy.py @@ -45,7 +45,7 @@ class APIProxy(CoreSysAttributes): async def _api_client(self, request: web.Request, path: str, timeout: int = 300): """Return a client request with proxy origin for Home Assistant.""" try: - async with self.sys_homeassistant.make_request( + async with self.sys_homeassistant.api.make_request( request.method.lower(), f"api/{path}", headers={ @@ -75,7 +75,7 @@ class APIProxy(CoreSysAttributes): async def stream(self, request: web.Request): """Proxy HomeAssistant EventStream Requests.""" self._check_access(request) - if not await self.sys_homeassistant.check_api_state(): + if not await self.sys_homeassistant.api.check_api_state(): raise HTTPBadGateway() _LOGGER.info("Home Assistant EventStream start") @@ -96,7 +96,7 @@ class APIProxy(CoreSysAttributes): async def api(self, request: web.Request): """Proxy Home Assistant API Requests.""" self._check_access(request) - if not await self.sys_homeassistant.check_api_state(): + if not await self.sys_homeassistant.api.check_api_state(): raise HTTPBadGateway() # Normal request @@ -130,7 +130,10 @@ class APIProxy(CoreSysAttributes): # Auth session await self.sys_homeassistant.ensure_access_token() await client.send_json( - {"type": "auth", "access_token": self.sys_homeassistant.access_token} + { + "type": "auth", + "access_token": self.sys_homeassistant.api.access_token, + } ) data = await client.receive_json() @@ -143,7 +146,7 @@ class APIProxy(CoreSysAttributes): data.get("type") == "invalid_auth" and self.sys_homeassistant.refresh_token ): - self.sys_homeassistant.access_token = None + self.sys_homeassistant.api.access_token = None return await self._websocket_client() raise HomeAssistantAuthError() @@ -157,7 +160,7 @@ class APIProxy(CoreSysAttributes): async def websocket(self, request: web.Request): """Initialize a WebSocket API connection.""" - if not await self.sys_homeassistant.check_api_state(): + if not await self.sys_homeassistant.api.check_api_state(): raise HTTPBadGateway() _LOGGER.info("Home Assistant WebSocket API request initialize") diff --git a/supervisor/api/supervisor.py b/supervisor/api/supervisor.py index 067ef42de..6b81b2801 100644 --- a/supervisor/api/supervisor.py +++ b/supervisor/api/supervisor.py @@ -176,7 +176,9 @@ class APISupervisor(CoreSysAttributes): def reload(self, request: web.Request) -> Awaitable[None]: """Reload add-ons, configuration, etc.""" return asyncio.shield( - asyncio.wait([self.sys_updater.reload(), self.sys_secrets.reload()]) + asyncio.wait( + [self.sys_updater.reload(), self.sys_homeassistant.secrets.reload()] + ) ) @api_process diff --git a/supervisor/auth.py b/supervisor/auth.py index 06797a735..35ee49bb2 100644 --- a/supervisor/auth.py +++ b/supervisor/auth.py @@ -62,12 +62,12 @@ class Auth(JsonConfig, CoreSysAttributes): _LOGGER.info("Auth request from %s for %s", addon.slug, username) # Check API state - if not await self.sys_homeassistant.check_api_state(): + if not await self.sys_homeassistant.api.check_api_state(): _LOGGER.info("Home Assistant not running, check cache") return self._check_cache(username, password) try: - async with self.sys_homeassistant.make_request( + async with self.sys_homeassistant.api.make_request( "post", "api/hassio_auth", json={ @@ -93,7 +93,7 @@ class Auth(JsonConfig, CoreSysAttributes): async def change_password(self, username: str, password: str) -> None: """Change user password login.""" try: - async with self.sys_homeassistant.make_request( + async with self.sys_homeassistant.api.make_request( "post", "api/hassio_auth/password_reset", json={ATTR_USERNAME: username, ATTR_PASSWORD: password}, diff --git a/supervisor/bootstrap.py b/supervisor/bootstrap.py index 1d634531e..c23cc2085 100644 --- a/supervisor/bootstrap.py +++ b/supervisor/bootstrap.py @@ -37,7 +37,6 @@ from .ingress import Ingress from .misc.filter import filter_data from .misc.hwmon import HwMonitor from .misc.scheduler import Scheduler -from .misc.secrets import SecretsManager from .misc.tasks import Tasks from .plugins import PluginManager from .services import ServiceManager @@ -74,7 +73,6 @@ async def initialize_coresys() -> CoreSys: coresys.discovery = Discovery(coresys) coresys.dbus = DBusManager(coresys) coresys.hassos = HassOS(coresys) - coresys.secrets = SecretsManager(coresys) coresys.scheduler = Scheduler(coresys) # diagnostics diff --git a/supervisor/core.py b/supervisor/core.py index db51bb2bf..f8b779474 100644 --- a/supervisor/core.py +++ b/supervisor/core.py @@ -122,9 +122,6 @@ class Core(CoreSysAttributes): # Load ingress await self.sys_ingress.load() - # Load secrets - await self.sys_secrets.load() - # Check supported OS if not self.sys_hassos.available: if self.sys_host.info.operating_system not in SUPERVISED_SUPPORTED_OS: @@ -204,10 +201,10 @@ class Core(CoreSysAttributes): # run HomeAssistant if ( self.sys_homeassistant.boot - and not await self.sys_homeassistant.is_running() + and not await self.sys_homeassistant.core.is_running() ): with suppress(HomeAssistantError): - await self.sys_homeassistant.start() + await self.sys_homeassistant.core.start() else: _LOGGER.info("Skip start of Home Assistant") @@ -223,7 +220,7 @@ class Core(CoreSysAttributes): # If landingpage / run upgrade in background if self.sys_homeassistant.version == "landingpage": - self.sys_create_task(self.sys_homeassistant.install()) + self.sys_create_task(self.sys_homeassistant.core.install()) # Start observe the host Hardware await self.sys_hwmonitor.load() @@ -278,7 +275,7 @@ class Core(CoreSysAttributes): # Close Home Assistant with suppress(HassioError): - await self.sys_homeassistant.stop() + await self.sys_homeassistant.core.stop() # Shutdown System Add-ons await self.sys_addons.shutdown(AddonStartup.SERVICES) @@ -304,7 +301,7 @@ class Core(CoreSysAttributes): # Restore core functionality await self.sys_addons.repair() - await self.sys_homeassistant.repair() + await self.sys_homeassistant.core.repair() # Tag version for latest await self.sys_supervisor.repair() diff --git a/supervisor/coresys.py b/supervisor/coresys.py index 1500dcd89..55e36b187 100644 --- a/supervisor/coresys.py +++ b/supervisor/coresys.py @@ -23,7 +23,6 @@ if TYPE_CHECKING: from .hassos import HassOS from .misc.scheduler import Scheduler from .misc.hwmon import HwMonitor - from .misc.secrets import SecretsManager from .misc.tasks import Tasks from .homeassistant import HomeAssistant from .host import HostManager @@ -76,7 +75,6 @@ class CoreSys: self._dbus: Optional[DBusManager] = None self._hassos: Optional[HassOS] = None self._services: Optional[ServiceManager] = None - self._secrets: Optional[SecretsManager] = None self._scheduler: Optional[Scheduler] = None self._store: Optional[StoreManager] = None self._discovery: Optional[Discovery] = None @@ -246,20 +244,6 @@ class CoreSys: raise RuntimeError("Updater already set!") self._updater = value - @property - def secrets(self) -> SecretsManager: - """Return SecretsManager object.""" - if self._secrets is None: - raise RuntimeError("SecretsManager not set!") - return self._secrets - - @secrets.setter - def secrets(self, value: SecretsManager) -> None: - """Set a Updater object.""" - if self._secrets: - raise RuntimeError("SecretsManager already set!") - self._secrets = value - @property def addons(self) -> AddonManager: """Return AddonManager object.""" @@ -529,11 +513,6 @@ class CoreSysAttributes: """Return Updater object.""" return self.coresys.updater - @property - def sys_secrets(self) -> SecretsManager: - """Return SecretsManager object.""" - return self.coresys.secrets - @property def sys_addons(self) -> AddonManager: """Return AddonManager object.""" diff --git a/supervisor/discovery/__init__.py b/supervisor/discovery/__init__.py index cc2dca688..c56e96cfa 100644 --- a/supervisor/discovery/__init__.py +++ b/supervisor/discovery/__init__.py @@ -117,7 +117,7 @@ class Discovery(CoreSysAttributes, JsonConfig): async def _push_discovery(self, message: Message, command: str) -> None: """Send a discovery request.""" - if not await self.sys_homeassistant.check_api_state(): + if not await self.sys_homeassistant.api.check_api_state(): _LOGGER.info("Discovery %s message ignore", message.uuid) return @@ -125,7 +125,7 @@ class Discovery(CoreSysAttributes, JsonConfig): data.pop(ATTR_CONFIG) with suppress(HomeAssistantAPIError): - async with self.sys_homeassistant.make_request( + async with self.sys_homeassistant.api.make_request( command, f"api/hassio_push/discovery/{message.uuid}", json=data, diff --git a/supervisor/homeassistant/__init__.py b/supervisor/homeassistant/__init__.py new file mode 100644 index 000000000..574ea5984 --- /dev/null +++ b/supervisor/homeassistant/__init__.py @@ -0,0 +1,241 @@ +"""Home Assistant control object.""" +import asyncio +from ipaddress import IPv4Address +import logging +from pathlib import Path +import shutil +from typing import Optional +from uuid import UUID + +from ..const import ( + ATTR_ACCESS_TOKEN, + ATTR_AUDIO_INPUT, + ATTR_AUDIO_OUTPUT, + ATTR_BOOT, + ATTR_IMAGE, + ATTR_PORT, + ATTR_REFRESH_TOKEN, + ATTR_SSL, + ATTR_UUID, + ATTR_VERSION, + ATTR_WAIT_BOOT, + ATTR_WATCHDOG, + FILE_HASSIO_HOMEASSISTANT, +) +from ..coresys import CoreSys, CoreSysAttributes +from ..utils.json import JsonConfig +from ..validate import SCHEMA_HASS_CONFIG +from .api import HomeAssistantAPI +from .core import HomeAssistantCore +from .secrets import HomeAssistantSecrets + +_LOGGER: logging.Logger = logging.getLogger(__name__) + + +class HomeAssistant(JsonConfig, CoreSysAttributes): + """Home Assistant core object for handle it.""" + + def __init__(self, coresys: CoreSys): + """Initialize Home Assistant object.""" + super().__init__(FILE_HASSIO_HOMEASSISTANT, SCHEMA_HASS_CONFIG) + self.coresys: CoreSys = coresys + self._api: HomeAssistantAPI = HomeAssistantAPI(coresys) + self._core: HomeAssistantCore = HomeAssistantCore(coresys) + self._secrets: HomeAssistantSecrets = HomeAssistantSecrets(coresys) + + @property + def api(self) -> HomeAssistantAPI: + """Return API handler for core.""" + return self._api + + @property + def core(self) -> HomeAssistantCore: + """Return Core handler for docker.""" + return self._core + + @property + def secrets(self) -> HomeAssistantSecrets: + """Return Secrets Manager for core.""" + return self._secrets + + @property + def machine(self) -> str: + """Return the system machines.""" + return self.core.instance.machine + + @property + def arch(self) -> str: + """Return arch of running Home Assistant.""" + return self.core.instance.arch + + @property + def error_state(self) -> bool: + """Return True if system is in error.""" + return self.core.error_state + + @property + def ip_address(self) -> IPv4Address: + """Return IP of Home Assistant instance.""" + return self.core.instance.ip_address + + @property + def api_port(self) -> int: + """Return network port to Home Assistant instance.""" + return self._data[ATTR_PORT] + + @api_port.setter + def api_port(self, value: int) -> None: + """Set network port for Home Assistant instance.""" + self._data[ATTR_PORT] = value + + @property + def api_ssl(self) -> bool: + """Return if we need ssl to Home Assistant instance.""" + return self._data[ATTR_SSL] + + @api_ssl.setter + def api_ssl(self, value: bool): + """Set SSL for Home Assistant instance.""" + self._data[ATTR_SSL] = value + + @property + def api_url(self) -> str: + """Return API url to Home Assistant.""" + return "{}://{}:{}".format( + "https" if self.api_ssl else "http", self.ip_address, self.api_port + ) + + @property + def watchdog(self) -> bool: + """Return True if the watchdog should protect Home Assistant.""" + return self._data[ATTR_WATCHDOG] + + @watchdog.setter + def watchdog(self, value: bool): + """Return True if the watchdog should protect Home Assistant.""" + self._data[ATTR_WATCHDOG] = value + + @property + def wait_boot(self) -> int: + """Return time to wait for Home Assistant startup.""" + return self._data[ATTR_WAIT_BOOT] + + @wait_boot.setter + def wait_boot(self, value: int): + """Set time to wait for Home Assistant startup.""" + self._data[ATTR_WAIT_BOOT] = value + + @property + def latest_version(self) -> str: + """Return last available version of Home Assistant.""" + return self.sys_updater.version_homeassistant + + @property + def image(self) -> str: + """Return image name of the Home Assistant container.""" + if self._data.get(ATTR_IMAGE): + return self._data[ATTR_IMAGE] + return f"homeassistant/{self.sys_machine}-homeassistant" + + @image.setter + def image(self, value: str) -> None: + """Set image name of Home Assistant container.""" + self._data[ATTR_IMAGE] = value + + @property + def version(self) -> Optional[str]: + """Return version of local version.""" + return self._data.get(ATTR_VERSION) + + @version.setter + def version(self, value: str) -> None: + """Set installed version.""" + self._data[ATTR_VERSION] = value + + @property + def boot(self) -> bool: + """Return True if Home Assistant boot is enabled.""" + return self._data[ATTR_BOOT] + + @boot.setter + def boot(self, value: bool): + """Set Home Assistant boot options.""" + self._data[ATTR_BOOT] = value + + @property + def uuid(self) -> UUID: + """Return a UUID of this Home Assistant instance.""" + return self._data[ATTR_UUID] + + @property + def supervisor_token(self) -> Optional[str]: + """Return an access token for the Supervisor API.""" + return self._data.get(ATTR_ACCESS_TOKEN) + + @supervisor_token.setter + def supervisor_token(self, value: str) -> None: + """Set the access token for the Supervisor API.""" + self._data[ATTR_ACCESS_TOKEN] = value + + @property + def refresh_token(self) -> Optional[str]: + """Return the refresh token to authenticate with Home Assistant.""" + return self._data.get(ATTR_REFRESH_TOKEN) + + @refresh_token.setter + def refresh_token(self, value: str): + """Set Home Assistant refresh_token.""" + self._data[ATTR_REFRESH_TOKEN] = value + + @property + def path_pulse(self): + """Return path to asound config.""" + return Path(self.sys_config.path_tmp, "homeassistant_pulse") + + @property + def path_extern_pulse(self): + """Return path to asound config for Docker.""" + return Path(self.sys_config.path_extern_tmp, "homeassistant_pulse") + + @property + def audio_output(self) -> Optional[str]: + """Return a pulse profile for output or None.""" + return self._data[ATTR_AUDIO_OUTPUT] + + @audio_output.setter + def audio_output(self, value: Optional[str]): + """Set audio output profile settings.""" + self._data[ATTR_AUDIO_OUTPUT] = value + + @property + def audio_input(self) -> Optional[str]: + """Return pulse profile for input or None.""" + return self._data[ATTR_AUDIO_INPUT] + + @audio_input.setter + def audio_input(self, value: Optional[str]): + """Set audio input settings.""" + self._data[ATTR_AUDIO_INPUT] = value + + async def load(self) -> None: + """Prepare Home Assistant object.""" + await asyncio.wait([self.secrets.load(), self.core.load()]) + + def write_pulse(self): + """Write asound config to file and return True on success.""" + pulse_config = self.sys_plugins.audio.pulse_client( + input_profile=self.audio_input, output_profile=self.audio_output + ) + + # Cleanup wrong maps + if self.path_pulse.is_dir(): + shutil.rmtree(self.path_pulse, ignore_errors=True) + + # Write pulse config + try: + with self.path_pulse.open("w") as config_file: + config_file.write(pulse_config) + except OSError as err: + _LOGGER.error("Home Assistant can't write pulse/client.config: %s", err) + else: + _LOGGER.info("Update pulse/client.config: %s", self.path_pulse) diff --git a/supervisor/homeassistant/api.py b/supervisor/homeassistant/api.py new file mode 100644 index 000000000..3b227e96c --- /dev/null +++ b/supervisor/homeassistant/api.py @@ -0,0 +1,122 @@ +"""Home Assistant control object.""" +import asyncio +from contextlib import asynccontextmanager, suppress +from datetime import datetime, timedelta +import logging +from typing import Any, AsyncContextManager, Dict, Optional + +import aiohttp +from aiohttp import hdrs + +from ..coresys import CoreSys, CoreSysAttributes +from ..exceptions import HomeAssistantAPIError, HomeAssistantAuthError +from ..utils import check_port + +_LOGGER: logging.Logger = logging.getLogger(__name__) + + +class HomeAssistantAPI(CoreSysAttributes): + """Home Assistant core object for handle it.""" + + def __init__(self, coresys: CoreSys): + """Initialize Home Assistant object.""" + self.coresys: CoreSys = coresys + + # We don't persist access tokens. Instead we fetch new ones when needed + self.access_token: Optional[str] = None + self._access_token_expires: Optional[datetime] = None + + async def _ensure_access_token(self) -> None: + """Ensure there is an access token.""" + if ( + self.access_token is not None + and self._access_token_expires > datetime.utcnow() + ): + return + + with suppress(asyncio.TimeoutError, aiohttp.ClientError): + async with self.sys_websession_ssl.post( + f"{self.sys_homeassistant.api_url}/auth/token", + timeout=30, + data={ + "grant_type": "refresh_token", + "refresh_token": self.sys_homeassistant.refresh_token, + }, + ) as resp: + if resp.status != 200: + _LOGGER.error("Can't update Home Assistant access token!") + raise HomeAssistantAuthError() + + _LOGGER.info("Updated Home Assistant API token") + tokens = await resp.json() + self.access_token = tokens["access_token"] + self._access_token_expires = datetime.utcnow() + timedelta( + seconds=tokens["expires_in"] + ) + + @asynccontextmanager + async def make_request( + self, + method: str, + path: str, + json: Optional[Dict[str, Any]] = None, + content_type: Optional[str] = None, + data: Any = None, + timeout: int = 30, + params: Optional[Dict[str, str]] = None, + headers: Optional[Dict[str, str]] = None, + ) -> AsyncContextManager[aiohttp.ClientResponse]: + """Async context manager to make a request with right auth.""" + url = f"{self.sys_homeassistant.api_url}/{path}" + headers = headers or {} + + # Passthrough content type + if content_type is not None: + headers[hdrs.CONTENT_TYPE] = content_type + + for _ in (1, 2): + await self._ensure_access_token() + headers[hdrs.AUTHORIZATION] = f"Bearer {self.access_token}" + + try: + async with getattr(self.sys_websession_ssl, method)( + url, + data=data, + timeout=timeout, + json=json, + headers=headers, + params=params, + ) as resp: + # Access token expired + if resp.status == 401: + self.access_token = None + continue + yield resp + return + except (asyncio.TimeoutError, aiohttp.ClientError) as err: + _LOGGER.error("Error on call %s: %s", url, err) + break + + raise HomeAssistantAPIError() + + async def check_api_state(self) -> bool: + """Return True if Home Assistant up and running.""" + # Check if port is up + if not await self.sys_run_in_executor( + check_port, + self.sys_homeassistant.ip_address, + self.sys_homeassistant.api_port, + ): + return False + + # Check if API is up + with suppress(HomeAssistantAPIError): + async with self.make_request("get", "api/config") as resp: + if resp.status in (200, 201): + data = await resp.json() + if data.get("state", "RUNNING") == "RUNNING": + return True + else: + _LOGGER.debug("Home Assistant API return: %d", resp.status) + + return False diff --git a/supervisor/homeassistant.py b/supervisor/homeassistant/core.py similarity index 50% rename from supervisor/homeassistant.py rename to supervisor/homeassistant/core.py index 6826f72f4..defc2b52f 100644 --- a/supervisor/homeassistant.py +++ b/supervisor/homeassistant/core.py @@ -1,50 +1,22 @@ """Home Assistant control object.""" import asyncio -from contextlib import asynccontextmanager, suppress -from datetime import datetime, timedelta -from ipaddress import IPv4Address +from contextlib import suppress import logging from pathlib import Path import re import secrets import shutil import time -from typing import Any, AsyncContextManager, Awaitable, Dict, Optional -from uuid import UUID +from typing import Awaitable, Optional -import aiohttp -from aiohttp import hdrs import attr from packaging import version as pkg_version -from .const import ( - ATTR_ACCESS_TOKEN, - ATTR_AUDIO_INPUT, - ATTR_AUDIO_OUTPUT, - ATTR_BOOT, - ATTR_IMAGE, - ATTR_PORT, - ATTR_REFRESH_TOKEN, - ATTR_SSL, - ATTR_UUID, - ATTR_VERSION, - ATTR_WAIT_BOOT, - ATTR_WATCHDOG, - FILE_HASSIO_HOMEASSISTANT, -) -from .coresys import CoreSys, CoreSysAttributes -from .docker.homeassistant import DockerHomeAssistant -from .docker.stats import DockerStats -from .exceptions import ( - DockerAPIError, - HomeAssistantAPIError, - HomeAssistantAuthError, - HomeAssistantError, - HomeAssistantUpdateError, -) -from .utils import check_port, convert_to_ascii, process_lock -from .utils.json import JsonConfig -from .validate import SCHEMA_HASS_CONFIG +from ..coresys import CoreSys, CoreSysAttributes +from ..docker.homeassistant import DockerHomeAssistant +from ..docker.stats import DockerStats +from ..exceptions import DockerAPIError, HomeAssistantError, HomeAssistantUpdateError +from ..utils import convert_to_ascii, process_lock _LOGGER: logging.Logger = logging.getLogger(__name__) @@ -61,192 +33,40 @@ class ConfigResult: log = attr.ib() -class HomeAssistant(JsonConfig, CoreSysAttributes): +class HomeAssistantCore(CoreSysAttributes): """Home Assistant core object for handle it.""" def __init__(self, coresys: CoreSys): """Initialize Home Assistant object.""" - super().__init__(FILE_HASSIO_HOMEASSISTANT, SCHEMA_HASS_CONFIG) self.coresys: CoreSys = coresys self.instance: DockerHomeAssistant = DockerHomeAssistant(coresys) self.lock: asyncio.Lock = asyncio.Lock() self._error_state: bool = False - # We don't persist access tokens. Instead we fetch new ones when needed - self.access_token: Optional[str] = None - self._access_token_expires: Optional[datetime] = None - - async def load(self) -> None: - """Prepare Home Assistant object.""" - try: - # Evaluate Version if we lost this information - if not self.version: - self.version = await self.instance.get_latest_version( - key=pkg_version.parse - ) - - await self.instance.attach(tag=self.version) - except DockerAPIError: - _LOGGER.info("No Home Assistant Docker image %s found.", self.image) - await self.install_landingpage() - else: - self.version = self.instance.version - self.image = self.instance.image - self.save_data() - - @property - def machine(self) -> str: - """Return the system machines.""" - return self.instance.machine - - @property - def arch(self) -> str: - """Return arch of running Home Assistant.""" - return self.instance.arch - @property def error_state(self) -> bool: """Return True if system is in error.""" return self._error_state - @property - def ip_address(self) -> IPv4Address: - """Return IP of Home Assistant instance.""" - return self.instance.ip_address + async def load(self) -> None: + """Prepare Home Assistant object.""" + try: + # Evaluate Version if we lost this information + if not self.sys_homeassistant.version: + self.sys_homeassistant.version = await self.instance.get_latest_version( + key=pkg_version.parse + ) - @property - def api_port(self) -> int: - """Return network port to Home Assistant instance.""" - return self._data[ATTR_PORT] - - @api_port.setter - def api_port(self, value: int) -> None: - """Set network port for Home Assistant instance.""" - self._data[ATTR_PORT] = value - - @property - def api_ssl(self) -> bool: - """Return if we need ssl to Home Assistant instance.""" - return self._data[ATTR_SSL] - - @api_ssl.setter - def api_ssl(self, value: bool): - """Set SSL for Home Assistant instance.""" - self._data[ATTR_SSL] = value - - @property - def api_url(self) -> str: - """Return API url to Home Assistant.""" - return "{}://{}:{}".format( - "https" if self.api_ssl else "http", self.ip_address, self.api_port - ) - - @property - def watchdog(self) -> bool: - """Return True if the watchdog should protect Home Assistant.""" - return self._data[ATTR_WATCHDOG] - - @watchdog.setter - def watchdog(self, value: bool): - """Return True if the watchdog should protect Home Assistant.""" - self._data[ATTR_WATCHDOG] = value - - @property - def wait_boot(self) -> int: - """Return time to wait for Home Assistant startup.""" - return self._data[ATTR_WAIT_BOOT] - - @wait_boot.setter - def wait_boot(self, value: int): - """Set time to wait for Home Assistant startup.""" - self._data[ATTR_WAIT_BOOT] = value - - @property - def latest_version(self) -> str: - """Return last available version of Home Assistant.""" - return self.sys_updater.version_homeassistant - - @property - def image(self) -> str: - """Return image name of the Home Assistant container.""" - if self._data.get(ATTR_IMAGE): - return self._data[ATTR_IMAGE] - return f"homeassistant/{self.sys_machine}-homeassistant" - - @image.setter - def image(self, value: str) -> None: - """Set image name of Home Assistant container.""" - self._data[ATTR_IMAGE] = value - - @property - def version(self) -> Optional[str]: - """Return version of local version.""" - return self._data.get(ATTR_VERSION) - - @version.setter - def version(self, value: str) -> None: - """Set installed version.""" - self._data[ATTR_VERSION] = value - - @property - def boot(self) -> bool: - """Return True if Home Assistant boot is enabled.""" - return self._data[ATTR_BOOT] - - @boot.setter - def boot(self, value: bool): - """Set Home Assistant boot options.""" - self._data[ATTR_BOOT] = value - - @property - def uuid(self) -> UUID: - """Return a UUID of this Home Assistant instance.""" - return self._data[ATTR_UUID] - - @property - def supervisor_token(self) -> Optional[str]: - """Return an access token for the Supervisor API.""" - return self._data.get(ATTR_ACCESS_TOKEN) - - @property - def refresh_token(self) -> Optional[str]: - """Return the refresh token to authenticate with Home Assistant.""" - return self._data.get(ATTR_REFRESH_TOKEN) - - @refresh_token.setter - def refresh_token(self, value: str): - """Set Home Assistant refresh_token.""" - self._data[ATTR_REFRESH_TOKEN] = value - - @property - def path_pulse(self): - """Return path to asound config.""" - return Path(self.sys_config.path_tmp, "homeassistant_pulse") - - @property - def path_extern_pulse(self): - """Return path to asound config for Docker.""" - return Path(self.sys_config.path_extern_tmp, "homeassistant_pulse") - - @property - def audio_output(self) -> Optional[str]: - """Return a pulse profile for output or None.""" - return self._data[ATTR_AUDIO_OUTPUT] - - @audio_output.setter - def audio_output(self, value: Optional[str]): - """Set audio output profile settings.""" - self._data[ATTR_AUDIO_OUTPUT] = value - - @property - def audio_input(self) -> Optional[str]: - """Return pulse profile for input or None.""" - return self._data[ATTR_AUDIO_INPUT] - - @audio_input.setter - def audio_input(self, value: Optional[str]): - """Set audio input settings.""" - self._data[ATTR_AUDIO_INPUT] = value + await self.instance.attach(tag=self.sys_homeassistant.version) + except DockerAPIError: + _LOGGER.info( + "No Home Assistant Docker image %s found.", self.sys_homeassistant.image + ) + await self.install_landingpage() + else: + self.sys_homeassistant.version = self.instance.version + self.sys_homeassistant.image = self.instance.image + self.sys_homeassistant.save_data() @process_lock async def install_landingpage(self) -> None: @@ -271,9 +91,9 @@ class HomeAssistant(JsonConfig, CoreSysAttributes): except Exception as err: # pylint: disable=broad-except self.sys_capture_exception(err) else: - self.version = self.instance.version - self.image = self.sys_updater.image_homeassistant - self.save_data() + self.sys_homeassistant.version = self.instance.version + self.sys_homeassistant.image = self.sys_updater.image_homeassistant + self.sys_homeassistant.save_data() break # Start landingpage @@ -287,10 +107,10 @@ class HomeAssistant(JsonConfig, CoreSysAttributes): _LOGGER.info("Setup Home Assistant") while True: # read homeassistant tag and install it - if not self.latest_version: + if not self.sys_homeassistant.latest_version: await self.sys_updater.reload() - tag = self.latest_version + tag = self.sys_homeassistant.latest_version if tag: try: await self.instance.update( @@ -306,9 +126,9 @@ class HomeAssistant(JsonConfig, CoreSysAttributes): await asyncio.sleep(30) _LOGGER.info("Home Assistant docker now installed") - self.version = self.instance.version - self.image = self.sys_updater.image_homeassistant - self.save_data() + self.sys_homeassistant.version = self.instance.version + self.sys_homeassistant.image = self.sys_updater.image_homeassistant + self.sys_homeassistant.save_data() # finishing try: @@ -324,9 +144,9 @@ class HomeAssistant(JsonConfig, CoreSysAttributes): @process_lock async def update(self, version: Optional[str] = None) -> None: """Update HomeAssistant version.""" - version = version or self.latest_version - old_image = self.image - rollback = self.version if not self.error_state else None + version = version or self.sys_homeassistant.latest_version + old_image = self.sys_homeassistant.image + rollback = self.sys_homeassistant.version if not self.error_state else None running = await self.instance.is_running() exists = await self.instance.exists() @@ -346,15 +166,15 @@ class HomeAssistant(JsonConfig, CoreSysAttributes): _LOGGER.warning("Update Home Assistant image fails") raise HomeAssistantUpdateError() else: - self.version = self.instance.version - self.image = self.sys_updater.image_homeassistant + self.sys_homeassistant.version = self.instance.version + self.sys_homeassistant.image = self.sys_updater.image_homeassistant if running: await self._start() _LOGGER.info("Successful run Home Assistant %s", to_version) # Successfull - last step - self.save_data() + self.sys_homeassistant.save_data() with suppress(DockerAPIError): await self.instance.cleanup(old_image=old_image) @@ -384,18 +204,18 @@ class HomeAssistant(JsonConfig, CoreSysAttributes): async def _start(self) -> None: """Start Home Assistant Docker & wait.""" # Create new API token - self._data[ATTR_ACCESS_TOKEN] = secrets.token_hex(56) - self.save_data() + self.sys_homeassistant.supervisor_token = secrets.token_hex(56) + self.sys_homeassistant.save_data() # Write audio settings - self.write_pulse() + self.sys_homeassistant.write_pulse() try: await self.instance.run() except DockerAPIError: raise HomeAssistantError() - await self._block_till_run(self.version) + await self._block_till_run(self.sys_homeassistant.version) @process_lock async def start(self) -> None: @@ -411,7 +231,7 @@ class HomeAssistant(JsonConfig, CoreSysAttributes): except DockerAPIError: raise HomeAssistantError() - await self._block_till_run(self.version) + await self._block_till_run(self.sys_homeassistant.version) # No Instance/Container found, extended start else: await self._start() @@ -435,7 +255,7 @@ class HomeAssistant(JsonConfig, CoreSysAttributes): except DockerAPIError: raise HomeAssistantError() - await self._block_till_run(self.version) + await self._block_till_run(self.sys_homeassistant.version) @process_lock async def rebuild(self) -> None: @@ -503,101 +323,6 @@ class HomeAssistant(JsonConfig, CoreSysAttributes): _LOGGER.info("Home Assistant config is valid") return ConfigResult(True, log) - async def ensure_access_token(self) -> None: - """Ensure there is an access token.""" - if ( - self.access_token is not None - and self._access_token_expires > datetime.utcnow() - ): - return - - with suppress(asyncio.TimeoutError, aiohttp.ClientError): - async with self.sys_websession_ssl.post( - f"{self.api_url}/auth/token", - timeout=30, - data={ - "grant_type": "refresh_token", - "refresh_token": self.refresh_token, - }, - ) as resp: - if resp.status != 200: - _LOGGER.error("Can't update Home Assistant access token!") - raise HomeAssistantAuthError() - - _LOGGER.info("Updated Home Assistant API token") - tokens = await resp.json() - self.access_token = tokens["access_token"] - self._access_token_expires = datetime.utcnow() + timedelta( - seconds=tokens["expires_in"] - ) - - @asynccontextmanager - async def make_request( - self, - method: str, - path: str, - json: Optional[Dict[str, Any]] = None, - content_type: Optional[str] = None, - data: Any = None, - timeout: int = 30, - params: Optional[Dict[str, str]] = None, - headers: Optional[Dict[str, str]] = None, - ) -> AsyncContextManager[aiohttp.ClientResponse]: - """Async context manager to make a request with right auth.""" - url = f"{self.api_url}/{path}" - headers = headers or {} - - # Passthrough content type - if content_type is not None: - headers[hdrs.CONTENT_TYPE] = content_type - - for _ in (1, 2): - # Prepare Access token - if self.refresh_token: - await self.ensure_access_token() - headers[hdrs.AUTHORIZATION] = f"Bearer {self.access_token}" - - try: - async with getattr(self.sys_websession_ssl, method)( - url, - data=data, - timeout=timeout, - json=json, - headers=headers, - params=params, - ) as resp: - # Access token expired - if resp.status == 401 and self.refresh_token: - self.access_token = None - continue - yield resp - return - except (asyncio.TimeoutError, aiohttp.ClientError) as err: - _LOGGER.error("Error on call %s: %s", url, err) - break - - raise HomeAssistantAPIError() - - async def check_api_state(self) -> bool: - """Return True if Home Assistant up and running.""" - # Check if port is up - if not await self.sys_run_in_executor( - check_port, self.ip_address, self.api_port - ): - return False - - # Check if API is up - with suppress(HomeAssistantAPIError): - async with self.make_request("get", "api/config") as resp: - if resp.status in (200, 201): - data = await resp.json() - if data.get("state", "RUNNING") == "RUNNING": - return True - else: - _LOGGER.debug("Home Assistant API return: %d", resp.status) - - return False - async def _block_till_run(self, version: str) -> None: """Block until Home-Assistant is booting up or startup timeout.""" # Skip landingpage @@ -631,7 +356,7 @@ class HomeAssistant(JsonConfig, CoreSysAttributes): break # 2: Check if API response - if await self.check_api_state(): + if await self.sys_homeassistant.api.check_api_state(): _LOGGER.info("Detect a running Home Assistant instance") self._error_state = False return @@ -659,7 +384,10 @@ class HomeAssistant(JsonConfig, CoreSysAttributes): _LOGGER.info("Home Assistant pip installation done") # 5: Timeout - if timeout and time.monotonic() - start_time > self.wait_boot: + if ( + timeout + and time.monotonic() - start_time > self.sys_homeassistant.wait_boot + ): _LOGGER.warning("Don't wait anymore on Home Assistant startup!") break @@ -671,32 +399,13 @@ class HomeAssistant(JsonConfig, CoreSysAttributes): if await self.instance.exists(): return - _LOGGER.info("Repair Home Assistant %s", self.version) + _LOGGER.info("Repair Home Assistant %s", self.sys_homeassistant.version) await self.sys_run_in_executor( self.sys_docker.network.stale_cleanup, self.instance.name ) # Pull image try: - await self.instance.install(self.version) + await self.instance.install(self.sys_homeassistant.version) except DockerAPIError: _LOGGER.error("Repairing of Home Assistant fails") - - def write_pulse(self): - """Write asound config to file and return True on success.""" - pulse_config = self.sys_plugins.audio.pulse_client( - input_profile=self.audio_input, output_profile=self.audio_output - ) - - # Cleanup wrong maps - if self.path_pulse.is_dir(): - shutil.rmtree(self.path_pulse, ignore_errors=True) - - # Write pulse config - try: - with self.path_pulse.open("w") as config_file: - config_file.write(pulse_config) - except OSError as err: - _LOGGER.error("Home Assistant can't write pulse/client.config: %s", err) - else: - _LOGGER.info("Update pulse/client.config: %s", self.path_pulse) diff --git a/supervisor/misc/secrets.py b/supervisor/homeassistant/secrets.py similarity index 97% rename from supervisor/misc/secrets.py rename to supervisor/homeassistant/secrets.py index b37953907..6673593ad 100644 --- a/supervisor/misc/secrets.py +++ b/supervisor/homeassistant/secrets.py @@ -12,7 +12,7 @@ from ..utils import AsyncThrottle _LOGGER: logging.Logger = logging.getLogger(__name__) -class SecretsManager(CoreSysAttributes): +class HomeAssistantSecrets(CoreSysAttributes): """Manage Home Assistant secrets.""" def __init__(self, coresys: CoreSys): diff --git a/supervisor/ingress.py b/supervisor/ingress.py index 0ace576c7..02c70ec10 100644 --- a/supervisor/ingress.py +++ b/supervisor/ingress.py @@ -156,13 +156,13 @@ class Ingress(JsonConfig, CoreSysAttributes): async def update_hass_panel(self, addon: Addon): """Return True if Home Assistant up and running.""" - if not await self.sys_homeassistant.is_running(): + if not await self.sys_homeassistant.core.is_running(): _LOGGER.debug("Ignore panel update on Core") return # Update UI method = "post" if addon.ingress_panel else "delete" - async with self.sys_homeassistant.make_request( + async with self.sys_homeassistant.api.make_request( method, f"api/hassio_push/panel/{addon.slug}" ) as resp: if resp.status in (200, 201): diff --git a/supervisor/misc/tasks.py b/supervisor/misc/tasks.py index e3610517c..574d1383f 100644 --- a/supervisor/misc/tasks.py +++ b/supervisor/misc/tasks.py @@ -169,7 +169,7 @@ class Tasks(CoreSysAttributes): """Check running state of Docker and start if they is close.""" # if Home Assistant is active if ( - not await self.sys_homeassistant.is_fails() + not await self.sys_homeassistant.core.is_fails() or not self.sys_homeassistant.watchdog or self.sys_homeassistant.error_state ): @@ -177,14 +177,14 @@ class Tasks(CoreSysAttributes): # if Home Assistant is running if ( - self.sys_homeassistant.in_progress - or await self.sys_homeassistant.is_running() + self.sys_homeassistant.core.in_progress + or await self.sys_homeassistant.core.is_running() ): return _LOGGER.warning("Watchdog found a problem with Home Assistant Docker!") try: - await self.sys_homeassistant.start() + await self.sys_homeassistant.core.start() except HomeAssistantError: _LOGGER.error("Watchdog Home Assistant reanimation fails!") @@ -196,7 +196,7 @@ class Tasks(CoreSysAttributes): """ # If Home-Assistant is active if ( - not await self.sys_homeassistant.is_fails() + not await self.sys_homeassistant.core.is_fails() or not self.sys_homeassistant.watchdog or self.sys_homeassistant.error_state ): @@ -207,8 +207,8 @@ class Tasks(CoreSysAttributes): # If Home-Assistant API is up if ( - self.sys_homeassistant.in_progress - or await self.sys_homeassistant.check_api_state() + self.sys_homeassistant.core.in_progress + or await self.sys_homeassistant.api.check_api_state() ): return @@ -221,7 +221,7 @@ class Tasks(CoreSysAttributes): _LOGGER.error("Watchdog found a problem with Home Assistant API!") try: - await self.sys_homeassistant.restart() + await self.sys_homeassistant.core.restart() except HomeAssistantError: _LOGGER.error("Watchdog Home Assistant reanimation fails!") finally: diff --git a/supervisor/snapshots/__init__.py b/supervisor/snapshots/__init__.py index 8b3fae3bb..942e2e9b9 100644 --- a/supervisor/snapshots/__init__.py +++ b/supervisor/snapshots/__init__.py @@ -231,7 +231,7 @@ class SnapshotManager(CoreSysAttributes): _LOGGER.info("Restore %s run Home-Assistant", snapshot.slug) snapshot.restore_homeassistant() task_hass = self.sys_create_task( - self.sys_homeassistant.update(snapshot.homeassistant_version) + self.sys_homeassistant.core.update(snapshot.homeassistant_version) ) # Restore repositories @@ -295,7 +295,7 @@ class SnapshotManager(CoreSysAttributes): async with snapshot: # Stop Home-Assistant for config restore if FOLDER_HOMEASSISTANT in folders: - await self.sys_homeassistant.stop() + await self.sys_homeassistant.core.stop() snapshot.restore_homeassistant() # Process folders @@ -308,7 +308,9 @@ class SnapshotManager(CoreSysAttributes): if homeassistant: _LOGGER.info("Restore %s run Home-Assistant", snapshot.slug) task_hass = self.sys_create_task( - self.sys_homeassistant.update(snapshot.homeassistant_version) + self.sys_homeassistant.core.update( + snapshot.homeassistant_version + ) ) if addons: @@ -324,13 +326,13 @@ class SnapshotManager(CoreSysAttributes): await task_hass # Do we need start HomeAssistant? - if not await self.sys_homeassistant.is_running(): + if not await self.sys_homeassistant.core.is_running(): await self.sys_homeassistant.start() # Check If we can access to API / otherwise restart - if not await self.sys_homeassistant.check_api_state(): + if not await self.sys_homeassistant.api.check_api_state(): _LOGGER.warning("Need restart HomeAssistant for API") - await self.sys_homeassistant.restart() + await self.sys_homeassistant.core.restart() except Exception: # pylint: disable=broad-except _LOGGER.exception("Restore %s error", snapshot.slug) From fae246c50385388a5788c4b2ee0c727df5496d69 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Thu, 20 Aug 2020 11:35:05 +0200 Subject: [PATCH 05/27] Fix setup module list (#1952) * Fix setup module list * Update setup.py * Update setup.py --- setup.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/setup.py b/setup.py index 981e3718b..75549ab03 100644 --- a/setup.py +++ b/setup.py @@ -35,10 +35,18 @@ setup( "supervisor.docker", "supervisor.addons", "supervisor.api", + "supervisor.dbus", + "supervisor.discovery", + "supervisor.discovery.services", + "supervisor.services", + "supervisor.services.modules", + "supervisor.homeassistant", + "supervisor.host", "supervisor.misc", "supervisor.utils", "supervisor.plugins", "supervisor.snapshots", + "supervisor.store", ], include_package_data=True, ) From 89ed10950556384051c960da4eec87c204917bf7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Aug 2020 09:01:22 +0200 Subject: [PATCH 06/27] Bump attrs from 19.3.0 to 20.1.0 (#1954) Bumps [attrs](https://github.com/python-attrs/attrs) from 19.3.0 to 20.1.0. - [Release notes](https://github.com/python-attrs/attrs/releases) - [Changelog](https://github.com/python-attrs/attrs/blob/master/CHANGELOG.rst) - [Commits](https://github.com/python-attrs/attrs/compare/19.3.0...20.1.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 29eca833a..36ae95ed8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ aiohttp==3.6.2 async_timeout==3.0.1 -attrs==19.3.0 +attrs==20.1.0 cchardet==2.1.6 colorlog==4.2.1 cpe==1.2.1 From 948019ccee881329ff876eff4b02c73f209b559b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Aug 2020 09:01:55 +0200 Subject: [PATCH 07/27] Bump debugpy from 1.0.0rc1 to 1.0.0rc2 (#1953) Bumps [debugpy](https://github.com/microsoft/debugpy) from 1.0.0rc1 to 1.0.0rc2. - [Release notes](https://github.com/microsoft/debugpy/releases) - [Commits](https://github.com/microsoft/debugpy/compare/v1.0.0rc1...v1.0.0rc2) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 36ae95ed8..182b8f3bd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ cchardet==2.1.6 colorlog==4.2.1 cpe==1.2.1 cryptography==3.0 -debugpy==1.0.0rc1 +debugpy==1.0.0rc2 docker==4.3.0 gitpython==3.1.7 jinja2==2.11.2 From a8b70a2e137fe3edf3ca5919da082971c68b5674 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Aug 2020 09:16:35 +0200 Subject: [PATCH 08/27] Bump docker from 4.3.0 to 4.3.1 (#1960) Bumps [docker](https://github.com/docker/docker-py) from 4.3.0 to 4.3.1. - [Release notes](https://github.com/docker/docker-py/releases) - [Commits](https://github.com/docker/docker-py/compare/4.3.0...4.3.1) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 182b8f3bd..142ee8c73 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ colorlog==4.2.1 cpe==1.2.1 cryptography==3.0 debugpy==1.0.0rc2 -docker==4.3.0 +docker==4.3.1 gitpython==3.1.7 jinja2==2.11.2 packaging==20.4 From 06cb5e171e2a753d5f6796e54be2ded775051550 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Aug 2020 09:16:54 +0200 Subject: [PATCH 09/27] Bump pydocstyle from 5.0.2 to 5.1.0 (#1959) Bumps [pydocstyle](https://github.com/PyCQA/pydocstyle) from 5.0.2 to 5.1.0. - [Release notes](https://github.com/PyCQA/pydocstyle/releases) - [Changelog](https://github.com/PyCQA/pydocstyle/blob/master/docs/release_notes.rst) - [Commits](https://github.com/PyCQA/pydocstyle/compare/5.0.2...5.1.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_tests.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_tests.txt b/requirements_tests.txt index e9ae3b258..417e1efd2 100644 --- a/requirements_tests.txt +++ b/requirements_tests.txt @@ -4,7 +4,7 @@ coverage==5.2.1 flake8-docstrings==1.5.0 flake8==3.8.3 pre-commit==2.6.0 -pydocstyle==5.0.2 +pydocstyle==5.1.0 pylint==2.5.3 pytest-aiohttp==0.3.0 pytest-cov==2.10.1 From ff57d88e2acb1f7dc9f66274ec2901be87174d27 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Aug 2020 09:18:14 +0200 Subject: [PATCH 10/27] Bump codecov from 2.1.8 to 2.1.9 (#1963) Bumps [codecov](https://github.com/codecov/codecov-python) from 2.1.8 to 2.1.9. - [Release notes](https://github.com/codecov/codecov-python/releases) - [Changelog](https://github.com/codecov/codecov-python/blob/master/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-python/compare/2.1.8...v2.1.9) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_tests.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_tests.txt b/requirements_tests.txt index 417e1efd2..e2e1be846 100644 --- a/requirements_tests.txt +++ b/requirements_tests.txt @@ -1,5 +1,5 @@ black==19.10b0 -codecov==2.1.8 +codecov==2.1.9 coverage==5.2.1 flake8-docstrings==1.5.0 flake8==3.8.3 From cd31fad56d5e53eb11181cf6d7c9dff8cb4fde38 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Aug 2020 10:10:33 +0200 Subject: [PATCH 11/27] Bump pre-commit from 2.6.0 to 2.7.1 (#1961) Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 2.6.0 to 2.7.1. - [Release notes](https://github.com/pre-commit/pre-commit/releases) - [Changelog](https://github.com/pre-commit/pre-commit/blob/master/CHANGELOG.md) - [Commits](https://github.com/pre-commit/pre-commit/compare/v2.6.0...v2.7.1) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_tests.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_tests.txt b/requirements_tests.txt index e2e1be846..a5a1d4f22 100644 --- a/requirements_tests.txt +++ b/requirements_tests.txt @@ -3,7 +3,7 @@ codecov==2.1.9 coverage==5.2.1 flake8-docstrings==1.5.0 flake8==3.8.3 -pre-commit==2.6.0 +pre-commit==2.7.1 pydocstyle==5.1.0 pylint==2.5.3 pytest-aiohttp==0.3.0 From 979586cdb2a9d13a4c9cc17123b4ec8730c9e22d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Aug 2020 10:16:50 +0200 Subject: [PATCH 12/27] Bump pylint from 2.5.3 to 2.6.0 (#1962) * Bump pylint from 2.5.3 to 2.6.0 Bumps [pylint](https://github.com/PyCQA/pylint) from 2.5.3 to 2.6.0. - [Release notes](https://github.com/PyCQA/pylint/releases) - [Changelog](https://github.com/PyCQA/pylint/blob/master/ChangeLog) - [Commits](https://github.com/PyCQA/pylint/compare/pylint-2.5.3...pylint-2.6.0) Signed-off-by: dependabot[bot] * Address lint issues Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Pascal Vizeli --- requirements_tests.txt | 2 +- supervisor/addons/__init__.py | 16 ++++++------ supervisor/addons/addon.py | 44 ++++++++++++++++---------------- supervisor/addons/validate.py | 16 ++++++------ supervisor/api/utils.py | 6 ++--- supervisor/discovery/__init__.py | 2 +- supervisor/discovery/validate.py | 4 +-- supervisor/docker/__init__.py | 8 +++--- supervisor/docker/addon.py | 12 ++++----- supervisor/docker/interface.py | 40 ++++++++++++++--------------- supervisor/docker/network.py | 4 +-- supervisor/docker/supervisor.py | 8 +++--- supervisor/hassos.py | 4 +-- supervisor/homeassistant/core.py | 24 ++++++++--------- supervisor/host/apparmor.py | 8 +++--- supervisor/host/info.py | 4 +-- supervisor/host/network.py | 4 +-- supervisor/host/sound.py | 27 ++++++++++---------- supervisor/plugins/audio.py | 20 +++++++-------- supervisor/plugins/cli.py | 16 ++++++------ supervisor/plugins/dns.py | 24 ++++++++--------- supervisor/plugins/multicast.py | 20 +++++++-------- supervisor/snapshots/snapshot.py | 2 +- supervisor/snapshots/validate.py | 2 +- supervisor/supervisor.py | 16 ++++++------ supervisor/updater.py | 6 ++--- supervisor/utils/apparmor.py | 6 ++--- supervisor/utils/gdbus.py | 20 +++++++-------- supervisor/utils/json.py | 4 +-- supervisor/utils/validate.py | 2 +- supervisor/validate.py | 8 +++--- 31 files changed, 190 insertions(+), 189 deletions(-) diff --git a/requirements_tests.txt b/requirements_tests.txt index a5a1d4f22..79285b86c 100644 --- a/requirements_tests.txt +++ b/requirements_tests.txt @@ -5,7 +5,7 @@ flake8-docstrings==1.5.0 flake8==3.8.3 pre-commit==2.7.1 pydocstyle==5.1.0 -pylint==2.5.3 +pylint==2.6.0 pytest-aiohttp==0.3.0 pytest-cov==2.10.1 pytest-timeout==1.4.2 diff --git a/supervisor/addons/__init__.py b/supervisor/addons/__init__.py index 8413f1ef7..56dd8c5f4 100644 --- a/supervisor/addons/__init__.py +++ b/supervisor/addons/__init__.py @@ -153,9 +153,9 @@ class AddonManager(CoreSysAttributes): try: await addon.instance.install(store.version, store.image) - except DockerAPIError: + except DockerAPIError as err: self.data.uninstall(addon) - raise AddonsError() + raise AddonsError() from err else: self.local[slug] = addon @@ -174,8 +174,8 @@ class AddonManager(CoreSysAttributes): try: await addon.instance.remove() - except DockerAPIError: - raise AddonsError() + except DockerAPIError as err: + raise AddonsError() from err await addon.remove_data() @@ -245,8 +245,8 @@ class AddonManager(CoreSysAttributes): # Cleanup with suppress(DockerAPIError): await addon.instance.cleanup() - except DockerAPIError: - raise AddonsError() + except DockerAPIError as err: + raise AddonsError() from err else: self.data.update(store) _LOGGER.info("Add-on '%s' successfully updated", slug) @@ -283,8 +283,8 @@ class AddonManager(CoreSysAttributes): try: await addon.instance.remove() await addon.instance.install(addon.version) - except DockerAPIError: - raise AddonsError() + except DockerAPIError as err: + raise AddonsError() from err else: self.data.update(store) _LOGGER.info("Add-on '%s' successfully rebuilt", slug) diff --git a/supervisor/addons/addon.py b/supervisor/addons/addon.py index f97748661..34144ae70 100644 --- a/supervisor/addons/addon.py +++ b/supervisor/addons/addon.py @@ -488,15 +488,15 @@ class Addon(AddonModel): # Start Add-on try: await self.instance.run() - except DockerAPIError: - raise AddonsError() + except DockerAPIError as err: + raise AddonsError() from err async def stop(self) -> None: """Stop add-on.""" try: return await self.instance.stop() - except DockerAPIError: - raise AddonsError() + except DockerAPIError as err: + raise AddonsError() from err async def restart(self) -> None: """Restart add-on.""" @@ -515,8 +515,8 @@ class Addon(AddonModel): """Return stats of container.""" try: return await self.instance.stats() - except DockerAPIError: - raise AddonsError() + except DockerAPIError as err: + raise AddonsError() from err async def write_stdin(self, data) -> None: """Write data to add-on stdin. @@ -529,8 +529,8 @@ class Addon(AddonModel): try: return await self.instance.write_stdin(data) - except DockerAPIError: - raise AddonsError() + except DockerAPIError as err: + raise AddonsError() from err async def snapshot(self, tar_file: tarfile.TarFile) -> None: """Snapshot state of an add-on.""" @@ -541,8 +541,8 @@ class Addon(AddonModel): if self.need_build: try: await self.instance.export_image(temp_path.joinpath("image.tar")) - except DockerAPIError: - raise AddonsError() + except DockerAPIError as err: + raise AddonsError() from err data = { ATTR_USER: self.persist, @@ -554,18 +554,18 @@ class Addon(AddonModel): # Store local configs/state try: write_json_file(temp_path.joinpath("addon.json"), data) - except JsonFileError: + except JsonFileError as err: _LOGGER.error("Can't save meta for %s", self.slug) - raise AddonsError() + raise AddonsError() from err # Store AppArmor Profile if self.sys_host.apparmor.exists(self.slug): profile = temp_path.joinpath("apparmor.txt") try: self.sys_host.apparmor.backup_profile(self.slug, profile) - except HostAppArmorError: + except HostAppArmorError as err: _LOGGER.error("Can't backup AppArmor profile") - raise AddonsError() + raise AddonsError() from err # write into tarfile def _write_tarfile(): @@ -588,7 +588,7 @@ class Addon(AddonModel): await self.sys_run_in_executor(_write_tarfile) except (tarfile.TarError, OSError) as err: _LOGGER.error("Can't write tarfile %s: %s", tar_file, err) - raise AddonsError() + raise AddonsError() from err _LOGGER.info("Finish snapshot for addon %s", self.slug) @@ -605,13 +605,13 @@ class Addon(AddonModel): await self.sys_run_in_executor(_extract_tarfile) except tarfile.TarError as err: _LOGGER.error("Can't read tarfile %s: %s", tar_file, err) - raise AddonsError() + raise AddonsError() from err # Read snapshot data try: data = read_json_file(Path(temp, "addon.json")) - except JsonFileError: - raise AddonsError() + except JsonFileError as err: + raise AddonsError() from err # Validate try: @@ -622,7 +622,7 @@ class Addon(AddonModel): self.slug, humanize_error(data, err), ) - raise AddonsError() + raise AddonsError() from err # If available if not self._available(data[ATTR_SYSTEM]): @@ -669,18 +669,18 @@ class Addon(AddonModel): await self.sys_run_in_executor(_restore_data) except shutil.Error as err: _LOGGER.error("Can't restore origin data: %s", err) - raise AddonsError() + raise AddonsError() from err # Restore AppArmor profile_file = Path(temp, "apparmor.txt") if profile_file.exists(): try: await self.sys_host.apparmor.load_profile(self.slug, profile_file) - except HostAppArmorError: + except HostAppArmorError as err: _LOGGER.error( "Can't restore AppArmor profile for add-on %s", self.slug ) - raise AddonsError() + raise AddonsError() from err # Run add-on if data[ATTR_STATE] == STATE_STARTED: diff --git a/supervisor/addons/validate.py b/supervisor/addons/validate.py index 367d5f919..34e99bc91 100644 --- a/supervisor/addons/validate.py +++ b/supervisor/addons/validate.py @@ -364,7 +364,7 @@ def validate_options(coresys: CoreSys, raw_schema: Dict[str, Any]): # normal value options[key] = _single_validate(coresys, typ, value, key) except (IndexError, KeyError): - raise vol.Invalid(f"Type error for {key}") + raise vol.Invalid(f"Type error for {key}") from None _check_missing_options(raw_schema, options, "root") return options @@ -378,20 +378,20 @@ def _single_validate(coresys: CoreSys, typ: str, value: Any, key: str): """Validate a single element.""" # if required argument if value is None: - raise vol.Invalid(f"Missing required option '{key}'") + raise vol.Invalid(f"Missing required option '{key}'") from None # Lookup secret if str(value).startswith("!secret "): secret: str = value.partition(" ")[2] value = coresys.secrets.get(secret) if value is None: - raise vol.Invalid(f"Unknown secret {secret}") + raise vol.Invalid(f"Unknown secret {secret}") from None # parse extend data from type match = RE_SCHEMA_ELEMENT.match(typ) if not match: - raise vol.Invalid(f"Unknown type {typ}") + raise vol.Invalid(f"Unknown type {typ}") from None # prepare range range_args = {} @@ -419,7 +419,7 @@ def _single_validate(coresys: CoreSys, typ: str, value: Any, key: str): elif typ.startswith(V_LIST): return vol.In(match.group("list").split("|"))(str(value)) - raise vol.Invalid(f"Fatal error for {key} type {typ}") + raise vol.Invalid(f"Fatal error for {key} type {typ}") from None def _nested_validate_list(coresys, typ, data_list, key): @@ -428,7 +428,7 @@ def _nested_validate_list(coresys, typ, data_list, key): # Make sure it is a list if not isinstance(data_list, list): - raise vol.Invalid(f"Invalid list for {key}") + raise vol.Invalid(f"Invalid list for {key}") from None # Process list for element in data_list: @@ -448,7 +448,7 @@ def _nested_validate_dict(coresys, typ, data_dict, key): # Make sure it is a dict if not isinstance(data_dict, dict): - raise vol.Invalid(f"Invalid dict for {key}") + raise vol.Invalid(f"Invalid dict for {key}") from None # Process dict for c_key, c_value in data_dict.items(): @@ -475,7 +475,7 @@ def _check_missing_options(origin, exists, root): for miss_opt in missing: if isinstance(origin[miss_opt], str) and origin[miss_opt].endswith("?"): continue - raise vol.Invalid(f"Missing option {miss_opt} in {root}") + raise vol.Invalid(f"Missing option {miss_opt} in {root}") from None def schema_ui_options(raw_schema: Dict[str, Any]) -> List[Dict[str, Any]]: diff --git a/supervisor/api/utils.py b/supervisor/api/utils.py index 063164358..8c64c3204 100644 --- a/supervisor/api/utils.py +++ b/supervisor/api/utils.py @@ -48,8 +48,8 @@ def json_loads(data: Any) -> Dict[str, Any]: return {} try: return json.loads(data) - except json.JSONDecodeError: - raise APIError("Invalid json") + except json.JSONDecodeError as err: + raise APIError("Invalid json") from err def api_process(method): @@ -120,7 +120,7 @@ async def api_validate( try: data_validated = schema(data) except vol.Invalid as ex: - raise APIError(humanize_error(data, ex)) + raise APIError(humanize_error(data, ex)) from None if not origin: return data_validated diff --git a/supervisor/discovery/__init__.py b/supervisor/discovery/__init__.py index c56e96cfa..925578381 100644 --- a/supervisor/discovery/__init__.py +++ b/supervisor/discovery/__init__.py @@ -79,7 +79,7 @@ class Discovery(CoreSysAttributes, JsonConfig): config = valid_discovery_config(service, config) except vol.Invalid as err: _LOGGER.error("Invalid discovery %s config", humanize_error(config, err)) - raise DiscoveryError() + raise DiscoveryError() from err # Create message message = Message(addon.slug, service, config) diff --git a/supervisor/discovery/validate.py b/supervisor/discovery/validate.py index 83c8a9cf7..16d357302 100644 --- a/supervisor/discovery/validate.py +++ b/supervisor/discovery/validate.py @@ -13,7 +13,7 @@ def valid_discovery_service(service): """Validate service name.""" service_file = Path(__file__).parent.joinpath(f"services/{service}.py") if not service_file.exists(): - raise vol.Invalid(f"Service {service} not found") + raise vol.Invalid(f"Service {service} not found") from None return service @@ -22,7 +22,7 @@ def valid_discovery_config(service, config): try: service_mod = import_module(f".services.{service}", "supervisor.discovery") except ImportError: - raise vol.Invalid(f"Service {service} not found") + raise vol.Invalid(f"Service {service} not found") from None return service_mod.SCHEMA(config) diff --git a/supervisor/docker/__init__.py b/supervisor/docker/__init__.py index 6505e9b80..03a55ba59 100644 --- a/supervisor/docker/__init__.py +++ b/supervisor/docker/__init__.py @@ -131,7 +131,7 @@ class DockerAPI: ) except (docker.errors.DockerException, requests.RequestException) as err: _LOGGER.error("Can't create container from %s: %s", name, err) - raise DockerAPIError() + raise DockerAPIError() from err # Attach network if not network_mode: @@ -149,7 +149,7 @@ class DockerAPI: container.start() except (docker.errors.DockerException, requests.RequestException) as err: _LOGGER.error("Can't start %s: %s", name, err) - raise DockerAPIError() + raise DockerAPIError() from err # Update metadata with suppress(docker.errors.DockerException, requests.RequestException): @@ -187,7 +187,7 @@ class DockerAPI: except (docker.errors.DockerException, requests.RequestException) as err: _LOGGER.error("Can't execute command: %s", err) - raise DockerAPIError() + raise DockerAPIError() from err finally: # cleanup container @@ -249,7 +249,7 @@ class DockerAPI: denied_images.add(image_name) except (docker.errors.DockerException, requests.RequestException) as err: _LOGGER.error("Corrupt docker overlayfs detect: %s", err) - raise DockerAPIError() + raise DockerAPIError() from err if not denied_images: return False diff --git a/supervisor/docker/addon.py b/supervisor/docker/addon.py index 276847a2c..61de7662a 100644 --- a/supervisor/docker/addon.py +++ b/supervisor/docker/addon.py @@ -402,7 +402,7 @@ class DockerAddon(DockerInterface): except (docker.errors.DockerException, requests.RequestException) as err: _LOGGER.error("Can't build %s:%s: %s", self.image, tag, err) - raise DockerAPIError() + raise DockerAPIError() from err _LOGGER.info("Build %s:%s done", self.image, tag) @@ -420,7 +420,7 @@ class DockerAddon(DockerInterface): image = self.sys_docker.api.get_image(f"{self.image}:{self.version}") except (docker.errors.DockerException, requests.RequestException) as err: _LOGGER.error("Can't fetch image %s: %s", self.image, err) - raise DockerAPIError() + raise DockerAPIError() from err _LOGGER.info("Export image %s to %s", self.image, tar_file) try: @@ -429,7 +429,7 @@ class DockerAddon(DockerInterface): write_tar.write(chunk) except (OSError, requests.RequestException) as err: _LOGGER.error("Can't write tar file %s: %s", tar_file, err) - raise DockerAPIError() + raise DockerAPIError() from err _LOGGER.info("Export image %s done", self.image) @@ -450,7 +450,7 @@ class DockerAddon(DockerInterface): docker_image = self.sys_docker.images.get(f"{self.image}:{self.version}") except (docker.errors.DockerException, OSError) as err: _LOGGER.error("Can't import image %s: %s", self.image, err) - raise DockerAPIError() + raise DockerAPIError() from err self._meta = docker_image.attrs _LOGGER.info("Import image %s and version %s", tar_file, self.version) @@ -477,7 +477,7 @@ class DockerAddon(DockerInterface): socket = container.attach_socket(params={"stdin": 1, "stream": 1}) except (docker.errors.DockerException, requests.RequestException) as err: _LOGGER.error("Can't attach to %s stdin: %s", self.name, err) - raise DockerAPIError() + raise DockerAPIError() from err try: # Write to stdin @@ -486,7 +486,7 @@ class DockerAddon(DockerInterface): socket.close() except OSError as err: _LOGGER.error("Can't write to %s stdin: %s", self.name, err) - raise DockerAPIError() + raise DockerAPIError() from err def _stop(self, remove_container=True) -> None: """Stop/remove Docker container. diff --git a/supervisor/docker/interface.py b/supervisor/docker/interface.py index b9791aab3..2713fa4ee 100644 --- a/supervisor/docker/interface.py +++ b/supervisor/docker/interface.py @@ -107,11 +107,11 @@ class DockerInterface(CoreSysAttributes): "Available space in /data is: %s GiB", free_space, ) - raise DockerAPIError() + raise DockerAPIError() from err except (docker.errors.DockerException, requests.RequestException) as err: _LOGGER.error("Unknown error with %s:%s -> %s", image, tag, err) self.sys_capture_exception(err) - raise DockerAPIError() + raise DockerAPIError() from err else: self._meta = docker_image.attrs @@ -145,8 +145,8 @@ class DockerInterface(CoreSysAttributes): docker_container = self.sys_docker.containers.get(self.name) except docker.errors.NotFound: return False - except (docker.errors.DockerException, requests.RequestException): - raise DockerAPIError() + except (docker.errors.DockerException, requests.RequestException) as err: + raise DockerAPIError() from err return docker_container.status == "running" @@ -198,8 +198,8 @@ class DockerInterface(CoreSysAttributes): docker_container = self.sys_docker.containers.get(self.name) except docker.errors.NotFound: return - except (docker.errors.DockerException, requests.RequestException): - raise DockerAPIError() + except (docker.errors.DockerException, requests.RequestException) as err: + raise DockerAPIError() from err if docker_container.status == "running": _LOGGER.info("Stop %s application", self.name) @@ -223,16 +223,16 @@ class DockerInterface(CoreSysAttributes): """ try: docker_container = self.sys_docker.containers.get(self.name) - except (docker.errors.DockerException, requests.RequestException): + except (docker.errors.DockerException, requests.RequestException) as err: _LOGGER.error("%s not found for starting up", self.name) - raise DockerAPIError() + raise DockerAPIError() from err _LOGGER.info("Start %s", self.name) try: docker_container.start() except (docker.errors.DockerException, requests.RequestException) as err: _LOGGER.error("Can't start %s: %s", self.name, err) - raise DockerAPIError() + raise DockerAPIError() from err @process_lock def remove(self) -> Awaitable[None]: @@ -261,7 +261,7 @@ class DockerInterface(CoreSysAttributes): except (docker.errors.DockerException, requests.RequestException) as err: _LOGGER.warning("Can't remove image %s: %s", self.image, err) - raise DockerAPIError() + raise DockerAPIError() from err self._meta = None @@ -328,9 +328,9 @@ class DockerInterface(CoreSysAttributes): """ try: origin = self.sys_docker.images.get(f"{self.image}:{self.version}") - except (docker.errors.DockerException, requests.RequestException): + except (docker.errors.DockerException, requests.RequestException) as err: _LOGGER.warning("Can't find %s for cleanup", self.image) - raise DockerAPIError() + raise DockerAPIError() from err # Cleanup Current for image in self.sys_docker.images.list(name=self.image): @@ -362,15 +362,15 @@ class DockerInterface(CoreSysAttributes): """ try: container = self.sys_docker.containers.get(self.name) - except (docker.errors.DockerException, requests.RequestException): - raise DockerAPIError() + except (docker.errors.DockerException, requests.RequestException) as err: + raise DockerAPIError() from err _LOGGER.info("Restart %s", self.image) try: container.restart(timeout=self.timeout) except (docker.errors.DockerException, requests.RequestException) as err: _LOGGER.warning("Can't restart %s: %s", self.image, err) - raise DockerAPIError() + raise DockerAPIError() from err @process_lock def execute_command(self, command: str) -> Awaitable[CommandReturn]: @@ -395,15 +395,15 @@ class DockerInterface(CoreSysAttributes): """ try: docker_container = self.sys_docker.containers.get(self.name) - except (docker.errors.DockerException, requests.RequestException): - raise DockerAPIError() + except (docker.errors.DockerException, requests.RequestException) as err: + raise DockerAPIError() from err try: stats = docker_container.stats(stream=False) return DockerStats(stats) except (docker.errors.DockerException, requests.RequestException) as err: _LOGGER.error("Can't read stats from %s: %s", self.name, err) - raise DockerAPIError() + raise DockerAPIError() from err def is_fails(self) -> Awaitable[bool]: """Return True if Docker is failing state. @@ -452,9 +452,9 @@ class DockerInterface(CoreSysAttributes): if not available_version: raise ValueError() - except (docker.errors.DockerException, ValueError): + except (docker.errors.DockerException, ValueError) as err: _LOGGER.debug("No version found for %s", self.image) - raise DockerAPIError() + raise DockerAPIError() from err else: _LOGGER.debug("Found %s versions: %s", self.image, available_version) diff --git a/supervisor/docker/network.py b/supervisor/docker/network.py index d6eb7ceec..3ccd778e1 100644 --- a/supervisor/docker/network.py +++ b/supervisor/docker/network.py @@ -108,7 +108,7 @@ class DockerNetwork: self.network.connect(container, aliases=alias, ipv4_address=ipv4_address) except docker.errors.APIError as err: _LOGGER.error("Can't link container to hassio-net: %s", err) - raise DockerAPIError() + raise DockerAPIError() from err self.network.reload() @@ -128,7 +128,7 @@ class DockerNetwork: except docker.errors.APIError as err: _LOGGER.warning("Can't disconnect container from default: %s", err) - raise DockerAPIError() + raise DockerAPIError() from err def stale_cleanup(self, container_name: str): """Remove force a container from Network. diff --git a/supervisor/docker/supervisor.py b/supervisor/docker/supervisor.py index fe6b67043..7413d46d0 100644 --- a/supervisor/docker/supervisor.py +++ b/supervisor/docker/supervisor.py @@ -39,8 +39,8 @@ class DockerSupervisor(DockerInterface, CoreSysAttributes): """ try: docker_container = self.sys_docker.containers.get(self.name) - except (docker.errors.DockerException, requests.RequestException): - raise DockerAPIError() + except (docker.errors.DockerException, requests.RequestException) as err: + raise DockerAPIError() from err self._meta = docker_container.attrs _LOGGER.info( @@ -77,7 +77,7 @@ class DockerSupervisor(DockerInterface, CoreSysAttributes): docker_container.image.tag(self.image, tag="latest") except (docker.errors.DockerException, requests.RequestException) as err: _LOGGER.error("Can't retag supervisor version: %s", err) - raise DockerAPIError() + raise DockerAPIError() from err def update_start_tag(self, image: str, version: str) -> Awaitable[None]: """Update start tag to new version.""" @@ -104,4 +104,4 @@ class DockerSupervisor(DockerInterface, CoreSysAttributes): except (docker.errors.DockerException, requests.RequestException) as err: _LOGGER.error("Can't fix start tag: %s", err) - raise DockerAPIError() + raise DockerAPIError() from err diff --git a/supervisor/hassos.py b/supervisor/hassos.py index 0f11cd0d2..6022cb2bc 100644 --- a/supervisor/hassos.py +++ b/supervisor/hassos.py @@ -140,9 +140,9 @@ class HassOS(CoreSysAttributes): await self.sys_dbus.rauc.install(ext_ota) completed = await self.sys_dbus.rauc.signal_completed() - except DBusError: + except DBusError as err: _LOGGER.error("Rauc communication error") - raise HassOSUpdateError() + raise HassOSUpdateError() from err finally: int_ota.unlink() diff --git a/supervisor/homeassistant/core.py b/supervisor/homeassistant/core.py index defc2b52f..b2ff56cc0 100644 --- a/supervisor/homeassistant/core.py +++ b/supervisor/homeassistant/core.py @@ -162,9 +162,9 @@ class HomeAssistantCore(CoreSysAttributes): await self.instance.update( to_version, image=self.sys_updater.image_homeassistant ) - except DockerAPIError: + except DockerAPIError as err: _LOGGER.warning("Update Home Assistant image fails") - raise HomeAssistantUpdateError() + raise HomeAssistantUpdateError() from err else: self.sys_homeassistant.version = self.instance.version self.sys_homeassistant.image = self.sys_updater.image_homeassistant @@ -212,8 +212,8 @@ class HomeAssistantCore(CoreSysAttributes): try: await self.instance.run() - except DockerAPIError: - raise HomeAssistantError() + except DockerAPIError as err: + raise HomeAssistantError() from err await self._block_till_run(self.sys_homeassistant.version) @@ -228,8 +228,8 @@ class HomeAssistantCore(CoreSysAttributes): if await self.instance.is_initialize(): try: await self.instance.start() - except DockerAPIError: - raise HomeAssistantError() + except DockerAPIError as err: + raise HomeAssistantError() from err await self._block_till_run(self.sys_homeassistant.version) # No Instance/Container found, extended start @@ -244,16 +244,16 @@ class HomeAssistantCore(CoreSysAttributes): """ try: return await self.instance.stop(remove_container=False) - except DockerAPIError: - raise HomeAssistantError() + except DockerAPIError as err: + raise HomeAssistantError() from err @process_lock async def restart(self) -> None: """Restart Home Assistant Docker.""" try: await self.instance.restart() - except DockerAPIError: - raise HomeAssistantError() + except DockerAPIError as err: + raise HomeAssistantError() from err await self._block_till_run(self.sys_homeassistant.version) @@ -278,8 +278,8 @@ class HomeAssistantCore(CoreSysAttributes): """ try: return await self.instance.stats() - except DockerAPIError: - raise HomeAssistantError() + except DockerAPIError as err: + raise HomeAssistantError() from err def is_running(self) -> Awaitable[bool]: """Return True if Docker container is running. diff --git a/supervisor/host/apparmor.py b/supervisor/host/apparmor.py index bb7422920..b756813e2 100644 --- a/supervisor/host/apparmor.py +++ b/supervisor/host/apparmor.py @@ -76,7 +76,7 @@ class AppArmorControl(CoreSysAttributes): shutil.copyfile(profile_file, dest_profile) except OSError as err: _LOGGER.error("Can't copy %s: %s", profile_file, err) - raise HostAppArmorError() + raise HostAppArmorError() from err # Load profiles _LOGGER.info("Add or Update AppArmor profile: %s", profile_name) @@ -94,7 +94,7 @@ class AppArmorControl(CoreSysAttributes): profile_file.unlink() except OSError as err: _LOGGER.error("Can't remove profile: %s", err) - raise HostAppArmorError() + raise HostAppArmorError() from err return # Marks als remove and start host process @@ -103,7 +103,7 @@ class AppArmorControl(CoreSysAttributes): profile_file.rename(remove_profile) except OSError as err: _LOGGER.error("Can't mark profile as remove: %s", err) - raise HostAppArmorError() + raise HostAppArmorError() from err _LOGGER.info("Remove AppArmor profile: %s", profile_name) self._profiles.remove(profile_name) @@ -117,4 +117,4 @@ class AppArmorControl(CoreSysAttributes): shutil.copy(profile_file, backup_file) except OSError as err: _LOGGER.error("Can't backup profile %s: %s", profile_name, err) - raise HostAppArmorError() + raise HostAppArmorError() from err diff --git a/supervisor/host/info.py b/supervisor/host/info.py index 9aebbe7e8..d71bf885d 100644 --- a/supervisor/host/info.py +++ b/supervisor/host/info.py @@ -83,7 +83,7 @@ class InfoCenter(CoreSysAttributes): stdout, _ = await proc.communicate() except OSError as err: _LOGGER.error("Can't read kernel log: %s", err) - raise HostError() + raise HostError() from err return stdout @@ -96,4 +96,4 @@ class InfoCenter(CoreSysAttributes): _LOGGER.warning("Can't update host system information!") except DBusNotConnectedError: _LOGGER.error("No hostname D-Bus connection available") - raise HostNotSupportedError() + raise HostNotSupportedError() from None diff --git a/supervisor/host/network.py b/supervisor/host/network.py index f51cc655a..adbb430b8 100644 --- a/supervisor/host/network.py +++ b/supervisor/host/network.py @@ -34,6 +34,6 @@ class NetworkManager(CoreSysAttributes): await self.sys_dbus.nmi_dns.update() except DBusError: _LOGGER.warning("Can't update host DNS system information!") - except DBusNotConnectedError: + except DBusNotConnectedError as err: _LOGGER.error("No hostname D-Bus connection available") - raise HostNotSupportedError() + raise HostNotSupportedError() from err diff --git a/supervisor/host/sound.py b/supervisor/host/sound.py index 6a779ced4..cfceae290 100644 --- a/supervisor/host/sound.py +++ b/supervisor/host/sound.py @@ -104,6 +104,7 @@ class SoundControl(CoreSysAttributes): """Set a stream to default input/output.""" def _set_default(): + source = sink = None try: with Pulse(PULSE_NAME) as pulse: if stream_type == StreamType.INPUT: @@ -115,12 +116,12 @@ class SoundControl(CoreSysAttributes): sink = pulse.get_sink_by_name(name) pulse.sink_default_set(sink) - except PulseIndexError: + except PulseIndexError as err: _LOGGER.error("Can't find %s stream %s", source, name) - raise PulseAudioError() + raise PulseAudioError() from err except PulseError as err: _LOGGER.error("Can't set %s as stream: %s", name, err) - raise PulseAudioError() + raise PulseAudioError() from err # Run and Reload data await self.sys_run_in_executor(_set_default) @@ -147,14 +148,14 @@ class SoundControl(CoreSysAttributes): # Set volume pulse.volume_set_all_chans(stream, volume) - except PulseIndexError: + except PulseIndexError as err: _LOGGER.error( "Can't find %s stream %d (App: %s)", stream_type, index, application ) - raise PulseAudioError() + raise PulseAudioError() from err except PulseError as err: _LOGGER.error("Can't set %d volume: %s", index, err) - raise PulseAudioError() + raise PulseAudioError() from err # Run and Reload data await self.sys_run_in_executor(_set_volume) @@ -181,14 +182,14 @@ class SoundControl(CoreSysAttributes): # Mute stream pulse.mute(stream, mute) - except PulseIndexError: + except PulseIndexError as err: _LOGGER.error( "Can't find %s stream %d (App: %s)", stream_type, index, application ) - raise PulseAudioError() + raise PulseAudioError() from err except PulseError as err: _LOGGER.error("Can't set %d volume: %s", index, err) - raise PulseAudioError() + raise PulseAudioError() from err # Run and Reload data await self.sys_run_in_executor(_set_mute) @@ -203,14 +204,14 @@ class SoundControl(CoreSysAttributes): card = pulse.get_sink_by_name(card_name) pulse.card_profile_set(card, profile_name) - except PulseIndexError: + except PulseIndexError as err: _LOGGER.error("Can't find %s profile %s", card_name, profile_name) - raise PulseAudioError() + raise PulseAudioError() from err except PulseError as err: _LOGGER.error( "Can't activate %s profile %s: %s", card_name, profile_name, err ) - raise PulseAudioError() + raise PulseAudioError() from err # Run and Reload data await self.sys_run_in_executor(_activate_profile) @@ -331,7 +332,7 @@ class SoundControl(CoreSysAttributes): except PulseOperationFailed as err: _LOGGER.error("Error while processing pulse update: %s", err) - raise PulseAudioError() + raise PulseAudioError() from err except PulseError as err: _LOGGER.debug("Can't update PulseAudio data: %s", err) diff --git a/supervisor/plugins/audio.py b/supervisor/plugins/audio.py index ab333486a..c4a8cd32a 100644 --- a/supervisor/plugins/audio.py +++ b/supervisor/plugins/audio.py @@ -154,9 +154,9 @@ class Audio(JsonConfig, CoreSysAttributes): try: await self.instance.update(version, image=self.sys_updater.image_audio) - except DockerAPIError: + except DockerAPIError as err: _LOGGER.error("Audio update fails") - raise AudioUpdateError() + raise AudioUpdateError() from err else: self.version = version self.image = self.sys_updater.image_audio @@ -174,27 +174,27 @@ class Audio(JsonConfig, CoreSysAttributes): _LOGGER.info("Restart Audio plugin") try: await self.instance.restart() - except DockerAPIError: + except DockerAPIError as err: _LOGGER.error("Can't start Audio plugin") - raise AudioError() + raise AudioError() from err async def start(self) -> None: """Run CoreDNS.""" _LOGGER.info("Start Audio plugin") try: await self.instance.run() - except DockerAPIError: + except DockerAPIError as err: _LOGGER.error("Can't start Audio plugin") - raise AudioError() + raise AudioError() from err async def stop(self) -> None: """Stop CoreDNS.""" _LOGGER.info("Stop Audio plugin") try: await self.instance.stop() - except DockerAPIError: + except DockerAPIError as err: _LOGGER.error("Can't stop Audio plugin") - raise AudioError() + raise AudioError() from err def logs(self) -> Awaitable[bytes]: """Get CoreDNS docker logs. @@ -207,8 +207,8 @@ class Audio(JsonConfig, CoreSysAttributes): """Return stats of CoreDNS.""" try: return await self.instance.stats() - except DockerAPIError: - raise AudioError() + except DockerAPIError as err: + raise AudioError() from err def is_running(self) -> Awaitable[bool]: """Return True if Docker container is running. diff --git a/supervisor/plugins/cli.py b/supervisor/plugins/cli.py index dc1d23e7c..7ebdfaa05 100644 --- a/supervisor/plugins/cli.py +++ b/supervisor/plugins/cli.py @@ -132,9 +132,9 @@ class HaCli(CoreSysAttributes, JsonConfig): await self.instance.update( version, image=self.sys_updater.image_cli, latest=True ) - except DockerAPIError: + except DockerAPIError as err: _LOGGER.error("HA cli update fails") - raise CliUpdateError() + raise CliUpdateError() from err else: self.version = version self.image = self.sys_updater.image_cli @@ -157,25 +157,25 @@ class HaCli(CoreSysAttributes, JsonConfig): _LOGGER.info("Start cli plugin") try: await self.instance.run() - except DockerAPIError: + except DockerAPIError as err: _LOGGER.error("Can't start cli plugin") - raise CliError() + raise CliError() from err async def stop(self) -> None: """Stop cli.""" _LOGGER.info("Stop cli plugin") try: await self.instance.stop() - except DockerAPIError: + except DockerAPIError as err: _LOGGER.error("Can't stop cli plugin") - raise CliError() + raise CliError() from err async def stats(self) -> DockerStats: """Return stats of cli.""" try: return await self.instance.stats() - except DockerAPIError: - raise CliError() + except DockerAPIError as err: + raise CliError() from err def is_running(self) -> Awaitable[bool]: """Return True if Docker container is running. diff --git a/supervisor/plugins/dns.py b/supervisor/plugins/dns.py index 19cdc1dae..46d56f661 100644 --- a/supervisor/plugins/dns.py +++ b/supervisor/plugins/dns.py @@ -196,9 +196,9 @@ class CoreDNS(JsonConfig, CoreSysAttributes): # Update try: await self.instance.update(version, image=self.sys_updater.image_dns) - except DockerAPIError: + except DockerAPIError as err: _LOGGER.error("CoreDNS update fails") - raise CoreDNSUpdateError() + raise CoreDNSUpdateError() from err else: self.version = version self.image = self.sys_updater.image_dns @@ -217,9 +217,9 @@ class CoreDNS(JsonConfig, CoreSysAttributes): _LOGGER.info("Restart CoreDNS plugin") try: await self.instance.restart() - except DockerAPIError: + except DockerAPIError as err: _LOGGER.error("Can't start CoreDNS plugin") - raise CoreDNSError() + raise CoreDNSError() from err async def start(self) -> None: """Run CoreDNS.""" @@ -229,18 +229,18 @@ class CoreDNS(JsonConfig, CoreSysAttributes): _LOGGER.info("Start CoreDNS plugin") try: await self.instance.run() - except DockerAPIError: + except DockerAPIError as err: _LOGGER.error("Can't start CoreDNS plugin") - raise CoreDNSError() + raise CoreDNSError() from err async def stop(self) -> None: """Stop CoreDNS.""" _LOGGER.info("Stop CoreDNS plugin") try: await self.instance.stop() - except DockerAPIError: + except DockerAPIError as err: _LOGGER.error("Can't stop CoreDNS plugin") - raise CoreDNSError() + raise CoreDNSError() from err async def reset(self) -> None: """Reset DNS and hosts.""" @@ -307,7 +307,7 @@ class CoreDNS(JsonConfig, CoreSysAttributes): self.corefile.write_text(data) except OSError as err: _LOGGER.error("Can't update corefile: %s", err) - raise CoreDNSError() + raise CoreDNSError() from err def _init_hosts(self) -> None: """Import hosts entry.""" @@ -331,7 +331,7 @@ class CoreDNS(JsonConfig, CoreSysAttributes): hosts.write(f"{entry.ip_address!s} {' '.join(entry.names)}\n") except OSError as err: _LOGGER.error("Can't write hosts file: %s", err) - raise CoreDNSError() + raise CoreDNSError() from err def add_host(self, ipv4: IPv4Address, names: List[str], write: bool = True) -> None: """Add a new host entry.""" @@ -394,8 +394,8 @@ class CoreDNS(JsonConfig, CoreSysAttributes): """Return stats of CoreDNS.""" try: return await self.instance.stats() - except DockerAPIError: - raise CoreDNSError() + except DockerAPIError as err: + raise CoreDNSError() from err def is_running(self) -> Awaitable[bool]: """Return True if Docker container is running. diff --git a/supervisor/plugins/multicast.py b/supervisor/plugins/multicast.py index d8cf416d4..9bd1f3806 100644 --- a/supervisor/plugins/multicast.py +++ b/supervisor/plugins/multicast.py @@ -127,9 +127,9 @@ class Multicast(JsonConfig, CoreSysAttributes): # Update try: await self.instance.update(version, image=self.sys_updater.image_multicast) - except DockerAPIError: + except DockerAPIError as err: _LOGGER.error("Multicast update fails") - raise MulticastUpdateError() + raise MulticastUpdateError() from err else: self.version = version self.image = self.sys_updater.image_multicast @@ -147,27 +147,27 @@ class Multicast(JsonConfig, CoreSysAttributes): _LOGGER.info("Restart Multicast plugin") try: await self.instance.restart() - except DockerAPIError: + except DockerAPIError as err: _LOGGER.error("Can't start Multicast plugin") - raise MulticastError() + raise MulticastError() from err async def start(self) -> None: """Run Multicast.""" _LOGGER.info("Start Multicast plugin") try: await self.instance.run() - except DockerAPIError: + except DockerAPIError as err: _LOGGER.error("Can't start Multicast plugin") - raise MulticastError() + raise MulticastError() from err async def stop(self) -> None: """Stop Multicast.""" _LOGGER.info("Stop Multicast plugin") try: await self.instance.stop() - except DockerAPIError: + except DockerAPIError as err: _LOGGER.error("Can't stop Multicast plugin") - raise MulticastError() + raise MulticastError() from err def logs(self) -> Awaitable[bytes]: """Get Multicast docker logs. @@ -180,8 +180,8 @@ class Multicast(JsonConfig, CoreSysAttributes): """Return stats of Multicast.""" try: return await self.instance.stats() - except DockerAPIError: - raise MulticastError() + except DockerAPIError as err: + raise MulticastError() from err def is_running(self) -> Awaitable[bool]: """Return True if Docker container is running. diff --git a/supervisor/snapshots/snapshot.py b/supervisor/snapshots/snapshot.py index 721af02ea..5f46db977 100644 --- a/supervisor/snapshots/snapshot.py +++ b/supervisor/snapshots/snapshot.py @@ -277,7 +277,7 @@ class Snapshot(CoreSysAttributes): _LOGGER.error( "Invalid data for %s: %s", self.tarfile, humanize_error(self._data, err) ) - raise ValueError("Invalid config") + raise ValueError("Invalid config") from None # new snapshot, build it def _create_snapshot(): diff --git a/supervisor/snapshots/validate.py b/supervisor/snapshots/validate.py index b186ed9d4..c77f2ed90 100644 --- a/supervisor/snapshots/validate.py +++ b/supervisor/snapshots/validate.py @@ -41,7 +41,7 @@ def unique_addons(addons_list): single = {addon[ATTR_SLUG] for addon in addons_list} if len(single) != len(addons_list): - raise vol.Invalid("Invalid addon list on snapshot!") + raise vol.Invalid("Invalid addon list on snapshot!") from None return addons_list diff --git a/supervisor/supervisor.py b/supervisor/supervisor.py index cd387d0aa..8eed17103 100644 --- a/supervisor/supervisor.py +++ b/supervisor/supervisor.py @@ -87,7 +87,7 @@ class Supervisor(CoreSysAttributes): except (aiohttp.ClientError, asyncio.TimeoutError) as err: _LOGGER.warning("Can't fetch AppArmor profile: %s", err) - raise SupervisorError() + raise SupervisorError() from err with TemporaryDirectory(dir=self.sys_config.path_tmp) as tmp_dir: profile_file = Path(tmp_dir, "apparmor.txt") @@ -95,15 +95,15 @@ class Supervisor(CoreSysAttributes): profile_file.write_text(data) except OSError as err: _LOGGER.error("Can't write temporary profile: %s", err) - raise SupervisorError() + raise SupervisorError() from err try: await self.sys_host.apparmor.load_profile( "hassio-supervisor", profile_file ) - except HostAppArmorError: + except HostAppArmorError as err: _LOGGER.error("Can't update AppArmor profile!") - raise SupervisorError() + raise SupervisorError() from err async def update(self, version: Optional[str] = None) -> None: """Update Home Assistant version.""" @@ -121,9 +121,9 @@ class Supervisor(CoreSysAttributes): await self.instance.update_start_tag( self.sys_updater.image_supervisor, version ) - except DockerAPIError: + except DockerAPIError as err: _LOGGER.error("Update of Supervisor fails!") - raise SupervisorUpdateError() + raise SupervisorUpdateError() from err else: self.sys_config.version = version self.sys_config.save_data() @@ -148,8 +148,8 @@ class Supervisor(CoreSysAttributes): """Return stats of Supervisor.""" try: return await self.instance.stats() - except DockerAPIError: - raise SupervisorError() + except DockerAPIError as err: + raise SupervisorError() from err async def repair(self): """Repair local Supervisor data.""" diff --git a/supervisor/updater.py b/supervisor/updater.py index d92ef0c68..10fe6e6c7 100644 --- a/supervisor/updater.py +++ b/supervisor/updater.py @@ -158,11 +158,11 @@ class Updater(JsonConfig, CoreSysAttributes): except (aiohttp.ClientError, asyncio.TimeoutError) as err: _LOGGER.warning("Can't fetch versions from %s: %s", url, err) - raise HassioUpdaterError() + raise HassioUpdaterError() from err except json.JSONDecodeError as err: _LOGGER.warning("Can't parse versions from %s: %s", url, err) - raise HassioUpdaterError() + raise HassioUpdaterError() from err # data valid? if not data or data.get(ATTR_CHANNEL) != self.channel: @@ -196,7 +196,7 @@ class Updater(JsonConfig, CoreSysAttributes): except KeyError as err: _LOGGER.warning("Can't process version data: %s", err) - raise HassioUpdaterError() + raise HassioUpdaterError() from err else: self.save_data() diff --git a/supervisor/utils/apparmor.py b/supervisor/utils/apparmor.py index de92bcdb5..4acefe437 100644 --- a/supervisor/utils/apparmor.py +++ b/supervisor/utils/apparmor.py @@ -22,7 +22,7 @@ def get_profile_name(profile_file): profiles.add(match.group(1)) except OSError as err: _LOGGER.error("Can't read AppArmor profile: %s", err) - raise AppArmorFileError() + raise AppArmorFileError() from err if len(profiles) != 1: _LOGGER.error("To many profiles inside file: %s", profiles) @@ -54,7 +54,7 @@ def adjust_profile(profile_name, profile_file, profile_new): profile_data.append(line.replace(org_profile, profile_name)) except OSError as err: _LOGGER.error("Can't adjust origin profile: %s", err) - raise AppArmorFileError() + raise AppArmorFileError() from err # Write into new file try: @@ -62,4 +62,4 @@ def adjust_profile(profile_name, profile_file, profile_new): profile.writelines(profile_data) except OSError as err: _LOGGER.error("Can't write new profile: %s", err) - raise AppArmorFileError() + raise AppArmorFileError() from err diff --git a/supervisor/utils/gdbus.py b/supervisor/utils/gdbus.py index 6c68c8788..1c0261612 100644 --- a/supervisor/utils/gdbus.py +++ b/supervisor/utils/gdbus.py @@ -89,7 +89,7 @@ class DBus: except ET.ParseError as err: _LOGGER.error("Can't parse introspect data: %s", err) _LOGGER.debug("Introspect %s on %s", self.bus_name, self.object_path) - raise DBusParseError() + raise DBusParseError() from err # Read available methods for interface in xml.findall("./interface"): @@ -137,7 +137,7 @@ class DBus: except json.JSONDecodeError as err: _LOGGER.error("Can't parse '%s': %s", json_raw, err) _LOGGER.debug("GVariant data: '%s'", raw) - raise DBusParseError() + raise DBusParseError() from err @staticmethod def gvariant_args(args: List[Any]) -> str: @@ -177,9 +177,9 @@ class DBus: """Read all properties from interface.""" try: return (await self.call_dbus(DBUS_METHOD_GETALL, interface))[0] - except IndexError: + except IndexError as err: _LOGGER.error("No attributes returned for %s", interface) - raise DBusFatalError + raise DBusFatalError() from err async def _send(self, command: List[str]) -> str: """Send command over dbus.""" @@ -196,7 +196,7 @@ class DBus: data, error = await proc.communicate() except OSError as err: _LOGGER.error("DBus fatal error: %s", err) - raise DBusFatalError() + raise DBusFatalError() from err # Success? if proc.returncode == 0: @@ -294,18 +294,18 @@ class DBusSignalWrapper: async def __anext__(self): """Get next data.""" if not self._proc: - raise StopAsyncIteration() + raise StopAsyncIteration() from None # Read signals while True: try: data = await self._proc.stdout.readline() except asyncio.TimeoutError: - raise StopAsyncIteration() + raise StopAsyncIteration() from None # Program close if not data: - raise StopAsyncIteration() + raise StopAsyncIteration() from None # Extract metadata match = RE_MONITOR_OUTPUT.match(data.decode()) @@ -321,5 +321,5 @@ class DBusSignalWrapper: try: return self.dbus.parse_gvariant(data) - except DBusParseError: - raise StopAsyncIteration() + except DBusParseError as err: + raise StopAsyncIteration() from err diff --git a/supervisor/utils/json.py b/supervisor/utils/json.py index 8c6d50587..6f8f00629 100644 --- a/supervisor/utils/json.py +++ b/supervisor/utils/json.py @@ -20,7 +20,7 @@ def write_json_file(jsonfile: Path, data: Any) -> None: jsonfile.write_text(json.dumps(data, indent=2)) except (OSError, ValueError, TypeError) as err: _LOGGER.error("Can't write %s: %s", jsonfile, err) - raise JsonFileError() + raise JsonFileError() from err def read_json_file(jsonfile: Path) -> Any: @@ -29,7 +29,7 @@ def read_json_file(jsonfile: Path) -> Any: return json.loads(jsonfile.read_text()) except (OSError, ValueError, TypeError, UnicodeDecodeError) as err: _LOGGER.error("Can't read json from %s: %s", jsonfile, err) - raise JsonFileError() + raise JsonFileError() from err class JsonConfig: diff --git a/supervisor/utils/validate.py b/supervisor/utils/validate.py index 3c5b08365..886ab65c0 100644 --- a/supervisor/utils/validate.py +++ b/supervisor/utils/validate.py @@ -24,6 +24,6 @@ def validate_timezone(timezone): raise vol.Invalid( "Invalid time zone passed in. Valid options can be found here: " "http://en.wikipedia.org/wiki/List_of_tz_database_time_zones" - ) + ) from None return timezone diff --git a/supervisor/validate.py b/supervisor/validate.py index b8e6d1137..3e6deaa43 100644 --- a/supervisor/validate.py +++ b/supervisor/validate.py @@ -64,19 +64,19 @@ def version_tag(value: Union[str, None, int, float]) -> Optional[str]: value = str(value) pkg_version.parse(value) except (pkg_version.InvalidVersion, TypeError): - raise vol.Invalid(f"Invalid version format {value}") + raise vol.Invalid(f"Invalid version format {value}") from None return value def dns_url(url: str) -> str: """Take a DNS url (str) and validates that it matches the scheme dns://.""" if not url.lower().startswith("dns://"): - raise vol.Invalid("Doesn't start with dns://") + raise vol.Invalid("Doesn't start with dns://") from None address: str = url[6:] # strip the dns:// off try: ipaddress.ip_address(address) # matches ipv4 or ipv6 addresses except ValueError: - raise vol.Invalid(f"Invalid DNS URL: {url}") + raise vol.Invalid(f"Invalid DNS URL: {url}") from None return url @@ -87,7 +87,7 @@ def validate_repository(repository: str) -> str: """Validate a valid repository.""" data = RE_REPOSITORY.match(repository) if not data: - raise vol.Invalid("No valid repository format!") + raise vol.Invalid("No valid repository format!") from None # Validate URL # pylint: disable=no-value-for-parameter From 1e953167b670105148a9ccd920d2875d40df0156 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 24 Aug 2020 13:44:34 +0200 Subject: [PATCH 13/27] Update stale.yml --- .github/stale.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/stale.yml b/.github/stale.yml index e556fa985..a370ba80e 100644 --- a/.github/stale.yml +++ b/.github/stale.yml @@ -6,6 +6,7 @@ daysUntilClose: 7 exemptLabels: - pinned - security + - rfc # Label to use when marking an issue as stale staleLabel: stale # Comment to post when marking an issue as stale. Set to `false` to disable From 9bcb15dbc0c7e0d9b03abfa13683ae636e1a1380 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Mon, 24 Aug 2020 16:58:02 +0200 Subject: [PATCH 14/27] MVP: Add Network Manager context (#1937) Co-authored-by: Pascal Vizeli --- API.md | 59 +++ requirements_tests.txt | 1 + supervisor/api/__init__.py | 20 + supervisor/api/host.py | 3 - supervisor/api/network.py | 98 +++++ supervisor/const.py | 367 +++++++++--------- supervisor/core.py | 4 +- supervisor/dbus/__init__.py | 12 +- supervisor/dbus/const.py | 74 ++++ supervisor/dbus/hostname.py | 29 +- supervisor/dbus/network/__init__.py | 80 ++++ supervisor/dbus/network/configuration.py | 62 +++ supervisor/dbus/network/connection.py | 124 ++++++ .../dbus/{nmi_dns.py => network/dns.py} | 70 ++-- supervisor/dbus/network/interface.py | 129 ++++++ supervisor/dbus/network/utils.py | 14 + supervisor/dbus/rauc.py | 40 +- supervisor/dbus/systemd.py | 6 +- supervisor/host/__init__.py | 2 +- supervisor/host/network.py | 17 +- supervisor/utils/gdbus.py | 6 +- tests/api/test_network.py | 60 +++ tests/common.py | 10 +- tests/conftest.py | 64 ++- tests/const.py | 3 + tests/dbus/network/test_interface.py | 15 + tests/dbus/network/test_network_manager.py | 12 + tests/dbus/network/test_utils.py | 12 + .../org_freedesktop_NetworkManager.fixture | 1 + .../org_freedesktop_NetworkManager.json | 29 ++ .../org_freedesktop_NetworkManager.xml | 162 ++++++++ ...ktop_NetworkManager_ActiveConnection_1.xml | 62 +++ ...ktop_NetworkManager_Connection_Active.json | 18 + ...org_freedesktop_NetworkManager_Device.json | 31 ++ ...g_freedesktop_NetworkManager_Devices_1.xml | 103 +++++ ..._freedesktop_NetworkManager_DnsManager.xml | 42 ++ ..._freedesktop_NetworkManager_IP4Config.json | 22 ++ ...freedesktop_NetworkManager_IP4Config_1.xml | 55 +++ ...edesktop_NetworkManager_Settings_1.fixture | 1 + ..._freedesktop_NetworkManager_Settings_1.xml | 69 ++++ 40 files changed, 1719 insertions(+), 269 deletions(-) create mode 100644 supervisor/api/network.py create mode 100644 supervisor/dbus/const.py create mode 100644 supervisor/dbus/network/__init__.py create mode 100644 supervisor/dbus/network/configuration.py create mode 100644 supervisor/dbus/network/connection.py rename supervisor/dbus/{nmi_dns.py => network/dns.py} (52%) create mode 100644 supervisor/dbus/network/interface.py create mode 100644 supervisor/dbus/network/utils.py create mode 100644 tests/api/test_network.py create mode 100644 tests/const.py create mode 100644 tests/dbus/network/test_interface.py create mode 100644 tests/dbus/network/test_network_manager.py create mode 100644 tests/dbus/network/test_utils.py create mode 100644 tests/fixtures/org_freedesktop_NetworkManager.fixture create mode 100644 tests/fixtures/org_freedesktop_NetworkManager.json create mode 100644 tests/fixtures/org_freedesktop_NetworkManager.xml create mode 100644 tests/fixtures/org_freedesktop_NetworkManager_ActiveConnection_1.xml create mode 100644 tests/fixtures/org_freedesktop_NetworkManager_Connection_Active.json create mode 100644 tests/fixtures/org_freedesktop_NetworkManager_Device.json create mode 100644 tests/fixtures/org_freedesktop_NetworkManager_Devices_1.xml create mode 100644 tests/fixtures/org_freedesktop_NetworkManager_DnsManager.xml create mode 100644 tests/fixtures/org_freedesktop_NetworkManager_IP4Config.json create mode 100644 tests/fixtures/org_freedesktop_NetworkManager_IP4Config_1.xml create mode 100644 tests/fixtures/org_freedesktop_NetworkManager_Settings_1.fixture create mode 100644 tests/fixtures/org_freedesktop_NetworkManager_Settings_1.xml diff --git a/API.md b/API.md index c859beb88..c99e80ae9 100644 --- a/API.md +++ b/API.md @@ -442,6 +442,65 @@ Proxy to Home Assistant Core websocket. } ``` +### Network + +Network operations over the API + +#### GET `/network/info` + +Get network information + +```json +{ + "interfaces": { + "enp0s31f6": { + "ip_address": "192.168.2.148/24", + "gateway": "192.168.2.1", + "id": "Wired connection 1", + "type": "802-3-ethernet", + "nameservers": ["192.168.2.1"], + "method": "static", + "primary": true + } + } +} +``` + +#### GET `/network/{interface}/info` + +Get information for a single interface + +```json +{ + "ip_address": "192.168.2.148/24", + "gateway": "192.168.2.1", + "id": "Wired connection 1", + "type": "802-3-ethernet", + "nameservers": ["192.168.2.1"], + "method": "dhcp", + "primary": true +} +``` + +#### POST `/network/{interface}/update` + +Update information for a single interface + +**Options:** + +| Option | Description | +| --------- | ---------------------------------------------------------------------- | +| `address` | The new IP address for the interface in the X.X.X.X/XX format | +| `dns` | Comma seperated list of DNS servers to use | +| `gateway` | The gateway the interface should use | +| `method` | Set if the interface should use DHCP or not, can be `dhcp` or `static` | + +_All options are optional._ + +**NB!: If you change the `address` or `gateway` you may need to reconnect to the new address** + +The result will be a updated object. + ### RESTful for API add-ons If an add-on will call itself, you can use `/addons/self/...`. diff --git a/requirements_tests.txt b/requirements_tests.txt index 79285b86c..36fa97d4c 100644 --- a/requirements_tests.txt +++ b/requirements_tests.txt @@ -7,6 +7,7 @@ pre-commit==2.7.1 pydocstyle==5.1.0 pylint==2.6.0 pytest-aiohttp==0.3.0 +pytest-asyncio==0.12.0 # NB!: Versions over 0.12.0 breaks pytest-aiohttp (https://github.com/aio-libs/pytest-aiohttp/issues/16) pytest-cov==2.10.1 pytest-timeout==1.4.2 pytest==6.0.1 diff --git a/supervisor/api/__init__.py b/supervisor/api/__init__.py index d21252d45..d711384fd 100644 --- a/supervisor/api/__init__.py +++ b/supervisor/api/__init__.py @@ -18,6 +18,7 @@ from .host import APIHost from .info import APIInfo from .ingress import APIIngress from .multicast import APIMulticast +from .network import APINetwork from .os import APIOS from .proxy import APIProxy from .security import SecurityMiddleware @@ -54,6 +55,7 @@ class RestAPI(CoreSysAttributes): self._register_os() self._register_cli() self._register_multicast() + self._register_network() self._register_hardware() self._register_homeassistant() self._register_proxy() @@ -89,6 +91,24 @@ class RestAPI(CoreSysAttributes): ] ) + def _register_network(self) -> None: + """Register network functions.""" + api_network = APINetwork() + api_network.coresys = self.coresys + + self.webapp.add_routes( + [ + web.get("/network/info", api_network.info), + web.get( + "/network/interface/{interface}/info", api_network.interface_info + ), + web.post( + "/network/interface/{interface}/update", + api_network.interface_update, + ), + ] + ) + def _register_os(self) -> None: """Register OS functions.""" api_os = APIOS() diff --git a/supervisor/api/host.py b/supervisor/api/host.py index d463fcf83..95df1e0c8 100644 --- a/supervisor/api/host.py +++ b/supervisor/api/host.py @@ -1,6 +1,5 @@ """Init file for Supervisor host RESTful API.""" import asyncio -import logging from typing import Awaitable from aiohttp import web @@ -26,8 +25,6 @@ from ..const import ( from ..coresys import CoreSysAttributes from .utils import api_process, api_process_raw, api_validate -_LOGGER: logging.Logger = logging.getLogger(__name__) - SERVICE = "service" SCHEMA_OPTIONS = vol.Schema({vol.Optional(ATTR_HOSTNAME): vol.Coerce(str)}) diff --git a/supervisor/api/network.py b/supervisor/api/network.py new file mode 100644 index 000000000..d34a95c16 --- /dev/null +++ b/supervisor/api/network.py @@ -0,0 +1,98 @@ +"""REST API for network.""" +import asyncio +from typing import Any, Dict + +from aiohttp import web +import voluptuous as vol + +from ..const import ( + ATTR_ADDRESS, + ATTR_DNS, + ATTR_GATEWAY, + ATTR_ID, + ATTR_INTERFACE, + ATTR_INTERFACES, + ATTR_IP_ADDRESS, + ATTR_METHOD, + ATTR_METHODS, + ATTR_NAMESERVERS, + ATTR_PRIMARY, + ATTR_TYPE, +) +from ..coresys import CoreSysAttributes +from ..dbus.const import InterfaceMethodSimple +from ..dbus.network.interface import NetworkInterface +from ..dbus.network.utils import int2ip +from ..exceptions import APIError +from .utils import api_process, api_validate + +SCHEMA_UPDATE = vol.Schema( + { + vol.Optional(ATTR_ADDRESS): vol.Coerce(str), + vol.Optional(ATTR_METHOD): vol.In(ATTR_METHODS), + vol.Optional(ATTR_GATEWAY): vol.Coerce(str), + vol.Optional(ATTR_DNS): [str], + } +) + + +def interface_information(interface: NetworkInterface) -> dict: + """Return a dict with information of a interface to be used in th API.""" + return { + ATTR_IP_ADDRESS: f"{interface.ip_address}/{interface.prefix}", + ATTR_GATEWAY: interface.gateway, + ATTR_ID: interface.id, + ATTR_TYPE: interface.type, + ATTR_NAMESERVERS: [int2ip(x) for x in interface.nameservers], + ATTR_METHOD: InterfaceMethodSimple.DHCP + if interface.method == "auto" + else InterfaceMethodSimple.STATIC, + ATTR_PRIMARY: interface.primary, + } + + +class APINetwork(CoreSysAttributes): + """Handle REST API for network.""" + + @api_process + async def info(self, request: web.Request) -> Dict[str, Any]: + """Return network information.""" + interfaces = {} + for interface in self.sys_host.network.interfaces: + interfaces[ + self.sys_host.network.interfaces[interface].name + ] = interface_information(self.sys_host.network.interfaces[interface]) + + return {ATTR_INTERFACES: interfaces} + + @api_process + async def interface_info(self, request: web.Request) -> Dict[str, Any]: + """Return network information for a interface.""" + req_interface = request.match_info.get(ATTR_INTERFACE) + for interface in self.sys_host.network.interfaces: + if req_interface == self.sys_host.network.interfaces[interface].name: + return interface_information( + self.sys_host.network.interfaces[interface] + ) + + return {} + + @api_process + async def interface_update(self, request: web.Request) -> Dict[str, Any]: + """Update the configuration of an interface.""" + req_interface = request.match_info.get(ATTR_INTERFACE) + + if not self.sys_host.network.interfaces.get(req_interface): + raise APIError(f"Interface {req_interface} does not exsist") + + args = await api_validate(SCHEMA_UPDATE, request) + if not args: + raise APIError("You need to supply at least one option to update") + + await asyncio.shield( + self.sys_host.network.interfaces[req_interface].update_settings(**args) + ) + + await asyncio.shield(self.sys_host.network.update()) + + return await asyncio.shield(self.interface_info(request)) diff --git a/supervisor/const.py b/supervisor/const.py index aef52091b..1a155ac60 100644 --- a/supervisor/const.py +++ b/supervisor/const.py @@ -6,8 +6,8 @@ from pathlib import Path SUPERVISOR_VERSION = "236" URL_HASSIO_ADDONS = "https://github.com/home-assistant/hassio-addons" -URL_HASSIO_VERSION = "https://version.home-assistant.io/{channel}.json" URL_HASSIO_APPARMOR = "https://version.home-assistant.io/apparmor.txt" +URL_HASSIO_VERSION = "https://version.home-assistant.io/{channel}.json" URL_HASSOS_OTA = ( "https://github.com/home-assistant/operating-system/releases/download/" @@ -16,22 +16,22 @@ URL_HASSOS_OTA = ( SUPERVISOR_DATA = Path("/data") -FILE_HASSIO_AUTH = Path(SUPERVISOR_DATA, "auth.json") FILE_HASSIO_ADDONS = Path(SUPERVISOR_DATA, "addons.json") -FILE_HASSIO_CONFIG = Path(SUPERVISOR_DATA, "config.json") -FILE_HASSIO_HOMEASSISTANT = Path(SUPERVISOR_DATA, "homeassistant.json") -FILE_HASSIO_UPDATER = Path(SUPERVISOR_DATA, "updater.json") -FILE_HASSIO_SERVICES = Path(SUPERVISOR_DATA, "services.json") -FILE_HASSIO_DISCOVERY = Path(SUPERVISOR_DATA, "discovery.json") -FILE_HASSIO_INGRESS = Path(SUPERVISOR_DATA, "ingress.json") -FILE_HASSIO_DNS = Path(SUPERVISOR_DATA, "dns.json") FILE_HASSIO_AUDIO = Path(SUPERVISOR_DATA, "audio.json") +FILE_HASSIO_AUTH = Path(SUPERVISOR_DATA, "auth.json") FILE_HASSIO_CLI = Path(SUPERVISOR_DATA, "cli.json") +FILE_HASSIO_CONFIG = Path(SUPERVISOR_DATA, "config.json") +FILE_HASSIO_DISCOVERY = Path(SUPERVISOR_DATA, "discovery.json") +FILE_HASSIO_DNS = Path(SUPERVISOR_DATA, "dns.json") +FILE_HASSIO_HOMEASSISTANT = Path(SUPERVISOR_DATA, "homeassistant.json") +FILE_HASSIO_INGRESS = Path(SUPERVISOR_DATA, "ingress.json") FILE_HASSIO_MULTICAST = Path(SUPERVISOR_DATA, "multicast.json") +FILE_HASSIO_SERVICES = Path(SUPERVISOR_DATA, "services.json") +FILE_HASSIO_UPDATER = Path(SUPERVISOR_DATA, "updater.json") MACHINE_ID = Path("/etc/machine-id") -SOCKET_DOCKER = Path("/run/docker.sock") SOCKET_DBUS = Path("/run/dbus/system_bus_socket") +SOCKET_DOCKER = Path("/run/docker.sock") DOCKER_NETWORK = "hassio" DOCKER_NETWORK_MASK = ip_network("172.30.32.0/23") @@ -44,216 +44,233 @@ DOCKER_IMAGE_DENYLIST = [ DNS_SUFFIX = "local.hass.io" -LABEL_VERSION = "io.hass.version" LABEL_ARCH = "io.hass.arch" -LABEL_TYPE = "io.hass.type" LABEL_MACHINE = "io.hass.machine" +LABEL_TYPE = "io.hass.type" +LABEL_VERSION = "io.hass.version" META_ADDON = "addon" -META_SUPERVISOR = "supervisor" META_HOMEASSISTANT = "homeassistant" +META_SUPERVISOR = "supervisor" -JSON_RESULT = "result" JSON_DATA = "data" JSON_MESSAGE = "message" +JSON_RESULT = "result" RESULT_ERROR = "error" RESULT_OK = "ok" CONTENT_TYPE_BINARY = "application/octet-stream" -CONTENT_TYPE_PNG = "image/png" CONTENT_TYPE_JSON = "application/json" -CONTENT_TYPE_TEXT = "text/plain" +CONTENT_TYPE_PNG = "image/png" CONTENT_TYPE_TAR = "application/tar" +CONTENT_TYPE_TEXT = "text/plain" CONTENT_TYPE_URL = "application/x-www-form-urlencoded" COOKIE_INGRESS = "ingress_session" HEADER_TOKEN = "X-Supervisor-Token" HEADER_TOKEN_OLD = "X-Hassio-Key" -ENV_TOKEN_OLD = "HASSIO_TOKEN" -ENV_TOKEN = "SUPERVISOR_TOKEN" ENV_TIME = "TZ" +ENV_TOKEN = "SUPERVISOR_TOKEN" +ENV_TOKEN_OLD = "HASSIO_TOKEN" ENV_HOMEASSISTANT_REPOSITORY = "HOMEASSISTANT_REPOSITORY" -ENV_SUPERVISOR_SHARE = "SUPERVISOR_SHARE" -ENV_SUPERVISOR_NAME = "SUPERVISOR_NAME" -ENV_SUPERVISOR_MACHINE = "SUPERVISOR_MACHINE" ENV_SUPERVISOR_DEV = "SUPERVISOR_DEV" +ENV_SUPERVISOR_MACHINE = "SUPERVISOR_MACHINE" +ENV_SUPERVISOR_NAME = "SUPERVISOR_NAME" +ENV_SUPERVISOR_SHARE = "SUPERVISOR_SHARE" REQUEST_FROM = "HASSIO_FROM" -ATTR_DOCKER = "docker" -ATTR_SUPERVISOR = "supervisor" -ATTR_MACHINE = "machine" -ATTR_MULTICAST = "multicast" -ATTR_WAIT_BOOT = "wait_boot" -ATTR_DEPLOYMENT = "deployment" -ATTR_WATCHDOG = "watchdog" -ATTR_CHANGELOG = "changelog" -ATTR_LOGGING = "logging" -ATTR_DATE = "date" -ATTR_ARCH = "arch" -ATTR_LONG_DESCRIPTION = "long_description" -ATTR_HOSTNAME = "hostname" -ATTR_TIMEZONE = "timezone" -ATTR_ARGS = "args" -ATTR_OPERATING_SYSTEM = "operating_system" -ATTR_CHASSIS = "chassis" -ATTR_TYPE = "type" -ATTR_SOURCE = "source" -ATTR_FEATURES = "features" +ATTR_ACCESS_TOKEN = "access_token" +ATTR_ACTIVE = "active" +ATTR_ADDON = "addon" ATTR_ADDONS = "addons" -ATTR_PROVIDERS = "providers" -ATTR_VERSION = "version" -ATTR_VERSION_LATEST = "version_latest" -ATTR_AUTO_UART = "auto_uart" -ATTR_USB = "usb" -ATTR_LAST_BOOT = "last_boot" -ATTR_CHANNEL = "channel" -ATTR_NAME = "name" -ATTR_SLUG = "slug" -ATTR_DESCRIPTON = "description" -ATTR_STARTUP = "startup" -ATTR_BOOT = "boot" -ATTR_PORTS = "ports" -ATTR_PORTS_DESCRIPTION = "ports_description" -ATTR_PORT = "port" -ATTR_SSL = "ssl" -ATTR_MAP = "map" -ATTR_WEBUI = "webui" -ATTR_OPTIONS = "options" -ATTR_INSTALLED = "installed" -ATTR_DETACHED = "detached" -ATTR_STATE = "state" -ATTR_SCHEMA = "schema" -ATTR_IMAGE = "image" -ATTR_ICON = "icon" -ATTR_LOGO = "logo" -ATTR_STDIN = "stdin" +ATTR_ADDONS_CUSTOM_LIST = "addons_custom_list" ATTR_ADDONS_REPOSITORIES = "addons_repositories" -ATTR_REPOSITORY = "repository" -ATTR_REPOSITORIES = "repositories" -ATTR_URL = "url" -ATTR_MAINTAINER = "maintainer" -ATTR_PASSWORD = "password" -ATTR_TOTP = "totp" -ATTR_INITIALIZE = "initialize" -ATTR_LOCATON = "location" -ATTR_BUILD = "build" -ATTR_DEVICES = "devices" -ATTR_ENVIRONMENT = "environment" -ATTR_HOST_NETWORK = "host_network" -ATTR_HOST_PID = "host_pid" -ATTR_HOST_IPC = "host_ipc" -ATTR_HOST_DBUS = "host_dbus" -ATTR_NETWORK = "network" -ATTR_NETWORK_DESCRIPTION = "network_description" -ATTR_TMPFS = "tmpfs" -ATTR_PRIVILEGED = "privileged" -ATTR_USER = "user" -ATTR_SYSTEM = "system" -ATTR_SNAPSHOTS = "snapshots" -ATTR_HOMEASSISTANT = "homeassistant" -ATTR_HASSIO_API = "hassio_api" -ATTR_HOMEASSISTANT_API = "homeassistant_api" -ATTR_UUID = "uuid" -ATTR_FOLDERS = "folders" -ATTR_SIZE = "size" -ATTR_TYPE = "type" -ATTR_TIMEOUT = "timeout" -ATTR_AUTO_UPDATE = "auto_update" -ATTR_VIDEO = "video" +ATTR_ADDRESS = "address" +ATTR_ADDRESS_DATA = "address-data" +ATTR_ADMIN = "admin" +ATTR_ADVANCED = "advanced" +ATTR_APPARMOR = "apparmor" +ATTR_APPLICATION = "application" +ATTR_ARCH = "arch" +ATTR_ARGS = "args" ATTR_AUDIO = "audio" ATTR_AUDIO_INPUT = "audio_input" ATTR_AUDIO_OUTPUT = "audio_output" -ATTR_INPUT = "input" -ATTR_OUTPUT = "output" +ATTR_AUTH_API = "auth_api" +ATTR_AUTO_UART = "auto_uart" +ATTR_AUTO_UPDATE = "auto_update" +ATTR_AVAILABLE = "available" +ATTR_BLK_READ = "blk_read" +ATTR_BLK_WRITE = "blk_write" +ATTR_BOARD = "board" +ATTR_BOOT = "boot" +ATTR_BRANCH = "branch" +ATTR_BUILD = "build" +ATTR_BUILD_FROM = "build_from" +ATTR_CARD = "card" +ATTR_CHANGELOG = "changelog" +ATTR_CHANNEL = "channel" +ATTR_CHASSIS = "chassis" +ATTR_CLI = "cli" +ATTR_CONFIG = "config" +ATTR_CONNECTIONS = "connections" +ATTR_CPE = "cpe" +ATTR_CPU_PERCENT = "cpu_percent" +ATTR_CRYPTO = "crypto" +ATTR_DATE = "date" +ATTR_DEBUG = "debug" +ATTR_DEBUG_BLOCK = "debug_block" +ATTR_DEFAULT = "default" +ATTR_DEPLOYMENT = "deployment" +ATTR_DESCRIPTON = "description" +ATTR_DETACHED = "detached" +ATTR_DEVICES = "devices" +ATTR_DEVICETREE = "devicetree" +ATTR_DIAGNOSTICS = "diagnostics" +ATTR_DISCOVERY = "discovery" ATTR_DISK = "disk" ATTR_DISK_FREE = "disk_free" ATTR_DISK_TOTAL = "disk_total" ATTR_DISK_USED = "disk_used" -ATTR_SERIAL = "serial" -ATTR_SECURITY = "security" -ATTR_BUILD_FROM = "build_from" -ATTR_SQUASH = "squash" -ATTR_GPIO = "gpio" -ATTR_LEGACY = "legacy" -ATTR_ADDONS_CUSTOM_LIST = "addons_custom_list" -ATTR_CPU_PERCENT = "cpu_percent" -ATTR_NETWORK_RX = "network_rx" -ATTR_NETWORK_TX = "network_tx" -ATTR_MEMORY_LIMIT = "memory_limit" -ATTR_MEMORY_USAGE = "memory_usage" -ATTR_MEMORY_PERCENT = "memory_percent" -ATTR_BLK_READ = "blk_read" -ATTR_BLK_WRITE = "blk_write" -ATTR_ADDON = "addon" -ATTR_AVAILABLE = "available" -ATTR_HOST = "host" -ATTR_USERNAME = "username" -ATTR_DISCOVERY = "discovery" -ATTR_CONFIG = "config" -ATTR_SERVICES = "services" -ATTR_SERVICE = "service" -ATTR_DISCOVERY = "discovery" -ATTR_PROTECTED = "protected" -ATTR_CRYPTO = "crypto" -ATTR_BRANCH = "branch" -ATTR_KERNEL = "kernel" -ATTR_APPARMOR = "apparmor" -ATTR_DEVICETREE = "devicetree" -ATTR_CPE = "cpe" -ATTR_BOARD = "board" -ATTR_HASSOS = "hassos" -ATTR_REFRESH_TOKEN = "refresh_token" -ATTR_ACCESS_TOKEN = "access_token" +ATTR_DNS = "dns" +ATTR_DOCKER = "docker" ATTR_DOCKER_API = "docker_api" +ATTR_DOCUMENTATION = "documentation" +ATTR_DOMAINS = "domains" +ATTR_ENABLE = "enable" +ATTR_ENVIRONMENT = "environment" +ATTR_FEATURES = "features" +ATTR_FILENAME = "filename" +ATTR_FLAGS = "flags" +ATTR_FOLDERS = "folders" ATTR_FULL_ACCESS = "full_access" -ATTR_PROTECTED = "protected" -ATTR_RATING = "rating" +ATTR_GATEWAY = "gateway" +ATTR_GPIO = "gpio" +ATTR_HASSIO_API = "hassio_api" ATTR_HASSIO_ROLE = "hassio_role" -ATTR_SUPERVISOR = "supervisor" -ATTR_AUTH_API = "auth_api" -ATTR_KERNEL_MODULES = "kernel_modules" -ATTR_SUPPORTED_ARCH = "supported_arch" +ATTR_HASSOS = "hassos" +ATTR_HEALTHY = "healthy" +ATTR_HOMEASSISTANT = "homeassistant" +ATTR_HOMEASSISTANT_API = "homeassistant_api" +ATTR_HOST = "host" +ATTR_HOST_DBUS = "host_dbus" +ATTR_HOST_IPC = "host_ipc" +ATTR_HOST_NETWORK = "host_network" +ATTR_HOST_PID = "host_pid" +ATTR_HOSTNAME = "hostname" +ATTR_ICON = "icon" +ATTR_ID = "id" +ATTR_IMAGE = "image" +ATTR_INDEX = "index" ATTR_INGRESS = "ingress" -ATTR_INGRESS_PORT = "ingress_port" ATTR_INGRESS_ENTRY = "ingress_entry" +ATTR_INGRESS_PANEL = "ingress_panel" +ATTR_INGRESS_PORT = "ingress_port" ATTR_INGRESS_TOKEN = "ingress_token" ATTR_INGRESS_URL = "ingress_url" -ATTR_INGRESS_PANEL = "ingress_panel" +ATTR_INIT = "init" +ATTR_INITIALIZE = "initialize" +ATTR_INPUT = "input" +ATTR_INSTALLED = "installed" +ATTR_INTERFACE = "interface" +ATTR_INTERFACES = "interfaces" +ATTR_IP_ADDRESS = "ip_address" +ATTR_IPV4 = "ipv4" +ATTR_KERNEL = "kernel" +ATTR_KERNEL_MODULES = "kernel_modules" +ATTR_LAST_BOOT = "last_boot" +ATTR_LEGACY = "legacy" +ATTR_LOCALS = "locals" +ATTR_LOCATON = "location" +ATTR_LOGGING = "logging" +ATTR_LOGO = "logo" +ATTR_LONG_DESCRIPTION = "long_description" +ATTR_MACHINE = "machine" +ATTR_MAINTAINER = "maintainer" +ATTR_MAP = "map" +ATTR_MEMORY_LIMIT = "memory_limit" +ATTR_MEMORY_PERCENT = "memory_percent" +ATTR_MEMORY_USAGE = "memory_usage" +ATTR_METHOD = "method" +ATTR_METHODS = ["dhcp", "static"] +ATTR_MODE = "mode" +ATTR_MULTICAST = "multicast" +ATTR_NAME = "name" +ATTR_NAMESERVERS = "nameservers" +ATTR_NETWORK = "network" +ATTR_NETWORK_DESCRIPTION = "network_description" +ATTR_NETWORK_RX = "network_rx" +ATTR_NETWORK_TX = "network_tx" +ATTR_OPERATING_SYSTEM = "operating_system" +ATTR_OPTIONS = "options" +ATTR_OUTPUT = "output" +ATTR_PANEL_ADMIN = "panel_admin" ATTR_PANEL_ICON = "panel_icon" ATTR_PANEL_TITLE = "panel_title" -ATTR_PANEL_ADMIN = "panel_admin" -ATTR_TITLE = "title" -ATTR_ENABLE = "enable" -ATTR_IP_ADDRESS = "ip_address" -ATTR_SESSION = "session" -ATTR_ADMIN = "admin" ATTR_PANELS = "panels" -ATTR_DEBUG = "debug" -ATTR_DEBUG_BLOCK = "debug_block" -ATTR_DNS = "dns" +ATTR_PASSWORD = "password" +ATTR_PORT = "port" +ATTR_PORTS = "ports" +ATTR_PORTS_DESCRIPTION = "ports_description" +ATTR_PREFIX = "prefix" +ATTR_PRIMARY = "primary" +ATTR_PRIORITY = "priority" +ATTR_PRIVILEGED = "privileged" +ATTR_PROTECTED = "protected" +ATTR_PROVIDERS = "providers" +ATTR_RATING = "rating" +ATTR_REFRESH_TOKEN = "refresh_token" +ATTR_REPOSITORIES = "repositories" +ATTR_REPOSITORY = "repository" +ATTR_SCHEMA = "schema" +ATTR_SECURITY = "security" +ATTR_SERIAL = "serial" ATTR_SERVERS = "servers" -ATTR_LOCALS = "locals" -ATTR_UDEV = "udev" -ATTR_VALUE = "value" +ATTR_SERVICE = "service" +ATTR_SERVICES = "services" +ATTR_SESSION = "session" +ATTR_SIZE = "size" +ATTR_SLUG = "slug" ATTR_SNAPSHOT_EXCLUDE = "snapshot_exclude" -ATTR_DOCUMENTATION = "documentation" -ATTR_ADVANCED = "advanced" +ATTR_SNAPSHOTS = "snapshots" +ATTR_SOURCE = "source" +ATTR_SQUASH = "squash" +ATTR_SSL = "ssl" ATTR_STAGE = "stage" -ATTR_CLI = "cli" -ATTR_DEFAULT = "default" -ATTR_VOLUME = "volume" -ATTR_CARD = "card" -ATTR_INDEX = "index" -ATTR_ACTIVE = "active" -ATTR_APPLICATION = "application" -ATTR_INIT = "init" -ATTR_DIAGNOSTICS = "diagnostics" -ATTR_HEALTHY = "healthy" +ATTR_STARTUP = "startup" +ATTR_STATE = "state" +ATTR_STATIC = "static" +ATTR_STDIN = "stdin" +ATTR_SUPERVISOR = "supervisor" ATTR_SUPPORTED = "supported" +ATTR_SUPPORTED_ARCH = "supported_arch" +ATTR_SYSTEM = "system" +ATTR_TIMEOUT = "timeout" +ATTR_TIMEZONE = "timezone" +ATTR_TITLE = "title" +ATTR_TMPFS = "tmpfs" +ATTR_TOTP = "totp" +ATTR_TYPE = "type" +ATTR_UDEV = "udev" +ATTR_UNSAVED = "unsaved" +ATTR_URL = "url" +ATTR_USB = "usb" +ATTR_USER = "user" +ATTR_USERNAME = "username" +ATTR_UUID = "uuid" +ATTR_VALUE = "value" +ATTR_VERSION = "version" +ATTR_VERSION_LATEST = "version_latest" +ATTR_VIDEO = "video" +ATTR_VOLUME = "volume" +ATTR_VPN = "vpn" +ATTR_WAIT_BOOT = "wait_boot" +ATTR_WATCHDOG = "watchdog" +ATTR_WEBUI = "webui" PROVIDE_SERVICE = "provide" NEED_SERVICE = "need" @@ -297,16 +314,16 @@ SECURITY_PROFILE = "profile" SECURITY_DEFAULT = "default" SECURITY_DISABLE = "disable" +PRIVILEGED_DAC_READ_SEARCH = "DAC_READ_SEARCH" +PRIVILEGED_IPC_LOCK = "IPC_LOCK" PRIVILEGED_NET_ADMIN = "NET_ADMIN" PRIVILEGED_SYS_ADMIN = "SYS_ADMIN" -PRIVILEGED_SYS_RAWIO = "SYS_RAWIO" -PRIVILEGED_IPC_LOCK = "IPC_LOCK" -PRIVILEGED_SYS_TIME = "SYS_TIME" -PRIVILEGED_SYS_NICE = "SYS_NICE" PRIVILEGED_SYS_MODULE = "SYS_MODULE" -PRIVILEGED_SYS_RESOURCE = "SYS_RESOURCE" +PRIVILEGED_SYS_NICE = "SYS_NICE" PRIVILEGED_SYS_PTRACE = "SYS_PTRACE" -PRIVILEGED_DAC_READ_SEARCH = "DAC_READ_SEARCH" +PRIVILEGED_SYS_RAWIO = "SYS_RAWIO" +PRIVILEGED_SYS_RESOURCE = "SYS_RESOURCE" +PRIVILEGED_SYS_TIME = "SYS_TIME" PRIVILEGED_ALL = [ PRIVILEGED_NET_ADMIN, diff --git a/supervisor/core.py b/supervisor/core.py index f8b779474..cffd561a6 100644 --- a/supervisor/core.py +++ b/supervisor/core.py @@ -134,9 +134,9 @@ class Core(CoreSysAttributes): if not self.sys_dbus.hostname.is_connected: self.supported = False _LOGGER.error("Hostname DBUS is not connected") - if not self.sys_dbus.nmi_dns.is_connected: + if not self.sys_dbus.network.is_connected: self.supported = False - _LOGGER.error("NetworkManager DNS DBUS is not connected") + _LOGGER.error("NetworkManager is not connected") if not self.sys_dbus.systemd.is_connected: self.supported = False _LOGGER.error("Systemd DBUS is not connected") diff --git a/supervisor/dbus/__init__.py b/supervisor/dbus/__init__.py index 14aa723b6..d5280f020 100644 --- a/supervisor/dbus/__init__.py +++ b/supervisor/dbus/__init__.py @@ -4,7 +4,7 @@ import logging from ..coresys import CoreSys, CoreSysAttributes from ..exceptions import DBusNotConnectedError from .hostname import Hostname -from .nmi_dns import NMIDnsManager +from .network import NetworkManager from .rauc import Rauc from .systemd import Systemd @@ -21,7 +21,7 @@ class DBusManager(CoreSysAttributes): self._systemd: Systemd = Systemd() self._hostname: Hostname = Hostname() self._rauc: Rauc = Rauc() - self._nmi_dns: NMIDnsManager = NMIDnsManager() + self._network: NetworkManager = NetworkManager() @property def systemd(self) -> Systemd: @@ -39,9 +39,9 @@ class DBusManager(CoreSysAttributes): return self._rauc @property - def nmi_dns(self) -> NMIDnsManager: - """Return NetworkManager DNS interface.""" - return self._nmi_dns + def network(self) -> NetworkManager: + """Return NetworkManager interface.""" + return self._network async def load(self) -> None: """Connect interfaces to D-Bus.""" @@ -50,7 +50,7 @@ class DBusManager(CoreSysAttributes): await self.systemd.connect() await self.hostname.connect() await self.rauc.connect() - await self.nmi_dns.connect() + await self.network.connect() except DBusNotConnectedError: _LOGGER.error( "No DBus support from Host. Disabled any kind of host control!" diff --git a/supervisor/dbus/const.py b/supervisor/dbus/const.py new file mode 100644 index 000000000..409d8facb --- /dev/null +++ b/supervisor/dbus/const.py @@ -0,0 +1,74 @@ +"""Constants for DBUS.""" +from enum import Enum + +DBUS_NAME_CONNECTION_ACTIVE = "org.freedesktop.NetworkManager.Connection.Active" +DBUS_NAME_DEVICE = "org.freedesktop.NetworkManager.Device" +DBUS_NAME_DNS = "org.freedesktop.NetworkManager.DnsManager" +DBUS_NAME_HOSTNAME = "org.freedesktop.hostname1" +DBUS_NAME_IP4CONFIG = "org.freedesktop.NetworkManager.IP4Config" +DBUS_NAME_NM = "org.freedesktop.NetworkManager" +DBUS_NAME_RAUC = "de.pengutronix.rauc" +DBUS_NAME_RAUC_INSTALLER = "de.pengutronix.rauc.Installer" +DBUS_NAME_RAUC_INSTALLER_COMPLETED = "de.pengutronix.rauc.Installer.Completed" +DBUS_NAME_SETTINGS_CONNECTION = "org.freedesktop.NetworkManager.Settings.Connection" +DBUS_NAME_SYSTEMD = "org.freedesktop.systemd1" + +DBUS_OBJECT_BASE = "/" +DBUS_OBJECT_DNS = "/org/freedesktop/NetworkManager/DnsManager" +DBUS_OBJECT_HOSTNAME = "/org/freedesktop/hostname1" +DBUS_OBJECT_NM = "/org/freedesktop/NetworkManager" +DBUS_OBJECT_SYSTEMD = "/org/freedesktop/systemd1" + +DBUS_ATTR_ACTIVE_CONNECTIONS = "ActiveConnections" +DBUS_ATTR_ADDRESS_DATA = "AddressData" +DBUS_ATTR_BOOT_SLOT = "BootSlot" +DBUS_ATTR_CHASSIS = "Chassis" +DBUS_ATTR_COMPATIBLE = "Compatible" +DBUS_ATTR_CONFIGURATION = "Configuration" +DBUS_ATTR_CONNECTION = "Connection" +DBUS_ATTR_DEFAULT = "Default" +DBUS_ATTR_DEPLOYMENT = "Deployment" +DBUS_ATTR_DEVICE_INTERFACE = "Interface" +DBUS_ATTR_DEVICE_TYPE = "DeviceType" +DBUS_ATTR_DEVICES = "Devices" +DBUS_ATTR_GATEWAY = "Gateway" +DBUS_ATTR_ID = "Id" +DBUS_ATTR_IP4ADDRESS = "Ip4Address" +DBUS_ATTR_IP4CONFIG = "Ip4Config" +DBUS_ATTR_KERNEL_RELEASE = "KernelRelease" +DBUS_ATTR_LAST_ERROR = "LastError" +DBUS_ATTR_MODE = "Mode" +DBUS_ATTR_NAMESERVERS = "Nameservers" +DBUS_ATTR_OPERATING_SYSTEM_PRETTY_NAME = "OperatingSystemPrettyName" +DBUS_ATTR_OPERATION = "Operation" +DBUS_ATTR_PRIMARY_CONNECTION = "PrimaryConnection" +DBUS_ATTR_RCMANAGER = "RcManager" +DBUS_ATTR_REAL = "Real" +DBUS_ATTR_STATE = "State" +DBUS_ATTR_STATIC_HOSTNAME = "StaticHostname" +DBUS_ATTR_STATIC_OPERATING_SYSTEM_CPE_NAME = "OperatingSystemCPEName" +DBUS_ATTR_TYPE = "Type" +DBUS_ATTR_UUID = "Uuid" +DBUS_ATTR_VARIANT = "Variant" + + +class RaucState(str, Enum): + """Rauc slot states.""" + + GOOD = "good" + BAD = "bad" + ACTIVE = "active" + + +class InterfaceMethod(str, Enum): + """Interface method simple.""" + + AUTO = "auto" + MANUAL = "manual" + + +class InterfaceMethodSimple(str, Enum): + """Interface method.""" + + DHCP = "dhcp" + STATIC = "static" diff --git a/supervisor/dbus/hostname.py b/supervisor/dbus/hostname.py index 668dfbbed..65d64cf5a 100644 --- a/supervisor/dbus/hostname.py +++ b/supervisor/dbus/hostname.py @@ -4,14 +4,21 @@ from typing import Optional from ..exceptions import DBusError, DBusInterfaceError from ..utils.gdbus import DBus +from .const import ( + DBUS_ATTR_CHASSIS, + DBUS_ATTR_DEPLOYMENT, + DBUS_ATTR_KERNEL_RELEASE, + DBUS_ATTR_OPERATING_SYSTEM_PRETTY_NAME, + DBUS_ATTR_STATIC_HOSTNAME, + DBUS_ATTR_STATIC_OPERATING_SYSTEM_CPE_NAME, + DBUS_NAME_HOSTNAME, + DBUS_OBJECT_HOSTNAME, +) from .interface import DBusInterface from .utils import dbus_connected _LOGGER: logging.Logger = logging.getLogger(__name__) -DBUS_NAME = "org.freedesktop.hostname1" -DBUS_OBJECT = "/org/freedesktop/hostname1" - class Hostname(DBusInterface): """Handle D-Bus interface for hostname/system.""" @@ -28,7 +35,7 @@ class Hostname(DBusInterface): async def connect(self): """Connect to system's D-Bus.""" try: - self.dbus = await DBus.connect(DBUS_NAME, DBUS_OBJECT) + self.dbus = await DBus.connect(DBUS_NAME_HOSTNAME, DBUS_OBJECT_HOSTNAME) except DBusError: _LOGGER.warning("Can't connect to hostname") except DBusInterfaceError: @@ -77,14 +84,14 @@ class Hostname(DBusInterface): @dbus_connected async def update(self): """Update Properties.""" - data = await self.dbus.get_properties(DBUS_NAME) + data = await self.dbus.get_properties(DBUS_NAME_HOSTNAME) if not data: _LOGGER.warning("Can't get properties for Hostname") return - self._hostname = data.get("StaticHostname") - self._chassis = data.get("Chassis") - self._deployment = data.get("Deployment") - self._kernel = data.get("KernelRelease") - self._operating_system = data.get("OperatingSystemPrettyName") - self._cpe = data.get("OperatingSystemCPEName") + self._hostname = data.get(DBUS_ATTR_STATIC_HOSTNAME) + self._chassis = data.get(DBUS_ATTR_CHASSIS) + self._deployment = data.get(DBUS_ATTR_DEPLOYMENT) + self._kernel = data.get(DBUS_ATTR_KERNEL_RELEASE) + self._operating_system = data.get(DBUS_ATTR_OPERATING_SYSTEM_PRETTY_NAME) + self._cpe = data.get(DBUS_ATTR_STATIC_OPERATING_SYSTEM_CPE_NAME) diff --git a/supervisor/dbus/network/__init__.py b/supervisor/dbus/network/__init__.py new file mode 100644 index 000000000..27d259ef0 --- /dev/null +++ b/supervisor/dbus/network/__init__.py @@ -0,0 +1,80 @@ +"""Network Manager implementation for DBUS.""" +import logging +from typing import Dict, Optional + +from ...exceptions import DBusError, DBusInterfaceError +from ...utils.gdbus import DBus +from ..const import ( + DBUS_ATTR_ACTIVE_CONNECTIONS, + DBUS_ATTR_PRIMARY_CONNECTION, + DBUS_NAME_NM, + DBUS_OBJECT_NM, +) +from ..interface import DBusInterface +from ..utils import dbus_connected +from .dns import NetworkManagerDNS +from .interface import NetworkInterface + +_LOGGER: logging.Logger = logging.getLogger(__name__) + + +class NetworkManager(DBusInterface): + """Handle D-Bus interface for Network Manager.""" + + def __init__(self) -> None: + """Initialize Properties.""" + self._dns: NetworkManagerDNS = NetworkManagerDNS() + self._interfaces: Optional[Dict[str, NetworkInterface]] = [] + + @property + def dns(self) -> NetworkManagerDNS: + """Return NetworkManager DNS interface.""" + return self._dns + + @property + def interfaces(self) -> Dict[str, NetworkInterface]: + """Return a dictionary of active interfaces.""" + return self._interfaces + + async def connect(self) -> None: + """Connect to system's D-Bus.""" + try: + self.dbus = await DBus.connect(DBUS_NAME_NM, DBUS_OBJECT_NM) + await self.dns.connect() + except DBusError: + _LOGGER.warning("Can't connect to Network Manager") + except DBusInterfaceError: + _LOGGER.warning( + "No Network Manager support on the host. Local network functions have been disabled." + ) + + @dbus_connected + async def update(self): + """Update Properties.""" + await self.dns.update() + + data = await self.dbus.get_properties(DBUS_NAME_NM) + + if not data: + _LOGGER.warning("Can't get properties for Network Manager") + return + + self._interfaces = {} + for connection in data.get(DBUS_ATTR_ACTIVE_CONNECTIONS, []): + interface = NetworkInterface() + + await interface.connect(self.dbus, connection) + + if not interface.connection.default: + continue + try: + await interface.connection.update_information() + except IndexError: + continue + + if interface.connection.object_path == data.get( + DBUS_ATTR_PRIMARY_CONNECTION + ): + interface.connection.primary = True + + self._interfaces[interface.name] = interface diff --git a/supervisor/dbus/network/configuration.py b/supervisor/dbus/network/configuration.py new file mode 100644 index 000000000..15f72be9b --- /dev/null +++ b/supervisor/dbus/network/configuration.py @@ -0,0 +1,62 @@ +"""NetworkConnection object4s for Network Manager.""" +from typing import List + +import attr + +from ...utils.gdbus import DBus + + +class NetworkAttributes: + """NetworkAttributes object for Network Manager.""" + + def __init__(self, object_path: str, properties: dict) -> None: + """Initialize NetworkAttributes object.""" + self._properties = properties + self.object_path = object_path + + +@attr.s +class AddressData: + """AddressData object for Network Manager.""" + + address: str = attr.ib() + prefix: int = attr.ib() + + +@attr.s +class IpConfiguration: + """NetworkSettingsIPConfig object for Network Manager.""" + + gateway: str = attr.ib() + method: str = attr.ib() + nameservers: List[int] = attr.ib() + address_data: AddressData = attr.ib() + + +@attr.s +class DNSConfiguration: + """DNS configuration Object.""" + + nameservers: List[str] = attr.ib() + domains: List[str] = attr.ib() + interface: str = attr.ib() + priority: int = attr.ib() + vpn: bool = attr.ib() + + +@attr.s +class NetworkSettings: + """NetworkSettings object for Network Manager.""" + + dbus: DBus = attr.ib() + + +@attr.s +class NetworkDevice: + """Device properties.""" + + dbus: DBus = attr.ib() + interface: str = attr.ib() + ip4_address: int = attr.ib() + device_type: int = attr.ib() + real: bool = attr.ib() diff --git a/supervisor/dbus/network/connection.py b/supervisor/dbus/network/connection.py new file mode 100644 index 000000000..902043875 --- /dev/null +++ b/supervisor/dbus/network/connection.py @@ -0,0 +1,124 @@ +"""Connection object for Network Manager.""" +from typing import Optional + +from ...const import ATTR_ADDRESS, ATTR_IPV4, ATTR_METHOD, ATTR_PREFIX +from ...utils.gdbus import DBus +from ..const import ( + DBUS_ATTR_ADDRESS_DATA, + DBUS_ATTR_CONNECTION, + DBUS_ATTR_DEFAULT, + DBUS_ATTR_DEVICE_INTERFACE, + DBUS_ATTR_DEVICE_TYPE, + DBUS_ATTR_DEVICES, + DBUS_ATTR_GATEWAY, + DBUS_ATTR_ID, + DBUS_ATTR_IP4ADDRESS, + DBUS_ATTR_IP4CONFIG, + DBUS_ATTR_NAMESERVERS, + DBUS_ATTR_REAL, + DBUS_ATTR_STATE, + DBUS_ATTR_TYPE, + DBUS_ATTR_UUID, + DBUS_NAME_DEVICE, + DBUS_NAME_IP4CONFIG, + DBUS_NAME_NM, +) +from .configuration import ( + AddressData, + IpConfiguration, + NetworkAttributes, + NetworkDevice, + NetworkSettings, +) + + +class NetworkConnection(NetworkAttributes): + """NetworkConnection object for Network Manager.""" + + def __init__(self, object_path: str, properties: dict) -> None: + """Initialize NetworkConnection object.""" + super().__init__(object_path, properties) + self._device_dbus: DBus = None + self._settings_dbus: DBus = None + self._settings: Optional[NetworkSettings] = None + self._ip4_config: Optional[IpConfiguration] = None + self._device: Optional[NetworkDevice] + self.primary: bool = False + + @property + def settings(self) -> NetworkSettings: + """Return a settings object for the connection.""" + return self._settings + + @property + def device(self) -> NetworkDevice: + """Return the device used in the connection.""" + return self._device + + @property + def default(self) -> bool: + """Return a boolean connection is marked as default.""" + return self._properties[DBUS_ATTR_DEFAULT] + + @property + def id(self) -> str: + """Return the id of the connection.""" + return self._properties[DBUS_ATTR_ID] + + @property + def type(self) -> str: + """Return the type of the connection.""" + return self._properties[DBUS_ATTR_TYPE] + + @property + def ip4_config(self) -> IpConfiguration: + """Return a ip configuration object for the connection.""" + return self._ip4_config + + @property + def uuid(self) -> str: + """Return the uuid of the connection.""" + return self._properties[DBUS_ATTR_UUID] + + @property + def state(self) -> int: + """ + Return the state of the connection. + + https://developer.gnome.org/NetworkManager/stable/nm-dbus-types.html#NMActiveConnectionState + """ + return self._properties[DBUS_ATTR_STATE] + + async def update_information(self): + """Update the information for childs .""" + settings = await DBus.connect( + DBUS_NAME_NM, self._properties[DBUS_ATTR_CONNECTION] + ) + device = await DBus.connect( + DBUS_NAME_NM, self._properties[DBUS_ATTR_DEVICES][0] + ) + ip4 = await DBus.connect(DBUS_NAME_NM, self._properties[DBUS_ATTR_IP4CONFIG]) + + data = (await settings.Settings.Connection.GetSettings())[0] + device_data = await device.get_properties(DBUS_NAME_DEVICE) + ip4_data = await ip4.get_properties(DBUS_NAME_IP4CONFIG) + + self._settings = NetworkSettings(settings) + + self._ip4_config = IpConfiguration( + ip4_data.get(DBUS_ATTR_GATEWAY), + data[ATTR_IPV4].get(ATTR_METHOD), + ip4_data.get(DBUS_ATTR_NAMESERVERS), + AddressData( + ip4_data.get(DBUS_ATTR_ADDRESS_DATA)[0].get(ATTR_ADDRESS), + ip4_data.get(DBUS_ATTR_ADDRESS_DATA)[0].get(ATTR_PREFIX), + ), + ) + + self._device = NetworkDevice( + device, + device_data.get(DBUS_ATTR_DEVICE_INTERFACE), + device_data.get(DBUS_ATTR_IP4ADDRESS), + device_data.get(DBUS_ATTR_DEVICE_TYPE), + device_data.get(DBUS_ATTR_REAL), + ) diff --git a/supervisor/dbus/nmi_dns.py b/supervisor/dbus/network/dns.py similarity index 52% rename from supervisor/dbus/nmi_dns.py rename to supervisor/dbus/network/dns.py index b54a5fa66..0e6b16ccd 100644 --- a/supervisor/dbus/nmi_dns.py +++ b/supervisor/dbus/network/dns.py @@ -2,31 +2,31 @@ import logging from typing import List, Optional -import attr - -from ..exceptions import DBusError, DBusInterfaceError -from ..utils.gdbus import DBus -from .interface import DBusInterface -from .utils import dbus_connected +from ...const import ( + ATTR_DOMAINS, + ATTR_INTERFACE, + ATTR_NAMESERVERS, + ATTR_PRIORITY, + ATTR_VPN, +) +from ...exceptions import DBusError, DBusInterfaceError +from ...utils.gdbus import DBus +from ..const import ( + DBUS_ATTR_CONFIGURATION, + DBUS_ATTR_MODE, + DBUS_ATTR_RCMANAGER, + DBUS_NAME_DNS, + DBUS_NAME_NM, + DBUS_OBJECT_DNS, +) +from ..interface import DBusInterface +from ..utils import dbus_connected +from .configuration import DNSConfiguration _LOGGER: logging.Logger = logging.getLogger(__name__) -DBUS_NAME = "org.freedesktop.NetworkManager" -DBUS_OBJECT = "/org/freedesktop/NetworkManager/DnsManager" - -@attr.s -class DNSConfiguration: - """NMI DnsManager configuration Object.""" - - nameservers: List[str] = attr.ib() - domains: List[str] = attr.ib() - interface: str = attr.ib() - priority: int = attr.ib() - vpn: bool = attr.ib() - - -class NMIDnsManager(DBusInterface): +class NetworkManagerDNS(DBusInterface): """Handle D-Bus interface for NMI DnsManager.""" def __init__(self) -> None: @@ -53,7 +53,7 @@ class NMIDnsManager(DBusInterface): async def connect(self) -> None: """Connect to system's D-Bus.""" try: - self.dbus = await DBus.connect(DBUS_NAME, DBUS_OBJECT) + self.dbus = await DBus.connect(DBUS_NAME_NM, DBUS_OBJECT_DNS) except DBusError: _LOGGER.warning("Can't connect to DnsManager") except DBusInterfaceError: @@ -64,22 +64,22 @@ class NMIDnsManager(DBusInterface): @dbus_connected async def update(self): """Update Properties.""" - data = await self.dbus.get_properties(f"{DBUS_NAME}.DnsManager") + data = await self.dbus.get_properties(DBUS_NAME_DNS) if not data: - _LOGGER.warning("Can't get properties for NMI DnsManager") + _LOGGER.warning("Can't get properties for DnsManager") return - self._mode = data.get("Mode") - self._rc_manager = data.get("RcManager") + self._mode = data.get(DBUS_ATTR_MODE) + self._rc_manager = data.get(DBUS_ATTR_RCMANAGER) # Parse configuraton - self._configuration.clear() - for config in data.get("Configuration", []): - dns = DNSConfiguration( - config.get("nameservers"), - config.get("domains"), - config.get("interface"), - config.get("priority"), - config.get("vpn"), + self._configuration = [ + DNSConfiguration( + config.get(ATTR_NAMESERVERS), + config.get(ATTR_DOMAINS), + config.get(ATTR_INTERFACE), + config.get(ATTR_PRIORITY), + config.get(ATTR_VPN), ) - self._configuration.append(dns) + for config in data.get(DBUS_ATTR_CONFIGURATION, []) + ] diff --git a/supervisor/dbus/network/interface.py b/supervisor/dbus/network/interface.py new file mode 100644 index 000000000..df05214a1 --- /dev/null +++ b/supervisor/dbus/network/interface.py @@ -0,0 +1,129 @@ +"""NetworkInterface object for Network Manager.""" +from ...const import ATTR_ADDRESS, ATTR_DNS, ATTR_GATEWAY, ATTR_METHOD, ATTR_PREFIX +from ...utils.gdbus import DBus +from ..const import ( + DBUS_NAME_CONNECTION_ACTIVE, + DBUS_NAME_NM, + DBUS_OBJECT_BASE, + InterfaceMethod, +) +from .connection import NetworkConnection +from .utils import ip2int + + +class NetworkInterface: + """NetworkInterface object for Network Manager, this serves as a proxy to other objects.""" + + def __init__(self) -> None: + """Initialize NetworkConnection object.""" + self._connection = None + self._nm_dbus = None + + @property + def nm_dbus(self) -> DBus: + """Return the NM DBus connection.""" + return self._nm_dbus + + @property + def connection(self) -> NetworkConnection: + """Return the connection used for this interface.""" + return self._connection + + @property + def name(self) -> str: + """Return the interface name.""" + return self.connection.device.interface + + @property + def primary(self) -> bool: + """Return true if it's the primary interfac.""" + return self.connection.primary + + @property + def ip_address(self) -> str: + """Return the ip_address.""" + return self.connection.ip4_config.address_data.address + + @property + def prefix(self) -> str: + """Return the network prefix.""" + return self.connection.ip4_config.address_data.prefix + + @property + def type(self) -> str: + """Return the interface type.""" + return self.connection.type + + @property + def id(self) -> str: + """Return the interface id.""" + return self.connection.id + + @property + def method(self) -> InterfaceMethod: + """Return the interface method.""" + return InterfaceMethod(self.connection.ip4_config.method) + + @property + def gateway(self) -> str: + """Return the gateway.""" + return self.connection.ip4_config.gateway + + @property + def nameservers(self) -> str: + """Return the nameservers.""" + return self.connection.ip4_config.nameservers + + async def connect(self, nm_dbus: DBus, connection_object: str) -> None: + """Get connection information.""" + self._nm_dbus = nm_dbus + connection_bus = await DBus.connect(DBUS_NAME_NM, connection_object) + connection_properties = await connection_bus.get_properties( + DBUS_NAME_CONNECTION_ACTIVE + ) + self._connection = NetworkConnection(connection_object, connection_properties) + + async def update_settings(self, **kwargs) -> None: + """Update IP configuration used for this interface.""" + if kwargs.get(ATTR_DNS): + kwargs[ATTR_DNS] = [ip2int(x.strip()) for x in kwargs[ATTR_DNS]] + + if kwargs.get(ATTR_METHOD): + kwargs[ATTR_METHOD] = ( + InterfaceMethod.MANUAL + if kwargs[ATTR_METHOD] == "static" + else InterfaceMethod.AUTO + ) + + if kwargs.get(ATTR_ADDRESS): + if "/" in kwargs[ATTR_ADDRESS]: + kwargs[ATTR_PREFIX] = kwargs[ATTR_ADDRESS].split("/")[-1] + kwargs[ATTR_ADDRESS] = kwargs[ATTR_ADDRESS].split("/")[0] + kwargs[ATTR_METHOD] = InterfaceMethod.MANUAL + + await self.connection.settings.dbus.Settings.Connection.Update( + f"""{{ + 'connection': + {{ + 'id': <'{self.id}'>, + 'type': <'{self.type}'> + }}, + 'ipv4': + {{ + 'method': <'{kwargs.get(ATTR_METHOD, self.method)}'>, + 'dns': <[{",".join([f"uint32 {x}" for x in kwargs.get(ATTR_DNS, self.nameservers)])}]>, + 'address-data': <[ + {{ + 'address': <'{kwargs.get(ATTR_ADDRESS, self.ip_address)}'>, + 'prefix': + }}]>, + 'gateway': <'{kwargs.get(ATTR_GATEWAY, self.gateway)}'> + }} + }}""" + ) + + await self.nm_dbus.ActivateConnection( + self.connection.settings.dbus.object_path, + self.connection.device.dbus.object_path, + DBUS_OBJECT_BASE, + ) diff --git a/supervisor/dbus/network/utils.py b/supervisor/dbus/network/utils.py new file mode 100644 index 000000000..24b7f71b4 --- /dev/null +++ b/supervisor/dbus/network/utils.py @@ -0,0 +1,14 @@ +"""Network utils.""" +from ipaddress import ip_address + +# Return a 32bit representation of a IP Address + + +def ip2int(address: str) -> int: + """Return a 32bit representation for a IP address.""" + return int(ip_address(".".join(address.split(".")[::-1]))) + + +def int2ip(bitaddress: int) -> int: + """Return a IP Address object from a 32bit representation.""" + return ".".join([str(bitaddress >> (i << 3) & 0xFF) for i in range(0, 4)]) diff --git a/supervisor/dbus/rauc.py b/supervisor/dbus/rauc.py index 97c2f36d1..0a29112ed 100644 --- a/supervisor/dbus/rauc.py +++ b/supervisor/dbus/rauc.py @@ -1,26 +1,26 @@ """D-Bus interface for rauc.""" -from enum import Enum import logging from typing import Optional from ..exceptions import DBusError, DBusInterfaceError from ..utils.gdbus import DBus +from .const import ( + DBUS_ATTR_BOOT_SLOT, + DBUS_ATTR_COMPATIBLE, + DBUS_ATTR_LAST_ERROR, + DBUS_ATTR_OPERATION, + DBUS_ATTR_VARIANT, + DBUS_NAME_RAUC, + DBUS_NAME_RAUC_INSTALLER, + DBUS_NAME_RAUC_INSTALLER_COMPLETED, + DBUS_OBJECT_BASE, + RaucState, +) from .interface import DBusInterface from .utils import dbus_connected _LOGGER: logging.Logger = logging.getLogger(__name__) -DBUS_NAME = "de.pengutronix.rauc" -DBUS_OBJECT = "/" - - -class RaucState(str, Enum): - """Rauc slot states.""" - - GOOD = "good" - BAD = "bad" - ACTIVE = "active" - class Rauc(DBusInterface): """Handle D-Bus interface for rauc.""" @@ -36,7 +36,7 @@ class Rauc(DBusInterface): async def connect(self): """Connect to D-Bus.""" try: - self.dbus = await DBus.connect(DBUS_NAME, DBUS_OBJECT) + self.dbus = await DBus.connect(DBUS_NAME_RAUC, DBUS_OBJECT_BASE) except DBusError: _LOGGER.warning("Can't connect to rauc") except DBusInterfaceError: @@ -89,7 +89,7 @@ class Rauc(DBusInterface): Return a coroutine. """ - return self.dbus.wait_signal(f"{DBUS_NAME}.Installer.Completed") + return self.dbus.wait_signal(DBUS_NAME_RAUC_INSTALLER_COMPLETED) @dbus_connected def mark(self, state: RaucState, slot_identifier: str): @@ -102,13 +102,13 @@ class Rauc(DBusInterface): @dbus_connected async def update(self): """Update Properties.""" - data = await self.dbus.get_properties(f"{DBUS_NAME}.Installer") + data = await self.dbus.get_properties(DBUS_NAME_RAUC_INSTALLER) if not data: _LOGGER.warning("Can't get properties for rauc") return - self._operation = data.get("Operation") - self._last_error = data.get("LastError") - self._compatible = data.get("Compatible") - self._variant = data.get("Variant") - self._boot_slot = data.get("BootSlot") + self._operation = data.get(DBUS_ATTR_OPERATION) + self._last_error = data.get(DBUS_ATTR_LAST_ERROR) + self._compatible = data.get(DBUS_ATTR_COMPATIBLE) + self._variant = data.get(DBUS_ATTR_VARIANT) + self._boot_slot = data.get(DBUS_ATTR_BOOT_SLOT) diff --git a/supervisor/dbus/systemd.py b/supervisor/dbus/systemd.py index faa2697e4..659304c5c 100644 --- a/supervisor/dbus/systemd.py +++ b/supervisor/dbus/systemd.py @@ -3,14 +3,12 @@ import logging from ..exceptions import DBusError, DBusInterfaceError from ..utils.gdbus import DBus +from .const import DBUS_NAME_SYSTEMD, DBUS_OBJECT_SYSTEMD from .interface import DBusInterface from .utils import dbus_connected _LOGGER: logging.Logger = logging.getLogger(__name__) -DBUS_NAME = "org.freedesktop.systemd1" -DBUS_OBJECT = "/org/freedesktop/systemd1" - class Systemd(DBusInterface): """Systemd function handler.""" @@ -18,7 +16,7 @@ class Systemd(DBusInterface): async def connect(self): """Connect to D-Bus.""" try: - self.dbus = await DBus.connect(DBUS_NAME, DBUS_OBJECT) + self.dbus = await DBus.connect(DBUS_NAME_SYSTEMD, DBUS_OBJECT_SYSTEMD) except DBusError: _LOGGER.warning("Can't connect to systemd") except DBusInterfaceError: diff --git a/supervisor/host/__init__.py b/supervisor/host/__init__.py index e4bb5b71e..4d9d69f95 100644 --- a/supervisor/host/__init__.py +++ b/supervisor/host/__init__.py @@ -89,7 +89,7 @@ class HostManager(CoreSysAttributes): if self.sys_dbus.systemd.is_connected: await self.services.update() - if self.sys_dbus.nmi_dns.is_connected: + if self.sys_dbus.network.is_connected: await self.network.update() with suppress(PulseAudioError): diff --git a/supervisor/host/network.py b/supervisor/host/network.py index adbb430b8..bdd5420b8 100644 --- a/supervisor/host/network.py +++ b/supervisor/host/network.py @@ -1,6 +1,8 @@ """Info control for host.""" import logging -from typing import List +from typing import Dict, List + +from supervisor.dbus.network.interface import NetworkInterface from ..coresys import CoreSys, CoreSysAttributes from ..exceptions import DBusError, DBusNotConnectedError, HostNotSupportedError @@ -15,12 +17,17 @@ class NetworkManager(CoreSysAttributes): """Initialize system center handling.""" self.coresys: CoreSys = coresys + @property + def interfaces(self) -> Dict[str, NetworkInterface]: + """Return a dictionary of active interfaces.""" + return self.sys_dbus.network.interfaces + @property def dns_servers(self) -> List[str]: """Return a list of local DNS servers.""" # Read all local dns servers servers: List[str] = [] - for config in self.sys_dbus.nmi_dns.configuration: + for config in self.sys_dbus.network.dns.configuration: if config.vpn or not config.nameservers: continue servers.extend(config.nameservers) @@ -29,11 +36,11 @@ class NetworkManager(CoreSysAttributes): async def update(self): """Update properties over dbus.""" - _LOGGER.info("Update local network DNS information") + _LOGGER.info("Update local network information") try: - await self.sys_dbus.nmi_dns.update() + await self.sys_dbus.network.update() except DBusError: - _LOGGER.warning("Can't update host DNS system information!") + _LOGGER.warning("Can't update network information!") except DBusNotConnectedError as err: _LOGGER.error("No hostname D-Bus connection available") raise HostNotSupportedError() from err diff --git a/supervisor/utils/gdbus.py b/supervisor/utils/gdbus.py index 1c0261612..54ddbcf2c 100644 --- a/supervisor/utils/gdbus.py +++ b/supervisor/utils/gdbus.py @@ -22,7 +22,7 @@ _LOGGER: logging.Logger = logging.getLogger(__name__) # Use to convert GVariant into json RE_GVARIANT_TYPE: re.Pattern[Any] = re.compile( r"\"[^\"\\]*(?:\\.[^\"\\]*)*\"|(boolean|byte|int16|uint16|int32|uint32|handle|int64|uint64|double|" - r"string|objectpath|signature|@[asviumodf\{\}]+) " + r"string|objectpath|signature|@[asviumodfy\{\}\(\)]+) " ) RE_GVARIANT_VARIANT: re.Pattern[Any] = re.compile(r"\"[^\"\\]*(?:\\.[^\"\\]*)*\"|(<|>)") RE_GVARIANT_STRING_ESC: re.Pattern[Any] = re.compile( @@ -73,7 +73,7 @@ class DBus: # pylint: disable=protected-access await self._init_proxy() - _LOGGER.info("Connect to dbus: %s - %s", bus_name, object_path) + _LOGGER.debug("Connect to dbus: %s - %s", bus_name, object_path) return self async def _init_proxy(self) -> None: @@ -167,7 +167,7 @@ class DBus: ) # Run command - _LOGGER.info("Call %s on %s", method, self.object_path) + _LOGGER.debug("Call %s on %s", method, self.object_path) data = await self._send(command) # Parse and return data diff --git a/tests/api/test_network.py b/tests/api/test_network.py new file mode 100644 index 000000000..3d65acca4 --- /dev/null +++ b/tests/api/test_network.py @@ -0,0 +1,60 @@ +"""Test NetwrokInterface API.""" +import pytest + +from tests.const import TEST_INTERFACE + + +@pytest.mark.asyncio +async def test_api_network_info(api_client): + """Test network manager api.""" + resp = await api_client.get("/network/info") + result = await resp.json() + assert TEST_INTERFACE in result["data"]["interfaces"] + + +@pytest.mark.asyncio +async def test_api_network_interface_info(api_client): + """Test network manager api.""" + resp = await api_client.get(f"/network/interface/{TEST_INTERFACE}/info") + result = await resp.json() + assert result["data"]["ip_address"] == "192.168.2.148/24" + + +@pytest.mark.asyncio +async def test_api_network_interface_update(api_client): + """Test network manager api.""" + resp = await api_client.post( + f"/network/interface/{TEST_INTERFACE}/update", + json={"method": "static", "dns": ["1.1.1.1"], "address": "192.168.2.148/24"}, + ) + result = await resp.json() + assert result["result"] == "ok" + + +@pytest.mark.asyncio +async def test_api_network_interface_info_invalid(api_client): + """Test network manager api.""" + resp = await api_client.get("/network/interface/invalid/info") + result = await resp.json() + assert not result["data"] + + +@pytest.mark.asyncio +async def test_api_network_interface_update_invalid(api_client): + """Test network manager api.""" + resp = await api_client.post("/network/interface/invalid/update", json={}) + result = await resp.json() + assert result["message"] == "Interface invalid does not exsist" + + resp = await api_client.post(f"/network/interface/{TEST_INTERFACE}/update", json={}) + result = await resp.json() + assert result["message"] == "You need to supply at least one option to update" + + resp = await api_client.post( + f"/network/interface/{TEST_INTERFACE}/update", json={"dns": "1.1.1.1"} + ) + result = await resp.json() + assert ( + result["message"] + == "expected a list for dictionary value @ data['dns']. Got '1.1.1.1'" + ) diff --git a/tests/common.py b/tests/common.py index c432bc037..b4db1e520 100644 --- a/tests/common.py +++ b/tests/common.py @@ -3,7 +3,13 @@ import json from pathlib import Path -def load_json_fixture(filename): - """Load a fixture.""" +def load_json_fixture(filename: str) -> dict: + """Load a json fixture.""" path = Path(Path(__file__).parent.joinpath("fixtures"), filename) return json.loads(path.read_text()) + + +def load_fixture(filename: str) -> str: + """Load a fixture.""" + path = Path(Path(__file__).parent.joinpath("fixtures"), filename) + return path.read_text() diff --git a/tests/conftest.py b/tests/conftest.py index 22c8f99f1..7548820ad 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -2,16 +2,25 @@ from unittest.mock import MagicMock, PropertyMock, patch from uuid import uuid4 +from aiohttp import web +from aiohttp.test_utils import TestClient import pytest +from supervisor.api import RestAPI from supervisor.bootstrap import initialize_coresys +from supervisor.coresys import CoreSys +from supervisor.dbus.const import DBUS_NAME_NM, DBUS_OBJECT_BASE +from supervisor.dbus.network import NetworkManager from supervisor.docker import DockerAPI +from supervisor.utils.gdbus import DBus + +from tests.common import load_fixture, load_json_fixture # pylint: disable=redefined-outer-name, protected-access @pytest.fixture -def docker(): +def docker() -> DockerAPI: """Mock DockerAPI.""" images = [MagicMock(tags=["homeassistant/amd64-hassio-supervisor:latest"])] @@ -28,12 +37,52 @@ def docker(): @pytest.fixture -async def coresys(loop, docker): +def dbus() -> DBus: + """Mock DBUS.""" + + async def mock_get_properties(_, interface): + return load_json_fixture(f"{interface.replace('.', '_')}.json") + + async def mock_send(_, command): + filetype = "xml" if "--xml" in command else "fixture" + fixture = f"{command[6].replace('/', '_')[1:]}.{filetype}" + return load_fixture(fixture) + + with patch("supervisor.utils.gdbus.DBus._send", new=mock_send), patch( + "supervisor.dbus.interface.DBusInterface.is_connected", return_value=True, + ), patch("supervisor.utils.gdbus.DBus.get_properties", new=mock_get_properties): + + dbus_obj = DBus(DBUS_NAME_NM, DBUS_OBJECT_BASE) + + yield dbus_obj + + +@pytest.fixture +async def network_manager(dbus) -> NetworkManager: + """Mock NetworkManager.""" + + async def dns_update(): + pass + + with patch("supervisor.dbus.network.NetworkManager.dns", return_value=MagicMock()): + nm_obj = NetworkManager() + nm_obj.dns.update = dns_update + nm_obj.dbus = dbus + await nm_obj.connect() + await nm_obj.update() + + yield nm_obj + + +@pytest.fixture +async def coresys(loop, docker, dbus, network_manager, aiohttp_client) -> CoreSys: """Create a CoreSys Mock.""" with patch("supervisor.bootstrap.initialize_system_data"), patch( "supervisor.bootstrap.setup_diagnostics" ), patch( "supervisor.bootstrap.fetch_timezone", return_value="Europe/Zurich", + ), patch( + "aiohttp.ClientSession", return_value=TestClient.session, ): coresys_obj = await initialize_coresys() @@ -42,6 +91,8 @@ async def coresys(loop, docker): coresys_obj._machine = "qemux86-64" coresys_obj._machine_id = uuid4() + coresys_obj._dbus = dbus + coresys_obj._dbus.network = network_manager yield coresys_obj @@ -61,3 +112,12 @@ def sys_supervisor(): ) as mock: mock.return_value = MagicMock() yield MagicMock + + +@pytest.fixture +async def api_client(aiohttp_client, coresys): + """Fixture for RestAPI client.""" + api = RestAPI(coresys) + api.webapp = web.Application() + await api.load() + yield await aiohttp_client(api.webapp) diff --git a/tests/const.py b/tests/const.py new file mode 100644 index 000000000..f854bddf8 --- /dev/null +++ b/tests/const.py @@ -0,0 +1,3 @@ +"""Consts for tests.""" + +TEST_INTERFACE = "eth0" diff --git a/tests/dbus/network/test_interface.py b/tests/dbus/network/test_interface.py new file mode 100644 index 000000000..722b2fe63 --- /dev/null +++ b/tests/dbus/network/test_interface.py @@ -0,0 +1,15 @@ +"""Test NetwrokInterface.""" +import pytest + +from supervisor.dbus.network import NetworkManager + +from tests.const import TEST_INTERFACE + + +@pytest.mark.asyncio +async def test_network_interface(network_manager: NetworkManager): + """Test network interface.""" + interface = network_manager.interfaces[TEST_INTERFACE] + assert interface.name == TEST_INTERFACE + assert interface.connection.state == 2 + assert interface.connection.uuid == "0c23631e-2118-355c-bbb0-8943229cb0d6" diff --git a/tests/dbus/network/test_network_manager.py b/tests/dbus/network/test_network_manager.py new file mode 100644 index 000000000..7dc0ad3ea --- /dev/null +++ b/tests/dbus/network/test_network_manager.py @@ -0,0 +1,12 @@ +"""Test NetwrokInterface.""" +import pytest + +from supervisor.dbus.network import NetworkManager + +from tests.const import TEST_INTERFACE + + +@pytest.mark.asyncio +async def test_network_manager(network_manager: NetworkManager): + """Test network manager update.""" + assert TEST_INTERFACE in network_manager.interfaces diff --git a/tests/dbus/network/test_utils.py b/tests/dbus/network/test_utils.py new file mode 100644 index 000000000..98411c2d9 --- /dev/null +++ b/tests/dbus/network/test_utils.py @@ -0,0 +1,12 @@ +"""Test network utils.""" +from supervisor.dbus.network.utils import int2ip, ip2int + + +def test_int2ip(): + """Test int2ip.""" + assert int2ip(16885952) == "192.168.1.1" + + +def test_ip2int(): + """Test ip2int.""" + assert ip2int("192.168.1.1") == 16885952 diff --git a/tests/fixtures/org_freedesktop_NetworkManager.fixture b/tests/fixtures/org_freedesktop_NetworkManager.fixture new file mode 100644 index 000000000..9cb8ee938 --- /dev/null +++ b/tests/fixtures/org_freedesktop_NetworkManager.fixture @@ -0,0 +1 @@ +({'connection': {'id': <'Wired connection 1'>, 'permissions': <@as []>, 'timestamp': , 'type': <'802-3-ethernet'>, 'uuid': <'0c23631e-2118-355c-bbb0-8943229cb0d6'>}, 'ipv4': {'address-data': <[{'address': <'192.168.2.148'>, 'prefix': }]>, 'addresses': <[[uint32 2483202240, 24, 16951488]]>, 'dns': <[uint32 16951488]>, 'dns-search': <@as []>, 'gateway': <'192.168.2.1'>, 'method': <'auto'>, 'route-data': <@aa{sv} []>, 'routes': <@aau []>}, 'ipv6': {'address-data': <@aa{sv} []>, 'addresses': <@a(ayuay) []>, 'dns': <@aay []>, 'dns-search': <@as []>, 'method': <'auto'>, 'route-data': <@aa{sv} []>, 'routes': <@a(ayuayu) []>}, 'proxy': {}, '802-3-ethernet': {'auto-negotiate': , 'mac-address-blacklist': <@as []>, 's390-options': <@a{ss} {}>}},) \ No newline at end of file diff --git a/tests/fixtures/org_freedesktop_NetworkManager.json b/tests/fixtures/org_freedesktop_NetworkManager.json new file mode 100644 index 000000000..77082071c --- /dev/null +++ b/tests/fixtures/org_freedesktop_NetworkManager.json @@ -0,0 +1,29 @@ +{ + "Devices": ["/org/freedesktop/NetworkManager/Devices/1"], + "AllDevices": [ + "/org/freedesktop/NetworkManager/Devices/1", + "/org/freedesktop/NetworkManager/Devices/2" + ], + "Checkpoints": [], + "NetworkingEnabled": true, + "WirelessEnabled": true, + "WirelessHardwareEnabled": true, + "WwanEnabled": true, + "WwanHardwareEnabled": true, + "WimaxEnabled": false, + "WimaxHardwareEnabled": false, + "ActiveConnections": ["/org/freedesktop/NetworkManager/ActiveConnection/1"], + "PrimaryConnection": "/org/freedesktop/NetworkManager/ActiveConnection/1", + "PrimaryConnectionType": "802-3-ethernet", + "Metered": 4, + "ActivatingConnection": "/", + "Startup": false, + "Version": "1.22.10", + "Capabilities": [1], + "State": 70, + "Connectivity": 4, + "ConnectivityCheckAvailable": true, + "ConnectivityCheckEnabled": true, + "ConnectivityCheckUri": "http://connectivity-check.ubuntu.com/", + "GlobalDnsConfiguration": {} +} diff --git a/tests/fixtures/org_freedesktop_NetworkManager.xml b/tests/fixtures/org_freedesktop_NetworkManager.xml new file mode 100644 index 000000000..4be654a9f --- /dev/null +++ b/tests/fixtures/org_freedesktop_NetworkManager.xml @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/fixtures/org_freedesktop_NetworkManager_ActiveConnection_1.xml b/tests/fixtures/org_freedesktop_NetworkManager_ActiveConnection_1.xml new file mode 100644 index 000000000..acfe31844 --- /dev/null +++ b/tests/fixtures/org_freedesktop_NetworkManager_ActiveConnection_1.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/fixtures/org_freedesktop_NetworkManager_Connection_Active.json b/tests/fixtures/org_freedesktop_NetworkManager_Connection_Active.json new file mode 100644 index 000000000..84e5590eb --- /dev/null +++ b/tests/fixtures/org_freedesktop_NetworkManager_Connection_Active.json @@ -0,0 +1,18 @@ +{ + "Connection": "/org/freedesktop/NetworkManager/Settings/1", + "SpecificObject": "/", + "Id": "Wired connection 1", + "Uuid": "0c23631e-2118-355c-bbb0-8943229cb0d6", + "Type": "802-3-ethernet", + "Devices": ["/org/freedesktop/NetworkManager/Devices/1"], + "State": 2, + "StateFlags": 12, + "Default": true, + "Ip4Config": "/org/freedesktop/NetworkManager/IP4Config/1", + "Dhcp4Config": "/org/freedesktop/NetworkManager/DHCP4Config/1", + "Default6": false, + "Ip6Config": "/org/freedesktop/NetworkManager/IP6Config/1", + "Dhcp6Config": "/", + "Vpn": false, + "Master": "/" +} diff --git a/tests/fixtures/org_freedesktop_NetworkManager_Device.json b/tests/fixtures/org_freedesktop_NetworkManager_Device.json new file mode 100644 index 000000000..8f1f2d7e4 --- /dev/null +++ b/tests/fixtures/org_freedesktop_NetworkManager_Device.json @@ -0,0 +1,31 @@ +{ + "Udi": "/sys/devices/pci0000:00/0000:00:1f.6/net/eth0", + "Interface": "eth0", + "IpInterface": "eth0", + "Driver": "e1000e", + "DriverVersion": "3.2.6-k", + "FirmwareVersion": "0.7-4", + "Capabilities": 3, + "Ip4Address": 2499979456, + "State": 100, + "StateReason": [100, 0], + "ActiveConnection": "/org/freedesktop/NetworkManager/ActiveConnection/1", + "Ip4Config": "/org/freedesktop/NetworkManager/IP4Config/1", + "Dhcp4Config": "/org/freedesktop/NetworkManager/DHCP4Config/1", + "Ip6Config": "/org/freedesktop/NetworkManager/IP6Config/1", + "Dhcp6Config": "/", + "Managed": true, + "Autoconnect": true, + "FirmwareMissing": false, + "NmPluginMissing": false, + "DeviceType": 1, + "AvailableConnections": ["/org/freedesktop/NetworkManager/Settings/1"], + "PhysicalPortId": "", + "Mtu": 1500, + "Metered": 4, + "LldpNeighbors": [], + "Real": true, + "Ip4Connectivity": 4, + "Ip6Connectivity": 3, + "InterfaceFlags": 65539 +} diff --git a/tests/fixtures/org_freedesktop_NetworkManager_Devices_1.xml b/tests/fixtures/org_freedesktop_NetworkManager_Devices_1.xml new file mode 100644 index 000000000..f803df865 --- /dev/null +++ b/tests/fixtures/org_freedesktop_NetworkManager_Devices_1.xml @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/fixtures/org_freedesktop_NetworkManager_DnsManager.xml b/tests/fixtures/org_freedesktop_NetworkManager_DnsManager.xml new file mode 100644 index 000000000..dc672efc5 --- /dev/null +++ b/tests/fixtures/org_freedesktop_NetworkManager_DnsManager.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/fixtures/org_freedesktop_NetworkManager_IP4Config.json b/tests/fixtures/org_freedesktop_NetworkManager_IP4Config.json new file mode 100644 index 000000000..3c03baaed --- /dev/null +++ b/tests/fixtures/org_freedesktop_NetworkManager_IP4Config.json @@ -0,0 +1,22 @@ +{ + "Addresses": [[2499979456, 24, 16951488]], + "AddressData": [{ "address": "192.168.2.148", "prefix": 24 }], + "Gateway": "192.168.2.1", + "Routes": [ + [174272, 24, 0, 100], + [65193, 16, 0, 1000] + ], + "RouteData": [ + { "dest": "192.168.2.0", "prefix": 24, "metric": 100 }, + { "dest": "169.254.0.0", "prefix": 16, "metric": 1000 }, + { "dest": "0.0.0.0", "prefix": 0, "next-hop": "192.168.2.1", "metric": 100 } + ], + "NameserverData": [{ "address": "192.168.2.1" }], + "Nameservers": [16951488], + "Domains": [], + "Searches": [], + "DnsOptions": [], + "DnsPriority": 100, + "WinsServerData": [], + "WinsServers": [] +} diff --git a/tests/fixtures/org_freedesktop_NetworkManager_IP4Config_1.xml b/tests/fixtures/org_freedesktop_NetworkManager_IP4Config_1.xml new file mode 100644 index 000000000..2b7ecf62c --- /dev/null +++ b/tests/fixtures/org_freedesktop_NetworkManager_IP4Config_1.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/fixtures/org_freedesktop_NetworkManager_Settings_1.fixture b/tests/fixtures/org_freedesktop_NetworkManager_Settings_1.fixture new file mode 100644 index 000000000..9cb8ee938 --- /dev/null +++ b/tests/fixtures/org_freedesktop_NetworkManager_Settings_1.fixture @@ -0,0 +1 @@ +({'connection': {'id': <'Wired connection 1'>, 'permissions': <@as []>, 'timestamp': , 'type': <'802-3-ethernet'>, 'uuid': <'0c23631e-2118-355c-bbb0-8943229cb0d6'>}, 'ipv4': {'address-data': <[{'address': <'192.168.2.148'>, 'prefix': }]>, 'addresses': <[[uint32 2483202240, 24, 16951488]]>, 'dns': <[uint32 16951488]>, 'dns-search': <@as []>, 'gateway': <'192.168.2.1'>, 'method': <'auto'>, 'route-data': <@aa{sv} []>, 'routes': <@aau []>}, 'ipv6': {'address-data': <@aa{sv} []>, 'addresses': <@a(ayuay) []>, 'dns': <@aay []>, 'dns-search': <@as []>, 'method': <'auto'>, 'route-data': <@aa{sv} []>, 'routes': <@a(ayuayu) []>}, 'proxy': {}, '802-3-ethernet': {'auto-negotiate': , 'mac-address-blacklist': <@as []>, 's390-options': <@a{ss} {}>}},) \ No newline at end of file diff --git a/tests/fixtures/org_freedesktop_NetworkManager_Settings_1.xml b/tests/fixtures/org_freedesktop_NetworkManager_Settings_1.xml new file mode 100644 index 000000000..b9442d827 --- /dev/null +++ b/tests/fixtures/org_freedesktop_NetworkManager_Settings_1.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From e8b04cc20a5bc830642e14928ae4efa38aa8104e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Mon, 24 Aug 2020 22:51:40 +0200 Subject: [PATCH 15/27] Update frontend to 6599351 (#1965) --- home-assistant-polymer | 2 +- supervisor/api/panel/entrypoint.js | 4 +- supervisor/api/panel/entrypoint.js.gz | Bin 197 -> 196 bytes .../chunk.1edd93e4d4c4749e55ab.js.gz | Bin 4610 -> 0 bytes ...b4586.js => chunk.2bedf151264a1500c372.js} | 6 +- ...chunk.2bedf151264a1500c372.js.LICENSE.txt} | 2 +- .../chunk.2bedf151264a1500c372.js.gz | Bin 0 -> 37243 bytes .../chunk.2bedf151264a1500c372.js.map | 1 + .../chunk.76cd2f7f90bec6f08e4a.js | 2 + .../chunk.76cd2f7f90bec6f08e4a.js.gz | Bin 0 -> 5531 bytes .../chunk.76cd2f7f90bec6f08e4a.js.map | 1 + .../chunk.937f66fb08e0d4aa8818.js | 2 - .../chunk.937f66fb08e0d4aa8818.js.gz | Bin 5414 -> 0 bytes .../chunk.937f66fb08e0d4aa8818.js.map | 1 - .../chunk.9de6943cce77c49b4586.js.gz | Bin 37248 -> 0 bytes .../chunk.9de6943cce77c49b4586.js.map | 1 - ...e55ab.js => chunk.b7b12567185bad0732f4.js} | 4 +- .../chunk.b7b12567185bad0732f4.js.gz | Bin 0 -> 4611 bytes ....map => chunk.b7b12567185bad0732f4.js.map} | 2 +- .../chunk.da1dfd51b6b98d4ff6af.js | 2 + .../chunk.da1dfd51b6b98d4ff6af.js.gz | Bin 0 -> 23002 bytes .../chunk.da1dfd51b6b98d4ff6af.js.map | 1 + .../chunk.dacd9533a16ebaba94e9.js | 2 - .../chunk.dacd9533a16ebaba94e9.js.gz | Bin 22598 -> 0 bytes .../chunk.dacd9533a16ebaba94e9.js.map | 1 - .../panel/frontend_es5/entrypoint.19035830.js | 3 - .../frontend_es5/entrypoint.19035830.js.gz | Bin 201613 -> 0 bytes .../frontend_es5/entrypoint.19035830.js.map | 1 - .../panel/frontend_es5/entrypoint.f0a421ac.js | 3 + ...txt => entrypoint.f0a421ac.js.LICENSE.txt} | 0 .../frontend_es5/entrypoint.f0a421ac.js.gz | Bin 0 -> 201879 bytes .../frontend_es5/entrypoint.f0a421ac.js.map | 1 + .../api/panel/frontend_es5/manifest.json | 2 +- .../chunk.0b46d891be84116b68f7.js | 111 ++++++++++++++++++ .../chunk.0b46d891be84116b68f7.js.gz | Bin 0 -> 4475 bytes ....map => chunk.0b46d891be84116b68f7.js.map} | 2 +- .../chunk.46e2dce2dcad3c8f5df8.js.gz | Bin 36799 -> 0 bytes ...bbac3.js => chunk.8ffecc37b92dede7a5b2.js} | 4 +- .../chunk.8ffecc37b92dede7a5b2.js.gz | Bin 0 -> 3756 bytes .../chunk.8ffecc37b92dede7a5b2.js.map | 1 + ...f5df8.js => chunk.9941374695a5dff31a39.js} | 6 +- ...chunk.9941374695a5dff31a39.js.LICENSE.txt} | 2 +- .../chunk.9941374695a5dff31a39.js.gz | Bin 0 -> 36803 bytes ....map => chunk.9941374695a5dff31a39.js.map} | 2 +- ...2acb9.js => chunk.a2411e775b9069bc1461.js} | 50 ++++---- .../chunk.a2411e775b9069bc1461.js.gz | Bin 0 -> 16993 bytes ....map => chunk.a2411e775b9069bc1461.js.map} | 2 +- .../chunk.c108fa5618a9a08e44f8.js | 111 ------------------ .../chunk.c108fa5618a9a08e44f8.js.gz | Bin 4437 -> 0 bytes .../chunk.c39326bad514c41bbac3.js.gz | Bin 3757 -> 0 bytes .../chunk.c39326bad514c41bbac3.js.map | 1 - .../chunk.d7009039727fd352acb9.js.gz | Bin 16393 -> 0 bytes ...int.855567b9.js => entrypoint.68997ae5.js} | 26 ++-- ...txt => entrypoint.68997ae5.js.LICENSE.txt} | 0 .../frontend_latest/entrypoint.68997ae5.js.gz | Bin 0 -> 164602 bytes ...67b9.js.map => entrypoint.68997ae5.js.map} | 2 +- .../frontend_latest/entrypoint.855567b9.js.gz | Bin 164333 -> 0 bytes .../api/panel/frontend_latest/manifest.json | 2 +- 58 files changed, 183 insertions(+), 183 deletions(-) delete mode 100644 supervisor/api/panel/frontend_es5/chunk.1edd93e4d4c4749e55ab.js.gz rename supervisor/api/panel/frontend_es5/{chunk.9de6943cce77c49b4586.js => chunk.2bedf151264a1500c372.js} (82%) rename supervisor/api/panel/frontend_es5/{chunk.9de6943cce77c49b4586.js.LICENSE.txt => chunk.2bedf151264a1500c372.js.LICENSE.txt} (89%) create mode 100644 supervisor/api/panel/frontend_es5/chunk.2bedf151264a1500c372.js.gz create mode 100644 supervisor/api/panel/frontend_es5/chunk.2bedf151264a1500c372.js.map create mode 100644 supervisor/api/panel/frontend_es5/chunk.76cd2f7f90bec6f08e4a.js create mode 100644 supervisor/api/panel/frontend_es5/chunk.76cd2f7f90bec6f08e4a.js.gz create mode 100644 supervisor/api/panel/frontend_es5/chunk.76cd2f7f90bec6f08e4a.js.map delete mode 100644 supervisor/api/panel/frontend_es5/chunk.937f66fb08e0d4aa8818.js delete mode 100644 supervisor/api/panel/frontend_es5/chunk.937f66fb08e0d4aa8818.js.gz delete mode 100644 supervisor/api/panel/frontend_es5/chunk.937f66fb08e0d4aa8818.js.map delete mode 100644 supervisor/api/panel/frontend_es5/chunk.9de6943cce77c49b4586.js.gz delete mode 100644 supervisor/api/panel/frontend_es5/chunk.9de6943cce77c49b4586.js.map rename supervisor/api/panel/frontend_es5/{chunk.1edd93e4d4c4749e55ab.js => chunk.b7b12567185bad0732f4.js} (99%) create mode 100644 supervisor/api/panel/frontend_es5/chunk.b7b12567185bad0732f4.js.gz rename supervisor/api/panel/frontend_es5/{chunk.1edd93e4d4c4749e55ab.js.map => chunk.b7b12567185bad0732f4.js.map} (54%) create mode 100644 supervisor/api/panel/frontend_es5/chunk.da1dfd51b6b98d4ff6af.js create mode 100644 supervisor/api/panel/frontend_es5/chunk.da1dfd51b6b98d4ff6af.js.gz create mode 100644 supervisor/api/panel/frontend_es5/chunk.da1dfd51b6b98d4ff6af.js.map delete mode 100644 supervisor/api/panel/frontend_es5/chunk.dacd9533a16ebaba94e9.js delete mode 100644 supervisor/api/panel/frontend_es5/chunk.dacd9533a16ebaba94e9.js.gz delete mode 100644 supervisor/api/panel/frontend_es5/chunk.dacd9533a16ebaba94e9.js.map delete mode 100644 supervisor/api/panel/frontend_es5/entrypoint.19035830.js delete mode 100644 supervisor/api/panel/frontend_es5/entrypoint.19035830.js.gz delete mode 100644 supervisor/api/panel/frontend_es5/entrypoint.19035830.js.map create mode 100644 supervisor/api/panel/frontend_es5/entrypoint.f0a421ac.js rename supervisor/api/panel/frontend_es5/{entrypoint.19035830.js.LICENSE.txt => entrypoint.f0a421ac.js.LICENSE.txt} (100%) create mode 100644 supervisor/api/panel/frontend_es5/entrypoint.f0a421ac.js.gz create mode 100644 supervisor/api/panel/frontend_es5/entrypoint.f0a421ac.js.map create mode 100644 supervisor/api/panel/frontend_latest/chunk.0b46d891be84116b68f7.js create mode 100644 supervisor/api/panel/frontend_latest/chunk.0b46d891be84116b68f7.js.gz rename supervisor/api/panel/frontend_latest/{chunk.c108fa5618a9a08e44f8.js.map => chunk.0b46d891be84116b68f7.js.map} (52%) delete mode 100644 supervisor/api/panel/frontend_latest/chunk.46e2dce2dcad3c8f5df8.js.gz rename supervisor/api/panel/frontend_latest/{chunk.c39326bad514c41bbac3.js => chunk.8ffecc37b92dede7a5b2.js} (98%) create mode 100644 supervisor/api/panel/frontend_latest/chunk.8ffecc37b92dede7a5b2.js.gz create mode 100644 supervisor/api/panel/frontend_latest/chunk.8ffecc37b92dede7a5b2.js.map rename supervisor/api/panel/frontend_latest/{chunk.46e2dce2dcad3c8f5df8.js => chunk.9941374695a5dff31a39.js} (89%) rename supervisor/api/panel/frontend_latest/{chunk.46e2dce2dcad3c8f5df8.js.LICENSE.txt => chunk.9941374695a5dff31a39.js.LICENSE.txt} (89%) create mode 100644 supervisor/api/panel/frontend_latest/chunk.9941374695a5dff31a39.js.gz rename supervisor/api/panel/frontend_latest/{chunk.46e2dce2dcad3c8f5df8.js.map => chunk.9941374695a5dff31a39.js.map} (51%) rename supervisor/api/panel/frontend_latest/{chunk.d7009039727fd352acb9.js => chunk.a2411e775b9069bc1461.js} (84%) create mode 100644 supervisor/api/panel/frontend_latest/chunk.a2411e775b9069bc1461.js.gz rename supervisor/api/panel/frontend_latest/{chunk.d7009039727fd352acb9.js.map => chunk.a2411e775b9069bc1461.js.map} (90%) delete mode 100644 supervisor/api/panel/frontend_latest/chunk.c108fa5618a9a08e44f8.js delete mode 100644 supervisor/api/panel/frontend_latest/chunk.c108fa5618a9a08e44f8.js.gz delete mode 100644 supervisor/api/panel/frontend_latest/chunk.c39326bad514c41bbac3.js.gz delete mode 100644 supervisor/api/panel/frontend_latest/chunk.c39326bad514c41bbac3.js.map delete mode 100644 supervisor/api/panel/frontend_latest/chunk.d7009039727fd352acb9.js.gz rename supervisor/api/panel/frontend_latest/{entrypoint.855567b9.js => entrypoint.68997ae5.js} (94%) rename supervisor/api/panel/frontend_latest/{entrypoint.855567b9.js.LICENSE.txt => entrypoint.68997ae5.js.LICENSE.txt} (100%) create mode 100644 supervisor/api/panel/frontend_latest/entrypoint.68997ae5.js.gz rename supervisor/api/panel/frontend_latest/{entrypoint.855567b9.js.map => entrypoint.68997ae5.js.map} (95%) delete mode 100644 supervisor/api/panel/frontend_latest/entrypoint.855567b9.js.gz diff --git a/home-assistant-polymer b/home-assistant-polymer index 77b25f513..6599351d4 160000 --- a/home-assistant-polymer +++ b/home-assistant-polymer @@ -1 +1 @@ -Subproject commit 77b25f5132820c0596ccae82dd501ce67f101e72 +Subproject commit 6599351d45a80da9310095654d530d85e7bd1f1e diff --git a/supervisor/api/panel/entrypoint.js b/supervisor/api/panel/entrypoint.js index 305bfd4c2..1a1fbb1d3 100644 --- a/supervisor/api/panel/entrypoint.js +++ b/supervisor/api/panel/entrypoint.js @@ -1,9 +1,9 @@ try { - new Function("import('/api/hassio/app/frontend_latest/entrypoint.855567b9.js')")(); + new Function("import('/api/hassio/app/frontend_latest/entrypoint.68997ae5.js')")(); } catch (err) { var el = document.createElement('script'); - el.src = '/api/hassio/app/frontend_es5/entrypoint.19035830.js'; + el.src = '/api/hassio/app/frontend_es5/entrypoint.f0a421ac.js'; document.body.appendChild(el); } \ No newline at end of file diff --git a/supervisor/api/panel/entrypoint.js.gz b/supervisor/api/panel/entrypoint.js.gz index 4428a9474dfff4135d2507dd2b8dca85e6023223..d2ac099bba4802c11298f9279cbc2ecd6c289428 100644 GIT binary patch literal 196 zcmV;#06YI5iwFP!0000219gtUN(3Fn>~9xN~_8>y%ba)8o8R^ zTdo>z?hc1rv)_5=@24*yR9e8Xi2qr6M*%MI0IAXW#HNujDnAw8er_Hlx$A5) y7#N0-!T)FQ*#B)fUf}iBCDPVl7k*b>TUvve<~%OBB*$gzGvpgL?^whE0RRBY<6A`l literal 197 zcmV;$06PC4iwFP!0000219gtEP6QzkhWmYr$u&R&XD;YnjFr*XFdU3o3=3qK)ohIK z?yQYAc94AE{NKd1!RG`}@dKXM8acPB4|(a0SSuHLc5@gbH+gpVO06>1^il%jV24%w z-g0Go_TJy#T`%@+D048{+)rN+1IHOO5}BWs_dtLJ9w4>2E+|?g42(|&_n%fHQtqro z1_AA$DDeLoIQ-v+o6GU!&!^+wAQygDt}Sg=OmQCPT$0AJ_X+Y1bvQ;x0RaF2$sJi? diff --git a/supervisor/api/panel/frontend_es5/chunk.1edd93e4d4c4749e55ab.js.gz b/supervisor/api/panel/frontend_es5/chunk.1edd93e4d4c4749e55ab.js.gz deleted file mode 100644 index 0117aa291b8d737e1735e0a1480b6a85534598a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4610 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 diff --git a/supervisor/api/panel/frontend_es5/chunk.9de6943cce77c49b4586.js b/supervisor/api/panel/frontend_es5/chunk.2bedf151264a1500c372.js similarity index 82% rename from supervisor/api/panel/frontend_es5/chunk.9de6943cce77c49b4586.js rename to supervisor/api/panel/frontend_es5/chunk.2bedf151264a1500c372.js index 3777f890d..5516d3eab 100644 --- a/supervisor/api/panel/frontend_es5/chunk.9de6943cce77c49b4586.js +++ b/supervisor/api/panel/frontend_es5/chunk.2bedf151264a1500c372.js @@ -1,3 +1,3 @@ -/*! For license information please see chunk.9de6943cce77c49b4586.js.LICENSE.txt */ -(self.webpackJsonp=self.webpackJsonp||[]).push([[9],Array(122).concat([function(t,e,n){"use strict";var i=n(125),r=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],o=["scalar","sequence","mapping"];t.exports=function(t,e){var n,a;if(e=e||{},Object.keys(e).forEach((function(e){if(-1===r.indexOf(e))throw new i('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')})),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=(n=e.styleAliases||null,a={},null!==n&&Object.keys(n).forEach((function(t){n[t].forEach((function(e){a[String(e)]=t}))})),a),-1===o.indexOf(this.kind))throw new i('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}},function(t,e,n){"use strict";function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function r(t){return null==t}t.exports.isNothing=r,t.exports.isObject=function(t){return"object"===i(t)&&null!==t},t.exports.toArray=function(t){return Array.isArray(t)?t:r(t)?[]:[t]},t.exports.repeat=function(t,e){var n,i="";for(n=0;n"object"==typeof t&&null!==t||"function"==typeof t,u=new Map([["proxy",{canHandle:t=>s(t)&&t[i],serialize(t){const{port1:e,port2:n}=new MessageChannel;return function t(e,n=self){n.addEventListener("message",(function r(o){if(!o||!o.data)return;const{id:s,type:u,path:c}=Object.assign({path:[]},o.data),f=(o.data.argumentList||[]).map(m);let h;try{const n=c.slice(0,-1).reduce((t,e)=>t[e],e),r=c.reduce((t,e)=>t[e],e);switch(u){case 0:h=r;break;case 1:n[c.slice(-1)[0]]=m(o.data.value),h=!0;break;case 2:h=r.apply(n,f);break;case 3:h=function(t){return Object.assign(t,{[i]:!0})}(new r(...f));break;case 4:{const{port1:n,port2:i}=new MessageChannel;t(e,i),h=function(t,e){return p.set(t,e),t}(n,[n])}break;case 5:h=void 0}}catch(g){h={value:g,[a]:0}}Promise.resolve(h).catch(t=>({value:t,[a]:0})).then(t=>{const[e,i]=d(t);n.postMessage(Object.assign(Object.assign({},e),{id:s}),i),5===u&&(n.removeEventListener("message",r),l(n))})})),n.start&&n.start()}(t,e),[n,[n]]},deserialize:t=>(t.start(),c(t))}],["throw",{canHandle:t=>s(t)&&a in t,serialize({value:t}){let e;return e=t instanceof Error?{isError:!0,value:{message:t.message,name:t.name,stack:t.stack}}:{isError:!1,value:t},[e,[]]},deserialize(t){if(t.isError)throw Object.assign(new Error(t.value.message),t.value);throw t.value}}]]);function l(t){(function(t){return"MessagePort"===t.constructor.name})(t)&&t.close()}function c(t,e){return function t(e,n=[],i=function(){}){let a=!1;const s=new Proxy(i,{get(i,r){if(f(a),r===o)return()=>g(e,{type:5,path:n.map(t=>t.toString())}).then(()=>{l(e),a=!0});if("then"===r){if(0===n.length)return{then:()=>s};const t=g(e,{type:0,path:n.map(t=>t.toString())}).then(m);return t.then.bind(t)}return t(e,[...n,r])},set(t,i,r){f(a);const[o,s]=d(r);return g(e,{type:1,path:[...n,i].map(t=>t.toString()),value:o},s).then(m)},apply(i,o,s){f(a);const u=n[n.length-1];if(u===r)return g(e,{type:4}).then(m);if("bind"===u)return t(e,n.slice(0,-1));const[l,c]=h(s);return g(e,{type:2,path:n.map(t=>t.toString()),argumentList:l},c).then(m)},construct(t,i){f(a);const[r,o]=h(i);return g(e,{type:3,path:n.map(t=>t.toString()),argumentList:r},o).then(m)}});return s}(t,[],e)}function f(t){if(t)throw new Error("Proxy has been released and is not useable")}function h(t){const e=t.map(d);return[e.map(t=>t[0]),(n=e.map(t=>t[1]),Array.prototype.concat.apply([],n))];var n}const p=new WeakMap;function d(t){for(const[e,n]of u)if(n.canHandle(t)){const[i,r]=n.serialize(t);return[{type:3,name:e,value:i},r]}return[{type:0,value:t},p.get(t)||[]]}function m(t){switch(t.type){case 3:return u.get(t.name).deserialize(t.value);case 0:return t.value}}function g(t,e,n){return new Promise(i=>{const r=new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-");t.addEventListener("message",(function e(n){n.data&&n.data.id&&n.data.id===r&&(t.removeEventListener("message",e),i(n.data))})),t.start&&t.start(),t.postMessage(Object.assign({id:r},e),n)})}},function(t,e){var n,i,r;i={},r={},function(t,e){function n(){this._delay=0,this._endDelay=0,this._fill="none",this._iterationStart=0,this._iterations=1,this._duration=0,this._playbackRate=1,this._direction="normal",this._easing="linear",this._easingFunction=h}function i(){return t.isDeprecated("Invalid timing inputs","2016-03-02","TypeError exceptions will be thrown instead.",!0)}function r(e,i,r){var o=new n;return i&&(o.fill="both",o.duration="auto"),"number"!=typeof e||isNaN(e)?void 0!==e&&Object.getOwnPropertyNames(e).forEach((function(n){if("auto"!=e[n]){if(("number"==typeof o[n]||"duration"==n)&&("number"!=typeof e[n]||isNaN(e[n])))return;if("fill"==n&&-1==c.indexOf(e[n]))return;if("direction"==n&&-1==f.indexOf(e[n]))return;if("playbackRate"==n&&1!==e[n]&&t.isDeprecated("AnimationEffectTiming.playbackRate","2014-11-28","Use Animation.playbackRate instead."))return;o[n]=e[n]}})):o.duration=e,o}function o(t,e,n,i){return t<0||t>1||n<0||n>1?h:function(r){function o(t,e,n){return 3*t*(1-n)*(1-n)*n+3*e*(1-n)*n*n+n*n*n}if(r<=0){var a=0;return t>0?a=e/t:!e&&n>0&&(a=i/n),a*r}if(r>=1){var s=0;return n<1?s=(i-1)/(n-1):1==n&&t<1&&(s=(e-1)/(t-1)),1+s*(r-1)}for(var u=0,l=1;u=1)return 1;var i=1/t;return(n+=e*i)-n%i}}function s(t){y||(y=document.createElement("div").style),y.animationTimingFunction="",y.animationTimingFunction=t;var e=y.animationTimingFunction;if(""==e&&i())throw new TypeError(t+" is not a valid value for easing");return e}function u(t){if("linear"==t)return h;var e=_.exec(t);if(e)return o.apply(this,e.slice(1).map(Number));var n=b.exec(t);if(n)return a(Number(n[1]),m);var i=w.exec(t);return i?a(Number(i[1]),{start:p,middle:d,end:m}[i[2]]):g[t]||h}function l(t,e,n){if(null==e)return x;var i=n.delay+t+n.endDelay;return e=Math.min(n.delay+t,i)?E:T}var c="backwards|forwards|both|none".split("|"),f="reverse|alternate|alternate-reverse".split("|"),h=function(t){return t};n.prototype={_setMember:function(e,n){this["_"+e]=n,this._effect&&(this._effect._timingInput[e]=n,this._effect._timing=t.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=t.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(t){this._setMember("delay",t)},get delay(){return this._delay},set endDelay(t){this._setMember("endDelay",t)},get endDelay(){return this._endDelay},set fill(t){this._setMember("fill",t)},get fill(){return this._fill},set iterationStart(t){if((isNaN(t)||t<0)&&i())throw new TypeError("iterationStart must be a non-negative number, received: "+t);this._setMember("iterationStart",t)},get iterationStart(){return this._iterationStart},set duration(t){if("auto"!=t&&(isNaN(t)||t<0)&&i())throw new TypeError("duration must be non-negative or auto, received: "+t);this._setMember("duration",t)},get duration(){return this._duration},set direction(t){this._setMember("direction",t)},get direction(){return this._direction},set easing(t){this._easingFunction=u(s(t)),this._setMember("easing",t)},get easing(){return this._easing},set iterations(t){if((isNaN(t)||t<0)&&i())throw new TypeError("iterations must be non-negative, received: "+t);this._setMember("iterations",t)},get iterations(){return this._iterations}};var p=1,d=.5,m=0,g={ease:o(.25,.1,.25,1),"ease-in":o(.42,0,1,1),"ease-out":o(0,0,.58,1),"ease-in-out":o(.42,0,.58,1),"step-start":a(1,p),"step-middle":a(1,d),"step-end":a(1,m)},y=null,v="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",_=new RegExp("cubic-bezier\\("+v+","+v+","+v+","+v+"\\)"),b=/steps\(\s*(\d+)\s*\)/,w=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,x=0,A=1,E=2,T=3;t.cloneTimingInput=function(t){if("number"==typeof t)return t;var e={};for(var n in t)e[n]=t[n];return e},t.makeTiming=r,t.numericTimingToObject=function(t){return"number"==typeof t&&(t=isNaN(t)?{duration:0}:{duration:t}),t},t.normalizeTimingInput=function(e,n){return r(e=t.numericTimingToObject(e),n)},t.calculateActiveDuration=function(t){return Math.abs(function(t){return 0===t.duration||0===t.iterations?0:t.duration*t.iterations}(t)/t.playbackRate)},t.calculateIterationProgress=function(t,e,n){var i=l(t,e,n),r=function(t,e,n,i,r){switch(i){case A:return"backwards"==e||"both"==e?0:null;case T:return n-r;case E:return"forwards"==e||"both"==e?t:null;case x:return null}}(t,n.fill,e,i,n.delay);if(null===r)return null;var o=function(t,e,n,i,r){var o=r;return 0===t?e!==A&&(o+=n):o+=i/t,o}(n.duration,i,n.iterations,r,n.iterationStart),a=function(t,e,n,i,r,o){var a=t===1/0?e%1:t%1;return 0!==a||n!==E||0===i||0===r&&0!==o||(a=1),a}(o,n.iterationStart,i,n.iterations,r,n.duration),s=function(t,e,n,i){return t===E&&e===1/0?1/0:1===n?Math.floor(i)-1:Math.floor(i)}(i,n.iterations,a,o),u=function(t,e,n){var i=t;if("normal"!==t&&"reverse"!==t){var r=e;"alternate-reverse"===t&&(r+=1),i="normal",r!==1/0&&r%2!=0&&(i="reverse")}return"normal"===i?n:1-n}(n.direction,s,a);return n._easingFunction(u)},t.calculatePhase=l,t.normalizeEasing=s,t.parseEasingFunction=u}(n={}),function(t,e){function n(t,e){return t in u&&u[t][e]||e}function i(t,e,i){if(!function(t){return"display"===t||0===t.lastIndexOf("animation",0)||0===t.lastIndexOf("transition",0)}(t)){var r=o[t];if(r)for(var s in a.style[t]=e,r){var u=r[s],l=a.style[u];i[u]=n(u,l)}else i[t]=n(t,e)}}function r(t){var e=[];for(var n in t)if(!(n in["easing","offset","composite"])){var i=t[n];Array.isArray(i)||(i=[i]);for(var r,o=i.length,a=0;a1)throw new TypeError("Keyframe offsets must be between 0 and 1.")}}else if("composite"==r){if("add"==o||"accumulate"==o)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"add compositing is not supported"};if("replace"!=o)throw new TypeError("Invalid composite mode "+o+".")}else o="easing"==r?t.normalizeEasing(o):""+o;i(r,o,n)}return null==n.offset&&(n.offset=null),null==n.easing&&(n.easing="linear"),n})),o=!0,a=-1/0,s=0;s=0&&t.offset<=1})),o||function(){var t=n.length;null==n[t-1].offset&&(n[t-1].offset=1),t>1&&null==n[0].offset&&(n[0].offset=0);for(var e=0,i=n[0].offset,r=1;r=t.applyFrom&&n0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(t){t=+t,isNaN(t)||(e.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-t/this._playbackRate),this._currentTimePending=!1,this._currentTime!=t&&(this._idle&&(this._idle=!1,this._paused=!0),this._tickCurrentTime(t,!0),e.applyDirtiedAnimation(this)))},get startTime(){return this._startTime},set startTime(t){t=+t,isNaN(t)||this._paused||this._idle||(this._startTime=t,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),e.applyDirtiedAnimation(this))},get playbackRate(){return this._playbackRate},set playbackRate(t){if(t!=this._playbackRate){var n=this.currentTime;this._playbackRate=t,this._startTime=null,"paused"!=this.playState&&"idle"!=this.playState&&(this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),e.applyDirtiedAnimation(this)),null!=n&&(this.currentTime=n)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?"idle":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?"pending":this._paused?"paused":this._isFinished?"finished":"running"},_rewind:function(){if(this._playbackRate>=0)this._currentTime=0;else{if(!(this._totalDuration<1/0))throw new DOMException("Unable to rewind negative playback rate animation with infinite duration","InvalidStateError");this._currentTime=this._totalDuration}},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),e.applyDirtiedAnimation(this)},pause:function(){this._isFinished||this._paused||this._idle?this._idle&&(this._rewind(),this._idle=!1):this._currentTimePending=!0,this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1,e.applyDirtiedAnimation(this))},cancel:function(){this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=0,this._startTime=null,this._effect._update(null),e.applyDirtiedAnimation(this))},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(t,e){"function"==typeof e&&"finish"==t&&this._finishHandlers.push(e)},removeEventListener:function(t,e){if("finish"==t){var n=this._finishHandlers.indexOf(e);n>=0&&this._finishHandlers.splice(n,1)}},_fireEvents:function(t){if(this._isFinished){if(!this._finishedFlag){var e=new i(this,this._currentTime,t),n=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout((function(){n.forEach((function(t){t.call(e.target,e)}))}),0),this._finishedFlag=!0}}else this._finishedFlag=!1},_tick:function(t,e){this._idle||this._paused||(null==this._startTime?e&&(this.startTime=t-this._currentTime/this.playbackRate):this._isFinished||this._tickCurrentTime((t-this._startTime)*this.playbackRate)),e&&(this._currentTimePending=!1,this._fireEvents(t))},get _needsTick(){return this.playState in{pending:1,running:1}||!this._finishedFlag},_targetAnimations:function(){var t=this._effect._target;return t._activeAnimations||(t._activeAnimations=[]),t._activeAnimations},_markTarget:function(){var t=this._targetAnimations();-1===t.indexOf(this)&&t.push(this)},_unmarkTarget:function(){var t=this._targetAnimations(),e=t.indexOf(this);-1!==e&&t.splice(e,1)}}}(n,i),function(t,e,n){function i(t){var e=l;l=[],ti?n%=i:i%=n;return t*e/(n+i)}(i.length,r.length),l=0;l=1?e:"visible"}]}),["visibility"])}(i),function(t,e){function n(t){t=t.trim(),o.fillStyle="#000",o.fillStyle=t;var e=o.fillStyle;if(o.fillStyle="#fff",o.fillStyle=t,e==o.fillStyle){o.fillRect(0,0,1,1);var n=o.getImageData(0,0,1,1).data;o.clearRect(0,0,1,1);var i=n[3]/255;return[n[0]*i,n[1]*i,n[2]*i,i]}}function i(e,n){return[e,n,function(e){function n(t){return Math.max(0,Math.min(255,t))}if(e[3])for(var i=0;i<3;i++)e[i]=Math.round(n(e[i]/e[3]));return e[3]=t.numberToString(t.clamp(0,1,e[3])),"rgba("+e.join(",")+")"}]}var r=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");r.width=r.height=1;var o=r.getContext("2d");t.addPropertiesHandler(n,i,["background-color","border-bottom-color","border-left-color","border-right-color","border-top-color","color","fill","flood-color","lighting-color","outline-color","stop-color","stroke","text-decoration-color"]),t.consumeColor=t.consumeParenthesised.bind(null,n),t.mergeColors=i}(i),function(t,e){function n(t){function e(){var e=a.exec(t);o=e?e[0]:void 0}function n(){if("("!==o)return function(){var t=Number(o);return e(),t}();e();var t=r();return")"!==o?NaN:(e(),t)}function i(){for(var t=n();"*"===o||"/"===o;){var i=o;e();var r=n();"*"===i?t*=r:t/=r}return t}function r(){for(var t=i();"+"===o||"-"===o;){var n=o;e();var r=i();"+"===n?t+=r:t-=r}return t}var o,a=/([\+\-\w\.]+|[\(\)\*\/])/g;return e(),r()}function i(t,e){if("0"==(e=e.trim().toLowerCase())&&"px".search(t)>=0)return{px:0};if(/^[^(]*$|^calc/.test(e)){e=e.replace(/calc\(/g,"(");var i={};e=e.replace(t,(function(t){return i[t]=null,"U"+t}));for(var r="U("+t.source+")",o=e.replace(/[-+]?(\d*\.)?\d+([Ee][-+]?\d+)?/g,"N").replace(new RegExp("N"+r,"g"),"D").replace(/\s[+-]\s/g,"O").replace(/\s/g,""),a=[/N\*(D)/g,/(N|D)[*\/]N/g,/(N|D)O\1/g,/\((N|D)\)/g],s=0;s1?"calc("+n+")":n}]}var a="px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc",s=i.bind(null,new RegExp(a,"g")),u=i.bind(null,new RegExp(a+"|%","g")),l=i.bind(null,/deg|rad|grad|turn/g);t.parseLength=s,t.parseLengthOrPercent=u,t.consumeLengthOrPercent=t.consumeParenthesised.bind(null,u),t.parseAngle=l,t.mergeDimensions=o;var c=t.consumeParenthesised.bind(null,s),f=t.consumeRepeated.bind(void 0,c,/^/),h=t.consumeRepeated.bind(void 0,f,/^,/);t.consumeSizePairList=h;var p=t.mergeNestedRepeated.bind(void 0,r," "),d=t.mergeNestedRepeated.bind(void 0,p,",");t.mergeNonNegativeSizePair=p,t.addPropertiesHandler((function(t){var e=h(t);if(e&&""==e[1])return e[0]}),d,["background-size"]),t.addPropertiesHandler(u,r,["border-bottom-width","border-image-width","border-left-width","border-right-width","border-top-width","flex-basis","font-size","height","line-height","max-height","max-width","outline-width","width"]),t.addPropertiesHandler(u,o,["border-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","bottom","left","letter-spacing","margin-bottom","margin-left","margin-right","margin-top","min-height","min-width","outline-offset","padding-bottom","padding-left","padding-right","padding-top","perspective","right","shape-margin","stroke-dashoffset","text-indent","top","vertical-align","word-spacing"])}(i),function(t,e){function n(e){return t.consumeLengthOrPercent(e)||t.consumeToken(/^auto/,e)}function i(e){var i=t.consumeList([t.ignore(t.consumeToken.bind(null,/^rect/)),t.ignore(t.consumeToken.bind(null,/^\(/)),t.consumeRepeated.bind(null,n,/^,/),t.ignore(t.consumeToken.bind(null,/^\)/))],e);if(i&&4==i[0].length)return i[0]}var r=t.mergeWrappedNestedRepeated.bind(null,(function(t){return"rect("+t+")"}),(function(e,n){return"auto"==e||"auto"==n?[!0,!1,function(i){var r=i?e:n;if("auto"==r)return"auto";var o=t.mergeDimensions(r,r);return o[2](o[0])}]:t.mergeDimensions(e,n)}),", ");t.parseBox=i,t.mergeBoxes=r,t.addPropertiesHandler(i,r,["clip"])}(i),function(t,e){function n(t){return function(e){var n=0;return t.map((function(t){return t===l?e[n++]:t}))}}function i(t){return t}function r(e){if("none"==(e=e.toLowerCase().trim()))return[];for(var n,i=/\s*(\w+)\(([^)]*)\)/g,r=[],o=0;n=i.exec(e);){if(n.index!=o)return;o=n.index+n[0].length;var a=n[1],s=h[a];if(!s)return;var u=n[2].split(","),l=s[0];if(l.length=0&&this._cancelHandlers.splice(n,1)}else u.call(this,t,e)},o}}}(),function(t){var e=document.documentElement,n=null,i=!1;try{var r="0"==getComputedStyle(e).getPropertyValue("opacity")?"1":"0";(n=e.animate({opacity:[r,r]},{duration:1})).currentTime=0,i=getComputedStyle(e).getPropertyValue("opacity")==r}catch(t){}finally{n&&n.cancel()}if(!i){var o=window.Element.prototype.animate;window.Element.prototype.animate=function(e,n){return window.Symbol&&Symbol.iterator&&Array.prototype.from&&e[Symbol.iterator]&&(e=Array.from(e)),Array.isArray(e)||null===e||(e=t.convertToArrayForm(e)),o.call(this,e,n)}}}(n),function(t,e,n){function i(t){var n=e.timeline;n.currentTime=t,n._discardAnimations(),0==n._animations.length?o=!1:requestAnimationFrame(i)}var r=window.requestAnimationFrame;window.requestAnimationFrame=function(t){return r((function(n){e.timeline._updateAnimationsPromises(),t(n),e.timeline._updateAnimationsPromises()}))},e.AnimationTimeline=function(){this._animations=[],this.currentTime=void 0},e.AnimationTimeline.prototype={getAnimations:function(){return this._discardAnimations(),this._animations.slice()},_updateAnimationsPromises:function(){e.animationsWithPromises=e.animationsWithPromises.filter((function(t){return t._updatePromises()}))},_discardAnimations:function(){this._updateAnimationsPromises(),this._animations=this._animations.filter((function(t){return"finished"!=t.playState&&"idle"!=t.playState}))},_play:function(t){var n=new e.Animation(t,this);return this._animations.push(n),e.restartWebAnimationsNextTick(),n._updatePromises(),n._animation.play(),n._updatePromises(),n},play:function(t){return t&&t.remove(),this._play(t)}};var o=!1;e.restartWebAnimationsNextTick=function(){o||(o=!0,requestAnimationFrame(i))};var a=new e.AnimationTimeline;e.timeline=a;try{Object.defineProperty(window.document,"timeline",{configurable:!0,get:function(){return a}})}catch(t){}try{window.document.timeline=a}catch(t){}}(0,r),function(t,e,n){e.animationsWithPromises=[],e.Animation=function(e,n){if(this.id="",e&&e._id&&(this.id=e._id),this.effect=e,e&&(e._animation=this),!n)throw new Error("Animation with null timeline is not supported");this._timeline=n,this._sequenceNumber=t.sequenceNumber++,this._holdTime=0,this._paused=!1,this._isGroup=!1,this._animation=null,this._childAnimations=[],this._callback=null,this._oldPlayState="idle",this._rebuildUnderlyingAnimation(),this._animation.cancel(),this._updatePromises()},e.Animation.prototype={_updatePromises:function(){var t=this._oldPlayState,e=this.playState;return this._readyPromise&&e!==t&&("idle"==e?(this._rejectReadyPromise(),this._readyPromise=void 0):"pending"==t?this._resolveReadyPromise():"pending"==e&&(this._readyPromise=void 0)),this._finishedPromise&&e!==t&&("idle"==e?(this._rejectFinishedPromise(),this._finishedPromise=void 0):"finished"==e?this._resolveFinishedPromise():"finished"==t&&(this._finishedPromise=void 0)),this._oldPlayState=this.playState,this._readyPromise||this._finishedPromise},_rebuildUnderlyingAnimation:function(){this._updatePromises();var t,n,i,r,o=!!this._animation;o&&(t=this.playbackRate,n=this._paused,i=this.startTime,r=this.currentTime,this._animation.cancel(),this._animation._wrapper=null,this._animation=null),(!this.effect||this.effect instanceof window.KeyframeEffect)&&(this._animation=e.newUnderlyingAnimationForKeyframeEffect(this.effect),e.bindAnimationForKeyframeEffect(this)),(this.effect instanceof window.SequenceEffect||this.effect instanceof window.GroupEffect)&&(this._animation=e.newUnderlyingAnimationForGroup(this.effect),e.bindAnimationForGroup(this)),this.effect&&this.effect._onsample&&e.bindAnimationForCustomEffect(this),o&&(1!=t&&(this.playbackRate=t),null!==i?this.startTime=i:null!==r?this.currentTime=r:null!==this._holdTime&&(this.currentTime=this._holdTime),n&&this.pause()),this._updatePromises()},_updateChildren:function(){if(this.effect&&"idle"!=this.playState){var t=this.effect._timing.delay;this._childAnimations.forEach(function(n){this._arrangeChildren(n,t),this.effect instanceof window.SequenceEffect&&(t+=e.groupChildDuration(n.effect))}.bind(this))}},_setExternalAnimation:function(t){if(this.effect&&this._isGroup)for(var e=0;e\n :host {\n display: inline-block;\n position: relative;\n width: 400px;\n border: 1px solid;\n padding: 2px;\n -moz-appearance: textarea;\n -webkit-appearance: textarea;\n overflow: hidden;\n }\n\n .mirror-text {\n visibility: hidden;\n word-wrap: break-word;\n @apply --iron-autogrow-textarea;\n }\n\n .fit {\n @apply --layout-fit;\n }\n\n textarea {\n position: relative;\n outline: none;\n border: none;\n resize: none;\n background: inherit;\n color: inherit;\n /* see comments in template */\n width: 100%;\n height: 100%;\n font-size: inherit;\n font-family: inherit;\n line-height: inherit;\n text-align: inherit;\n @apply --iron-autogrow-textarea;\n }\n\n textarea::-webkit-input-placeholder {\n @apply --iron-autogrow-textarea-placeholder;\n }\n\n textarea:-moz-placeholder {\n @apply --iron-autogrow-textarea-placeholder;\n }\n\n textarea::-moz-placeholder {\n @apply --iron-autogrow-textarea-placeholder;\n }\n\n textarea:-ms-input-placeholder {\n @apply --iron-autogrow-textarea-placeholder;\n }\n \n\n \x3c!-- the mirror sizes the input/textarea so it grows with typing --\x3e\n \x3c!-- use   instead   of to allow this element to be used in XHTML --\x3e\n \n\n \x3c!-- size the input/textarea with a div, because the textarea has intrinsic size in ff --\x3e\n
\n \n
\n'],['\n \n\n \x3c!-- the mirror sizes the input/textarea so it grows with typing --\x3e\n \x3c!-- use   instead   of to allow this element to be used in XHTML --\x3e\n \n\n \x3c!-- size the input/textarea with a div, because the textarea has intrinsic size in ff --\x3e\n
\n \n
\n']);return u=function(){return t},t}Object(o.a)({_template:Object(s.a)(u()),is:"iron-autogrow-textarea",behaviors:[r.a,i.a],properties:{value:{observer:"_valueChanged",type:String,notify:!0},bindValue:{observer:"_bindValueChanged",type:String,notify:!0},rows:{type:Number,value:1,observer:"_updateCached"},maxRows:{type:Number,value:0,observer:"_updateCached"},autocomplete:{type:String,value:"off"},autofocus:{type:Boolean,value:!1},inputmode:{type:String},placeholder:{type:String},readonly:{type:String},required:{type:Boolean},minlength:{type:Number},maxlength:{type:Number},label:{type:String}},listeners:{input:"_onInput"},get textarea(){return this.$.textarea},get selectionStart(){return this.$.textarea.selectionStart},get selectionEnd(){return this.$.textarea.selectionEnd},set selectionStart(t){this.$.textarea.selectionStart=t},set selectionEnd(t){this.$.textarea.selectionEnd=t},attached:function(){navigator.userAgent.match(/iP(?:[oa]d|hone)/)&&(this.$.textarea.style.marginLeft="-3px")},validate:function(){var t=this.$.textarea.validity.valid;return t&&(this.required&&""===this.value?t=!1:this.hasValidator()&&(t=r.a.validate.call(this,this.value))),this.invalid=!t,this.fire("iron-input-validate"),t},_bindValueChanged:function(t){this.value=t},_valueChanged:function(t){var e=this.textarea;e&&(e.value!==t&&(e.value=t||0===t?t:""),this.bindValue=t,this.$.mirror.innerHTML=this._valueForMirror(),this.fire("bind-value-changed",{value:this.bindValue}))},_onInput:function(t){var e=Object(a.a)(t).path;this.value=e?e[0].value:t.target.value},_constrain:function(t){var e;for(t=t||[""],e=this.maxRows>0&&t.length>this.maxRows?t.slice(0,this.maxRows):t.slice(0);this.rows>0&&e.length")+" "},_valueForMirror:function(){var t=this.textarea;if(t)return this.tokens=t&&t.value?t.value.replace(/&/gm,"&").replace(/"/gm,""").replace(/'/gm,"'").replace(//gm,">").split("\n"):[""],this._constrain(this.tokens)},_updateCached:function(){this.$.mirror.innerHTML=this._constrain(this.tokens)}})},function(t,e,n){"use strict";var i=n(137);t.exports=i},function(t,e,n){"use strict";var i=n(138),r=n(160);function o(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}t.exports.Type=n(122),t.exports.Schema=n(124),t.exports.FAILSAFE_SCHEMA=n(129),t.exports.JSON_SCHEMA=n(132),t.exports.CORE_SCHEMA=n(131),t.exports.DEFAULT_SAFE_SCHEMA=n(126),t.exports.DEFAULT_FULL_SCHEMA=n(128),t.exports.load=i.load,t.exports.loadAll=i.loadAll,t.exports.safeLoad=i.safeLoad,t.exports.safeLoadAll=i.safeLoadAll,t.exports.dump=r.dump,t.exports.safeDump=r.safeDump,t.exports.YAMLException=n(125),t.exports.MINIMAL_SCHEMA=n(129),t.exports.SAFE_SCHEMA=n(126),t.exports.DEFAULT_SCHEMA=n(128),t.exports.scan=o("scan"),t.exports.parse=o("parse"),t.exports.compose=o("compose"),t.exports.addConstructor=o("addConstructor")},function(t,e,n){"use strict";function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var r=n(123),o=n(125),a=n(139),s=n(126),u=n(128),l=Object.prototype.hasOwnProperty,c=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,f=/[\x85\u2028\u2029]/,h=/[,\[\]\{\}]/,p=/^(?:!|!!|![a-z\-]+!)$/i,d=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function m(t){return Object.prototype.toString.call(t)}function g(t){return 10===t||13===t}function y(t){return 9===t||32===t}function v(t){return 9===t||32===t||10===t||13===t}function _(t){return 44===t||91===t||93===t||123===t||125===t}function b(t){var e;return 48<=t&&t<=57?t-48:97<=(e=32|t)&&e<=102?e-97+10:-1}function w(t){return 48===t?"\0":97===t?"":98===t?"\b":116===t||9===t?"\t":110===t?"\n":118===t?"\v":102===t?"\f":114===t?"\r":101===t?"":32===t?" ":34===t?'"':47===t?"/":92===t?"\\":78===t?"…":95===t?" ":76===t?"\u2028":80===t?"\u2029":""}function x(t){return t<=65535?String.fromCharCode(t):String.fromCharCode(55296+(t-65536>>10),56320+(t-65536&1023))}for(var A=new Array(256),E=new Array(256),T=0;T<256;T++)A[T]=w(T)?1:0,E[T]=w(T);function k(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||u,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function S(t,e){return new o(e,new a(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function C(t,e){throw S(t,e)}function P(t,e){t.onWarning&&t.onWarning.call(null,S(t,e))}var R={YAML:function(t,e,n){var i,r,o;null!==t.version&&C(t,"duplication of %YAML directive"),1!==n.length&&C(t,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&C(t,"ill-formed argument of the YAML directive"),r=parseInt(i[1],10),o=parseInt(i[2],10),1!==r&&C(t,"unacceptable YAML version of the document"),t.version=n[0],t.checkLineBreaks=o<2,1!==o&&2!==o&&P(t,"unsupported YAML version of the document")},TAG:function(t,e,n){var i,r;2!==n.length&&C(t,"TAG directive accepts exactly two arguments"),i=n[0],r=n[1],p.test(i)||C(t,"ill-formed tag handle (first argument) of the TAG directive"),l.call(t.tagMap,i)&&C(t,'there is a previously declared suffix for "'+i+'" tag handle'),d.test(r)||C(t,"ill-formed tag prefix (second argument) of the TAG directive"),t.tagMap[i]=r}};function O(t,e,n,i){var r,o,a,s;if(e1&&(t.result+=r.repeat("\n",e-1))}function j(t,e){var n,i,r=t.tag,o=t.anchor,a=[],s=!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=a),i=t.input.charCodeAt(t.position);0!==i&&45===i&&v(t.input.charCodeAt(t.position+1));)if(s=!0,t.position++,L(t,!0,-1)&&t.lineIndent<=e)a.push(null),i=t.input.charCodeAt(t.position);else if(n=t.line,z(t,e,3,!1,!0),a.push(t.result),L(t,!0,-1),i=t.input.charCodeAt(t.position),(t.line===n||t.lineIndent>e)&&0!==i)C(t,"bad indentation of a sequence entry");else if(t.lineIndente?m=1:t.lineIndent===e?m=0:t.lineIndente?m=1:t.lineIndent===e?m=0:t.lineIndente)&&(z(t,e,4,!0,r)&&(m?p=t.result:d=t.result),m||(I(t,c,f,h,p,d,o,a),h=p=d=null),L(t,!0,-1),s=t.input.charCodeAt(t.position)),t.lineIndent>e&&0!==s)C(t,"bad indentation of a mapping entry");else if(t.lineIndent=0))break;0===o?C(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?C(t,"repeat of an indentation width identifier"):(f=e+o-1,c=!0)}if(y(a)){do{a=t.input.charCodeAt(++t.position)}while(y(a));if(35===a)do{a=t.input.charCodeAt(++t.position)}while(!g(a)&&0!==a)}for(;0!==a;){for(F(t),t.lineIndent=0,a=t.input.charCodeAt(t.position);(!c||t.lineIndentf&&(f=t.lineIndent),g(a))h++;else{if(t.lineIndent0){for(r=a,o=0;r>0;r--)(a=b(s=t.input.charCodeAt(++t.position)))>=0?o=(o<<4)+a:C(t,"expected hexadecimal character");t.result+=x(o),t.position++}else C(t,"unknown escape sequence");n=i=t.position}else g(s)?(O(t,n,i,!0),D(t,L(t,!1,e)),n=i=t.position):t.position===t.lineStart&&M(t)?C(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}C(t,"unexpected end of the stream within a double quoted scalar")}(t,p)?T=!0:!function(t){var e,n,i;if(42!==(i=t.input.charCodeAt(t.position)))return!1;for(i=t.input.charCodeAt(++t.position),e=t.position;0!==i&&!v(i)&&!_(i);)i=t.input.charCodeAt(++t.position);return t.position===e&&C(t,"name of an alias node must contain at least one character"),n=t.input.slice(e,t.position),t.anchorMap.hasOwnProperty(n)||C(t,'unidentified alias "'+n+'"'),t.result=t.anchorMap[n],L(t,!0,-1),!0}(t)?function(t,e,n){var i,r,o,a,s,u,l,c,f=t.kind,h=t.result;if(v(c=t.input.charCodeAt(t.position))||_(c)||35===c||38===c||42===c||33===c||124===c||62===c||39===c||34===c||37===c||64===c||96===c)return!1;if((63===c||45===c)&&(v(i=t.input.charCodeAt(t.position+1))||n&&_(i)))return!1;for(t.kind="scalar",t.result="",r=o=t.position,a=!1;0!==c;){if(58===c){if(v(i=t.input.charCodeAt(t.position+1))||n&&_(i))break}else if(35===c){if(v(t.input.charCodeAt(t.position-1)))break}else{if(t.position===t.lineStart&&M(t)||n&&_(c))break;if(g(c)){if(s=t.line,u=t.lineStart,l=t.lineIndent,L(t,!1,-1),t.lineIndent>=e){a=!0,c=t.input.charCodeAt(t.position);continue}t.position=o,t.line=s,t.lineStart=u,t.lineIndent=l;break}}a&&(O(t,r,o,!1),D(t,t.line-s),r=o=t.position,a=!1),y(c)||(o=t.position+1),c=t.input.charCodeAt(++t.position)}return O(t,r,o,!1),!!t.result||(t.kind=f,t.result=h,!1)}(t,p,1===n)&&(T=!0,null===t.tag&&(t.tag="?")):(T=!0,null===t.tag&&null===t.anchor||C(t,"alias node should not have any properties")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===m&&(T=u&&j(t,d))),null!==t.tag&&"!"!==t.tag)if("?"===t.tag){for(c=0,f=t.implicitTypes.length;c tag; it should be "'+h.kind+'", not "'+t.kind+'"'),h.resolve(t.result)?(t.result=h.construct(t.result),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):C(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):C(t,"unknown tag !<"+t.tag+">");return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||T}function Y(t){var e,n,i,r,o=t.position,a=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};0!==(r=t.input.charCodeAt(t.position))&&(L(t,!0,-1),r=t.input.charCodeAt(t.position),!(t.lineIndent>0||37!==r));){for(a=!0,r=t.input.charCodeAt(++t.position),e=t.position;0!==r&&!v(r);)r=t.input.charCodeAt(++t.position);for(i=[],(n=t.input.slice(e,t.position)).length<1&&C(t,"directive name must not be less than one character in length");0!==r;){for(;y(r);)r=t.input.charCodeAt(++t.position);if(35===r){do{r=t.input.charCodeAt(++t.position)}while(0!==r&&!g(r));break}if(g(r))break;for(e=t.position;0!==r&&!v(r);)r=t.input.charCodeAt(++t.position);i.push(t.input.slice(e,t.position))}0!==r&&F(t),l.call(R,n)?R[n](t,n,i):P(t,'unknown document directive "'+n+'"')}L(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,L(t,!0,-1)):a&&C(t,"directives end mark is expected"),z(t,t.lineIndent-1,4,!1,!0),L(t,!0,-1),t.checkLineBreaks&&f.test(t.input.slice(o,t.position))&&P(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&M(t)?46===t.input.charCodeAt(t.position)&&(t.position+=3,L(t,!0,-1)):t.position0&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(r-1));)if(r-=1,this.position-r>e/2-1){n=" ... ",r+=5;break}for(o="",a=this.position;ae/2-1){o=" ... ",a-=5;break}return s=this.buffer.slice(r,a),i.repeat(" ",t)+n+s+o+"\n"+i.repeat(" ",t+this.position-r+n.length)+"^"},r.prototype.toString=function(t){var e,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),t||(e=this.getSnippet())&&(n+=":\n"+e),n},t.exports=r},function(t,e,n){"use strict";var i=n(122);t.exports=new i("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return null!==t?t:""}})},function(t,e,n){"use strict";var i=n(122);t.exports=new i("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return null!==t?t:[]}})},function(t,e,n){"use strict";var i=n(122);t.exports=new i("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return null!==t?t:{}}})},function(t,e,n){"use strict";var i=n(122);t.exports=new i("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(t){if(null===t)return!0;var e=t.length;return 1===e&&"~"===t||4===e&&("null"===t||"Null"===t||"NULL"===t)},construct:function(){return null},predicate:function(t){return null===t},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},function(t,e,n){"use strict";var i=n(122);t.exports=new i("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e=t.length;return 4===e&&("true"===t||"True"===t||"TRUE"===t)||5===e&&("false"===t||"False"===t||"FALSE"===t)},construct:function(t){return"true"===t||"True"===t||"TRUE"===t},predicate:function(t){return"[object Boolean]"===Object.prototype.toString.call(t)},represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})},function(t,e,n){"use strict";var i=n(123),r=n(122);function o(t){return 48<=t&&t<=55}function a(t){return 48<=t&&t<=57}t.exports=new r("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,n,i=t.length,r=0,s=!1;if(!i)return!1;if("-"!==(e=t[r])&&"+"!==e||(e=t[++r]),"0"===e){if(r+1===i)return!0;if("b"===(e=t[++r])){for(r++;r=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},function(t,e,n){"use strict";var i=n(123),r=n(122),o=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var a=/^[-+]?[0-9]+e/;t.exports=new r("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(t){return null!==t&&!(!o.test(t)||"_"===t[t.length-1])},construct:function(t){var e,n,i,r;return n="-"===(e=t.replace(/_/g,"").toLowerCase())[0]?-1:1,r=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:e.indexOf(":")>=0?(e.split(":").forEach((function(t){r.unshift(parseFloat(t,10))})),e=0,i=1,r.forEach((function(t){e+=t*i,i*=60})),n*e):n*parseFloat(e,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&(t%1!=0||i.isNegativeZero(t))},represent:function(t,e){var n;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(i.isNegativeZero(t))return"-0.0";return n=t.toString(10),a.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"})},function(t,e,n){"use strict";var i=n(122),r=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),o=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");t.exports=new i("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(t){return null!==t&&(null!==r.exec(t)||null!==o.exec(t))},construct:function(t){var e,n,i,a,s,u,l,c,f=0,h=null;if(null===(e=r.exec(t))&&(e=o.exec(t)),null===e)throw new Error("Date resolve error");if(n=+e[1],i=+e[2]-1,a=+e[3],!e[4])return new Date(Date.UTC(n,i,a));if(s=+e[4],u=+e[5],l=+e[6],e[7]){for(f=e[7].slice(0,3);f.length<3;)f+="0";f=+f}return e[9]&&(h=6e4*(60*+e[10]+ +(e[11]||0)),"-"===e[9]&&(h=-h)),c=new Date(Date.UTC(n,i,a,s,u,l,f)),h&&c.setTime(c.getTime()-h),c},instanceOf:Date,represent:function(t){return t.toISOString()}})},function(t,e,n){"use strict";var i=n(122);t.exports=new i("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(t){return"<<"===t||null===t}})},function(t,e,n){"use strict";var i;try{i=n(150).Buffer}catch(a){}var r=n(122),o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";t.exports=new r("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,n,i=0,r=t.length,a=o;for(n=0;n64)){if(e<0)return!1;i+=6}return i%8==0},construct:function(t){var e,n,r=t.replace(/[\r\n=]/g,""),a=r.length,s=o,u=0,l=[];for(e=0;e>16&255),l.push(u>>8&255),l.push(255&u)),u=u<<6|s.indexOf(r.charAt(e));return 0===(n=a%4*6)?(l.push(u>>16&255),l.push(u>>8&255),l.push(255&u)):18===n?(l.push(u>>10&255),l.push(u>>2&255)):12===n&&l.push(u>>4&255),i?i.from?i.from(l):new i(l):l},predicate:function(t){return i&&i.isBuffer(t)},represent:function(t){var e,n,i="",r=0,a=t.length,s=o;for(e=0;e>18&63],i+=s[r>>12&63],i+=s[r>>6&63],i+=s[63&r]),r=(r<<8)+t[e];return 0===(n=a%3)?(i+=s[r>>18&63],i+=s[r>>12&63],i+=s[r>>6&63],i+=s[63&r]):2===n?(i+=s[r>>10&63],i+=s[r>>4&63],i+=s[r<<2&63],i+=s[64]):1===n&&(i+=s[r>>2&63],i+=s[r<<4&63],i+=s[64],i+=s[64]),i}})},function(t,e,n){"use strict";var i=n(151),r=n(152),o=n(153);function a(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(t,e){if(a()=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|t}function d(t,e){if(u.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var n=t.length;if(0===n)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return U(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return z(t).length;default:if(i)return U(t).length;e=(""+e).toLowerCase(),i=!0}}function m(t,e,n){var i=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return P(this,e,n);case"utf8":case"utf-8":return k(this,e,n);case"ascii":return S(this,e,n);case"latin1":case"binary":return C(this,e,n);case"base64":return T(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,e,n);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function g(t,e,n){var i=t[e];t[e]=t[n],t[n]=i}function y(t,e,n,i,r){if(0===t.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=r?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(r)return-1;n=t.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof e&&(e=u.from(e,i)),u.isBuffer(e))return 0===e.length?-1:v(t,e,n,i,r);if("number"==typeof e)return e&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):v(t,[e],n,i,r);throw new TypeError("val must be string, number or Buffer")}function v(t,e,n,i,r){var o,a=1,s=t.length,u=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;a=2,s/=2,u/=2,n/=2}function l(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(r){var c=-1;for(o=n;os&&(n=s-u),o=n;o>=0;o--){for(var f=!0,h=0;hr&&(i=r):i=r;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");i>o/2&&(i=o/2);for(var a=0;a>8,r=n%256,o.push(r),o.push(i);return o}(e,t.length-n),t,n,i)}function T(t,e,n){return 0===e&&n===t.length?i.fromByteArray(t):i.fromByteArray(t.slice(e,n))}function k(t,e,n){n=Math.min(t.length,n);for(var i=[],r=e;r239?4:l>223?3:l>191?2:1;if(r+f<=n)switch(f){case 1:l<128&&(c=l);break;case 2:128==(192&(o=t[r+1]))&&(u=(31&l)<<6|63&o)>127&&(c=u);break;case 3:o=t[r+1],a=t[r+2],128==(192&o)&&128==(192&a)&&(u=(15&l)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(c=u);break;case 4:o=t[r+1],a=t[r+2],s=t[r+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(u=(15&l)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(c=u)}null===c?(c=65533,f=1):c>65535&&(c-=65536,i.push(c>>>10&1023|55296),c=56320|1023&c),i.push(c),r+=f}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);var n="",i=0;for(;i0&&(t=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(t+=" ... ")),""},u.prototype.compare=function(t,e,n,i,r){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),e<0||n>t.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&e>=n)return 0;if(i>=r)return-1;if(e>=n)return 1;if(this===t)return 0;for(var o=(r>>>=0)-(i>>>=0),a=(n>>>=0)-(e>>>=0),s=Math.min(o,a),l=this.slice(i,r),c=t.slice(e,n),f=0;fr)&&(n=r),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return _(this,t,e,n);case"utf8":case"utf-8":return b(this,t,e,n);case"ascii":return w(this,t,e,n);case"latin1":case"binary":return x(this,t,e,n);case"base64":return A(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function S(t,e,n){var i="";n=Math.min(t.length,n);for(var r=e;ri)&&(n=i);for(var r="",o=e;on)throw new RangeError("Trying to access beyond buffer length")}function N(t,e,n,i,r,o){if(!u.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>r||et.length)throw new RangeError("Index out of range")}function I(t,e,n,i){e<0&&(e=65535+e+1);for(var r=0,o=Math.min(t.length-n,2);r>>8*(i?r:1-r)}function F(t,e,n,i){e<0&&(e=4294967295+e+1);for(var r=0,o=Math.min(t.length-n,4);r>>8*(i?r:3-r)&255}function L(t,e,n,i,r,o){if(n+i>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function M(t,e,n,i,o){return o||L(t,0,n,4),r.write(t,e,n,i,23,4),n+4}function D(t,e,n,i,o){return o||L(t,0,n,8),r.write(t,e,n,i,52,8),n+8}u.prototype.slice=function(t,e){var n,i=this.length;if((t=~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),(e=void 0===e?i:~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),e0&&(r*=256);)i+=this[t+--e]*r;return i},u.prototype.readUInt8=function(t,e){return e||O(t,1,this.length),this[t]},u.prototype.readUInt16LE=function(t,e){return e||O(t,2,this.length),this[t]|this[t+1]<<8},u.prototype.readUInt16BE=function(t,e){return e||O(t,2,this.length),this[t]<<8|this[t+1]},u.prototype.readUInt32LE=function(t,e){return e||O(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},u.prototype.readUInt32BE=function(t,e){return e||O(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},u.prototype.readIntLE=function(t,e,n){t|=0,e|=0,n||O(t,e,this.length);for(var i=this[t],r=1,o=0;++o=(r*=128)&&(i-=Math.pow(2,8*e)),i},u.prototype.readIntBE=function(t,e,n){t|=0,e|=0,n||O(t,e,this.length);for(var i=e,r=1,o=this[t+--i];i>0&&(r*=256);)o+=this[t+--i]*r;return o>=(r*=128)&&(o-=Math.pow(2,8*e)),o},u.prototype.readInt8=function(t,e){return e||O(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},u.prototype.readInt16LE=function(t,e){e||O(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(t,e){e||O(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function(t,e){return e||O(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},u.prototype.readInt32BE=function(t,e){return e||O(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},u.prototype.readFloatLE=function(t,e){return e||O(t,4,this.length),r.read(this,t,!0,23,4)},u.prototype.readFloatBE=function(t,e){return e||O(t,4,this.length),r.read(this,t,!1,23,4)},u.prototype.readDoubleLE=function(t,e){return e||O(t,8,this.length),r.read(this,t,!0,52,8)},u.prototype.readDoubleBE=function(t,e){return e||O(t,8,this.length),r.read(this,t,!1,52,8)},u.prototype.writeUIntLE=function(t,e,n,i){(t=+t,e|=0,n|=0,i)||N(this,t,e,n,Math.pow(2,8*n)-1,0);var r=1,o=0;for(this[e]=255&t;++o=0&&(o*=256);)this[e+r]=t/o&255;return e+n},u.prototype.writeUInt8=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,1,255,0),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},u.prototype.writeUInt16LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):I(this,t,e,!0),e+2},u.prototype.writeUInt16BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):I(this,t,e,!1),e+2},u.prototype.writeUInt32LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):F(this,t,e,!0),e+4},u.prototype.writeUInt32BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):F(this,t,e,!1),e+4},u.prototype.writeIntLE=function(t,e,n,i){if(t=+t,e|=0,!i){var r=Math.pow(2,8*n-1);N(this,t,e,n,r-1,-r)}var o=0,a=1,s=0;for(this[e]=255&t;++o>0)-s&255;return e+n},u.prototype.writeIntBE=function(t,e,n,i){if(t=+t,e|=0,!i){var r=Math.pow(2,8*n-1);N(this,t,e,n,r-1,-r)}var o=n-1,a=1,s=0;for(this[e+o]=255&t;--o>=0&&(a*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+n},u.prototype.writeInt8=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,1,127,-128),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},u.prototype.writeInt16LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):I(this,t,e,!0),e+2},u.prototype.writeInt16BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):I(this,t,e,!1),e+2},u.prototype.writeInt32LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):F(this,t,e,!0),e+4},u.prototype.writeInt32BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):F(this,t,e,!1),e+4},u.prototype.writeFloatLE=function(t,e,n){return M(this,t,e,!0,n)},u.prototype.writeFloatBE=function(t,e,n){return M(this,t,e,!1,n)},u.prototype.writeDoubleLE=function(t,e,n){return D(this,t,e,!0,n)},u.prototype.writeDoubleBE=function(t,e,n){return D(this,t,e,!1,n)},u.prototype.copy=function(t,e,n,i){if(n||(n=0),i||0===i||(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e=0;--r)t[r+e]=this[r+n];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(r=0;r>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&n<57344){if(!r){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===i){(e-=3)>-1&&o.push(239,191,189);continue}r=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(e-=3)>-1&&o.push(239,191,189);if(r=null,n<128){if((e-=1)<0)break;o.push(n)}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function z(t){return i.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(j,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function Y(t,e,n,i){for(var r=0;r=e.length||r>=t.length);++r)e[r+n]=t[r];return r}},function(t,e,n){"use strict";e.byteLength=function(t){var e=l(t),n=e[0],i=e[1];return 3*(n+i)/4-i},e.toByteArray=function(t){for(var e,n=l(t),i=n[0],a=n[1],s=new o(function(t,e,n){return 3*(e+n)/4-n}(0,i,a)),u=0,c=a>0?i-4:i,f=0;f>16&255,s[u++]=e>>8&255,s[u++]=255&e;2===a&&(e=r[t.charCodeAt(f)]<<2|r[t.charCodeAt(f+1)]>>4,s[u++]=255&e);1===a&&(e=r[t.charCodeAt(f)]<<10|r[t.charCodeAt(f+1)]<<4|r[t.charCodeAt(f+2)]>>2,s[u++]=e>>8&255,s[u++]=255&e);return s},e.fromByteArray=function(t){for(var e,n=t.length,r=n%3,o=[],a=0,s=n-r;as?s:a+16383));1===r?(e=t[n-1],o.push(i[e>>2]+i[e<<4&63]+"==")):2===r&&(e=(t[n-2]<<8)+t[n-1],o.push(i[e>>10]+i[e>>4&63]+i[e<<2&63]+"="));return o.join("")};for(var i=[],r=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=a.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function c(t,e,n){for(var r,o,a=[],s=e;s>18&63]+i[o>>12&63]+i[o>>6&63]+i[63&o]);return a.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},function(t,e){e.read=function(t,e,n,i,r){var o,a,s=8*r-i-1,u=(1<>1,c=-7,f=n?r-1:0,h=n?-1:1,p=t[e+f];for(f+=h,o=p&(1<<-c)-1,p>>=-c,c+=s;c>0;o=256*o+t[e+f],f+=h,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=i;c>0;a=256*a+t[e+f],f+=h,c-=8);if(0===o)o=1-l;else{if(o===u)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,i),o-=l}return(p?-1:1)*a*Math.pow(2,o-i)},e.write=function(t,e,n,i,r,o){var a,s,u,l=8*o-r-1,c=(1<>1,h=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,p=i?0:o-1,d=i?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=c):(a=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-a))<1&&(a--,u*=2),(e+=a+f>=1?h/u:h*Math.pow(2,1-f))*u>=2&&(a++,u/=2),a+f>=c?(s=0,a=c):a+f>=1?(s=(e*u-1)*Math.pow(2,r),a+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,r),a=0));r>=8;t[n+p]=255&s,p+=d,s/=256,r-=8);for(a=a<0;t[n+p]=255&a,p+=d,a/=256,l-=8);t[n+p-d]|=128*m}},function(t,e){var n={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==n.call(t)}},function(t,e,n){"use strict";var i=n(122),r=Object.prototype.hasOwnProperty,o=Object.prototype.toString;t.exports=new i("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(t){if(null===t)return!0;var e,n,i,a,s,u=[],l=t;for(e=0,n=l.length;e3)return!1;if("/"!==e[e.length-i.length-1])return!1}return!0},construct:function(t){var e=t,n=/\/([gim]*)$/.exec(t),i="";return"/"===e[0]&&(n&&(i=n[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)},predicate:function(t){return"[object RegExp]"===Object.prototype.toString.call(t)},represent:function(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}})},function(t,e,n){"use strict";var i;try{i=n(!function(){var t=new Error("Cannot find module 'esprima'");throw t.code="MODULE_NOT_FOUND",t}())}catch(o){"undefined"!=typeof window&&(i=window.esprima)}var r=n(122);t.exports=new r("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:function(t){if(null===t)return!1;try{var e="("+t+")",n=i.parse(e,{range:!0});return"Program"===n.type&&1===n.body.length&&"ExpressionStatement"===n.body[0].type&&("ArrowFunctionExpression"===n.body[0].expression.type||"FunctionExpression"===n.body[0].expression.type)}catch(r){return!1}},construct:function(t){var e,n="("+t+")",r=i.parse(n,{range:!0}),o=[];if("Program"!==r.type||1!==r.body.length||"ExpressionStatement"!==r.body[0].type||"ArrowFunctionExpression"!==r.body[0].expression.type&&"FunctionExpression"!==r.body[0].expression.type)throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach((function(t){o.push(t.name)})),e=r.body[0].expression.body.range,"BlockStatement"===r.body[0].expression.body.type?new Function(o,n.slice(e[0]+1,e[1]-1)):new Function(o,"return "+n.slice(e[0],e[1]))},predicate:function(t){return"[object Function]"===Object.prototype.toString.call(t)},represent:function(t){return t.toString()}})},function(t,e,n){"use strict";function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var r=n(123),o=n(125),a=n(128),s=n(126),u=Object.prototype.toString,l=Object.prototype.hasOwnProperty,c={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},f=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function h(t){var e,n,i;if(e=t.toString(16).toUpperCase(),t<=255)n="x",i=2;else if(t<=65535)n="u",i=4;else{if(!(t<=4294967295))throw new o("code point within a string may not be greater than 0xFFFFFFFF");n="U",i=8}return"\\"+n+r.repeat("0",i-e.length)+e}function p(t){this.schema=t.schema||a,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=r.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=function(t,e){var n,i,r,o,a,s,u;if(null===e)return{};for(n={},r=0,o=(i=Object.keys(e)).length;ri&&" "!==t[f+1],f=o);else if(!y(a))return 5;h=h&&v(a)}l=l||c&&o-f-1>i&&" "!==t[f+1]}return u||l?n>9&&_(t)?5:l?4:3:h&&!r(t)?1:2}function w(t,e,n,i){t.dump=function(){if(0===e.length)return"''";if(!t.noCompatMode&&-1!==f.indexOf(e))return"'"+e+"'";var r=t.indent*Math.max(1,n),a=-1===t.lineWidth?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-r),s=i||t.flowLevel>-1&&n>=t.flowLevel;switch(b(e,s,t.indent,a,(function(e){return function(t,e){var n,i;for(n=0,i=t.implicitTypes.length;n"+x(e,t.indent)+A(d(function(t,e){var n,i,r=/(\n+)([^\n]*)/g,o=(s=t.indexOf("\n"),s=-1!==s?s:t.length,r.lastIndex=s,E(t.slice(0,s),e)),a="\n"===t[0]||" "===t[0];var s;for(;i=r.exec(t);){var u=i[1],l=i[2];n=" "===l[0],o+=u+(a||n||""===l?"":"\n")+E(l,e),a=n}return o}(e,a),r));case 5:return'"'+function(t){for(var e,n,i,r="",o=0;o=55296&&e<=56319&&(n=t.charCodeAt(o+1))>=56320&&n<=57343?(r+=h(1024*(e-55296)+n-56320+65536),o++):(i=c[e],r+=!i&&y(e)?t[o]:i||h(e));return r}(e)+'"';default:throw new o("impossible error: invalid scalar style")}}()}function x(t,e){var n=_(t)?String(e):"",i="\n"===t[t.length-1];return n+(i&&("\n"===t[t.length-2]||"\n"===t)?"+":i?"":"-")+"\n"}function A(t){return"\n"===t[t.length-1]?t.slice(0,-1):t}function E(t,e){if(""===t||" "===t[0])return t;for(var n,i,r=/ [^ ]/g,o=0,a=0,s=0,u="";n=r.exec(t);)(s=n.index)-o>e&&(i=a>o?a:s,u+="\n"+t.slice(o,i),o=i+1),a=s;return u+="\n",t.length-o>e&&a>o?u+=t.slice(o,a)+"\n"+t.slice(a+1):u+=t.slice(o),u.slice(1)}function T(t,e,n){var r,a,s,c,f,h;for(s=0,c=(a=n?t.explicitTypes:t.implicitTypes).length;s tag resolver accepts not "'+h+'" style');r=f.represent[h](e,h)}t.dump=r}return!0}return!1}function k(t,e,n,i,r,a){t.tag=null,t.dump=n,T(t,n,!1)||T(t,n,!0);var s=u.call(t.dump);i&&(i=t.flowLevel<0||t.flowLevel>e);var l,c,f="[object Object]"===s||"[object Array]"===s;if(f&&(c=-1!==(l=t.duplicates.indexOf(n))),(null!==t.tag&&"?"!==t.tag||c||2!==t.indent&&e>0)&&(r=!1),c&&t.usedDuplicates[l])t.dump="*ref_"+l;else{if(f&&c&&!t.usedDuplicates[l]&&(t.usedDuplicates[l]=!0),"[object Object]"===s)i&&0!==Object.keys(t.dump).length?(!function(t,e,n,i){var r,a,s,u,l,c,f="",h=t.tag,p=Object.keys(n);if(!0===t.sortKeys)p.sort();else if("function"==typeof t.sortKeys)p.sort(t.sortKeys);else if(t.sortKeys)throw new o("sortKeys must be a boolean or a function");for(r=0,a=p.length;r1024)&&(t.dump&&10===t.dump.charCodeAt(0)?c+="?":c+="? "),c+=t.dump,l&&(c+=m(t,e)),k(t,e+1,u,!0,l)&&(t.dump&&10===t.dump.charCodeAt(0)?c+=":":c+=": ",f+=c+=t.dump));t.tag=h,t.dump=f||"{}"}(t,e,t.dump,r),c&&(t.dump="&ref_"+l+t.dump)):(!function(t,e,n){var i,r,o,a,s,u="",l=t.tag,c=Object.keys(n);for(i=0,r=c.length;i1024&&(s+="? "),s+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),k(t,e,a,!1,!1)&&(u+=s+=t.dump));t.tag=l,t.dump="{"+u+"}"}(t,e,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump));else if("[object Array]"===s){var h=t.noArrayIndent&&e>0?e-1:e;i&&0!==t.dump.length?(!function(t,e,n,i){var r,o,a="",s=t.tag;for(r=0,o=n.length;r "+t.dump)}return!0}function S(t,e){var n,r,o=[],a=[];for(function t(e,n,r){var o,a,s;if(null!==e&&"object"===i(e))if(-1!==(a=n.indexOf(e)))-1===r.indexOf(a)&&r.push(a);else if(n.push(e),Array.isArray(e))for(a=0,s=e.length;a\n :host {\n display: block;\n position: absolute;\n outline: none;\n z-index: 1002;\n -moz-user-select: none;\n -ms-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n cursor: default;\n }\n\n #tooltip {\n display: block;\n outline: none;\n @apply --paper-font-common-base;\n font-size: 10px;\n line-height: 1;\n background-color: var(--paper-tooltip-background, #616161);\n color: var(--paper-tooltip-text-color, white);\n padding: 8px;\n border-radius: 2px;\n @apply --paper-tooltip;\n }\n\n @keyframes keyFrameScaleUp {\n 0% {\n transform: scale(0.0);\n }\n 100% {\n transform: scale(1.0);\n }\n }\n\n @keyframes keyFrameScaleDown {\n 0% {\n transform: scale(1.0);\n }\n 100% {\n transform: scale(0.0);\n }\n }\n\n @keyframes keyFrameFadeInOpacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: var(--paper-tooltip-opacity, 0.9);\n }\n }\n\n @keyframes keyFrameFadeOutOpacity {\n 0% {\n opacity: var(--paper-tooltip-opacity, 0.9);\n }\n 100% {\n opacity: 0;\n }\n }\n\n @keyframes keyFrameSlideDownIn {\n 0% {\n transform: translateY(-2000px);\n opacity: 0;\n }\n 10% {\n opacity: 0.2;\n }\n 100% {\n transform: translateY(0);\n opacity: var(--paper-tooltip-opacity, 0.9);\n }\n }\n\n @keyframes keyFrameSlideDownOut {\n 0% {\n transform: translateY(0);\n opacity: var(--paper-tooltip-opacity, 0.9);\n }\n 10% {\n opacity: 0.2;\n }\n 100% {\n transform: translateY(-2000px);\n opacity: 0;\n }\n }\n\n .fade-in-animation {\n opacity: 0;\n animation-delay: var(--paper-tooltip-delay-in, 500ms);\n animation-name: keyFrameFadeInOpacity;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n animation-duration: var(--paper-tooltip-duration-in, 500ms);\n animation-fill-mode: forwards;\n @apply --paper-tooltip-animation;\n }\n\n .fade-out-animation {\n opacity: var(--paper-tooltip-opacity, 0.9);\n animation-delay: var(--paper-tooltip-delay-out, 0ms);\n animation-name: keyFrameFadeOutOpacity;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n animation-duration: var(--paper-tooltip-duration-out, 500ms);\n animation-fill-mode: forwards;\n @apply --paper-tooltip-animation;\n }\n\n .scale-up-animation {\n transform: scale(0);\n opacity: var(--paper-tooltip-opacity, 0.9);\n animation-delay: var(--paper-tooltip-delay-in, 500ms);\n animation-name: keyFrameScaleUp;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n animation-duration: var(--paper-tooltip-duration-in, 500ms);\n animation-fill-mode: forwards;\n @apply --paper-tooltip-animation;\n }\n\n .scale-down-animation {\n transform: scale(1);\n opacity: var(--paper-tooltip-opacity, 0.9);\n animation-delay: var(--paper-tooltip-delay-out, 500ms);\n animation-name: keyFrameScaleDown;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n animation-duration: var(--paper-tooltip-duration-out, 500ms);\n animation-fill-mode: forwards;\n @apply --paper-tooltip-animation;\n }\n\n .slide-down-animation {\n transform: translateY(-2000px);\n opacity: 0;\n animation-delay: var(--paper-tooltip-delay-out, 500ms);\n animation-name: keyFrameSlideDownIn;\n animation-iteration-count: 1;\n animation-timing-function: cubic-bezier(0.0, 0.0, 0.2, 1);\n animation-duration: var(--paper-tooltip-duration-out, 500ms);\n animation-fill-mode: forwards;\n @apply --paper-tooltip-animation;\n }\n\n .slide-down-animation-out {\n transform: translateY(0);\n opacity: var(--paper-tooltip-opacity, 0.9);\n animation-delay: var(--paper-tooltip-delay-out, 500ms);\n animation-name: keyFrameSlideDownOut;\n animation-iteration-count: 1;\n animation-timing-function: cubic-bezier(0.4, 0.0, 1, 1);\n animation-duration: var(--paper-tooltip-duration-out, 500ms);\n animation-fill-mode: forwards;\n @apply --paper-tooltip-animation;\n }\n\n .cancel-animation {\n animation-delay: -30s !important;\n }\n\n /* Thanks IE 10. */\n\n .hidden {\n display: none !important;\n }\n \n\n \n']);return a=function(){return t},t}Object(i.a)({_template:Object(o.a)(a()),is:"paper-tooltip",hostAttributes:{role:"tooltip",tabindex:-1},properties:{for:{type:String,observer:"_findTarget"},manualMode:{type:Boolean,value:!1,observer:"_manualModeChanged"},position:{type:String,value:"bottom"},fitToVisibleBounds:{type:Boolean,value:!1},offset:{type:Number,value:14},marginTop:{type:Number,value:14},animationDelay:{type:Number,value:500,observer:"_delayChange"},animationEntry:{type:String,value:""},animationExit:{type:String,value:""},animationConfig:{type:Object,value:function(){return{entry:[{name:"fade-in-animation",node:this,timing:{delay:0}}],exit:[{name:"fade-out-animation",node:this}]}}},_showing:{type:Boolean,value:!1}},listeners:{webkitAnimationEnd:"_onAnimationEnd"},get target(){var t=Object(r.a)(this).parentNode,e=Object(r.a)(this).getOwnerRoot();return this.for?Object(r.a)(e).querySelector("#"+this.for):t.nodeType==Node.DOCUMENT_FRAGMENT_NODE?e.host:t},attached:function(){this._findTarget()},detached:function(){this.manualMode||this._removeListeners()},playAnimation:function(t){"entry"===t?this.show():"exit"===t&&this.hide()},cancelAnimation:function(){this.$.tooltip.classList.add("cancel-animation")},show:function(){if(!this._showing){if(""===Object(r.a)(this).textContent.trim()){for(var t=!0,e=Object(r.a)(this).getEffectiveChildNodes(),n=0;nwindow.innerWidth?(this.style.right="0px",this.style.left="auto"):(this.style.left=Math.max(0,e)+"px",this.style.right="auto"),i.top+n+o.height>window.innerHeight?(this.style.bottom=i.height-l+t+"px",this.style.top="auto"):(this.style.top=Math.max(-i.top,n)+"px",this.style.bottom="auto")):(this.style.left=e+"px",this.style.top=n+"px")}},_addListeners:function(){this._target&&(this.listen(this._target,"mouseenter","show"),this.listen(this._target,"focus","show"),this.listen(this._target,"mouseleave","hide"),this.listen(this._target,"blur","hide"),this.listen(this._target,"tap","hide")),this.listen(this.$.tooltip,"animationend","_onAnimationEnd"),this.listen(this,"mouseenter","hide")},_findTarget:function(){this.manualMode||this._removeListeners(),this._target=this.target,this.manualMode||this._addListeners()},_delayChange:function(t){500!==t&&this.updateStyles({"--paper-tooltip-delay-in":t+"ms"})},_manualModeChanged:function(){this.manualMode?this._removeListeners():this._addListeners()},_cancelAnimation:function(){this.$.tooltip.classList.remove(this._getAnimationType("entry")),this.$.tooltip.classList.remove(this._getAnimationType("exit")),this.$.tooltip.classList.remove("cancel-animation"),this.$.tooltip.classList.add("hidden")},_onAnimationFinish:function(){this._showing&&(this.$.tooltip.classList.remove(this._getAnimationType("entry")),this.$.tooltip.classList.remove("cancel-animation"),this.$.tooltip.classList.add(this._getAnimationType("exit")))},_onAnimationEnd:function(){this._animationPlaying=!1,this._showing||(this.$.tooltip.classList.remove(this._getAnimationType("exit")),this.$.tooltip.classList.add("hidden"))},_getAnimationType:function(t){if("entry"===t&&""!==this.animationEntry)return this.animationEntry;if("exit"===t&&""!==this.animationExit)return this.animationExit;if(this.animationConfig[t]&&"string"==typeof this.animationConfig[t][0].name){if(this.animationConfig[t][0].timing&&this.animationConfig[t][0].timing.delay&&0!==this.animationConfig[t][0].timing.delay){var e=this.animationConfig[t][0].timing.delay;"entry"===t?this.updateStyles({"--paper-tooltip-delay-in":e+"ms"}):"exit"===t&&this.updateStyles({"--paper-tooltip-delay-out":e+"ms"})}return this.animationConfig[t][0].name}},_removeListeners:function(){this._target&&(this.unlisten(this._target,"mouseenter","show"),this.unlisten(this._target,"focus","show"),this.unlisten(this._target,"mouseleave","hide"),this.unlisten(this._target,"blur","hide"),this.unlisten(this._target,"tap","hide")),this.unlisten(this.$.tooltip,"animationend","_onAnimationEnd"),this.unlisten(this,"mouseenter","hide")}})}])]); -//# sourceMappingURL=chunk.9de6943cce77c49b4586.js.map \ No newline at end of file +/*! For license information please see chunk.2bedf151264a1500c372.js.LICENSE.txt */ +(self.webpackJsonp=self.webpackJsonp||[]).push([[9],Array(122).concat([function(t,e,n){"use strict";var i=n(125),r=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],o=["scalar","sequence","mapping"];t.exports=function(t,e){var n,a;if(e=e||{},Object.keys(e).forEach((function(e){if(-1===r.indexOf(e))throw new i('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')})),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=(n=e.styleAliases||null,a={},null!==n&&Object.keys(n).forEach((function(t){n[t].forEach((function(e){a[String(e)]=t}))})),a),-1===o.indexOf(this.kind))throw new i('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}},function(t,e,n){"use strict";function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function r(t){return null==t}t.exports.isNothing=r,t.exports.isObject=function(t){return"object"===i(t)&&null!==t},t.exports.toArray=function(t){return Array.isArray(t)?t:r(t)?[]:[t]},t.exports.repeat=function(t,e){var n,i="";for(n=0;n"object"==typeof t&&null!==t||"function"==typeof t,u=new Map([["proxy",{canHandle:t=>s(t)&&t[i],serialize(t){const{port1:e,port2:n}=new MessageChannel;return function t(e,n=self){n.addEventListener("message",(function r(o){if(!o||!o.data)return;const{id:s,type:u,path:c}=Object.assign({path:[]},o.data),f=(o.data.argumentList||[]).map(m);let h;try{const n=c.slice(0,-1).reduce((t,e)=>t[e],e),r=c.reduce((t,e)=>t[e],e);switch(u){case 0:h=r;break;case 1:n[c.slice(-1)[0]]=m(o.data.value),h=!0;break;case 2:h=r.apply(n,f);break;case 3:h=function(t){return Object.assign(t,{[i]:!0})}(new r(...f));break;case 4:{const{port1:n,port2:i}=new MessageChannel;t(e,i),h=function(t,e){return p.set(t,e),t}(n,[n])}break;case 5:h=void 0}}catch(g){h={value:g,[a]:0}}Promise.resolve(h).catch(t=>({value:t,[a]:0})).then(t=>{const[e,i]=d(t);n.postMessage(Object.assign(Object.assign({},e),{id:s}),i),5===u&&(n.removeEventListener("message",r),l(n))})})),n.start&&n.start()}(t,e),[n,[n]]},deserialize:t=>(t.start(),c(t))}],["throw",{canHandle:t=>s(t)&&a in t,serialize({value:t}){let e;return e=t instanceof Error?{isError:!0,value:{message:t.message,name:t.name,stack:t.stack}}:{isError:!1,value:t},[e,[]]},deserialize(t){if(t.isError)throw Object.assign(new Error(t.value.message),t.value);throw t.value}}]]);function l(t){(function(t){return"MessagePort"===t.constructor.name})(t)&&t.close()}function c(t,e){return function t(e,n=[],i=function(){}){let a=!1;const s=new Proxy(i,{get(i,r){if(f(a),r===o)return()=>g(e,{type:5,path:n.map(t=>t.toString())}).then(()=>{l(e),a=!0});if("then"===r){if(0===n.length)return{then:()=>s};const t=g(e,{type:0,path:n.map(t=>t.toString())}).then(m);return t.then.bind(t)}return t(e,[...n,r])},set(t,i,r){f(a);const[o,s]=d(r);return g(e,{type:1,path:[...n,i].map(t=>t.toString()),value:o},s).then(m)},apply(i,o,s){f(a);const u=n[n.length-1];if(u===r)return g(e,{type:4}).then(m);if("bind"===u)return t(e,n.slice(0,-1));const[l,c]=h(s);return g(e,{type:2,path:n.map(t=>t.toString()),argumentList:l},c).then(m)},construct(t,i){f(a);const[r,o]=h(i);return g(e,{type:3,path:n.map(t=>t.toString()),argumentList:r},o).then(m)}});return s}(t,[],e)}function f(t){if(t)throw new Error("Proxy has been released and is not useable")}function h(t){const e=t.map(d);return[e.map(t=>t[0]),(n=e.map(t=>t[1]),Array.prototype.concat.apply([],n))];var n}const p=new WeakMap;function d(t){for(const[e,n]of u)if(n.canHandle(t)){const[i,r]=n.serialize(t);return[{type:3,name:e,value:i},r]}return[{type:0,value:t},p.get(t)||[]]}function m(t){switch(t.type){case 3:return u.get(t.name).deserialize(t.value);case 0:return t.value}}function g(t,e,n){return new Promise(i=>{const r=new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-");t.addEventListener("message",(function e(n){n.data&&n.data.id&&n.data.id===r&&(t.removeEventListener("message",e),i(n.data))})),t.start&&t.start(),t.postMessage(Object.assign({id:r},e),n)})}},function(t,e){var n,i,r;i={},r={},function(t,e){function n(){this._delay=0,this._endDelay=0,this._fill="none",this._iterationStart=0,this._iterations=1,this._duration=0,this._playbackRate=1,this._direction="normal",this._easing="linear",this._easingFunction=h}function i(){return t.isDeprecated("Invalid timing inputs","2016-03-02","TypeError exceptions will be thrown instead.",!0)}function r(e,i,r){var o=new n;return i&&(o.fill="both",o.duration="auto"),"number"!=typeof e||isNaN(e)?void 0!==e&&Object.getOwnPropertyNames(e).forEach((function(n){if("auto"!=e[n]){if(("number"==typeof o[n]||"duration"==n)&&("number"!=typeof e[n]||isNaN(e[n])))return;if("fill"==n&&-1==c.indexOf(e[n]))return;if("direction"==n&&-1==f.indexOf(e[n]))return;if("playbackRate"==n&&1!==e[n]&&t.isDeprecated("AnimationEffectTiming.playbackRate","2014-11-28","Use Animation.playbackRate instead."))return;o[n]=e[n]}})):o.duration=e,o}function o(t,e,n,i){return t<0||t>1||n<0||n>1?h:function(r){function o(t,e,n){return 3*t*(1-n)*(1-n)*n+3*e*(1-n)*n*n+n*n*n}if(r<=0){var a=0;return t>0?a=e/t:!e&&n>0&&(a=i/n),a*r}if(r>=1){var s=0;return n<1?s=(i-1)/(n-1):1==n&&t<1&&(s=(e-1)/(t-1)),1+s*(r-1)}for(var u=0,l=1;u=1)return 1;var i=1/t;return(n+=e*i)-n%i}}function s(t){y||(y=document.createElement("div").style),y.animationTimingFunction="",y.animationTimingFunction=t;var e=y.animationTimingFunction;if(""==e&&i())throw new TypeError(t+" is not a valid value for easing");return e}function u(t){if("linear"==t)return h;var e=_.exec(t);if(e)return o.apply(this,e.slice(1).map(Number));var n=b.exec(t);if(n)return a(Number(n[1]),m);var i=w.exec(t);return i?a(Number(i[1]),{start:p,middle:d,end:m}[i[2]]):g[t]||h}function l(t,e,n){if(null==e)return x;var i=n.delay+t+n.endDelay;return e=Math.min(n.delay+t,i)?E:T}var c="backwards|forwards|both|none".split("|"),f="reverse|alternate|alternate-reverse".split("|"),h=function(t){return t};n.prototype={_setMember:function(e,n){this["_"+e]=n,this._effect&&(this._effect._timingInput[e]=n,this._effect._timing=t.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=t.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(t){this._setMember("delay",t)},get delay(){return this._delay},set endDelay(t){this._setMember("endDelay",t)},get endDelay(){return this._endDelay},set fill(t){this._setMember("fill",t)},get fill(){return this._fill},set iterationStart(t){if((isNaN(t)||t<0)&&i())throw new TypeError("iterationStart must be a non-negative number, received: "+t);this._setMember("iterationStart",t)},get iterationStart(){return this._iterationStart},set duration(t){if("auto"!=t&&(isNaN(t)||t<0)&&i())throw new TypeError("duration must be non-negative or auto, received: "+t);this._setMember("duration",t)},get duration(){return this._duration},set direction(t){this._setMember("direction",t)},get direction(){return this._direction},set easing(t){this._easingFunction=u(s(t)),this._setMember("easing",t)},get easing(){return this._easing},set iterations(t){if((isNaN(t)||t<0)&&i())throw new TypeError("iterations must be non-negative, received: "+t);this._setMember("iterations",t)},get iterations(){return this._iterations}};var p=1,d=.5,m=0,g={ease:o(.25,.1,.25,1),"ease-in":o(.42,0,1,1),"ease-out":o(0,0,.58,1),"ease-in-out":o(.42,0,.58,1),"step-start":a(1,p),"step-middle":a(1,d),"step-end":a(1,m)},y=null,v="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",_=new RegExp("cubic-bezier\\("+v+","+v+","+v+","+v+"\\)"),b=/steps\(\s*(\d+)\s*\)/,w=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,x=0,A=1,E=2,T=3;t.cloneTimingInput=function(t){if("number"==typeof t)return t;var e={};for(var n in t)e[n]=t[n];return e},t.makeTiming=r,t.numericTimingToObject=function(t){return"number"==typeof t&&(t=isNaN(t)?{duration:0}:{duration:t}),t},t.normalizeTimingInput=function(e,n){return r(e=t.numericTimingToObject(e),n)},t.calculateActiveDuration=function(t){return Math.abs(function(t){return 0===t.duration||0===t.iterations?0:t.duration*t.iterations}(t)/t.playbackRate)},t.calculateIterationProgress=function(t,e,n){var i=l(t,e,n),r=function(t,e,n,i,r){switch(i){case A:return"backwards"==e||"both"==e?0:null;case T:return n-r;case E:return"forwards"==e||"both"==e?t:null;case x:return null}}(t,n.fill,e,i,n.delay);if(null===r)return null;var o=function(t,e,n,i,r){var o=r;return 0===t?e!==A&&(o+=n):o+=i/t,o}(n.duration,i,n.iterations,r,n.iterationStart),a=function(t,e,n,i,r,o){var a=t===1/0?e%1:t%1;return 0!==a||n!==E||0===i||0===r&&0!==o||(a=1),a}(o,n.iterationStart,i,n.iterations,r,n.duration),s=function(t,e,n,i){return t===E&&e===1/0?1/0:1===n?Math.floor(i)-1:Math.floor(i)}(i,n.iterations,a,o),u=function(t,e,n){var i=t;if("normal"!==t&&"reverse"!==t){var r=e;"alternate-reverse"===t&&(r+=1),i="normal",r!==1/0&&r%2!=0&&(i="reverse")}return"normal"===i?n:1-n}(n.direction,s,a);return n._easingFunction(u)},t.calculatePhase=l,t.normalizeEasing=s,t.parseEasingFunction=u}(n={}),function(t,e){function n(t,e){return t in u&&u[t][e]||e}function i(t,e,i){if(!function(t){return"display"===t||0===t.lastIndexOf("animation",0)||0===t.lastIndexOf("transition",0)}(t)){var r=o[t];if(r)for(var s in a.style[t]=e,r){var u=r[s],l=a.style[u];i[u]=n(u,l)}else i[t]=n(t,e)}}function r(t){var e=[];for(var n in t)if(!(n in["easing","offset","composite"])){var i=t[n];Array.isArray(i)||(i=[i]);for(var r,o=i.length,a=0;a1)throw new TypeError("Keyframe offsets must be between 0 and 1.")}}else if("composite"==r){if("add"==o||"accumulate"==o)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"add compositing is not supported"};if("replace"!=o)throw new TypeError("Invalid composite mode "+o+".")}else o="easing"==r?t.normalizeEasing(o):""+o;i(r,o,n)}return null==n.offset&&(n.offset=null),null==n.easing&&(n.easing="linear"),n})),o=!0,a=-1/0,s=0;s=0&&t.offset<=1})),o||function(){var t=n.length;null==n[t-1].offset&&(n[t-1].offset=1),t>1&&null==n[0].offset&&(n[0].offset=0);for(var e=0,i=n[0].offset,r=1;r=t.applyFrom&&n0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(t){t=+t,isNaN(t)||(e.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-t/this._playbackRate),this._currentTimePending=!1,this._currentTime!=t&&(this._idle&&(this._idle=!1,this._paused=!0),this._tickCurrentTime(t,!0),e.applyDirtiedAnimation(this)))},get startTime(){return this._startTime},set startTime(t){t=+t,isNaN(t)||this._paused||this._idle||(this._startTime=t,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),e.applyDirtiedAnimation(this))},get playbackRate(){return this._playbackRate},set playbackRate(t){if(t!=this._playbackRate){var n=this.currentTime;this._playbackRate=t,this._startTime=null,"paused"!=this.playState&&"idle"!=this.playState&&(this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),e.applyDirtiedAnimation(this)),null!=n&&(this.currentTime=n)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?"idle":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?"pending":this._paused?"paused":this._isFinished?"finished":"running"},_rewind:function(){if(this._playbackRate>=0)this._currentTime=0;else{if(!(this._totalDuration<1/0))throw new DOMException("Unable to rewind negative playback rate animation with infinite duration","InvalidStateError");this._currentTime=this._totalDuration}},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),e.applyDirtiedAnimation(this)},pause:function(){this._isFinished||this._paused||this._idle?this._idle&&(this._rewind(),this._idle=!1):this._currentTimePending=!0,this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1,e.applyDirtiedAnimation(this))},cancel:function(){this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=0,this._startTime=null,this._effect._update(null),e.applyDirtiedAnimation(this))},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(t,e){"function"==typeof e&&"finish"==t&&this._finishHandlers.push(e)},removeEventListener:function(t,e){if("finish"==t){var n=this._finishHandlers.indexOf(e);n>=0&&this._finishHandlers.splice(n,1)}},_fireEvents:function(t){if(this._isFinished){if(!this._finishedFlag){var e=new i(this,this._currentTime,t),n=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout((function(){n.forEach((function(t){t.call(e.target,e)}))}),0),this._finishedFlag=!0}}else this._finishedFlag=!1},_tick:function(t,e){this._idle||this._paused||(null==this._startTime?e&&(this.startTime=t-this._currentTime/this.playbackRate):this._isFinished||this._tickCurrentTime((t-this._startTime)*this.playbackRate)),e&&(this._currentTimePending=!1,this._fireEvents(t))},get _needsTick(){return this.playState in{pending:1,running:1}||!this._finishedFlag},_targetAnimations:function(){var t=this._effect._target;return t._activeAnimations||(t._activeAnimations=[]),t._activeAnimations},_markTarget:function(){var t=this._targetAnimations();-1===t.indexOf(this)&&t.push(this)},_unmarkTarget:function(){var t=this._targetAnimations(),e=t.indexOf(this);-1!==e&&t.splice(e,1)}}}(n,i),function(t,e,n){function i(t){var e=l;l=[],ti?n%=i:i%=n;return t*e/(n+i)}(i.length,r.length),l=0;l=1?e:"visible"}]}),["visibility"])}(i),function(t,e){function n(t){t=t.trim(),o.fillStyle="#000",o.fillStyle=t;var e=o.fillStyle;if(o.fillStyle="#fff",o.fillStyle=t,e==o.fillStyle){o.fillRect(0,0,1,1);var n=o.getImageData(0,0,1,1).data;o.clearRect(0,0,1,1);var i=n[3]/255;return[n[0]*i,n[1]*i,n[2]*i,i]}}function i(e,n){return[e,n,function(e){function n(t){return Math.max(0,Math.min(255,t))}if(e[3])for(var i=0;i<3;i++)e[i]=Math.round(n(e[i]/e[3]));return e[3]=t.numberToString(t.clamp(0,1,e[3])),"rgba("+e.join(",")+")"}]}var r=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");r.width=r.height=1;var o=r.getContext("2d");t.addPropertiesHandler(n,i,["background-color","border-bottom-color","border-left-color","border-right-color","border-top-color","color","fill","flood-color","lighting-color","outline-color","stop-color","stroke","text-decoration-color"]),t.consumeColor=t.consumeParenthesised.bind(null,n),t.mergeColors=i}(i),function(t,e){function n(t){function e(){var e=a.exec(t);o=e?e[0]:void 0}function n(){if("("!==o)return function(){var t=Number(o);return e(),t}();e();var t=r();return")"!==o?NaN:(e(),t)}function i(){for(var t=n();"*"===o||"/"===o;){var i=o;e();var r=n();"*"===i?t*=r:t/=r}return t}function r(){for(var t=i();"+"===o||"-"===o;){var n=o;e();var r=i();"+"===n?t+=r:t-=r}return t}var o,a=/([\+\-\w\.]+|[\(\)\*\/])/g;return e(),r()}function i(t,e){if("0"==(e=e.trim().toLowerCase())&&"px".search(t)>=0)return{px:0};if(/^[^(]*$|^calc/.test(e)){e=e.replace(/calc\(/g,"(");var i={};e=e.replace(t,(function(t){return i[t]=null,"U"+t}));for(var r="U("+t.source+")",o=e.replace(/[-+]?(\d*\.)?\d+([Ee][-+]?\d+)?/g,"N").replace(new RegExp("N"+r,"g"),"D").replace(/\s[+-]\s/g,"O").replace(/\s/g,""),a=[/N\*(D)/g,/(N|D)[*\/]N/g,/(N|D)O\1/g,/\((N|D)\)/g],s=0;s1?"calc("+n+")":n}]}var a="px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc",s=i.bind(null,new RegExp(a,"g")),u=i.bind(null,new RegExp(a+"|%","g")),l=i.bind(null,/deg|rad|grad|turn/g);t.parseLength=s,t.parseLengthOrPercent=u,t.consumeLengthOrPercent=t.consumeParenthesised.bind(null,u),t.parseAngle=l,t.mergeDimensions=o;var c=t.consumeParenthesised.bind(null,s),f=t.consumeRepeated.bind(void 0,c,/^/),h=t.consumeRepeated.bind(void 0,f,/^,/);t.consumeSizePairList=h;var p=t.mergeNestedRepeated.bind(void 0,r," "),d=t.mergeNestedRepeated.bind(void 0,p,",");t.mergeNonNegativeSizePair=p,t.addPropertiesHandler((function(t){var e=h(t);if(e&&""==e[1])return e[0]}),d,["background-size"]),t.addPropertiesHandler(u,r,["border-bottom-width","border-image-width","border-left-width","border-right-width","border-top-width","flex-basis","font-size","height","line-height","max-height","max-width","outline-width","width"]),t.addPropertiesHandler(u,o,["border-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","bottom","left","letter-spacing","margin-bottom","margin-left","margin-right","margin-top","min-height","min-width","outline-offset","padding-bottom","padding-left","padding-right","padding-top","perspective","right","shape-margin","stroke-dashoffset","text-indent","top","vertical-align","word-spacing"])}(i),function(t,e){function n(e){return t.consumeLengthOrPercent(e)||t.consumeToken(/^auto/,e)}function i(e){var i=t.consumeList([t.ignore(t.consumeToken.bind(null,/^rect/)),t.ignore(t.consumeToken.bind(null,/^\(/)),t.consumeRepeated.bind(null,n,/^,/),t.ignore(t.consumeToken.bind(null,/^\)/))],e);if(i&&4==i[0].length)return i[0]}var r=t.mergeWrappedNestedRepeated.bind(null,(function(t){return"rect("+t+")"}),(function(e,n){return"auto"==e||"auto"==n?[!0,!1,function(i){var r=i?e:n;if("auto"==r)return"auto";var o=t.mergeDimensions(r,r);return o[2](o[0])}]:t.mergeDimensions(e,n)}),", ");t.parseBox=i,t.mergeBoxes=r,t.addPropertiesHandler(i,r,["clip"])}(i),function(t,e){function n(t){return function(e){var n=0;return t.map((function(t){return t===l?e[n++]:t}))}}function i(t){return t}function r(e){if("none"==(e=e.toLowerCase().trim()))return[];for(var n,i=/\s*(\w+)\(([^)]*)\)/g,r=[],o=0;n=i.exec(e);){if(n.index!=o)return;o=n.index+n[0].length;var a=n[1],s=h[a];if(!s)return;var u=n[2].split(","),l=s[0];if(l.length=0&&this._cancelHandlers.splice(n,1)}else u.call(this,t,e)},o}}}(),function(t){var e=document.documentElement,n=null,i=!1;try{var r="0"==getComputedStyle(e).getPropertyValue("opacity")?"1":"0";(n=e.animate({opacity:[r,r]},{duration:1})).currentTime=0,i=getComputedStyle(e).getPropertyValue("opacity")==r}catch(t){}finally{n&&n.cancel()}if(!i){var o=window.Element.prototype.animate;window.Element.prototype.animate=function(e,n){return window.Symbol&&Symbol.iterator&&Array.prototype.from&&e[Symbol.iterator]&&(e=Array.from(e)),Array.isArray(e)||null===e||(e=t.convertToArrayForm(e)),o.call(this,e,n)}}}(n),function(t,e,n){function i(t){var n=e.timeline;n.currentTime=t,n._discardAnimations(),0==n._animations.length?o=!1:requestAnimationFrame(i)}var r=window.requestAnimationFrame;window.requestAnimationFrame=function(t){return r((function(n){e.timeline._updateAnimationsPromises(),t(n),e.timeline._updateAnimationsPromises()}))},e.AnimationTimeline=function(){this._animations=[],this.currentTime=void 0},e.AnimationTimeline.prototype={getAnimations:function(){return this._discardAnimations(),this._animations.slice()},_updateAnimationsPromises:function(){e.animationsWithPromises=e.animationsWithPromises.filter((function(t){return t._updatePromises()}))},_discardAnimations:function(){this._updateAnimationsPromises(),this._animations=this._animations.filter((function(t){return"finished"!=t.playState&&"idle"!=t.playState}))},_play:function(t){var n=new e.Animation(t,this);return this._animations.push(n),e.restartWebAnimationsNextTick(),n._updatePromises(),n._animation.play(),n._updatePromises(),n},play:function(t){return t&&t.remove(),this._play(t)}};var o=!1;e.restartWebAnimationsNextTick=function(){o||(o=!0,requestAnimationFrame(i))};var a=new e.AnimationTimeline;e.timeline=a;try{Object.defineProperty(window.document,"timeline",{configurable:!0,get:function(){return a}})}catch(t){}try{window.document.timeline=a}catch(t){}}(0,r),function(t,e,n){e.animationsWithPromises=[],e.Animation=function(e,n){if(this.id="",e&&e._id&&(this.id=e._id),this.effect=e,e&&(e._animation=this),!n)throw new Error("Animation with null timeline is not supported");this._timeline=n,this._sequenceNumber=t.sequenceNumber++,this._holdTime=0,this._paused=!1,this._isGroup=!1,this._animation=null,this._childAnimations=[],this._callback=null,this._oldPlayState="idle",this._rebuildUnderlyingAnimation(),this._animation.cancel(),this._updatePromises()},e.Animation.prototype={_updatePromises:function(){var t=this._oldPlayState,e=this.playState;return this._readyPromise&&e!==t&&("idle"==e?(this._rejectReadyPromise(),this._readyPromise=void 0):"pending"==t?this._resolveReadyPromise():"pending"==e&&(this._readyPromise=void 0)),this._finishedPromise&&e!==t&&("idle"==e?(this._rejectFinishedPromise(),this._finishedPromise=void 0):"finished"==e?this._resolveFinishedPromise():"finished"==t&&(this._finishedPromise=void 0)),this._oldPlayState=this.playState,this._readyPromise||this._finishedPromise},_rebuildUnderlyingAnimation:function(){this._updatePromises();var t,n,i,r,o=!!this._animation;o&&(t=this.playbackRate,n=this._paused,i=this.startTime,r=this.currentTime,this._animation.cancel(),this._animation._wrapper=null,this._animation=null),(!this.effect||this.effect instanceof window.KeyframeEffect)&&(this._animation=e.newUnderlyingAnimationForKeyframeEffect(this.effect),e.bindAnimationForKeyframeEffect(this)),(this.effect instanceof window.SequenceEffect||this.effect instanceof window.GroupEffect)&&(this._animation=e.newUnderlyingAnimationForGroup(this.effect),e.bindAnimationForGroup(this)),this.effect&&this.effect._onsample&&e.bindAnimationForCustomEffect(this),o&&(1!=t&&(this.playbackRate=t),null!==i?this.startTime=i:null!==r?this.currentTime=r:null!==this._holdTime&&(this.currentTime=this._holdTime),n&&this.pause()),this._updatePromises()},_updateChildren:function(){if(this.effect&&"idle"!=this.playState){var t=this.effect._timing.delay;this._childAnimations.forEach(function(n){this._arrangeChildren(n,t),this.effect instanceof window.SequenceEffect&&(t+=e.groupChildDuration(n.effect))}.bind(this))}},_setExternalAnimation:function(t){if(this.effect&&this._isGroup)for(var e=0;e\n :host {\n display: inline-block;\n position: relative;\n width: 400px;\n border: 1px solid;\n padding: 2px;\n -moz-appearance: textarea;\n -webkit-appearance: textarea;\n overflow: hidden;\n }\n\n .mirror-text {\n visibility: hidden;\n word-wrap: break-word;\n @apply --iron-autogrow-textarea;\n }\n\n .fit {\n @apply --layout-fit;\n }\n\n textarea {\n position: relative;\n outline: none;\n border: none;\n resize: none;\n background: inherit;\n color: inherit;\n /* see comments in template */\n width: 100%;\n height: 100%;\n font-size: inherit;\n font-family: inherit;\n line-height: inherit;\n text-align: inherit;\n @apply --iron-autogrow-textarea;\n }\n\n textarea::-webkit-input-placeholder {\n @apply --iron-autogrow-textarea-placeholder;\n }\n\n textarea:-moz-placeholder {\n @apply --iron-autogrow-textarea-placeholder;\n }\n\n textarea::-moz-placeholder {\n @apply --iron-autogrow-textarea-placeholder;\n }\n\n textarea:-ms-input-placeholder {\n @apply --iron-autogrow-textarea-placeholder;\n }\n \n\n \x3c!-- the mirror sizes the input/textarea so it grows with typing --\x3e\n \x3c!-- use   instead   of to allow this element to be used in XHTML --\x3e\n \n\n \x3c!-- size the input/textarea with a div, because the textarea has intrinsic size in ff --\x3e\n
\n \n
\n'],['\n \n\n \x3c!-- the mirror sizes the input/textarea so it grows with typing --\x3e\n \x3c!-- use   instead   of to allow this element to be used in XHTML --\x3e\n \n\n \x3c!-- size the input/textarea with a div, because the textarea has intrinsic size in ff --\x3e\n
\n \n
\n']);return u=function(){return t},t}Object(o.a)({_template:Object(s.a)(u()),is:"iron-autogrow-textarea",behaviors:[r.a,i.a],properties:{value:{observer:"_valueChanged",type:String,notify:!0},bindValue:{observer:"_bindValueChanged",type:String,notify:!0},rows:{type:Number,value:1,observer:"_updateCached"},maxRows:{type:Number,value:0,observer:"_updateCached"},autocomplete:{type:String,value:"off"},autofocus:{type:Boolean,value:!1},inputmode:{type:String},placeholder:{type:String},readonly:{type:String},required:{type:Boolean},minlength:{type:Number},maxlength:{type:Number},label:{type:String}},listeners:{input:"_onInput"},get textarea(){return this.$.textarea},get selectionStart(){return this.$.textarea.selectionStart},get selectionEnd(){return this.$.textarea.selectionEnd},set selectionStart(t){this.$.textarea.selectionStart=t},set selectionEnd(t){this.$.textarea.selectionEnd=t},attached:function(){navigator.userAgent.match(/iP(?:[oa]d|hone)/)&&(this.$.textarea.style.marginLeft="-3px")},validate:function(){var t=this.$.textarea.validity.valid;return t&&(this.required&&""===this.value?t=!1:this.hasValidator()&&(t=r.a.validate.call(this,this.value))),this.invalid=!t,this.fire("iron-input-validate"),t},_bindValueChanged:function(t){this.value=t},_valueChanged:function(t){var e=this.textarea;e&&(e.value!==t&&(e.value=t||0===t?t:""),this.bindValue=t,this.$.mirror.innerHTML=this._valueForMirror(),this.fire("bind-value-changed",{value:this.bindValue}))},_onInput:function(t){var e=Object(a.a)(t).path;this.value=e?e[0].value:t.target.value},_constrain:function(t){var e;for(t=t||[""],e=this.maxRows>0&&t.length>this.maxRows?t.slice(0,this.maxRows):t.slice(0);this.rows>0&&e.length")+" "},_valueForMirror:function(){var t=this.textarea;if(t)return this.tokens=t&&t.value?t.value.replace(/&/gm,"&").replace(/"/gm,""").replace(/'/gm,"'").replace(//gm,">").split("\n"):[""],this._constrain(this.tokens)},_updateCached:function(){this.$.mirror.innerHTML=this._constrain(this.tokens)}})},function(t,e,n){"use strict";var i=n(137);t.exports=i},function(t,e,n){"use strict";var i=n(138),r=n(160);function o(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}t.exports.Type=n(122),t.exports.Schema=n(124),t.exports.FAILSAFE_SCHEMA=n(129),t.exports.JSON_SCHEMA=n(132),t.exports.CORE_SCHEMA=n(131),t.exports.DEFAULT_SAFE_SCHEMA=n(126),t.exports.DEFAULT_FULL_SCHEMA=n(128),t.exports.load=i.load,t.exports.loadAll=i.loadAll,t.exports.safeLoad=i.safeLoad,t.exports.safeLoadAll=i.safeLoadAll,t.exports.dump=r.dump,t.exports.safeDump=r.safeDump,t.exports.YAMLException=n(125),t.exports.MINIMAL_SCHEMA=n(129),t.exports.SAFE_SCHEMA=n(126),t.exports.DEFAULT_SCHEMA=n(128),t.exports.scan=o("scan"),t.exports.parse=o("parse"),t.exports.compose=o("compose"),t.exports.addConstructor=o("addConstructor")},function(t,e,n){"use strict";function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var r=n(123),o=n(125),a=n(139),s=n(126),u=n(128),l=Object.prototype.hasOwnProperty,c=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,f=/[\x85\u2028\u2029]/,h=/[,\[\]\{\}]/,p=/^(?:!|!!|![a-z\-]+!)$/i,d=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function m(t){return Object.prototype.toString.call(t)}function g(t){return 10===t||13===t}function y(t){return 9===t||32===t}function v(t){return 9===t||32===t||10===t||13===t}function _(t){return 44===t||91===t||93===t||123===t||125===t}function b(t){var e;return 48<=t&&t<=57?t-48:97<=(e=32|t)&&e<=102?e-97+10:-1}function w(t){return 48===t?"\0":97===t?"":98===t?"\b":116===t||9===t?"\t":110===t?"\n":118===t?"\v":102===t?"\f":114===t?"\r":101===t?"":32===t?" ":34===t?'"':47===t?"/":92===t?"\\":78===t?"…":95===t?" ":76===t?"\u2028":80===t?"\u2029":""}function x(t){return t<=65535?String.fromCharCode(t):String.fromCharCode(55296+(t-65536>>10),56320+(t-65536&1023))}for(var A=new Array(256),E=new Array(256),T=0;T<256;T++)A[T]=w(T)?1:0,E[T]=w(T);function k(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||u,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function S(t,e){return new o(e,new a(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function C(t,e){throw S(t,e)}function P(t,e){t.onWarning&&t.onWarning.call(null,S(t,e))}var R={YAML:function(t,e,n){var i,r,o;null!==t.version&&C(t,"duplication of %YAML directive"),1!==n.length&&C(t,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&C(t,"ill-formed argument of the YAML directive"),r=parseInt(i[1],10),o=parseInt(i[2],10),1!==r&&C(t,"unacceptable YAML version of the document"),t.version=n[0],t.checkLineBreaks=o<2,1!==o&&2!==o&&P(t,"unsupported YAML version of the document")},TAG:function(t,e,n){var i,r;2!==n.length&&C(t,"TAG directive accepts exactly two arguments"),i=n[0],r=n[1],p.test(i)||C(t,"ill-formed tag handle (first argument) of the TAG directive"),l.call(t.tagMap,i)&&C(t,'there is a previously declared suffix for "'+i+'" tag handle'),d.test(r)||C(t,"ill-formed tag prefix (second argument) of the TAG directive"),t.tagMap[i]=r}};function O(t,e,n,i){var r,o,a,s;if(e1&&(t.result+=r.repeat("\n",e-1))}function j(t,e){var n,i,r=t.tag,o=t.anchor,a=[],s=!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=a),i=t.input.charCodeAt(t.position);0!==i&&45===i&&v(t.input.charCodeAt(t.position+1));)if(s=!0,t.position++,L(t,!0,-1)&&t.lineIndent<=e)a.push(null),i=t.input.charCodeAt(t.position);else if(n=t.line,z(t,e,3,!1,!0),a.push(t.result),L(t,!0,-1),i=t.input.charCodeAt(t.position),(t.line===n||t.lineIndent>e)&&0!==i)C(t,"bad indentation of a sequence entry");else if(t.lineIndente?m=1:t.lineIndent===e?m=0:t.lineIndente?m=1:t.lineIndent===e?m=0:t.lineIndente)&&(z(t,e,4,!0,r)&&(m?p=t.result:d=t.result),m||(I(t,c,f,h,p,d,o,a),h=p=d=null),L(t,!0,-1),s=t.input.charCodeAt(t.position)),t.lineIndent>e&&0!==s)C(t,"bad indentation of a mapping entry");else if(t.lineIndent=0))break;0===o?C(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?C(t,"repeat of an indentation width identifier"):(f=e+o-1,c=!0)}if(y(a)){do{a=t.input.charCodeAt(++t.position)}while(y(a));if(35===a)do{a=t.input.charCodeAt(++t.position)}while(!g(a)&&0!==a)}for(;0!==a;){for(F(t),t.lineIndent=0,a=t.input.charCodeAt(t.position);(!c||t.lineIndentf&&(f=t.lineIndent),g(a))h++;else{if(t.lineIndent0){for(r=a,o=0;r>0;r--)(a=b(s=t.input.charCodeAt(++t.position)))>=0?o=(o<<4)+a:C(t,"expected hexadecimal character");t.result+=x(o),t.position++}else C(t,"unknown escape sequence");n=i=t.position}else g(s)?(O(t,n,i,!0),D(t,L(t,!1,e)),n=i=t.position):t.position===t.lineStart&&M(t)?C(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}C(t,"unexpected end of the stream within a double quoted scalar")}(t,p)?T=!0:!function(t){var e,n,i;if(42!==(i=t.input.charCodeAt(t.position)))return!1;for(i=t.input.charCodeAt(++t.position),e=t.position;0!==i&&!v(i)&&!_(i);)i=t.input.charCodeAt(++t.position);return t.position===e&&C(t,"name of an alias node must contain at least one character"),n=t.input.slice(e,t.position),t.anchorMap.hasOwnProperty(n)||C(t,'unidentified alias "'+n+'"'),t.result=t.anchorMap[n],L(t,!0,-1),!0}(t)?function(t,e,n){var i,r,o,a,s,u,l,c,f=t.kind,h=t.result;if(v(c=t.input.charCodeAt(t.position))||_(c)||35===c||38===c||42===c||33===c||124===c||62===c||39===c||34===c||37===c||64===c||96===c)return!1;if((63===c||45===c)&&(v(i=t.input.charCodeAt(t.position+1))||n&&_(i)))return!1;for(t.kind="scalar",t.result="",r=o=t.position,a=!1;0!==c;){if(58===c){if(v(i=t.input.charCodeAt(t.position+1))||n&&_(i))break}else if(35===c){if(v(t.input.charCodeAt(t.position-1)))break}else{if(t.position===t.lineStart&&M(t)||n&&_(c))break;if(g(c)){if(s=t.line,u=t.lineStart,l=t.lineIndent,L(t,!1,-1),t.lineIndent>=e){a=!0,c=t.input.charCodeAt(t.position);continue}t.position=o,t.line=s,t.lineStart=u,t.lineIndent=l;break}}a&&(O(t,r,o,!1),D(t,t.line-s),r=o=t.position,a=!1),y(c)||(o=t.position+1),c=t.input.charCodeAt(++t.position)}return O(t,r,o,!1),!!t.result||(t.kind=f,t.result=h,!1)}(t,p,1===n)&&(T=!0,null===t.tag&&(t.tag="?")):(T=!0,null===t.tag&&null===t.anchor||C(t,"alias node should not have any properties")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===m&&(T=u&&j(t,d))),null!==t.tag&&"!"!==t.tag)if("?"===t.tag){for(c=0,f=t.implicitTypes.length;c tag; it should be "'+h.kind+'", not "'+t.kind+'"'),h.resolve(t.result)?(t.result=h.construct(t.result),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):C(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):C(t,"unknown tag !<"+t.tag+">");return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||T}function Y(t){var e,n,i,r,o=t.position,a=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};0!==(r=t.input.charCodeAt(t.position))&&(L(t,!0,-1),r=t.input.charCodeAt(t.position),!(t.lineIndent>0||37!==r));){for(a=!0,r=t.input.charCodeAt(++t.position),e=t.position;0!==r&&!v(r);)r=t.input.charCodeAt(++t.position);for(i=[],(n=t.input.slice(e,t.position)).length<1&&C(t,"directive name must not be less than one character in length");0!==r;){for(;y(r);)r=t.input.charCodeAt(++t.position);if(35===r){do{r=t.input.charCodeAt(++t.position)}while(0!==r&&!g(r));break}if(g(r))break;for(e=t.position;0!==r&&!v(r);)r=t.input.charCodeAt(++t.position);i.push(t.input.slice(e,t.position))}0!==r&&F(t),l.call(R,n)?R[n](t,n,i):P(t,'unknown document directive "'+n+'"')}L(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,L(t,!0,-1)):a&&C(t,"directives end mark is expected"),z(t,t.lineIndent-1,4,!1,!0),L(t,!0,-1),t.checkLineBreaks&&f.test(t.input.slice(o,t.position))&&P(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&M(t)?46===t.input.charCodeAt(t.position)&&(t.position+=3,L(t,!0,-1)):t.position0&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(r-1));)if(r-=1,this.position-r>e/2-1){n=" ... ",r+=5;break}for(o="",a=this.position;ae/2-1){o=" ... ",a-=5;break}return s=this.buffer.slice(r,a),i.repeat(" ",t)+n+s+o+"\n"+i.repeat(" ",t+this.position-r+n.length)+"^"},r.prototype.toString=function(t){var e,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),t||(e=this.getSnippet())&&(n+=":\n"+e),n},t.exports=r},function(t,e,n){"use strict";var i=n(122);t.exports=new i("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return null!==t?t:""}})},function(t,e,n){"use strict";var i=n(122);t.exports=new i("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return null!==t?t:[]}})},function(t,e,n){"use strict";var i=n(122);t.exports=new i("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return null!==t?t:{}}})},function(t,e,n){"use strict";var i=n(122);t.exports=new i("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(t){if(null===t)return!0;var e=t.length;return 1===e&&"~"===t||4===e&&("null"===t||"Null"===t||"NULL"===t)},construct:function(){return null},predicate:function(t){return null===t},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},function(t,e,n){"use strict";var i=n(122);t.exports=new i("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e=t.length;return 4===e&&("true"===t||"True"===t||"TRUE"===t)||5===e&&("false"===t||"False"===t||"FALSE"===t)},construct:function(t){return"true"===t||"True"===t||"TRUE"===t},predicate:function(t){return"[object Boolean]"===Object.prototype.toString.call(t)},represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})},function(t,e,n){"use strict";var i=n(123),r=n(122);function o(t){return 48<=t&&t<=55}function a(t){return 48<=t&&t<=57}t.exports=new r("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,n,i=t.length,r=0,s=!1;if(!i)return!1;if("-"!==(e=t[r])&&"+"!==e||(e=t[++r]),"0"===e){if(r+1===i)return!0;if("b"===(e=t[++r])){for(r++;r=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},function(t,e,n){"use strict";var i=n(123),r=n(122),o=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var a=/^[-+]?[0-9]+e/;t.exports=new r("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(t){return null!==t&&!(!o.test(t)||"_"===t[t.length-1])},construct:function(t){var e,n,i,r;return n="-"===(e=t.replace(/_/g,"").toLowerCase())[0]?-1:1,r=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:e.indexOf(":")>=0?(e.split(":").forEach((function(t){r.unshift(parseFloat(t,10))})),e=0,i=1,r.forEach((function(t){e+=t*i,i*=60})),n*e):n*parseFloat(e,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&(t%1!=0||i.isNegativeZero(t))},represent:function(t,e){var n;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(i.isNegativeZero(t))return"-0.0";return n=t.toString(10),a.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"})},function(t,e,n){"use strict";var i=n(122),r=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),o=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");t.exports=new i("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(t){return null!==t&&(null!==r.exec(t)||null!==o.exec(t))},construct:function(t){var e,n,i,a,s,u,l,c,f=0,h=null;if(null===(e=r.exec(t))&&(e=o.exec(t)),null===e)throw new Error("Date resolve error");if(n=+e[1],i=+e[2]-1,a=+e[3],!e[4])return new Date(Date.UTC(n,i,a));if(s=+e[4],u=+e[5],l=+e[6],e[7]){for(f=e[7].slice(0,3);f.length<3;)f+="0";f=+f}return e[9]&&(h=6e4*(60*+e[10]+ +(e[11]||0)),"-"===e[9]&&(h=-h)),c=new Date(Date.UTC(n,i,a,s,u,l,f)),h&&c.setTime(c.getTime()-h),c},instanceOf:Date,represent:function(t){return t.toISOString()}})},function(t,e,n){"use strict";var i=n(122);t.exports=new i("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(t){return"<<"===t||null===t}})},function(t,e,n){"use strict";var i;try{i=n(150).Buffer}catch(a){}var r=n(122),o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";t.exports=new r("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,n,i=0,r=t.length,a=o;for(n=0;n64)){if(e<0)return!1;i+=6}return i%8==0},construct:function(t){var e,n,r=t.replace(/[\r\n=]/g,""),a=r.length,s=o,u=0,l=[];for(e=0;e>16&255),l.push(u>>8&255),l.push(255&u)),u=u<<6|s.indexOf(r.charAt(e));return 0===(n=a%4*6)?(l.push(u>>16&255),l.push(u>>8&255),l.push(255&u)):18===n?(l.push(u>>10&255),l.push(u>>2&255)):12===n&&l.push(u>>4&255),i?i.from?i.from(l):new i(l):l},predicate:function(t){return i&&i.isBuffer(t)},represent:function(t){var e,n,i="",r=0,a=t.length,s=o;for(e=0;e>18&63],i+=s[r>>12&63],i+=s[r>>6&63],i+=s[63&r]),r=(r<<8)+t[e];return 0===(n=a%3)?(i+=s[r>>18&63],i+=s[r>>12&63],i+=s[r>>6&63],i+=s[63&r]):2===n?(i+=s[r>>10&63],i+=s[r>>4&63],i+=s[r<<2&63],i+=s[64]):1===n&&(i+=s[r>>2&63],i+=s[r<<4&63],i+=s[64],i+=s[64]),i}})},function(t,e,n){"use strict";var i=n(151),r=n(152),o=n(153);function a(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(t,e){if(a()=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|t}function d(t,e){if(u.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var n=t.length;if(0===n)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return U(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return z(t).length;default:if(i)return U(t).length;e=(""+e).toLowerCase(),i=!0}}function m(t,e,n){var i=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return P(this,e,n);case"utf8":case"utf-8":return k(this,e,n);case"ascii":return S(this,e,n);case"latin1":case"binary":return C(this,e,n);case"base64":return T(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,e,n);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function g(t,e,n){var i=t[e];t[e]=t[n],t[n]=i}function y(t,e,n,i,r){if(0===t.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=r?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(r)return-1;n=t.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof e&&(e=u.from(e,i)),u.isBuffer(e))return 0===e.length?-1:v(t,e,n,i,r);if("number"==typeof e)return e&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):v(t,[e],n,i,r);throw new TypeError("val must be string, number or Buffer")}function v(t,e,n,i,r){var o,a=1,s=t.length,u=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;a=2,s/=2,u/=2,n/=2}function l(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(r){var c=-1;for(o=n;os&&(n=s-u),o=n;o>=0;o--){for(var f=!0,h=0;hr&&(i=r):i=r;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");i>o/2&&(i=o/2);for(var a=0;a>8,r=n%256,o.push(r),o.push(i);return o}(e,t.length-n),t,n,i)}function T(t,e,n){return 0===e&&n===t.length?i.fromByteArray(t):i.fromByteArray(t.slice(e,n))}function k(t,e,n){n=Math.min(t.length,n);for(var i=[],r=e;r239?4:l>223?3:l>191?2:1;if(r+f<=n)switch(f){case 1:l<128&&(c=l);break;case 2:128==(192&(o=t[r+1]))&&(u=(31&l)<<6|63&o)>127&&(c=u);break;case 3:o=t[r+1],a=t[r+2],128==(192&o)&&128==(192&a)&&(u=(15&l)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(c=u);break;case 4:o=t[r+1],a=t[r+2],s=t[r+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(u=(15&l)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(c=u)}null===c?(c=65533,f=1):c>65535&&(c-=65536,i.push(c>>>10&1023|55296),c=56320|1023&c),i.push(c),r+=f}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);var n="",i=0;for(;i0&&(t=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(t+=" ... ")),""},u.prototype.compare=function(t,e,n,i,r){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),e<0||n>t.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&e>=n)return 0;if(i>=r)return-1;if(e>=n)return 1;if(this===t)return 0;for(var o=(r>>>=0)-(i>>>=0),a=(n>>>=0)-(e>>>=0),s=Math.min(o,a),l=this.slice(i,r),c=t.slice(e,n),f=0;fr)&&(n=r),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return _(this,t,e,n);case"utf8":case"utf-8":return b(this,t,e,n);case"ascii":return w(this,t,e,n);case"latin1":case"binary":return x(this,t,e,n);case"base64":return A(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function S(t,e,n){var i="";n=Math.min(t.length,n);for(var r=e;ri)&&(n=i);for(var r="",o=e;on)throw new RangeError("Trying to access beyond buffer length")}function N(t,e,n,i,r,o){if(!u.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>r||et.length)throw new RangeError("Index out of range")}function I(t,e,n,i){e<0&&(e=65535+e+1);for(var r=0,o=Math.min(t.length-n,2);r>>8*(i?r:1-r)}function F(t,e,n,i){e<0&&(e=4294967295+e+1);for(var r=0,o=Math.min(t.length-n,4);r>>8*(i?r:3-r)&255}function L(t,e,n,i,r,o){if(n+i>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function M(t,e,n,i,o){return o||L(t,0,n,4),r.write(t,e,n,i,23,4),n+4}function D(t,e,n,i,o){return o||L(t,0,n,8),r.write(t,e,n,i,52,8),n+8}u.prototype.slice=function(t,e){var n,i=this.length;if((t=~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),(e=void 0===e?i:~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),e0&&(r*=256);)i+=this[t+--e]*r;return i},u.prototype.readUInt8=function(t,e){return e||O(t,1,this.length),this[t]},u.prototype.readUInt16LE=function(t,e){return e||O(t,2,this.length),this[t]|this[t+1]<<8},u.prototype.readUInt16BE=function(t,e){return e||O(t,2,this.length),this[t]<<8|this[t+1]},u.prototype.readUInt32LE=function(t,e){return e||O(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},u.prototype.readUInt32BE=function(t,e){return e||O(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},u.prototype.readIntLE=function(t,e,n){t|=0,e|=0,n||O(t,e,this.length);for(var i=this[t],r=1,o=0;++o=(r*=128)&&(i-=Math.pow(2,8*e)),i},u.prototype.readIntBE=function(t,e,n){t|=0,e|=0,n||O(t,e,this.length);for(var i=e,r=1,o=this[t+--i];i>0&&(r*=256);)o+=this[t+--i]*r;return o>=(r*=128)&&(o-=Math.pow(2,8*e)),o},u.prototype.readInt8=function(t,e){return e||O(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},u.prototype.readInt16LE=function(t,e){e||O(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(t,e){e||O(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function(t,e){return e||O(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},u.prototype.readInt32BE=function(t,e){return e||O(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},u.prototype.readFloatLE=function(t,e){return e||O(t,4,this.length),r.read(this,t,!0,23,4)},u.prototype.readFloatBE=function(t,e){return e||O(t,4,this.length),r.read(this,t,!1,23,4)},u.prototype.readDoubleLE=function(t,e){return e||O(t,8,this.length),r.read(this,t,!0,52,8)},u.prototype.readDoubleBE=function(t,e){return e||O(t,8,this.length),r.read(this,t,!1,52,8)},u.prototype.writeUIntLE=function(t,e,n,i){(t=+t,e|=0,n|=0,i)||N(this,t,e,n,Math.pow(2,8*n)-1,0);var r=1,o=0;for(this[e]=255&t;++o=0&&(o*=256);)this[e+r]=t/o&255;return e+n},u.prototype.writeUInt8=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,1,255,0),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},u.prototype.writeUInt16LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):I(this,t,e,!0),e+2},u.prototype.writeUInt16BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):I(this,t,e,!1),e+2},u.prototype.writeUInt32LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):F(this,t,e,!0),e+4},u.prototype.writeUInt32BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):F(this,t,e,!1),e+4},u.prototype.writeIntLE=function(t,e,n,i){if(t=+t,e|=0,!i){var r=Math.pow(2,8*n-1);N(this,t,e,n,r-1,-r)}var o=0,a=1,s=0;for(this[e]=255&t;++o>0)-s&255;return e+n},u.prototype.writeIntBE=function(t,e,n,i){if(t=+t,e|=0,!i){var r=Math.pow(2,8*n-1);N(this,t,e,n,r-1,-r)}var o=n-1,a=1,s=0;for(this[e+o]=255&t;--o>=0&&(a*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+n},u.prototype.writeInt8=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,1,127,-128),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},u.prototype.writeInt16LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):I(this,t,e,!0),e+2},u.prototype.writeInt16BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):I(this,t,e,!1),e+2},u.prototype.writeInt32LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):F(this,t,e,!0),e+4},u.prototype.writeInt32BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):F(this,t,e,!1),e+4},u.prototype.writeFloatLE=function(t,e,n){return M(this,t,e,!0,n)},u.prototype.writeFloatBE=function(t,e,n){return M(this,t,e,!1,n)},u.prototype.writeDoubleLE=function(t,e,n){return D(this,t,e,!0,n)},u.prototype.writeDoubleBE=function(t,e,n){return D(this,t,e,!1,n)},u.prototype.copy=function(t,e,n,i){if(n||(n=0),i||0===i||(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e=0;--r)t[r+e]=this[r+n];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(r=0;r>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&n<57344){if(!r){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===i){(e-=3)>-1&&o.push(239,191,189);continue}r=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(e-=3)>-1&&o.push(239,191,189);if(r=null,n<128){if((e-=1)<0)break;o.push(n)}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function z(t){return i.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(j,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function Y(t,e,n,i){for(var r=0;r=e.length||r>=t.length);++r)e[r+n]=t[r];return r}},function(t,e,n){"use strict";e.byteLength=function(t){var e=l(t),n=e[0],i=e[1];return 3*(n+i)/4-i},e.toByteArray=function(t){var e,n,i=l(t),a=i[0],s=i[1],u=new o(function(t,e,n){return 3*(e+n)/4-n}(0,a,s)),c=0,f=s>0?a-4:a;for(n=0;n>16&255,u[c++]=e>>8&255,u[c++]=255&e;2===s&&(e=r[t.charCodeAt(n)]<<2|r[t.charCodeAt(n+1)]>>4,u[c++]=255&e);1===s&&(e=r[t.charCodeAt(n)]<<10|r[t.charCodeAt(n+1)]<<4|r[t.charCodeAt(n+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e);return u},e.fromByteArray=function(t){for(var e,n=t.length,r=n%3,o=[],a=0,s=n-r;as?s:a+16383));1===r?(e=t[n-1],o.push(i[e>>2]+i[e<<4&63]+"==")):2===r&&(e=(t[n-2]<<8)+t[n-1],o.push(i[e>>10]+i[e>>4&63]+i[e<<2&63]+"="));return o.join("")};for(var i=[],r=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=a.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function c(t,e,n){for(var r,o,a=[],s=e;s>18&63]+i[o>>12&63]+i[o>>6&63]+i[63&o]);return a.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},function(t,e){e.read=function(t,e,n,i,r){var o,a,s=8*r-i-1,u=(1<>1,c=-7,f=n?r-1:0,h=n?-1:1,p=t[e+f];for(f+=h,o=p&(1<<-c)-1,p>>=-c,c+=s;c>0;o=256*o+t[e+f],f+=h,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=i;c>0;a=256*a+t[e+f],f+=h,c-=8);if(0===o)o=1-l;else{if(o===u)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,i),o-=l}return(p?-1:1)*a*Math.pow(2,o-i)},e.write=function(t,e,n,i,r,o){var a,s,u,l=8*o-r-1,c=(1<>1,h=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,p=i?0:o-1,d=i?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=c):(a=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-a))<1&&(a--,u*=2),(e+=a+f>=1?h/u:h*Math.pow(2,1-f))*u>=2&&(a++,u/=2),a+f>=c?(s=0,a=c):a+f>=1?(s=(e*u-1)*Math.pow(2,r),a+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,r),a=0));r>=8;t[n+p]=255&s,p+=d,s/=256,r-=8);for(a=a<0;t[n+p]=255&a,p+=d,a/=256,l-=8);t[n+p-d]|=128*m}},function(t,e){var n={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==n.call(t)}},function(t,e,n){"use strict";var i=n(122),r=Object.prototype.hasOwnProperty,o=Object.prototype.toString;t.exports=new i("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(t){if(null===t)return!0;var e,n,i,a,s,u=[],l=t;for(e=0,n=l.length;e3)return!1;if("/"!==e[e.length-i.length-1])return!1}return!0},construct:function(t){var e=t,n=/\/([gim]*)$/.exec(t),i="";return"/"===e[0]&&(n&&(i=n[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)},predicate:function(t){return"[object RegExp]"===Object.prototype.toString.call(t)},represent:function(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}})},function(t,e,n){"use strict";var i;try{i=n(!function(){var t=new Error("Cannot find module 'esprima'");throw t.code="MODULE_NOT_FOUND",t}())}catch(o){"undefined"!=typeof window&&(i=window.esprima)}var r=n(122);t.exports=new r("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:function(t){if(null===t)return!1;try{var e="("+t+")",n=i.parse(e,{range:!0});return"Program"===n.type&&1===n.body.length&&"ExpressionStatement"===n.body[0].type&&("ArrowFunctionExpression"===n.body[0].expression.type||"FunctionExpression"===n.body[0].expression.type)}catch(r){return!1}},construct:function(t){var e,n="("+t+")",r=i.parse(n,{range:!0}),o=[];if("Program"!==r.type||1!==r.body.length||"ExpressionStatement"!==r.body[0].type||"ArrowFunctionExpression"!==r.body[0].expression.type&&"FunctionExpression"!==r.body[0].expression.type)throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach((function(t){o.push(t.name)})),e=r.body[0].expression.body.range,"BlockStatement"===r.body[0].expression.body.type?new Function(o,n.slice(e[0]+1,e[1]-1)):new Function(o,"return "+n.slice(e[0],e[1]))},predicate:function(t){return"[object Function]"===Object.prototype.toString.call(t)},represent:function(t){return t.toString()}})},function(t,e,n){"use strict";function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var r=n(123),o=n(125),a=n(128),s=n(126),u=Object.prototype.toString,l=Object.prototype.hasOwnProperty,c={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},f=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function h(t){var e,n,i;if(e=t.toString(16).toUpperCase(),t<=255)n="x",i=2;else if(t<=65535)n="u",i=4;else{if(!(t<=4294967295))throw new o("code point within a string may not be greater than 0xFFFFFFFF");n="U",i=8}return"\\"+n+r.repeat("0",i-e.length)+e}function p(t){this.schema=t.schema||a,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=r.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=function(t,e){var n,i,r,o,a,s,u;if(null===e)return{};for(n={},r=0,o=(i=Object.keys(e)).length;ri&&" "!==t[f+1],f=o);else if(!y(a))return 5;h=h&&v(a)}l=l||c&&o-f-1>i&&" "!==t[f+1]}return u||l?n>9&&_(t)?5:l?4:3:h&&!r(t)?1:2}function w(t,e,n,i){t.dump=function(){if(0===e.length)return"''";if(!t.noCompatMode&&-1!==f.indexOf(e))return"'"+e+"'";var r=t.indent*Math.max(1,n),a=-1===t.lineWidth?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-r),s=i||t.flowLevel>-1&&n>=t.flowLevel;switch(b(e,s,t.indent,a,(function(e){return function(t,e){var n,i;for(n=0,i=t.implicitTypes.length;n"+x(e,t.indent)+A(d(function(t,e){var n,i,r=/(\n+)([^\n]*)/g,o=(s=t.indexOf("\n"),s=-1!==s?s:t.length,r.lastIndex=s,E(t.slice(0,s),e)),a="\n"===t[0]||" "===t[0];var s;for(;i=r.exec(t);){var u=i[1],l=i[2];n=" "===l[0],o+=u+(a||n||""===l?"":"\n")+E(l,e),a=n}return o}(e,a),r));case 5:return'"'+function(t){for(var e,n,i,r="",o=0;o=55296&&e<=56319&&(n=t.charCodeAt(o+1))>=56320&&n<=57343?(r+=h(1024*(e-55296)+n-56320+65536),o++):(i=c[e],r+=!i&&y(e)?t[o]:i||h(e));return r}(e)+'"';default:throw new o("impossible error: invalid scalar style")}}()}function x(t,e){var n=_(t)?String(e):"",i="\n"===t[t.length-1];return n+(i&&("\n"===t[t.length-2]||"\n"===t)?"+":i?"":"-")+"\n"}function A(t){return"\n"===t[t.length-1]?t.slice(0,-1):t}function E(t,e){if(""===t||" "===t[0])return t;for(var n,i,r=/ [^ ]/g,o=0,a=0,s=0,u="";n=r.exec(t);)(s=n.index)-o>e&&(i=a>o?a:s,u+="\n"+t.slice(o,i),o=i+1),a=s;return u+="\n",t.length-o>e&&a>o?u+=t.slice(o,a)+"\n"+t.slice(a+1):u+=t.slice(o),u.slice(1)}function T(t,e,n){var r,a,s,c,f,h;for(s=0,c=(a=n?t.explicitTypes:t.implicitTypes).length;s tag resolver accepts not "'+h+'" style');r=f.represent[h](e,h)}t.dump=r}return!0}return!1}function k(t,e,n,i,r,a){t.tag=null,t.dump=n,T(t,n,!1)||T(t,n,!0);var s=u.call(t.dump);i&&(i=t.flowLevel<0||t.flowLevel>e);var l,c,f="[object Object]"===s||"[object Array]"===s;if(f&&(c=-1!==(l=t.duplicates.indexOf(n))),(null!==t.tag&&"?"!==t.tag||c||2!==t.indent&&e>0)&&(r=!1),c&&t.usedDuplicates[l])t.dump="*ref_"+l;else{if(f&&c&&!t.usedDuplicates[l]&&(t.usedDuplicates[l]=!0),"[object Object]"===s)i&&0!==Object.keys(t.dump).length?(!function(t,e,n,i){var r,a,s,u,l,c,f="",h=t.tag,p=Object.keys(n);if(!0===t.sortKeys)p.sort();else if("function"==typeof t.sortKeys)p.sort(t.sortKeys);else if(t.sortKeys)throw new o("sortKeys must be a boolean or a function");for(r=0,a=p.length;r1024)&&(t.dump&&10===t.dump.charCodeAt(0)?c+="?":c+="? "),c+=t.dump,l&&(c+=m(t,e)),k(t,e+1,u,!0,l)&&(t.dump&&10===t.dump.charCodeAt(0)?c+=":":c+=": ",f+=c+=t.dump));t.tag=h,t.dump=f||"{}"}(t,e,t.dump,r),c&&(t.dump="&ref_"+l+t.dump)):(!function(t,e,n){var i,r,o,a,s,u="",l=t.tag,c=Object.keys(n);for(i=0,r=c.length;i1024&&(s+="? "),s+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),k(t,e,a,!1,!1)&&(u+=s+=t.dump));t.tag=l,t.dump="{"+u+"}"}(t,e,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump));else if("[object Array]"===s){var h=t.noArrayIndent&&e>0?e-1:e;i&&0!==t.dump.length?(!function(t,e,n,i){var r,o,a="",s=t.tag;for(r=0,o=n.length;r "+t.dump)}return!0}function S(t,e){var n,r,o=[],a=[];for(function t(e,n,r){var o,a,s;if(null!==e&&"object"===i(e))if(-1!==(a=n.indexOf(e)))-1===r.indexOf(a)&&r.push(a);else if(n.push(e),Array.isArray(e))for(a=0,s=e.length;a\n :host {\n display: block;\n position: absolute;\n outline: none;\n z-index: 1002;\n -moz-user-select: none;\n -ms-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n cursor: default;\n }\n\n #tooltip {\n display: block;\n outline: none;\n @apply --paper-font-common-base;\n font-size: 10px;\n line-height: 1;\n background-color: var(--paper-tooltip-background, #616161);\n color: var(--paper-tooltip-text-color, white);\n padding: 8px;\n border-radius: 2px;\n @apply --paper-tooltip;\n }\n\n @keyframes keyFrameScaleUp {\n 0% {\n transform: scale(0.0);\n }\n 100% {\n transform: scale(1.0);\n }\n }\n\n @keyframes keyFrameScaleDown {\n 0% {\n transform: scale(1.0);\n }\n 100% {\n transform: scale(0.0);\n }\n }\n\n @keyframes keyFrameFadeInOpacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: var(--paper-tooltip-opacity, 0.9);\n }\n }\n\n @keyframes keyFrameFadeOutOpacity {\n 0% {\n opacity: var(--paper-tooltip-opacity, 0.9);\n }\n 100% {\n opacity: 0;\n }\n }\n\n @keyframes keyFrameSlideDownIn {\n 0% {\n transform: translateY(-2000px);\n opacity: 0;\n }\n 10% {\n opacity: 0.2;\n }\n 100% {\n transform: translateY(0);\n opacity: var(--paper-tooltip-opacity, 0.9);\n }\n }\n\n @keyframes keyFrameSlideDownOut {\n 0% {\n transform: translateY(0);\n opacity: var(--paper-tooltip-opacity, 0.9);\n }\n 10% {\n opacity: 0.2;\n }\n 100% {\n transform: translateY(-2000px);\n opacity: 0;\n }\n }\n\n .fade-in-animation {\n opacity: 0;\n animation-delay: var(--paper-tooltip-delay-in, 500ms);\n animation-name: keyFrameFadeInOpacity;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n animation-duration: var(--paper-tooltip-duration-in, 500ms);\n animation-fill-mode: forwards;\n @apply --paper-tooltip-animation;\n }\n\n .fade-out-animation {\n opacity: var(--paper-tooltip-opacity, 0.9);\n animation-delay: var(--paper-tooltip-delay-out, 0ms);\n animation-name: keyFrameFadeOutOpacity;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n animation-duration: var(--paper-tooltip-duration-out, 500ms);\n animation-fill-mode: forwards;\n @apply --paper-tooltip-animation;\n }\n\n .scale-up-animation {\n transform: scale(0);\n opacity: var(--paper-tooltip-opacity, 0.9);\n animation-delay: var(--paper-tooltip-delay-in, 500ms);\n animation-name: keyFrameScaleUp;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n animation-duration: var(--paper-tooltip-duration-in, 500ms);\n animation-fill-mode: forwards;\n @apply --paper-tooltip-animation;\n }\n\n .scale-down-animation {\n transform: scale(1);\n opacity: var(--paper-tooltip-opacity, 0.9);\n animation-delay: var(--paper-tooltip-delay-out, 500ms);\n animation-name: keyFrameScaleDown;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n animation-duration: var(--paper-tooltip-duration-out, 500ms);\n animation-fill-mode: forwards;\n @apply --paper-tooltip-animation;\n }\n\n .slide-down-animation {\n transform: translateY(-2000px);\n opacity: 0;\n animation-delay: var(--paper-tooltip-delay-out, 500ms);\n animation-name: keyFrameSlideDownIn;\n animation-iteration-count: 1;\n animation-timing-function: cubic-bezier(0.0, 0.0, 0.2, 1);\n animation-duration: var(--paper-tooltip-duration-out, 500ms);\n animation-fill-mode: forwards;\n @apply --paper-tooltip-animation;\n }\n\n .slide-down-animation-out {\n transform: translateY(0);\n opacity: var(--paper-tooltip-opacity, 0.9);\n animation-delay: var(--paper-tooltip-delay-out, 500ms);\n animation-name: keyFrameSlideDownOut;\n animation-iteration-count: 1;\n animation-timing-function: cubic-bezier(0.4, 0.0, 1, 1);\n animation-duration: var(--paper-tooltip-duration-out, 500ms);\n animation-fill-mode: forwards;\n @apply --paper-tooltip-animation;\n }\n\n .cancel-animation {\n animation-delay: -30s !important;\n }\n\n /* Thanks IE 10. */\n\n .hidden {\n display: none !important;\n }\n \n\n \n']);return a=function(){return t},t}Object(i.a)({_template:Object(o.a)(a()),is:"paper-tooltip",hostAttributes:{role:"tooltip",tabindex:-1},properties:{for:{type:String,observer:"_findTarget"},manualMode:{type:Boolean,value:!1,observer:"_manualModeChanged"},position:{type:String,value:"bottom"},fitToVisibleBounds:{type:Boolean,value:!1},offset:{type:Number,value:14},marginTop:{type:Number,value:14},animationDelay:{type:Number,value:500,observer:"_delayChange"},animationEntry:{type:String,value:""},animationExit:{type:String,value:""},animationConfig:{type:Object,value:function(){return{entry:[{name:"fade-in-animation",node:this,timing:{delay:0}}],exit:[{name:"fade-out-animation",node:this}]}}},_showing:{type:Boolean,value:!1}},listeners:{webkitAnimationEnd:"_onAnimationEnd"},get target(){var t=Object(r.a)(this).parentNode,e=Object(r.a)(this).getOwnerRoot();return this.for?Object(r.a)(e).querySelector("#"+this.for):t.nodeType==Node.DOCUMENT_FRAGMENT_NODE?e.host:t},attached:function(){this._findTarget()},detached:function(){this.manualMode||this._removeListeners()},playAnimation:function(t){"entry"===t?this.show():"exit"===t&&this.hide()},cancelAnimation:function(){this.$.tooltip.classList.add("cancel-animation")},show:function(){if(!this._showing){if(""===Object(r.a)(this).textContent.trim()){for(var t=!0,e=Object(r.a)(this).getEffectiveChildNodes(),n=0;nwindow.innerWidth?(this.style.right="0px",this.style.left="auto"):(this.style.left=Math.max(0,e)+"px",this.style.right="auto"),i.top+n+o.height>window.innerHeight?(this.style.bottom=i.height-l+t+"px",this.style.top="auto"):(this.style.top=Math.max(-i.top,n)+"px",this.style.bottom="auto")):(this.style.left=e+"px",this.style.top=n+"px")}},_addListeners:function(){this._target&&(this.listen(this._target,"mouseenter","show"),this.listen(this._target,"focus","show"),this.listen(this._target,"mouseleave","hide"),this.listen(this._target,"blur","hide"),this.listen(this._target,"tap","hide")),this.listen(this.$.tooltip,"animationend","_onAnimationEnd"),this.listen(this,"mouseenter","hide")},_findTarget:function(){this.manualMode||this._removeListeners(),this._target=this.target,this.manualMode||this._addListeners()},_delayChange:function(t){500!==t&&this.updateStyles({"--paper-tooltip-delay-in":t+"ms"})},_manualModeChanged:function(){this.manualMode?this._removeListeners():this._addListeners()},_cancelAnimation:function(){this.$.tooltip.classList.remove(this._getAnimationType("entry")),this.$.tooltip.classList.remove(this._getAnimationType("exit")),this.$.tooltip.classList.remove("cancel-animation"),this.$.tooltip.classList.add("hidden")},_onAnimationFinish:function(){this._showing&&(this.$.tooltip.classList.remove(this._getAnimationType("entry")),this.$.tooltip.classList.remove("cancel-animation"),this.$.tooltip.classList.add(this._getAnimationType("exit")))},_onAnimationEnd:function(){this._animationPlaying=!1,this._showing||(this.$.tooltip.classList.remove(this._getAnimationType("exit")),this.$.tooltip.classList.add("hidden"))},_getAnimationType:function(t){if("entry"===t&&""!==this.animationEntry)return this.animationEntry;if("exit"===t&&""!==this.animationExit)return this.animationExit;if(this.animationConfig[t]&&"string"==typeof this.animationConfig[t][0].name){if(this.animationConfig[t][0].timing&&this.animationConfig[t][0].timing.delay&&0!==this.animationConfig[t][0].timing.delay){var e=this.animationConfig[t][0].timing.delay;"entry"===t?this.updateStyles({"--paper-tooltip-delay-in":e+"ms"}):"exit"===t&&this.updateStyles({"--paper-tooltip-delay-out":e+"ms"})}return this.animationConfig[t][0].name}},_removeListeners:function(){this._target&&(this.unlisten(this._target,"mouseenter","show"),this.unlisten(this._target,"focus","show"),this.unlisten(this._target,"mouseleave","hide"),this.unlisten(this._target,"blur","hide"),this.unlisten(this._target,"tap","hide")),this.unlisten(this.$.tooltip,"animationend","_onAnimationEnd"),this.unlisten(this,"mouseenter","hide")}})}])]); +//# sourceMappingURL=chunk.2bedf151264a1500c372.js.map \ No newline at end of file diff --git a/supervisor/api/panel/frontend_es5/chunk.9de6943cce77c49b4586.js.LICENSE.txt b/supervisor/api/panel/frontend_es5/chunk.2bedf151264a1500c372.js.LICENSE.txt similarity index 89% rename from supervisor/api/panel/frontend_es5/chunk.9de6943cce77c49b4586.js.LICENSE.txt rename to supervisor/api/panel/frontend_es5/chunk.2bedf151264a1500c372.js.LICENSE.txt index 251e2b4ff..400fb8e78 100644 --- a/supervisor/api/panel/frontend_es5/chunk.9de6943cce77c49b4586.js.LICENSE.txt +++ b/supervisor/api/panel/frontend_es5/chunk.2bedf151264a1500c372.js.LICENSE.txt @@ -1,7 +1,7 @@ /*! * The buffer module from node.js, for the browser. * - * @author Feross Aboukhadijeh + * @author Feross Aboukhadijeh * @license MIT */ diff --git a/supervisor/api/panel/frontend_es5/chunk.2bedf151264a1500c372.js.gz b/supervisor/api/panel/frontend_es5/chunk.2bedf151264a1500c372.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..b4b4041dba866b3c078e6751848ab484b3a06b64 GIT binary patch literal 37243 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 literal 0 HcmV?d00001 diff --git a/supervisor/api/panel/frontend_es5/chunk.2bedf151264a1500c372.js.map b/supervisor/api/panel/frontend_es5/chunk.2bedf151264a1500c372.js.map new file mode 100644 index 000000000..e29f7cec2 --- /dev/null +++ b/supervisor/api/panel/frontend_es5/chunk.2bedf151264a1500c372.js.map @@ -0,0 +1 @@ +{"version":3,"file":"chunk.2bedf151264a1500c372.js","sources":["webpack:///chunk.2bedf151264a1500c372.js"],"mappings":";AAAA","sourceRoot":""} \ No newline at end of file diff --git a/supervisor/api/panel/frontend_es5/chunk.76cd2f7f90bec6f08e4a.js b/supervisor/api/panel/frontend_es5/chunk.76cd2f7f90bec6f08e4a.js new file mode 100644 index 000000000..9cac71949 --- /dev/null +++ b/supervisor/api/panel/frontend_es5/chunk.76cd2f7f90bec6f08e4a.js @@ -0,0 +1,2 @@ +(self.webpackJsonp=self.webpackJsonp||[]).push([[4],{170:function(e,t,n){"use strict";n.r(t);n(40);var r=n(7),o=(n(71),n(0)),i=n(101);n(33);"".concat(location.protocol,"//").concat(location.host);var s=n(69),a=n(28),c=n(11);function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(){var e=b(["\n paper-checkbox {\n display: block;\n margin: 4px;\n }\n .details {\n color: var(--secondary-text-color);\n }\n .warning,\n .error {\n color: var(--error-color);\n }\n .buttons {\n display: flex;\n flex-direction: column;\n }\n .buttons li {\n list-style-type: none;\n }\n .buttons .icon {\n margin-right: 16px;\n }\n .no-margin-top {\n margin-top: 0;\n }\n "]);return u=function(){return e},e}function d(){var e=b(["\n \n \n Wipe & restore\n \n ']);return d=function(){return e},e}function p(){var e=b(['

Error: ',"

"]);return p=function(){return e},e}function h(){var e=b(['\n \n ',"\n \n "]);return f=function(){return e},e}function m(){var e=b(['\n
Add-on:
\n \n ',"\n \n "]);return m=function(){return e},e}function v(){var e=b(["\n \n ',"\n \n "]);return v=function(){return e},e}function y(){var e=b(['\n
Folders:
\n \n ',"\n \n "]);return y=function(){return e},e}function g(){var e=b(["\n \n ',"\n (",")
\n ","\n \n
Home Assistant:
\n \n Home Assistant ',"\n \n ","\n ","\n ","\n ","\n\n
Actions:
\n\n \n \n Download Snapshot\n \n\n \n \n Restore Selected\n \n ',"\n \n \n Delete Snapshot\n \n \n ']);return g=function(){return e},e}function k(){var e=b([""]);return k=function(){return e},e}function b(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function w(e,t,n,r,o,i,s){try{var a=e[i](s),c=a.value}catch(l){return void n(l)}a.done?t(c):Promise.resolve(c).then(r,o)}function _(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function s(e){w(i,r,o,s,a,"next",e)}function a(e){w(i,r,o,s,a,"throw",e)}s(void 0)}))}}function E(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function O(e,t){return(O=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function P(e,t){return!t||"object"!==l(t)&&"function"!=typeof t?j(e):t}function j(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function x(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function A(e){return(A=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function S(e){var t,n=z(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function D(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function C(e){return e.decorators&&e.decorators.length}function R(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function T(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function z(e){var t=function(e,t){if("object"!==l(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==l(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===l(t)?t:String(t)}function F(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;i--){var s=t[e.placement];s.splice(s.indexOf(e.key),1);var a=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,o[i])(a)||a);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var o=this.fromClassDescriptor(e),i=this.toClassDescriptor((0,t[r])(o)||o);if(void 0!==i.finisher&&n.push(i.finisher),void 0!==i.elements){e=i.elements;for(var s=0;st.name?1:-1})),this._addons=(n=this._snapshot.addons,n.map((function(e){return{slug:e.slug,name:e.name,version:e.version,checked:!0}}))).sort((function(e,t){return e.name>t.name?1:-1})),this._dialogParams=t;case 6:case"end":return e.stop()}var n,r,o}),e,this)}))),function(e){return S.apply(this,arguments)})},{kind:"method",key:"render",value:function(){var e=this;return this._dialogParams&&this._snapshot?Object(o.f)(g(),this._closeDialog,Object(i.a)(this.hass,this._computeName),"full"===this._snapshot.type?"Full snapshot":"Partial snapshot",this._computeSize,this._formatDatetime(this._snapshot.date),this._restoreHass,(function(t){e._restoreHass=t.target.checked}),this._snapshot.homeassistant,this._folders.length?Object(o.f)(y(),this._folders.map((function(t){return Object(o.f)(v(),t.checked,(function(n){return e._updateFolders(t,n.target.checked)}),t.name)}))):"",this._addons.length?Object(o.f)(m(),this._addons.map((function(t){return Object(o.f)(f(),t.checked,(function(n){return e._updateAddons(t,n.target.checked)}),t.name)}))):"",this._snapshot.protected?Object(o.f)(h(),this._passwordInput,this._snapshotPassword):"",this._error?Object(o.f)(p(),this._error):"",this._downloadClicked,r.n,this._partialRestoreClicked,r.s,"full"===this._snapshot.type?Object(o.f)(d(),this._fullRestoreClicked,r.s):"",this._deleteClicked,r.k):Object(o.f)(k())}},{kind:"get",static:!0,key:"styles",value:function(){return[c.d,Object(o.c)(u())]}},{kind:"method",key:"_updateFolders",value:function(e,t){this._folders=this._folders.map((function(n){return n.slug===e.slug&&(n.checked=t),n}))}},{kind:"method",key:"_updateAddons",value:function(e,t){this._addons=this._addons.map((function(n){return n.slug===e.slug&&(n.checked=t),n}))}},{kind:"method",key:"_passwordInput",value:function(e){this._snapshotPassword=e.detail.value}},{kind:"method",key:"_partialRestoreClicked",value:(w=_(regeneratorRuntime.mark((function e(){var t,n,r,o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(a.b)(this,{title:"Are you sure you want partially to restore this snapshot?"});case 2:if(e.sent){e.next=4;break}return e.abrupt("return");case 4:t=this._addons.filter((function(e){return e.checked})).map((function(e){return e.slug})),n=this._folders.filter((function(e){return e.checked})).map((function(e){return e.slug})),r={homeassistant:this._restoreHass,addons:t,folders:n},this._snapshot.protected&&(r.password=this._snapshotPassword),this.hass.callApi("POST","hassio/snapshots/".concat(this._snapshot.slug,"/restore/partial"),r).then((function(){alert("Snapshot restored!"),o._closeDialog()}),(function(e){o._error=e.body.message}));case 9:case"end":return e.stop()}}),e,this)}))),function(){return w.apply(this,arguments)})},{kind:"method",key:"_fullRestoreClicked",value:(b=_(regeneratorRuntime.mark((function e(){var t,n=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(a.b)(this,{title:"Are you sure you want to wipe your system and restore this snapshot?"});case 2:if(e.sent){e.next=4;break}return e.abrupt("return");case 4:t=this._snapshot.protected?{password:this._snapshotPassword}:void 0,this.hass.callApi("POST","hassio/snapshots/".concat(this._snapshot.slug,"/restore/full"),t).then((function(){alert("Snapshot restored!"),n._closeDialog()}),(function(e){n._error=e.body.message}));case 6:case"end":return e.stop()}}),e,this)}))),function(){return b.apply(this,arguments)})},{kind:"method",key:"_deleteClicked",value:(l=_(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(a.b)(this,{title:"Are you sure you want to delete this snapshot?"});case 2:if(e.sent){e.next=4;break}return e.abrupt("return");case 4:this.hass.callApi("POST","hassio/snapshots/".concat(this._snapshot.slug,"/remove")).then((function(){t._dialogParams.onDelete(),t._closeDialog()}),(function(e){t._error=e.body.message}));case 5:case"end":return e.stop()}}),e,this)}))),function(){return l.apply(this,arguments)})},{kind:"method",key:"_downloadClicked",value:(n=_(regeneratorRuntime.mark((function e(){var t,n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,o=this.hass,i="/api/hassio/snapshots/".concat(this._snapshot.slug,"/download"),o.callWS({type:"auth/sign_path",path:i});case 3:t=e.sent,e.next=10;break;case 6:return e.prev=6,e.t0=e.catch(0),alert("Error: ".concat(e.t0.message)),e.abrupt("return");case 10:n=this._computeName.replace(/[^a-z0-9]+/gi,"_"),(r=document.createElement("a")).href=t.path,r.download="Hass_io_".concat(n,".tar"),this.shadowRoot.appendChild(r),r.click(),this.shadowRoot.removeChild(r);case 17:case"end":return e.stop()}var o,i}),e,this,[[0,6]])}))),function(){return n.apply(this,arguments)})},{kind:"get",key:"_computeName",value:function(){return this._snapshot?this._snapshot.name||this._snapshot.slug:"Unnamed snapshot"}},{kind:"get",key:"_computeSize",value:function(){return Math.ceil(10*this._snapshot.size)/10+" MB"}},{kind:"method",key:"_formatDatetime",value:function(e){return new Date(e).toLocaleDateString(navigator.language,{weekday:"long",year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})}},{kind:"method",key:"_closeDialog",value:function(){this._dialogParams=void 0,this._snapshot=void 0,this._snapshotPassword="",this._folders=[],this._addons=[]}}]}}),o.a)}}]); +//# sourceMappingURL=chunk.76cd2f7f90bec6f08e4a.js.map \ No newline at end of file diff --git a/supervisor/api/panel/frontend_es5/chunk.76cd2f7f90bec6f08e4a.js.gz b/supervisor/api/panel/frontend_es5/chunk.76cd2f7f90bec6f08e4a.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..72ae937d3db92ac30c153ad34af97c4188a6fe1c GIT binary patch literal 5531 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\n \n Wipe & restore\n \n ']);return u=function(){return e},e}function d(){var e=k(['

Error: ',"

"]);return d=function(){return e},e}function h(){var e=k(['\n \n ',"\n \n "]);return p=function(){return e},e}function f(){var e=k(['\n
Add-on:
\n \n ',"\n \n "]);return f=function(){return e},e}function m(){var e=k(["\n \n ',"\n \n "]);return m=function(){return e},e}function v(){var e=k(['\n
Folders:
\n \n ',"\n \n "]);return v=function(){return e},e}function y(){var e=k(["\n \n ',"\n (",")
\n ","\n \n
Home Assistant:
\n \n Home Assistant ',"\n \n ","\n ","\n ","\n ","\n\n
Actions:
\n\n \n \n Download Snapshot\n \n\n \n \n Restore Selected\n \n ',"\n \n \n Delete Snapshot\n \n \n ']);return y=function(){return e},e}function g(){var e=k([""]);return g=function(){return e},e}function k(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function b(e,t,n,r,o,i,s){try{var a=e[i](s),c=a.value}catch(l){return void n(l)}a.done?t(c):Promise.resolve(c).then(r,o)}function w(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function s(e){b(i,r,o,s,a,"next",e)}function a(e){b(i,r,o,s,a,"throw",e)}s(void 0)}))}}function _(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function E(e,t){return(E=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function O(e,t){return!t||"object"!==c(t)&&"function"!=typeof t?P(e):t}function P(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function j(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function A(e){return(A=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function S(e){var t,n=R(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function D(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function x(e){return e.decorators&&e.decorators.length}function C(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function T(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function R(e){var t=function(e,t){if("object"!==c(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==c(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===c(t)?t:String(t)}function z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;i--){var s=t[e.placement];s.splice(s.indexOf(e.key),1);var a=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,o[i])(a)||a);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var o=this.fromClassDescriptor(e),i=this.toClassDescriptor((0,t[r])(o)||o);if(void 0!==i.finisher&&n.push(i.finisher),void 0!==i.elements){e=i.elements;for(var s=0;st.name?1:-1})),this._addons=(n=this._snapshot.addons,n.map((function(e){return{slug:e.slug,name:e.name,version:e.version,checked:!0}}))).sort((function(e,t){return e.name>t.name?1:-1})),this._dialogParams=t;case 6:case"end":return e.stop()}var n,r,o}),e,this)}))),function(e){return c.apply(this,arguments)})},{kind:"method",key:"render",value:function(){var e=this;return this._dialogParams&&this._snapshot?Object(o.f)(y(),this._closeDialog,Object(i.a)(this.hass,this._computeName),"full"===this._snapshot.type?"Full snapshot":"Partial snapshot",this._computeSize,this._formatDatetime(this._snapshot.date),this._restoreHass,(function(t){e._restoreHass=t.target.checked}),this._snapshot.homeassistant,this._folders.length?Object(o.f)(v(),this._folders.map((function(t){return Object(o.f)(m(),t.checked,(function(n){return e._updateFolders(t,n.target.checked)}),t.name)}))):"",this._addons.length?Object(o.f)(f(),this._addons.map((function(t){return Object(o.f)(p(),t.checked,(function(n){return e._updateAddons(t,n.target.checked)}),t.name)}))):"",this._snapshot.protected?Object(o.f)(h(),this._passwordInput,this._snapshotPassword):"",this._error?Object(o.f)(d(),this._error):"",this._downloadClicked,r.n,this._partialRestoreClicked,r.s,"full"===this._snapshot.type?Object(o.f)(u(),this._fullRestoreClicked,r.s):"",this._deleteClicked,r.k):Object(o.f)(g())}},{kind:"get",static:!0,key:"styles",value:function(){return[a.d,Object(o.c)(l())]}},{kind:"method",key:"_updateFolders",value:function(e,t){this._folders=this._folders.map((function(n){return n.slug===e.slug&&(n.checked=t),n}))}},{kind:"method",key:"_updateAddons",value:function(e,t){this._addons=this._addons.map((function(n){return n.slug===e.slug&&(n.checked=t),n}))}},{kind:"method",key:"_passwordInput",value:function(e){this._snapshotPassword=e.detail.value}},{kind:"method",key:"_partialRestoreClicked",value:function(){var e=this;if(confirm("Are you sure you want to restore this snapshot?")){var t=this._addons.filter((function(e){return e.checked})).map((function(e){return e.slug})),n=this._folders.filter((function(e){return e.checked})).map((function(e){return e.slug})),r={homeassistant:this._restoreHass,addons:t,folders:n};this._snapshot.protected&&(r.password=this._snapshotPassword),this.hass.callApi("POST","hassio/snapshots/".concat(this._snapshot.slug,"/restore/partial"),r).then((function(){alert("Snapshot restored!"),e._closeDialog()}),(function(t){e._error=t.body.message}))}}},{kind:"method",key:"_fullRestoreClicked",value:function(){var e=this;if(confirm("Are you sure you want to restore this snapshot?")){var t=this._snapshot.protected?{password:this._snapshotPassword}:void 0;this.hass.callApi("POST","hassio/snapshots/".concat(this._snapshot.slug,"/restore/full"),t).then((function(){alert("Snapshot restored!"),e._closeDialog()}),(function(t){e._error=t.body.message}))}}},{kind:"method",key:"_deleteClicked",value:function(){var e=this;confirm("Are you sure you want to delete this snapshot?")&&this.hass.callApi("POST","hassio/snapshots/".concat(this._snapshot.slug,"/remove")).then((function(){e._dialogParams.onDelete(),e._closeDialog()}),(function(t){e._error=t.body.message}))}},{kind:"method",key:"_downloadClicked",value:(n=w(regeneratorRuntime.mark((function e(){var t,n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,o=this.hass,i="/api/hassio/snapshots/".concat(this._snapshot.slug,"/download"),o.callWS({type:"auth/sign_path",path:i});case 3:t=e.sent,e.next=10;break;case 6:return e.prev=6,e.t0=e.catch(0),alert("Error: ".concat(e.t0.message)),e.abrupt("return");case 10:n=this._computeName.replace(/[^a-z0-9]+/gi,"_"),(r=document.createElement("a")).href=t.path,r.download="Hass_io_".concat(n,".tar"),this.shadowRoot.appendChild(r),r.click(),this.shadowRoot.removeChild(r);case 17:case"end":return e.stop()}var o,i}),e,this,[[0,6]])}))),function(){return n.apply(this,arguments)})},{kind:"get",key:"_computeName",value:function(){return this._snapshot?this._snapshot.name||this._snapshot.slug:"Unnamed snapshot"}},{kind:"get",key:"_computeSize",value:function(){return Math.ceil(10*this._snapshot.size)/10+" MB"}},{kind:"method",key:"_formatDatetime",value:function(e){return new Date(e).toLocaleDateString(navigator.language,{weekday:"long",year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})}},{kind:"method",key:"_closeDialog",value:function(){this._dialogParams=void 0,this._snapshot=void 0,this._snapshotPassword="",this._folders=[],this._addons=[]}}]}}),o.a)}}]); -//# sourceMappingURL=chunk.937f66fb08e0d4aa8818.js.map \ No newline at end of file diff --git a/supervisor/api/panel/frontend_es5/chunk.937f66fb08e0d4aa8818.js.gz b/supervisor/api/panel/frontend_es5/chunk.937f66fb08e0d4aa8818.js.gz deleted file mode 100644 index 641d18dc7fe3cc5fa637871885126651a2eb8441..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5414 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 QkEZ(mPqggAsB}vJ0E1k*o&W#< diff --git a/supervisor/api/panel/frontend_es5/chunk.937f66fb08e0d4aa8818.js.map b/supervisor/api/panel/frontend_es5/chunk.937f66fb08e0d4aa8818.js.map deleted file mode 100644 index 727c205ec..000000000 --- a/supervisor/api/panel/frontend_es5/chunk.937f66fb08e0d4aa8818.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"chunk.937f66fb08e0d4aa8818.js","sources":["webpack:///chunk.937f66fb08e0d4aa8818.js"],"mappings":"AAAA","sourceRoot":""} \ No newline at end of file diff --git a/supervisor/api/panel/frontend_es5/chunk.9de6943cce77c49b4586.js.gz b/supervisor/api/panel/frontend_es5/chunk.9de6943cce77c49b4586.js.gz deleted file mode 100644 index 65bb6b4caf800d620458e626ba0142774dec3d08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37248 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 diff --git a/supervisor/api/panel/frontend_es5/chunk.9de6943cce77c49b4586.js.map b/supervisor/api/panel/frontend_es5/chunk.9de6943cce77c49b4586.js.map deleted file mode 100644 index 3be1bae57..000000000 --- a/supervisor/api/panel/frontend_es5/chunk.9de6943cce77c49b4586.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"chunk.9de6943cce77c49b4586.js","sources":["webpack:///chunk.9de6943cce77c49b4586.js"],"mappings":";AAAA","sourceRoot":""} \ No newline at end of file diff --git a/supervisor/api/panel/frontend_es5/chunk.1edd93e4d4c4749e55ab.js b/supervisor/api/panel/frontend_es5/chunk.b7b12567185bad0732f4.js similarity index 99% rename from supervisor/api/panel/frontend_es5/chunk.1edd93e4d4c4749e55ab.js rename to supervisor/api/panel/frontend_es5/chunk.b7b12567185bad0732f4.js index e02b1e8b0..7df688f41 100644 --- a/supervisor/api/panel/frontend_es5/chunk.1edd93e4d4c4749e55ab.js +++ b/supervisor/api/panel/frontend_es5/chunk.b7b12567185bad0732f4.js @@ -1,2 +1,2 @@ -(self.webpackJsonp=self.webpackJsonp||[]).push([[7],{167:function(e,t,r){"use strict";r.r(t);var n=r(0),i=r(57),o=r(31),a=(r(82),r(104),r(30)),s=r(35),c=r(7),l=r(8);function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function f(){var e=b(["\n iframe {\n display: block;\n width: 100%;\n height: 100%;\n border: 0;\n }\n\n .header + iframe {\n height: calc(100% - 40px);\n }\n\n .header {\n display: flex;\n align-items: center;\n font-size: 16px;\n height: 40px;\n padding: 0 16px;\n pointer-events: none;\n background-color: var(--app-header-background-color);\n font-weight: 400;\n color: var(--app-header-text-color, white);\n border-bottom: var(--app-header-border-bottom, none);\n box-sizing: border-box;\n --mdc-icon-size: 20px;\n }\n\n .main-title {\n margin: 0 0 0 24px;\n line-height: 20px;\n flex-grow: 1;\n }\n\n mwc-icon-button {\n pointer-events: auto;\n }\n\n hass-subpage {\n --app-header-background-color: var(--sidebar-background-color);\n --app-header-text-color: var(--sidebar-text-color);\n --app-header-border-bottom: 1px solid var(--divider-color);\n }\n "]);return f=function(){return e},e}function d(e,t,r,n,i,o,a){try{var s=e[o](a),c=s.value}catch(l){return void r(l)}s.done?t(c):Promise.resolve(c).then(n,i)}function p(){var e=b(['
\n \n \n
',"
\n
\n ",""]);return p=function(){return e},e}function h(){var e=b(["",""]);return h=function(){return e},e}function m(){var e=b(["\n ","\n "]);return m=function(){return e},e}function y(){var e=b([""]);return y=function(){return e},e}function v(){var e=b([" "]);return v=function(){return e},e}function b(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function g(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function w(e,t){return(w=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function k(e,t){return!t||"object"!==u(t)&&"function"!=typeof t?E(e):t}function E(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function O(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function x(e){var t,r=A(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function j(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function P(e){return e.decorators&&e.decorators.length}function D(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function S(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function A(e){var t=function(e,t){if("object"!==u(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==u(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===u(t)?t:String(t)}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n \n \n
',"
\n \n ",""]);return p=function(){return e},e}function h(){var e=b(["",""]);return h=function(){return e},e}function m(){var e=b(["\n ","\n "]);return m=function(){return e},e}function y(){var e=b([""]);return y=function(){return e},e}function v(){var e=b([" "]);return v=function(){return e},e}function b(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function g(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function w(e,t){return(w=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function k(e,t){return!t||"object"!==u(t)&&"function"!=typeof t?E(e):t}function E(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function O(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function x(e){var t,r=A(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function j(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function P(e){return e.decorators&&e.decorators.length}function D(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function S(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function A(e){var t=function(e,t){if("object"!==u(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==u(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===u(t)?t:String(t)}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a z*ifJb09|71zu$vKKosR9Z-3V!%F{c!NU>&BT(iZN)}Q}VwPITxtlZz9U*KZfsWm!3 ze|16bW-nirt4`FKw*oPuiNtq#r&y-6kz|tlIczg)Kz&{&#Ow`Zdtp^ zKHhE?ZS&|+uI!KDM!_|cRJZahT#W!Tf0FIWkxd3LkE3Hn-3nm7s{wXZRsH%&_+4ye zt6OvJEYMc=2r(eq^-Qi1zB7_z)dHR8e~8Tfhp!~vu+o z_#r@JM zw%h=puq!|UxI`;hDi|>TOWAf}IjP&G1rdQ#&}2fl+lk|5GCYEZgkJYFO_Qx-;556@ z4iL$%*IY9^)Dxg=wQe_Kw50pQFf+J*W5i}85kaNWm`paydcwhuy?CFda!ggZpo_p`}Fyqs2eWW#3^V1IJ4@XfE2Gmqht6s*Pg6J2ds(g?zjeNr`s_Q zYpT>lbr8`m_h>$@%tS$oFWG`Vtn6_$4nf47u6y8oFRjbxQK#?qBML*Pp9=xD$~CG;2ChSCfxW%shbusGqR{PE6}sNb8~eA{U%kEAyZt708BbIU0-i1Tm=?WsBaVUHeV(0cAq?-j+CqoTF{bPNMYW773S3*%*^rJwAAE_iK-=I z0w9mArk-~7RXhvhY5ktQzel=ag#x=|Xo@j;zxb2Yx>y0|FAVvoC0lX9z@xTIYR(kE zxRdm{yt58j?%&aPx5J5xT{?_>g-#I5xKNsk+SD2vW4#7tWrAI2zd`-+GpJ6Y{6{K8 zt4%I%GU{wLqY8fZHBSQlI^_plSDqHd^oLO7ykFhlhx2>fv*ObyTMB*pRA~?rw!0Db z=k)Xm$SQ9w^c*Uw4){#Vu#-@R>9d~^!=;X3;MuZo-vdYpzU= z5T`m@FeX4?TyxrR#g? zx@cH=G9^I9ieGjzJTuX4n0o?bWq!%@J}6iSfWCTJ4KJ(jxV+-5N!WPw2myfMrIeKv zz;qYdp*wT=0NR;fD1*2N2(Od`O5~btm@s52O*OC2a`!hMfze(ISnf5QlOA(F=`-NR&rXHf+2_`+o6WrvA~X7HzTVdr`$=4zy(0BxP=!NS3b za_@vnPxyt1?L#!i0b}V?(J*nT*YVm<$+bx7qemw(WH{bnEm;ZbO(NDu&n_qzreX4FhNWK9LU$Frv4vDCwiyMrX=nOHAc8vzYhS&rSIK+IE+rRuJ!If<~ zr89qlX4`(<>Y#x1{ce1X;ydfXyIhx^&l2ns+`q zks&7^;7q?|-e|D(^!{nS0^*&}rbJYRsdrM+TciQu8$FkgA7gPYFDeHA24w6{159m$?w7Z#p`BZ0EW`}iBHcl{zD>re=U4zaocMX_%z&u@(`ZuMg_>iKcJ z#5ju-B&&&J#;T6{`_Wr)*o|RM_617p?}x zFJNh=4Dw~?kEQ_hWViwi6SE!vMzZ7KAv9JhuEQ@;@j%=$d)*d65)szqV`!K*tb*b*Lk z(VGXbIQX+OLSU(Cqpw;G(B;z0^Fz=u;NiXG$>?R*>X=d>R@K3B$O9Iv z0dP^B5TgO3u8kAGj71u_bszzsbLa_ zxRkpc8L`WUb*7_!gwc-(`r%R9HhS#Kx(%`(?tzr`xd171kTS=6g=m||(K~Nk!X!Bt zJP_ZpbK_#Hcjw4rx(VaOc8yq?9WG!%wjY`zZDn0 z%ZUuA;73D^sYGQ?Q=?`abrm`T-*vh!&bF4;Dbn^blACsoY2(#5kmDIclfH#;1@>?B zlK4(PkHqD}Mte8fXX-(pnLJ^lcSN@bY^y`Q6T^v3kE!O#AbHplzTnFKP4WoaAq^%t zIGtAP!*_v$H;ow&@=BmOY({sm7%`-+o5vK}9goH{5jqy%zBvp>XFLr1apP+;ne}~< zyJVy;2d^+e{<7LzDFodxP}Kj>t-S!1)ko&;o+aE!T;}iOWoM1mAAItE=&bym-~R^| z8h*XLpS`?)_7uZU@cPY`EwO{}FHZ{1lm-}QjyGSn>;?kDccbp~9|BAb&Qq<~W~)u_ zykw62PO?n2_NAgRx;POn{t*8mGW*KK_uAnIu@|VJD|20~axLnbUYU;ke4yqFgfmyz znqC!QTx{qTp+iUX0dFkz1ov{K0au{8_BtuZ^5FV8$=``SXha9iF*$nIMfZnp#^P4D z-x5-M7wtUOhUie*gRen9;hh>D#slE#C?$WKs?0*nww`(?chC*v8ko-l7SLPfagc1$ zY0yevGi0@7HnP$&9N9HM@>udy7`2?{r@@oL+>(gMU<~Aj%g{QU*nT567-0b_UHkJp znT}WvId28a!1n`Yl0~de41n{m6hg!bk`Pf6d~fD9KWbMV@Nvs>;98%7^ub(Hr0K@T zF{%{56zFb8I1X7SF{iVm)FfHL5aeBQkDL;X-{!>5mP!8Gnnex7n??aNvqU`TauJ;R z`+~EX^sfNeK9ot@9XV3z?s@#6aC{($_4P^laW7c3@MOJBJ3$ zjGsfBZ<{E2ff3tppoFU|4_`}&@kXVmU@)Xl%R}IqRbsb`FTjVQJeWnKB$@XnqsZms zJgccV?F+BMz8dL`y)aEuGNtw->L8rf%nII!Ae`3paFsBhw{WLATIsXqLQ>}lVx=nQV-saLM86o%hvandyQoqpLRq5cOrJEBB-8|79=Vz z(wfZN4ZRhw?C5HVB*qxd{Dj&h*F&xS6XNND)zt^o!p;W}-0@fGX;16$D$~=pzM=J+ zgwPZuwls#5;;K?gcC1k>;Pym3jJ}^4MO0Q^%glW7#8>vX&S+gTrQn#0cc7(AuUV$( zCZ^Vu@IYmNUbV@??oZSbjxDj7_5%qVJVEaeEtWPR-C#_Z0d!<`4hMfp4UF(&7zF&8 zbnuAIeS0a2B}VxgPV;sGiA4g7lPk`yb9_P2$kdi}WKpHV^^^3_u^^%Q*F;C=8Xr55 zU&d~>h5)$gqJ}TtK_TXL*2?|Yn#n7I(9F6lg#e$9o8&HuI^koO2frXN!+U_?K3dr! z-Z#xeR7h4lP6C`*;8^t|k~WaMN7x5bSh7V!+7m;>JN$S;6B_zoBD_(sO8YUKfe{b% z9p7iS!SF8m*qNg+#JF_ZJbm}r1M%KZ+T>NF#KaA^q@8KCFjI;b;344Em3t4+PngdQ zq6@A*wbd56F<{G0rs>Q?kP73gPf}GhMz#m?Sp~FT_usZ1!gv zsdUd$2qGv*kzkE$tqdEr5yVnzpvF73Cc- zlsg{&e$wsbWy3sk(mY3|d8Iab#k&?1vP*cI?7*bM-zsbbl*4Df={wgttgw-f(u^5MID+rptS&%&5^ zOf%weRnLhB&Wkz$Zjy|p;&~~6EX9NlH)hY~3(4qbxBn_o=>fljV|of#+=q5E++Ujo zOf;}T?lkO_`R~FGHFcX=C1hZj6O%v0sx^yBQ>nB6a6Xt5`w?>Kvh)>Kt;~0x*4Zo& z1HeK0w}tuU9T^hnLUvn?a$mHD3(rch+lX{UoW6SYboIRWQ<=u<{{iNJ(p$th004!EB!B<_ literal 0 HcmV?d00001 diff --git a/supervisor/api/panel/frontend_es5/chunk.1edd93e4d4c4749e55ab.js.map b/supervisor/api/panel/frontend_es5/chunk.b7b12567185bad0732f4.js.map similarity index 54% rename from supervisor/api/panel/frontend_es5/chunk.1edd93e4d4c4749e55ab.js.map rename to supervisor/api/panel/frontend_es5/chunk.b7b12567185bad0732f4.js.map index 4d2994d1b..67af5f27a 100644 --- a/supervisor/api/panel/frontend_es5/chunk.1edd93e4d4c4749e55ab.js.map +++ b/supervisor/api/panel/frontend_es5/chunk.b7b12567185bad0732f4.js.map @@ -1 +1 @@ -{"version":3,"file":"chunk.1edd93e4d4c4749e55ab.js","sources":["webpack:///chunk.1edd93e4d4c4749e55ab.js"],"mappings":"AAAA","sourceRoot":""} \ No newline at end of file +{"version":3,"file":"chunk.b7b12567185bad0732f4.js","sources":["webpack:///chunk.b7b12567185bad0732f4.js"],"mappings":"AAAA","sourceRoot":""} \ No newline at end of file diff --git a/supervisor/api/panel/frontend_es5/chunk.da1dfd51b6b98d4ff6af.js b/supervisor/api/panel/frontend_es5/chunk.da1dfd51b6b98d4ff6af.js new file mode 100644 index 000000000..34d00e366 --- /dev/null +++ b/supervisor/api/panel/frontend_es5/chunk.da1dfd51b6b98d4ff6af.js @@ -0,0 +1,2 @@ +(self.webpackJsonp=self.webpackJsonp||[]).push([[6],{169:function(e,t,r){"use strict";r.r(t);var n=r(7),i=r(0),o=r(49),a=r(57),s=(r(72),r(81),r(11)),c=r(22),l=(r(40),r(108),r(90),r(106),r(134),r(58),r(97)),d=r(28);function u(e,t,r,n,i,o,a){try{var s=e[o](a),c=s.value}catch(l){return void r(l)}s.done?t(c):Promise.resolve(c).then(n,i)}var f=function(){var e,t=(e=regeneratorRuntime.mark((function e(t,r,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(d.b)(t,{title:n.name,text:"Do you want to restart the add-on with your changes?",confirmText:"restart add-on",dismissText:"no"});case 2:if(!e.sent){e.next=12;break}return e.prev=4,e.next=7,Object(a.h)(r,n.slug);case 7:e.next=12;break;case 9:e.prev=9,e.t0=e.catch(4),Object(d.a)(t,{title:"Failed to restart",text:e.t0.body.message});case 12:case"end":return e.stop()}}),e,null,[[4,9]])})),function(){var t=this,r=arguments;return new Promise((function(n,i){var o=e.apply(t,r);function a(e){u(o,n,i,a,s,"next",e)}function s(e){u(o,n,i,a,s,"throw",e)}a(void 0)}))});return function(e,r,n){return t.apply(this,arguments)}}();function p(e){return(p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function h(e){return function(e){if(Array.isArray(e))return F(e)}(e)||I(e)||R(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(e,t,r,n,i,o,a){try{var s=e[o](a),c=s.value}catch(l){return void r(l)}s.done?t(c):Promise.resolve(c).then(n,i)}function v(e){return function(){var t=this,r=arguments;return new Promise((function(n,i){var o=e.apply(t,r);function a(e){m(o,n,i,a,s,"next",e)}function s(e){m(o,n,i,a,s,"throw",e)}a(void 0)}))}}function y(){var e=E(["\n :host,\n ha-card,\n paper-dropdown-menu {\n display: block;\n }\n .errors {\n color: var(--error-color);\n margin-bottom: 16px;\n }\n paper-item {\n width: 450px;\n }\n .card-actions {\n text-align: right;\n }\n "]);return y=function(){return e},e}function b(){var e=E(["\n ","\n "]);return b=function(){return e},e}function g(){var e=E(["\n ","\n "]);return g=function(){return e},e}function w(){var e=E(['
',"
"]);return w=function(){return e},e}function k(){var e=E(['\n \n
\n ','\n\n \n \n \n \n \n \n
\n
\n e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;ae.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n ".concat(t.codeMirrorCss,"\n .CodeMirror {\n height: var(--code-mirror-height, auto);\n direction: var(--code-mirror-direction, ltr);\n }\n .CodeMirror-scroll {\n max-height: var(--code-mirror-max-height, --code-mirror-height);\n }\n :host(.error-state) .CodeMirror-gutters {\n border-color: var(--error-state-color, red);\n }\n .CodeMirror-focused .CodeMirror-gutters {\n border-right: 2px solid var(--paper-input-container-focus-color, var(--primary-color));\n }\n .CodeMirror-linenumber {\n color: var(--paper-dialog-color, var(--secondary-text-color));\n }\n .rtl .CodeMirror-vscrollbar {\n right: auto;\n left: 0px;\n }\n .rtl-gutter {\n width: 20px;\n }\n .CodeMirror-gutters {\n border-right: 1px solid var(--paper-input-container-color, var(--secondary-text-color));\n background-color: var(--paper-dialog-background-color, var(--primary-background-color));\n transition: 0.2s ease border-right;\n }\n .cm-s-default.CodeMirror {\n background-color: var(--card-background-color);\n color: var(--primary-text-color);\n }\n .cm-s-default .CodeMirror-cursor {\n border-left: 1px solid var(--secondary-text-color);\n }\n \n .cm-s-default div.CodeMirror-selected, .cm-s-default.CodeMirror-focused div.CodeMirror-selected {\n background: rgba(var(--rgb-primary-color), 0.2);\n }\n \n .cm-s-default .CodeMirror-line::selection,\n .cm-s-default .CodeMirror-line>span::selection,\n .cm-s-default .CodeMirror-line>span>span::selection {\n background: rgba(var(--rgb-primary-color), 0.2);\n }\n \n .cm-s-default .cm-keyword {\n color: var(--codemirror-keyword, #6262FF);\n }\n \n .cm-s-default .cm-operator {\n color: var(--codemirror-operator, #cda869);\n }\n \n .cm-s-default .cm-variable-2 {\n color: var(--codemirror-variable-2, #690);\n }\n \n .cm-s-default .cm-builtin {\n color: var(--codemirror-builtin, #9B7536);\n }\n \n .cm-s-default .cm-atom {\n color: var(--codemirror-atom, #F90);\n }\n \n .cm-s-default .cm-number {\n color: var(--codemirror-number, #ca7841);\n }\n \n .cm-s-default .cm-def {\n color: var(--codemirror-def, #8DA6CE);\n }\n \n .cm-s-default .cm-string {\n color: var(--codemirror-string, #07a);\n }\n \n .cm-s-default .cm-string-2 {\n color: var(--codemirror-string-2, #bd6b18);\n }\n \n .cm-s-default .cm-comment {\n color: var(--codemirror-comment, #777);\n }\n \n .cm-s-default .cm-variable {\n color: var(--codemirror-variable, #07a);\n }\n \n .cm-s-default .cm-tag {\n color: var(--codemirror-tag, #997643);\n }\n \n .cm-s-default .cm-meta {\n color: var(--codemirror-meta, #000);\n }\n \n .cm-s-default .cm-attribute {\n color: var(--codemirror-attribute, #d6bb6d);\n }\n \n .cm-s-default .cm-property {\n color: var(--codemirror-property, #905);\n }\n \n .cm-s-default .cm-qualifier {\n color: var(--codemirror-qualifier, #690);\n }\n \n .cm-s-default .cm-variable-3 {\n color: var(--codemirror-variable-3, #07a);\n }\n\n .cm-s-default .cm-type {\n color: var(--codemirror-type, #07a);\n }\n "),this.codemirror=r(n,{value:this._value,lineNumbers:!0,tabSize:2,mode:this.mode,autofocus:!1!==this.autofocus,viewportMargin:1/0,readOnly:this.readOnly,extraKeys:{Tab:"indentMore","Shift-Tab":"indentLess"},gutters:this._calcGutters()}),this._setScrollBarDirection(),this.codemirror.on("changes",(function(){return i._onChange()}));case 9:case"end":return e.stop()}}),e,this)})),n=function(){var e=this,t=arguments;return new Promise((function(n,i){var o=r.apply(e,t);function a(e){W(o,n,i,a,s,"next",e)}function s(e){W(o,n,i,a,s,"throw",e)}a(void 0)}))},function(){return n.apply(this,arguments)})},{kind:"method",key:"_onChange",value:function(){var e=this.value;e!==this._value&&(this._value=e,Object(H.a)(this,"value-changed",{value:this._value}))}},{kind:"method",key:"_calcGutters",value:function(){return this.rtl?["rtl-gutter","CodeMirror-linenumbers"]:[]}},{kind:"method",key:"_setScrollBarDirection",value:function(){this.codemirror&&this.codemirror.getWrapperElement().classList.toggle("rtl",this.rtl)}}]}}),i.b);function se(){var e=de(["

","

"]);return se=function(){return e},e}function ce(){var e=de(["\n ","\n e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;aInvalid YAML
']);return Ae=function(){return e},e}function Se(){var e=Te(['
',"
"]);return Se=function(){return e},e}function Ce(){var e=Te(["\n

",'

\n \n
\n \n
\n e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n ","\n \n ',"
"]);return Xe=function(){return e},e}function Ze(){var e=tt(['\n \n
\n ',"\n\n \n \n \n \n \n \n \n ",'\n \n
ContainerHostDescription
\n
\n
\n e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;at.container?1:-1}))}},{kind:"method",key:"_configChanged",value:(o=Je(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=t.target,this._config.forEach((function(e){e.container===r.container&&e.host!==parseInt(String(r.value),10)&&(e.host=r.value?parseInt(String(r.value),10):null)}));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{kind:"method",key:"_resetTapped",value:(n=Je(regeneratorRuntime.mark((function e(){var t,r,n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r={network:null},e.prev=1,e.next=4,Object(a.i)(this.hass,this.addon.slug,r);case 4:n={success:!0,response:void 0,path:"option"},Object(H.a)(this,"hass-api-called",n),e.next=11;break;case 8:e.prev=8,e.t0=e.catch(1),this._error="Failed to set addon network configuration, ".concat((null===(i=e.t0.body)||void 0===i?void 0:i.message)||e.t0);case 11:if(this._error||"started"!==(null===(t=this.addon)||void 0===t?void 0:t.state)){e.next=14;break}return e.next=14,f(this,this.hass,this.addon);case 14:case"end":return e.stop()}}),e,this,[[1,8]])}))),function(){return n.apply(this,arguments)})},{kind:"method",key:"_saveTapped",value:(r=Je(regeneratorRuntime.mark((function e(){var t,r,n,i,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._error=void 0,r={},this._config.forEach((function(e){r[e.container]=parseInt(String(e.host),10)})),n={network:r},e.prev=4,e.next=7,Object(a.i)(this.hass,this.addon.slug,n);case 7:i={success:!0,response:void 0,path:"option"},Object(H.a)(this,"hass-api-called",i),e.next=14;break;case 11:e.prev=11,e.t0=e.catch(4),this._error="Failed to set addon network configuration, ".concat((null===(o=e.t0.body)||void 0===o?void 0:o.message)||e.t0);case 14:if(this._error||"started"!==(null===(t=this.addon)||void 0===t?void 0:t.state)){e.next=17;break}return e.next=17,f(this,this.hass,this.addon);case 17:case"end":return e.stop()}}),e,this,[[4,11]])}))),function(){return r.apply(this,arguments)})}]}}),i.a);var vt=r(73);function yt(e){return(yt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function bt(){var e=Ot(["\n .content {\n margin: auto;\n padding: 8px;\n max-width: 1024px;\n }\n hassio-addon-network,\n hassio-addon-audio,\n hassio-addon-config {\n margin-bottom: 24px;\n }\n "]);return bt=function(){return e},e}function gt(){var e=Ot(["\n \n "]);return gt=function(){return e},e}function wt(){var e=Ot(["\n \n "]);return wt=function(){return e},e}function kt(){var e=Ot(['\n
\n e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a"]);return Nt=function(){return e},e}function Ht(){var e=$t([""]);return Ht=function(){return e},e}function Bt(){var e=$t(['
',"
"]);return Bt=function(){return e},e}function qt(){var e=$t(['\n
\n \n ','\n
\n ',"\n
\n
\n
\n "]);return qt=function(){return e},e}function Vt(){var e=$t([""]);return Vt=function(){return e},e}function $t(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function Lt(e,t,r,n,i,o,a){try{var s=e[o](a),c=s.value}catch(l){return void r(l)}s.done?t(c):Promise.resolve(c).then(n,i)}function Wt(e){return function(){var t=this,r=arguments;return new Promise((function(n,i){var o=e.apply(t,r);function a(e){Lt(o,n,i,a,s,"next",e)}function s(e){Lt(o,n,i,a,s,"throw",e)}a(void 0)}))}}function Gt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Yt(e,t){return(Yt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Jt(e,t){return!t||"object"!==Mt(t)&&"function"!=typeof t?Kt(e):t}function Kt(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Qt(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function Xt(e){var t,r=nr(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function Zt(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function er(e){return e.decorators&&e.decorators.length}function tr(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function rr(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function nr(e){var t=function(e,t){if("object"!==Mt(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Mt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Mt(t)?t:String(t)}function ir(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a bit more top margin */\n font-weight: 500;\n overflow: hidden;\n text-transform: uppercase;\n text-overflow: ellipsis;\n transition: background-color 0.3s ease-in-out;\n text-transform: var(--ha-label-badge-label-text-transform, uppercase);\n }\n .label-badge .label.big span {\n font-size: 90%;\n padding: 10% 12% 7% 12%; /* push smaller text a bit down to center vertically */\n }\n .badge-container .title {\n margin-top: 1em;\n font-size: var(--ha-label-badge-title-font-size, 0.9em);\n width: var(--ha-label-badge-title-width, 5em);\n font-weight: var(--ha-label-badge-title-font-weight, 400);\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: normal;\n }\n "]);return ur=function(){return e},e}function fr(){var e=yr(['
',"
"]);return fr=function(){return e},e}function pr(){var e=yr(['\n \n ',"\n
\n "]);return pr=function(){return e},e}function hr(){var e=yr([" "," "]);return hr=function(){return e},e}function mr(){var e=yr([" "]);return mr=function(){return e},e}function vr(){var e=yr(['\n
\n
\n \n \n ',"\n ","\n \n
\n ","\n
\n ","\n
\n "]);return vr=function(){return e},e}function yr(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function br(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function gr(e,t){return(gr=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function wr(e,t){return!t||"object"!==dr(t)&&"function"!=typeof t?kr(e):t}function kr(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Er(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function Or(e){var t,r=Dr(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function jr(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function Pr(e){return e.decorators&&e.decorators.length}function xr(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function _r(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function Dr(e){var t=function(e,t){if("object"!==dr(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==dr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===dr(t)?t:String(t)}function Ar(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a4)}),!this.icon||this.value||this.image?"":Object(i.f)(mr(),this.icon),this.value&&!this.image?Object(i.f)(hr(),this.value):"",this.label?Object(i.f)(pr(),Object(sr.a)({label:!0,big:this.label.length>5}),this.label):"",this.description?Object(i.f)(fr(),this.description):"")}},{kind:"get",static:!0,key:"styles",value:function(){return[Object(i.c)(ur())]}},{kind:"method",key:"updated",value:function(e){Sr(Cr(r.prototype),"updated",this).call(this,e),e.has("image")&&(this.shadowRoot.getElementById("badge").style.backgroundImage=this.image?"url(".concat(this.image,")"):"")}}]}}),i.a);customElements.define("ha-label-badge",Tr);r(33),r(103),r(85);var zr=r(88);function Rr(e){return(Rr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Fr(e,t,r,n,i,o,a){try{var s=e[o](a),c=s.value}catch(l){return void r(l)}s.done?t(c):Promise.resolve(c).then(n,i)}function Ir(e){return function(){var t=this,r=arguments;return new Promise((function(n,i){var o=e.apply(t,r);function a(e){Fr(o,n,i,a,s,"next",e)}function s(e){Fr(o,n,i,a,s,"throw",e)}a(void 0)}))}}function Mr(){var e=En(["\n :host {\n display: block;\n }\n ha-card {\n display: block;\n margin-bottom: 16px;\n }\n ha-card.warning {\n background-color: var(--error-color);\n color: white;\n }\n ha-card.warning .card-header {\n color: white;\n }\n ha-card.warning .card-content {\n color: white;\n }\n ha-card.warning mwc-button {\n --mdc-theme-primary: white !important;\n }\n .warning {\n color: var(--error-color);\n --mdc-theme-primary: var(--error-color);\n }\n .light-color {\n color: var(--secondary-text-color);\n }\n .addon-header {\n padding-left: 8px;\n font-size: 24px;\n color: var(--ha-card-header-color, --primary-text-color);\n }\n .addon-version {\n float: right;\n font-size: 15px;\n vertical-align: middle;\n }\n .errors {\n color: var(--error-color);\n margin-bottom: 16px;\n }\n .description {\n margin-bottom: 16px;\n }\n img.logo {\n max-height: 60px;\n margin: 16px 0;\n display: block;\n }\n .state {\n display: flex;\n margin: 33px 0;\n }\n .state div {\n width: 180px;\n display: inline-block;\n }\n .state ha-svg-icon {\n width: 16px;\n height: 16px;\n color: var(--secondary-text-color);\n }\n ha-switch {\n display: flex;\n }\n ha-svg-icon.running {\n color: var(--paper-green-400);\n }\n ha-svg-icon.stopped {\n color: var(--google-red-300);\n }\n ha-call-api-button {\n font-weight: 500;\n color: var(--primary-color);\n }\n .right {\n float: right;\n }\n protection-enable mwc-button {\n --mdc-theme-primary: white;\n }\n .description a {\n color: var(--primary-color);\n }\n .red {\n --ha-label-badge-color: var(--label-badge-red, #df4c1e);\n }\n .blue {\n --ha-label-badge-color: var(--label-badge-blue, #039be5);\n }\n .green {\n --ha-label-badge-color: var(--label-badge-green, #0da035);\n }\n .yellow {\n --ha-label-badge-color: var(--label-badge-yellow, #f4b400);\n }\n .security {\n margin-bottom: 16px;\n }\n .card-actions {\n display: flow-root;\n }\n .security h3 {\n margin-bottom: 8px;\n font-weight: normal;\n }\n .security ha-label-badge {\n cursor: pointer;\n margin-right: 4px;\n --ha-label-badge-padding: 8px 0 0 0;\n }\n .changelog {\n display: contents;\n }\n .changelog-link {\n color: var(--primary-color);\n text-decoration: underline;\n cursor: pointer;\n }\n ha-markdown {\n padding: 16px;\n }\n "]);return Mr=function(){return e},e}function Ur(){var e=En(['\n \n
\n \n This add-on is not available on your system.\n

\n ']);return Nr=function(){return e},e}function Hr(){var e=En(["\n ","\n \n Install\n \n "]);return Hr=function(){return e},e}function Br(){var e=En(['\n \n Rebuild\n \n ']);return Br=function(){return e},e}function qr(){var e=En(['\n \n \n Open web UI\n \n \n ']);return Vr=function(){return e},e}function $r(){var e=En(["\n \n Start\n \n ']);return $r=function(){return e},e}function Lr(){var e=En(['\n \n Stop\n \n \n Restart\n \n ']);return Lr=function(){return e},e}function Wr(){var e=En(["\n ","\n ","\n ",'\n ',"
"]);return Gr=function(){return e},e}function Yr(){var e=En(['\n
\n
\n Protection mode\n \n \n
Show in sidebar
\n \n
Auto update
\n \n
Start on boot
\n \n \n \n \n \n \n \n \n \n
\n ']);return fn=function(){return e},e}function pn(){var e=En([" "," "]);return pn=function(){return e},e}function hn(){var e=En(['\n \n
Warning: Protection mode is disabled!
\n
\n Protection mode on this add-on is disabled! This gives the add-on full access to the entire system, which adds security risks, and could damage your system when used incorrectly. Only disable the protection mode if you know, need AND trust the source of this add-on.\n
\n
\n \n
\n \n ','\n
\n
\n \n Update\n \n ',"\n
\n \n "]);return wn=function(){return e},e}function kn(){var e=En(["\n ","\n ",'\n\n \n \n
\n ',"\n
\n
\n\n ","\n "]);return kn=function(){return e},e}function En(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function On(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function jn(e,t){return(jn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Pn(e,t){return!t||"object"!==Rr(t)&&"function"!=typeof t?xn(e):t}function xn(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _n(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function Dn(e){return(Dn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function An(e){var t,r=Rn(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function Sn(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function Cn(e){return e.decorators&&e.decorators.length}function Tn(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function zn(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function Rn(e){var t=function(e,t){if("object"!==Rr(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Rr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Rr(t)?t:String(t)}function Fn(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r **Stable**: These are add-ons ready to be used in production.\n\n **Experimental**: These may contain bugs, and may be unfinished.\n\n **Deprecated**: These add-ons will no longer receive any updates.")},rating:{title:"Add-on Security Rating",description:"Home Assistant provides a security rating to each of the add-ons, which indicates the risks involved when using this add-on. The more access an add-on requires on your system, the lower the score, thus raising the possible security risks.\n\nA score is on a scale from 1 to 6. Where 1 is the lowest score (considered the most insecure and highest risk) and a score of 6 is the highest score (considered the most secure and lowest risk)."},host_network:{title:"Host Network",description:"Add-ons usually run in their own isolated network layer, which prevents them from accessing the network of the host operating system. In some cases, this network isolation can limit add-ons in providing their services and therefore, the isolation can be lifted by the add-on author, giving the add-on full access to the network capabilities of the host machine. This gives the add-on more networking capabilities but lowers the security, hence, the security rating of the add-on will be lowered when this option is used by the add-on."},homeassistant_api:{title:"Home Assistant API Access",description:"This add-on is allowed to access your running Home Assistant instance directly via the Home Assistant API. This mode handles authentication for the add-on as well, which enables an add-on to interact with Home Assistant without the need for additional authentication tokens."},full_access:{title:"Full Hardware Access",description:"This add-on is given full access to the hardware of your system, by request of the add-on author. Access is comparable to the privileged mode in Docker. Since this opens up possible security risks, this feature impacts the add-on security score negatively.\n\nThis level of access is not granted automatically and needs to be confirmed by you. To do this, you need to disable the protection mode on the add-on manually. Only disable the protection mode if you know, need AND trust the source of this add-on."},hassio_api:{title:"Supervisor API Access",description:"The add-on was given access to the Supervisor API, by request of the add-on author. By default, the add-on can access general version information of your system. When the add-on requests 'manager' or 'admin' level access to the API, it will gain access to control multiple parts of your Home Assistant system. This permission is indicated by this badge and will impact the security score of the addon negatively."},docker_api:{title:"Full Docker Access",description:"The add-on author has requested the add-on to have management access to the Docker instance running on your system. This mode gives the add-on full access and control to your entire Home Assistant system, which adds security risks, and could damage your system when misused. Therefore, this feature impacts the add-on security score negatively.\n\nThis level of access is not granted automatically and needs to be confirmed by you. To do this, you need to disable the protection mode on the add-on manually. Only disable the protection mode if you know, need AND trust the source of this add-on."},host_pid:{title:"Host Processes Namespace",description:"Usually, the processes the add-on runs, are isolated from all other system processes. The add-on author has requested the add-on to have access to the system processes running on the host system instance, and allow the add-on to spawn processes on the host system as well. This mode gives the add-on full access and control to your entire Home Assistant system, which adds security risks, and could damage your system when misused. Therefore, this feature impacts the add-on security score negatively.\n\nThis level of access is not granted automatically and needs to be confirmed by you. To do this, you need to disable the protection mode on the add-on manually. Only disable the protection mode if you know, need AND trust the source of this add-on."},apparmor:{title:"AppArmor",description:"AppArmor ('Application Armor') is a Linux kernel security module that restricts add-ons capabilities like network access, raw socket access, and permission to read, write, or execute specific files.\n\nAdd-on authors can provide their security profiles, optimized for the add-on, or request it to be disabled. If AppArmor is disabled, it will raise security risks and therefore, has a negative impact on the security score of the add-on."},auth_api:{title:"Home Assistant Authentication",description:"An add-on can authenticate users against Home Assistant, allowing add-ons to give users the possibility to log into applications running inside add-ons, using their Home Assistant username/password. This badge indicates if the add-on author requests this capability."},ingress:{title:"Ingress",description:"This add-on is using Ingress to embed its interface securely into Home Assistant."}};!function(e,t,r,n){var i=function(){(function(){return e});var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach((function(r){t.forEach((function(t){t.kind===r&&"own"===t.placement&&this.defineClassElement(e,t)}),this)}),this)},initializeClassElements:function(e,t){var r=e.prototype;["method","field"].forEach((function(n){t.forEach((function(t){var i=t.placement;if(t.kind===n&&("static"===i||"prototype"===i)){var o="static"===i?e:r;this.defineClassElement(o,t)}}),this)}),this)},defineClassElement:function(e,t){var r=t.descriptor;if("field"===t.kind){var n=t.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===n?void 0:n.call(e)}}Object.defineProperty(e,t.key,r)},decorateClass:function(e,t){var r=[],n=[],i={static:[],prototype:[],own:[]};if(e.forEach((function(e){this.addElementPlacement(e,i)}),this),e.forEach((function(e){if(!Cn(e))return r.push(e);var t=this.decorateElement(e,i);r.push(t.element),r.push.apply(r,t.extras),n.push.apply(n,t.finishers)}),this),!t)return{elements:r,finishers:n};var o=this.decorateConstructor(r,t);return n.push.apply(n,o.finishers),o.finishers=n,o},addElementPlacement:function(e,t,r){var n=t[e.placement];if(!r&&-1!==n.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");n.push(e.key)},decorateElement:function(e,t){for(var r=[],n=[],i=e.decorators,o=i.length-1;o>=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a"]);return ii=function(){return e},e}function oi(){var e=si(['
',"
"]);return oi=function(){return e},e}function ai(){var e=si(["\n

","

\n \n ",'\n
\n ','\n
\n
\n e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;ae.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a',"\n \n \n "]);return ao=function(){return e},e}function so(){var e=co([""]);return so=function(){return e},e}function co(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function lo(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function uo(e,t){return(uo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function fo(e,t){return!t||"object"!==ro(t)&&"function"!=typeof t?po(e):t}function po(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ho(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function mo(e){return(mo=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function vo(e){var t,r=ko(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function yo(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function bo(e){return e.decorators&&e.decorators.length}function go(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function wo(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function ko(e){var t=function(e,t){if("object"!==ro(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==ro(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ro(t)?t:String(t)}function Eo(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;aU_ODm0d>;AGt za}YZz(hSC&rm^!jd*1m$*uj@C^RdiEtKXz?vVAQ_YiB4@)Kmv!n%_`}!y zN7mXX{d6(8Nti4}+dlt}{bXRz-e)j)=n-(3R=SV@)|QUmQ+bdW5^nEPirLy{wmnq9Hxk4QWnKa+I-ChZd;$5TkC zR#+UpI5o9EVDiq|F4na&$X}9c978Y-J^$xFcTuAo6CQVZeXUT2>rNBf8qQDf%cv?4 z!k9YlJ<~-%4%n~vE(=FWUkN`T>89>U4$|$<6RGf*;**f-^TZ{(m<
QdL?Y~lx9 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","\n "]);return b=function(){return e},e}function g(){var e=E(["\n ","\n "]);return g=function(){return e},e}function w(){var e=E(['
',"
"]);return w=function(){return e},e}function k(){var e=E(['\n \n
\n ','\n\n \n \n \n \n \n \n
\n
\n e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;ae.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n ".concat(t.codeMirrorCss,"\n .CodeMirror {\n height: var(--code-mirror-height, auto);\n direction: var(--code-mirror-direction, ltr);\n }\n .CodeMirror-scroll {\n max-height: var(--code-mirror-max-height, --code-mirror-height);\n }\n .CodeMirror-gutters {\n border-right: 1px solid var(--paper-input-container-color, var(--secondary-text-color));\n background-color: var(--paper-dialog-background-color, var(--primary-background-color));\n transition: 0.2s ease border-right;\n }\n :host(.error-state) .CodeMirror-gutters {\n border-color: var(--error-state-color, red);\n }\n .CodeMirror-focused .CodeMirror-gutters {\n border-right: 2px solid var(--paper-input-container-focus-color, var(--primary-color));\n }\n .CodeMirror-linenumber {\n color: var(--paper-dialog-color, var(--primary-text-color));\n }\n .rtl .CodeMirror-vscrollbar {\n right: auto;\n left: 0px;\n }\n .rtl-gutter {\n width: 20px;\n }\n "),this.codemirror=r(n,{value:this._value,lineNumbers:!0,tabSize:2,mode:this.mode,autofocus:!1!==this.autofocus,viewportMargin:1/0,readOnly:this.readOnly,extraKeys:{Tab:"indentMore","Shift-Tab":"indentLess"},gutters:this._calcGutters()}),this._setScrollBarDirection(),this.codemirror.on("changes",(function(){return i._onChange()}));case 9:case"end":return e.stop()}}),e,this)})),n=function(){var e=this,t=arguments;return new Promise((function(n,i){var o=r.apply(e,t);function a(e){W(o,n,i,a,s,"next",e)}function s(e){W(o,n,i,a,s,"throw",e)}a(void 0)}))},function(){return n.apply(this,arguments)})},{kind:"method",key:"_onChange",value:function(){var e=this.value;e!==this._value&&(this._value=e,Object(H.a)(this,"value-changed",{value:this._value}))}},{kind:"method",key:"_calcGutters",value:function(){return this.rtl?["rtl-gutter","CodeMirror-linenumbers"]:[]}},{kind:"method",key:"_setScrollBarDirection",value:function(){this.codemirror&&this.codemirror.getWrapperElement().classList.toggle("rtl",this.rtl)}}]}}),i.b);function se(){var e=de(["

","

"]);return se=function(){return e},e}function ce(){var e=de(["\n ","\n e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;aInvalid YAML
']);return Ae=function(){return e},e}function Se(){var e=Te(['
',"
"]);return Se=function(){return e},e}function Ce(){var e=Te(["\n

",'

\n \n
\n \n
\n e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n ","\n \n ',"
"]);return Xe=function(){return e},e}function Ze(){var e=tt(['\n \n
\n ',"\n\n \n \n \n \n \n \n \n ",'\n \n
ContainerHostDescription
\n
\n
\n e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;at.container?1:-1}))}},{kind:"method",key:"_configChanged",value:(o=Je(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=t.target,this._config.forEach((function(e){e.container===r.container&&e.host!==parseInt(String(r.value),10)&&(e.host=r.value?parseInt(String(r.value),10):null)}));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{kind:"method",key:"_resetTapped",value:(n=Je(regeneratorRuntime.mark((function e(){var t,r,n,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r={network:null},e.prev=1,e.next=4,Object(a.i)(this.hass,this.addon.slug,r);case 4:n={success:!0,response:void 0,path:"option"},Object(H.a)(this,"hass-api-called",n),e.next=11;break;case 8:e.prev=8,e.t0=e.catch(1),this._error="Failed to set addon network configuration, ".concat((null===(i=e.t0.body)||void 0===i?void 0:i.message)||e.t0);case 11:if(this._error||"started"!==(null===(t=this.addon)||void 0===t?void 0:t.state)){e.next=14;break}return e.next=14,f(this,this.hass,this.addon);case 14:case"end":return e.stop()}}),e,this,[[1,8]])}))),function(){return n.apply(this,arguments)})},{kind:"method",key:"_saveTapped",value:(r=Je(regeneratorRuntime.mark((function e(){var t,r,n,i,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._error=void 0,r={},this._config.forEach((function(e){r[e.container]=parseInt(String(e.host),10)})),n={network:r},e.prev=4,e.next=7,Object(a.i)(this.hass,this.addon.slug,n);case 7:i={success:!0,response:void 0,path:"option"},Object(H.a)(this,"hass-api-called",i),e.next=14;break;case 11:e.prev=11,e.t0=e.catch(4),this._error="Failed to set addon network configuration, ".concat((null===(o=e.t0.body)||void 0===o?void 0:o.message)||e.t0);case 14:if(this._error||"started"!==(null===(t=this.addon)||void 0===t?void 0:t.state)){e.next=17;break}return e.next=17,f(this,this.hass,this.addon);case 17:case"end":return e.stop()}}),e,this,[[4,11]])}))),function(){return r.apply(this,arguments)})}]}}),i.a);var vt=r(73);function yt(e){return(yt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function bt(){var e=Ot(["\n .content {\n margin: auto;\n padding: 8px;\n max-width: 1024px;\n }\n hassio-addon-network,\n hassio-addon-audio,\n hassio-addon-config {\n margin-bottom: 24px;\n }\n "]);return bt=function(){return e},e}function gt(){var e=Ot(["\n \n "]);return gt=function(){return e},e}function wt(){var e=Ot(["\n \n "]);return wt=function(){return e},e}function kt(){var e=Ot(['\n
\n e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a"]);return Nt=function(){return e},e}function Ht(){var e=qt([""]);return Ht=function(){return e},e}function Bt(){var e=qt(['
',"
"]);return Bt=function(){return e},e}function Vt(){var e=qt(['\n
\n \n ','\n
\n ',"\n
\n
\n
\n "]);return Vt=function(){return e},e}function $t(){var e=qt([""]);return $t=function(){return e},e}function qt(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function Lt(e,t,r,n,i,o,a){try{var s=e[o](a),c=s.value}catch(l){return void r(l)}s.done?t(c):Promise.resolve(c).then(n,i)}function Wt(e){return function(){var t=this,r=arguments;return new Promise((function(n,i){var o=e.apply(t,r);function a(e){Lt(o,n,i,a,s,"next",e)}function s(e){Lt(o,n,i,a,s,"throw",e)}a(void 0)}))}}function Gt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Yt(e,t){return(Yt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Jt(e,t){return!t||"object"!==Mt(t)&&"function"!=typeof t?Kt(e):t}function Kt(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Qt(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function Xt(e){var t,r=nr(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function Zt(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function er(e){return e.decorators&&e.decorators.length}function tr(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function rr(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function nr(e){var t=function(e,t){if("object"!==Mt(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Mt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Mt(t)?t:String(t)}function ir(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a bit more top margin */\n font-weight: 500;\n overflow: hidden;\n text-transform: uppercase;\n text-overflow: ellipsis;\n transition: background-color 0.3s ease-in-out;\n text-transform: var(--ha-label-badge-label-text-transform, uppercase);\n }\n .label-badge .label.big span {\n font-size: 90%;\n padding: 10% 12% 7% 12%; /* push smaller text a bit down to center vertically */\n }\n .badge-container .title {\n margin-top: 1em;\n font-size: var(--ha-label-badge-title-font-size, 0.9em);\n width: var(--ha-label-badge-title-width, 5em);\n font-weight: var(--ha-label-badge-title-font-weight, 400);\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: normal;\n }\n "]);return ur=function(){return e},e}function fr(){var e=yr(['
',"
"]);return fr=function(){return e},e}function pr(){var e=yr(['\n \n ',"\n
\n "]);return pr=function(){return e},e}function hr(){var e=yr([" "," "]);return hr=function(){return e},e}function mr(){var e=yr([" "]);return mr=function(){return e},e}function vr(){var e=yr(['\n
\n
\n \n \n ',"\n ","\n \n
\n ","\n
\n ","\n
\n "]);return vr=function(){return e},e}function yr(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function br(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function gr(e,t){return(gr=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function wr(e,t){return!t||"object"!==dr(t)&&"function"!=typeof t?kr(e):t}function kr(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Er(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function Or(e){var t,r=Dr(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function jr(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function Pr(e){return e.decorators&&e.decorators.length}function xr(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function _r(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function Dr(e){var t=function(e,t){if("object"!==dr(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==dr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===dr(t)?t:String(t)}function Ar(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a4)}),!this.icon||this.value||this.image?"":Object(i.f)(mr(),this.icon),this.value&&!this.image?Object(i.f)(hr(),this.value):"",this.label?Object(i.f)(pr(),Object(sr.a)({label:!0,big:this.label.length>5}),this.label):"",this.description?Object(i.f)(fr(),this.description):"")}},{kind:"get",static:!0,key:"styles",value:function(){return[Object(i.c)(ur())]}},{kind:"method",key:"updated",value:function(e){Sr(Cr(r.prototype),"updated",this).call(this,e),e.has("image")&&(this.shadowRoot.getElementById("badge").style.backgroundImage=this.image?"url(".concat(this.image,")"):"")}}]}}),i.a);customElements.define("ha-label-badge",Tr);r(33),r(103),r(85);var zr=r(88);function Rr(e){return(Rr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Fr(e,t,r,n,i,o,a){try{var s=e[o](a),c=s.value}catch(l){return void r(l)}s.done?t(c):Promise.resolve(c).then(n,i)}function Ir(e){return function(){var t=this,r=arguments;return new Promise((function(n,i){var o=e.apply(t,r);function a(e){Fr(o,n,i,a,s,"next",e)}function s(e){Fr(o,n,i,a,s,"throw",e)}a(void 0)}))}}function Mr(){var e=En(["\n :host {\n display: block;\n }\n ha-card {\n display: block;\n margin-bottom: 16px;\n }\n ha-card.warning {\n background-color: var(--error-color);\n color: white;\n }\n ha-card.warning .card-header {\n color: white;\n }\n ha-card.warning .card-content {\n color: white;\n }\n ha-card.warning mwc-button {\n --mdc-theme-primary: white !important;\n }\n .warning {\n color: var(--error-color);\n --mdc-theme-primary: var(--error-color);\n }\n .light-color {\n color: var(--secondary-text-color);\n }\n .addon-header {\n padding-left: 8px;\n font-size: 24px;\n color: var(--ha-card-header-color, --primary-text-color);\n }\n .addon-version {\n float: right;\n font-size: 15px;\n vertical-align: middle;\n }\n .errors {\n color: var(--error-color);\n margin-bottom: 16px;\n }\n .description {\n margin-bottom: 16px;\n }\n img.logo {\n max-height: 60px;\n margin: 16px 0;\n display: block;\n }\n .state {\n display: flex;\n margin: 33px 0;\n }\n .state div {\n width: 180px;\n display: inline-block;\n }\n .state ha-svg-icon {\n width: 16px;\n height: 16px;\n color: var(--secondary-text-color);\n }\n ha-switch {\n display: flex;\n }\n ha-svg-icon.running {\n color: var(--paper-green-400);\n }\n ha-svg-icon.stopped {\n color: var(--google-red-300);\n }\n ha-call-api-button {\n font-weight: 500;\n color: var(--primary-color);\n }\n .right {\n float: right;\n }\n protection-enable mwc-button {\n --mdc-theme-primary: white;\n }\n .description a {\n color: var(--primary-color);\n }\n .red {\n --ha-label-badge-color: var(--label-badge-red, #df4c1e);\n }\n .blue {\n --ha-label-badge-color: var(--label-badge-blue, #039be5);\n }\n .green {\n --ha-label-badge-color: var(--label-badge-green, #0da035);\n }\n .yellow {\n --ha-label-badge-color: var(--label-badge-yellow, #f4b400);\n }\n .security {\n margin-bottom: 16px;\n }\n .card-actions {\n display: flow-root;\n }\n .security h3 {\n margin-bottom: 8px;\n font-weight: normal;\n }\n .security ha-label-badge {\n cursor: pointer;\n margin-right: 4px;\n --ha-label-badge-padding: 8px 0 0 0;\n }\n .changelog {\n display: contents;\n }\n .changelog-link {\n color: var(--primary-color);\n text-decoration: underline;\n cursor: pointer;\n }\n ha-markdown {\n padding: 16px;\n }\n "]);return Mr=function(){return e},e}function Ur(){var e=En(['\n \n
\n \n This add-on is not available on your system.\n

\n ']);return Nr=function(){return e},e}function Hr(){var e=En(["\n ","\n \n Install\n \n "]);return Hr=function(){return e},e}function Br(){var e=En(['\n \n Rebuild\n \n ']);return Br=function(){return e},e}function Vr(){var e=En(['\n \n \n Open web UI\n \n
\n ']);return $r=function(){return e},e}function qr(){var e=En(["\n \n Start\n \n ']);return qr=function(){return e},e}function Lr(){var e=En(['\n \n Stop\n \n \n Restart\n \n ']);return Lr=function(){return e},e}function Wr(){var e=En(["\n ","\n ","\n ",'\n ',"
"]);return Gr=function(){return e},e}function Yr(){var e=En(['\n
\n
\n Protection mode\n \n \n
Show in sidebar
\n \n
Auto update
\n \n
Start on boot
\n \n \n \n \n \n \n \n \n \n
\n ']);return fn=function(){return e},e}function pn(){var e=En([" "," "]);return pn=function(){return e},e}function hn(){var e=En(['\n \n
Warning: Protection mode is disabled!
\n
\n Protection mode on this add-on is disabled! This gives the add-on full access to the entire system, which adds security risks, and could damage your system when used incorrectly. Only disable the protection mode if you know, need AND trust the source of this add-on.\n
\n
\n \n
\n \n ','\n
\n
\n \n Update\n \n ',"\n
\n \n "]);return wn=function(){return e},e}function kn(){var e=En(["\n ","\n ",'\n\n \n \n
\n ',"\n
\n
\n\n ","\n "]);return kn=function(){return e},e}function En(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function On(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function jn(e,t){return(jn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Pn(e,t){return!t||"object"!==Rr(t)&&"function"!=typeof t?xn(e):t}function xn(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _n(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function Dn(e){return(Dn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function An(e){var t,r=Rn(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function Sn(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function Cn(e){return e.decorators&&e.decorators.length}function Tn(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function zn(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function Rn(e){var t=function(e,t){if("object"!==Rr(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Rr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Rr(t)?t:String(t)}function Fn(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r **Stable**: These are add-ons ready to be used in production.\n\n **Experimental**: These may contain bugs, and may be unfinished.\n\n **Deprecated**: These add-ons will no longer receive any updates.")},rating:{title:"Add-on Security Rating",description:"Home Assistant provides a security rating to each of the add-ons, which indicates the risks involved when using this add-on. The more access an add-on requires on your system, the lower the score, thus raising the possible security risks.\n\nA score is on a scale from 1 to 6. Where 1 is the lowest score (considered the most insecure and highest risk) and a score of 6 is the highest score (considered the most secure and lowest risk)."},host_network:{title:"Host Network",description:"Add-ons usually run in their own isolated network layer, which prevents them from accessing the network of the host operating system. In some cases, this network isolation can limit add-ons in providing their services and therefore, the isolation can be lifted by the add-on author, giving the add-on full access to the network capabilities of the host machine. This gives the add-on more networking capabilities but lowers the security, hence, the security rating of the add-on will be lowered when this option is used by the add-on."},homeassistant_api:{title:"Home Assistant API Access",description:"This add-on is allowed to access your running Home Assistant instance directly via the Home Assistant API. This mode handles authentication for the add-on as well, which enables an add-on to interact with Home Assistant without the need for additional authentication tokens."},full_access:{title:"Full Hardware Access",description:"This add-on is given full access to the hardware of your system, by request of the add-on author. Access is comparable to the privileged mode in Docker. Since this opens up possible security risks, this feature impacts the add-on security score negatively.\n\nThis level of access is not granted automatically and needs to be confirmed by you. To do this, you need to disable the protection mode on the add-on manually. Only disable the protection mode if you know, need AND trust the source of this add-on."},hassio_api:{title:"Supervisor API Access",description:"The add-on was given access to the Supervisor API, by request of the add-on author. By default, the add-on can access general version information of your system. When the add-on requests 'manager' or 'admin' level access to the API, it will gain access to control multiple parts of your Home Assistant system. This permission is indicated by this badge and will impact the security score of the addon negatively."},docker_api:{title:"Full Docker Access",description:"The add-on author has requested the add-on to have management access to the Docker instance running on your system. This mode gives the add-on full access and control to your entire Home Assistant system, which adds security risks, and could damage your system when misused. Therefore, this feature impacts the add-on security score negatively.\n\nThis level of access is not granted automatically and needs to be confirmed by you. To do this, you need to disable the protection mode on the add-on manually. Only disable the protection mode if you know, need AND trust the source of this add-on."},host_pid:{title:"Host Processes Namespace",description:"Usually, the processes the add-on runs, are isolated from all other system processes. The add-on author has requested the add-on to have access to the system processes running on the host system instance, and allow the add-on to spawn processes on the host system as well. This mode gives the add-on full access and control to your entire Home Assistant system, which adds security risks, and could damage your system when misused. Therefore, this feature impacts the add-on security score negatively.\n\nThis level of access is not granted automatically and needs to be confirmed by you. To do this, you need to disable the protection mode on the add-on manually. Only disable the protection mode if you know, need AND trust the source of this add-on."},apparmor:{title:"AppArmor",description:"AppArmor ('Application Armor') is a Linux kernel security module that restricts add-ons capabilities like network access, raw socket access, and permission to read, write, or execute specific files.\n\nAdd-on authors can provide their security profiles, optimized for the add-on, or request it to be disabled. If AppArmor is disabled, it will raise security risks and therefore, has a negative impact on the security score of the add-on."},auth_api:{title:"Home Assistant Authentication",description:"An add-on can authenticate users against Home Assistant, allowing add-ons to give users the possibility to log into applications running inside add-ons, using their Home Assistant username/password. This badge indicates if the add-on author requests this capability."},ingress:{title:"Ingress",description:"This add-on is using Ingress to embed its interface securely into Home Assistant."}};!function(e,t,r,n){var i=function(){(function(){return e});var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach((function(r){t.forEach((function(t){t.kind===r&&"own"===t.placement&&this.defineClassElement(e,t)}),this)}),this)},initializeClassElements:function(e,t){var r=e.prototype;["method","field"].forEach((function(n){t.forEach((function(t){var i=t.placement;if(t.kind===n&&("static"===i||"prototype"===i)){var o="static"===i?e:r;this.defineClassElement(o,t)}}),this)}),this)},defineClassElement:function(e,t){var r=t.descriptor;if("field"===t.kind){var n=t.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===n?void 0:n.call(e)}}Object.defineProperty(e,t.key,r)},decorateClass:function(e,t){var r=[],n=[],i={static:[],prototype:[],own:[]};if(e.forEach((function(e){this.addElementPlacement(e,i)}),this),e.forEach((function(e){if(!Cn(e))return r.push(e);var t=this.decorateElement(e,i);r.push(t.element),r.push.apply(r,t.extras),n.push.apply(n,t.finishers)}),this),!t)return{elements:r,finishers:n};var o=this.decorateConstructor(r,t);return n.push.apply(n,o.finishers),o.finishers=n,o},addElementPlacement:function(e,t,r){var n=t[e.placement];if(!r&&-1!==n.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");n.push(e.key)},decorateElement:function(e,t){for(var r=[],n=[],i=e.decorators,o=i.length-1;o>=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a"]);return ii=function(){return e},e}function oi(){var e=si(['
',"
"]);return oi=function(){return e},e}function ai(){var e=si(["\n

","

\n \n ",'\n
\n ','\n
\n
\n e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;ae.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a',"\n \n \n "]);return ao=function(){return e},e}function so(){var e=co([""]);return so=function(){return e},e}function co(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function lo(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function uo(e,t){return(uo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function fo(e,t){return!t||"object"!==ro(t)&&"function"!=typeof t?po(e):t}function po(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ho(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function mo(e){return(mo=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function vo(e){var t,r=ko(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function yo(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function bo(e){return e.decorators&&e.decorators.length}function go(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function wo(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function ko(e){var t=function(e,t){if("object"!==ro(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==ro(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ro(t)?t:String(t)}function Eo(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var 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%0AgKU# z@-WiQWtPrygd|2enVleR~Uvk2bHEpWZA90Ud+ZT1qD;pYO*fzhxZh+&KKOVHH|g!cQ!sqr_| z@V$;W;l!2tg1d|EOVBD~hW~4+{3k>)L2K&;*DhiK&OMs;Wf*h83pPwyKvMsl&ig*p=DiSFowTS=i3MqX@cp@&^P%0N|ViH{Ck`lc=wU5huNV}&j$-N|7Iq99;e zMlOK9ga!D4sxr64y)yCvsT21a9dTPx2ky*`g&nvt?5%}^crZ8C_QHM~nENU8ZA8o2 z%(FDsWN**Fi2C~rEZuBxpP}Y(3Rx)&NmqcTG86ph3FpG5x4_=6lllCu~MRDZAs1_+** zzl>_Eg@WwoF(@<;!yP%&pabKcN8aR5^9hs1yF4R+7;bWbM8YGYl%#4@#*u`j2Eo)Q*;S`Tefjg0;swxul$8LP^5S}4Cb+KIFoK(OzL^Ob6oHrz^T6hQNR1%fpbT^kT>Ln;3CuuB3_*<%DtcppS%=)hu8qbqa#&2J z3Z!ZMd~u#tCK}3H(JzmuB#7Xnd6Q9nWGf%(JhTQuLdhZoZ*F)Yg|}MvB9vr?LM|f8 ztDb21OrmCY!r>r)-VhSU=mrdgBeB*&lkA@GIlAm5tXa-qcwkQ0;48s-|3)~?bkRXx zkoTs@ZKR@am9P2lK__5^9+dzQF)>4ps$b3)Cii@^Eg?8&)yo!(egNG)fVRru+r%g> zU-<8HM}4Gk*fk-+H0VbfFmzRNFprG0wUyNXqFGU5Foa$T=;1rQoGA zySp$>t0$La7~b4$IM{HEG-cRAZ-V8FR6Svpf~FlRGTFXnDZ_RfhgH3v0l?k5#EX@t zC9bOjz3lfD@wNS7=_hL#9lc+N0G@LdU_ah741km83(~uwdINupzr9`mZkGDTspi>cW12HqE1ZrG3oPXJA;)xPG`2HUhj)xA z$^HTN_@9}@=I1+Na|R0f@%}=uKYw&Gymza_&80gD<@%5zCPTTt#B5gbv3Z|{QeGrB z*OhR{Y-BPL)W!M>GIP3kNYB3uMr<^bz#k|vs)E1^jEdr5mgs>A^|=J(f5rknh+Hb& zDU~v+e`M;ucva!sp3lV0kA&3t;5mpiB#hhzT<#GEn@2@&A|g%so+?=G{wr>J?U2ZN zYDZ*vLJl3Gd_L7OfHQ-PKE&B))0<#{${-oEQ^|?$_IJ%>@%z#eh`1G08`7~83XaWR zC8kSQLL^-h0R3?ASP@rJsqqB@^6u8mUK27B?C50Xc+Y4{s>&${Oiy$+Jwx{7r7s4w z8N~PPc6Zz=MtB6wax8*G1)5iUP!aS&P>D%eJ&LZ`;fAIoxb{XFPHnb^mvW-! zdr%s5&F=tOvi5sW%H?L}alS?W@Xt52KBmVnlCVD3=i+>NSg)5l{(pkyxuk#|*4Og< zYDP7zcefhizwn=F;Qt$U&Hopufqr&%@cjR%1<)tgWN@z+*|x&)zB|1BTWYS;gGMa{l>Rf4h7q52=d^4Vjd;O>iB2*`u*OiVX*+K zocN$%@b>(9`bpSgLOSBGPs`?E6+FwMyPV1jjB~W5Wl$iUp7-Pw0e7TM+MyiWb06%i z8UTn6TGe+v6oS>6Pcr^E1u1_>Hei{ji@nFMLk(+F^ z5E4Zyec&N^aKNFQ_#YSw$i6&9>m5Ucews3g5fxX2Wi$>E-LlWOf_rvOF)9t-r_7g9 z*b}%d|3IC-Fzgs*LFMqo4GDFV8QUjKe$c3?p>i0Jt*=xL-`HA&lAU^mU{u$ z(rEe1-^CCYXfGp)FFa0#^J&kQUgX6E`z1P@dQyjZcaNyEst+;hsWyiBGUi)TN(#g| zI(GA`P(i%ow|Vlw`TS6bxd2OpOiM;ZgbKswvc$HcyTE}2oVff=%xy++G_%(*p0OG3 zLZ!-b=k@Usr}; zG-VGT`+(9JT-sjDN0;S03qu&7sDcOhBi8dHFDA@>U$G+!ycQkC4e>VsUV<^BrHr`YX74;O|)bReSiuOsX2`pN&agkHVq3Hg|gw)LYD7Olwbt>Jwp1 zT0}yC!B9dU3bY>zY8?S|tT!T_gWK5iyLXIrXMAGtWVI8;$EOf`J4;^TCE-<~2FU`r zab&;ENKvK}0we?hE)#5X5cS4X<_yq0Qc-o$y5vqSj?48M#FD@~6+WS1b9vU-Uss+s z=YB5_dhU=nj^V$McseQ}n33$GM5>jIhXU~|97Fr;Uz>Pt$3zv}`16Exmw_CD_poTb zNTi-BHoExf@WFpIX<#1tpo6>f=wTjRuwWkDpkN+_!UXlI5x_RI^)Zf>!-m^yC1YGk z8TIJXhdunnkd6-iO2o`jlQY()lQ8bm{S)+Nl#FS!LOObTl!(#gjGVt6ks*3EJ&_FQ zjbLZ&MR5q@icC0_WRWlQOghUVU*L)S&q10=*75yw{HA&;>1X{%wel+)jK z@`)=#>9|EaX-o&;y6>hf zW1NychP$8R0UpnnV~$nyz0Q_b!~iGfKASr|hKktucpt%atp6cok6^yA%8J9=DND40 zOpIjwiC@C_?SuO6Tl~%~0}z83_h30I07yfoLK9OF@RceBMs4s=A;}sfEWKD=yw^Bh!eWO-p#b>so)WhskJloV5 zJwwll>83)dMt}>0!6mE|qB?1WUk@{oPyv-X4pJSv$n<2+2t;y-N&fx@K^_rRu}D;_ zQaJRi{k5LM_&YU-+}EGQ)xrjVn; zQ^AxTCaUE>gxCjR94F?$5yL{xox&>8yjM-4?3e{S$uPr))yXDesa2fi_N>N(Js*8T z7E|1SyORH6F>~}jnmhfoSji)5M-HMPMB7Z2GRqvs}RQn$9#M0Vt8ZHtPf6HFG^OWQ;E?bGj-)7Q(*b&SYe zAy0Rj6K5xFOQadPD6bIhq9JqdA=n=v*sl;{O^mCWa&4>gcx|94iBO)h`zky(vE=J0 z^2i=7Y30IF?BcPrAAcaiYc%pw+nglp*rY!#hc@Gcy6v=Maa-DuQrk`$edmT9+RfF| zF1}isO7BhI91lTwmlanOQtO!rBempkRmF0D%dZ~4Ouze&0Ca@(RF_`@?ZEtG6~Py~7!#K+ zKLTek9lEYSC0OxBMh0rJEJ~I(B`EsebFBU1U zkDDm3O$12YnDVQP$q{w6-I$7rxHn3&a&?s58ims*<-DG4u8W1wM&;tpD>o+SXvgIE zwCT7%u8kU#=a#RJ6X;@duazTnua}@F{{yVnC+Kp4{~NM$a}xQNnqV~~7gzcB4BgHDT;0@dv4Hcs zSe%plVga>2IUo1a5piPzj&?#W%;n;`7=A!md0%o$8{22GtZ6?P80wv*(AdXG06kK^ z(}jyq@?7d+B0z40oHtf}l1YTD24)Cj<=NAuzsQ1iv)nmBxc;SrGryFa$j$SHWS#DS zNJxgTkZBeMFlH;$VRG0*goq?qppihH6#s)YJ|0C>l3jV!(5x`UU1ySmYi$tO$E*fF zMDlL{rvFjru-b((cWI@U7SzP_X}D2h2s8krK5B3VCyrTdqQK1}hMA{!W_bk*b|QBS z_TMl2XYagIlxt|}LFy8B9^%{>=7j6u;y(2yQ(L6y8nY1TU|%? z*Ho!94lbk&A|%7~K2||Ri6mClisp>0jy-5NJ^VFnW9*smKz%A;`bZunHaHRrG3aRo z-uikVy$p$KpU`+oCpy@W)NQQ9OKmGO@V7IQH>_AhZSK?quXYuhVv(EDjA|Ipk{)$> zaJ$HktD}YcJ)>zbcLN7V_j<-vEZy$b12H$6KK)Rqx1d%4JWer7NZFVlgf`~aX(?g*@EcuiitCPk!j z9tyQ=gN`iDd$L^ep0j->2^O2}&o_$k6|4g`epqZ134lDhNR2nOAY&YOqB(CN(CNh^ zK61o~Fa|796tjJj5asSn11S~y0GLyWm&rkhn%Aw7N}o9-fp zNA#Ki!W)EXyJ~pwUG2?T@&*zsAH~|M$>;QD-7vnhMdS45);qrQz;b*WQkmH0i`lWI zPw4dK;hWe6e#klyOzMOvzy9qY(AQP_T@g!au!6x`>fk=RF=HsIwl6a}0lYBK` zB-ChU2hEk2X9FjcKrD168rzr?P2iD|t{ViBcr_>_-E;(!zO`s2Tl2(|bjf_Gai~at zh|U(708paQr(nff$P6=NhKN;%Pzr)ZdBo_Kn%QeC(JZ_gG4d;9Ip)~lQN z+t@&~caV?tUTbY=uFD)jcI+X7c(l=yQNb2AVSpThi1Aq_gRt45h4uMS#eaIz%%a9* zH}wKCkhrfAVtmv5g24jU#6SuOOQ4LJ53Y=I=S*`C4U#?06f<-00z>9Ae zRY`L`h0=2!tkTiQbAqHwkmY!_Z3OPx{iI0t`^MEbqxN~ zXv&`d=kjF=|9{2xoSDE1`7iR1Lik?}z3n+Osnb8kSumGzKW{FhhVTjVZ`H{7{NcSZ ze^y5g;p-MO8v!Xi{Ye0%l__Uzn`G&eO$ma92odN<9wI>8IF4|h4oWybr-lvmZRN!j zD?q+9o({+ub~agR_*p~We7seS{`_-UPDW(L;EWcpp=FJ{doW$7jZYjU;}QCBim8{T z|2ONtBdo{2R5>Y#r+BiMp#DDdl7^36J15rAoN;L7y5K4r()w4V?D#?=osv~RX%oP( zO>5VBxvUu3Lf&)CGfPH52M!Ms`&-h4_41H=(mgBRy3B?vK<_i`@wm9!hnX{VPlm3K zQ|H0#(dz>J_Aciebw7Z2dppG3x){}Wt3nI+^}vk9FWz^3yLLCSJVI8lt#<}7lJ-F7 zG~xgcuA?$yIHH(whn(cA^PbJgYh7;dw9bH3XD?dHR)8!73k6>p+tZHzkcex&EW;!U zUem@6+*1-23+8DevfR1U_AT+IfbI3VU0uNn^X2_l6|{!1Iq^M`;MkEtHrN2Z;k=fc zQ~@FJrCfdy59eIrnZxDRU~0YG_DIk*&GXW@ZLO>c>crZqwRESytXpLvAyxQl)Z~iI z-^LL6xV@;}(q`>z!J3vEWl;|FTGZJ2{3F?FK+)4~6PaQ$n z%hvg<)O7gQ2{P05staZ70Kv6T@C$J3nVD<-L?|AFc&{P#@|a7Frlk@Agn1hhuH>Z@ ztPOLekW-QTWRDWb}H!UsnrSJ+=T(;=fAv?$?|&h$@d z*UoSJS+7}!ut>f9+tJbyvl;0*?sexrZOQ?45ru^yoRuaN{wF|2yanh+ON6+>TxzPC!qum3) zdxk4aP=XgZ7*=P>9*|=@xCU6T3Rsa`-k$kM`dPt3r+Kq37As*!?!f+WLIb465V6Mo zjhC<3+7Y)9J3%62e3-DzI;jdJxT+2HBNHVXhAMt(wODH<>#bc&^G4$gkWAb1E@@K2 ziv=wE52M>Ves9XPUOFNi29@x;0L<`OG;tV9z>}>P?P0Eo+O5mvh(c`V@=%AQqyd1QXj6F7jX?tt8Ry6H#Pj(4*-4Xz5QiWVvlmDC4f2AxsGFRO8pDT( z&&3zM@|t2RQO|E9Phd^FV4)p36(!?eP#^R-(-8QmQ2eMtRF9hD3?e*gHDsF}qjtFF z;LWHOmD=Mx;p`oejYp7D7pI=Vc|(|V6T^5ct)TWp#XWSdhl7vRy6k$sz;WS$e>xAzyA7!}z%T zG@h9T3+-8HD*y9Th6=IJdOqvVgR5Yo`R41(!$j3VqWS)S{~zF@|1Y77uJNDf>8?M2 z0HN{90gvvDHC$+`3J?|Kem)`^EbNnz)Od!CG*qO>WM-bkw>)vmw;l?39jAdgFA4$l z6&n4g4`s?1H{k-_B%?MJfFD-@OGz;oK;}uR+qn)Yp$HNk$dw0zH{s5UFwu6J+d_8_ z@bbWu^brY50R1La(UBm^m^zjl;w`y(&4Lf^9~wVvO%36R;Sbi_*)k$;wf@VI{pA0P zs~$Ml{q#ni3e(SFFuA05kC>u^oE2&NIgCObS0UA_l36)4(eNNOu|7JJfJ_in|L!y>HngZM&~1~k}7=+ zqT$Y*R94E70i{ZnD{W+l3-CKMKc6<^hp_y3Ry7~@CMAM}lmVS6T@JDqk9ewP1+x=TC8LOUXmOh((b#WLN#eAxqr;wg)xfDZ_E=Wo zfi?c8baWJCNg{x8f7a~$kdUl^n%-y)8o_qdCa=;v*7p2Qln-8e+>v3ZQ!m8{#ytWU)vk?o;m@eIwn0p-B4aQo zBxD`NwHbnh@RVq|8%OTz#}qSsa2W=W{=$Mj-LtO(|C~lCF_X82^fuw&gMQ5+z%n*? zgBb6D#Z?QKNdzAta4Va<2IZd_W*dy{=8z@n3U6ARM{U(+ji^*4_p6L_I?d5Hkw?_5 zzaXEIdtiTEi~nNEA(84}239x0%jv;oVyP_MD=JUD`^&jkEh!A<+1iK9QRTJ7qAau9 zw>`8<0kZcsS?$MWLV>Tar&7r=baDEq;W}PPNV-?mye9n?-Et-1js%{oVz7~W3ztCt zBsyDPnISw*9B|IN?)EZQMu~i)Sc(Z zau8dEPHA?jKjAkkfnp6Fr>7}0EIsFJJWM?A2dyb2M3InFFr#J%GyP4pSW1tD)F^0Y zZ^~j8;dmw^!krR{#XLuIG>X&vC5&9UfFiSeTg@_w*%**r;m#t+cTx|o$ba*_lBXvbIJrgM6~&a z;NT~3VQfI!hfe{Ry+)22L5xWLax8?+qgoOCmxKPeddzKoE(5REsrF?AW_N$J`Y)RX zwT!oPbtZKBRC6Qup%n{5%{xddV%)w^%J72A$5IKv^4?sM$%dbe|FrE^lfA(`o$Cr5 z|Eyt4QGqxa6Qt+kZpb+H8X~(O+K5R#$3&ApeZr&PikAsLpNZbd%91(e z)fFksM^kMAx8Np_V(_t05!LXf%(EZak^x=#z*06(bSrck>)W8&^yb+(itShs{+r0u zkl=bLOen@`=wH*aY6_h(%J}hat=@}wq zbz`1!hu^SMs9q4`mjh|j9CSgns>ywZ-gfnb|M2_HMsNB~l7ETnqZLP$4QR$2AQG+m zYOgrcUiZ(=z~@`HcSOi9OMXLb&4~jRG9-xYVS}>vnZbo6mh%CUL*g(lJ~!`Jxt_bC zEgp!;WBIhCz?$O`eOD(;*&Nr!*ceDyyX&Q=LlPyFnH9;F#9T)>m?MiFP-AOZ-Sq>{ ztNn72^hv7)ZBDH?I~VF})O^Inho={<>=?wEmzQnBrh z4#Sj}UF<>ik10zku?Rb&CZaeG=)^eOR1B`usMex%^>tf<|6u1By>jY=oYhA|Ov`jI zwiQ`$v?rc&s*&K?pKlzBSZrw#Le_blVt78THU_S?wo@oP`Q@Be?UM%yxX|6|O23xQ z%0tliQx_~5XljbTwls_3+Q=6pjS7L3P8;DZf}$s_TMA z`;5mJHZaTp7y?_I0w9hn&@{>F9&7{XS~Jt&faqJ{33Kq?+@e9_`J8OW*vD&CPDqZwsg!#>4@70c@n z7@gn4JR=!Zx<+A@_x`xXmc0E%vP+b_eU_XA9UH$!MT_8X8 zGD&Y_xS<4VMIG}_{DyOk*9)`eODbs2C1oCBJMz=SF`kS4I6&9K;lm80yTW|*!x&cNmz8U+?T;lvCWjIP14tMp3{MDiqqI)>pJye+bFM59UqsPgKV#IVC43KK zz6Mx^W|Lsdu0gAC&r4A(+P(dUej7>IDwXm_K)QzwxNZ*g>C(D)wt6T#c?ESkI%#9Z zQwQhNqqlu_z{doiDM!Kf<%k&>51_6Q1LIf*3az8AxR`cEKq%Y{* zFB`CqjI9BYj&z`zym$8G7|k1Y0@^5(?!d4J_L$9>U^fwMIyv?3_Qn0WxJ{1@sYNob z#dqjAJNyR&&ceQ>AEv1xru;TJk1}1>s+DV0CDGf9GG)k5j5av<6WiYcQikV;RTc{6 zpOP!`)hCD1mcDDMEQF6d92J?Xj(jtH@FH3Rg;HERlJjnAZMRKc@}+{3?4rY##m%*& znK*AjUzScb;;QcHtcje(W>I-n_z8^w^p*dDFDjO{V|h2L#bb#Qa&-M9^;$P#}qa-q&%5P?8=fH!__fejY$Pm zrcbof|5Uz_mGASZv$IT!!zBD%L&eq|Os6(6oY`f%m&?FM0$>Nq%zu+FFO>)Se*b=J zx0~U1bs+AQJe4b?s@OArsI&?!AOYHdOA7Kx%!JUZVnWackBjI{G~{;Kz@Vvo)7gfX zVql@XT{i*_jOSJjy}j!LCEo7v4k-PVjV$>G|IG4TzE< zp#iAKw|fJ-H4knxQg5`b*^tRo(3+zurx$Ga>-*PYv2lgvD(r^od6it6 zMAXkjVp8oWjmjt+9#HRA8}B`K=anNt$7ag^api(v?g`%Ix2qZ9w#NTE4!kMb82nYj zt~j+S=0?qbl`j#Q=>m^(H8pwVqqk?Q9TiYBKD$u$=Js}XqNuCO`xaf1=t9cFlsmzm zE=tSRw9s@tM`U12p3$#kzk7L1^=FTk%!HE5-|;g~rfcUSe?~1vD5YF|jV+Hcgt9IVCdVeYY=!S(?ctm*~FBj_obt*JWr zXJSo0dB=RCniLFK?@YDyu~)f<5LkrC?X`!pLVn{pL!okV!gG-OFeAGOxJ9yQcEI;i5qo)l__)z zv*5mg!nUP-a-R1Tx!&AO9~u^o(18P`goIDDeP^lVmLH*D&GZ7#QjVzO+;b^eGpIII zD7c8TPhv`!=87r7Nz(nA*GMH&jrvq70BCB(Qqhz@5BP;Z%IlHSkzvjTkRsf~*DdN4 z3W8SRGPdzGH+0a)T-~+X@ThRc0p)MIwaSAV4JbvzGH2;43)PaTd9yQ%<|(y0&#Qtkg>W=)RY-!Bz;BjlpY zQ`r$FdOrmo?y6AySo@v?Rid`kLM|<&aD&qm`AzG&QjaOi+q|YFVIY#5zL?mL_D>Gu za8=mCjx22~5={$8bg+!A73Bz~=rFG4iG>2N8U(ZeZu@9A;(xuNATM`%)Y+(=zXhyd z`^H~4xj*6$pK|P@vViKXn(zUW?djy0?XNsK-k48Svko*u46XmB}hC z{hnW28pPD*X)&<$i*R@ee2kGpDI0b6F;~PY{uYHx`o#jN*wuGF?9KThU#)z5KTlW4 zqRoRILG!0Dw#P*dLv=c#p9S7IQOz1zGW*st(iuzlL(|fE4ulRX@Zevii(ns z>voe(^pLijW&ondNDy`ez;~NldHeCE{V#O9R_`?Rlob5JAhr?gcEDs!o_P~}t7p@u zCh2R*!Vwkzq;d)G$mA1ve1NitC+i5V2nF-gI&si?<90{DNy$+tw1lt-ZR$cQux`R1 zLA#NhMI8e4?oi=pTwmX3O2!1N*WsLl<6GJGB)C%_SiPhM%8OXPR9@;wME_q=!=j)| zmFwhA+)uB6mbo?b)UAZ!M3I43zYXR5n%qgXyel>z3QR|4TT~(Xm!@_lH3$hKoM0$Q8-_lkr!5BqeB#&=AV`&hjV+_ z7eV12-KhdWkvG$55APqy=YDJ!) zB^g?P$VVWisQTGJ^1ve6s}8sTaD%3DPxyIG7iZ{vq|BkcvvBlNpf)K+T}S8Jt53bl z0`q9%#jEkFcH_QFfkes>-n)0sjnY7?W*BDfCgRm_6d6Ldxh0hC3QMq3w~6D_ z2B#TomlgCu8_^CQnk@MhdQ5XTjTl%;gB_qt1y`Zx1_6M>@CprZ$`|UKz*f`nM*V~j z^;>y>+=yi$Q`|uVDYTFWly6aOX9cF2p7sfR3YO-<;D@T~1Ha1C9!(S*0}qNPa!Mhe)LNy$mul>;3CySf=Q5Qo)VyG;({s?!drIYNj#g{c zt4_-o24>Z}YTyH)L+dr-5-{r5%AKG3_FYx_l{m-0_$(u`#C}4Y>~w3y>t$A`QIhUh zRH_wfU)@Y5hSQTW%6UXoIac$K|Bfsdg+LkR5&-Q?msR9r&t?xH+dNM<=s`O{0+bvn z)FdLSkRu@-R!?zQCIC|6h!f*o1S@6bCPNcc2@sHP21VFVozn(2dmn&BYFLpp>u8N!< zo~kzXbFSR8b-o8gbtDl)J(i6KK5zgdVr!HIOu7Mv+IzrW)=L9eD?)@W?Ea<;csY^8 zME{aGk7r#s8)&orOJu$2T+b;*=^7Ip3@kI>Z{0J`Z}n!+h)I<{@A}N`-E9uzw=(=! zm34zr+MqvwUQ3}RYpkGoA64J0D zC4w|acc+Bp;!;a@cZVP)-Q6H9x#UtyBP_7QhwuBI@6XKrT+cmo&it8~GiPStLLgC> zuVg`@ulHMYjTN847Xl9?Dj4t%@qV5Mpfnef#B)I`TVTCqUtB#Sa6Wy%B)$`?ozoa? z+9#vgvfW`Z{7HvddQqYPwnbN!CzK)X`_*r966dU6&)H1DlIQV?pY@&`lZ!l4PdskF z0riA-Fu3INF2r;*5u^p@(^ah{KOE`c#DIwu*Q z;L&oKtHwhB-={6zg)`DW5jNOuWIW7OGH6((OKAEWDn#w_5zKvAu-AR>O6)@YvH zqL6HYQraR1!mxw!bMO;%{W$`J=1gl4vKnHo+^7Z4Rn~`RBqi$BY6O+DlA|`~WY@)K z2LeyaPhK-uQzaY7H5!D}QaQ+9a{}eh&0z=4Xbt_3RfzVtMD8ngqC)zsnPMI@YKuHD z+XY@vpvcB-bu0(tcZ{bQApQ5r@ds7&5;sf zX>Fb@DaX_sPMoFGIpfbx(#f~Qcj$@B1vox-p}rXx(oB!Twb9Xdg{?+(tcNR~r8S+N$>+Ju5EM-Z`#I zRMHu)FX~g|Y!BqQndg%|mRN!Mh*tlqvRSXM=l*$%E|4PgBRm}Ntkb<=Q!|a-%w(OJ zH2sVGhZQeVAZ72_YFRQuXG1?fKQzDJK_nMQetWqNnFcO?qtWq9YB7igoch5aNQC($ z|LIc1gLdTd5s!t((<7_qLX_J)qcD=I(%iK`Ln#?W(m=yNl9IK+knf{`!R$I!7n&Vd zjsz|gEW%~`>dB7d^xdQG?IcBq3)4N1qiWBKy_|!l&QRHs9m?5{&bx|AvtLJs7{zCk zYe|CFiIPPKV{p=k&iFS?eS%8as%?VI6(IX+G+Km)+aD933CXjQ9(2rvWrryyOC+$h zD8 zm~wX?KbO3`Nld@o2}68p$^fdfo_d>J3*HXbt1cEmiLAtzF@V_adZD`%XJ;qeLzNP zou93t+xMI{Rk&YzaoOzi1dfW)KbSKGVeNKkihPd(`kF7XD!|W}`Pn%xRqC(Xyf)X! zKZd`dt_-3{aQkV+{&|;i$~ra%Vao)aCKB~mAL(*fGV5Gb9{yzt%xUuN0I2- zRuvW*digMXe-jJ79^4=m*1v{w6d^E?25cIY>zp~2daiW& z?Gs}T#R3YmbM)%=sMc`~x??e<;(!GQa#t8o$CORt1&vqtXvx5Zqz zhVyJlgZC(&XF7C8`rQr4*fJy*QI(jsBUq#0`IQ6!ujSU4B0k-^OMzHVkRDX;-x?6R z<{4*)cfQ!2@joegYmC-a*nuA->BC{X-FffmlyiWS5l(TC(qBoL_^6MrE@FAkYESiS zo#S*kvziB|%Sq}O*3N}en}_yH|Ca8Nz_?+t?oZQln#OO~&KX)26R_X;IU;Vi1??xw z;e}tCQtMFKyAo0|u)Fv2?O!EiuP*;oeOLYz=&y{{dB+lVatEe^VTc=7{Zt__lkaAY zQe!OLdjQW~EIp1DU#y+!@ll^^HI~y%f?VPt+E#RLxHa@+WNYH~ix48Y3$~i+=J=sn z_SBE>E$@Cki`#g2At7KiJo00XN)#ry)dn1=GBaIEi10{DTceV+4zbDhaC3Qca|H{z zG(_Pezs=tW3i=xQ=|e7LhMM>bJ5Bz_+g?)e;M#$TR9++B;JiCKt{7rr(;{58)*iF$ z=36Y$0j~O6rm=~q3y;vd^@PtUFILvxigJ02N#6;y=vKcC8y$Vucb0VTIZb^L$i^TZ zYF*`&&B88AY>*Jne0;Gz)O~S}pa{_thAwT)5~TQ7^q*Y?C-rAVniaM!XXVpztKbU} znTR=d&bE)!X3L~gBfj9-ir*kxSO1z~&PeY{%)`wd=Un0>xS(ofgjX$=dK_G94J`pg z+LxS4FFxbohJ_V;%a9}L?@)imD$T-tA^c0nqikqh?|JZ0p+tz8UekURF3$ADN<~jP z4U|Oh^v6YNt6%m4T;j#fp3uDWfCF{E_&dtvFa6WvP?8Kv$79%!1wl#%^Hk4zS$(*p ztEe~Cn0)qv&xOKnXr}@LMrlTj<0hoH$uv4;aq+H(5XPrB(@W*$SGv~NXfnYHl(ho) zeqpS#%dq7E3gq{T7B+xD(||!}`Y1}M%|-=?&Wt7~!e~EvUqP=kICJ4}@e7_m5xsU8 z98itCbhi!I3El|fA+fsK_&Pks(lfw*=jMIVYDUnH^M|{`(C~5Na#~LpRx+bl>0fvD zZEgV0Q2$2%?d_814dl-NNQQFHG^a(IsPhKKKV?vXymy;&IhE5K88u6azcP`hedq7# zhtm*-l7$1kGo$y{wpgJmiQE7yRYk!I>d)TI%8W_6`gy1PEng`xV%=$NzKP^nDGaS# zBZ`;r1UZSS<)>AB0Av!1VBpEHDJ)iB@t%%k_i2-yY}lNI?KtCdOP=vu6VG*A8gGIAHZ9C5;?1307hbJdBt2c ziz3qQtF%Yp>2GraP@PzlmK^Os5$VHa`9&BY$V_=k2_&vR6RAzQ;x{u5pZUD%6fP?E ztqtZEydgKZ#_}rRxAa&6&hA6PPk^Lz5$r1GYQjfRl}UH&ajoRkJH8T|ni(K2yqmdO zsAj#&RZHFFA=d7TP$Xv3vRSm|A=X2LDZ_r?qWAnh3G5;e5yG^UWqHxUOWituf;zGPp^S`QQ1i_3~T&gHc!`f3&+tU1W$!aVnAX&$alqxec` zuZ$rgM-|!Tx>^d%fhXKGLn*OitK-1c(918@EH26dGEJI&HG>f2AH$I!QL~Pd{CNPQSO&Hq0V7 zZfx6Wq1jW&jnU0E+79C5`}J;nD1bJQ*jw`SczzNI2H5>TNaKuNfl6aBC~R`G9@{}`{(nL`d<=zQVQ9?^}k?kqUv8V4r3|h1#TS= zGj3gD8OGAGDgUJB$yX}7GVqnJ7H*x@=#*6XPFU{Zn{x7?$p+=C!$JL8DzY{jpZxgB8Ir5QMQ_jEMJ6>cD3kj%FR$QM)uIOsTUY8(i=pj1?gD$Dt#g46I?Z(l^5gQx~j8 zE_aAvW$kK|$)L8D*5!Q-jFse^g{%_2(5X@r!C>~N9J=iHd0GmCz8{G`;qXmoG)*1P9qGP{e#5$2=1P$>Q`8u* zsIn(BPT5*;sJByjo%45?wS3@Qn=2rxAk&>JpPWR;y5`^o=Iyk$AWdhP)g85AVl9wx z^uj%n^%Eh+RCEORn`q^1x$@gY!4FX7J()dPABAbWck~r#B&_1d+(W6wksXHDk5M43{>^sIF(Vr_{i!m!mpp_*yzxt%g?* zu-a0wtLDY4e=g%%+DJCaP>UhS1^uKMC;Iti(8f6K=LxDQN5gUWOH zOWH(UzWR&Xht}sW1Igrk=B1tjCDD1Io11M^HFr`_WfI(3E0i)YjD}0Z|7p^hR*;5* z**Z1XBp~F)f5gT-vve=lzla-);+Wvc!wc+<_#Q$j^-t)b;J*9*&-|Nc8~&EPHZ2iB*s|B zTNxFg5EU<6;^4NQy2WQB7lD%go3wm43lVC>^Kv_1F^9qv9kUdkd(n>!-l#N&TexP= z+PB;BDt$<`Oc#pm(4z8m;nFL^FFxHRj6HpZM(Ajm!O6QwPdes1G<fq<;p#gV=Vy>*)RArEqx5>P=F7GaO-D&oNhsCHc!j>dd&__e?;0DQ7!`5U zsp-4dGL$QAd1Ko|HTdXz48%IZOAE9rZRBy60AsFKxog{jN0M{E9L?wHIb8{Azx~H} zF2^WG61*SMB+L8P>2mAvtj(7ES9JLXPt_OBv3J|R_XT9b@&mJ|tge&khd z@@I{8esuDAf%tY%`G6OW?*l3XUVX-@UDFzR*texerdS0XN^;}X`fCcAKbp%9Jy_Sr z-cNbIzml7wNBSs24#Sq29W$DaT!$Sx8J~p1X2bu;_-@0A!`nu`D!TvT9L|9MSf3n5 z1dU27R}Id~RiRG^dG~dhmZj+^=1E$NICOG`Ebp|Bx>PVV-n(fzB30>E1Qosp5eQs z6MCwxQwf&b!+5CHL4BM_t^Dj94wj6hyp{$(p>~XiT#9RHdW;8(8Q4a{TLbfTK)Jvv zgpcC7cN6Ch+p0w@Giv{~PPZ67*5HUyRd)Nf8!;Tf50UH z_pXNSAA5T`D8p;e=SDCigYnSk=79U(I?L>z&7`M`_7lcKEX6fxx7#ojCNw|YMQbT= zY9u~GZ2E2oNl0%XY0QlPk+mQKH=zJU_Y(*e0>nDsPMdrT&FKfCvsbtlpRkP-m8`m^p;U78*{dy^~)kD_tN3~}ApxEa6b&<5A`FTUa8)*{?V-(RK(1qJ`2Ru$v`0Lt8 zgb8~&act7GYrlrbcwB!|YHC?*OfA~u=+K0_D0hUoL@%VH0sq`|?5P;)5 zs_6b(_HQPOz;D@C2JwkB60em&$!*In70;dM**TR%GhVi#>m-f~um5nEK+Wvl5$kHU zpCI7-*(zfDBk*a>cr)BBa!V#sROs2?AWYod(?QL$RV|~eIY%^>z%!=tvKimRrpoQC zCsj8OTXoRNuf%Q7#~bf+wE>p+8*~Vud>OCq^%x|?^W{=>{9U0d4?n=s)T*X<8{KfF zw_1QJ!`*;)Rue&-;9FqOD>TrcgYFlvR(du9rTINXEwc7=7EhyIPMKq#1L@<_nPkuX z^2?kiJ$?0sXzR?CzA+Qd9f<7*Bok~7*86d4IJ=}N9GVFmH(0-866C3k&uM&rOK}EM zEv~GHeDlq@#f{mta+85C+e?iy!N}yb=)t^5#Rgjm;qMs%UI;0gcwEGXP7@dP&&hwN z1(Yh|)It!MuZ9c7G#4jIdjr(A&3u2Y{3XNebGkQ4aymSBtIym3W$r4|LcEv{GIzC5 zlkVBQbBVA;%kW0dw@9M;k2p7TKgOtnV%+tc1xsTTVMDE@F53qBta6~x66bAt<=r7s zp@Fz>)k4v2VS1x+jdMPK1WCH%XbVQ-8bcY@w4&Q$IAB9|o`TVBVC=0SA02)=FE7Wc{4kDDq;BUP-6vn_3ohkHnbI7jgj7r#LyDyGNPWit=a>YFQj{YAa?Tc%C z>imBhamJ?>=Uf{@KJx#JyU7er>q2r+DO5Q_>F&5c)z6~!ueb+mqN%)St+t0^Twqkq zqxqJ&U-l?e&J&BSxDdwh+;i>;)TBn$_b??YAk0CZS>tI~(l7~K~UlR2uUU_;pkkN`bB4d&0{M>PIga&&Nxmkat!15Pwqh#x- zkoJM+r`g$~5bV4wP0g6)U_M`H8$mr+SDnp0RUvGldn5W%#!oY=Xx11;wS3BSh#-2X z8)1`#iFHub1nqk~?MTwvA5#BxYC_Qs%WQ#a>$p|qhg5(E5tR`ee2GrM2nR!t8>#Wk zR;Qmfe)w6yIW=}F9~1MvhmMu4iFv;k>4W>8u6T#eu7MS9F|#6CUYB|wBnst`rl+ zVXNfErPkG1rPEu@Do%UJ)!fJCU>sYELY<%|DA^2=!D;PTNur~A5s=W{DRLEXjsD>c zt%~=k=`XwmLZ&+QVk5i5yM$NGJRh;Azi+%h^q!{4{w=HZYNaxI=${C N>!)}}HF!~<{U1(o4HEzW diff --git a/supervisor/api/panel/frontend_es5/chunk.dacd9533a16ebaba94e9.js.map b/supervisor/api/panel/frontend_es5/chunk.dacd9533a16ebaba94e9.js.map deleted file mode 100644 index 3d8499845..000000000 --- a/supervisor/api/panel/frontend_es5/chunk.dacd9533a16ebaba94e9.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"chunk.dacd9533a16ebaba94e9.js","sources":["webpack:///chunk.dacd9533a16ebaba94e9.js"],"mappings":"AAAA","sourceRoot":""} \ No newline at end of file diff --git a/supervisor/api/panel/frontend_es5/entrypoint.19035830.js b/supervisor/api/panel/frontend_es5/entrypoint.19035830.js deleted file mode 100644 index 6a000c3e8..000000000 --- a/supervisor/api/panel/frontend_es5/entrypoint.19035830.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see entrypoint.19035830.js.LICENSE.txt */ -!function(e){function t(t){for(var n,i,o=t[0],a=t[1],s=0,l=[];s1&&void 0!==arguments[1]?arguments[1]:-1,n=t+1;n2&&void 0!==arguments[2]?arguments[2]:null,r=e.element.content,i=e.parts;if(null!=n)for(var o=document.createTreeWalker(r,133,null,!1),c=s(i),l=0,u=-1;o.nextNode();){u++;var d=o.currentNode;for(d===n&&(l=a(t),n.parentNode.insertBefore(t,n));-1!==c&&i[c].index===u;){if(l>0){for(;-1!==c;)i[c].index+=l,c=s(i,c);return}c=s(i,c)}}else r.appendChild(t)}(n,u,h.firstChild):h.insertBefore(u,h.firstChild),window.ShadyCSS.prepareTemplateStyles(r,e);var m=h.querySelector("style");if(window.ShadyCSS.nativeShadow&&null!==m)t.insertBefore(m.cloneNode(!0),t.firstChild);else if(n){h.insertBefore(u,h.firstChild);var b=new Set;b.add(u),o(n,b)}}else window.ShadyCSS.prepareTemplateStyles(r,e)};function g(e){return function(e){if(Array.isArray(e))return w(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||_(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _(e,t){if(e){if("string"==typeof e)return w(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?w(e,t):void 0}}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==arguments[2]?arguments[2]:I,r=this.constructor,i=r._attributeNameForProperty(e,n);if(void 0!==i){var o=r._propertyValueToAttribute(t,n);if(void 0===o)return;this._updateState=8|this._updateState,null==o?this.removeAttribute(i):this.setAttribute(i,o),this._updateState=-9&this._updateState}}},{key:"_attributeToProperty",value:function(e,t){if(!(8&this._updateState)){var n=this.constructor,r=n._attributeToPropertyMap.get(e);if(void 0!==r){var i=n.getPropertyOptions(r);this._updateState=16|this._updateState,this[r]=n._propertyValueFromAttribute(t,i),this._updateState=-17&this._updateState}}}},{key:"_requestUpdate",value:function(e,t){var n=!0;if(void 0!==e){var r=this.constructor,i=r.getPropertyOptions(e);r._valueHasChanged(this[e],t,i.hasChanged)?(this._changedProperties.has(e)||this._changedProperties.set(e,t),!0!==i.reflect||16&this._updateState||(void 0===this._reflectingProperties&&(this._reflectingProperties=new Map),this._reflectingProperties.set(e,i))):n=!1}!this._hasRequestedUpdate&&n&&(this._updatePromise=this._enqueueUpdate())}},{key:"requestUpdate",value:function(e,t){return this._requestUpdate(e,t),this.updateComplete}},{key:"_enqueueUpdate",value:(o=regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._updateState=4|this._updateState,e.prev=1,e.next=4,this._updatePromise;case 4:e.next=8;break;case 6:e.prev=6,e.t0=e.catch(1);case 8:if(null==(t=this.performUpdate())){e.next=12;break}return e.next=12,t;case 12:return e.abrupt("return",!this._hasRequestedUpdate);case 13:case"end":return e.stop()}}),e,this,[[1,6]])})),a=function(){var e=this,t=arguments;return new Promise((function(n,r){var i=o.apply(e,t);function a(e){O(i,n,r,a,s,"next",e)}function s(e){O(i,n,r,a,s,"throw",e)}a(void 0)}))},function(){return a.apply(this,arguments)})},{key:"performUpdate",value:function(){this._instanceProperties&&this._applyInstanceProperties();var e=!1,t=this._changedProperties;try{(e=this.shouldUpdate(t))?this.update(t):this._markUpdated()}catch(n){throw e=!1,this._markUpdated(),n}e&&(1&this._updateState||(this._updateState=1|this._updateState,this.firstUpdated(t)),this.updated(t))}},{key:"_markUpdated",value:function(){this._changedProperties=new Map,this._updateState=-5&this._updateState}},{key:"_getUpdateComplete",value:function(){return this._updatePromise}},{key:"shouldUpdate",value:function(e){return!0}},{key:"update",value:function(e){var t=this;void 0!==this._reflectingProperties&&this._reflectingProperties.size>0&&(this._reflectingProperties.forEach((function(e,n){return t._propertyToAttribute(n,t[n],e)})),this._reflectingProperties=void 0),this._markUpdated()}},{key:"updated",value:function(e){}},{key:"firstUpdated",value:function(e){}},{key:"_hasRequestedUpdate",get:function(){return 4&this._updateState}},{key:"hasUpdated",get:function(){return 1&this._updateState}},{key:"updateComplete",get:function(){return this._getUpdateComplete()}}],i=[{key:"_ensureClassProperties",value:function(){var e=this;if(!this.hasOwnProperty(JSCompiler_renameProperty("_classProperties",this))){this._classProperties=new Map;var t=Object.getPrototypeOf(this)._classProperties;void 0!==t&&t.forEach((function(t,n){return e._classProperties.set(n,t)}))}}},{key:"createProperty",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:I;if(this._ensureClassProperties(),this._classProperties.set(e,t),!t.noAccessor&&!this.prototype.hasOwnProperty(e)){var n="symbol"===k(e)?Symbol():"__".concat(e),r=this.getPropertyDescriptor(e,n,t);void 0!==r&&Object.defineProperty(this.prototype,e,r)}}},{key:"getPropertyDescriptor",value:function(e,t,n){return{get:function(){return this[t]},set:function(n){var r=this[e];this[t]=n,this._requestUpdate(e,r)},configurable:!0,enumerable:!0}}},{key:"getPropertyOptions",value:function(e){return this._classProperties&&this._classProperties.get(e)||I}},{key:"finalize",value:function(){var e=Object.getPrototypeOf(this);if(e.hasOwnProperty("finalized")||e.finalize(),this.finalized=!0,this._ensureClassProperties(),this._attributeToPropertyMap=new Map,this.hasOwnProperty(JSCompiler_renameProperty("properties",this))){var t,n=this.properties,r=function(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=_(e))){var t=0,n=function(){};return{s:n,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,i,o=!0,a=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==r.return||r.return()}finally{if(a)throw i}}}}([].concat(g(Object.getOwnPropertyNames(n)),g("function"==typeof Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(n):[])));try{for(r.s();!(t=r.n()).done;){var i=t.value;this.createProperty(i,n[i])}}catch(o){r.e(o)}finally{r.f()}}}},{key:"_attributeNameForProperty",value:function(e,t){var n=t.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof e?e.toLowerCase():void 0}},{key:"_valueHasChanged",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:R;return n(e,t)}},{key:"_propertyValueFromAttribute",value:function(e,t){var n=t.type,r=t.converter||T,i="function"==typeof r?r:r.fromAttribute;return i?i(e,n):e}},{key:"_propertyValueToAttribute",value:function(e,t){if(void 0!==t.reflect){var n=t.type,r=t.converter;return(r&&r.toAttribute||T.toAttribute)(e,n)}}},{key:"observedAttributes",get:function(){var e=this;this.finalize();var t=[];return this._classProperties.forEach((function(n,r){var i=e._attributeNameForProperty(r,n);void 0!==i&&(e._attributeToPropertyMap.set(i,r),t.push(i))})),t}}],r&&x(n.prototype,r),i&&x(n,i),c}(S(HTMLElement));function z(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(l){return void n(l)}s.done?t(c):Promise.resolve(c).then(r,i)}D.finalized=!0;var F=function(e){return function(t){return"function"==typeof t?function(e,t){return window.customElements.define(e,t),t}(e,t):function(e,t){return{kind:t.kind,elements:t.elements,finisher:function(t){window.customElements.define(e,t)}}}(e,t)}};function L(e){return function(t,n){return void 0!==n?function(e,t,n){t.constructor.createProperty(n,e)}(e,t,n):function(e,t){return"method"===t.kind&&t.descriptor&&!("value"in t.descriptor)?Object.assign(Object.assign({},t),{finisher:function(n){n.createProperty(t.key,e)}}):{kind:"field",key:Symbol(),placement:"own",descriptor:{},initializer:function(){"function"==typeof t.initializer&&(this[t.key]=t.initializer.call(this))},finisher:function(n){n.createProperty(t.key,e)}}}(e,t)}}function N(e){return L({attribute:!1,hasChanged:null==e?void 0:e.hasChanged})}function M(e){return function(t,n){var r={get:function(){return this.renderRoot.querySelector(e)},enumerable:!0,configurable:!0};return void 0!==n?B(r,t,n):V(r,t)}}function H(e){return function(t,n){var r={get:function(){var t,n=this;return(t=regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,n.updateComplete;case 2:return t.abrupt("return",n.renderRoot.querySelector(e));case 3:case"end":return t.stop()}}),t)})),function(){var e=this,n=arguments;return new Promise((function(r,i){var o=t.apply(e,n);function a(e){z(o,r,i,a,s,"next",e)}function s(e){z(o,r,i,a,s,"throw",e)}a(void 0)}))})()},enumerable:!0,configurable:!0};return void 0!==n?B(r,t,n):V(r,t)}}var B=function(e,t,n){Object.defineProperty(t,n,e)},V=function(e,t){return{kind:"method",placement:"prototype",key:t.key,descriptor:e}};function U(e){return function(t,n){return void 0!==n?function(e,t,n){Object.assign(t[n],e)}(e,t,n):function(e,t){return Object.assign(Object.assign({},t),{finisher:function(n){Object.assign(n.prototype[t.key],e)}})}(e,t)}}function K(e,t){for(var n=0;n1?t-1:0),r=1;r=0;c--)(o=e[c])&&(s=(a<3?o(s):a>3?o(t,n,s):o(t,n))||s);return a>3&&s&&Object.defineProperty(t,n,s),s}function c(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}},function(e,t,n){"use strict";n(14),n(15);var r=n(78),i=n(16);function o(e,t){for(var n=0;n can only be templatized once");e.__templatizeOwner=t;var r=(t?t.constructor:z)._parseTemplate(e),i=r.templatizeInstanceClass;i||(i=N(e,r,n),r.templatizeInstanceClass=i),M(e,r,n);var o=function(e){O(n,e);var t=E(n);function n(){return A(this,n),t.apply(this,arguments)}return n}(i);return o.prototype._methodHost=L(e),o.prototype.__dataHost=e,o.prototype.__templatizeOwner=t,o.prototype.__hostProps=r.hostProps,o=o}function U(e,t){for(var n;t;)if(n=t.__templatizeInstance){if(n.__dataHost==e)return n;t=n.__dataHost}else t=t.parentNode;return null}var K=n(77);function $(e){return($="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function q(e,t){for(var n=0;n child");n.disconnect(),t.render()}));return void n.observe(this,{childList:!0})}this.root=this._stampTemplate(e),this.$=this.root.$,this.__children=[];for(var r=this.root.firstChild;r;r=r.nextSibling)this.__children[this.__children.length]=r;this._enableProperties()}this.__insertChildren(),this.dispatchEvent(new CustomEvent("dom-change",{bubbles:!0,composed:!0}))}}]),r}(Object(K.a)(b(Object(i.a)(HTMLElement))));customElements.define("dom-bind",J);var Q=n(29),ee=n(38),te=n(42),ne=n(6),re=n(16);function ie(e){return(ie="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function oe(e,t,n){return(oe="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=de(e)););return e}(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(n):i.value}})(e,t,n||e)}function ae(e,t){for(var n=0;n child");n.disconnect(),e.__render()}));return n.observe(this,{childList:!0}),!1}var r={};r[this.as]=!0,r[this.indexAs]=!0,r[this.itemsIndexAs]=!0,this.__ctor=V(t,this,{mutableData:this.mutableData,parentModel:!0,instanceProps:r,forwardHostProp:function(e,t){for(var n,r=this.__instances,i=0;i1&&void 0!==arguments[1]?arguments[1]:0;this.__renderDebouncer=ee.a.debounce(this.__renderDebouncer,t>0?re.b.after(t):re.a,e.bind(this)),Object(te.a)(this.__renderDebouncer)}},{key:"render",value:function(){this.__debounceRender(this.__render),Object(te.b)()}},{key:"__render",value:function(){this.__ensureTemplatized()&&(this.__applyFullRefresh(),this.__pool.length=0,this._setRenderedItemCount(this.__instances.length),this.dispatchEvent(new CustomEvent("dom-change",{bubbles:!0,composed:!0})),this.__tryRenderChunk())}},{key:"__applyFullRefresh",value:function(){for(var e=this,t=this.items||[],n=new Array(t.length),r=0;r=o;u--)this.__detachAndRemoveInstance(u)}},{key:"__detachInstance",value:function(e){for(var t=this.__instances[e],n=0;n child");r.disconnect(),e.__render()}));return r.observe(this,{childList:!0}),!1}this.__ctor=V(n,this,{mutableData:!0,forwardHostProp:function(e,t){this.__instance&&(this.if?this.__instance.forwardHostProp(e,t):(this.__invalidProps=this.__invalidProps||Object.create(null),this.__invalidProps[Object(ne.g)(e)]=!0))}})}if(this.__instance){this.__syncHostProperties();var i=this.__instance.children;if(i&&i.length)if(this.previousSibling!==i[i.length-1])for(var o,a=0;a=i.index+i.removed.length?n.set(t,e+i.addedCount-i.removed.length):n.set(t,-1))}));for(var o=0;o=0&&e.linkPaths("items."+n,"selected."+t++)}))}else this.__selectedMap.forEach((function(t){e.linkPaths("selected","items."+t),e.linkPaths("selectedItem","items."+t)}))}},{key:"clearSelection",value:function(){this.__dataLinkedPaths={},this.__selectedMap=new Map,this.selected=this.multi?[]:null,this.selectedItem=null}},{key:"isSelected",value:function(e){return this.__selectedMap.has(e)}},{key:"isIndexSelected",value:function(e){return this.isSelected(this.items[e])}},{key:"__deselectChangedIdx",value:function(e){var t=this,n=this.__selectedIndexForItemIndex(e);if(n>=0){var r=0;this.__selectedMap.forEach((function(e,i){n==r++&&t.deselect(i)}))}}},{key:"__selectedIndexForItemIndex",value:function(e){var t=this.__dataLinkedPaths["items."+e];if(t)return parseInt(t.slice("selected.".length),10)}},{key:"deselect",value:function(e){var t,n=this.__selectedMap.get(e);n>=0&&(this.__selectedMap.delete(e),this.multi&&(t=this.__selectedIndexForItemIndex(n)),this.__updateLinks(),this.multi?this.splice("selected",t,1):this.selected=this.selectedItem=null)}},{key:"deselectIndex",value:function(e){this.deselect(this.items[e])}},{key:"select",value:function(e){this.selectIndex(this.items.indexOf(e))}},{key:"selectIndex",value:function(e){var t=this.items[e];this.isSelected(t)?this.toggle&&this.deselectIndex(e):(this.multi||this.__selectedMap.clear(),this.__selectedMap.set(t,e),this.__updateLinks(),this.multi?this.push("selected",t):this.selected=this.selectedItem=t)}}]),n}(Object(Oe.a)(e))}))(Q.a));customElements.define(De.is,De);n(98);v._mutablePropertyChange;Boolean,n(5);n.d(t,"a",(function(){return ze}));var ze=Object(r.a)(HTMLElement).prototype},function(e,t,n){"use strict";var r=n(70);function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){for(var n=0;n=0;i--){var o=t[i];o?Array.isArray(o)?e(o,n):n.indexOf(o)<0&&(!r||r.indexOf(o)<0)&&n.unshift(o):console.warn("behavior is null, check for missing or 404 import")}return n}(e,null,n),t),n&&(e=n.concat(e)),t.prototype.behaviors=e,t}function h(e,t){var n=function(t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}(h,t);var n,r,i,f,p=(n=h,function(){var e,t=d(n);if(u()){var r=d(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return l(this,e)});function h(){return o(this,h),p.apply(this,arguments)}return r=h,f=[{key:"properties",get:function(){return e.properties}},{key:"observers",get:function(){return e.observers}}],(i=[{key:"created",value:function(){s(d(h.prototype),"created",this).call(this),e.created&&e.created.call(this)}},{key:"_registered",value:function(){s(d(h.prototype),"_registered",this).call(this),e.beforeRegister&&e.beforeRegister.call(Object.getPrototypeOf(this)),e.registered&&e.registered.call(Object.getPrototypeOf(this))}},{key:"_applyListeners",value:function(){if(s(d(h.prototype),"_applyListeners",this).call(this),e.listeners)for(var t in e.listeners)this._addMethodEventListenerToNode(this,t,e.listeners[t])}},{key:"_ensureAttributes",value:function(){if(e.hostAttributes)for(var t in e.hostAttributes)this._ensureAttribute(t,e.hostAttributes[t]);s(d(h.prototype),"_ensureAttributes",this).call(this)}},{key:"ready",value:function(){s(d(h.prototype),"ready",this).call(this),e.ready&&e.ready.call(this)}},{key:"attached",value:function(){s(d(h.prototype),"attached",this).call(this),e.attached&&e.attached.call(this)}},{key:"detached",value:function(){s(d(h.prototype),"detached",this).call(this),e.detached&&e.detached.call(this)}},{key:"attributeChanged",value:function(t,n,r){s(d(h.prototype),"attributeChanged",this).call(this,t,n,r),e.attributeChanged&&e.attributeChanged.call(this,t,n,r)}}])&&a(r.prototype,i),f&&a(r,f),h}(t);for(var r in n.generatedFrom=e,e)if(!(r in f)){var i=Object.getOwnPropertyDescriptor(e,r);i&&Object.defineProperty(n.prototype,r,i)}return n}n(14);n.d(t,"a",(function(){return m}));var m=function e(t){var n;return n="function"==typeof t?t:e.Class(t),customElements.define(n.is,n),n};m.Class=function(e,t){e||console.warn("Polymer's Class function requires `info` argument");var n=e.behaviors?p(e.behaviors,HTMLElement):Object(r.a)(HTMLElement),i=h(e,t?t(n):n);return i.is=e.is,i}},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));n(14);function r(e,t){for(var n=0;n1?n-1:0),i=1;i=0}function i(e){var t=e.indexOf(".");return-1===t?e:e.slice(0,t)}function o(e,t){return 0===e.indexOf(t+".")}function a(e,t){return 0===t.indexOf(e+".")}function s(e,t,n){return t+n.slice(e.length)}function c(e,t){return e===t||o(e,t)||a(e,t)}function l(e){if(Array.isArray(e)){for(var t=[],n=0;n1){for(var a=0;a1?t-1:0),r=1;r1?t-1:0),r=1;r0;){var k=m[h],O=d.exec(k)[2],x=O.toLowerCase()+a,E=v.getAttribute(x);v.removeAttribute(x);var S=E.split(o);this.parts.push({type:"attribute",index:p,name:O,strings:S}),h+=S.length-1}}"TEMPLATE"===v.tagName&&(s.push(v),l.currentNode=v.content)}else if(3===v.nodeType){var j=v.data;if(j.indexOf(r)>=0){for(var C=v.parentNode,P=j.split(o),A=P.length-1,T=0;T=0&&e.slice(n)===t},l=function(e){return-1!==e.index},u=function(){return document.createComment("")},d=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/},function(e,t,n){"use strict";window.JSCompiler_renameProperty=function(e,t){return e}},function(e,t,n){"use strict";n.d(t,"f",(function(){return i})),n.d(t,"c",(function(){return o})),n.d(t,"d",(function(){return a})),n.d(t,"b",(function(){return s})),n.d(t,"e",(function(){return c})),n.d(t,"a",(function(){return l}));n(14);var r=n(27),i=!window.ShadyDOM,o=(Boolean(!window.ShadyCSS||window.ShadyCSS.nativeCss),window.customElements.polyfillWrapFlushCallback,Object(r.a)(document.baseURI||window.location.href)),a=window.Polymer&&window.Polymer.sanitizeDOMValue||void 0,s=!1,c=!1,l=!1},function(e,t,n){"use strict";n.d(t,"b",(function(){return c})),n.d(t,"a",(function(){return l}));n(14);var r=0,i=0,o=[],a=0,s=document.createTextNode("");new window.MutationObserver((function(){for(var e=o.length,t=0;t=0){if(!o[t])throw new Error("invalid async handle: "+e);o[t]=null}}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var r=n(10);function i(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=function(e,t){if(!e)return;if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}(e))){var t=0,n=function(){};return{s:n,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,i,a=!0,s=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return a=e.done,e},e:function(e){s=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw i}}}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1)throw new Error("The `classMap` directive must be used in the `class` attribute and must be the only part in the attribute.");var n=t.committer,i=n.element,o=c.get(t);void 0===o&&(i.setAttribute("class",n.strings.join(" ")),c.set(t,o=new Set));var a=i.classList||new s(i);for(var l in o.forEach((function(t){t in e||(a.remove(t),o.delete(t))})),e){var u=e[l];u!=o.has(l)&&(u?(a.add(l),o.add(l)):(a.remove(l),o.delete(l)))}"function"==typeof a.commit&&a.commit()}}))},function(e,t,n){"use strict";n.d(t,"d",(function(){return o})),n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s})),n.d(t,"c",(function(){return c}));var r,i,o=!(window.ShadyDOM&&window.ShadyDOM.inUse);function a(e){r=(!e||!e.shimcssproperties)&&(o||Boolean(!navigator.userAgent.match(/AppleWebKit\/601|Edge\/15/)&&window.CSS&&CSS.supports&&CSS.supports("box-shadow","0 0 0 var(--foo)")))}window.ShadyCSS&&void 0!==window.ShadyCSS.cssBuild&&(i=window.ShadyCSS.cssBuild);var s=Boolean(window.ShadyCSS&&window.ShadyCSS.disableRuntime);window.ShadyCSS&&void 0!==window.ShadyCSS.nativeCss?r=window.ShadyCSS.nativeCss:window.ShadyCSS?(a(window.ShadyCSS),window.ShadyCSS=void 0):a(window.WebComponents&&window.WebComponents.flags);var c=r},function(e,t,n){"use strict";n.d(t,"a",(function(){return x})),n.d(t,"b",(function(){return E})),n.d(t,"e",(function(){return S})),n.d(t,"c",(function(){return j})),n.d(t,"f",(function(){return C})),n.d(t,"g",(function(){return P})),n.d(t,"d",(function(){return T}));var r=n(44),i=n(26),o=n(21),a=n(53),s=n(48),c=n(13);function l(e,t,n){return(l="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=m(e)););return e}(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(n):i.value}})(e,t,n||e)}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&d(e,t)}function d(e,t){return(d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function f(e){return function(){var t,n=m(e);if(h()){var r=m(this).constructor;t=Reflect.construct(n,arguments,r)}else t=n.apply(this,arguments);return p(this,t)}}function p(e,t){return!t||"object"!==w(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function h(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function m(e){return(m=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function y(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=function(e,t){if(!e)return;if("string"==typeof e)return v(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return v(e,t)}(e))){var t=0,n=function(){};return{s:n,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,i,o=!0,a=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==r.return||r.return()}finally{if(a)throw i}}}}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:this.startNode;Object(i.b)(this.startNode.parentNode,e.nextSibling,this.endNode)}}]),e}(),j=function(){function e(t,n,r){if(b(this,e),this.value=void 0,this.__pendingValue=void 0,2!==r.length||""!==r[0]||""!==r[1])throw new Error("Boolean attributes can only contain a single expression");this.element=t,this.name=n,this.strings=r}return _(e,[{key:"setValue",value:function(e){this.__pendingValue=e}},{key:"commit",value:function(){for(;Object(r.b)(this.__pendingValue);){var e=this.__pendingValue;this.__pendingValue=o.a,e(this)}if(this.__pendingValue!==o.a){var t=!!this.__pendingValue;this.value!==t&&(t?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name),this.value=t),this.__pendingValue=o.a}}}]),e}(),C=function(e){u(n,e);var t=f(n);function n(e,r,i){var o;return b(this,n),(o=t.call(this,e,r,i)).single=2===i.length&&""===i[0]&&""===i[1],o}return _(n,[{key:"_createPart",value:function(){return new P(this)}},{key:"_getValue",value:function(){return this.single?this.parts[0].value:l(m(n.prototype),"_getValue",this).call(this)}},{key:"commit",value:function(){this.dirty&&(this.dirty=!1,this.element[this.name]=this._getValue())}}]),n}(x),P=function(e){u(n,e);var t=f(n);function n(){return b(this,n),t.apply(this,arguments)}return n}(E),A=!1;!function(){try{var e={get capture(){return A=!0,!1}};window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch(t){}}();var T=function(){function e(t,n,r){var i=this;b(this,e),this.value=void 0,this.__pendingValue=void 0,this.element=t,this.eventName=n,this.eventContext=r,this.__boundHandleEvent=function(e){return i.handleEvent(e)}}return _(e,[{key:"setValue",value:function(e){this.__pendingValue=e}},{key:"commit",value:function(){for(;Object(r.b)(this.__pendingValue);){var e=this.__pendingValue;this.__pendingValue=o.a,e(this)}if(this.__pendingValue!==o.a){var t=this.__pendingValue,n=this.value,i=null==t||null!=n&&(t.capture!==n.capture||t.once!==n.once||t.passive!==n.passive),a=null!=t&&(null==n||i);i&&this.element.removeEventListener(this.eventName,this.__boundHandleEvent,this.__options),a&&(this.__options=R(t),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=t,this.__pendingValue=o.a}}},{key:"handleEvent",value:function(e){"function"==typeof this.value?this.value.call(this.eventContext||this.element,e):this.value.handleEvent(e)}}]),e}(),R=function(e){return e&&(A?{capture:e.capture,passive:e.passive,once:e.once}:e.capture)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return m}));n(3);var r={"U+0008":"backspace","U+0009":"tab","U+001B":"esc","U+0020":"space","U+007F":"del"},i={8:"backspace",9:"tab",13:"enter",27:"esc",33:"pageup",34:"pagedown",35:"end",36:"home",32:"space",37:"left",38:"up",39:"right",40:"down",46:"del",106:"*"},o={shift:"shiftKey",ctrl:"ctrlKey",alt:"altKey",meta:"metaKey"},a=/[a-z0-9*]/,s=/U\+/,c=/^arrow/,l=/^space(bar)?/,u=/^escape$/;function d(e,t){var n="";if(e){var r=e.toLowerCase();" "===r||l.test(r)?n="space":u.test(r)?n="esc":1==r.length?t&&!a.test(r)||(n=r):n=c.test(r)?r.replace("arrow",""):"multiply"==r?"*":r}return n}function f(e,t){return e.key?d(e.key,t):e.detail&&e.detail.key?d(e.detail.key,t):(n=e.keyIdentifier,o="",n&&(n in r?o=r[n]:s.test(n)?(n=parseInt(n.replace("U+","0x"),16),o=String.fromCharCode(n).toLowerCase()):o=n.toLowerCase()),o||function(e){var t="";return Number(e)&&(t=e>=65&&e<=90?String.fromCharCode(32+e):e>=112&&e<=123?"f"+(e-112+1):e>=48&&e<=57?String(e-48):e>=96&&e<=105?String(e-96):i[e]),t}(e.keyCode)||"");var n,o}function p(e,t){return f(t,e.hasModifiers)===e.key&&(!e.hasModifiers||!!t.shiftKey==!!e.shiftKey&&!!t.ctrlKey==!!e.ctrlKey&&!!t.altKey==!!e.altKey&&!!t.metaKey==!!e.metaKey)}function h(e){return e.trim().split(" ").map((function(e){return function(e){return 1===e.length?{combo:e,key:e,event:"keydown"}:e.split("+").reduce((function(e,t){var n=t.split(":"),r=n[0],i=n[1];return r in o?(e[o[r]]=!0,e.hasModifiers=!0):(e.key=r,e.event=i||"keydown"),e}),{combo:e.split(":").shift()})}(e)}))}var m={properties:{keyEventTarget:{type:Object,value:function(){return this}},stopKeyboardEventPropagation:{type:Boolean,value:!1},_boundKeyHandlers:{type:Array,value:function(){return[]}},_imperativeKeyBindings:{type:Object,value:function(){return{}}}},observers:["_resetKeyEventListeners(keyEventTarget, _boundKeyHandlers)"],keyBindings:{},registered:function(){this._prepKeyBindings()},attached:function(){this._listenKeyEventListeners()},detached:function(){this._unlistenKeyEventListeners()},addOwnKeyBinding:function(e,t){this._imperativeKeyBindings[e]=t,this._prepKeyBindings(),this._resetKeyEventListeners()},removeOwnKeyBindings:function(){this._imperativeKeyBindings={},this._prepKeyBindings(),this._resetKeyEventListeners()},keyboardEventMatchesKeys:function(e,t){for(var n=h(t),r=0;r2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;t!==n;){var i=t.nextSibling;e.insertBefore(t,r),t=i}},o=function(e,t){for(var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;t!==n;){var r=t.nextSibling;e.removeChild(t),t=r}}},function(e,t,n){"use strict";n.d(t,"c",(function(){return s})),n.d(t,"b",(function(){return c})),n.d(t,"a",(function(){return l}));n(14);var r,i,o=/(url\()([^)]*)(\))/g,a=/(^\/)|(^#)|(^[\w-\d]*:)/;function s(e,t){if(e&&a.test(e))return e;if(void 0===r){r=!1;try{var n=new URL("b","http://a");n.pathname="c%20d",r="http://a/c%20d"===n.href}catch(o){}}return t||(t=document.baseURI||window.location.href),r?new URL(e,t).href:(i||((i=document.implementation.createHTMLDocument("temp")).base=i.createElement("base"),i.head.appendChild(i.base),i.anchor=i.createElement("a"),i.body.appendChild(i.anchor)),i.base.href=t,i.anchor.href=e,i.anchor.href||e)}function c(e,t){return e.replace(o,(function(e,n,r,i){return n+"'"+s(r.replace(/["']/g,""),t)+"'"+i}))}function l(e){return e.substring(0,e.lastIndexOf("/")+1)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r=function(){function e(e){void 0===e&&(e={}),this.adapter=e}return Object.defineProperty(e,"cssClasses",{get:function(){return{}},enumerable:!0,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return{}},enumerable:!0,configurable:!0}),Object.defineProperty(e,"numbers",{get:function(){return{}},enumerable:!0,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{}},enumerable:!0,configurable:!0}),e.prototype.init=function(){},e.prototype.destroy=function(){},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(55),i=(n(5),Object(r.a)(HTMLElement))},function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return s})),n.d(t,"c",(function(){return c}));var r=n(8),i=function(){return n.e(2).then(n.bind(null,119))},o=function(e,t,n){return new Promise((function(o){var a=t.cancel,s=t.confirm;Object(r.a)(e,"show-dialog",{dialogTag:"dialog-box",dialogImport:i,dialogParams:Object.assign({},t,{},n,{cancel:function(){o(!!(null==n?void 0:n.prompt)&&null),a&&a()},confirm:function(e){o(!(null==n?void 0:n.prompt)||e),s&&s(e)}})})}))},a=function(e,t){return o(e,t)},s=function(e,t){return o(e,t,{confirmation:!0})},c=function(e,t){return o(e,t,{prompt:!0})}},function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"e",(function(){return s})),n.d(t,"c",(function(){return c})),n.d(t,"d",(function(){return l})),n.d(t,"a",(function(){return u})),n.d(t,"f",(function(){return d}));var r=n(24);function i(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(l){return void n(l)}s.done?t(c):Promise.resolve(c).then(r,i)}function o(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var a=e.apply(t,n);function s(e){i(a,r,o,s,c,"next",e)}function c(e){i(a,r,o,s,c,"throw",e)}s(void 0)}))}}var a=function(){var e=o(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=r.a,e.next=3,t.callApi("GET","hassio/core/info");case 3:return e.t1=e.sent,e.abrupt("return",(0,e.t0)(e.t1));case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),s=function(){var e=o(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=r.a,e.next=3,t.callApi("GET","hassio/supervisor/info");case 3:return e.t1=e.sent,e.abrupt("return",(0,e.t0)(e.t1));case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),c=function(){var e=o(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=r.a,e.next=3,t.callApi("GET","hassio/info");case 3:return e.t1=e.sent,e.abrupt("return",(0,e.t0)(e.t1));case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),l=function(){var e=o(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.callApi("GET","hassio/".concat(n,"/logs")));case 1:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),u=function(){var e=o(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.callApi("POST","hassio/ingress/session");case 2:n=e.sent,document.cookie="ingress_session=".concat(n.data.session,";path=/api/hassio_ingress/");case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),d=function(){var e=o(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.callApi("POST","hassio/supervisor/options",n);case 2:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()},function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return s}));n(14);var r={},i=/-[a-z]/g,o=/([A-Z])/g;function a(e){return r[e]||(r[e]=e.indexOf("-")<0?e:e.replace(i,(function(e){return e[1].toUpperCase()})))}function s(e){return r[e]||(r[e]=e.replace(o,"-$1").toLowerCase())}},function(e,t,n){"use strict";var r=n(0);function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(){var e=c(["\n :host {\n display: var(--ha-icon-display, inline-flex);\n align-items: center;\n justify-content: center;\n position: relative;\n vertical-align: middle;\n fill: currentcolor;\n width: var(--mdc-icon-size, 24px);\n height: var(--mdc-icon-size, 24px);\n }\n svg {\n width: 100%;\n height: 100%;\n pointer-events: none;\n display: block;\n }\n "]);return o=function(){return e},e}function a(){var e=c([""]);return a=function(){return e},e}function s(){var e=c(["\n \n \n ',"\n \n "]);return s=function(){return e},e}function c(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){return(u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function d(e,t){return!t||"object"!==i(t)&&"function"!=typeof t?f(e):t}function f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function h(e){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function m(e){var t,n=_(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function y(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function v(e){return e.decorators&&e.decorators.length}function b(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function g(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function _(e){var t=function(e,t){if("object"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===i(t)?t:String(t)}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a2&&void 0!==arguments[2]&&arguments[2];n?history.replaceState(null,"",t):history.pushState(null,"",t),Object(r.a)(window,"location-changed",{replace:n})}},function(e,t,n){"use strict";n.d(t,"e",(function(){return a})),n.d(t,"d",(function(){return s})),n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return d})),n.d(t,"c",(function(){return f}));var r=n(66);function i(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=function(e,t){if(!e)return;if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}(e))){var t=0,n=function(){};return{s:n,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,i,a=!0,s=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return a=e.done,e},e:function(e){s=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw i}}}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:window.document,t=e.activeElement,n=[];if(!t)return n;for(;t&&(n.push(t),t.shadowRoot);)t=t.shadowRoot.activeElement;return n},f=function(e){var t=d();if(!t.length)return!1;var n=t[t.length-1],r=new Event("check-if-focused",{bubbles:!0,composed:!0}),i=[],o=function(e){i=e.composedPath()};return document.body.addEventListener("check-if-focused",o),n.dispatchEvent(r),document.body.removeEventListener("check-if-focused",o),-1!==i.indexOf(e)}},function(e,t,n){"use strict";n.d(t,"c",(function(){return r})),n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return o}));var r=/(?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};{])+)|\{([^}]*)\}(?:(?=[;\s}])|$))/gi,i=/(?:^|\W+)@apply\s*\(?([^);\n]*)\)?/gi,o=/@media\s(.*)/},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));n(14),n(12),n(16);function r(e,t){for(var n=0;n"]);return c=function(){return e},e}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var n=0;n\n ',"\n "]);return g=function(){return e},e}function _(){var e=O(['\n \n ','\n \n \n ','\n \n \n ','\n \n \n \n ',"\n \n \n "]);return _=function(){return e},e}function w(){var e=O(['']);return w=function(){return e},e}function k(){var e=O(["",""]);return k=function(){return e},e}function O(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function x(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function E(e,t){for(var n=0;n-1}var p=!1;function h(e){if(!f(e)&&"touchend"!==e)return a&&p&&o.b?{passive:!0}:void 0}!function(){try{var e=Object.defineProperty({},"passive",{get:function(){p=!0}});window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(t){}}();var m=navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/),y=[],v={button:!0,input:!0,keygen:!0,meter:!0,output:!0,textarea:!0,progress:!0,select:!0},b={button:!0,command:!0,fieldset:!0,input:!0,keygen:!0,optgroup:!0,option:!0,select:!0,textarea:!0};function g(e){var t=Array.prototype.slice.call(e.labels||[]);if(!t.length){t=[];var n=e.getRootNode();if(e.id)for(var r=n.querySelectorAll("label[for = ".concat(e.id,"]")),i=0;i-1;if(i[o]===O.mouse.target)return}if(r)return;e.preventDefault(),e.stopPropagation()}};function w(e){for(var t,n=m?["click"]:l,r=0;r0?t[0]:e.target}return e.target}function P(e){var t,n=e.type,r=e.currentTarget.__polymerGestures;if(r){var i=r[n];if(i){if(!e[s]&&(e[s]={},"touch"===n.slice(0,5))){var o=(e=e).changedTouches[0];if("touchstart"===n&&1===e.touches.length&&(O.touch.id=o.identifier),O.touch.id!==o.identifier)return;a||"touchstart"!==n&&"touchmove"!==n||function(e){var t=e.changedTouches[0],n=e.type;if("touchstart"===n)O.touch.x=t.clientX,O.touch.y=t.clientY,O.touch.scrollDecided=!1;else if("touchmove"===n){if(O.touch.scrollDecided)return;O.touch.scrollDecided=!0;var r=function(e){var t="auto",n=e.composedPath&&e.composedPath();if(n)for(var r,i=0;io:"pan-y"===r&&(i=o>a)),i?e.preventDefault():z("track")}}(e)}if(!(t=e[s]).skip){for(var l,u=0;u-1&&l.reset&&l.reset();for(var d,f=0;f=5||i>=5}function N(e,t,n){if(t){var r,i=e.moves[e.moves.length-2],o=e.moves[e.moves.length-1],a=o.x-e.x,s=o.y-e.y,c=0;i&&(r=o.x-i.x,c=o.y-i.y),D(t,"track",{state:e.state,x:n.clientX,y:n.clientY,dx:a,dy:s,ddx:r,ddy:c,sourceEvent:n,hover:function(){return function(e,t){for(var n=document.elementFromPoint(e,t),r=n;r&&r.shadowRoot&&!window.ShadyDOM;){if(r===(r=r.shadowRoot.elementFromPoint(e,t)))break;r&&(n=r)}return n}(n.clientX,n.clientY)}})}}function M(e,t,n){var r=Math.abs(t.clientX-e.x),i=Math.abs(t.clientY-e.y),o=C(n||t);!o||b[o.localName]&&o.hasAttribute("disabled")||(isNaN(r)||isNaN(i)||r<=25&&i<=25||function(e){if("click"===e.type){if(0===e.detail)return!0;var t=C(e);if(!t.nodeType||t.nodeType!==Node.ELEMENT_NODE)return!0;var n=t.getBoundingClientRect(),r=e.pageX,i=e.pageY;return!(r>=n.left&&r<=n.right&&i>=n.top&&i<=n.bottom)}return!1}(t))&&(e.prevent||D(o,"tap",{x:t.clientX,y:t.clientY,sourceEvent:t,preventer:n}))}R({name:"downup",deps:["mousedown","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]},emits:["down","up"],info:{movefn:null,upfn:null},reset:function(){E(this.info)},mousedown:function(e){if(k(e)){var t=C(e),n=this;x(this.info,(function(e){k(e)||(F("up",t,e),E(n.info))}),(function(e){k(e)&&F("up",t,e),E(n.info)})),F("down",t,e)}},touchstart:function(e){F("down",C(e),e.changedTouches[0],e)},touchend:function(e){F("up",C(e),e.changedTouches[0],e)}}),R({name:"track",touchAction:"none",deps:["mousedown","touchstart","touchmove","touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]},emits:["track"],info:{x:0,y:0,state:"start",started:!1,moves:[],addMove:function(e){this.moves.length>2&&this.moves.shift(),this.moves.push(e)},movefn:null,upfn:null,prevent:!1},reset:function(){this.info.state="start",this.info.started=!1,this.info.moves=[],this.info.x=0,this.info.y=0,this.info.prevent=!1,E(this.info)},mousedown:function(e){if(k(e)){var t=C(e),n=this,r=function(e){var r=e.clientX,i=e.clientY;L(n.info,r,i)&&(n.info.state=n.info.started?"mouseup"===e.type?"end":"track":"start","start"===n.info.state&&z("tap"),n.info.addMove({x:r,y:i}),k(e)||(n.info.state="end",E(n.info)),t&&N(n.info,t,e),n.info.started=!0)};x(this.info,r,(function(e){n.info.started&&r(e),E(n.info)})),this.info.x=e.clientX,this.info.y=e.clientY}},touchstart:function(e){var t=e.changedTouches[0];this.info.x=t.clientX,this.info.y=t.clientY},touchmove:function(e){var t=C(e),n=e.changedTouches[0],r=n.clientX,i=n.clientY;L(this.info,r,i)&&("start"===this.info.state&&z("tap"),this.info.addMove({x:r,y:i}),N(this.info,t,n),this.info.state="track",this.info.started=!0)},touchend:function(e){var t=C(e),n=e.changedTouches[0];this.info.started&&(this.info.state="end",this.info.addMove({x:n.clientX,y:n.clientY}),N(this.info,t,n))}}),R({name:"tap",deps:["mousedown","click","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["click","touchend"]},emits:["tap"],info:{x:NaN,y:NaN,prevent:!1},reset:function(){this.info.x=NaN,this.info.y=NaN,this.info.prevent=!1},mousedown:function(e){k(e)&&(this.info.x=e.clientX,this.info.y=e.clientY)},click:function(e){k(e)&&M(this.info,e)},touchstart:function(e){var t=e.changedTouches[0];this.info.x=t.clientX,this.info.y=t.clientY},touchend:function(e){M(this.info,e.changedTouches[0],e)}});var H=C,B=A},function(e,t,n){"use strict";n.d(t,"c",(function(){return i})),n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return a}));var r=n(37);function i(e,t){for(var n in t)null===n?e.style.removeProperty(n):e.style.setProperty(n,t[n])}function o(e,t){var n=window.getComputedStyle(e).getPropertyValue(t);return n?n.trim():""}function a(e){var t=r.b.test(e)||r.c.test(e);return r.b.lastIndex=0,r.c.lastIndex=0,t}},function(e,t,n){"use strict";n(3);var r=n(5);function i(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n\n \n\n\n \n']);return i=function(){return e},e}var o=Object(r.a)(i());o.setAttribute("style","display: none;"),document.head.appendChild(o.content);var a=document.createElement("style");a.textContent="[hidden] { display: none !important; }",document.head.appendChild(a)},function(e,t,n){"use strict";n.d(t,"b",(function(){return m})),n.d(t,"a",(function(){return y}));var r=n(26),i=n(13);function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,t,n){return(a="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=u(e)););return e}(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(n):i.value}})(e,t,n||e)}function s(e,t){return(s=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function c(e,t){return!t||"object"!==o(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function l(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function u(e){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function d(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(e,t){for(var n=0;n-1||n)&&-1===o.indexOf("--\x3e",a+1);var s=i.e.exec(o);t+=null===s?o+(n?h:i.g):o.substr(0,s.index)+s[1]+s[2]+i.b+s[3]+i.f}return t+=this.strings[e]}},{key:"getTemplateElement",value:function(){var e=document.createElement("template");return e.innerHTML=this.getHTML(),e}}]),e}(),y=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&s(e,t)}(i,e);var t,n=(t=i,function(){var e,n=u(t);if(l()){var r=u(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return c(this,e)});function i(){return d(this,i),n.apply(this,arguments)}return p(i,[{key:"getHTML",value:function(){return"".concat(a(u(i.prototype),"getHTML",this).call(this),"")}},{key:"getTemplateElement",value:function(){var e=a(u(i.prototype),"getTemplateElement",this).call(this),t=e.content,n=t.firstChild;return t.removeChild(n),Object(r.c)(t,n.firstChild),e}}]),i}(m)},function(e,t,n){"use strict";var r=function(e,t){return e.length===t.length&&e.every((function(e,n){return r=e,i=t[n],r===i;var r,i}))};t.a=function(e,t){var n;void 0===t&&(t=r);var i,o=[],a=!1;return function(){for(var r=arguments.length,s=new Array(r),c=0;c=0}},{key:"setItemSelected",value:function(e,t){if(null!=e&&t!==this.isSelected(e)){if(t)this.selection.push(e);else{var n=this.selection.indexOf(e);n>=0&&this.selection.splice(n,1)}this.selectCallback&&this.selectCallback(e,t)}}},{key:"select",value:function(e){this.multi?this.toggle(e):this.get()!==e&&(this.setItemSelected(this.get(),!1),this.setItemSelected(e,!0))}},{key:"toggle",value:function(e){this.setItemSelected(e,!this.isSelected(e))}}])&&o(t.prototype,n),r&&o(t,r),e}();n.d(t,"a",(function(){return s}));var s={properties:{attrForSelected:{type:String,value:null},selected:{type:String,notify:!0},selectedItem:{type:Object,readOnly:!0,notify:!0},activateEvent:{type:String,value:"tap",observer:"_activateEventChanged"},selectable:String,selectedClass:{type:String,value:"iron-selected"},selectedAttribute:{type:String,value:null},fallbackSelection:{type:String,value:null},items:{type:Array,readOnly:!0,notify:!0,value:function(){return[]}},_excludedLocalNames:{type:Object,value:function(){return{template:1,"dom-bind":1,"dom-if":1,"dom-repeat":1}}}},observers:["_updateAttrForSelected(attrForSelected)","_updateSelected(selected)","_checkFallback(fallbackSelection)"],created:function(){this._bindFilterItem=this._filterItem.bind(this),this._selection=new a(this._applySelection.bind(this))},attached:function(){this._observer=this._observeItems(this),this._addListener(this.activateEvent)},detached:function(){this._observer&&Object(r.a)(this).unobserveNodes(this._observer),this._removeListener(this.activateEvent)},indexOf:function(e){return this.items?this.items.indexOf(e):-1},select:function(e){this.selected=e},selectPrevious:function(){var e=this.items.length,t=e-1;void 0!==this.selected&&(t=(Number(this._valueToIndex(this.selected))-1+e)%e),this.selected=this._indexToValue(t)},selectNext:function(){var e=0;void 0!==this.selected&&(e=(Number(this._valueToIndex(this.selected))+1)%this.items.length),this.selected=this._indexToValue(e)},selectIndex:function(e){this.select(this._indexToValue(e))},forceSynchronousItemUpdate:function(){this._observer&&"function"==typeof this._observer.flush?this._observer.flush():this._updateItems()},get _shouldUpdateSelection(){return null!=this.selected},_checkFallback:function(){this._updateSelected()},_addListener:function(e){this.listen(this,e,"_activateHandler")},_removeListener:function(e){this.unlisten(this,e,"_activateHandler")},_activateEventChanged:function(e,t){this._removeListener(t),this._addListener(e)},_updateItems:function(){var e=Object(r.a)(this).queryDistributedElements(this.selectable||"*");e=Array.prototype.filter.call(e,this._bindFilterItem),this._setItems(e)},_updateAttrForSelected:function(){this.selectedItem&&(this.selected=this._valueForItem(this.selectedItem))},_updateSelected:function(){this._selectSelected(this.selected)},_selectSelected:function(e){if(this.items){var t=this._valueToItem(this.selected);t?this._selection.select(t):this._selection.clear(),this.fallbackSelection&&this.items.length&&void 0===this._selection.get()&&(this.selected=this.fallbackSelection)}},_filterItem:function(e){return!this._excludedLocalNames[e.localName]},_valueToItem:function(e){return null==e?null:this.items[this._valueToIndex(e)]},_valueToIndex:function(e){if(!this.attrForSelected)return Number(e);for(var t,n=0;t=this.items[n];n++)if(this._valueForItem(t)==e)return n},_indexToValue:function(e){if(!this.attrForSelected)return e;var t=this.items[e];return t?this._valueForItem(t):void 0},_valueForItem:function(e){if(!e)return null;if(!this.attrForSelected){var t=this.indexOf(e);return-1===t?null:t}var n=e[Object(i.b)(this.attrForSelected)];return null!=n?n:e.getAttribute(this.attrForSelected)},_applySelection:function(e,t){this.selectedClass&&this.toggleClass(this.selectedClass,t,e),this.selectedAttribute&&this.toggleAttribute(this.selectedAttribute,t,e),this._selectionChange(),this.fire("iron-"+(t?"select":"deselect"),{item:e})},_selectionChange:function(){this._setSelectedItem(this._selection.get())},_observeItems:function(e){return Object(r.a)(e).observeNodes((function(e){this._updateItems(),this._updateSelected(),this.fire("iron-items-changed",e,{bubbles:!1,cancelable:!1})}))},_activateHandler:function(e){for(var t=e.target,n=this.items;t&&t!=this;){var r=n.indexOf(t);if(r>=0){var i=this._indexToValue(r);return void this._itemActivate(i,t)}t=t.parentNode}},_itemActivate:function(e,t){this.fire("iron-activate",{selected:e,item:t},{cancelable:!0}).defaultPrevented||this.select(e)}}},function(e,t,n){"use strict";var r=n(1),i=n(0),o=(n(60),n(39));function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function s(){var e=u(['\n ','\n ',"\n \n "]);return s=function(){return e},e}function c(){var e=u(['\n \n ']);return c=function(){return e},e}function l(){var e=u(["",""]);return l=function(){return e},e}function u(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function d(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(e,t){for(var n=0;ni{position:absolute;top:0;padding-top:inherit}.mdc-icon-button i,.mdc-icon-button svg,.mdc-icon-button img,.mdc-icon-button ::slotted(*){display:block;width:var(--mdc-icon-size, 24px);height:var(--mdc-icon-size, 24px)}']);return b=function(){return e},e}Object(r.b)([Object(i.h)({type:Boolean,reflect:!0})],v.prototype,"disabled",void 0),Object(r.b)([Object(i.h)({type:String})],v.prototype,"icon",void 0),Object(r.b)([Object(i.h)({type:String})],v.prototype,"label",void 0),Object(r.b)([Object(i.i)("button")],v.prototype,"buttonElement",void 0),Object(r.b)([Object(i.j)("mwc-ripple")],v.prototype,"ripple",void 0),Object(r.b)([Object(i.g)()],v.prototype,"shouldRenderRipple",void 0),Object(r.b)([Object(i.e)({passive:!0})],v.prototype,"handleRippleMouseDown",null),Object(r.b)([Object(i.e)({passive:!0})],v.prototype,"handleRippleTouchStart",null);var g=Object(i.c)(b());function _(e){return(_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function w(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function k(e,t){return(k=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function O(e,t){return!t||"object"!==_(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function x(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function E(e){return(E=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var S=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&k(e,t)}(r,e);var t,n=(t=r,function(){var e,n=E(t);if(x()){var r=E(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return O(this,e)});function r(){return w(this,r),n.apply(this,arguments)}return r}(v);S.styles=g,S=Object(r.b)([Object(i.d)("mwc-icon-button")],S)},function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r=n(26),i=n(13);function o(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||s(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=s(e))){var t=0,n=function(){};return{s:n,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,i,o=!0,a=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==r.return||r.return()}finally{if(a)throw i}}}}function s(e,t){if(e){if("string"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(e,t):void 0}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nu.source.length&&"property"==l.kind&&!l.isCompound&&c.__isPropertyEffectsClient&&c.__dataHasAccessor&&c.__dataHasAccessor[l.target]){var d=n[t];t=Object(i.i)(u.source,l.target,t),c._setPendingPropertyOrPath(t,d,!1,!0)&&e._enqueueClient(c)}else{!function(e,t,n,r,i){i=function(e,t,n,r){if(n.isCompound){var i=e.__dataCompoundStorage[n.target];i[r.compoundIndex]=t,t=i.join("")}"attribute"!==n.kind&&("textContent"!==n.target&&("value"!==n.target||"input"!==e.localName&&"textarea"!==e.localName)||(t=null==t?"":t));return t}(t,i,n,r),w.d&&(i=Object(w.d)(i,n.target,n.kind,t));if("attribute"==n.kind)e._valueToNodeAttribute(t,i,n.target);else{var o=n.target;t.__isPropertyEffectsClient&&t.__dataHasAccessor&&t.__dataHasAccessor[o]?t[R.READ_ONLY]&&t[R.READ_ONLY][o]||t._setPendingProperty(o,i)&&e._enqueueClient(t):e._setUnmanagedPropertyToNode(t,o,i)}}(e,c,l,u,o.evaluator._evaluateBinding(e,u,t,n,r,a))}}function G(e,t){if(t.isCompound){for(var n=e.__dataCompoundStorage||(e.__dataCompoundStorage={}),r=t.parts,i=new Array(r.length),o=0;o="0"&&r<="9"&&(r="#"),r){case"'":case'"':n.value=t.slice(1,-1),n.literal=!0;break;case"#":n.value=Number(t),n.literal=!0}return n.literal||(n.rootProperty=Object(i.g)(t),n.structured=Object(i.d)(t),n.structured&&(n.wildcard=".*"==t.slice(-2),n.wildcard&&(n.name=t.slice(0,-2)))),n}function ne(e,t,n,r){var i=n+".splices";e.notifyPath(i,{indexSplices:r}),e.notifyPath(n+".length",t.length),e.__data[i]={indexSplices:null}}function re(e,t,n,r,i,o){ne(e,t,n,[{index:r,addedCount:i,removed:o,object:t,type:"splice"}])}var ie=Object(r.a)((function(e){var t=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&S(e,t)}(r,e);var t,n=(t=r,function(){var e,n=P(t);if(C()){var r=P(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return j(this,e)});function r(){var e;return k(this,r),(e=n.call(this)).__isPropertyEffectsClient=!0,e.__dataCounter=0,e.__dataClientsReady,e.__dataPendingClients,e.__dataToNotify,e.__dataLinkedPaths,e.__dataHasPaths,e.__dataCompoundStorage,e.__dataHost,e.__dataTemp,e.__dataClientsInitialized,e.__data,e.__dataPending,e.__dataOld,e.__computeEffects,e.__reflectEffects,e.__notifyEffects,e.__propagateEffects,e.__observeEffects,e.__readOnly,e.__templateInfo,e}return x(r,[{key:"_initializeProperties",value:function(){E(P(r.prototype),"_initializeProperties",this).call(this),oe.registerHost(this),this.__dataClientsReady=!1,this.__dataPendingClients=null,this.__dataToNotify=null,this.__dataLinkedPaths=null,this.__dataHasPaths=!1,this.__dataCompoundStorage=this.__dataCompoundStorage||null,this.__dataHost=this.__dataHost||null,this.__dataTemp={},this.__dataClientsInitialized=!1}},{key:"_initializeProtoProperties",value:function(e){this.__data=Object.create(e),this.__dataPending=Object.create(e),this.__dataOld={}}},{key:"_initializeInstanceProperties",value:function(e){var t=this[R.READ_ONLY];for(var n in e)t&&t[n]||(this.__dataPending=this.__dataPending||{},this.__dataOld=this.__dataOld||{},this.__data[n]=this.__dataPending[n]=e[n])}},{key:"_addPropertyEffect",value:function(e,t,n){this._createPropertyAccessor(e,t==R.READ_ONLY);var r=D(this,t)[e];r||(r=this[t][e]=[]),r.push(n)}},{key:"_removePropertyEffect",value:function(e,t,n){var r=D(this,t)[e],i=r.indexOf(n);i>=0&&r.splice(i,1)}},{key:"_hasPropertyEffect",value:function(e,t){var n=this[t];return Boolean(n&&n[e])}},{key:"_hasReadOnlyEffect",value:function(e){return this._hasPropertyEffect(e,R.READ_ONLY)}},{key:"_hasNotifyEffect",value:function(e){return this._hasPropertyEffect(e,R.NOTIFY)}},{key:"_hasReflectEffect",value:function(e){return this._hasPropertyEffect(e,R.REFLECT)}},{key:"_hasComputedEffect",value:function(e){return this._hasPropertyEffect(e,R.COMPUTE)}},{key:"_setPendingPropertyOrPath",value:function(e,t,n,o){if(o||Object(i.g)(Array.isArray(e)?e[0]:e)!==e){if(!o){var a=Object(i.a)(this,e);if(!(e=Object(i.h)(this,e,t))||!E(P(r.prototype),"_shouldPropertyChange",this).call(this,e,t,a))return!1}if(this.__dataHasPaths=!0,this._setPendingProperty(e,t,n))return function(e,t,n){var r,o=e.__dataLinkedPaths;if(o)for(var a in o){var s=o[a];Object(i.c)(a,t)?(r=Object(i.i)(a,s,t),e._setPendingPropertyOrPath(r,n,!0,!0)):Object(i.c)(s,t)&&(r=Object(i.i)(s,a,t),e._setPendingPropertyOrPath(r,n,!0,!0))}}(this,e,t),!0}else{if(this.__dataHasAccessor&&this.__dataHasAccessor[e])return this._setPendingProperty(e,t,n);this[e]=t}return!1}},{key:"_setUnmanagedPropertyToNode",value:function(e,t,n){n===e[t]&&"object"!=A(n)||(e[t]=n)}},{key:"_setPendingProperty",value:function(e,t,n){var r=this.__dataHasPaths&&Object(i.d)(e),o=r?this.__dataTemp:this.__data;return!!this._shouldPropertyChange(e,t,o[e])&&(this.__dataPending||(this.__dataPending={},this.__dataOld={}),e in this.__dataOld||(this.__dataOld[e]=this.__data[e]),r?this.__dataTemp[e]=t:this.__data[e]=t,this.__dataPending[e]=t,(r||this[R.NOTIFY]&&this[R.NOTIFY][e])&&(this.__dataToNotify=this.__dataToNotify||{},this.__dataToNotify[e]=n),!0)}},{key:"_setProperty",value:function(e,t){this._setPendingProperty(e,t,!0)&&this._invalidateProperties()}},{key:"_invalidateProperties",value:function(){this.__dataReady&&this._flushProperties()}},{key:"_enqueueClient",value:function(e){this.__dataPendingClients=this.__dataPendingClients||[],e!==this&&this.__dataPendingClients.push(e)}},{key:"_flushProperties",value:function(){this.__dataCounter++,E(P(r.prototype),"_flushProperties",this).call(this),this.__dataCounter--}},{key:"_flushClients",value:function(){this.__dataClientsReady?this.__enableOrFlushClients():(this.__dataClientsReady=!0,this._readyClients(),this.__dataReady=!0)}},{key:"__enableOrFlushClients",value:function(){var e=this.__dataPendingClients;if(e){this.__dataPendingClients=null;for(var t=0;t1?o-1:0),s=1;s3?r-3:0),a=3;a1?r-1:0),a=1;ai&&r.push({literal:e.slice(i,n.index)});var o=n[1][0],a=Boolean(n[2]),s=n[3].trim(),c=!1,l="",u=-1;"{"==o&&(u=s.indexOf("::"))>0&&(l=s.substring(u+2),s=s.substring(0,u),c=!0);var d=ee(s),f=[];if(d){for(var p=d.args,h=d.methodName,m=0;m',"
"]);return a=function(){return e},e}function s(){var e=l(["\n ","\n \n "]);return s=function(){return e},e}function c(){var e=l(["\n :host {\n background: var(\n --ha-card-background,\n var(--card-background-color, white)\n );\n border-radius: var(--ha-card-border-radius, 4px);\n box-shadow: var(\n --ha-card-box-shadow,\n 0px 2px 1px -1px rgba(0, 0, 0, 0.2),\n 0px 1px 1px 0px rgba(0, 0, 0, 0.14),\n 0px 1px 3px 0px rgba(0, 0, 0, 0.12)\n );\n color: var(--primary-text-color);\n display: block;\n transition: all 0.3s ease-out;\n position: relative;\n }\n\n :host([outlined]) {\n box-shadow: none;\n border-width: 1px;\n border-style: solid;\n border-color: var(\n --ha-card-border-color,\n var(--divider-color, #e0e0e0)\n );\n }\n\n .card-header,\n :host ::slotted(.card-header) {\n color: var(--ha-card-header-color, --primary-text-color);\n font-family: var(--ha-card-header-font-family, inherit);\n font-size: var(--ha-card-header-font-size, 24px);\n letter-spacing: -0.012em;\n line-height: 32px;\n padding: 24px 16px 16px;\n display: block;\n }\n\n :host ::slotted(.card-content:not(:first-child)),\n slot:not(:first-child)::slotted(.card-content) {\n padding-top: 0px;\n margin-top: -8px;\n }\n\n :host ::slotted(.card-content) {\n padding: 16px;\n }\n\n :host ::slotted(.card-actions) {\n border-top: 1px solid var(--divider-color, #e8e8e8);\n padding: 5px 16px;\n }\n "]);return c=function(){return e},e}function l(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t){return(d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function f(e,t){return!t||"object"!==i(t)&&"function"!=typeof t?p(e):t}function p(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function m(e){return(m=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function y(e){var t,n=w(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function v(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function b(e){return e.decorators&&e.decorators.length}function g(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function _(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function w(e){var t=function(e,t){if("object"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===i(t)?t:String(t)}function k(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n \n"]);return i=function(){return e},e}var o=Object(r.a)(i());o.setAttribute("style","display: none;"),document.head.appendChild(o.content)},function(e,t,n){"use strict";var r=n(1),i=n(0),o=n(23),a=n(28),s={BG_FOCUSED:"mdc-ripple-upgraded--background-focused",FG_ACTIVATION:"mdc-ripple-upgraded--foreground-activation",FG_DEACTIVATION:"mdc-ripple-upgraded--foreground-deactivation",ROOT:"mdc-ripple-upgraded",UNBOUNDED:"mdc-ripple-upgraded--unbounded"},c={VAR_FG_SCALE:"--mdc-ripple-fg-scale",VAR_FG_SIZE:"--mdc-ripple-fg-size",VAR_FG_TRANSLATE_END:"--mdc-ripple-fg-translate-end",VAR_FG_TRANSLATE_START:"--mdc-ripple-fg-translate-start",VAR_LEFT:"--mdc-ripple-left",VAR_TOP:"--mdc-ripple-top"},l={DEACTIVATION_TIMEOUT_MS:225,FG_DEACTIVATION_MS:150,INITIAL_ORIGIN_SCALE:.6,PADDING:10,TAP_DELAY_MS:300};var u=["touchstart","pointerdown","mousedown","keydown"],d=["touchend","pointerup","mouseup","contextmenu"],f=[],p=function(e){function t(n){var i=e.call(this,Object(r.a)(Object(r.a)({},t.defaultAdapter),n))||this;return i.activationAnimationHasEnded_=!1,i.activationTimer_=0,i.fgDeactivationRemovalTimer_=0,i.fgScale_="0",i.frame_={width:0,height:0},i.initialSize_=0,i.layoutFrame_=0,i.maxRadius_=0,i.unboundedCoords_={left:0,top:0},i.activationState_=i.defaultActivationState_(),i.activationTimerCallback_=function(){i.activationAnimationHasEnded_=!0,i.runDeactivationUXLogicIfReady_()},i.activateHandler_=function(e){return i.activate_(e)},i.deactivateHandler_=function(){return i.deactivate_()},i.focusHandler_=function(){return i.handleFocus()},i.blurHandler_=function(){return i.handleBlur()},i.resizeHandler_=function(){return i.layout()},i}return Object(r.c)(t,e),Object.defineProperty(t,"cssClasses",{get:function(){return s},enumerable:!0,configurable:!0}),Object.defineProperty(t,"strings",{get:function(){return c},enumerable:!0,configurable:!0}),Object.defineProperty(t,"numbers",{get:function(){return l},enumerable:!0,configurable:!0}),Object.defineProperty(t,"defaultAdapter",{get:function(){return{addClass:function(){},browserSupportsCssVars:function(){return!0},computeBoundingRect:function(){return{top:0,right:0,bottom:0,left:0,width:0,height:0}},containsEventTarget:function(){return!0},deregisterDocumentInteractionHandler:function(){},deregisterInteractionHandler:function(){},deregisterResizeHandler:function(){},getWindowPageOffset:function(){return{x:0,y:0}},isSurfaceActive:function(){return!0},isSurfaceDisabled:function(){return!0},isUnbounded:function(){return!0},registerDocumentInteractionHandler:function(){},registerInteractionHandler:function(){},registerResizeHandler:function(){},removeClass:function(){},updateCssVariable:function(){}}},enumerable:!0,configurable:!0}),t.prototype.init=function(){var e=this,n=this.supportsPressRipple_();if(this.registerRootHandlers_(n),n){var r=t.cssClasses,i=r.ROOT,o=r.UNBOUNDED;requestAnimationFrame((function(){e.adapter.addClass(i),e.adapter.isUnbounded()&&(e.adapter.addClass(o),e.layoutInternal_())}))}},t.prototype.destroy=function(){var e=this;if(this.supportsPressRipple_()){this.activationTimer_&&(clearTimeout(this.activationTimer_),this.activationTimer_=0,this.adapter.removeClass(t.cssClasses.FG_ACTIVATION)),this.fgDeactivationRemovalTimer_&&(clearTimeout(this.fgDeactivationRemovalTimer_),this.fgDeactivationRemovalTimer_=0,this.adapter.removeClass(t.cssClasses.FG_DEACTIVATION));var n=t.cssClasses,r=n.ROOT,i=n.UNBOUNDED;requestAnimationFrame((function(){e.adapter.removeClass(r),e.adapter.removeClass(i),e.removeCssVars_()}))}this.deregisterRootHandlers_(),this.deregisterDeactivationHandlers_()},t.prototype.activate=function(e){this.activate_(e)},t.prototype.deactivate=function(){this.deactivate_()},t.prototype.layout=function(){var e=this;this.layoutFrame_&&cancelAnimationFrame(this.layoutFrame_),this.layoutFrame_=requestAnimationFrame((function(){e.layoutInternal_(),e.layoutFrame_=0}))},t.prototype.setUnbounded=function(e){var n=t.cssClasses.UNBOUNDED;e?this.adapter.addClass(n):this.adapter.removeClass(n)},t.prototype.handleFocus=function(){var e=this;requestAnimationFrame((function(){return e.adapter.addClass(t.cssClasses.BG_FOCUSED)}))},t.prototype.handleBlur=function(){var e=this;requestAnimationFrame((function(){return e.adapter.removeClass(t.cssClasses.BG_FOCUSED)}))},t.prototype.supportsPressRipple_=function(){return this.adapter.browserSupportsCssVars()},t.prototype.defaultActivationState_=function(){return{activationEvent:void 0,hasDeactivationUXRun:!1,isActivated:!1,isProgrammatic:!1,wasActivatedByPointer:!1,wasElementMadeActive:!1}},t.prototype.registerRootHandlers_=function(e){var t=this;e&&(u.forEach((function(e){t.adapter.registerInteractionHandler(e,t.activateHandler_)})),this.adapter.isUnbounded()&&this.adapter.registerResizeHandler(this.resizeHandler_)),this.adapter.registerInteractionHandler("focus",this.focusHandler_),this.adapter.registerInteractionHandler("blur",this.blurHandler_)},t.prototype.registerDeactivationHandlers_=function(e){var t=this;"keydown"===e.type?this.adapter.registerInteractionHandler("keyup",this.deactivateHandler_):d.forEach((function(e){t.adapter.registerDocumentInteractionHandler(e,t.deactivateHandler_)}))},t.prototype.deregisterRootHandlers_=function(){var e=this;u.forEach((function(t){e.adapter.deregisterInteractionHandler(t,e.activateHandler_)})),this.adapter.deregisterInteractionHandler("focus",this.focusHandler_),this.adapter.deregisterInteractionHandler("blur",this.blurHandler_),this.adapter.isUnbounded()&&this.adapter.deregisterResizeHandler(this.resizeHandler_)},t.prototype.deregisterDeactivationHandlers_=function(){var e=this;this.adapter.deregisterInteractionHandler("keyup",this.deactivateHandler_),d.forEach((function(t){e.adapter.deregisterDocumentInteractionHandler(t,e.deactivateHandler_)}))},t.prototype.removeCssVars_=function(){var e=this,n=t.strings;Object.keys(n).forEach((function(t){0===t.indexOf("VAR_")&&e.adapter.updateCssVariable(n[t],null)}))},t.prototype.activate_=function(e){var t=this;if(!this.adapter.isSurfaceDisabled()){var n=this.activationState_;if(!n.isActivated){var r=this.previousActivationEvent_;if(!(r&&void 0!==e&&r.type!==e.type))n.isActivated=!0,n.isProgrammatic=void 0===e,n.activationEvent=e,n.wasActivatedByPointer=!n.isProgrammatic&&(void 0!==e&&("mousedown"===e.type||"touchstart"===e.type||"pointerdown"===e.type)),void 0!==e&&f.length>0&&f.some((function(e){return t.adapter.containsEventTarget(e)}))?this.resetActivationState_():(void 0!==e&&(f.push(e.target),this.registerDeactivationHandlers_(e)),n.wasElementMadeActive=this.checkElementMadeActive_(e),n.wasElementMadeActive&&this.animateActivation_(),requestAnimationFrame((function(){f=[],n.wasElementMadeActive||void 0===e||" "!==e.key&&32!==e.keyCode||(n.wasElementMadeActive=t.checkElementMadeActive_(e),n.wasElementMadeActive&&t.animateActivation_()),n.wasElementMadeActive||(t.activationState_=t.defaultActivationState_())})))}}},t.prototype.checkElementMadeActive_=function(e){return void 0===e||"keydown"!==e.type||this.adapter.isSurfaceActive()},t.prototype.animateActivation_=function(){var e=this,n=t.strings,r=n.VAR_FG_TRANSLATE_START,i=n.VAR_FG_TRANSLATE_END,o=t.cssClasses,a=o.FG_DEACTIVATION,s=o.FG_ACTIVATION,c=t.numbers.DEACTIVATION_TIMEOUT_MS;this.layoutInternal_();var l="",u="";if(!this.adapter.isUnbounded()){var d=this.getFgTranslationCoordinates_(),f=d.startPoint,p=d.endPoint;l=f.x+"px, "+f.y+"px",u=p.x+"px, "+p.y+"px"}this.adapter.updateCssVariable(r,l),this.adapter.updateCssVariable(i,u),clearTimeout(this.activationTimer_),clearTimeout(this.fgDeactivationRemovalTimer_),this.rmBoundedActivationClasses_(),this.adapter.removeClass(a),this.adapter.computeBoundingRect(),this.adapter.addClass(s),this.activationTimer_=setTimeout((function(){return e.activationTimerCallback_()}),c)},t.prototype.getFgTranslationCoordinates_=function(){var e,t=this.activationState_,n=t.activationEvent;return{startPoint:e={x:(e=t.wasActivatedByPointer?function(e,t,n){if(!e)return{x:0,y:0};var r,i,o=t.x,a=t.y,s=o+n.left,c=a+n.top;if("touchstart"===e.type){var l=e;r=l.changedTouches[0].pageX-s,i=l.changedTouches[0].pageY-c}else{var u=e;r=u.pageX-s,i=u.pageY-c}return{x:r,y:i}}(n,this.adapter.getWindowPageOffset(),this.adapter.computeBoundingRect()):{x:this.frame_.width/2,y:this.frame_.height/2}).x-this.initialSize_/2,y:e.y-this.initialSize_/2},endPoint:{x:this.frame_.width/2-this.initialSize_/2,y:this.frame_.height/2-this.initialSize_/2}}},t.prototype.runDeactivationUXLogicIfReady_=function(){var e=this,n=t.cssClasses.FG_DEACTIVATION,r=this.activationState_,i=r.hasDeactivationUXRun,o=r.isActivated;(i||!o)&&this.activationAnimationHasEnded_&&(this.rmBoundedActivationClasses_(),this.adapter.addClass(n),this.fgDeactivationRemovalTimer_=setTimeout((function(){e.adapter.removeClass(n)}),l.FG_DEACTIVATION_MS))},t.prototype.rmBoundedActivationClasses_=function(){var e=t.cssClasses.FG_ACTIVATION;this.adapter.removeClass(e),this.activationAnimationHasEnded_=!1,this.adapter.computeBoundingRect()},t.prototype.resetActivationState_=function(){var e=this;this.previousActivationEvent_=this.activationState_.activationEvent,this.activationState_=this.defaultActivationState_(),setTimeout((function(){return e.previousActivationEvent_=void 0}),t.numbers.TAP_DELAY_MS)},t.prototype.deactivate_=function(){var e=this,t=this.activationState_;if(t.isActivated){var n=Object(r.a)({},t);t.isProgrammatic?(requestAnimationFrame((function(){return e.animateDeactivation_(n)})),this.resetActivationState_()):(this.deregisterDeactivationHandlers_(),requestAnimationFrame((function(){e.activationState_.hasDeactivationUXRun=!0,e.animateDeactivation_(n),e.resetActivationState_()})))}},t.prototype.animateDeactivation_=function(e){var t=e.wasActivatedByPointer,n=e.wasElementMadeActive;(t||n)&&this.runDeactivationUXLogicIfReady_()},t.prototype.layoutInternal_=function(){var e=this;this.frame_=this.adapter.computeBoundingRect();var n=Math.max(this.frame_.height,this.frame_.width);this.maxRadius_=this.adapter.isUnbounded()?n:Math.sqrt(Math.pow(e.frame_.width,2)+Math.pow(e.frame_.height,2))+t.numbers.PADDING;var r=Math.floor(n*t.numbers.INITIAL_ORIGIN_SCALE);this.adapter.isUnbounded()&&r%2!=0?this.initialSize_=r-1:this.initialSize_=r,this.fgScale_=""+this.maxRadius_/this.initialSize_,this.updateLayoutCssVars_()},t.prototype.updateLayoutCssVars_=function(){var e=t.strings,n=e.VAR_FG_SIZE,r=e.VAR_LEFT,i=e.VAR_TOP,o=e.VAR_FG_SCALE;this.adapter.updateCssVariable(n,this.initialSize_+"px"),this.adapter.updateCssVariable(o,this.fgScale_),this.adapter.isUnbounded()&&(this.unboundedCoords_={left:Math.round(this.frame_.width/2-this.initialSize_/2),top:Math.round(this.frame_.height/2-this.initialSize_/2)},this.adapter.updateCssVariable(r,this.unboundedCoords_.left+"px"),this.adapter.updateCssVariable(i,this.unboundedCoords_.top+"px"))},t}(a.a),h=n(17),m=n(10),y=new WeakMap,v=Object(m.c)((function(e){return function(t){if(!(t instanceof m.a)||t instanceof m.b||"style"!==t.committer.name||t.committer.parts.length>1)throw new Error("The `styleMap` directive must be used in the style attribute and must be the only part in the attribute.");var n=t.committer,r=n.element.style,i=y.get(t);for(var o in void 0===i&&(r.cssText=n.strings.join(" "),y.set(t,i=new Set)),i.forEach((function(t){t in e||(i.delete(t),-1===t.indexOf("-")?r[t]=null:r.removeProperty(t))})),e)i.add(o),-1===o.indexOf("-")?r[o]=e[o]:r.setProperty(o,e[o])}}));function b(e){return(b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function g(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n
']);return g=function(){return e},e}function _(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function w(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nt||Number(o)===t&&Number(a)>=n}},function(e,t,n){"use strict";n.d(t,"a",(function(){return b}));n(14);var r=n(27),i=n(15);function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==arguments[2]?arguments[2]:"",i="";if(t.cssText||t.rules){var o=t.rules;if(o&&!a(o))for(var c,d=0,f=o.length;d1&&void 0!==arguments[1]?arguments[1]:"",n=_(e);return this.transformRules(n,t),e.textContent=g(n),n}},{key:"transformCustomStyle",value:function(e){var t=this,n=_(e);return w(n,(function(e){":root"===e.selector&&(e.selector="html"),t.transformRule(e)})),e.textContent=g(n),n}},{key:"transformRules",value:function(e,t){var n=this;this._currentElement=t,w(e,(function(e){n.transformRule(e)})),this._currentElement=null}},{key:"transformRule",value:function(e){e.cssText=this.transformCssText(e.parsedCssText,e),":root"===e.selector&&(e.selector=":host > *")}},{key:"transformCssText",value:function(e,t){var n=this;return e=e.replace(m.c,(function(e,r,i,o){return n._produceCssProperties(e,r,i,o,t)})),this._consumeCssProperties(e,t)}},{key:"_getInitialValueForProperty",value:function(e){return this._measureElement||(this._measureElement=document.createElement("meta"),this._measureElement.setAttribute("apply-shim-measure",""),this._measureElement.style.all="initial",document.head.appendChild(this._measureElement)),window.getComputedStyle(this._measureElement).getPropertyValue(e)}},{key:"_fallbacksFromPreviousRules",value:function(e){for(var t=this,n=e;n.parent;)n=n.parent;var r={},i=!1;return w(n,(function(n){(i=i||n===e)||n.selector===e.selector&&Object.assign(r,t._cssTextToMap(n.parsedCssText))})),r}},{key:"_consumeCssProperties",value:function(e,t){for(var n=null;n=m.b.exec(e);){var r=n[0],i=n[1],o=n.index,a=o+r.indexOf("@apply"),s=o+r.length,c=e.slice(0,a),l=e.slice(s),u=t?this._fallbacksFromPreviousRules(t):{};Object.assign(u,this._cssTextToMap(c));var d=this._atApplyToCssProperties(i,u);e="".concat(c).concat(d).concat(l),m.b.lastIndex=o+d.length}return e}},{key:"_atApplyToCssProperties",value:function(e,t){e=e.replace(P,"");var n=[],r=this._map.get(e);if(r||(this._map.set(e,{}),r=this._map.get(e)),r){var i,o,a;this._currentElement&&(r.dependants[this._currentElement]=!0);var s=r.properties;for(i in s)o=[i,": var(",e,"_-_",i],(a=t&&t[i])&&o.push(",",a.replace(T,"")),o.push(")"),T.test(s[i])&&o.push(" !important"),n.push(o.join(""))}return n.join("; ")}},{key:"_replaceInitialOrInherit",value:function(e,t){var n=A.exec(t);return n&&(t=n[1]?this._getInitialValueForProperty(e):"apply-shim-inherit"),t}},{key:"_cssTextToMap",value:function(e){for(var t,n,r,i,o=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=e.split(";"),s={},c=0;c1&&(t=i[0].trim(),n=i.slice(1).join(":"),o&&(n=this._replaceInitialOrInherit(t,n)),s[t]=n);return s}},{key:"_invalidateMixinEntry",value:function(e){if(I)for(var t in e.dependants)t!==this._currentElement&&I(t)}},{key:"_produceCssProperties",value:function(e,t,n,r,i){var o=this;if(n&&function e(t,n){var r=t.indexOf("var(");if(-1===r)return n(t,"","","");var i=k(t,r+3),o=t.substring(r+4,i),a=t.substring(0,r),s=e(t.substring(i+1),n),c=o.indexOf(",");return-1===c?n(a,o.trim(),"",s):n(a,o.substring(0,c).trim(),o.substring(c+1).trim(),s)}(n,(function(e,t){t&&o._map.get(t)&&(r="@apply ".concat(t,";"))})),!r)return e;var a=this._consumeCssProperties(""+r,i),s=e.slice(0,e.indexOf("--")),c=this._cssTextToMap(a,!0),l=c,u=this._map.get(t),d=u&&u.properties;d?l=Object.assign(Object.create(d),c):this._map.set(t,l);var f,p,h=[],m=!1;for(f in l)void 0===(p=c[f])&&(p="initial"),d&&!(f in d)&&(m=!0),h.push("".concat(t).concat("_-_").concat(f,": ").concat(p));return m&&this._invalidateMixinEntry(u),u&&(u.properties=l),n&&(s="".concat(e,";").concat(s)),"".concat(s).concat(h.join("; "),";")}}]),e}();D.prototype.detectMixin=D.prototype.detectMixin,D.prototype.transformStyle=D.prototype.transformStyle,D.prototype.transformCustomStyle=D.prototype.transformCustomStyle,D.prototype.transformRules=D.prototype.transformRules,D.prototype.transformRule=D.prototype.transformRule,D.prototype.transformTemplate=D.prototype.transformTemplate,D.prototype._separator="_-_",Object.defineProperty(D.prototype,"invalidCallback",{get:function(){return I},set:function(e){I=e}});var z=D,F={},L="_applyShimCurrentVersion",N="_applyShimNextVersion",M=Promise.resolve();function H(e){var t=F[e];t&&function(e){e[L]=e[L]||0,e._applyShimValidatingVersion=e._applyShimValidatingVersion||0,e[N]=(e[N]||0)+1}(t)}function B(e){return e[L]===e[N]}function V(e){return!B(e)&&e._applyShimValidatingVersion===e[N]}function U(e){e._applyShimValidatingVersion=e[N],e._validating||(e._validating=!0,M.then((function(){e[L]=e[N],e._validating=!1})))}n(89);function K(e,t){for(var n=0;n-1?n=t:(r=t,n=e.getAttribute&&e.getAttribute("is")||""):(n=e.is,r=e.extends),{is:n,typeExtension:r}}(e).is,n=F[t];if((!n||!x(n))&&n&&!B(n)){V(n)||(this.prepareTemplate(n,t),U(n));var r=e.shadowRoot;if(r){var i=r.querySelector("style");i&&(i.__cssRules=n._styleAst,i.textContent=g(n._styleAst))}}}},{key:"styleDocument",value:function(e){this.ensure(),this.styleSubtree(document.body,e)}}])&&K(t.prototype,n),r&&K(t,r),e}();if(!window.ShadyCSS||!window.ShadyCSS.ScopingShim){var G=new q,W=window.ShadyCSS&&window.ShadyCSS.CustomStyleInterface;window.ShadyCSS={prepareTemplate:function(e,t,n){G.flushCustomStyles(),G.prepareTemplate(e,t)},prepareTemplateStyles:function(e,t,n){window.ShadyCSS.prepareTemplate(e,t,n)},prepareTemplateDom:function(e,t){},styleSubtree:function(e,t){G.flushCustomStyles(),G.styleSubtree(e,t)},styleElement:function(e){G.flushCustomStyles(),G.styleElement(e)},styleDocument:function(e){G.flushCustomStyles(),G.styleDocument(e)},getComputedStyleValue:function(e,t){return Object(E.b)(e,t)},flushCustomStyles:function(){G.flushCustomStyles()},nativeCss:r.c,nativeShadow:r.d,cssBuild:r.a,disableRuntime:r.b},W&&(window.ShadyCSS.CustomStyleInterface=W)}window.ShadyCSS.ApplyShim=$;var Y=n(55),X=n(77),Z=n(75),J=n(12);function Q(e){return(Q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ee(e,t){for(var n=0;n-1&&le.splice(e,1)}}}]),i}(t);return n.__activateDir=!1,n}));n(64);function ye(){document.body.removeAttribute("unresolved")}"interactive"===document.readyState||"complete"===document.readyState?ye():window.addEventListener("DOMContentLoaded",ye);var ve=n(2),be=n(45),ge=n(38),_e=n(16),we=n(6);function ke(e){return(ke="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Oe(e){return function(e){if(Array.isArray(e))return xe(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return xe(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return xe(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function xe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0?_e.b.after(n):_e.a,t.bind(this))}},{key:"isDebouncerActive",value:function(e){this._debouncers=this._debouncers||{};var t=this._debouncers[e];return!(!t||!t.isActive())}},{key:"flushDebouncer",value:function(e){this._debouncers=this._debouncers||{};var t=this._debouncers[e];t&&t.flush()}},{key:"cancelDebouncer",value:function(e){this._debouncers=this._debouncers||{};var t=this._debouncers[e];t&&t.cancel()}},{key:"async",value:function(e,t){return t>0?_e.b.run(e.bind(this),t):~_e.a.run(e.bind(this))}},{key:"cancelAsync",value:function(e){e<0?_e.a.cancel(~e):_e.b.cancel(e)}},{key:"create",value:function(e,t){var n=document.createElement(e);if(t)if(n.setProperties)n.setProperties(t);else for(var r in t)n[r]=t[r];return n}},{key:"elementMatches",value:function(e,t){return Object(ve.b)(t||this,e)}},{key:"toggleAttribute",value:function(e,t){var n=this;return 3===arguments.length&&(n=arguments[2]),1==arguments.length&&(t=!n.hasAttribute(e)),t?(n.setAttribute(e,""),!0):(n.removeAttribute(e),!1)}},{key:"toggleClass",value:function(e,t,n){n=n||this,1==arguments.length&&(t=!n.classList.contains(e)),t?n.classList.add(e):n.classList.remove(e)}},{key:"transform",value:function(e,t){(t=t||this).style.webkitTransform=e,t.style.transform=e}},{key:"translate3d",value:function(e,t,n,r){r=r||this,this.transform("translate3d("+e+","+t+","+n+")",r)}},{key:"arrayDelete",value:function(e,t){var n;if(Array.isArray(e)){if((n=e.indexOf(t))>=0)return e.splice(n,1)}else if((n=Object(we.a)(this,e).indexOf(t))>=0)return this.splice(e,n,1);return null}},{key:"_logger",value:function(e,t){var n;switch(Array.isArray(t)&&1===t.length&&Array.isArray(t[0])&&(t=t[0]),e){case"log":case"warn":case"error":(n=console)[e].apply(n,Oe(t))}}},{key:"_log",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n1?t-1:0),r=1;r\n :host {\n display: inline-block;\n position: fixed;\n clip: rect(0px,0px,0px,0px);\n }\n \n
[[_text]]
\n']);return o=function(){return e},e}var a=Object(r.a)({_template:Object(i.a)(o()),is:"iron-a11y-announcer",properties:{mode:{type:String,value:"polite"},_text:{type:String,value:""}},created:function(){a.instance||(a.instance=this),document.body.addEventListener("iron-announce",this._onIronAnnounce.bind(this))},announce:function(e){this._text="",this.async((function(){this._text=e}),100)},_onIronAnnounce:function(e){e.detail&&e.detail.text&&this.announce(e.detail.text)}});a.instance=null,a.requestAvailability=function(){a.instance||(a.instance=document.createElement("iron-a11y-announcer")),document.body.appendChild(a.instance)};var s=n(54),c=n(2);function l(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n \n']);return l=function(){return e},e}Object(r.a)({_template:Object(i.a)(l()),is:"iron-input",behaviors:[s.a],properties:{bindValue:{type:String,value:""},value:{type:String,computed:"_computeValue(bindValue)"},allowedPattern:{type:String},autoValidate:{type:Boolean,value:!1},_inputElement:Object},observers:["_bindValueChanged(bindValue, _inputElement)"],listeners:{input:"_onInput",keypress:"_onKeypress"},created:function(){a.requestAvailability(),this._previousValidInput="",this._patternAlreadyChecked=!1},attached:function(){this._observer=Object(c.a)(this).observeNodes(function(e){this._initSlottedInput()}.bind(this))},detached:function(){this._observer&&(Object(c.a)(this).unobserveNodes(this._observer),this._observer=null)},get inputElement(){return this._inputElement},_initSlottedInput:function(){this._inputElement=this.getEffectiveChildren()[0],this.inputElement&&this.inputElement.value&&(this.bindValue=this.inputElement.value),this.fire("iron-input-ready")},get _patternRegExp(){var e;if(this.allowedPattern)e=new RegExp(this.allowedPattern);else switch(this.inputElement.type){case"number":e=/[0-9.,e-]/}return e},_bindValueChanged:function(e,t){t&&(void 0===e?t.value=null:e!==t.value&&(this.inputElement.value=e),this.autoValidate&&this.validate(),this.fire("bind-value-changed",{value:e}))},_onInput:function(){this.allowedPattern&&!this._patternAlreadyChecked&&(this._checkPatternValidity()||(this._announceInvalidCharacter("Invalid string of characters not entered."),this.inputElement.value=this._previousValidInput));this.bindValue=this._previousValidInput=this.inputElement.value,this._patternAlreadyChecked=!1},_isPrintable:function(e){var t=8==e.keyCode||9==e.keyCode||13==e.keyCode||27==e.keyCode,n=19==e.keyCode||20==e.keyCode||45==e.keyCode||46==e.keyCode||144==e.keyCode||145==e.keyCode||e.keyCode>32&&e.keyCode<41||e.keyCode>111&&e.keyCode<124;return!(t||0==e.charCode&&n)},_onKeypress:function(e){if(this.allowedPattern||"number"===this.inputElement.type){var t=this._patternRegExp;if(t&&!(e.metaKey||e.ctrlKey||e.altKey)){this._patternAlreadyChecked=!0;var n=String.fromCharCode(e.charCode);this._isPrintable(e)&&!t.test(n)&&(e.preventDefault(),this._announceInvalidCharacter("Invalid character "+n+" not entered."))}}},_checkPatternValidity:function(){var e=this._patternRegExp;if(!e)return!0;for(var t=0;t\n :host {\n display: inline-block;\n float: right;\n\n @apply --paper-font-caption;\n @apply --paper-input-char-counter;\n }\n\n :host([hidden]) {\n display: none !important;\n }\n\n :host(:dir(rtl)) {\n float: left;\n }\n \n\n [[_charCounterStr]]\n"]);return d=function(){return e},e}Object(r.a)({_template:Object(i.a)(d()),is:"paper-input-char-counter",behaviors:[u],properties:{_charCounterStr:{type:String,value:"0"}},update:function(e){if(e.inputElement){e.value=e.value||"";var t=e.value.toString().length.toString();e.inputElement.hasAttribute("maxlength")&&(t+="/"+e.inputElement.getAttribute("maxlength")),this._charCounterStr=t}}});n(47),n(34);var f=n(32);function p(){var e=m(['\n \n\n \n\n
\n \n\n
\n \n \n
\n\n \n
\n\n
\n
\n
\n
\n\n
\n \n
\n']);return p=function(){return e},e}function h(){var e=m(['\n\n \n\n']);return h=function(){return e},e}function m(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var y=Object(i.a)(h());function v(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n \x3c!--\n If the paper-input-error element is directly referenced by an\n `aria-describedby` attribute, such as when used as a paper-input add-on,\n then applying `visibility: hidden;` to the paper-input-error element itself\n does not hide the error.\n\n For more information, see:\n https://www.w3.org/TR/accname-1.1/#mapping_additional_nd_description\n --\x3e\n
\n \n
\n'],['\n \n\n \x3c!--\n If the paper-input-error element is directly referenced by an\n \\`aria-describedby\\` attribute, such as when used as a paper-input add-on,\n then applying \\`visibility: hidden;\\` to the paper-input-error element itself\n does not hide the error.\n\n For more information, see:\n https://www.w3.org/TR/accname-1.1/#mapping_additional_nd_description\n --\x3e\n
\n \n
\n']);return v=function(){return e},e}y.setAttribute("style","display: none;"),document.head.appendChild(y.content),Object(r.a)({_template:Object(i.a)(p()),is:"paper-input-container",properties:{noLabelFloat:{type:Boolean,value:!1},alwaysFloatLabel:{type:Boolean,value:!1},attrForValue:{type:String,value:"bind-value"},autoValidate:{type:Boolean,value:!1},invalid:{observer:"_invalidChanged",type:Boolean,value:!1},focused:{readOnly:!0,type:Boolean,value:!1,notify:!0},_addons:{type:Array},_inputHasContent:{type:Boolean,value:!1},_inputSelector:{type:String,value:"input,iron-input,textarea,.paper-input-input"},_boundOnFocus:{type:Function,value:function(){return this._onFocus.bind(this)}},_boundOnBlur:{type:Function,value:function(){return this._onBlur.bind(this)}},_boundOnInput:{type:Function,value:function(){return this._onInput.bind(this)}},_boundValueChanged:{type:Function,value:function(){return this._onValueChanged.bind(this)}}},listeners:{"addon-attached":"_onAddonAttached","iron-input-validate":"_onIronInputValidate"},get _valueChangedEvent(){return this.attrForValue+"-changed"},get _propertyForValue(){return Object(f.b)(this.attrForValue)},get _inputElement(){return Object(c.a)(this).querySelector(this._inputSelector)},get _inputElementValue(){return this._inputElement[this._propertyForValue]||this._inputElement.value},ready:function(){this.__isFirstValueUpdate=!0,this._addons||(this._addons=[]),this.addEventListener("focus",this._boundOnFocus,!0),this.addEventListener("blur",this._boundOnBlur,!0)},attached:function(){this.attrForValue?this._inputElement.addEventListener(this._valueChangedEvent,this._boundValueChanged):this.addEventListener("input",this._onInput),this._inputElementValue&&""!=this._inputElementValue?this._handleValueAndAutoValidate(this._inputElement):this._handleValue(this._inputElement)},_onAddonAttached:function(e){this._addons||(this._addons=[]);var t=e.target;-1===this._addons.indexOf(t)&&(this._addons.push(t),this.isAttached&&this._handleValue(this._inputElement))},_onFocus:function(){this._setFocused(!0)},_onBlur:function(){this._setFocused(!1),this._handleValueAndAutoValidate(this._inputElement)},_onInput:function(e){this._handleValueAndAutoValidate(e.target)},_onValueChanged:function(e){var t=e.target;this.__isFirstValueUpdate&&(this.__isFirstValueUpdate=!1,void 0===t.value||""===t.value)||this._handleValueAndAutoValidate(e.target)},_handleValue:function(e){var t=this._inputElementValue;t||0===t||"number"===e.type&&!e.checkValidity()?this._inputHasContent=!0:this._inputHasContent=!1,this.updateAddons({inputElement:e,value:t,invalid:this.invalid})},_handleValueAndAutoValidate:function(e){var t;this.autoValidate&&e&&(t=e.validate?e.validate(this._inputElementValue):e.checkValidity(),this.invalid=!t);this._handleValue(e)},_onIronInputValidate:function(e){this.invalid=this._inputElement.invalid},_invalidChanged:function(){this._addons&&this.updateAddons({invalid:this.invalid})},updateAddons:function(e){for(var t,n=0;t=this._addons[n];n++)t.update(e)},_computeInputContentClass:function(e,t,n,r,i){var o="input-content";if(e)i&&(o+=" label-is-hidden"),r&&(o+=" is-invalid");else{var a=this.querySelector("label");t||i?(o+=" label-is-floating",this.$.labelAndInputContainer.style.position="static",r?o+=" is-invalid":n&&(o+=" label-is-highlighted")):(a&&(this.$.labelAndInputContainer.style.position="relative"),r&&(o+=" is-invalid"))}return n&&(o+=" focused"),o},_computeUnderlineClass:function(e,t){var n="underline";return t?n+=" is-invalid":e&&(n+=" is-highlighted"),n},_computeAddOnContentClass:function(e,t){var n="add-on-content";return t?n+=" is-invalid":e&&(n+=" is-highlighted"),n}}),Object(r.a)({_template:Object(i.a)(v()),is:"paper-input-error",behaviors:[u],properties:{invalid:{readOnly:!0,reflectToAttribute:!0,type:Boolean}},update:function(e){this._setInvalid(e.invalid)}});var b=n(63),g=(n(62),n(20)),_=n(25),w=n(29),k={NextLabelID:1,NextAddonID:1,NextInputID:1},O={properties:{label:{type:String},value:{notify:!0,type:String},disabled:{type:Boolean,value:!1},invalid:{type:Boolean,value:!1,notify:!0},allowedPattern:{type:String},type:{type:String},list:{type:String},pattern:{type:String},required:{type:Boolean,value:!1},errorMessage:{type:String},charCounter:{type:Boolean,value:!1},noLabelFloat:{type:Boolean,value:!1},alwaysFloatLabel:{type:Boolean,value:!1},autoValidate:{type:Boolean,value:!1},validator:{type:String},autocomplete:{type:String,value:"off"},autofocus:{type:Boolean,observer:"_autofocusChanged"},inputmode:{type:String},minlength:{type:Number},maxlength:{type:Number},min:{type:String},max:{type:String},step:{type:String},name:{type:String},placeholder:{type:String,value:""},readonly:{type:Boolean,value:!1},size:{type:Number},autocapitalize:{type:String,value:"none"},autocorrect:{type:String,value:"off"},autosave:{type:String},results:{type:Number},accept:{type:String},multiple:{type:Boolean},_ariaDescribedBy:{type:String,value:""},_ariaLabelledBy:{type:String,value:""},_inputId:{type:String,value:""}},listeners:{"addon-attached":"_onAddonAttached"},keyBindings:{"shift+tab:keydown":"_onShiftTabDown"},hostAttributes:{tabindex:0},get inputElement(){return this.$||(this.$={}),this.$.input||(this._generateInputId(),this.$.input=this.$$("#"+this._inputId)),this.$.input},get _focusableElement(){return this.inputElement},created:function(){this._typesThatHaveText=["date","datetime","datetime-local","month","time","week","file"]},attached:function(){this._updateAriaLabelledBy(),!w.a&&this.inputElement&&-1!==this._typesThatHaveText.indexOf(this.inputElement.type)&&(this.alwaysFloatLabel=!0)},_appendStringWithSpace:function(e,t){return e=e?e+" "+t:t},_onAddonAttached:function(e){var t=Object(c.a)(e).rootTarget;if(t.id)this._ariaDescribedBy=this._appendStringWithSpace(this._ariaDescribedBy,t.id);else{var n="paper-input-add-on-"+k.NextAddonID++;t.id=n,this._ariaDescribedBy=this._appendStringWithSpace(this._ariaDescribedBy,n)}},validate:function(){return this.inputElement.validate()},_focusBlurHandler:function(e){_.a._focusBlurHandler.call(this,e),this.focused&&!this._shiftTabPressed&&this._focusableElement&&this._focusableElement.focus()},_onShiftTabDown:function(e){var t=this.getAttribute("tabindex");this._shiftTabPressed=!0,this.setAttribute("tabindex","-1"),this.async((function(){this.setAttribute("tabindex",t),this._shiftTabPressed=!1}),1)},_handleAutoValidate:function(){this.autoValidate&&this.validate()},updateValueAndPreserveCaret:function(e){try{var t=this.inputElement.selectionStart;this.value=e,this.inputElement.selectionStart=t,this.inputElement.selectionEnd=t}catch(n){this.value=e}},_computeAlwaysFloatLabel:function(e,t){return t||e},_updateAriaLabelledBy:function(){var e,t=Object(c.a)(this.root).querySelector("label");t?(t.id?e=t.id:(e="paper-input-label-"+k.NextLabelID++,t.id=e),this._ariaLabelledBy=e):this._ariaLabelledBy=""},_generateInputId:function(){this._inputId&&""!==this._inputId||(this._inputId="input-"+k.NextInputID++)},_onChange:function(e){this.shadowRoot&&this.fire(e.type,{sourceEvent:e},{node:this,bubbles:e.bubbles,cancelable:e.cancelable})},_autofocusChanged:function(){if(this.autofocus&&this._focusableElement){var e=document.activeElement;e instanceof HTMLElement&&e!==document.body&&e!==document.documentElement||this._focusableElement.focus()}}},x=[_.a,g.a,O];function E(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n \n\n \n\n \n\n \x3c!-- Need to bind maxlength so that the paper-input-char-counter works correctly --\x3e\n \n \n \n\n \n\n \n\n \n\n \n ']);return E=function(){return e},e}Object(r.a)({is:"paper-input",_template:Object(i.a)(E()),behaviors:[x,b.a],properties:{value:{type:String}},get _focusableElement(){return this.inputElement._inputElement},listeners:{"iron-input-ready":"_onIronInputReady"},_onIronInputReady:function(){this.$.nativeInput||(this.$.nativeInput=this.$$("input")),this.inputElement&&-1!==this._typesThatHaveText.indexOf(this.$.nativeInput.type)&&(this.alwaysFloatLabel=!0),this.inputElement.bindValue&&this.$.container._handleValueAndAutoValidate(this.inputElement)}})},function(e,t,n){"use strict";n(60);var r=n(0),i=n(17),o=n(49),a=n(35),s=(n(87),n(86),n(33),n(84),n(39)),c=n(68);function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(){var e=m(["\n div {\n padding: 0 32px;\n display: flex;\n flex-direction: column;\n text-align: center;\n align-items: center;\n justify-content: center;\n height: 64px;\n cursor: pointer;\n position: relative;\n outline: none;\n box-sizing: border-box;\n }\n\n .name {\n white-space: nowrap;\n }\n\n :host([active]) {\n color: var(--primary-color);\n }\n\n :host(:not([narrow])[active]) div {\n border-bottom: 2px solid var(--primary-color);\n }\n\n :host([narrow]) {\n padding: 0 16px;\n width: 20%;\n min-width: 0;\n }\n "]);return u=function(){return e},e}function d(){var e=m([""]);return d=function(){return e},e}function f(){var e=m(['',""]);return f=function(){return e},e}function p(){var e=m(['']);return p=function(){return e},e}function h(){var e=m(['\n e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a
']);return D=function(){return e},e}function z(){var e=B(['\n \n ',"\n ","\n ",'\n
\n \n
\n
\n
\n \n
\n
\n ']);return L=function(){return e},e}function N(){var e=B(['e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a1||!this.narrow?Object(r.f)(I(),Object(i.a)({"bottom-bar":this.narrow}),t):"",this._saveScrollPos)}},{kind:"method",decorators:[Object(r.e)({passive:!0})],key:"_saveScrollPos",value:function(e){this._savedScrollPos=e.target.scrollTop}},{kind:"method",key:"_tabTapped",value:function(e){Object(a.a)(this,e.currentTarget.path,!0)}},{kind:"method",key:"_backTapped",value:function(){this.backPath?Object(a.a)(this,this.backPath):this.backCallback?this.backCallback():history.back()}},{kind:"get",static:!0,key:"styles",value:function(){return Object(r.c)(R())}}]}}),r.a)},function(e,t,n){"use strict";var r=n(0),i=n(49),o=n(35);n(40),n(104);function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function s(){var e=u(["\n :host {\n display: block;\n height: 100%;\n background-color: var(--primary-background-color);\n }\n .toolbar {\n display: flex;\n align-items: center;\n font-size: 20px;\n height: 65px;\n padding: 0 16px;\n pointer-events: none;\n background-color: var(--app-header-background-color);\n font-weight: 400;\n color: var(--app-header-text-color, white);\n border-bottom: var(--app-header-border-bottom, none);\n box-sizing: border-box;\n }\n ha-icon-button-arrow-prev {\n pointer-events: auto;\n }\n .content {\n height: calc(100% - 64px);\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n }\n "]);return s=function(){return e},e}function c(){var e=u(['
\n \n

',"

\n \n go back\n \n
\n "]);return l=function(){return e},e}function u(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function d(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(e,t){return(f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(e,t){return!t||"object"!==a(t)&&"function"!=typeof t?h(e):t}function h(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function m(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function y(e){return(y=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function v(e){var t,n=k(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function b(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function g(e){return e.decorators&&e.decorators.length}function _(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function w(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function k(e){var t=function(e,t){if("object"!==a(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==a(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===a(t)?t:String(t)}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;ae.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a0||n>0;)if(0!=t)if(0!=n){var o=e[t-1][n-1],a=e[t-1][n],s=e[t][n-1],c=void 0;(c=a0&&(this.selectedValues=this.selectedItems.map((function(e){return this._indexToValue(this.indexOf(e))}),this).filter((function(e){return null!=e}),this)):i.a._updateAttrForSelected.apply(this)},_updateSelected:function(){this.multi?this._selectMulti(this.selectedValues):this._selectSelected(this.selected)},_selectMulti:function(e){e=e||[];var t=(this._valuesToItems(e)||[]).filter((function(e){return null!=e}));this._selection.clear(t);for(var n=0;n\n
\n
\n
\n ','\n
\n ','\n
\n ',"\n
\n
\n
\n
\n "]);return s=function(){return e},e}function c(){var e=d(['\n \n \n ']);return c=function(){return e},e}function l(){var e=d(['\n \n \n ']);return l=function(){return e},e}function u(){var e=d(['\n \n \n ']);return u=function(){return e},e}function d(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function f(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function h(e,t){return!t||"object"!==o(t)&&"function"!=typeof t?m(e):t}function m(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function y(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function v(e){return(v=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function b(e){var t,n=O(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function g(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function _(e){return e.decorators&&e.decorators.length}function w(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function k(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function O(e){var t=function(e,t){if("object"!==o(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==o(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===o(t)?t:String(t)}function x(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n\n :host {\n @apply --layout-horizontal;\n @apply --layout-center;\n position: relative;\n height: 64px;\n padding: 0 16px;\n pointer-events: none;\n font-size: var(--app-toolbar-font-size, 20px);\n }\n\n :host ::slotted(*) {\n pointer-events: auto;\n }\n\n :host ::slotted(paper-icon-button) {\n /* paper-icon-button/issues/33 */\n font-size: 0;\n }\n\n :host ::slotted([main-title]),\n :host ::slotted([condensed-title]) {\n pointer-events: none;\n @apply --layout-flex;\n }\n\n :host ::slotted([bottom-item]) {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n }\n\n :host ::slotted([top-item]) {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n }\n\n :host ::slotted([spacer]) {\n margin-left: 64px;\n }\n \n\n \n"]);return o=function(){return e},e}Object(r.a)({_template:Object(i.a)(o()),is:"app-toolbar"});var a=n(0),s=(n(81),n(87),n(86),n(11));function c(e){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(){var e=h(["\n :host {\n display: block;\n height: 100%;\n background-color: var(--primary-background-color);\n }\n .toolbar {\n display: flex;\n align-items: center;\n font-size: 20px;\n height: 65px;\n padding: 0 16px;\n pointer-events: none;\n background-color: var(--app-header-background-color);\n font-weight: 400;\n color: var(--app-header-text-color, white);\n border-bottom: var(--app-header-border-bottom, none);\n box-sizing: border-box;\n }\n ha-menu-button,\n ha-icon-button-arrow-prev {\n pointer-events: auto;\n }\n .content {\n height: calc(100% - 64px);\n display: flex;\n align-items: center;\n justify-content: center;\n }\n "]);return l=function(){return e},e}function u(){var e=h(["\n \n "]);return u=function(){return e},e}function d(){var e=h(["\n \n "]);return d=function(){return e},e}function f(){var e=h(['
\n ',"\n
"]);return f=function(){return e},e}function p(){var e=h(["\n ",'\n
\n \n
\n ']);return p=function(){return e},e}function h(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function m(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function y(e,t){return(y=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function v(e,t){return!t||"object"!==c(t)&&"function"!=typeof t?b(e):t}function b(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function g(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function _(e){return(_=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function w(e){var t,n=S(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function k(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function O(e){return e.decorators&&e.decorators.length}function x(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function E(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function S(e){var t=function(e,t){if("object"!==c(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==c(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===c(t)?t:String(t)}function j(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n ']);return s=function(){return e},e}function c(e,t){for(var n=0;n{const i=indexedDB.open(e,1);i.onerror=()=>r(i.error),i.onsuccess=()=>n(i.result),i.onupgradeneeded=()=>{i.result.createObjectStore(t)}})}_withIDBStore(e,t){return this._dbp.then(n=>new Promise((r,i)=>{const o=n.transaction(this.storeName,e);o.oncomplete=()=>r(),o.onabort=o.onerror=()=>i(o.error),t(o.objectStore(this.storeName))}))}}let c;function l(){return c||(c=new s),c}function u(e,t,n=l()){return n._withIDBStore("readwrite",n=>{n.put(t,e)})}function d(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(l){return void n(l)}s.done?t(c):Promise.resolve(c).then(r,i)}function f(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(c){i=!0,o=c}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}return n}(e,t)||h(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=h(e))){var t=0,n=function(){};return{s:n,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,i,o=!0,a=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==r.return||r.return()}finally{if(a)throw i}}}}function h(e,t){if(e){if("string"==typeof e)return m(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(e,t):void 0}}function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1)){var r=[];y._withIDBStore("readonly",(function(e){var t,n=p(b);try{for(n.s();!(t=n.n()).done;){var i=f(t.value,2),o=i[0],a=i[1];r.push([a,e.get(o)])}}catch(s){n.e(s)}finally{n.f()}b=[]})).then((function(){var e,t=p(r);try{for(t.s();!(e=t.n()).done;){var n=f(e.value,2);(0,n[0])(n[1].result)}}catch(i){t.e(i)}finally{t.f()}})).catch((function(){var e,t=p(b);try{for(t.s();!(e=t.n()).done;){(0,f(e.value,3)[2])()}}catch(n){t.e(n)}finally{t.f()}b=[]}))}}))},_=function(e){var t,n,r=p(a.parts);try{for(r.s();!(n=r.n()).done;){var i=n.value;if(void 0!==i.start&&e"]);return C=function(){return e},e}function P(){var e=T([""]);return P=function(){return e},e}function A(){var e=T([""]);return A=function(){return e},e}function T(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function R(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function I(e,t){return(I=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function D(e,t){return!t||"object"!==O(t)&&"function"!=typeof t?z(e):t}function z(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function F(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function L(e){return(L=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function N(e){var t,n=U(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function M(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function H(e){return e.decorators&&e.decorators.length}function B(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function V(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function U(e){var t=function(e,t){if("object"!==O(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==O(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===O(t)?t:String(t)}function K(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function $(e,t){if(e){if("string"==typeof e)return q(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?q(e,t):void 0}}function q(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n{n=t.get(e)}).then(()=>n.result)})("_version",y).then((function(e){e?e!==a.version&&function(e=l()){return e._withIDBStore("readwrite",e=>{e.clear()})}(y).then((function(){return u("_version",a.version,y)})):u("_version",a.version,y)}));var Z=function(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(){for(var i=arguments.length,o=new Array(i),a=0;a=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a2&&void 0!==arguments[2]?arguments[2]:{},r=n.compareTime||new Date,i=(r.getTime()-e.getTime())/1e3,o=i>=0?"past":"future";i=Math.abs(i);for(var a=Math.round(i),l="week",u=0;u\n \n
\n
\n ']);return T=function(){return e},e}function R(){var e=D(['
']);return R=function(){return e},e}function I(){var e=D(["\n ","\n ",'\n
\n
\n ','\n
\n
\n ',"\n ","\n ","\n
\n
\n "]);return I=function(){return e},e}function D(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function z(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function F(e,t){return(F=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function L(e,t){return!t||"object"!==j(t)&&"function"!=typeof t?N(e):t}function N(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function M(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function H(e){return(H=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function B(e){var t,n=q(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function V(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function U(e){return e.decorators&&e.decorators.length}function K(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function $(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function q(e){var t=function(e,t){if("object"!==j(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==j(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===j(t)?t:String(t)}function G(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n \n "]);return a=function(){return e},e}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function l(e,t){return!t||"object"!==o(t)&&"function"!=typeof t?u(e):t}function u(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function f(e){var t,n=v(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function p(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function h(e){return e.decorators&&e.decorators.length}function m(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function y(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function v(e){var t=function(e,t){if("object"!==o(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==o(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===o(t)?t:String(t)}function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a
']);return f=function(){return e},e}function p(){var e=h(["\n \n \n \n ","\n "]);return p=function(){return e},e}function h(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function m(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function y(e,t){return(y=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function v(e,t){return!t||"object"!==u(t)&&"function"!=typeof t?b(e):t}function b(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function g(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function _(e){var t,n=E(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function w(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function k(e){return e.decorators&&e.decorators.length}function O(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function x(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function E(e){var t=function(e,t){if("object"!==u(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==u(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===u(t)?t:String(t)}function S(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a0})))}},{kind:"method",key:"_toggleMenu",value:function(){Object(o.a)(this,"hass-toggle-menu")}},{kind:"get",static:!0,key:"styles",value:function(){return Object(i.c)(d())}}]}}),i.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(8),i=function(e,t){Object(r.a)(e,"show-dialog",{dialogTag:"dialog-hassio-markdown",dialogImport:function(){return Promise.all([n.e(0),n.e(3)]).then(n.bind(null,120))},dialogParams:t})}},function(e,t,n){"use strict";var r,i=null,o=window.HTMLImports&&window.HTMLImports.whenReady||null;function a(e){requestAnimationFrame((function(){o?o(e):(i||(i=new Promise((function(e){r=e})),"complete"===document.readyState?r():document.addEventListener("readystatechange",(function(){"complete"===document.readyState&&r()}))),i.then((function(){e&&e()})))}))}function s(e,t){for(var n=0;n\n \n",document.head.appendChild(r.content);var i=n(4),o=n(5),a=n(50),s=n(25),c=[a.a,s.a,{hostAttributes:{role:"option",tabindex:"0"}}];function l(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n \n']);return l=function(){return e},e}Object(i.a)({_template:Object(o.a)(l()),is:"paper-item",behaviors:[c]})},function(e,t){},function(e,t,n){"use strict";n(3);var r=n(5);function i(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n\n \n']);return i=function(){return e},e}var o=Object(r.a)(i());o.setAttribute("style","display: none;"),document.head.appendChild(o.content)},function(e,t,n){"use strict";n(52);var r=n(0);n(84);function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(){var e=s(["\n :host {\n display: inline-block;\n outline: none;\n }\n :host([disabled]) {\n pointer-events: none;\n }\n mwc-icon-button {\n --mdc-theme-on-primary: currentColor;\n --mdc-theme-text-disabled-on-light: var(--disabled-text-color);\n }\n ha-icon {\n --ha-icon-display: inline;\n }\n "]);return o=function(){return e},e}function a(){var e=s(["\n \n \n \n "]);return a=function(){return e},e}function s(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(e,t){return!t||"object"!==i(t)&&"function"!=typeof t?d(e):t}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function f(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function h(e){var t,n=g(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function m(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function y(e){return e.decorators&&e.decorators.length}function v(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function b(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function g(e){var t=function(e,t){if("object"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===i(t)?t:String(t)}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n :host {\n @apply --layout-inline;\n @apply --layout-center-center;\n position: relative;\n\n vertical-align: middle;\n\n fill: var(--iron-icon-fill-color, currentcolor);\n stroke: var(--iron-icon-stroke-color, none);\n\n width: var(--iron-icon-width, 24px);\n height: var(--iron-icon-height, 24px);\n @apply --iron-icon;\n }\n\n :host([hidden]) {\n display: none;\n }\n \n"]);return s=function(){return e},e}Object(r.a)({_template:Object(o.a)(s()),is:"iron-icon",properties:{icon:{type:String},theme:{type:String},src:{type:String},_meta:{value:a.a.create("iron-meta",{type:"iconset"})}},observers:["_updateIcon(_meta, isAttached)","_updateIcon(theme, isAttached)","_srcChanged(src, isAttached)","_iconChanged(icon, isAttached)"],_DEFAULT_ICONSET:"icons",_iconChanged:function(e){var t=(e||"").split(":");this._iconName=t.pop(),this._iconsetName=t.pop()||this._DEFAULT_ICONSET,this._updateIcon()},_srcChanged:function(e){this._updateIcon()},_usesIconset:function(){return this.icon||!this.src},_updateIcon:function(){this._usesIconset()?(this._img&&this._img.parentNode&&Object(i.a)(this.root).removeChild(this._img),""===this._iconName?this._iconset&&this._iconset.removeIcon(this):this._iconsetName&&this._meta&&(this._iconset=this._meta.byKey(this._iconsetName),this._iconset?(this._iconset.applyIcon(this,this._iconName,this.theme),this.unlisten(window,"iron-iconset-added","_updateIcon")):this.listen(window,"iron-iconset-added","_updateIcon"))):(this._iconset&&this._iconset.removeIcon(this),this._img||(this._img=document.createElement("img"),this._img.style.width="100%",this._img.style.height="100%",this._img.draggable=!1),this._img.src=this.src,Object(i.a)(this.root).appendChild(this._img))}})},function(e,t,n){"use strict";n(3),n(47),n(34),n(59);var r=n(4),i=n(5);function o(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n \n\n \n"]);return o=function(){return e},e}Object(r.a)({_template:Object(i.a)(o()),is:"paper-item-body"})},function(e,t,n){"use strict";n(3);var r=n(20),i=n(4),o=n(2),a=n(5);function s(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n
\n
\n']);return s=function(){return e},e}var c={distance:function(e,t,n,r){var i=e-n,o=t-r;return Math.sqrt(i*i+o*o)},now:window.performance&&window.performance.now?window.performance.now.bind(window.performance):Date.now};function l(e){this.element=e,this.width=this.boundingRect.width,this.height=this.boundingRect.height,this.size=Math.max(this.width,this.height)}function u(e){this.element=e,this.color=window.getComputedStyle(e).color,this.wave=document.createElement("div"),this.waveContainer=document.createElement("div"),this.wave.style.backgroundColor=this.color,this.wave.classList.add("wave"),this.waveContainer.classList.add("wave-container"),Object(o.a)(this.waveContainer).appendChild(this.wave),this.resetInteractionState()}l.prototype={get boundingRect(){return this.element.getBoundingClientRect()},furthestCornerDistanceFrom:function(e,t){var n=c.distance(e,t,0,0),r=c.distance(e,t,this.width,0),i=c.distance(e,t,0,this.height),o=c.distance(e,t,this.width,this.height);return Math.max(n,r,i,o)}},u.MAX_RADIUS=300,u.prototype={get recenters(){return this.element.recenters},get center(){return this.element.center},get mouseDownElapsed(){var e;return this.mouseDownStart?(e=c.now()-this.mouseDownStart,this.mouseUpStart&&(e-=this.mouseUpElapsed),e):0},get mouseUpElapsed(){return this.mouseUpStart?c.now()-this.mouseUpStart:0},get mouseDownElapsedSeconds(){return this.mouseDownElapsed/1e3},get mouseUpElapsedSeconds(){return this.mouseUpElapsed/1e3},get mouseInteractionSeconds(){return this.mouseDownElapsedSeconds+this.mouseUpElapsedSeconds},get initialOpacity(){return this.element.initialOpacity},get opacityDecayVelocity(){return this.element.opacityDecayVelocity},get radius(){var e=this.containerMetrics.width*this.containerMetrics.width,t=this.containerMetrics.height*this.containerMetrics.height,n=1.1*Math.min(Math.sqrt(e+t),u.MAX_RADIUS)+5,r=1.1-n/u.MAX_RADIUS*.2,i=this.mouseInteractionSeconds/r,o=n*(1-Math.pow(80,-i));return Math.abs(o)},get opacity(){return this.mouseUpStart?Math.max(0,this.initialOpacity-this.mouseUpElapsedSeconds*this.opacityDecayVelocity):this.initialOpacity},get outerOpacity(){var e=.3*this.mouseUpElapsedSeconds,t=this.opacity;return Math.max(0,Math.min(e,t))},get isOpacityFullyDecayed(){return this.opacity<.01&&this.radius>=Math.min(this.maxRadius,u.MAX_RADIUS)},get isRestingAtMaxRadius(){return this.opacity>=this.initialOpacity&&this.radius>=Math.min(this.maxRadius,u.MAX_RADIUS)},get isAnimationComplete(){return this.mouseUpStart?this.isOpacityFullyDecayed:this.isRestingAtMaxRadius},get translationFraction(){return Math.min(1,this.radius/this.containerMetrics.size*2/Math.sqrt(2))},get xNow(){return this.xEnd?this.xStart+this.translationFraction*(this.xEnd-this.xStart):this.xStart},get yNow(){return this.yEnd?this.yStart+this.translationFraction*(this.yEnd-this.yStart):this.yStart},get isMouseDown(){return this.mouseDownStart&&!this.mouseUpStart},resetInteractionState:function(){this.maxRadius=0,this.mouseDownStart=0,this.mouseUpStart=0,this.xStart=0,this.yStart=0,this.xEnd=0,this.yEnd=0,this.slideDistance=0,this.containerMetrics=new l(this.element)},draw:function(){var e,t,n;this.wave.style.opacity=this.opacity,e=this.radius/(this.containerMetrics.size/2),t=this.xNow-this.containerMetrics.width/2,n=this.yNow-this.containerMetrics.height/2,this.waveContainer.style.webkitTransform="translate("+t+"px, "+n+"px)",this.waveContainer.style.transform="translate3d("+t+"px, "+n+"px, 0)",this.wave.style.webkitTransform="scale("+e+","+e+")",this.wave.style.transform="scale3d("+e+","+e+",1)"},downAction:function(e){var t=this.containerMetrics.width/2,n=this.containerMetrics.height/2;this.resetInteractionState(),this.mouseDownStart=c.now(),this.center?(this.xStart=t,this.yStart=n,this.slideDistance=c.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)):(this.xStart=e?e.detail.x-this.containerMetrics.boundingRect.left:this.containerMetrics.width/2,this.yStart=e?e.detail.y-this.containerMetrics.boundingRect.top:this.containerMetrics.height/2),this.recenters&&(this.xEnd=t,this.yEnd=n,this.slideDistance=c.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)),this.maxRadius=this.containerMetrics.furthestCornerDistanceFrom(this.xStart,this.yStart),this.waveContainer.style.top=(this.containerMetrics.height-this.containerMetrics.size)/2+"px",this.waveContainer.style.left=(this.containerMetrics.width-this.containerMetrics.size)/2+"px",this.waveContainer.style.width=this.containerMetrics.size+"px",this.waveContainer.style.height=this.containerMetrics.size+"px"},upAction:function(e){this.isMouseDown&&(this.mouseUpStart=c.now())},remove:function(){Object(o.a)(this.waveContainer.parentNode).removeChild(this.waveContainer)}},Object(i.a)({_template:Object(a.a)(s()),is:"paper-ripple",behaviors:[r.a],properties:{initialOpacity:{type:Number,value:.25},opacityDecayVelocity:{type:Number,value:.8},recenters:{type:Boolean,value:!1},center:{type:Boolean,value:!1},ripples:{type:Array,value:function(){return[]}},animating:{type:Boolean,readOnly:!0,reflectToAttribute:!0,value:!1},holdDown:{type:Boolean,value:!1,observer:"_holdDownChanged"},noink:{type:Boolean,value:!1},_animating:{type:Boolean},_boundAnimate:{type:Function,value:function(){return this.animate.bind(this)}}},get target(){return this.keyEventTarget},keyBindings:{"enter:keydown":"_onEnterKeydown","space:keydown":"_onSpaceKeydown","space:keyup":"_onSpaceKeyup"},attached:function(){11==this.parentNode.nodeType?this.keyEventTarget=Object(o.a)(this).getOwnerRoot().host:this.keyEventTarget=this.parentNode;var e=this.keyEventTarget;this.listen(e,"up","uiUpAction"),this.listen(e,"down","uiDownAction")},detached:function(){this.unlisten(this.keyEventTarget,"up","uiUpAction"),this.unlisten(this.keyEventTarget,"down","uiDownAction"),this.keyEventTarget=null},get shouldKeepAnimating(){for(var e=0;e0||(this.addRipple().downAction(e),this._animating||(this._animating=!0,this.animate()))},uiUpAction:function(e){this.noink||this.upAction(e)},upAction:function(e){this.holdDown||(this.ripples.forEach((function(t){t.upAction(e)})),this._animating=!0,this.animate())},onAnimationComplete:function(){this._animating=!1,this.$.background.style.backgroundColor=null,this.fire("transitionend")},addRipple:function(){var e=new u(this);return Object(o.a)(this.$.waves).appendChild(e.waveContainer),this.$.background.style.backgroundColor=e.color,this.ripples.push(e),this._setAnimating(!0),e},removeRipple:function(e){var t=this.ripples.indexOf(e);t<0||(this.ripples.splice(t,1),e.remove(),this.ripples.length||this._setAnimating(!1))},animate:function(){if(this._animating){var e,t;for(e=0;e',""]);return m=function(){return e},e}function y(){var e=b(['\n
\n
\n
\n ','\n
\n \n
\n \n \n \n \n \n \n \n \n
\n
\n
\n
']);return y=function(){return e},e}function v(){var e=b([""]);return v=function(){return e},e}function b(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function g(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=function(e,t){if(!e)return;if("string"==typeof e)return _(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _(e,t)}(e))){var t=0,n=function(){};return{s:n,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,i,o=!0,a=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==r.return||r.return()}finally{if(a)throw i}}}}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nt.offsetHeight},notifyClosed:function(t){return e.emitNotification("closed",t)},notifyClosing:function(t){e.closingDueToDisconnect||(e.open=!1),e.emitNotification("closing",t)},notifyOpened:function(){return e.emitNotification("opened")},notifyOpening:function(){e.open=!0,e.emitNotification("opening")},reverseButtons:function(){},releaseFocus:function(){C.remove(e)},trapFocus:function(t){C.push(e),t&&t.focus()}})}},{key:"render",value:function(){var e,t,n,r=(e={},t=o.STACKED,n=this.stacked,t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e),a=Object(i.f)(v());this.heading&&(a=this.renderHeading());var s={"mdc-dialog__actions":!this.hideActions};return Object(i.f)(y(),Object(p.a)(r),a,Object(p.a)(s))}},{key:"renderHeading",value:function(){return Object(i.f)(m(),this.heading)}},{key:"firstUpdated",value:function(){O(j(f.prototype),"firstUpdated",this).call(this),this.mdcFoundation.setAutoStackButtons(!0)}},{key:"connectedCallback",value:function(){O(j(f.prototype),"connectedCallback",this).call(this),this.open&&this.mdcFoundation&&!this.mdcFoundation.isOpen()&&(this.setEventListeners(),this.mdcFoundation.open())}},{key:"disconnectedCallback",value:function(){O(j(f.prototype),"disconnectedCallback",this).call(this),this.open&&this.mdcFoundation&&(this.removeEventListeners(),this.closingDueToDisconnect=!0,this.mdcFoundation.close(this.currentAction||this.defaultAction),this.closingDueToDisconnect=!1,this.currentAction=void 0,C.remove(this))}},{key:"forceLayout",value:function(){this.mdcFoundation.layout()}},{key:"focus",value:function(){var e=this.getInitialFocusEl();e&&e.focus()}},{key:"blur",value:function(){if(this.shadowRoot){var e=this.shadowRoot.activeElement;if(e)e instanceof HTMLElement&&e.blur();else{var t=this.getRootNode(),n=t instanceof Document?t.activeElement:null;n instanceof HTMLElement&&n.blur()}}}},{key:"setEventListeners",value:function(){var e=this;this.boundHandleClick=this.mdcFoundation.handleClick.bind(this.mdcFoundation),this.boundLayout=function(){e.open&&e.mdcFoundation.layout.bind(e.mdcFoundation)},this.boundHandleKeydown=this.mdcFoundation.handleKeydown.bind(this.mdcFoundation),this.boundHandleDocumentKeydown=this.mdcFoundation.handleDocumentKeydown.bind(this.mdcFoundation),this.mdcRoot.addEventListener("click",this.boundHandleClick),window.addEventListener("resize",this.boundLayout,l()),window.addEventListener("orientationchange",this.boundLayout,l()),this.mdcRoot.addEventListener("keydown",this.boundHandleKeydown,l()),document.addEventListener("keydown",this.boundHandleDocumentKeydown,l())}},{key:"removeEventListeners",value:function(){this.boundHandleClick&&this.mdcRoot.removeEventListener("click",this.boundHandleClick),this.boundLayout&&(window.removeEventListener("resize",this.boundLayout),window.removeEventListener("orientationchange",this.boundLayout)),this.boundHandleKeydown&&this.mdcRoot.removeEventListener("keydown",this.boundHandleKeydown),this.boundHandleDocumentKeydown&&this.mdcRoot.removeEventListener("keydown",this.boundHandleDocumentKeydown)}},{key:"close",value:function(){this.open=!1}},{key:"show",value:function(){this.open=!0}},{key:"primaryButton",get:function(){var e=this.primarySlot.assignedNodes(),t=(e=e.filter((function(e){return e instanceof HTMLElement})))[0];return t||null}}])&&k(n.prototype,r),a&&k(n,a),f}(d.a);function A(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:0;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1);background-color:#fff;background-color:var(--mdc-elevation-overlay-color, #fff)}.mdc-dialog,.mdc-dialog__scrim{position:fixed;top:0;left:0;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.mdc-dialog{display:none;z-index:7}.mdc-dialog .mdc-dialog__surface{background-color:#fff;background-color:var(--mdc-theme-surface, #fff)}.mdc-dialog .mdc-dialog__scrim{background-color:rgba(0,0,0,.32)}.mdc-dialog .mdc-dialog__title{color:rgba(0,0,0,.87)}.mdc-dialog .mdc-dialog__content{color:rgba(0,0,0,.6)}.mdc-dialog.mdc-dialog--scrollable .mdc-dialog__title,.mdc-dialog.mdc-dialog--scrollable .mdc-dialog__actions{border-color:rgba(0,0,0,.12)}.mdc-dialog .mdc-dialog__content{padding:20px 24px 20px 24px}.mdc-dialog .mdc-dialog__surface{min-width:280px}@media(max-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:calc(100vw - 32px)}}@media(min-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:560px}}.mdc-dialog .mdc-dialog__surface{max-height:calc(100% - 32px)}.mdc-dialog .mdc-dialog__surface{border-radius:4px;border-radius:var(--mdc-shape-medium, 4px)}.mdc-dialog__scrim{opacity:0;z-index:-1}.mdc-dialog__container{display:flex;flex-direction:row;align-items:center;justify-content:space-around;box-sizing:border-box;height:100%;transform:scale(0.8);opacity:0;pointer-events:none}.mdc-dialog__surface{position:relative;box-shadow:0px 11px 15px -7px rgba(0, 0, 0, 0.2),0px 24px 38px 3px rgba(0, 0, 0, 0.14),0px 9px 46px 8px rgba(0,0,0,.12);display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;max-width:100%;max-height:100%;pointer-events:auto;overflow-y:auto}.mdc-dialog__surface .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.mdc-dialog[dir=rtl] .mdc-dialog__surface,[dir=rtl] .mdc-dialog .mdc-dialog__surface{text-align:right}.mdc-dialog__title{display:block;margin-top:0;line-height:normal;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-headline6-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1.25rem;font-size:var(--mdc-typography-headline6-font-size, 1.25rem);line-height:2rem;line-height:var(--mdc-typography-headline6-line-height, 2rem);font-weight:500;font-weight:var(--mdc-typography-headline6-font-weight, 500);letter-spacing:0.0125em;letter-spacing:var(--mdc-typography-headline6-letter-spacing, 0.0125em);text-decoration:inherit;text-decoration:var(--mdc-typography-headline6-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-headline6-text-transform, inherit);position:relative;flex-shrink:0;box-sizing:border-box;margin:0;padding:0 24px 9px;border-bottom:1px solid transparent}.mdc-dialog__title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}.mdc-dialog[dir=rtl] .mdc-dialog__title,[dir=rtl] .mdc-dialog .mdc-dialog__title{text-align:right}.mdc-dialog--scrollable .mdc-dialog__title{padding-bottom:15px}.mdc-dialog__content{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-body1-font-size, 1rem);line-height:1.5rem;line-height:var(--mdc-typography-body1-line-height, 1.5rem);font-weight:400;font-weight:var(--mdc-typography-body1-font-weight, 400);letter-spacing:0.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, 0.03125em);text-decoration:inherit;text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform, inherit);flex-grow:1;box-sizing:border-box;margin:0;overflow:auto;-webkit-overflow-scrolling:touch}.mdc-dialog__content>:first-child{margin-top:0}.mdc-dialog__content>:last-child{margin-bottom:0}.mdc-dialog__title+.mdc-dialog__content{padding-top:0}.mdc-dialog--scrollable .mdc-dialog__title+.mdc-dialog__content{padding-top:8px;padding-bottom:8px}.mdc-dialog__content .mdc-list:first-child:last-child{padding:6px 0 0}.mdc-dialog--scrollable .mdc-dialog__content .mdc-list:first-child:last-child{padding:0}.mdc-dialog__actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid transparent}.mdc-dialog--stacked .mdc-dialog__actions{flex-direction:column;align-items:flex-end}.mdc-dialog__button{margin-left:8px;margin-right:0;max-width:100%;text-align:right}[dir=rtl] .mdc-dialog__button,.mdc-dialog__button[dir=rtl]{margin-left:0;margin-right:8px}.mdc-dialog__button:first-child{margin-left:0;margin-right:0}[dir=rtl] .mdc-dialog__button:first-child,.mdc-dialog__button:first-child[dir=rtl]{margin-left:0;margin-right:0}.mdc-dialog[dir=rtl] .mdc-dialog__button,[dir=rtl] .mdc-dialog .mdc-dialog__button{text-align:left}.mdc-dialog--stacked .mdc-dialog__button:not(:first-child){margin-top:12px}.mdc-dialog--open,.mdc-dialog--opening,.mdc-dialog--closing{display:flex}.mdc-dialog--opening .mdc-dialog__scrim{transition:opacity 150ms linear}.mdc-dialog--opening .mdc-dialog__container{transition:opacity 75ms linear,transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-dialog--closing .mdc-dialog__scrim,.mdc-dialog--closing .mdc-dialog__container{transition:opacity 75ms linear}.mdc-dialog--closing .mdc-dialog__container{transform:none}.mdc-dialog--open .mdc-dialog__scrim{opacity:1}.mdc-dialog--open .mdc-dialog__container{transform:none;opacity:1}.mdc-dialog-scroll-lock{overflow:hidden}#actions:not(.mdc-dialog__actions){display:none}.mdc-dialog__surface{box-shadow:var(--mdc-dialog-box-shadow, 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12))}@media(min-width: 560px){.mdc-dialog .mdc-dialog__surface{max-width:560px;max-width:var(--mdc-dialog-max-width, 560px)}}.mdc-dialog .mdc-dialog__scrim{background-color:rgba(0, 0, 0, 0.32);background-color:var(--mdc-dialog-scrim-color, rgba(0, 0, 0, 0.32))}.mdc-dialog .mdc-dialog__title{color:rgba(0, 0, 0, 0.87);color:var(--mdc-dialog-heading-ink-color, rgba(0, 0, 0, 0.87))}.mdc-dialog .mdc-dialog__content{color:rgba(0, 0, 0, 0.6);color:var(--mdc-dialog-content-ink-color, rgba(0, 0, 0, 0.6))}.mdc-dialog.mdc-dialog--scrollable .mdc-dialog__title,.mdc-dialog.mdc-dialog--scrollable .mdc-dialog__actions{border-color:rgba(0, 0, 0, 0.12);border-color:var(--mdc-dialog-scroll-divider-color, rgba(0, 0, 0, 0.12))}.mdc-dialog .mdc-dialog__surface{min-width:280px;min-width:var(--mdc-dialog-min-width, 280px)}.mdc-dialog .mdc-dialog__surface{max-height:var(--mdc-dialog-max-height, calc(100% - 32px))}#actions ::slotted(*){margin-left:8px;margin-right:0;max-width:100%;text-align:right}[dir=rtl] #actions ::slotted(*),#actions ::slotted(*)[dir=rtl]{margin-left:0;margin-right:8px}.mdc-dialog[dir=rtl] #actions ::slotted(*),[dir=rtl] .mdc-dialog #actions ::slotted(*){text-align:left}.mdc-dialog--stacked #actions{flex-direction:column-reverse}.mdc-dialog--stacked #actions *:not(:last-child) ::slotted(*){flex-basis:1e-9px;margin-top:12px}']);return A=function(){return e},e}Object(r.b)([Object(i.i)(".mdc-dialog")],P.prototype,"mdcRoot",void 0),Object(r.b)([Object(i.i)('slot[name="primaryAction"]')],P.prototype,"primarySlot",void 0),Object(r.b)([Object(i.i)('slot[name="secondaryAction"]')],P.prototype,"secondarySlot",void 0),Object(r.b)([Object(i.i)("#contentSlot")],P.prototype,"contentSlot",void 0),Object(r.b)([Object(i.i)(".mdc-dialog__content")],P.prototype,"contentElement",void 0),Object(r.b)([Object(i.i)(".mdc-container")],P.prototype,"conatinerElement",void 0),Object(r.b)([Object(i.h)({type:Boolean})],P.prototype,"hideActions",void 0),Object(r.b)([Object(i.h)({type:Boolean}),Object(f.a)((function(){this.forceLayout()}))],P.prototype,"stacked",void 0),Object(r.b)([Object(i.h)({type:String})],P.prototype,"heading",void 0),Object(r.b)([Object(i.h)({type:String}),Object(f.a)((function(e){this.mdcFoundation.setScrimClickAction(e)}))],P.prototype,"scrimClickAction",void 0),Object(r.b)([Object(i.h)({type:String}),Object(f.a)((function(e){this.mdcFoundation.setEscapeKeyAction(e)}))],P.prototype,"escapeKeyAction",void 0),Object(r.b)([Object(i.h)({type:Boolean,reflect:!0}),Object(f.a)((function(e){this.mdcFoundation&&this.isConnected&&(e?(this.setEventListeners(),this.mdcFoundation.open()):(this.removeEventListeners(),this.mdcFoundation.close(this.currentAction||this.defaultAction),this.currentAction=void 0))}))],P.prototype,"open",void 0),Object(r.b)([Object(i.h)()],P.prototype,"defaultAction",void 0),Object(r.b)([Object(i.h)()],P.prototype,"actionAttribute",void 0),Object(r.b)([Object(i.h)()],P.prototype,"initialFocusAttribute",void 0);var T=Object(i.c)(A());function R(e){return(R="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function I(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function D(e,t){return(D=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function z(e,t){return!t||"object"!==R(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function F(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function L(e){return(L=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var N=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&D(e,t)}(r,e);var t,n=(t=r,function(){var e,n=L(t);if(F()){var r=L(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return z(this,e)});function r(){return I(this,r),n.apply(this,arguments)}return r}(P);N.styles=T,N=Object(r.b)([Object(i.d)("mwc-dialog")],N);n(93);var M=n(7),H=n(79);function B(e){return(B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function V(){var e=oe(['\n .mdc-dialog {\n --mdc-dialog-scroll-divider-color: var(--divider-color);\n z-index: var(--dialog-z-index, 7);\n }\n .mdc-dialog__actions {\n justify-content: var(--justify-action-buttons, flex-end);\n padding-bottom: max(env(safe-area-inset-bottom), 8px);\n }\n .mdc-dialog__container {\n align-items: var(--vertial-align-dialog, center);\n }\n .mdc-dialog__title::before {\n display: block;\n height: 20px;\n }\n .mdc-dialog .mdc-dialog__content {\n position: var(--dialog-content-position, relative);\n padding: var(--dialog-content-padding, 20px 24px);\n }\n :host([hideactions]) .mdc-dialog .mdc-dialog__content {\n padding-bottom: max(\n var(--dialog-content-padding, 20px),\n env(safe-area-inset-bottom)\n );\n }\n .mdc-dialog .mdc-dialog__surface {\n position: var(--dialog-surface-position, relative);\n min-height: var(--mdc-dialog-min-height, auto);\n }\n .header_button {\n position: absolute;\n right: 16px;\n top: 10px;\n text-decoration: none;\n color: inherit;\n }\n [dir="rtl"].header_button {\n right: auto;\n left: 16px;\n }\n ']);return V=function(){return e},e}function U(){var e=oe(['\n ',"\n "]);return U=function(){return e},e}function K(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function $(e,t){return($=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function q(e,t){return!t||"object"!==B(t)&&"function"!=typeof t?G(e):t}function G(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function W(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function Y(e){var t,n=ee(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function X(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function Z(e){return e.decorators&&e.decorators.length}function J(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function Q(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function ee(e){var t=function(e,t){if("object"!==B(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==B(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===B(t)?t:String(t)}function te(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n\n
\n
\n ','\n
\n \n
\n
\n
']);return k=function(){return e},e}function O(){var e=S([""]);return O=function(){return e},e}function x(){var e=S(['\n \n ']);return x=function(){return e},e}function E(){var e=S(["",""]);return E=function(){return e},e}function S(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function j(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function C(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n \n\n
','
\n \n
\n
e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n :host {\n outline: none;\n }\n .container {\n position: relative;\n display: inline-block;\n }\n\n mwc-button {\n transition: all 1s;\n }\n\n .success mwc-button {\n --mdc-theme-primary: white;\n background-color: var(--success-color);\n transition: none;\n }\n\n .error mwc-button {\n --mdc-theme-primary: white;\n background-color: var(--error-color);\n transition: none;\n }\n\n .progress {\n @apply --layout;\n @apply --layout-center-center;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n \n
\n \n \n \n \n
\n ']);return o=function(){return e},e}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n\n :host {\n display: block;\n padding: 8px 0;\n\n background: var(--paper-listbox-background-color, var(--primary-background-color));\n color: var(--paper-listbox-color, var(--primary-text-color));\n\n @apply --paper-listbox;\n }\n \n\n \n"]);return a=function(){return e},e}Object(i.a)({_template:Object(o.a)(a()),is:"paper-listbox",behaviors:[r.a],hostAttributes:{role:"listbox"}})},function(e,t,n){"use strict";var r=n(0);function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(){var e=s(["\n pre {\n overflow-x: auto;\n white-space: pre-wrap;\n overflow-wrap: break-word;\n }\n .bold {\n font-weight: bold;\n }\n .italic {\n font-style: italic;\n }\n .underline {\n text-decoration: underline;\n }\n .strikethrough {\n text-decoration: line-through;\n }\n .underline.strikethrough {\n text-decoration: underline line-through;\n }\n .fg-red {\n color: rgb(222, 56, 43);\n }\n .fg-green {\n color: rgb(57, 181, 74);\n }\n .fg-yellow {\n color: rgb(255, 199, 6);\n }\n .fg-blue {\n color: rgb(0, 111, 184);\n }\n .fg-magenta {\n color: rgb(118, 38, 113);\n }\n .fg-cyan {\n color: rgb(44, 181, 233);\n }\n .fg-white {\n color: rgb(204, 204, 204);\n }\n .bg-black {\n background-color: rgb(0, 0, 0);\n }\n .bg-red {\n background-color: rgb(222, 56, 43);\n }\n .bg-green {\n background-color: rgb(57, 181, 74);\n }\n .bg-yellow {\n background-color: rgb(255, 199, 6);\n }\n .bg-blue {\n background-color: rgb(0, 111, 184);\n }\n .bg-magenta {\n background-color: rgb(118, 38, 113);\n }\n .bg-cyan {\n background-color: rgb(44, 181, 233);\n }\n .bg-white {\n background-color: rgb(204, 204, 204);\n }\n "]);return o=function(){return e},e}function a(){var e=s(["",""]);return a=function(){return e},e}function s(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(e,t){return!t||"object"!==i(t)&&"function"!=typeof t?d(e):t}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function f(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function h(e){var t,n=g(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function m(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function y(e){return e.decorators&&e.decorators.length}function v(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function b(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function g(e){var t=function(e,t){if("object"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===i(t)?t:String(t)}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a-1&&(this._interestedResizables.splice(t,1),this._unsubscribeIronResize(e))},_subscribeIronResize:function(e){e.addEventListener("iron-resize",this._boundOnDescendantIronResize)},_unsubscribeIronResize:function(e){e.removeEventListener("iron-resize",this._boundOnDescendantIronResize)},resizerShouldNotify:function(e){return!0},_onDescendantIronResize:function(e){this._notifyingDescendant?e.stopPropagation():s.f||this._fireResize()},_fireResize:function(){this.fire("iron-resize",null,{node:this,bubbles:!1})},_onIronRequestResizeNotifications:function(e){var t=Object(o.a)(e).rootTarget;t!==this&&(t.assignParentResizable(this),this._notifyDescendant(t),e.stopPropagation())},_parentResizableChanged:function(e){e&&window.removeEventListener("resize",this._boundNotifyResize)},_notifyDescendant:function(e){this.isAttached&&(this._notifyingDescendant=!0,e.notifyResize(),this._notifyingDescendant=!1)},_requestResizeNotifications:function(){if(this.isAttached)if("loading"===document.readyState){var e=this._requestResizeNotifications.bind(this);document.addEventListener("readystatechange",(function t(){document.removeEventListener("readystatechange",t),e()}))}else this._findParent(),this._parentResizable?this._parentResizable._interestedResizables.forEach((function(e){e!==this&&e._findParent()}),this):(c.forEach((function(e){e!==this&&e._findParent()}),this),window.addEventListener("resize",this._boundNotifyResize),this.notifyResize())},_findParent:function(){this.assignParentResizable(null),this.fire("iron-request-resize-notifications",null,{node:this,bubbles:!0,cancelable:!0}),this._parentResizable?c.delete(this):c.add(this)}},u=Element.prototype,d=u.matches||u.matchesSelector||u.mozMatchesSelector||u.msMatchesSelector||u.oMatchesSelector||u.webkitMatchesSelector,f={getTabbableNodes:function(e){var t=[];return this._collectTabbableNodes(e,t)?this._sortByTabIndex(t):t},isFocusable:function(e){return d.call(e,"input, select, textarea, button, object")?d.call(e,":not([disabled])"):d.call(e,"a[href], area[href], iframe, [tabindex], [contentEditable]")},isTabbable:function(e){return this.isFocusable(e)&&d.call(e,':not([tabindex="-1"])')&&this._isVisible(e)},_normalizedTabIndex:function(e){if(this.isFocusable(e)){var t=e.getAttribute("tabindex")||0;return Number(t)}return-1},_collectTabbableNodes:function(e,t){if(e.nodeType!==Node.ELEMENT_NODE||!this._isVisible(e))return!1;var n,r=e,i=this._normalizedTabIndex(r),a=i>0;i>=0&&t.push(r),n="content"===r.localName||"slot"===r.localName?Object(o.a)(r).getDistributedNodes():Object(o.a)(r.root||r).children;for(var s=0;s0&&t.length>0;)this._hasLowerTabOrder(e[0],t[0])?n.push(t.shift()):n.push(e.shift());return n.concat(e,t)},_hasLowerTabOrder:function(e,t){var n=Math.max(e.tabIndex,0),r=Math.max(t.tabIndex,0);return 0===n||0===r?r>n:n>r}},p=n(4),h=n(5);function m(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n \n\n \n"]);return m=function(){return e},e}Object(p.a)({_template:Object(h.a)(m()),is:"iron-overlay-backdrop",properties:{opened:{reflectToAttribute:!0,type:Boolean,value:!1,observer:"_openedChanged"}},listeners:{transitionend:"_onTransitionend"},created:function(){this.__openedRaf=null},attached:function(){this.opened&&this._openedChanged(this.opened)},prepare:function(){this.opened&&!this.parentNode&&Object(o.a)(document.body).appendChild(this)},open:function(){this.opened=!0},close:function(){this.opened=!1},complete:function(){this.opened||this.parentNode!==document.body||Object(o.a)(this.parentNode).removeChild(this)},_onTransitionend:function(e){e&&e.target===this&&this.complete()},_openedChanged:function(e){if(e)this.prepare();else{var t=window.getComputedStyle(this);"0s"!==t.transitionDuration&&0!=t.opacity||this.complete()}this.isAttached&&(this.__openedRaf&&(window.cancelAnimationFrame(this.__openedRaf),this.__openedRaf=null),this.scrollTop=this.scrollTop,this.__openedRaf=window.requestAnimationFrame(function(){this.__openedRaf=null,this.toggleClass("opened",this.opened)}.bind(this)))}});var y=n(45),v=function(){this._overlays=[],this._minimumZ=101,this._backdropElement=null,y.a(document.documentElement,"tap",(function(){})),document.addEventListener("tap",this._onCaptureClick.bind(this),!0),document.addEventListener("focus",this._onCaptureFocus.bind(this),!0),document.addEventListener("keydown",this._onCaptureKeyDown.bind(this),!0)};v.prototype={constructor:v,get backdropElement(){return this._backdropElement||(this._backdropElement=document.createElement("iron-overlay-backdrop")),this._backdropElement},get deepActiveElement(){var e=document.activeElement;for(e&&e instanceof Element!=!1||(e=document.body);e.root&&Object(o.a)(e.root).activeElement;)e=Object(o.a)(e.root).activeElement;return e},_bringOverlayAtIndexToFront:function(e){var t=this._overlays[e];if(t){var n=this._overlays.length-1,r=this._overlays[n];if(r&&this._shouldBeBehindOverlay(t,r)&&n--,!(e>=n)){var i=Math.max(this.currentOverlayZ(),this._minimumZ);for(this._getZ(t)<=i&&this._applyOverlayZ(t,i);e=0)return this._bringOverlayAtIndexToFront(t),void this.trackBackdrop();var n=this._overlays.length,r=this._overlays[n-1],i=Math.max(this._getZ(r),this._minimumZ),o=this._getZ(e);if(r&&this._shouldBeBehindOverlay(e,r)){this._applyOverlayZ(r,i),n--;var a=this._overlays[n-1];i=Math.max(this._getZ(a),this._minimumZ)}o<=i&&this._applyOverlayZ(e,i),this._overlays.splice(n,0,e),this.trackBackdrop()},removeOverlay:function(e){var t=this._overlays.indexOf(e);-1!==t&&(this._overlays.splice(t,1),this.trackBackdrop())},currentOverlay:function(){var e=this._overlays.length-1;return this._overlays[e]},currentOverlayZ:function(){return this._getZ(this.currentOverlay())},ensureMinimumZ:function(e){this._minimumZ=Math.max(this._minimumZ,e)},focusOverlay:function(){var e=this.currentOverlay();e&&e._applyFocus()},trackBackdrop:function(){var e=this._overlayWithBackdrop();(e||this._backdropElement)&&(this.backdropElement.style.zIndex=this._getZ(e)-1,this.backdropElement.opened=!!e,this.backdropElement.prepare())},getBackdrops:function(){for(var e=[],t=0;t=0;e--)if(this._overlays[e].withBackdrop)return this._overlays[e]},_getZ:function(e){var t=this._minimumZ;if(e){var n=Number(e.style.zIndex||window.getComputedStyle(e).zIndex);n==n&&(t=n)}return t},_setZ:function(e,t){e.style.zIndex=t},_applyOverlayZ:function(e,t){this._setZ(e,t+2)},_overlayInPath:function(e){e=e||[];for(var t=0;t=0||(0===j.length&&function(){b=b||C.bind(void 0);for(var e=0,t=x.length;e=Math.abs(t),i=0;i0:o.scrollTop0:o.scrollLeft=0))switch(this.scrollAction){case"lock":this.__restoreScrollPosition();break;case"refit":this.__deraf("refit",this.refit);break;case"cancel":this.cancel(e)}},__saveScrollPosition:function(){document.scrollingElement?(this.__scrollTop=document.scrollingElement.scrollTop,this.__scrollLeft=document.scrollingElement.scrollLeft):(this.__scrollTop=Math.max(document.documentElement.scrollTop,document.body.scrollTop),this.__scrollLeft=Math.max(document.documentElement.scrollLeft,document.body.scrollLeft))},__restoreScrollPosition:function(){document.scrollingElement?(document.scrollingElement.scrollTop=this.__scrollTop,document.scrollingElement.scrollLeft=this.__scrollLeft):(document.documentElement.scrollTop=document.body.scrollTop=this.__scrollTop,document.documentElement.scrollLeft=document.body.scrollLeft=this.__scrollLeft)}},A=[a,l,P],T=[{properties:{animationConfig:{type:Object},entryAnimation:{observer:"_entryAnimationChanged",type:String},exitAnimation:{observer:"_exitAnimationChanged",type:String}},_entryAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.entry=[{name:this.entryAnimation,node:this}]},_exitAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.exit=[{name:this.exitAnimation,node:this}]},_copyProperties:function(e,t){for(var n in t)e[n]=t[n]},_cloneConfig:function(e){var t={isClone:!0};return this._copyProperties(t,e),t},_getAnimationConfigRecursive:function(e,t,n){var r;if(this.animationConfig)if(this.animationConfig.value&&"function"==typeof this.animationConfig.value)this._warn(this._logf("playAnimation","Please put 'animationConfig' inside of your components 'properties' object instead of outside of it."));else if(r=e?this.animationConfig[e]:this.animationConfig,Array.isArray(r)||(r=[r]),r)for(var i,o=0;i=r[o];o++)if(i.animatable)i.animatable._getAnimationConfigRecursive(i.type||e,t,n);else if(i.id){var a=t[i.id];a?(a.isClone||(t[i.id]=this._cloneConfig(a),a=t[i.id]),this._copyProperties(a,i)):t[i.id]=i}else n.push(i)},getAnimationConfig:function(e){var t={},n=[];for(var r in this._getAnimationConfigRecursive(e,t,n),t)n.push(t[r]);return n}},{_configureAnimations:function(e){var t=[],n=[];if(e.length>0)for(var r,i=0;r=e[i];i++){var o=document.createElement(r.name);if(o.isNeonAnimation){var a;o.configure||(o.configure=function(e){return null}),a=o.configure(r),n.push({result:a,config:r,neonAnimation:o})}else console.warn(this.is+":",r.name,"not found!")}for(var s=0;s\n :host {\n position: fixed;\n }\n\n #contentWrapper ::slotted(*) {\n overflow: auto;\n }\n\n #contentWrapper.animating ::slotted(*) {\n overflow: hidden;\n pointer-events: none;\n }\n \n\n
\n \n
\n']);return R=function(){return e},e}Object(p.a)({_template:Object(h.a)(R()),is:"iron-dropdown",behaviors:[i.a,r.a,A,T],properties:{horizontalAlign:{type:String,value:"left",reflectToAttribute:!0},verticalAlign:{type:String,value:"top",reflectToAttribute:!0},openAnimationConfig:{type:Object},closeAnimationConfig:{type:Object},focusTarget:{type:Object},noAnimations:{type:Boolean,value:!1},allowOutsideScroll:{type:Boolean,value:!1,observer:"_allowOutsideScrollChanged"}},listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},observers:["_updateOverlayPosition(positionTarget, verticalAlign, horizontalAlign, verticalOffset, horizontalOffset)"],get containedElement(){for(var e=Object(o.a)(this.$.content).getDistributedNodes(),t=0,n=e.length;t\n :host {\n display: inline-block;\n position: relative;\n padding: 8px;\n outline: none;\n\n @apply --paper-menu-button;\n }\n\n :host([disabled]) {\n cursor: auto;\n color: var(--disabled-text-color);\n\n @apply --paper-menu-button-disabled;\n }\n\n iron-dropdown {\n @apply --paper-menu-button-dropdown;\n }\n\n .dropdown-content {\n @apply --shadow-elevation-2dp;\n\n position: relative;\n border-radius: 2px;\n background-color: var(--paper-menu-button-dropdown-background, var(--primary-background-color));\n\n @apply --paper-menu-button-content;\n }\n\n :host([vertical-align="top"]) .dropdown-content {\n margin-bottom: 20px;\n margin-top: -10px;\n top: 10px;\n }\n\n :host([vertical-align="bottom"]) .dropdown-content {\n bottom: 10px;\n margin-bottom: -10px;\n margin-top: 20px;\n }\n\n #trigger {\n cursor: pointer;\n }\n \n\n
\n \n
\n\n \n \n \n']);return D=function(){return e},e}Object(p.a)({is:"paper-menu-grow-height-animation",behaviors:[I],configure:function(e){var t=e.node,n=t.getBoundingClientRect().height;return this._effect=new KeyframeEffect(t,[{height:n/2+"px"},{height:n+"px"}],this.timingFromConfig(e)),this._effect}}),Object(p.a)({is:"paper-menu-grow-width-animation",behaviors:[I],configure:function(e){var t=e.node,n=t.getBoundingClientRect().width;return this._effect=new KeyframeEffect(t,[{width:n/2+"px"},{width:n+"px"}],this.timingFromConfig(e)),this._effect}}),Object(p.a)({is:"paper-menu-shrink-width-animation",behaviors:[I],configure:function(e){var t=e.node,n=t.getBoundingClientRect().width;return this._effect=new KeyframeEffect(t,[{width:n+"px"},{width:n-n/20+"px"}],this.timingFromConfig(e)),this._effect}}),Object(p.a)({is:"paper-menu-shrink-height-animation",behaviors:[I],configure:function(e){var t=e.node,n=t.getBoundingClientRect().height;return this.setPrefixedProperty(t,"transformOrigin","0 0"),this._effect=new KeyframeEffect(t,[{height:n+"px",transform:"translateY(0)"},{height:n/2+"px",transform:"translateY(-20px)"}],this.timingFromConfig(e)),this._effect}});var z={ANIMATION_CUBIC_BEZIER:"cubic-bezier(.3,.95,.5,1)",MAX_ANIMATION_TIME_MS:400},F=Object(p.a)({_template:Object(h.a)(D()),is:"paper-menu-button",behaviors:[r.a,i.a],properties:{opened:{type:Boolean,value:!1,notify:!0,observer:"_openedChanged"},horizontalAlign:{type:String,value:"left",reflectToAttribute:!0},verticalAlign:{type:String,value:"top",reflectToAttribute:!0},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},noOverlap:{type:Boolean},noAnimations:{type:Boolean,value:!1},ignoreSelect:{type:Boolean,value:!1},closeOnActivate:{type:Boolean,value:!1},openAnimationConfig:{type:Object,value:function(){return[{name:"fade-in-animation",timing:{delay:100,duration:200}},{name:"paper-menu-grow-width-animation",timing:{delay:100,duration:150,easing:z.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-grow-height-animation",timing:{delay:100,duration:275,easing:z.ANIMATION_CUBIC_BEZIER}}]}},closeAnimationConfig:{type:Object,value:function(){return[{name:"fade-out-animation",timing:{duration:150}},{name:"paper-menu-shrink-width-animation",timing:{delay:100,duration:50,easing:z.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-shrink-height-animation",timing:{duration:200,easing:"ease-in"}}]}},allowOutsideScroll:{type:Boolean,value:!1},restoreFocusOnClose:{type:Boolean,value:!0},_dropdownContent:{type:Object}},hostAttributes:{role:"group","aria-haspopup":"true"},listeners:{"iron-activate":"_onIronActivate","iron-select":"_onIronSelect"},get contentElement(){for(var e=Object(o.a)(this.$.content).getDistributedNodes(),t=0,n=e.length;t-1&&e.preventDefault()}});Object.keys(z).forEach((function(e){F[e]=z[e]}));n(96);var L=n(65);Object(p.a)({is:"iron-iconset-svg",properties:{name:{type:String,observer:"_nameChanged"},size:{type:Number,value:24},rtlMirroring:{type:Boolean,value:!1},useGlobalRtlAttribute:{type:Boolean,value:!1}},created:function(){this._meta=new L.a({type:"iconset",key:null,value:null})},attached:function(){this.style.display="none"},getIconNames:function(){return this._icons=this._createIconMap(),Object.keys(this._icons).map((function(e){return this.name+":"+e}),this)},applyIcon:function(e,t){this.removeIcon(e);var n=this._cloneIcon(t,this.rtlMirroring&&this._targetIsRTL(e));if(n){var r=Object(o.a)(e.root||e);return r.insertBefore(n,r.childNodes[0]),e._svgIcon=n}return null},removeIcon:function(e){e._svgIcon&&(Object(o.a)(e.root||e).removeChild(e._svgIcon),e._svgIcon=null)},_targetIsRTL:function(e){if(null==this.__targetIsRTL)if(this.useGlobalRtlAttribute){var t=document.body&&document.body.hasAttribute("dir")?document.body:document.documentElement;this.__targetIsRTL="rtl"===t.getAttribute("dir")}else e&&e.nodeType!==Node.ELEMENT_NODE&&(e=e.host),this.__targetIsRTL=e&&"rtl"===window.getComputedStyle(e).direction;return this.__targetIsRTL},_nameChanged:function(){this._meta.value=null,this._meta.key=this.name,this._meta.value=this,this.async((function(){this.fire("iron-iconset-added",this,{node:window})}))},_createIconMap:function(){var e=Object.create(null);return Object(o.a)(this).querySelectorAll("[id]").forEach((function(t){e[t.id]=t})),e},_cloneIcon:function(e,t){return this._icons=this._icons||this._createIconMap(),this._prepareSvgClone(this._icons[e],this.size,t)},_prepareSvgClone:function(e,t,n){if(e){var r=e.cloneNode(!0),i=document.createElementNS("http://www.w3.org/2000/svg","svg"),o=r.getAttribute("viewBox")||"0 0 "+t+" "+t,a="pointer-events: none; display: block; width: 100%; height: 100%;";return n&&r.hasAttribute("mirror-in-rtl")&&(a+="-webkit-transform:scale(-1,1);transform:scale(-1,1);transform-origin:center;"),i.setAttribute("viewBox",o),i.setAttribute("preserveAspectRatio","xMidYMid meet"),i.setAttribute("focusable","false"),i.style.cssText=a,i.appendChild(r).removeAttribute("id"),i}return null}});var N=document.createElement("template");N.setAttribute("style","display: none;"),N.innerHTML='\n\n\n\n',document.head.appendChild(N.content);var M=document.createElement("template");M.setAttribute("style","display: none;"),M.innerHTML='\n \n',document.head.appendChild(M.content);var H=n(50),B=n(63),V=n(54);function U(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n \x3c!-- this div fulfills an a11y requirement for combobox, do not remove --\x3e\n \n \n \x3c!-- support hybrid mode: user might be using paper-menu-button 1.x which distributes via --\x3e\n \n \n \n']);return U=function(){return e},e}Object(p.a)({_template:Object(h.a)(U()),is:"paper-dropdown-menu",behaviors:[H.a,i.a,B.a,V.a],properties:{selectedItemLabel:{type:String,notify:!0,readOnly:!0},selectedItem:{type:Object,notify:!0,readOnly:!0},value:{type:String,notify:!0},label:{type:String},placeholder:{type:String},errorMessage:{type:String},opened:{type:Boolean,notify:!0,value:!1,observer:"_openedChanged"},allowOutsideScroll:{type:Boolean,value:!1},noLabelFloat:{type:Boolean,value:!1,reflectToAttribute:!0},alwaysFloatLabel:{type:Boolean,value:!1},noAnimations:{type:Boolean,value:!1},horizontalAlign:{type:String,value:"right"},verticalAlign:{type:String,value:"top"},verticalOffset:Number,dynamicAlign:{type:Boolean},restoreFocusOnClose:{type:Boolean,value:!0}},listeners:{tap:"_onTap"},keyBindings:{"up down":"open",esc:"close"},hostAttributes:{role:"combobox","aria-autocomplete":"none","aria-haspopup":"true"},observers:["_selectedItemChanged(selectedItem)"],attached:function(){var e=this.contentElement;e&&e.selectedItem&&this._setSelectedItem(e.selectedItem)},get contentElement(){for(var e=Object(o.a)(this.$.content).getDistributedNodes(),t=0,n=e.length;t=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var s=r.call(o,"catchLoc"),c=r.call(o,"finallyLoc");if(s&&c){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),k(n),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;k(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:x(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},e}("object"===t(e)?e.exports:{});try{regeneratorRuntime=n}catch(r){Function("r","regeneratorRuntime = r")(n)}}).call(this,n(102)(e))},function(e,t,n){"use strict";var r;(r="undefined"!=typeof process&&"[object process]"==={}.toString.call(process)||"undefined"!=typeof navigator&&"ReactNative"===navigator.product?global:self).Proxy||(r.Proxy=n(112)(),r.Proxy.revocable=r.Proxy.revocable)},function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}e.exports=function(){var e,t=null;function r(e){return!!e&&("object"===n(e)||"function"==typeof e)}return(e=function(e,n){if(!r(e)||!r(n))throw new TypeError("Cannot create proxy with a non-object as target or handler");var i=function(){};t=function(){e=null,i=function(e){throw new TypeError("Cannot perform '".concat(e,"' on a proxy that has been revoked"))}},setTimeout((function(){t=null}),0);var o=n;for(var a in n={get:null,set:null,apply:null,construct:null},o){if(!(a in n))throw new TypeError("Proxy polyfill does not support trap '".concat(a,"'"));n[a]=o[a]}"function"==typeof o&&(n.apply=o.apply.bind(o));var s=this,c=!1,l=!1;"function"==typeof e?(s=function(){var t=this&&this.constructor===s,r=Array.prototype.slice.call(arguments);if(i(t?"construct":"apply"),t&&n.construct)return n.construct.call(this,e,r);if(!t&&n.apply)return n.apply(e,this,r);if(t){r.unshift(e);var o=e.bind.apply(e,r);return new o}return e.apply(this,r)},c=!0):e instanceof Array&&(s=[],l=!0);var u=n.get?function(e){return i("get"),n.get(this,e,s)}:function(e){return i("get"),this[e]},d=n.set?function(e,t){i("set");n.set(this,e,t,s)}:function(e,t){i("set"),this[e]=t},f=Object.getOwnPropertyNames(e),p={};f.forEach((function(t){if(!c&&!l||!(t in s)){var n={enumerable:!!Object.getOwnPropertyDescriptor(e,t).enumerable,get:u.bind(e,t),set:d.bind(e,t)};Object.defineProperty(s,t,n),p[t]=!0}}));var h=!0;if(Object.setPrototypeOf?Object.setPrototypeOf(s,Object.getPrototypeOf(e)):s.__proto__?s.__proto__=e.__proto__:h=!1,n.get||!h)for(var m in e)p[m]||Object.defineProperty(s,m,{get:u.bind(e,m)});return Object.seal(e),Object.seal(s),s}).revocable=function(n,r){return{proxy:new e(n,r),revoke:t}},e}},function(e,t){var n=document.createElement("template");n.setAttribute("style","display: none;"),n.innerHTML='',document.head.appendChild(n.content)},function(e,t){},function(e,t,n){"use strict";n.r(t);n(40),n(52);var r=n(7),i=(n(71),n(90),n(95),n(81),n(0)),o=n(49),a=(n(101),n(33),n(57)),s=n(31),c=n(11);function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(){var e=y(["\n ha-dialog.button-left {\n --justify-action-buttons: flex-start;\n }\n paper-icon-item {\n cursor: pointer;\n }\n .form {\n color: var(--primary-text-color);\n }\n .option {\n border: 1px solid var(--divider-color);\n border-radius: 4px;\n margin-top: 4px;\n }\n mwc-button {\n margin-left: 8px;\n }\n ha-paper-dropdown-menu {\n display: block;\n }\n "]);return u=function(){return e},e}function d(){var e=y([""]);return d=function(){return e},e}function f(){var e=y(["\n \n No repositories\n \n "]);return f=function(){return e},e}function p(){var e=y(['\n \n \n
',"
\n
","
\n
","
\n
\n ',"
"]);return h=function(){return e},e}function m(){var e=y(["\n \n ','\n
\n ','\n
\n \n
\n
\n \n Close\n \n \n ']);return m=function(){return e},e}function y(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function v(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(l){return void n(l)}s.done?t(c):Promise.resolve(c).then(r,i)}function b(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){v(o,r,i,a,s,"next",e)}function s(e){v(o,r,i,a,s,"throw",e)}a(void 0)}))}}function g(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _(e,t){return(_=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function w(e,t){return!t||"object"!==l(t)&&"function"!=typeof t?k(e):t}function k(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function O(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function x(e){return(x=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function E(e){var t,n=A(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function S(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function j(e){return e.decorators&&e.decorators.length}function C(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function P(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function A(e){var t=function(e,t){if("object"!==l(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==l(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===l(t)?t:String(t)}function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o,a=!0,s=!1;return{s:function(){i=e[Symbol.iterator]()},n:function(){var e=i.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==i.return||i.return()}finally{if(s)throw o}}}}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&a>0&&n[o]===r[a];)o--,a--;n[o]!==r[a]&&this[h](n[o],r[a]),o>0&&this[y](n.slice(0,o)),a>0&&this[m](r.slice(0,a),i,null)}else this[m](r,i,t)}},{key:h,value:function(e,t){var n=e[d];this[g](e)&&!e.inert&&(e.inert=!0,n.add(e)),n.has(t)&&(t.inert=!1,n.delete(t)),t[f]=e[f],t[d]=n,e[f]=void 0,e[d]=void 0}},{key:y,value:function(e){var t,r=n(e);try{for(r.s();!(t=r.n()).done;){var i=t.value;i[f].disconnect(),i[f]=void 0;var o,a=n(i[d]);try{for(a.s();!(o=a.n()).done;)o.value.inert=!1}catch(s){a.e(s)}finally{a.f()}i[d]=void 0}}catch(s){r.e(s)}finally{r.f()}}},{key:m,value:function(e,t,r){var i,o=n(e);try{for(o.s();!(i=o.n()).done;){for(var a=i.value,s=a.parentNode,c=s.children,l=new Set,u=0;u{const i=new XMLHttpRequest,o=[],a=[],s={},c=()=>({ok:2==(i.status/100|0),statusText:i.statusText,status:i.status,url:i.responseURL,text:()=>Promise.resolve(i.responseText),json:()=>Promise.resolve(JSON.parse(i.responseText)),blob:()=>Promise.resolve(new Blob([i.response])),clone:c,headers:{keys:()=>o,entries:()=>a,get:e=>s[e.toLowerCase()],has:e=>e.toLowerCase()in s}});i.open(t.method||"get",e,!0),i.onload=()=>{i.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,(e,t,n)=>{o.push(t=t.toLowerCase()),a.push([t,n]),s[t]=s[t]?`${s[t]},${n}`:n}),n(c())},i.onerror=r,i.withCredentials="include"==t.credentials;for(const e in t.headers)i.setRequestHeader(e,t.headers[e]);i.send(t.body||null)})});n(111);i.a.polyfill(),void 0===Object.values&&(Object.values=function(e){return Object.keys(e).map((function(t){return e[t]}))}),String.prototype.padStart||(String.prototype.padStart=function(e,t){return e>>=0,t=String(void 0!==t?t:" "),this.length>=e?String(this):((e-=this.length)>t.length&&(t+=t.repeat(e/t.length)),t.slice(0,e)+String(this))});n(113);var o=n(0),a=n(24);function s(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(l){return void n(l)}s.done?t(c):Promise.resolve(c).then(r,i)}function c(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){s(o,r,i,a,c,"next",e)}function c(e){s(o,r,i,a,c,"throw",e)}a(void 0)}))}}var l=function(){var e=c(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.callApi("GET","hassio/host/info");case 2:return n=e.sent,e.abrupt("return",Object(a.a)(n));case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),u=function(){var e=c(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=a.a,e.next=3,t.callApi("GET","hassio/os/info");case 3:return e.t1=e.sent,e.abrupt("return",(0,e.t0)(e.t1));case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),d=function(){var e=c(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.callApi("POST","hassio/host/reboot"));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),f=function(){var e=c(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.callApi("POST","hassio/host/shutdown"));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),p=function(){var e=c(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.callApi("POST","hassio/os/update"));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),h=function(){var e=c(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.callApi("POST","hassio/host/options",n));case 1:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),m=n(31),y=n(73),v=(n(47),n(91),n(34),n(92),n(59),n(98),n(11));function b(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(c){i=!0,o=c}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return g(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return g(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n .scrollable {\n -webkit-overflow-scrolling: auto !important;\n }\n\n paper-dialog-scrollable.can-scroll > .scrollable {\n -webkit-overflow-scrolling: touch !important;\n }\n \n"),document.head.appendChild(_.content);n(52);var w=n(1),k=(n(60),n(9)),O=n(39),x=n(17);function E(e){return(E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function S(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=function(e,t){if(!e)return;if("string"==typeof e)return j(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return j(e,t)}(e))){var t=0,n=function(){};return{s:n,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,i,o=!0,a=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==r.return||r.return()}finally{if(a)throw i}}}}function j(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n\n \n \n \n \n \n ']);return C=function(){return e},e}function P(){var e=M([""]);return P=function(){return e},e}function A(){var e=M(['\n \n ',"\n "]);return A=function(){return e},e}function T(){var e=M(['\n \n \n ']);return T=function(){return e},e}function R(){var e=M(['\n \n \n ']);return R=function(){return e},e}function I(){var e=M([""]);return I=function(){return e},e}function D(){var e=M(['
']);return D=function(){return e},e}function z(){var e=M(["\n \n "]);return z=function(){return e},e}function F(){var e=M(["\n ","\n ","\n ","\n ",""]);return F=function(){return e},e}function L(){var e=M([""]);return L=function(){return e},e}function N(){var e=M([""]);return N=function(){return e},e}function M(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function H(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function B(e,t){for(var n=0;n\n \n ',"\n \n "]);return fe=function(){return e},e}function pe(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function he(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function me(e,t){return(me=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ye(e,t){return!t||"object"!==se(t)&&"function"!=typeof t?ve(e):t}function ve(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function be(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function ge(e){return(ge=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _e(e){var t,n=Ee(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function we(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function ke(e){return e.decorators&&e.decorators.length}function Oe(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function xe(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function Ee(e){var t=function(e,t){if("object"!==se(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==se(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===se(t)?t:String(t)}function Se(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,i,o=!0,a=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==r.return||r.return()}finally{if(a)throw i}}}}function mt(e,t){if(e){if("string"==typeof e)return yt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?yt(e,t):void 0}}function yt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0&&this.adapter.setTabIndexForElementIndex(t,0)}},{key:"handleFocusOut",value:function(e,t){var n=this;t>=0&&this.adapter.setTabIndexForElementIndex(t,-1),setTimeout((function(){n.adapter.isFocusInsideList()||n.setTabindexToFirstSelectedItem_()}),0)}},{key:"handleKeydown",value:function(e,t,n){var r="ArrowLeft"===st(e),i="ArrowUp"===st(e),o="ArrowRight"===st(e),a="ArrowDown"===st(e),s="Home"===st(e),c="End"===st(e),l="Enter"===st(e),u="Spacebar"===st(e);if(this.adapter.isRootFocused())i||c?(e.preventDefault(),this.focusLastElement()):(a||s)&&(e.preventDefault(),this.focusFirstElement());else{var d=this.adapter.getFocusedElementIndex();if(!(-1===d&&(d=n)<0)){var f;if(this.isVertical_&&a||!this.isVertical_&&o)this.preventDefaultEvent(e),f=this.focusNextElement(d);else if(this.isVertical_&&i||!this.isVertical_&&r)this.preventDefaultEvent(e),f=this.focusPrevElement(d);else if(s)this.preventDefaultEvent(e),f=this.focusFirstElement();else if(c)this.preventDefaultEvent(e),f=this.focusLastElement();else if((l||u)&&t){var p=e.target;if(p&&"A"===p.tagName&&l)return;this.preventDefaultEvent(e),this.setSelectedIndexOnAction_(d,!0)}this.focusedItemIndex_=d,void 0!==f&&(this.setTabindexAtIndex_(f),this.focusedItemIndex_=f)}}}},{key:"handleSingleSelection",value:function(e,t,n){e!==dt.UNSET_INDEX&&(this.setSelectedIndexOnAction_(e,t,n),this.setTabindexAtIndex_(e),this.focusedItemIndex_=e)}},{key:"focusNextElement",value:function(e){var t=e+1;if(t>=this.adapter.getListItemCount()){if(!this.wrapFocus_)return e;t=0}return this.adapter.focusItemAtIndex(t),t}},{key:"focusPrevElement",value:function(e){var t=e-1;if(t<0){if(!this.wrapFocus_)return e;t=this.adapter.getListItemCount()-1}return this.adapter.focusItemAtIndex(t),t}},{key:"focusFirstElement",value:function(){return this.adapter.focusItemAtIndex(0),0}},{key:"focusLastElement",value:function(){var e=this.adapter.getListItemCount()-1;return this.adapter.focusItemAtIndex(e),e}},{key:"setEnabled",value:function(e,t){this.isIndexValid_(e)&&this.adapter.setDisabledStateForElementIndex(e,!t)}},{key:"preventDefaultEvent",value:function(e){var t=e.target,n="".concat(t.tagName).toLowerCase();-1===Ot.indexOf(n)&&e.preventDefault()}},{key:"setSingleSelectionAtIndex_",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.selectedIndex_!==e&&(this.selectedIndex_!==dt.UNSET_INDEX&&(this.adapter.setSelectedStateForElementIndex(this.selectedIndex_,!1),this.useActivatedClass_&&this.adapter.setActivatedStateForElementIndex(this.selectedIndex_,!1)),t&&this.adapter.setSelectedStateForElementIndex(e,!0),this.useActivatedClass_&&this.adapter.setActivatedStateForElementIndex(e,!0),this.setAriaForSingleSelectionAtIndex_(e),this.selectedIndex_=e,this.adapter.notifySelected(e))}},{key:"setMultiSelectionAtIndex_",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=Et(this.selectedIndex_),r=kt(n,e);if(r.removed.length||r.added.length){var i,o=ht(r.removed);try{for(o.s();!(i=o.n()).done;){var a=i.value;t&&this.adapter.setSelectedStateForElementIndex(a,!1),this.useActivatedClass_&&this.adapter.setActivatedStateForElementIndex(a,!1)}}catch(u){o.e(u)}finally{o.f()}var s,c=ht(r.added);try{for(c.s();!(s=c.n()).done;){var l=s.value;t&&this.adapter.setSelectedStateForElementIndex(l,!0),this.useActivatedClass_&&this.adapter.setActivatedStateForElementIndex(l,!0)}}catch(u){c.e(u)}finally{c.f()}this.selectedIndex_=e,this.adapter.notifySelected(e,r)}}},{key:"setAriaForSingleSelectionAtIndex_",value:function(e){this.selectedIndex_===dt.UNSET_INDEX&&(this.ariaCurrentAttrValue_=this.adapter.getAttributeForElementIndex(e,ut.ARIA_CURRENT));var t=null!==this.ariaCurrentAttrValue_,n=t?ut.ARIA_CURRENT:ut.ARIA_SELECTED;this.selectedIndex_!==dt.UNSET_INDEX&&this.adapter.setAttributeForElementIndex(this.selectedIndex_,n,"false");var r=t?this.ariaCurrentAttrValue_:"true";this.adapter.setAttributeForElementIndex(e,n,r)}},{key:"setTabindexAtIndex_",value:function(e){this.focusedItemIndex_===dt.UNSET_INDEX&&0!==e?this.adapter.setTabIndexForElementIndex(0,-1):this.focusedItemIndex_>=0&&this.focusedItemIndex_!==e&&this.adapter.setTabIndexForElementIndex(this.focusedItemIndex_,-1),this.adapter.setTabIndexForElementIndex(e,0)}},{key:"setTabindexToFirstSelectedItem_",value:function(){var e=0;"number"==typeof this.selectedIndex_&&this.selectedIndex_!==dt.UNSET_INDEX?e=this.selectedIndex_:xt(this.selectedIndex_)&&this.selectedIndex_.size>0&&(e=Math.min.apply(Math,pt(this.selectedIndex_))),this.setTabindexAtIndex_(e)}},{key:"isIndexValid_",value:function(e){if(e instanceof Set){if(!this.isMulti_)throw new Error("MDCListFoundation: Array of index is only supported for checkbox based list");if(0===e.size)return!0;var t,n=!1,r=ht(e);try{for(r.s();!(t=r.n()).done;){var i=t.value;if(n=this.isIndexInRange_(i))break}}catch(o){r.e(o)}finally{r.f()}return n}if("number"==typeof e){if(this.isMulti_)throw new Error("MDCListFoundation: Expected array of index for checkbox based list but got number: "+e);return e===dt.UNSET_INDEX||this.isIndexInRange_(e)}return!1}},{key:"isIndexInRange_",value:function(e){var t=this.adapter.getListItemCount();return e>=0&&e2&&void 0!==arguments[2])||arguments[2],r=!1;r=void 0===t?!this.adapter.getSelectedStateForElementIndex(e):t;var i=Et(this.selectedIndex_);r?i.add(e):i.delete(e),this.setMultiSelectionAtIndex_(i,n)}}])&&vt(n.prototype,r),i&&vt(n,i),a}(Ae.a);function jt(e){return(jt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ct(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n \x3c!-- @ts-ignore --\x3e\n 1&&void 0!==arguments[1]&&arguments[1],n=this.items[e];n&&(n.selected=!0,n.activated=t)}},{key:"deselectUi",value:function(e){var t=this.items[e];t&&(t.selected=!1,t.activated=!1)}},{key:"select",value:function(e){this.mdcFoundation&&this.mdcFoundation.setSelectedIndex(e)}},{key:"toggle",value:function(e,t){this.multi&&this.mdcFoundation.toggleMultiAtIndex(e,t)}},{key:"onListItemConnected",value:function(e){var t=e.target;this.layout(-1===this.items.indexOf(t))}},{key:"layout",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];e&&this.updateItems();var t,n=this.items[0],r=Pt(this.items);try{for(r.s();!(t=r.n()).done;){var i=t.value;i.tabindex=-1}}catch(o){r.e(o)}finally{r.f()}n&&(this.noninteractive?this.previousTabindex||(this.previousTabindex=n):n.tabindex=0)}},{key:"getFocusedItemIndex",value:function(){if(!this.mdcRoot)return-1;if(!this.items.length)return-1;var e=Object(Ce.b)();if(!e.length)return-1;for(var t=e.length-1;t>=0;t--){var n=e[t];if(Nt(n))return this.items.indexOf(n)}return-1}},{key:"focusItemAtIndex",value:function(e){var t,n=Pt(this.items);try{for(n.s();!(t=n.n()).done;){var r=t.value;if(0===r.tabindex){r.tabindex=-1;break}}}catch(i){n.e(i)}finally{n.f()}this.items[e].tabindex=0,this.items[e].focus()}},{key:"focus",value:function(){var e=this.mdcRoot;e&&e.focus()}},{key:"blur",value:function(){var e=this.mdcRoot;e&&e.blur()}},{key:"assignedElements",get:function(){var e=this.slotElement;return e?e.assignedNodes({flatten:!0}).filter(Ce.e):[]}},{key:"items",get:function(){return this.items_}},{key:"selected",get:function(){var e=this.index;if(!xt(e))return-1===e?null:this.items[e];var t,n=[],r=Pt(e);try{for(r.s();!(t=r.n()).done;){var i=t.value;n.push(this.items[i])}}catch(o){r.e(o)}finally{r.f()}return n}},{key:"index",get:function(){return this.mdcFoundation?this.mdcFoundation.getSelectedIndex():-1}}])&&Rt(n.prototype,r),i&&Rt(n,i),s}(je.a);function Ht(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}:host{display:block}.mdc-list{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);line-height:1.75rem;line-height:var(--mdc-typography-subtitle1-line-height, 1.75rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:0.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);text-decoration:inherit;text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform, inherit);line-height:1.5rem;margin:0;padding:8px 0;list-style-type:none;color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));padding:var(--mdc-list-vertical-padding, 8px) 0}.mdc-list:focus{outline:none}.mdc-list-item{height:48px}.mdc-list--dense{padding-top:4px;padding-bottom:4px;font-size:.812rem}.mdc-list ::slotted([divider]){height:0;margin:0;border:none;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgba(0,0,0,.12)}.mdc-list ::slotted([divider][padded]){margin:0 var(--mdc-list-side-padding, 16px)}.mdc-list ::slotted([divider][inset]){margin-left:var(--mdc-list-inset-margin, 72px);margin-right:0;width:calc(100% - var(--mdc-list-inset-margin, 72px))}.mdc-list-group[dir=rtl] .mdc-list ::slotted([divider][inset]),[dir=rtl] .mdc-list-group .mdc-list ::slotted([divider][inset]){margin-left:0;margin-right:var(--mdc-list-inset-margin, 72px)}.mdc-list ::slotted([divider][inset][padded]){width:calc(100% - var(--mdc-list-inset-margin, 72px) - var(--mdc-list-side-padding, 16px))}.mdc-list--dense ::slotted([mwc-list-item]){height:40px}.mdc-list--dense ::slotted([mwc-list]){--mdc-list-item-graphic-size: 20px}.mdc-list--two-line.mdc-list--dense ::slotted([mwc-list-item]),.mdc-list--avatar-list.mdc-list--dense ::slotted([mwc-list-item]){height:60px}.mdc-list--avatar-list.mdc-list--dense ::slotted([mwc-list]){--mdc-list-item-graphic-size: 36px}:host([noninteractive]){pointer-events:none;cursor:default}.mdc-list--dense ::slotted(.mdc-list-item__primary-text){display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list--dense ::slotted(.mdc-list-item__primary-text)::before{display:inline-block;width:0;height:24px;content:"";vertical-align:0}.mdc-list--dense ::slotted(.mdc-list-item__primary-text)::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}']);return Ht=function(){return e},e}Object(w.b)([Object(o.i)(".mdc-list")],Mt.prototype,"mdcRoot",void 0),Object(w.b)([Object(o.i)("slot")],Mt.prototype,"slotElement",void 0),Object(w.b)([Object(o.h)({type:Boolean}),Object(k.a)((function(e){this.mdcFoundation&&this.mdcFoundation.setUseActivatedClass(e)}))],Mt.prototype,"activatable",void 0),Object(w.b)([Object(o.h)({type:Boolean}),Object(k.a)((function(e,t){this.mdcFoundation&&this.mdcFoundation.setMulti(e),void 0!==t&&this.layout()}))],Mt.prototype,"multi",void 0),Object(w.b)([Object(o.h)({type:Boolean}),Object(k.a)((function(e){this.mdcFoundation&&this.mdcFoundation.setWrapFocus(e)}))],Mt.prototype,"wrapFocus",void 0),Object(w.b)([Object(o.h)({type:String}),Object(k.a)((function(e,t){void 0!==t&&this.updateItems()}))],Mt.prototype,"itemRoles",void 0),Object(w.b)([Object(o.h)({type:String})],Mt.prototype,"innerRole",void 0),Object(w.b)([Object(o.h)({type:String})],Mt.prototype,"innerAriaLabel",void 0),Object(w.b)([Object(o.h)({type:Boolean})],Mt.prototype,"rootTabbable",void 0),Object(w.b)([Object(o.h)({type:Boolean,reflect:!0}),Object(k.a)((function(e){var t=this.slotElement;if(e&&t){var n=Object(Ce.d)(t,'[tabindex="0"]');this.previousTabindex=n,n&&n.setAttribute("tabindex","-1")}else!e&&this.previousTabindex&&(this.previousTabindex.setAttribute("tabindex","0"),this.previousTabindex=null)}))],Mt.prototype,"noninteractive",void 0);var Bt=Object(o.c)(Ht());function Vt(e){return(Vt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ut(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Kt(e,t){return(Kt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function $t(e,t){return!t||"object"!==Vt(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function qt(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function Gt(e){return(Gt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Wt=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Kt(e,t)}(r,e);var t,n=(t=r,function(){var e,n=Gt(t);if(qt()){var r=Gt(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return $t(this,e)});function r(){return Ut(this,r),n.apply(this,arguments)}return r}(Mt);Wt.styles=Bt,Wt=Object(w.b)([Object(o.d)("mwc-list")],Wt);var Yt,Xt,Zt={ANCHOR:"mdc-menu-surface--anchor",ANIMATING_CLOSED:"mdc-menu-surface--animating-closed",ANIMATING_OPEN:"mdc-menu-surface--animating-open",FIXED:"mdc-menu-surface--fixed",IS_OPEN_BELOW:"mdc-menu-surface--is-open-below",OPEN:"mdc-menu-surface--open",ROOT:"mdc-menu-surface"},Jt={CLOSED_EVENT:"MDCMenuSurface:closed",OPENED_EVENT:"MDCMenuSurface:opened",FOCUSABLE_ELEMENTS:["button:not(:disabled)",'[href]:not([aria-disabled="true"])',"input:not(:disabled)","select:not(:disabled)","textarea:not(:disabled)",'[tabindex]:not([tabindex="-1"]):not([aria-disabled="true"])'].join(", ")},Qt={TRANSITION_OPEN_DURATION:120,TRANSITION_CLOSE_DURATION:75,MARGIN_TO_EDGE:32,ANCHOR_TO_MENU_SURFACE_WIDTH_RATIO:.67};!function(e){e[e.BOTTOM=1]="BOTTOM",e[e.CENTER=2]="CENTER",e[e.RIGHT=4]="RIGHT",e[e.FLIP_RTL=8]="FLIP_RTL"}(Yt||(Yt={})),function(e){e[e.TOP_LEFT=0]="TOP_LEFT",e[e.TOP_RIGHT=4]="TOP_RIGHT",e[e.BOTTOM_LEFT=1]="BOTTOM_LEFT",e[e.BOTTOM_RIGHT=5]="BOTTOM_RIGHT",e[e.TOP_START=8]="TOP_START",e[e.TOP_END=12]="TOP_END",e[e.BOTTOM_START=9]="BOTTOM_START",e[e.BOTTOM_END=13]="BOTTOM_END"}(Xt||(Xt={}));var en,tn=function(e){function t(n){var r=e.call(this,Object(w.a)(Object(w.a)({},t.defaultAdapter),n))||this;return r.isSurfaceOpen=!1,r.isQuickOpen=!1,r.isHoistedElement=!1,r.isFixedPosition=!1,r.openAnimationEndTimerId=0,r.closeAnimationEndTimerId=0,r.animationRequestId=0,r.anchorCorner=Xt.TOP_START,r.originCorner=Xt.TOP_START,r.anchorMargin={top:0,right:0,bottom:0,left:0},r.position={x:0,y:0},r}return Object(w.c)(t,e),Object.defineProperty(t,"cssClasses",{get:function(){return Zt},enumerable:!0,configurable:!0}),Object.defineProperty(t,"strings",{get:function(){return Jt},enumerable:!0,configurable:!0}),Object.defineProperty(t,"numbers",{get:function(){return Qt},enumerable:!0,configurable:!0}),Object.defineProperty(t,"Corner",{get:function(){return Xt},enumerable:!0,configurable:!0}),Object.defineProperty(t,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},hasClass:function(){return!1},hasAnchor:function(){return!1},isElementInContainer:function(){return!1},isFocused:function(){return!1},isRtl:function(){return!1},getInnerDimensions:function(){return{height:0,width:0}},getAnchorDimensions:function(){return null},getWindowDimensions:function(){return{height:0,width:0}},getBodyDimensions:function(){return{height:0,width:0}},getWindowScroll:function(){return{x:0,y:0}},setPosition:function(){},setMaxHeight:function(){},setTransformOrigin:function(){},saveFocus:function(){},restoreFocus:function(){},notifyClose:function(){},notifyOpen:function(){}}},enumerable:!0,configurable:!0}),t.prototype.init=function(){var e=t.cssClasses,n=e.ROOT,r=e.OPEN;if(!this.adapter.hasClass(n))throw new Error(n+" class required in root element.");this.adapter.hasClass(r)&&(this.isSurfaceOpen=!0)},t.prototype.destroy=function(){clearTimeout(this.openAnimationEndTimerId),clearTimeout(this.closeAnimationEndTimerId),cancelAnimationFrame(this.animationRequestId)},t.prototype.setAnchorCorner=function(e){this.anchorCorner=e},t.prototype.flipCornerHorizontally=function(){this.originCorner=this.originCorner^Yt.RIGHT},t.prototype.setAnchorMargin=function(e){this.anchorMargin.top=e.top||0,this.anchorMargin.right=e.right||0,this.anchorMargin.bottom=e.bottom||0,this.anchorMargin.left=e.left||0},t.prototype.setIsHoisted=function(e){this.isHoistedElement=e},t.prototype.setFixedPosition=function(e){this.isFixedPosition=e},t.prototype.setAbsolutePosition=function(e,t){this.position.x=this.isFinite(e)?e:0,this.position.y=this.isFinite(t)?t:0},t.prototype.setQuickOpen=function(e){this.isQuickOpen=e},t.prototype.isOpen=function(){return this.isSurfaceOpen},t.prototype.open=function(){var e=this;this.isSurfaceOpen||(this.adapter.saveFocus(),this.isQuickOpen?(this.isSurfaceOpen=!0,this.adapter.addClass(t.cssClasses.OPEN),this.dimensions=this.adapter.getInnerDimensions(),this.autoposition(),this.adapter.notifyOpen()):(this.adapter.addClass(t.cssClasses.ANIMATING_OPEN),this.animationRequestId=requestAnimationFrame((function(){e.adapter.addClass(t.cssClasses.OPEN),e.dimensions=e.adapter.getInnerDimensions(),e.autoposition(),e.openAnimationEndTimerId=setTimeout((function(){e.openAnimationEndTimerId=0,e.adapter.removeClass(t.cssClasses.ANIMATING_OPEN),e.adapter.notifyOpen()}),Qt.TRANSITION_OPEN_DURATION)})),this.isSurfaceOpen=!0))},t.prototype.close=function(e){var n=this;void 0===e&&(e=!1),this.isSurfaceOpen&&(this.isQuickOpen?(this.isSurfaceOpen=!1,e||this.maybeRestoreFocus(),this.adapter.removeClass(t.cssClasses.OPEN),this.adapter.removeClass(t.cssClasses.IS_OPEN_BELOW),this.adapter.notifyClose()):(this.adapter.addClass(t.cssClasses.ANIMATING_CLOSED),requestAnimationFrame((function(){n.adapter.removeClass(t.cssClasses.OPEN),n.adapter.removeClass(t.cssClasses.IS_OPEN_BELOW),n.closeAnimationEndTimerId=setTimeout((function(){n.closeAnimationEndTimerId=0,n.adapter.removeClass(t.cssClasses.ANIMATING_CLOSED),n.adapter.notifyClose()}),Qt.TRANSITION_CLOSE_DURATION)})),this.isSurfaceOpen=!1,e||this.maybeRestoreFocus()))},t.prototype.handleBodyClick=function(e){var t=e.target;this.adapter.isElementInContainer(t)||this.close()},t.prototype.handleKeydown=function(e){var t=e.keyCode;("Escape"===e.key||27===t)&&this.close()},t.prototype.autoposition=function(){var e;this.measurements=this.getAutoLayoutmeasurements();var n=this.getoriginCorner(),r=this.getMenuSurfaceMaxHeight(n),i=this.hasBit(n,Yt.BOTTOM)?"bottom":"top",o=this.hasBit(n,Yt.RIGHT)?"right":"left",a=this.getHorizontalOriginOffset(n),s=this.getVerticalOriginOffset(n),c=this.measurements,l=c.anchorSize,u=c.surfaceSize,d=((e={})[o]=a,e[i]=s,e);l.width/u.width>Qt.ANCHOR_TO_MENU_SURFACE_WIDTH_RATIO&&(o="center"),(this.isHoistedElement||this.isFixedPosition)&&this.adjustPositionForHoistedElement(d),this.adapter.setTransformOrigin(o+" "+i),this.adapter.setPosition(d),this.adapter.setMaxHeight(r?r+"px":""),this.hasBit(n,Yt.BOTTOM)||this.adapter.addClass(t.cssClasses.IS_OPEN_BELOW)},t.prototype.getAutoLayoutmeasurements=function(){var e=this.adapter.getAnchorDimensions(),t=this.adapter.getBodyDimensions(),n=this.adapter.getWindowDimensions(),r=this.adapter.getWindowScroll();return e||(e={top:this.position.y,right:this.position.x,bottom:this.position.y,left:this.position.x,width:0,height:0}),{anchorSize:e,bodySize:t,surfaceSize:this.dimensions,viewportDistance:{top:e.top,right:n.width-e.right,bottom:n.height-e.bottom,left:e.left},viewportSize:n,windowScroll:r}},t.prototype.getoriginCorner=function(){var e,n,r=this.originCorner,i=this.measurements,o=i.viewportDistance,a=i.anchorSize,s=i.surfaceSize,c=t.numbers.MARGIN_TO_EDGE;this.hasBit(this.anchorCorner,Yt.BOTTOM)?(e=o.top-c+a.height+this.anchorMargin.bottom,n=o.bottom-c-this.anchorMargin.bottom):(e=o.top-c+this.anchorMargin.top,n=o.bottom-c+a.height-this.anchorMargin.top),!(n-s.height>0)&&e>=n&&(r=this.setBit(r,Yt.BOTTOM));var l,u,d=this.adapter.isRtl(),f=this.hasBit(this.anchorCorner,Yt.FLIP_RTL),p=this.hasBit(this.anchorCorner,Yt.RIGHT),h=!1;(h=d&&f?!p:p)?(l=o.left+a.width+this.anchorMargin.right,u=o.right-this.anchorMargin.right):(l=o.left+this.anchorMargin.left,u=o.right+a.width-this.anchorMargin.left);var m=l-s.width>0,y=u-s.width>0,v=this.hasBit(r,Yt.FLIP_RTL)&&this.hasBit(r,Yt.RIGHT);return y&&v&&d||!m&&v?r=this.unsetBit(r,Yt.RIGHT):(m&&h&&d||m&&!h&&p||!y&&l>=u)&&(r=this.setBit(r,Yt.RIGHT)),r},t.prototype.getMenuSurfaceMaxHeight=function(e){var n=this.measurements.viewportDistance,r=0,i=this.hasBit(e,Yt.BOTTOM),o=this.hasBit(this.anchorCorner,Yt.BOTTOM),a=t.numbers.MARGIN_TO_EDGE;return i?(r=n.top+this.anchorMargin.top-a,o||(r+=this.measurements.anchorSize.height)):(r=n.bottom-this.anchorMargin.bottom+this.measurements.anchorSize.height-a,o&&(r-=this.measurements.anchorSize.height)),r},t.prototype.getHorizontalOriginOffset=function(e){var t=this.measurements.anchorSize,n=this.hasBit(e,Yt.RIGHT),r=this.hasBit(this.anchorCorner,Yt.RIGHT);if(n){var i=r?t.width-this.anchorMargin.left:this.anchorMargin.right;return this.isHoistedElement||this.isFixedPosition?i-(this.measurements.viewportSize.width-this.measurements.bodySize.width):i}return r?t.width-this.anchorMargin.right:this.anchorMargin.left},t.prototype.getVerticalOriginOffset=function(e){var t=this.measurements.anchorSize,n=this.hasBit(e,Yt.BOTTOM),r=this.hasBit(this.anchorCorner,Yt.BOTTOM);return n?r?t.height-this.anchorMargin.top:-this.anchorMargin.bottom:r?t.height+this.anchorMargin.bottom:this.anchorMargin.top},t.prototype.adjustPositionForHoistedElement=function(e){var t,n,r=this.measurements,i=r.windowScroll,o=r.viewportDistance,a=Object.keys(e);try{for(var s=Object(w.d)(a),c=s.next();!c.done;c=s.next()){var l=c.value,u=e[l]||0;u+=o[l],this.isFixedPosition||("top"===l?u+=i.y:"bottom"===l?u-=i.y:"left"===l?u+=i.x:u-=i.x),e[l]=u}}catch(d){t={error:d}}finally{try{c&&!c.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}},t.prototype.maybeRestoreFocus=function(){var e=this.adapter.isFocused(),t=document.activeElement&&this.adapter.isElementInContainer(document.activeElement);(e||t)&&this.adapter.restoreFocus()},t.prototype.hasBit=function(e,t){return Boolean(e&t)},t.prototype.setBit=function(e,t){return e|t},t.prototype.unsetBit=function(e,t){return e^t},t.prototype.isFinite=function(e){return"number"==typeof e&&isFinite(e)},t}(Ae.a),nn=tn;function rn(e){return(rn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function on(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n =0&&t.adapter.isSelectableItemAtIndex(n)&&t.setSelectedIndex(n)}),tn.numbers.TRANSITION_CLOSE_DURATION))},t.prototype.handleMenuSurfaceOpened=function(){switch(this.defaultFocusState_){case On.FIRST_ITEM:this.adapter.focusItemAtIndex(0);break;case On.LAST_ITEM:this.adapter.focusItemAtIndex(this.adapter.getMenuItemCount()-1);break;case On.NONE:break;default:this.adapter.focusListRoot()}},t.prototype.setDefaultFocusState=function(e){this.defaultFocusState_=e},t.prototype.setSelectedIndex=function(e){if(this.validatedIndex_(e),!this.adapter.isSelectableItemAtIndex(e))throw new Error("MDCMenuFoundation: No selection group at specified index.");var t=this.adapter.getSelectedSiblingOfItemAtIndex(e);t>=0&&(this.adapter.removeAttributeFromElementAtIndex(t,En.ARIA_CHECKED_ATTR),this.adapter.removeClassFromElementAtIndex(t,xn.MENU_SELECTED_LIST_ITEM)),this.adapter.addClassToElementAtIndex(e,xn.MENU_SELECTED_LIST_ITEM),this.adapter.addAttributeToElementAtIndex(e,En.ARIA_CHECKED_ATTR,"true")},t.prototype.setEnabled=function(e,t){this.validatedIndex_(e),t?(this.adapter.removeClassFromElementAtIndex(e,lt),this.adapter.addAttributeToElementAtIndex(e,En.ARIA_DISABLED_ATTR,"false")):(this.adapter.addClassToElementAtIndex(e,lt),this.adapter.addAttributeToElementAtIndex(e,En.ARIA_DISABLED_ATTR,"true"))},t.prototype.validatedIndex_=function(e){var t=this.adapter.getMenuItemCount();if(!(e>=0&&e0&&void 0!==arguments[0])||arguments[0],t=this.listElement;t&&t.layout(e)}},{key:"listElement",get:function(){return this.listElement_||(this.listElement_=this.renderRoot.querySelector("mwc-list")),this.listElement_}},{key:"items",get:function(){var e=this.listElement;return e?e.items:[]}},{key:"index",get:function(){var e=this.listElement;return e?e.index:-1}},{key:"selected",get:function(){var e=this.listElement;return e?e.selected:null}}])&&In(n.prototype,r),i&&In(n,i),l}(je.a);function Hn(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["mwc-list ::slotted([mwc-list-item]:not([twoline])){height:var(--mdc-menu-item-height, 48px)}mwc-list{max-width:var(--mdc-menu-max-width, auto);min-width:var(--mdc-menu-min-width, auto)}"]);return Hn=function(){return e},e}Object(w.b)([Object(o.i)(".mdc-menu")],Mn.prototype,"mdcRoot",void 0),Object(w.b)([Object(o.i)("slot")],Mn.prototype,"slotElement",void 0),Object(w.b)([Object(o.h)({type:Object})],Mn.prototype,"anchor",void 0),Object(w.b)([Object(o.h)({type:Boolean,reflect:!0})],Mn.prototype,"open",void 0),Object(w.b)([Object(o.h)({type:Boolean})],Mn.prototype,"quick",void 0),Object(w.b)([Object(o.h)({type:Boolean})],Mn.prototype,"wrapFocus",void 0),Object(w.b)([Object(o.h)({type:String})],Mn.prototype,"innerRole",void 0),Object(w.b)([Object(o.h)({type:String})],Mn.prototype,"corner",void 0),Object(w.b)([Object(o.h)({type:Number})],Mn.prototype,"x",void 0),Object(w.b)([Object(o.h)({type:Number})],Mn.prototype,"y",void 0),Object(w.b)([Object(o.h)({type:Boolean})],Mn.prototype,"absolute",void 0),Object(w.b)([Object(o.h)({type:Boolean})],Mn.prototype,"multi",void 0),Object(w.b)([Object(o.h)({type:Boolean})],Mn.prototype,"activatable",void 0),Object(w.b)([Object(o.h)({type:Boolean})],Mn.prototype,"fixed",void 0),Object(w.b)([Object(o.h)({type:Boolean})],Mn.prototype,"forceGroupSelection",void 0),Object(w.b)([Object(o.h)({type:Boolean})],Mn.prototype,"fullwidth",void 0),Object(w.b)([Object(o.h)({type:String})],Mn.prototype,"menuCorner",void 0),Object(w.b)([Object(o.h)({type:String}),Object(k.a)((function(e){this.mdcFoundation&&this.mdcFoundation.setDefaultFocusState(On[e])}))],Mn.prototype,"defaultFocus",void 0);var Bn=Object(o.c)(Hn());function Vn(e){return(Vn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Un(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Kn(e,t){return(Kn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function $n(e,t){return!t||"object"!==Vn(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function qn(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function Gn(e){return(Gn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Wn=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Kn(e,t)}(r,e);var t,n=(t=r,function(){var e,n=Gn(t);if(qn()){var r=Gn(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return $n(this,e)});function r(){return Un(this,r),n.apply(this,arguments)}return r}(Mn);Wn.styles=Bn,Wn=Object(w.b)([Object(o.d)("mwc-menu")],Wn);n(93);function Yn(e){return(Yn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Xn(){var e=Jn(["\n :host {\n display: inline-block;\n position: relative;\n }\n "]);return Xn=function(){return e},e}function Zn(){var e=Jn(["\n
\n
\n e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;ae.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:3,t=new Map;return{get:function(n){var r=n.match(Br).length;if(t.has(r))return t.get(r);var i=parseFloat((1/Math.sqrt(r)).toFixed(e));return t.set(r,i),i},clear:function(){t.clear()}}}var Ur=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.getFn,r=void 0===n?Hr.getFn:n;Sr(this,e),this.norm=Vr(3),this.getFn=r,this.isCreated=!1,this.setRecords()}return Cr(e,[{key:"setCollection",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.docs=e}},{key:"setRecords",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.records=e}},{key:"setKeys",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.keys=e}},{key:"create",value:function(){var e=this;!this.isCreated&&this.docs.length&&(this.isCreated=!0,Tr(this.docs[0])?this.docs.forEach((function(t,n){e._addString(t,n)})):this.docs.forEach((function(t,n){e._addObject(t,n)})),this.norm.clear())}},{key:"add",value:function(e){var t=this.size();Tr(e)?this._addString(e,t):this._addObject(e,t)}},{key:"removeAt",value:function(e){this.records.splice(e,1);for(var t=e,n=this.size();t2&&void 0!==arguments[2]?arguments[2]:{},r=n.getFn,i=void 0===r?Hr.getFn:r,o=new Ur({getFn:i});return o.setKeys(e),o.setCollection(t),o.create(),o}function $r(e,t){var n=e.matches;t.matches=[],Ir(n)&&n.forEach((function(e){if(Ir(e.indices)&&e.indices.length){var n={indices:e.indices,value:e.value};e.key&&(n.key=e.key),e.idx>-1&&(n.refIndex=e.idx),t.matches.push(n)}}))}function qr(e,t){t.score=e.score}function Gr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.errors,r=void 0===n?0:n,i=t.currentLocation,o=void 0===i?0:i,a=t.expectedLocation,s=void 0===a?0:a,c=t.distance,l=void 0===c?Hr.distance:c,u=r/e.length,d=Math.abs(s-o);return l?u+d/l:d?1:u}function Wr(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Hr.minMatchCharLength,n=[],r=-1,i=-1,o=0,a=e.length;o=t&&n.push([r,i]),r=-1)}return e[o-1]&&o-r>=t&&n.push([r,o-1]),n}function Yr(e){for(var t={},n=e.length,r=0;r1&&void 0!==arguments[1]?arguments[1]:{},r=n.location,i=void 0===r?Hr.location:r,o=n.threshold,a=void 0===o?Hr.threshold:o,s=n.distance,c=void 0===s?Hr.distance:s,l=n.includeMatches,u=void 0===l?Hr.includeMatches:l,d=n.findAllMatches,f=void 0===d?Hr.findAllMatches:d,p=n.minMatchCharLength,h=void 0===p?Hr.minMatchCharLength:p,m=n.isCaseSensitive,y=void 0===m?Hr.isCaseSensitive:m;Sr(this,e),this.options={location:i,threshold:a,distance:c,includeMatches:u,findAllMatches:f,minMatchCharLength:h,isCaseSensitive:y},this.pattern=y?t:t.toLowerCase(),this.chunks=[];for(var v=0;v3&&void 0!==arguments[3]?arguments[3]:{},i=r.location,o=void 0===i?Hr.location:i,a=r.distance,s=void 0===a?Hr.distance:a,c=r.threshold,l=void 0===c?Hr.threshold:c,u=r.findAllMatches,d=void 0===u?Hr.findAllMatches:u,f=r.minMatchCharLength,p=void 0===f?Hr.minMatchCharLength:f,h=r.includeMatches,m=void 0===h?Hr.includeMatches:h;if(t.length>32)throw new Error(Fr(32));var y,v=t.length,b=e.length,g=Math.max(0,Math.min(o,b)),_=l,w=g,k=[];if(m)for(var O=0;O-1;){var x=Gr(t,{currentLocation:y,expectedLocation:g,distance:s});if(_=Math.min(x,_),w=y+v,m)for(var E=0;E=D;L-=1){var N=L-1,M=n[e.charAt(N)];if(M&&m&&(k[N]=1),F[L]=(F[L+1]<<1|1)&M,0!==A&&(F[L]|=(S[L+1]|S[L])<<1|1|S[L+1]),F[L]&P&&(j=Gr(t,{errors:A,currentLocation:N,expectedLocation:g,distance:s}))<=_){if(_=j,(w=N)<=g)break;D=Math.max(1,2*g-w)}}var H=Gr(t,{errors:A+1,currentLocation:g,expectedLocation:g,distance:s});if(H>_)break;S=F}var B={isMatch:w>=0,score:Math.max(.001,j)};return m&&(B.indices=Wr(k,p)),B}(e,i,o,{location:a+32*n,distance:s,threshold:c,findAllMatches:l,minMatchCharLength:u,includeMatches:r}),m=h.isMatch,y=h.score,v=h.indices;m&&(p=!0),f+=y,m&&v&&(d=[].concat(xr(d),xr(v)))}));var h={isMatch:p,score:p?f/this.chunks.length:1};return p&&r&&(h.indices=d),h}}]),e}(),Zr=function(){function e(t){Sr(this,e),this.pattern=t}return Cr(e,[{key:"search",value:function(){}}],[{key:"isMultiMatch",value:function(e){return Jr(e,this.multiRegex)}},{key:"isSingleMatch",value:function(e){return Jr(e,this.singleRegex)}}]),e}();function Jr(e,t){var n=e.match(t);return n?n[1]:null}var Qr=function(e){br(n,e);var t=_r(n);function n(e){return Sr(this,n),t.call(this,e)}return Cr(n,[{key:"search",value:function(e){for(var t,n=0,r=[],i=this.pattern.length;(t=e.indexOf(this.pattern,n))>-1;)n=t+i,r.push([t,n-1]);var o=!!r.length;return{isMatch:o,score:o?1:0,indices:r}}}],[{key:"type",get:function(){return"exact"}},{key:"multiRegex",get:function(){return/^'"(.*)"$/}},{key:"singleRegex",get:function(){return/^'(.*)$/}}]),n}(Zr),ei=function(e){br(n,e);var t=_r(n);function n(e){return Sr(this,n),t.call(this,e)}return Cr(n,[{key:"search",value:function(e){var t=-1===e.indexOf(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}],[{key:"type",get:function(){return"inverse-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"$/}},{key:"singleRegex",get:function(){return/^!(.*)$/}}]),n}(Zr),ti=function(e){br(n,e);var t=_r(n);function n(e){return Sr(this,n),t.call(this,e)}return Cr(n,[{key:"search",value:function(e){var t=e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"prefix-exact"}},{key:"multiRegex",get:function(){return/^\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^\^(.*)$/}}]),n}(Zr),ni=function(e){br(n,e);var t=_r(n);function n(e){return Sr(this,n),t.call(this,e)}return Cr(n,[{key:"search",value:function(e){var t=!e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}],[{key:"type",get:function(){return"inverse-prefix-exact"}},{key:"multiRegex",get:function(){return/^!\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^!\^(.*)$/}}]),n}(Zr),ri=function(e){br(n,e);var t=_r(n);function n(e){return Sr(this,n),t.call(this,e)}return Cr(n,[{key:"search",value:function(e){var t=e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[e.length-this.pattern.length,e.length-1]}}}],[{key:"type",get:function(){return"suffix-exact"}},{key:"multiRegex",get:function(){return/^"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^(.*)\$$/}}]),n}(Zr),ii=function(e){br(n,e);var t=_r(n);function n(e){return Sr(this,n),t.call(this,e)}return Cr(n,[{key:"search",value:function(e){var t=!e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}],[{key:"type",get:function(){return"inverse-suffix-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^!(.*)\$$/}}]),n}(Zr),oi=function(e){br(n,e);var t=_r(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=i.location,a=void 0===o?Hr.location:o,s=i.threshold,c=void 0===s?Hr.threshold:s,l=i.distance,u=void 0===l?Hr.distance:l,d=i.includeMatches,f=void 0===d?Hr.includeMatches:d,p=i.findAllMatches,h=void 0===p?Hr.findAllMatches:p,m=i.minMatchCharLength,y=void 0===m?Hr.minMatchCharLength:m,v=i.isCaseSensitive,b=void 0===v?Hr.isCaseSensitive:v;return Sr(this,n),(r=t.call(this,e))._bitapSearch=new Xr(e,{location:a,threshold:c,distance:u,includeMatches:f,findAllMatches:h,minMatchCharLength:y,isCaseSensitive:b}),r}return Cr(n,[{key:"search",value:function(e){return this._bitapSearch.searchIn(e)}}],[{key:"type",get:function(){return"fuzzy"}},{key:"multiRegex",get:function(){return/^"(.*)"$/}},{key:"singleRegex",get:function(){return/^(.*)$/}}]),n}(Zr),ai=[Qr,ti,ni,ii,ri,ei,oi],si=ai.length,ci=/ +(?=([^\"]*\"[^\"]*\")*[^\"]*$)/;function li(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.split("|").map((function(e){for(var n=e.trim().split(ci).filter((function(e){return e&&!!e.trim()})),r=[],i=0,o=n.length;i1&&void 0!==arguments[1]?arguments[1]:{},r=n.isCaseSensitive,i=void 0===r?Hr.isCaseSensitive:r,o=n.includeMatches,a=void 0===o?Hr.includeMatches:o,s=n.minMatchCharLength,c=void 0===s?Hr.minMatchCharLength:s,l=n.findAllMatches,u=void 0===l?Hr.findAllMatches:l,d=n.location,f=void 0===d?Hr.location:d,p=n.threshold,h=void 0===p?Hr.threshold:p,m=n.distance,y=void 0===m?Hr.distance:m;Sr(this,e),this.query=null,this.options={isCaseSensitive:i,includeMatches:a,minMatchCharLength:c,findAllMatches:u,location:f,threshold:h,distance:y},this.pattern=i?t:t.toLowerCase(),this.query=li(this.pattern,this.options)}return Cr(e,[{key:"searchIn",value:function(e){var t=this.query;if(!t)return{isMatch:!1,score:1};var n=this.options,r=n.includeMatches;e=n.isCaseSensitive?e:e.toLowerCase();for(var i=0,o=[],a=0,s=0,c=t.length;s2&&void 0!==arguments[2]?arguments[2]:{},r=n.auto,i=void 0===r||r,o=function e(n){var r=Object.keys(n);if(r.length>1&&!yi(n))return e(bi(n));var o=r[0];if(vi(n)){var a=n[o];if(!Tr(a))throw new Error(zr(o));var s={key:o,pattern:a};return i&&(s.searcher=pi(a,t)),s}var c={children:[],operator:o};return r.forEach((function(t){var r=n[t];Ar(r)&&r.forEach((function(t){c.children.push(e(t))}))})),c};return yi(e)||(e=bi(e)),o(e)}var _i=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;Sr(this,e),this.options=Object.assign({},Hr,{},n),this.options.useExtendedSearch,this._keyStore=new Nr(this.options.keys),this.setCollection(t,r)}return Cr(e,[{key:"setCollection",value:function(e,t){if(this._docs=e,t&&!(t instanceof Ur))throw new Error("Incorrect 'index' type");this._myIndex=t||Kr(this._keyStore.keys(),this._docs,{getFn:this.options.getFn})}},{key:"add",value:function(e){Ir(e)&&(this._docs.push(e),this._myIndex.add(e))}},{key:"removeAt",value:function(e){this._docs.splice(e,1),this._myIndex.removeAt(e)}},{key:"getIndex",value:function(){return this._myIndex}},{key:"search",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.limit,r=void 0===n?-1:n,i=this.options,o=i.includeMatches,a=i.includeScore,s=i.shouldSort,c=i.sortFn,l=Tr(e)?Tr(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return wi(l,this._keyStore),s&&l.sort(c),Rr(r)&&r>-1&&(l=l.slice(0,r)),ki(l,this._docs,{includeMatches:o,includeScore:a})}},{key:"_searchStringList",value:function(e){var t=pi(e,this.options),n=this._myIndex.records,r=[];return n.forEach((function(e){var n=e.v,i=e.i,o=e.n;if(Ir(n)){var a=t.searchIn(n),s=a.isMatch,c=a.score,l=a.indices;s&&r.push({item:n,idx:i,matches:[{score:c,value:n,norm:o,indices:l}]})}})),r}},{key:"_searchLogical",value:function(e){var t=this,n=gi(e,this.options),r=this._myIndex,i=r.keys,o=r.records,a={},s=[];return o.forEach((function(e){var r=e.$,o=e.i;Ir(r)&&function e(n,r,o){if(!n.children){var c=n.key,l=n.searcher,u=r[i.indexOf(c)];return t._findMatches({key:c,value:u,searcher:l})}for(var d=n.operator,f=[],p=0;p2&&void 0!==arguments[2]?arguments[2]:{},r=n.includeMatches,i=void 0===r?Hr.includeMatches:r,o=n.includeScore,a=void 0===o?Hr.includeScore:o,s=[];return i&&s.push($r),a&&s.push(qr),e.map((function(e){var n=e.idx,r={item:t[n],refIndex:n};return s.length&&s.forEach((function(t){t(e,r)})),r}))}_i.version="6.0.0",_i.createIndex=Kr,_i.parseIndex=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.getFn,r=void 0===n?Hr.getFn:n,i=e.keys,o=e.records,a=new Ur({getFn:r});return a.setKeys(i),a.setRecords(o),a},_i.config=Hr,_i.parseQuery=gi,function(){fi.push.apply(fi,arguments)}(di);var Oi=_i;var xi=n(22);function Ei(e){return(Ei="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Si(){var e=Ai(["\n ha-card {\n cursor: pointer;\n }\n .not_available {\n opacity: 0.6;\n }\n a.repo {\n color: var(--primary-text-color);\n }\n "]);return Si=function(){return e},e}function ji(){var e=Ai(["\n \n \n

\n ','\n

\n
\n ',"\n
\n \n "]);return Ci=function(){return e},e}function Pi(){var e=Ai(['\n
\n

\n No results found in "','."\n

\n
\n ']);return Pi=function(){return e},e}function Ai(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function Ti(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ri(e,t){return(Ri=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ii(e,t){return!t||"object"!==Ei(t)&&"function"!=typeof t?Di(e):t}function Di(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zi(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function Fi(e){return(Fi=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Li(e){var t,n=Vi(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function Ni(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function Mi(e){return e.decorators&&e.decorators.length}function Hi(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function Bi(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function Vi(e){var t=function(e,t){if("object"!==Ei(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Ei(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ei(t)?t:String(t)}function Ui(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n Missing add-ons? Enable advanced mode on\n
\n your profile page\n \n .\n \n ']);return Gi=function(){return e},e}function Wi(){var e=Ji(['\n ']);return f=function(){return e},e}function p(){var e=h(["\n \n \n \n ","\n "]);return p=function(){return e},e}function h(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function m(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function y(e,t){return(y=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function v(e,t){return!t||"object"!==u(t)&&"function"!=typeof t?b(e):t}function b(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function g(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function _(e){var t,n=E(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function w(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function k(e){return e.decorators&&e.decorators.length}function O(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function x(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function E(e){var t=function(e,t){if("object"!==u(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==u(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===u(t)?t:String(t)}function S(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a0})))}},{kind:"method",key:"_toggleMenu",value:function(){Object(o.a)(this,"hass-toggle-menu")}},{kind:"get",static:!0,key:"styles",value:function(){return Object(i.c)(d())}}]}}),i.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(8),i=function(e,t){Object(r.a)(e,"show-dialog",{dialogTag:"dialog-hassio-markdown",dialogImport:function(){return Promise.all([n.e(0),n.e(3)]).then(n.bind(null,120))},dialogParams:t})}},function(e,t,n){"use strict";var r,i=null,o=window.HTMLImports&&window.HTMLImports.whenReady||null;function a(e){requestAnimationFrame((function(){o?o(e):(i||(i=new Promise((function(e){r=e})),"complete"===document.readyState?r():document.addEventListener("readystatechange",(function(){"complete"===document.readyState&&r()}))),i.then((function(){e&&e()})))}))}function s(e,t){for(var n=0;n\n \n",document.head.appendChild(r.content);var i=n(4),o=n(5),a=n(50),s=n(25),c=[a.a,s.a,{hostAttributes:{role:"option",tabindex:"0"}}];function l(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n \n']);return l=function(){return e},e}Object(i.a)({_template:Object(o.a)(l()),is:"paper-item",behaviors:[c]})},function(e,t){},function(e,t,n){"use strict";n(3);var r=n(5);function i(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n\n \n']);return i=function(){return e},e}var o=Object(r.a)(i());o.setAttribute("style","display: none;"),document.head.appendChild(o.content)},function(e,t,n){"use strict";n(52);var r=n(0);n(84);function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(){var e=s(["\n :host {\n display: inline-block;\n outline: none;\n }\n :host([disabled]) {\n pointer-events: none;\n }\n mwc-icon-button {\n --mdc-theme-on-primary: currentColor;\n --mdc-theme-text-disabled-on-light: var(--disabled-text-color);\n }\n ha-icon {\n --ha-icon-display: inline;\n }\n "]);return o=function(){return e},e}function a(){var e=s(["\n \n \n \n "]);return a=function(){return e},e}function s(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(e,t){return!t||"object"!==i(t)&&"function"!=typeof t?d(e):t}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function f(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function h(e){var t,n=g(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function m(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function y(e){return e.decorators&&e.decorators.length}function v(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function b(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function g(e){var t=function(e,t){if("object"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===i(t)?t:String(t)}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n :host {\n @apply --layout-inline;\n @apply --layout-center-center;\n position: relative;\n\n vertical-align: middle;\n\n fill: var(--iron-icon-fill-color, currentcolor);\n stroke: var(--iron-icon-stroke-color, none);\n\n width: var(--iron-icon-width, 24px);\n height: var(--iron-icon-height, 24px);\n @apply --iron-icon;\n }\n\n :host([hidden]) {\n display: none;\n }\n \n"]);return s=function(){return e},e}Object(r.a)({_template:Object(o.a)(s()),is:"iron-icon",properties:{icon:{type:String},theme:{type:String},src:{type:String},_meta:{value:a.a.create("iron-meta",{type:"iconset"})}},observers:["_updateIcon(_meta, isAttached)","_updateIcon(theme, isAttached)","_srcChanged(src, isAttached)","_iconChanged(icon, isAttached)"],_DEFAULT_ICONSET:"icons",_iconChanged:function(e){var t=(e||"").split(":");this._iconName=t.pop(),this._iconsetName=t.pop()||this._DEFAULT_ICONSET,this._updateIcon()},_srcChanged:function(e){this._updateIcon()},_usesIconset:function(){return this.icon||!this.src},_updateIcon:function(){this._usesIconset()?(this._img&&this._img.parentNode&&Object(i.a)(this.root).removeChild(this._img),""===this._iconName?this._iconset&&this._iconset.removeIcon(this):this._iconsetName&&this._meta&&(this._iconset=this._meta.byKey(this._iconsetName),this._iconset?(this._iconset.applyIcon(this,this._iconName,this.theme),this.unlisten(window,"iron-iconset-added","_updateIcon")):this.listen(window,"iron-iconset-added","_updateIcon"))):(this._iconset&&this._iconset.removeIcon(this),this._img||(this._img=document.createElement("img"),this._img.style.width="100%",this._img.style.height="100%",this._img.draggable=!1),this._img.src=this.src,Object(i.a)(this.root).appendChild(this._img))}})},function(e,t,n){"use strict";n(3),n(47),n(34),n(59);var r=n(4),i=n(5);function o(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n \n\n \n"]);return o=function(){return e},e}Object(r.a)({_template:Object(i.a)(o()),is:"paper-item-body"})},function(e,t,n){"use strict";n(3);var r=n(20),i=n(4),o=n(2),a=n(5);function s(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n
\n
\n']);return s=function(){return e},e}var c={distance:function(e,t,n,r){var i=e-n,o=t-r;return Math.sqrt(i*i+o*o)},now:window.performance&&window.performance.now?window.performance.now.bind(window.performance):Date.now};function l(e){this.element=e,this.width=this.boundingRect.width,this.height=this.boundingRect.height,this.size=Math.max(this.width,this.height)}function u(e){this.element=e,this.color=window.getComputedStyle(e).color,this.wave=document.createElement("div"),this.waveContainer=document.createElement("div"),this.wave.style.backgroundColor=this.color,this.wave.classList.add("wave"),this.waveContainer.classList.add("wave-container"),Object(o.a)(this.waveContainer).appendChild(this.wave),this.resetInteractionState()}l.prototype={get boundingRect(){return this.element.getBoundingClientRect()},furthestCornerDistanceFrom:function(e,t){var n=c.distance(e,t,0,0),r=c.distance(e,t,this.width,0),i=c.distance(e,t,0,this.height),o=c.distance(e,t,this.width,this.height);return Math.max(n,r,i,o)}},u.MAX_RADIUS=300,u.prototype={get recenters(){return this.element.recenters},get center(){return this.element.center},get mouseDownElapsed(){var e;return this.mouseDownStart?(e=c.now()-this.mouseDownStart,this.mouseUpStart&&(e-=this.mouseUpElapsed),e):0},get mouseUpElapsed(){return this.mouseUpStart?c.now()-this.mouseUpStart:0},get mouseDownElapsedSeconds(){return this.mouseDownElapsed/1e3},get mouseUpElapsedSeconds(){return this.mouseUpElapsed/1e3},get mouseInteractionSeconds(){return this.mouseDownElapsedSeconds+this.mouseUpElapsedSeconds},get initialOpacity(){return this.element.initialOpacity},get opacityDecayVelocity(){return this.element.opacityDecayVelocity},get radius(){var e=this.containerMetrics.width*this.containerMetrics.width,t=this.containerMetrics.height*this.containerMetrics.height,n=1.1*Math.min(Math.sqrt(e+t),u.MAX_RADIUS)+5,r=1.1-n/u.MAX_RADIUS*.2,i=this.mouseInteractionSeconds/r,o=n*(1-Math.pow(80,-i));return Math.abs(o)},get opacity(){return this.mouseUpStart?Math.max(0,this.initialOpacity-this.mouseUpElapsedSeconds*this.opacityDecayVelocity):this.initialOpacity},get outerOpacity(){var e=.3*this.mouseUpElapsedSeconds,t=this.opacity;return Math.max(0,Math.min(e,t))},get isOpacityFullyDecayed(){return this.opacity<.01&&this.radius>=Math.min(this.maxRadius,u.MAX_RADIUS)},get isRestingAtMaxRadius(){return this.opacity>=this.initialOpacity&&this.radius>=Math.min(this.maxRadius,u.MAX_RADIUS)},get isAnimationComplete(){return this.mouseUpStart?this.isOpacityFullyDecayed:this.isRestingAtMaxRadius},get translationFraction(){return Math.min(1,this.radius/this.containerMetrics.size*2/Math.sqrt(2))},get xNow(){return this.xEnd?this.xStart+this.translationFraction*(this.xEnd-this.xStart):this.xStart},get yNow(){return this.yEnd?this.yStart+this.translationFraction*(this.yEnd-this.yStart):this.yStart},get isMouseDown(){return this.mouseDownStart&&!this.mouseUpStart},resetInteractionState:function(){this.maxRadius=0,this.mouseDownStart=0,this.mouseUpStart=0,this.xStart=0,this.yStart=0,this.xEnd=0,this.yEnd=0,this.slideDistance=0,this.containerMetrics=new l(this.element)},draw:function(){var e,t,n;this.wave.style.opacity=this.opacity,e=this.radius/(this.containerMetrics.size/2),t=this.xNow-this.containerMetrics.width/2,n=this.yNow-this.containerMetrics.height/2,this.waveContainer.style.webkitTransform="translate("+t+"px, "+n+"px)",this.waveContainer.style.transform="translate3d("+t+"px, "+n+"px, 0)",this.wave.style.webkitTransform="scale("+e+","+e+")",this.wave.style.transform="scale3d("+e+","+e+",1)"},downAction:function(e){var t=this.containerMetrics.width/2,n=this.containerMetrics.height/2;this.resetInteractionState(),this.mouseDownStart=c.now(),this.center?(this.xStart=t,this.yStart=n,this.slideDistance=c.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)):(this.xStart=e?e.detail.x-this.containerMetrics.boundingRect.left:this.containerMetrics.width/2,this.yStart=e?e.detail.y-this.containerMetrics.boundingRect.top:this.containerMetrics.height/2),this.recenters&&(this.xEnd=t,this.yEnd=n,this.slideDistance=c.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)),this.maxRadius=this.containerMetrics.furthestCornerDistanceFrom(this.xStart,this.yStart),this.waveContainer.style.top=(this.containerMetrics.height-this.containerMetrics.size)/2+"px",this.waveContainer.style.left=(this.containerMetrics.width-this.containerMetrics.size)/2+"px",this.waveContainer.style.width=this.containerMetrics.size+"px",this.waveContainer.style.height=this.containerMetrics.size+"px"},upAction:function(e){this.isMouseDown&&(this.mouseUpStart=c.now())},remove:function(){Object(o.a)(this.waveContainer.parentNode).removeChild(this.waveContainer)}},Object(i.a)({_template:Object(a.a)(s()),is:"paper-ripple",behaviors:[r.a],properties:{initialOpacity:{type:Number,value:.25},opacityDecayVelocity:{type:Number,value:.8},recenters:{type:Boolean,value:!1},center:{type:Boolean,value:!1},ripples:{type:Array,value:function(){return[]}},animating:{type:Boolean,readOnly:!0,reflectToAttribute:!0,value:!1},holdDown:{type:Boolean,value:!1,observer:"_holdDownChanged"},noink:{type:Boolean,value:!1},_animating:{type:Boolean},_boundAnimate:{type:Function,value:function(){return this.animate.bind(this)}}},get target(){return this.keyEventTarget},keyBindings:{"enter:keydown":"_onEnterKeydown","space:keydown":"_onSpaceKeydown","space:keyup":"_onSpaceKeyup"},attached:function(){11==this.parentNode.nodeType?this.keyEventTarget=Object(o.a)(this).getOwnerRoot().host:this.keyEventTarget=this.parentNode;var e=this.keyEventTarget;this.listen(e,"up","uiUpAction"),this.listen(e,"down","uiDownAction")},detached:function(){this.unlisten(this.keyEventTarget,"up","uiUpAction"),this.unlisten(this.keyEventTarget,"down","uiDownAction"),this.keyEventTarget=null},get shouldKeepAnimating(){for(var e=0;e0||(this.addRipple().downAction(e),this._animating||(this._animating=!0,this.animate()))},uiUpAction:function(e){this.noink||this.upAction(e)},upAction:function(e){this.holdDown||(this.ripples.forEach((function(t){t.upAction(e)})),this._animating=!0,this.animate())},onAnimationComplete:function(){this._animating=!1,this.$.background.style.backgroundColor=null,this.fire("transitionend")},addRipple:function(){var e=new u(this);return Object(o.a)(this.$.waves).appendChild(e.waveContainer),this.$.background.style.backgroundColor=e.color,this.ripples.push(e),this._setAnimating(!0),e},removeRipple:function(e){var t=this.ripples.indexOf(e);t<0||(this.ripples.splice(t,1),e.remove(),this.ripples.length||this._setAnimating(!1))},animate:function(){if(this._animating){var e,t;for(e=0;e',""]);return m=function(){return e},e}function y(){var e=b(['\n
\n
\n
\n ','\n
\n \n
\n \n \n \n \n \n \n \n \n
\n
\n
\n
']);return y=function(){return e},e}function v(){var e=b([""]);return v=function(){return e},e}function b(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function g(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=function(e,t){if(!e)return;if("string"==typeof e)return _(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _(e,t)}(e))){var t=0,n=function(){};return{s:n,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,i,o=!0,a=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==r.return||r.return()}finally{if(a)throw i}}}}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nt.offsetHeight},notifyClosed:function(t){return e.emitNotification("closed",t)},notifyClosing:function(t){e.closingDueToDisconnect||(e.open=!1),e.emitNotification("closing",t)},notifyOpened:function(){return e.emitNotification("opened")},notifyOpening:function(){e.open=!0,e.emitNotification("opening")},reverseButtons:function(){},releaseFocus:function(){C.remove(e)},trapFocus:function(t){C.push(e),t&&t.focus()}})}},{key:"render",value:function(){var e,t,n,r=(e={},t=o.STACKED,n=this.stacked,t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e),a=Object(i.f)(v());this.heading&&(a=this.renderHeading());var s={"mdc-dialog__actions":!this.hideActions};return Object(i.f)(y(),Object(p.a)(r),a,Object(p.a)(s))}},{key:"renderHeading",value:function(){return Object(i.f)(m(),this.heading)}},{key:"firstUpdated",value:function(){O(j(f.prototype),"firstUpdated",this).call(this),this.mdcFoundation.setAutoStackButtons(!0)}},{key:"connectedCallback",value:function(){O(j(f.prototype),"connectedCallback",this).call(this),this.open&&this.mdcFoundation&&!this.mdcFoundation.isOpen()&&(this.setEventListeners(),this.mdcFoundation.open())}},{key:"disconnectedCallback",value:function(){O(j(f.prototype),"disconnectedCallback",this).call(this),this.open&&this.mdcFoundation&&(this.removeEventListeners(),this.closingDueToDisconnect=!0,this.mdcFoundation.close(this.currentAction||this.defaultAction),this.closingDueToDisconnect=!1,this.currentAction=void 0,C.remove(this))}},{key:"forceLayout",value:function(){this.mdcFoundation.layout()}},{key:"focus",value:function(){var e=this.getInitialFocusEl();e&&e.focus()}},{key:"blur",value:function(){if(this.shadowRoot){var e=this.shadowRoot.activeElement;if(e)e instanceof HTMLElement&&e.blur();else{var t=this.getRootNode(),n=t instanceof Document?t.activeElement:null;n instanceof HTMLElement&&n.blur()}}}},{key:"setEventListeners",value:function(){var e=this;this.boundHandleClick=this.mdcFoundation.handleClick.bind(this.mdcFoundation),this.boundLayout=function(){e.open&&e.mdcFoundation.layout.bind(e.mdcFoundation)},this.boundHandleKeydown=this.mdcFoundation.handleKeydown.bind(this.mdcFoundation),this.boundHandleDocumentKeydown=this.mdcFoundation.handleDocumentKeydown.bind(this.mdcFoundation),this.mdcRoot.addEventListener("click",this.boundHandleClick),window.addEventListener("resize",this.boundLayout,l()),window.addEventListener("orientationchange",this.boundLayout,l()),this.mdcRoot.addEventListener("keydown",this.boundHandleKeydown,l()),document.addEventListener("keydown",this.boundHandleDocumentKeydown,l())}},{key:"removeEventListeners",value:function(){this.boundHandleClick&&this.mdcRoot.removeEventListener("click",this.boundHandleClick),this.boundLayout&&(window.removeEventListener("resize",this.boundLayout),window.removeEventListener("orientationchange",this.boundLayout)),this.boundHandleKeydown&&this.mdcRoot.removeEventListener("keydown",this.boundHandleKeydown),this.boundHandleDocumentKeydown&&this.mdcRoot.removeEventListener("keydown",this.boundHandleDocumentKeydown)}},{key:"close",value:function(){this.open=!1}},{key:"show",value:function(){this.open=!0}},{key:"primaryButton",get:function(){var e=this.primarySlot.assignedNodes(),t=(e=e.filter((function(e){return e instanceof HTMLElement})))[0];return t||null}}])&&k(n.prototype,r),a&&k(n,a),f}(d.a);function A(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:0;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1);background-color:#fff;background-color:var(--mdc-elevation-overlay-color, #fff)}.mdc-dialog,.mdc-dialog__scrim{position:fixed;top:0;left:0;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.mdc-dialog{display:none;z-index:7}.mdc-dialog .mdc-dialog__surface{background-color:#fff;background-color:var(--mdc-theme-surface, #fff)}.mdc-dialog .mdc-dialog__scrim{background-color:rgba(0,0,0,.32)}.mdc-dialog .mdc-dialog__title{color:rgba(0,0,0,.87)}.mdc-dialog .mdc-dialog__content{color:rgba(0,0,0,.6)}.mdc-dialog.mdc-dialog--scrollable .mdc-dialog__title,.mdc-dialog.mdc-dialog--scrollable .mdc-dialog__actions{border-color:rgba(0,0,0,.12)}.mdc-dialog .mdc-dialog__content{padding:20px 24px 20px 24px}.mdc-dialog .mdc-dialog__surface{min-width:280px}@media(max-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:calc(100vw - 32px)}}@media(min-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:560px}}.mdc-dialog .mdc-dialog__surface{max-height:calc(100% - 32px)}.mdc-dialog .mdc-dialog__surface{border-radius:4px;border-radius:var(--mdc-shape-medium, 4px)}.mdc-dialog__scrim{opacity:0;z-index:-1}.mdc-dialog__container{display:flex;flex-direction:row;align-items:center;justify-content:space-around;box-sizing:border-box;height:100%;transform:scale(0.8);opacity:0;pointer-events:none}.mdc-dialog__surface{position:relative;box-shadow:0px 11px 15px -7px rgba(0, 0, 0, 0.2),0px 24px 38px 3px rgba(0, 0, 0, 0.14),0px 9px 46px 8px rgba(0,0,0,.12);display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;max-width:100%;max-height:100%;pointer-events:auto;overflow-y:auto}.mdc-dialog__surface .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.mdc-dialog[dir=rtl] .mdc-dialog__surface,[dir=rtl] .mdc-dialog .mdc-dialog__surface{text-align:right}.mdc-dialog__title{display:block;margin-top:0;line-height:normal;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-headline6-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1.25rem;font-size:var(--mdc-typography-headline6-font-size, 1.25rem);line-height:2rem;line-height:var(--mdc-typography-headline6-line-height, 2rem);font-weight:500;font-weight:var(--mdc-typography-headline6-font-weight, 500);letter-spacing:0.0125em;letter-spacing:var(--mdc-typography-headline6-letter-spacing, 0.0125em);text-decoration:inherit;text-decoration:var(--mdc-typography-headline6-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-headline6-text-transform, inherit);position:relative;flex-shrink:0;box-sizing:border-box;margin:0;padding:0 24px 9px;border-bottom:1px solid transparent}.mdc-dialog__title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}.mdc-dialog[dir=rtl] .mdc-dialog__title,[dir=rtl] .mdc-dialog .mdc-dialog__title{text-align:right}.mdc-dialog--scrollable .mdc-dialog__title{padding-bottom:15px}.mdc-dialog__content{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-body1-font-size, 1rem);line-height:1.5rem;line-height:var(--mdc-typography-body1-line-height, 1.5rem);font-weight:400;font-weight:var(--mdc-typography-body1-font-weight, 400);letter-spacing:0.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, 0.03125em);text-decoration:inherit;text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform, inherit);flex-grow:1;box-sizing:border-box;margin:0;overflow:auto;-webkit-overflow-scrolling:touch}.mdc-dialog__content>:first-child{margin-top:0}.mdc-dialog__content>:last-child{margin-bottom:0}.mdc-dialog__title+.mdc-dialog__content{padding-top:0}.mdc-dialog--scrollable .mdc-dialog__title+.mdc-dialog__content{padding-top:8px;padding-bottom:8px}.mdc-dialog__content .mdc-list:first-child:last-child{padding:6px 0 0}.mdc-dialog--scrollable .mdc-dialog__content .mdc-list:first-child:last-child{padding:0}.mdc-dialog__actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid transparent}.mdc-dialog--stacked .mdc-dialog__actions{flex-direction:column;align-items:flex-end}.mdc-dialog__button{margin-left:8px;margin-right:0;max-width:100%;text-align:right}[dir=rtl] .mdc-dialog__button,.mdc-dialog__button[dir=rtl]{margin-left:0;margin-right:8px}.mdc-dialog__button:first-child{margin-left:0;margin-right:0}[dir=rtl] .mdc-dialog__button:first-child,.mdc-dialog__button:first-child[dir=rtl]{margin-left:0;margin-right:0}.mdc-dialog[dir=rtl] .mdc-dialog__button,[dir=rtl] .mdc-dialog .mdc-dialog__button{text-align:left}.mdc-dialog--stacked .mdc-dialog__button:not(:first-child){margin-top:12px}.mdc-dialog--open,.mdc-dialog--opening,.mdc-dialog--closing{display:flex}.mdc-dialog--opening .mdc-dialog__scrim{transition:opacity 150ms linear}.mdc-dialog--opening .mdc-dialog__container{transition:opacity 75ms linear,transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-dialog--closing .mdc-dialog__scrim,.mdc-dialog--closing .mdc-dialog__container{transition:opacity 75ms linear}.mdc-dialog--closing .mdc-dialog__container{transform:none}.mdc-dialog--open .mdc-dialog__scrim{opacity:1}.mdc-dialog--open .mdc-dialog__container{transform:none;opacity:1}.mdc-dialog-scroll-lock{overflow:hidden}#actions:not(.mdc-dialog__actions){display:none}.mdc-dialog__surface{box-shadow:var(--mdc-dialog-box-shadow, 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12))}@media(min-width: 560px){.mdc-dialog .mdc-dialog__surface{max-width:560px;max-width:var(--mdc-dialog-max-width, 560px)}}.mdc-dialog .mdc-dialog__scrim{background-color:rgba(0, 0, 0, 0.32);background-color:var(--mdc-dialog-scrim-color, rgba(0, 0, 0, 0.32))}.mdc-dialog .mdc-dialog__title{color:rgba(0, 0, 0, 0.87);color:var(--mdc-dialog-heading-ink-color, rgba(0, 0, 0, 0.87))}.mdc-dialog .mdc-dialog__content{color:rgba(0, 0, 0, 0.6);color:var(--mdc-dialog-content-ink-color, rgba(0, 0, 0, 0.6))}.mdc-dialog.mdc-dialog--scrollable .mdc-dialog__title,.mdc-dialog.mdc-dialog--scrollable .mdc-dialog__actions{border-color:rgba(0, 0, 0, 0.12);border-color:var(--mdc-dialog-scroll-divider-color, rgba(0, 0, 0, 0.12))}.mdc-dialog .mdc-dialog__surface{min-width:280px;min-width:var(--mdc-dialog-min-width, 280px)}.mdc-dialog .mdc-dialog__surface{max-height:var(--mdc-dialog-max-height, calc(100% - 32px))}#actions ::slotted(*){margin-left:8px;margin-right:0;max-width:100%;text-align:right}[dir=rtl] #actions ::slotted(*),#actions ::slotted(*)[dir=rtl]{margin-left:0;margin-right:8px}.mdc-dialog[dir=rtl] #actions ::slotted(*),[dir=rtl] .mdc-dialog #actions ::slotted(*){text-align:left}.mdc-dialog--stacked #actions{flex-direction:column-reverse}.mdc-dialog--stacked #actions *:not(:last-child) ::slotted(*){flex-basis:1e-9px;margin-top:12px}']);return A=function(){return e},e}Object(r.b)([Object(i.i)(".mdc-dialog")],P.prototype,"mdcRoot",void 0),Object(r.b)([Object(i.i)('slot[name="primaryAction"]')],P.prototype,"primarySlot",void 0),Object(r.b)([Object(i.i)('slot[name="secondaryAction"]')],P.prototype,"secondarySlot",void 0),Object(r.b)([Object(i.i)("#contentSlot")],P.prototype,"contentSlot",void 0),Object(r.b)([Object(i.i)(".mdc-dialog__content")],P.prototype,"contentElement",void 0),Object(r.b)([Object(i.i)(".mdc-container")],P.prototype,"conatinerElement",void 0),Object(r.b)([Object(i.h)({type:Boolean})],P.prototype,"hideActions",void 0),Object(r.b)([Object(i.h)({type:Boolean}),Object(f.a)((function(){this.forceLayout()}))],P.prototype,"stacked",void 0),Object(r.b)([Object(i.h)({type:String})],P.prototype,"heading",void 0),Object(r.b)([Object(i.h)({type:String}),Object(f.a)((function(e){this.mdcFoundation.setScrimClickAction(e)}))],P.prototype,"scrimClickAction",void 0),Object(r.b)([Object(i.h)({type:String}),Object(f.a)((function(e){this.mdcFoundation.setEscapeKeyAction(e)}))],P.prototype,"escapeKeyAction",void 0),Object(r.b)([Object(i.h)({type:Boolean,reflect:!0}),Object(f.a)((function(e){this.mdcFoundation&&this.isConnected&&(e?(this.setEventListeners(),this.mdcFoundation.open()):(this.removeEventListeners(),this.mdcFoundation.close(this.currentAction||this.defaultAction),this.currentAction=void 0))}))],P.prototype,"open",void 0),Object(r.b)([Object(i.h)()],P.prototype,"defaultAction",void 0),Object(r.b)([Object(i.h)()],P.prototype,"actionAttribute",void 0),Object(r.b)([Object(i.h)()],P.prototype,"initialFocusAttribute",void 0);var T=Object(i.c)(A());function R(e){return(R="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function I(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function D(e,t){return(D=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function z(e,t){return!t||"object"!==R(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function F(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function L(e){return(L=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var N=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&D(e,t)}(r,e);var t,n=(t=r,function(){var e,n=L(t);if(F()){var r=L(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return z(this,e)});function r(){return I(this,r),n.apply(this,arguments)}return r}(P);N.styles=T,N=Object(r.b)([Object(i.d)("mwc-dialog")],N);n(93);var M=n(7),H=n(79);function B(e){return(B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function V(){var e=oe(['\n .mdc-dialog {\n --mdc-dialog-scroll-divider-color: var(--divider-color);\n z-index: var(--dialog-z-index, 7);\n }\n .mdc-dialog__actions {\n justify-content: var(--justify-action-buttons, flex-end);\n padding-bottom: max(env(safe-area-inset-bottom), 8px);\n }\n .mdc-dialog__container {\n align-items: var(--vertial-align-dialog, center);\n }\n .mdc-dialog__title::before {\n display: block;\n height: 20px;\n }\n .mdc-dialog .mdc-dialog__content {\n position: var(--dialog-content-position, relative);\n padding: var(--dialog-content-padding, 20px 24px);\n }\n :host([hideactions]) .mdc-dialog .mdc-dialog__content {\n padding-bottom: max(\n var(--dialog-content-padding, 20px),\n env(safe-area-inset-bottom)\n );\n }\n .mdc-dialog .mdc-dialog__surface {\n position: var(--dialog-surface-position, relative);\n min-height: var(--mdc-dialog-min-height, auto);\n }\n .header_button {\n position: absolute;\n right: 16px;\n top: 10px;\n text-decoration: none;\n color: inherit;\n }\n [dir="rtl"].header_button {\n right: auto;\n left: 16px;\n }\n ']);return V=function(){return e},e}function U(){var e=oe(['\n ',"\n "]);return U=function(){return e},e}function K(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function $(e,t){return($=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function q(e,t){return!t||"object"!==B(t)&&"function"!=typeof t?G(e):t}function G(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function W(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function Y(e){var t,n=ee(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function X(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function Z(e){return e.decorators&&e.decorators.length}function J(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function Q(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function ee(e){var t=function(e,t){if("object"!==B(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==B(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===B(t)?t:String(t)}function te(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n\n
\n
\n ','\n
\n \n
\n
\n ']);return k=function(){return e},e}function O(){var e=S([""]);return O=function(){return e},e}function x(){var e=S(['\n \n ']);return x=function(){return e},e}function E(){var e=S(["",""]);return E=function(){return e},e}function S(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function j(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function C(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n \n\n
','
\n \n \n
e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n :host {\n outline: none;\n }\n .container {\n position: relative;\n display: inline-block;\n }\n\n mwc-button {\n transition: all 1s;\n }\n\n .success mwc-button {\n --mdc-theme-primary: white;\n background-color: var(--success-color);\n transition: none;\n }\n\n .error mwc-button {\n --mdc-theme-primary: white;\n background-color: var(--error-color);\n transition: none;\n }\n\n .progress {\n @apply --layout;\n @apply --layout-center-center;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n \n
\n \n \n \n \n
\n ']);return o=function(){return e},e}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n\n :host {\n display: block;\n padding: 8px 0;\n\n background: var(--paper-listbox-background-color, var(--primary-background-color));\n color: var(--paper-listbox-color, var(--primary-text-color));\n\n @apply --paper-listbox;\n }\n \n\n \n"]);return a=function(){return e},e}Object(i.a)({_template:Object(o.a)(a()),is:"paper-listbox",behaviors:[r.a],hostAttributes:{role:"listbox"}})},function(e,t,n){"use strict";var r=n(0);function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(){var e=s(["\n pre {\n overflow-x: auto;\n white-space: pre-wrap;\n overflow-wrap: break-word;\n }\n .bold {\n font-weight: bold;\n }\n .italic {\n font-style: italic;\n }\n .underline {\n text-decoration: underline;\n }\n .strikethrough {\n text-decoration: line-through;\n }\n .underline.strikethrough {\n text-decoration: underline line-through;\n }\n .fg-red {\n color: rgb(222, 56, 43);\n }\n .fg-green {\n color: rgb(57, 181, 74);\n }\n .fg-yellow {\n color: rgb(255, 199, 6);\n }\n .fg-blue {\n color: rgb(0, 111, 184);\n }\n .fg-magenta {\n color: rgb(118, 38, 113);\n }\n .fg-cyan {\n color: rgb(44, 181, 233);\n }\n .fg-white {\n color: rgb(204, 204, 204);\n }\n .bg-black {\n background-color: rgb(0, 0, 0);\n }\n .bg-red {\n background-color: rgb(222, 56, 43);\n }\n .bg-green {\n background-color: rgb(57, 181, 74);\n }\n .bg-yellow {\n background-color: rgb(255, 199, 6);\n }\n .bg-blue {\n background-color: rgb(0, 111, 184);\n }\n .bg-magenta {\n background-color: rgb(118, 38, 113);\n }\n .bg-cyan {\n background-color: rgb(44, 181, 233);\n }\n .bg-white {\n background-color: rgb(204, 204, 204);\n }\n "]);return o=function(){return e},e}function a(){var e=s(["",""]);return a=function(){return e},e}function s(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(e,t){return!t||"object"!==i(t)&&"function"!=typeof t?d(e):t}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function f(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function h(e){var t,n=g(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function m(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function y(e){return e.decorators&&e.decorators.length}function v(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function b(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function g(e){var t=function(e,t){if("object"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===i(t)?t:String(t)}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a-1&&(this._interestedResizables.splice(t,1),this._unsubscribeIronResize(e))},_subscribeIronResize:function(e){e.addEventListener("iron-resize",this._boundOnDescendantIronResize)},_unsubscribeIronResize:function(e){e.removeEventListener("iron-resize",this._boundOnDescendantIronResize)},resizerShouldNotify:function(e){return!0},_onDescendantIronResize:function(e){this._notifyingDescendant?e.stopPropagation():s.f||this._fireResize()},_fireResize:function(){this.fire("iron-resize",null,{node:this,bubbles:!1})},_onIronRequestResizeNotifications:function(e){var t=Object(o.a)(e).rootTarget;t!==this&&(t.assignParentResizable(this),this._notifyDescendant(t),e.stopPropagation())},_parentResizableChanged:function(e){e&&window.removeEventListener("resize",this._boundNotifyResize)},_notifyDescendant:function(e){this.isAttached&&(this._notifyingDescendant=!0,e.notifyResize(),this._notifyingDescendant=!1)},_requestResizeNotifications:function(){if(this.isAttached)if("loading"===document.readyState){var e=this._requestResizeNotifications.bind(this);document.addEventListener("readystatechange",(function t(){document.removeEventListener("readystatechange",t),e()}))}else this._findParent(),this._parentResizable?this._parentResizable._interestedResizables.forEach((function(e){e!==this&&e._findParent()}),this):(c.forEach((function(e){e!==this&&e._findParent()}),this),window.addEventListener("resize",this._boundNotifyResize),this.notifyResize())},_findParent:function(){this.assignParentResizable(null),this.fire("iron-request-resize-notifications",null,{node:this,bubbles:!0,cancelable:!0}),this._parentResizable?c.delete(this):c.add(this)}},u=Element.prototype,d=u.matches||u.matchesSelector||u.mozMatchesSelector||u.msMatchesSelector||u.oMatchesSelector||u.webkitMatchesSelector,f={getTabbableNodes:function(e){var t=[];return this._collectTabbableNodes(e,t)?this._sortByTabIndex(t):t},isFocusable:function(e){return d.call(e,"input, select, textarea, button, object")?d.call(e,":not([disabled])"):d.call(e,"a[href], area[href], iframe, [tabindex], [contentEditable]")},isTabbable:function(e){return this.isFocusable(e)&&d.call(e,':not([tabindex="-1"])')&&this._isVisible(e)},_normalizedTabIndex:function(e){if(this.isFocusable(e)){var t=e.getAttribute("tabindex")||0;return Number(t)}return-1},_collectTabbableNodes:function(e,t){if(e.nodeType!==Node.ELEMENT_NODE||!this._isVisible(e))return!1;var n,r=e,i=this._normalizedTabIndex(r),a=i>0;i>=0&&t.push(r),n="content"===r.localName||"slot"===r.localName?Object(o.a)(r).getDistributedNodes():Object(o.a)(r.root||r).children;for(var s=0;s0&&t.length>0;)this._hasLowerTabOrder(e[0],t[0])?n.push(t.shift()):n.push(e.shift());return n.concat(e,t)},_hasLowerTabOrder:function(e,t){var n=Math.max(e.tabIndex,0),r=Math.max(t.tabIndex,0);return 0===n||0===r?r>n:n>r}},p=n(4),h=n(5);function m(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n \n\n \n"]);return m=function(){return e},e}Object(p.a)({_template:Object(h.a)(m()),is:"iron-overlay-backdrop",properties:{opened:{reflectToAttribute:!0,type:Boolean,value:!1,observer:"_openedChanged"}},listeners:{transitionend:"_onTransitionend"},created:function(){this.__openedRaf=null},attached:function(){this.opened&&this._openedChanged(this.opened)},prepare:function(){this.opened&&!this.parentNode&&Object(o.a)(document.body).appendChild(this)},open:function(){this.opened=!0},close:function(){this.opened=!1},complete:function(){this.opened||this.parentNode!==document.body||Object(o.a)(this.parentNode).removeChild(this)},_onTransitionend:function(e){e&&e.target===this&&this.complete()},_openedChanged:function(e){if(e)this.prepare();else{var t=window.getComputedStyle(this);"0s"!==t.transitionDuration&&0!=t.opacity||this.complete()}this.isAttached&&(this.__openedRaf&&(window.cancelAnimationFrame(this.__openedRaf),this.__openedRaf=null),this.scrollTop=this.scrollTop,this.__openedRaf=window.requestAnimationFrame(function(){this.__openedRaf=null,this.toggleClass("opened",this.opened)}.bind(this)))}});var y=n(45),v=function(){this._overlays=[],this._minimumZ=101,this._backdropElement=null,y.a(document.documentElement,"tap",(function(){})),document.addEventListener("tap",this._onCaptureClick.bind(this),!0),document.addEventListener("focus",this._onCaptureFocus.bind(this),!0),document.addEventListener("keydown",this._onCaptureKeyDown.bind(this),!0)};v.prototype={constructor:v,get backdropElement(){return this._backdropElement||(this._backdropElement=document.createElement("iron-overlay-backdrop")),this._backdropElement},get deepActiveElement(){var e=document.activeElement;for(e&&e instanceof Element!=!1||(e=document.body);e.root&&Object(o.a)(e.root).activeElement;)e=Object(o.a)(e.root).activeElement;return e},_bringOverlayAtIndexToFront:function(e){var t=this._overlays[e];if(t){var n=this._overlays.length-1,r=this._overlays[n];if(r&&this._shouldBeBehindOverlay(t,r)&&n--,!(e>=n)){var i=Math.max(this.currentOverlayZ(),this._minimumZ);for(this._getZ(t)<=i&&this._applyOverlayZ(t,i);e=0)return this._bringOverlayAtIndexToFront(t),void this.trackBackdrop();var n=this._overlays.length,r=this._overlays[n-1],i=Math.max(this._getZ(r),this._minimumZ),o=this._getZ(e);if(r&&this._shouldBeBehindOverlay(e,r)){this._applyOverlayZ(r,i),n--;var a=this._overlays[n-1];i=Math.max(this._getZ(a),this._minimumZ)}o<=i&&this._applyOverlayZ(e,i),this._overlays.splice(n,0,e),this.trackBackdrop()},removeOverlay:function(e){var t=this._overlays.indexOf(e);-1!==t&&(this._overlays.splice(t,1),this.trackBackdrop())},currentOverlay:function(){var e=this._overlays.length-1;return this._overlays[e]},currentOverlayZ:function(){return this._getZ(this.currentOverlay())},ensureMinimumZ:function(e){this._minimumZ=Math.max(this._minimumZ,e)},focusOverlay:function(){var e=this.currentOverlay();e&&e._applyFocus()},trackBackdrop:function(){var e=this._overlayWithBackdrop();(e||this._backdropElement)&&(this.backdropElement.style.zIndex=this._getZ(e)-1,this.backdropElement.opened=!!e,this.backdropElement.prepare())},getBackdrops:function(){for(var e=[],t=0;t=0;e--)if(this._overlays[e].withBackdrop)return this._overlays[e]},_getZ:function(e){var t=this._minimumZ;if(e){var n=Number(e.style.zIndex||window.getComputedStyle(e).zIndex);n==n&&(t=n)}return t},_setZ:function(e,t){e.style.zIndex=t},_applyOverlayZ:function(e,t){this._setZ(e,t+2)},_overlayInPath:function(e){e=e||[];for(var t=0;t=0||(0===j.length&&function(){b=b||C.bind(void 0);for(var e=0,t=x.length;e=Math.abs(t),i=0;i0:o.scrollTop0:o.scrollLeft=0))switch(this.scrollAction){case"lock":this.__restoreScrollPosition();break;case"refit":this.__deraf("refit",this.refit);break;case"cancel":this.cancel(e)}},__saveScrollPosition:function(){document.scrollingElement?(this.__scrollTop=document.scrollingElement.scrollTop,this.__scrollLeft=document.scrollingElement.scrollLeft):(this.__scrollTop=Math.max(document.documentElement.scrollTop,document.body.scrollTop),this.__scrollLeft=Math.max(document.documentElement.scrollLeft,document.body.scrollLeft))},__restoreScrollPosition:function(){document.scrollingElement?(document.scrollingElement.scrollTop=this.__scrollTop,document.scrollingElement.scrollLeft=this.__scrollLeft):(document.documentElement.scrollTop=document.body.scrollTop=this.__scrollTop,document.documentElement.scrollLeft=document.body.scrollLeft=this.__scrollLeft)}},A=[a,l,P],T=[{properties:{animationConfig:{type:Object},entryAnimation:{observer:"_entryAnimationChanged",type:String},exitAnimation:{observer:"_exitAnimationChanged",type:String}},_entryAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.entry=[{name:this.entryAnimation,node:this}]},_exitAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.exit=[{name:this.exitAnimation,node:this}]},_copyProperties:function(e,t){for(var n in t)e[n]=t[n]},_cloneConfig:function(e){var t={isClone:!0};return this._copyProperties(t,e),t},_getAnimationConfigRecursive:function(e,t,n){var r;if(this.animationConfig)if(this.animationConfig.value&&"function"==typeof this.animationConfig.value)this._warn(this._logf("playAnimation","Please put 'animationConfig' inside of your components 'properties' object instead of outside of it."));else if(r=e?this.animationConfig[e]:this.animationConfig,Array.isArray(r)||(r=[r]),r)for(var i,o=0;i=r[o];o++)if(i.animatable)i.animatable._getAnimationConfigRecursive(i.type||e,t,n);else if(i.id){var a=t[i.id];a?(a.isClone||(t[i.id]=this._cloneConfig(a),a=t[i.id]),this._copyProperties(a,i)):t[i.id]=i}else n.push(i)},getAnimationConfig:function(e){var t={},n=[];for(var r in this._getAnimationConfigRecursive(e,t,n),t)n.push(t[r]);return n}},{_configureAnimations:function(e){var t=[],n=[];if(e.length>0)for(var r,i=0;r=e[i];i++){var o=document.createElement(r.name);if(o.isNeonAnimation){var a;o.configure||(o.configure=function(e){return null}),a=o.configure(r),n.push({result:a,config:r,neonAnimation:o})}else console.warn(this.is+":",r.name,"not found!")}for(var s=0;s\n :host {\n position: fixed;\n }\n\n #contentWrapper ::slotted(*) {\n overflow: auto;\n }\n\n #contentWrapper.animating ::slotted(*) {\n overflow: hidden;\n pointer-events: none;\n }\n \n\n
\n \n
\n']);return R=function(){return e},e}Object(p.a)({_template:Object(h.a)(R()),is:"iron-dropdown",behaviors:[i.a,r.a,A,T],properties:{horizontalAlign:{type:String,value:"left",reflectToAttribute:!0},verticalAlign:{type:String,value:"top",reflectToAttribute:!0},openAnimationConfig:{type:Object},closeAnimationConfig:{type:Object},focusTarget:{type:Object},noAnimations:{type:Boolean,value:!1},allowOutsideScroll:{type:Boolean,value:!1,observer:"_allowOutsideScrollChanged"}},listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},observers:["_updateOverlayPosition(positionTarget, verticalAlign, horizontalAlign, verticalOffset, horizontalOffset)"],get containedElement(){for(var e=Object(o.a)(this.$.content).getDistributedNodes(),t=0,n=e.length;t\n :host {\n display: inline-block;\n position: relative;\n padding: 8px;\n outline: none;\n\n @apply --paper-menu-button;\n }\n\n :host([disabled]) {\n cursor: auto;\n color: var(--disabled-text-color);\n\n @apply --paper-menu-button-disabled;\n }\n\n iron-dropdown {\n @apply --paper-menu-button-dropdown;\n }\n\n .dropdown-content {\n @apply --shadow-elevation-2dp;\n\n position: relative;\n border-radius: 2px;\n background-color: var(--paper-menu-button-dropdown-background, var(--primary-background-color));\n\n @apply --paper-menu-button-content;\n }\n\n :host([vertical-align="top"]) .dropdown-content {\n margin-bottom: 20px;\n margin-top: -10px;\n top: 10px;\n }\n\n :host([vertical-align="bottom"]) .dropdown-content {\n bottom: 10px;\n margin-bottom: -10px;\n margin-top: 20px;\n }\n\n #trigger {\n cursor: pointer;\n }\n \n\n
\n \n
\n\n \n \n \n']);return D=function(){return e},e}Object(p.a)({is:"paper-menu-grow-height-animation",behaviors:[I],configure:function(e){var t=e.node,n=t.getBoundingClientRect().height;return this._effect=new KeyframeEffect(t,[{height:n/2+"px"},{height:n+"px"}],this.timingFromConfig(e)),this._effect}}),Object(p.a)({is:"paper-menu-grow-width-animation",behaviors:[I],configure:function(e){var t=e.node,n=t.getBoundingClientRect().width;return this._effect=new KeyframeEffect(t,[{width:n/2+"px"},{width:n+"px"}],this.timingFromConfig(e)),this._effect}}),Object(p.a)({is:"paper-menu-shrink-width-animation",behaviors:[I],configure:function(e){var t=e.node,n=t.getBoundingClientRect().width;return this._effect=new KeyframeEffect(t,[{width:n+"px"},{width:n-n/20+"px"}],this.timingFromConfig(e)),this._effect}}),Object(p.a)({is:"paper-menu-shrink-height-animation",behaviors:[I],configure:function(e){var t=e.node,n=t.getBoundingClientRect().height;return this.setPrefixedProperty(t,"transformOrigin","0 0"),this._effect=new KeyframeEffect(t,[{height:n+"px",transform:"translateY(0)"},{height:n/2+"px",transform:"translateY(-20px)"}],this.timingFromConfig(e)),this._effect}});var z={ANIMATION_CUBIC_BEZIER:"cubic-bezier(.3,.95,.5,1)",MAX_ANIMATION_TIME_MS:400},F=Object(p.a)({_template:Object(h.a)(D()),is:"paper-menu-button",behaviors:[r.a,i.a],properties:{opened:{type:Boolean,value:!1,notify:!0,observer:"_openedChanged"},horizontalAlign:{type:String,value:"left",reflectToAttribute:!0},verticalAlign:{type:String,value:"top",reflectToAttribute:!0},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},noOverlap:{type:Boolean},noAnimations:{type:Boolean,value:!1},ignoreSelect:{type:Boolean,value:!1},closeOnActivate:{type:Boolean,value:!1},openAnimationConfig:{type:Object,value:function(){return[{name:"fade-in-animation",timing:{delay:100,duration:200}},{name:"paper-menu-grow-width-animation",timing:{delay:100,duration:150,easing:z.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-grow-height-animation",timing:{delay:100,duration:275,easing:z.ANIMATION_CUBIC_BEZIER}}]}},closeAnimationConfig:{type:Object,value:function(){return[{name:"fade-out-animation",timing:{duration:150}},{name:"paper-menu-shrink-width-animation",timing:{delay:100,duration:50,easing:z.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-shrink-height-animation",timing:{duration:200,easing:"ease-in"}}]}},allowOutsideScroll:{type:Boolean,value:!1},restoreFocusOnClose:{type:Boolean,value:!0},_dropdownContent:{type:Object}},hostAttributes:{role:"group","aria-haspopup":"true"},listeners:{"iron-activate":"_onIronActivate","iron-select":"_onIronSelect"},get contentElement(){for(var e=Object(o.a)(this.$.content).getDistributedNodes(),t=0,n=e.length;t-1&&e.preventDefault()}});Object.keys(z).forEach((function(e){F[e]=z[e]}));n(96);var L=n(65);Object(p.a)({is:"iron-iconset-svg",properties:{name:{type:String,observer:"_nameChanged"},size:{type:Number,value:24},rtlMirroring:{type:Boolean,value:!1},useGlobalRtlAttribute:{type:Boolean,value:!1}},created:function(){this._meta=new L.a({type:"iconset",key:null,value:null})},attached:function(){this.style.display="none"},getIconNames:function(){return this._icons=this._createIconMap(),Object.keys(this._icons).map((function(e){return this.name+":"+e}),this)},applyIcon:function(e,t){this.removeIcon(e);var n=this._cloneIcon(t,this.rtlMirroring&&this._targetIsRTL(e));if(n){var r=Object(o.a)(e.root||e);return r.insertBefore(n,r.childNodes[0]),e._svgIcon=n}return null},removeIcon:function(e){e._svgIcon&&(Object(o.a)(e.root||e).removeChild(e._svgIcon),e._svgIcon=null)},_targetIsRTL:function(e){if(null==this.__targetIsRTL)if(this.useGlobalRtlAttribute){var t=document.body&&document.body.hasAttribute("dir")?document.body:document.documentElement;this.__targetIsRTL="rtl"===t.getAttribute("dir")}else e&&e.nodeType!==Node.ELEMENT_NODE&&(e=e.host),this.__targetIsRTL=e&&"rtl"===window.getComputedStyle(e).direction;return this.__targetIsRTL},_nameChanged:function(){this._meta.value=null,this._meta.key=this.name,this._meta.value=this,this.async((function(){this.fire("iron-iconset-added",this,{node:window})}))},_createIconMap:function(){var e=Object.create(null);return Object(o.a)(this).querySelectorAll("[id]").forEach((function(t){e[t.id]=t})),e},_cloneIcon:function(e,t){return this._icons=this._icons||this._createIconMap(),this._prepareSvgClone(this._icons[e],this.size,t)},_prepareSvgClone:function(e,t,n){if(e){var r=e.cloneNode(!0),i=document.createElementNS("http://www.w3.org/2000/svg","svg"),o=r.getAttribute("viewBox")||"0 0 "+t+" "+t,a="pointer-events: none; display: block; width: 100%; height: 100%;";return n&&r.hasAttribute("mirror-in-rtl")&&(a+="-webkit-transform:scale(-1,1);transform:scale(-1,1);transform-origin:center;"),i.setAttribute("viewBox",o),i.setAttribute("preserveAspectRatio","xMidYMid meet"),i.setAttribute("focusable","false"),i.style.cssText=a,i.appendChild(r).removeAttribute("id"),i}return null}});var N=document.createElement("template");N.setAttribute("style","display: none;"),N.innerHTML='\n\n\n\n',document.head.appendChild(N.content);var M=document.createElement("template");M.setAttribute("style","display: none;"),M.innerHTML='\n \n',document.head.appendChild(M.content);var H=n(50),B=n(63),V=n(54);function U(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n \x3c!-- this div fulfills an a11y requirement for combobox, do not remove --\x3e\n \n \n \x3c!-- support hybrid mode: user might be using paper-menu-button 1.x which distributes via --\x3e\n \n \n \n']);return U=function(){return e},e}Object(p.a)({_template:Object(h.a)(U()),is:"paper-dropdown-menu",behaviors:[H.a,i.a,B.a,V.a],properties:{selectedItemLabel:{type:String,notify:!0,readOnly:!0},selectedItem:{type:Object,notify:!0,readOnly:!0},value:{type:String,notify:!0},label:{type:String},placeholder:{type:String},errorMessage:{type:String},opened:{type:Boolean,notify:!0,value:!1,observer:"_openedChanged"},allowOutsideScroll:{type:Boolean,value:!1},noLabelFloat:{type:Boolean,value:!1,reflectToAttribute:!0},alwaysFloatLabel:{type:Boolean,value:!1},noAnimations:{type:Boolean,value:!1},horizontalAlign:{type:String,value:"right"},verticalAlign:{type:String,value:"top"},verticalOffset:Number,dynamicAlign:{type:Boolean},restoreFocusOnClose:{type:Boolean,value:!0}},listeners:{tap:"_onTap"},keyBindings:{"up down":"open",esc:"close"},hostAttributes:{role:"combobox","aria-autocomplete":"none","aria-haspopup":"true"},observers:["_selectedItemChanged(selectedItem)"],attached:function(){var e=this.contentElement;e&&e.selectedItem&&this._setSelectedItem(e.selectedItem)},get contentElement(){for(var e=Object(o.a)(this.$.content).getDistributedNodes(),t=0,n=e.length;t=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var s=r.call(o,"catchLoc"),c=r.call(o,"finallyLoc");if(s&&c){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),k(n),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;k(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:x(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},e}("object"===t(e)?e.exports:{});try{regeneratorRuntime=n}catch(r){Function("r","regeneratorRuntime = r")(n)}}).call(this,n(102)(e))},function(e,t,n){"use strict";var r;(r="undefined"!=typeof process&&"[object process]"==={}.toString.call(process)||"undefined"!=typeof navigator&&"ReactNative"===navigator.product?global:self).Proxy||(r.Proxy=n(112)(),r.Proxy.revocable=r.Proxy.revocable)},function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}e.exports=function(){var e,t=null;function r(e){return!!e&&("object"===n(e)||"function"==typeof e)}return(e=function(e,n){if(!r(e)||!r(n))throw new TypeError("Cannot create proxy with a non-object as target or handler");var i=function(){};t=function(){e=null,i=function(e){throw new TypeError("Cannot perform '".concat(e,"' on a proxy that has been revoked"))}},setTimeout((function(){t=null}),0);var o=n;for(var a in n={get:null,set:null,apply:null,construct:null},o){if(!(a in n))throw new TypeError("Proxy polyfill does not support trap '".concat(a,"'"));n[a]=o[a]}"function"==typeof o&&(n.apply=o.apply.bind(o));var s=this,c=!1,l=!1;"function"==typeof e?(s=function(){var t=this&&this.constructor===s,r=Array.prototype.slice.call(arguments);if(i(t?"construct":"apply"),t&&n.construct)return n.construct.call(this,e,r);if(!t&&n.apply)return n.apply(e,this,r);if(t){r.unshift(e);var o=e.bind.apply(e,r);return new o}return e.apply(this,r)},c=!0):e instanceof Array&&(s=[],l=!0);var u=n.get?function(e){return i("get"),n.get(this,e,s)}:function(e){return i("get"),this[e]},d=n.set?function(e,t){i("set");n.set(this,e,t,s)}:function(e,t){i("set"),this[e]=t},f=Object.getOwnPropertyNames(e),p={};f.forEach((function(t){if(!c&&!l||!(t in s)){var n={enumerable:!!Object.getOwnPropertyDescriptor(e,t).enumerable,get:u.bind(e,t),set:d.bind(e,t)};Object.defineProperty(s,t,n),p[t]=!0}}));var h=!0;if(Object.setPrototypeOf?Object.setPrototypeOf(s,Object.getPrototypeOf(e)):s.__proto__?s.__proto__=e.__proto__:h=!1,n.get||!h)for(var m in e)p[m]||Object.defineProperty(s,m,{get:u.bind(e,m)});return Object.seal(e),Object.seal(s),s}).revocable=function(n,r){return{proxy:new e(n,r),revoke:t}},e}},function(e,t){var n=document.createElement("template");n.setAttribute("style","display: none;"),n.innerHTML='',document.head.appendChild(n.content)},function(e,t){},function(e,t,n){"use strict";n.r(t);n(40),n(52);var r=n(7),i=(n(71),n(90),n(95),n(81),n(0)),o=n(49),a=(n(101),n(33),n(57)),s=n(31),c=n(11);function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(){var e=y(["\n ha-dialog.button-left {\n --justify-action-buttons: flex-start;\n }\n paper-icon-item {\n cursor: pointer;\n }\n .form {\n color: var(--primary-text-color);\n }\n .option {\n border: 1px solid var(--divider-color);\n border-radius: 4px;\n margin-top: 4px;\n }\n mwc-button {\n margin-left: 8px;\n }\n ha-paper-dropdown-menu {\n display: block;\n }\n "]);return u=function(){return e},e}function d(){var e=y([""]);return d=function(){return e},e}function f(){var e=y(["\n \n No repositories\n \n "]);return f=function(){return e},e}function p(){var e=y(['\n \n \n
',"
\n
","
\n
","
\n
\n ',"
"]);return h=function(){return e},e}function m(){var e=y(["\n \n ','\n
\n ','\n
\n \n
\n
\n \n Close\n \n \n ']);return m=function(){return e},e}function y(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function v(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(l){return void n(l)}s.done?t(c):Promise.resolve(c).then(r,i)}function b(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){v(o,r,i,a,s,"next",e)}function s(e){v(o,r,i,a,s,"throw",e)}a(void 0)}))}}function g(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _(e,t){return(_=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function w(e,t){return!t||"object"!==l(t)&&"function"!=typeof t?k(e):t}function k(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function O(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function x(e){return(x=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function E(e){var t,n=A(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function S(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function j(e){return e.decorators&&e.decorators.length}function C(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function P(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function A(e){var t=function(e,t){if("object"!==l(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==l(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===l(t)?t:String(t)}function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o,a=!0,s=!1;return{s:function(){i=e[Symbol.iterator]()},n:function(){var e=i.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==i.return||i.return()}finally{if(s)throw o}}}}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&a>0&&n[o]===r[a];)o--,a--;n[o]!==r[a]&&this[h](n[o],r[a]),o>0&&this[y](n.slice(0,o)),a>0&&this[m](r.slice(0,a),i,null)}else this[m](r,i,t)}},{key:h,value:function(e,t){var n=e[d];this[g](e)&&!e.inert&&(e.inert=!0,n.add(e)),n.has(t)&&(t.inert=!1,n.delete(t)),t[f]=e[f],t[d]=n,e[f]=void 0,e[d]=void 0}},{key:y,value:function(e){var t,r=n(e);try{for(r.s();!(t=r.n()).done;){var i=t.value;i[f].disconnect(),i[f]=void 0;var o,a=n(i[d]);try{for(a.s();!(o=a.n()).done;)o.value.inert=!1}catch(s){a.e(s)}finally{a.f()}i[d]=void 0}}catch(s){r.e(s)}finally{r.f()}}},{key:m,value:function(e,t,r){var i,o=n(e);try{for(o.s();!(i=o.n()).done;){for(var a=i.value,s=a.parentNode,c=s.children,l=new Set,u=0;u{const i=new XMLHttpRequest,o=[],a=[],s={},c=()=>({ok:2==(i.status/100|0),statusText:i.statusText,status:i.status,url:i.responseURL,text:()=>Promise.resolve(i.responseText),json:()=>Promise.resolve(JSON.parse(i.responseText)),blob:()=>Promise.resolve(new Blob([i.response])),clone:c,headers:{keys:()=>o,entries:()=>a,get:e=>s[e.toLowerCase()],has:e=>e.toLowerCase()in s}});i.open(t.method||"get",e,!0),i.onload=()=>{i.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,(e,t,n)=>{o.push(t=t.toLowerCase()),a.push([t,n]),s[t]=s[t]?`${s[t]},${n}`:n}),n(c())},i.onerror=r,i.withCredentials="include"==t.credentials;for(const e in t.headers)i.setRequestHeader(e,t.headers[e]);i.send(t.body||null)})});n(111);i.a.polyfill(),void 0===Object.values&&(Object.values=function(e){return Object.keys(e).map((function(t){return e[t]}))}),String.prototype.padStart||(String.prototype.padStart=function(e,t){return e>>=0,t=String(void 0!==t?t:" "),this.length>=e?String(this):((e-=this.length)>t.length&&(t+=t.repeat(e/t.length)),t.slice(0,e)+String(this))});n(113);var o=n(0),a=n(24);function s(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(l){return void n(l)}s.done?t(c):Promise.resolve(c).then(r,i)}function c(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){s(o,r,i,a,c,"next",e)}function c(e){s(o,r,i,a,c,"throw",e)}a(void 0)}))}}var l=function(){var e=c(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.callApi("GET","hassio/host/info");case 2:return n=e.sent,e.abrupt("return",Object(a.a)(n));case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),u=function(){var e=c(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=a.a,e.next=3,t.callApi("GET","hassio/os/info");case 3:return e.t1=e.sent,e.abrupt("return",(0,e.t0)(e.t1));case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),d=function(){var e=c(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.callApi("POST","hassio/host/reboot"));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),f=function(){var e=c(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.callApi("POST","hassio/host/shutdown"));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),p=function(){var e=c(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.callApi("POST","hassio/os/update"));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),h=function(){var e=c(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.callApi("POST","hassio/host/options",n));case 1:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),m=n(31),y=n(73),v=(n(47),n(91),n(34),n(92),n(59),n(98),n(11));function b(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(c){i=!0,o=c}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return g(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return g(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n .scrollable {\n -webkit-overflow-scrolling: auto !important;\n }\n\n paper-dialog-scrollable.can-scroll > .scrollable {\n -webkit-overflow-scrolling: touch !important;\n }\n \n"),document.head.appendChild(_.content);n(52);var w=n(1),k=(n(60),n(9)),O=n(39),x=n(17);function E(e){return(E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function S(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=function(e,t){if(!e)return;if("string"==typeof e)return j(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return j(e,t)}(e))){var t=0,n=function(){};return{s:n,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,i,o=!0,a=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==r.return||r.return()}finally{if(a)throw i}}}}function j(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n\n \n \n \n \n \n ']);return C=function(){return e},e}function P(){var e=M([""]);return P=function(){return e},e}function A(){var e=M(['\n \n ',"\n "]);return A=function(){return e},e}function T(){var e=M(['\n \n \n ']);return T=function(){return e},e}function R(){var e=M(['\n \n \n ']);return R=function(){return e},e}function I(){var e=M([""]);return I=function(){return e},e}function D(){var e=M(['
']);return D=function(){return e},e}function z(){var e=M(["\n \n "]);return z=function(){return e},e}function F(){var e=M(["\n ","\n ","\n ","\n ",""]);return F=function(){return e},e}function L(){var e=M([""]);return L=function(){return e},e}function N(){var e=M([""]);return N=function(){return e},e}function M(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function H(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function B(e,t){for(var n=0;n\n \n ',"\n \n "]);return fe=function(){return e},e}function pe(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function he(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function me(e,t){return(me=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ye(e,t){return!t||"object"!==se(t)&&"function"!=typeof t?ve(e):t}function ve(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function be(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function ge(e){return(ge=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _e(e){var t,n=Ee(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function we(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function ke(e){return e.decorators&&e.decorators.length}function Oe(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function xe(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function Ee(e){var t=function(e,t){if("object"!==se(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==se(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===se(t)?t:String(t)}function Se(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,i,o=!0,a=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==r.return||r.return()}finally{if(a)throw i}}}}function mt(e,t){if(e){if("string"==typeof e)return yt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?yt(e,t):void 0}}function yt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0&&this.adapter.setTabIndexForElementIndex(t,0)}},{key:"handleFocusOut",value:function(e,t){var n=this;t>=0&&this.adapter.setTabIndexForElementIndex(t,-1),setTimeout((function(){n.adapter.isFocusInsideList()||n.setTabindexToFirstSelectedItem_()}),0)}},{key:"handleKeydown",value:function(e,t,n){var r="ArrowLeft"===st(e),i="ArrowUp"===st(e),o="ArrowRight"===st(e),a="ArrowDown"===st(e),s="Home"===st(e),c="End"===st(e),l="Enter"===st(e),u="Spacebar"===st(e);if(this.adapter.isRootFocused())i||c?(e.preventDefault(),this.focusLastElement()):(a||s)&&(e.preventDefault(),this.focusFirstElement());else{var d=this.adapter.getFocusedElementIndex();if(!(-1===d&&(d=n)<0)){var f;if(this.isVertical_&&a||!this.isVertical_&&o)this.preventDefaultEvent(e),f=this.focusNextElement(d);else if(this.isVertical_&&i||!this.isVertical_&&r)this.preventDefaultEvent(e),f=this.focusPrevElement(d);else if(s)this.preventDefaultEvent(e),f=this.focusFirstElement();else if(c)this.preventDefaultEvent(e),f=this.focusLastElement();else if((l||u)&&t){var p=e.target;if(p&&"A"===p.tagName&&l)return;this.preventDefaultEvent(e),this.setSelectedIndexOnAction_(d,!0)}this.focusedItemIndex_=d,void 0!==f&&(this.setTabindexAtIndex_(f),this.focusedItemIndex_=f)}}}},{key:"handleSingleSelection",value:function(e,t,n){e!==dt.UNSET_INDEX&&(this.setSelectedIndexOnAction_(e,t,n),this.setTabindexAtIndex_(e),this.focusedItemIndex_=e)}},{key:"focusNextElement",value:function(e){var t=e+1;if(t>=this.adapter.getListItemCount()){if(!this.wrapFocus_)return e;t=0}return this.adapter.focusItemAtIndex(t),t}},{key:"focusPrevElement",value:function(e){var t=e-1;if(t<0){if(!this.wrapFocus_)return e;t=this.adapter.getListItemCount()-1}return this.adapter.focusItemAtIndex(t),t}},{key:"focusFirstElement",value:function(){return this.adapter.focusItemAtIndex(0),0}},{key:"focusLastElement",value:function(){var e=this.adapter.getListItemCount()-1;return this.adapter.focusItemAtIndex(e),e}},{key:"setEnabled",value:function(e,t){this.isIndexValid_(e)&&this.adapter.setDisabledStateForElementIndex(e,!t)}},{key:"preventDefaultEvent",value:function(e){var t=e.target,n="".concat(t.tagName).toLowerCase();-1===Ot.indexOf(n)&&e.preventDefault()}},{key:"setSingleSelectionAtIndex_",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.selectedIndex_!==e&&(this.selectedIndex_!==dt.UNSET_INDEX&&(this.adapter.setSelectedStateForElementIndex(this.selectedIndex_,!1),this.useActivatedClass_&&this.adapter.setActivatedStateForElementIndex(this.selectedIndex_,!1)),t&&this.adapter.setSelectedStateForElementIndex(e,!0),this.useActivatedClass_&&this.adapter.setActivatedStateForElementIndex(e,!0),this.setAriaForSingleSelectionAtIndex_(e),this.selectedIndex_=e,this.adapter.notifySelected(e))}},{key:"setMultiSelectionAtIndex_",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=Et(this.selectedIndex_),r=kt(n,e);if(r.removed.length||r.added.length){var i,o=ht(r.removed);try{for(o.s();!(i=o.n()).done;){var a=i.value;t&&this.adapter.setSelectedStateForElementIndex(a,!1),this.useActivatedClass_&&this.adapter.setActivatedStateForElementIndex(a,!1)}}catch(u){o.e(u)}finally{o.f()}var s,c=ht(r.added);try{for(c.s();!(s=c.n()).done;){var l=s.value;t&&this.adapter.setSelectedStateForElementIndex(l,!0),this.useActivatedClass_&&this.adapter.setActivatedStateForElementIndex(l,!0)}}catch(u){c.e(u)}finally{c.f()}this.selectedIndex_=e,this.adapter.notifySelected(e,r)}}},{key:"setAriaForSingleSelectionAtIndex_",value:function(e){this.selectedIndex_===dt.UNSET_INDEX&&(this.ariaCurrentAttrValue_=this.adapter.getAttributeForElementIndex(e,ut.ARIA_CURRENT));var t=null!==this.ariaCurrentAttrValue_,n=t?ut.ARIA_CURRENT:ut.ARIA_SELECTED;this.selectedIndex_!==dt.UNSET_INDEX&&this.adapter.setAttributeForElementIndex(this.selectedIndex_,n,"false");var r=t?this.ariaCurrentAttrValue_:"true";this.adapter.setAttributeForElementIndex(e,n,r)}},{key:"setTabindexAtIndex_",value:function(e){this.focusedItemIndex_===dt.UNSET_INDEX&&0!==e?this.adapter.setTabIndexForElementIndex(0,-1):this.focusedItemIndex_>=0&&this.focusedItemIndex_!==e&&this.adapter.setTabIndexForElementIndex(this.focusedItemIndex_,-1),this.adapter.setTabIndexForElementIndex(e,0)}},{key:"setTabindexToFirstSelectedItem_",value:function(){var e=0;"number"==typeof this.selectedIndex_&&this.selectedIndex_!==dt.UNSET_INDEX?e=this.selectedIndex_:xt(this.selectedIndex_)&&this.selectedIndex_.size>0&&(e=Math.min.apply(Math,pt(this.selectedIndex_))),this.setTabindexAtIndex_(e)}},{key:"isIndexValid_",value:function(e){if(e instanceof Set){if(!this.isMulti_)throw new Error("MDCListFoundation: Array of index is only supported for checkbox based list");if(0===e.size)return!0;var t,n=!1,r=ht(e);try{for(r.s();!(t=r.n()).done;){var i=t.value;if(n=this.isIndexInRange_(i))break}}catch(o){r.e(o)}finally{r.f()}return n}if("number"==typeof e){if(this.isMulti_)throw new Error("MDCListFoundation: Expected array of index for checkbox based list but got number: "+e);return e===dt.UNSET_INDEX||this.isIndexInRange_(e)}return!1}},{key:"isIndexInRange_",value:function(e){var t=this.adapter.getListItemCount();return e>=0&&e2&&void 0!==arguments[2])||arguments[2],r=!1;r=void 0===t?!this.adapter.getSelectedStateForElementIndex(e):t;var i=Et(this.selectedIndex_);r?i.add(e):i.delete(e),this.setMultiSelectionAtIndex_(i,n)}}])&&vt(n.prototype,r),i&&vt(n,i),a}(Ae.a);function jt(e){return(jt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ct(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n \x3c!-- @ts-ignore --\x3e\n 1&&void 0!==arguments[1]&&arguments[1],n=this.items[e];n&&(n.selected=!0,n.activated=t)}},{key:"deselectUi",value:function(e){var t=this.items[e];t&&(t.selected=!1,t.activated=!1)}},{key:"select",value:function(e){this.mdcFoundation&&this.mdcFoundation.setSelectedIndex(e)}},{key:"toggle",value:function(e,t){this.multi&&this.mdcFoundation.toggleMultiAtIndex(e,t)}},{key:"onListItemConnected",value:function(e){var t=e.target;this.layout(-1===this.items.indexOf(t))}},{key:"layout",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];e&&this.updateItems();var t,n=this.items[0],r=Pt(this.items);try{for(r.s();!(t=r.n()).done;){var i=t.value;i.tabindex=-1}}catch(o){r.e(o)}finally{r.f()}n&&(this.noninteractive?this.previousTabindex||(this.previousTabindex=n):n.tabindex=0)}},{key:"getFocusedItemIndex",value:function(){if(!this.mdcRoot)return-1;if(!this.items.length)return-1;var e=Object(Ce.b)();if(!e.length)return-1;for(var t=e.length-1;t>=0;t--){var n=e[t];if(Nt(n))return this.items.indexOf(n)}return-1}},{key:"focusItemAtIndex",value:function(e){var t,n=Pt(this.items);try{for(n.s();!(t=n.n()).done;){var r=t.value;if(0===r.tabindex){r.tabindex=-1;break}}}catch(i){n.e(i)}finally{n.f()}this.items[e].tabindex=0,this.items[e].focus()}},{key:"focus",value:function(){var e=this.mdcRoot;e&&e.focus()}},{key:"blur",value:function(){var e=this.mdcRoot;e&&e.blur()}},{key:"assignedElements",get:function(){var e=this.slotElement;return e?e.assignedNodes({flatten:!0}).filter(Ce.e):[]}},{key:"items",get:function(){return this.items_}},{key:"selected",get:function(){var e=this.index;if(!xt(e))return-1===e?null:this.items[e];var t,n=[],r=Pt(e);try{for(r.s();!(t=r.n()).done;){var i=t.value;n.push(this.items[i])}}catch(o){r.e(o)}finally{r.f()}return n}},{key:"index",get:function(){return this.mdcFoundation?this.mdcFoundation.getSelectedIndex():-1}}])&&Rt(n.prototype,r),i&&Rt(n,i),s}(je.a);function Ht(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}:host{display:block}.mdc-list{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);line-height:1.75rem;line-height:var(--mdc-typography-subtitle1-line-height, 1.75rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:0.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);text-decoration:inherit;text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform, inherit);line-height:1.5rem;margin:0;padding:8px 0;list-style-type:none;color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));padding:var(--mdc-list-vertical-padding, 8px) 0}.mdc-list:focus{outline:none}.mdc-list-item{height:48px}.mdc-list--dense{padding-top:4px;padding-bottom:4px;font-size:.812rem}.mdc-list ::slotted([divider]){height:0;margin:0;border:none;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgba(0,0,0,.12)}.mdc-list ::slotted([divider][padded]){margin:0 var(--mdc-list-side-padding, 16px)}.mdc-list ::slotted([divider][inset]){margin-left:var(--mdc-list-inset-margin, 72px);margin-right:0;width:calc(100% - var(--mdc-list-inset-margin, 72px))}.mdc-list-group[dir=rtl] .mdc-list ::slotted([divider][inset]),[dir=rtl] .mdc-list-group .mdc-list ::slotted([divider][inset]){margin-left:0;margin-right:var(--mdc-list-inset-margin, 72px)}.mdc-list ::slotted([divider][inset][padded]){width:calc(100% - var(--mdc-list-inset-margin, 72px) - var(--mdc-list-side-padding, 16px))}.mdc-list--dense ::slotted([mwc-list-item]){height:40px}.mdc-list--dense ::slotted([mwc-list]){--mdc-list-item-graphic-size: 20px}.mdc-list--two-line.mdc-list--dense ::slotted([mwc-list-item]),.mdc-list--avatar-list.mdc-list--dense ::slotted([mwc-list-item]){height:60px}.mdc-list--avatar-list.mdc-list--dense ::slotted([mwc-list]){--mdc-list-item-graphic-size: 36px}:host([noninteractive]){pointer-events:none;cursor:default}.mdc-list--dense ::slotted(.mdc-list-item__primary-text){display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list--dense ::slotted(.mdc-list-item__primary-text)::before{display:inline-block;width:0;height:24px;content:"";vertical-align:0}.mdc-list--dense ::slotted(.mdc-list-item__primary-text)::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}']);return Ht=function(){return e},e}Object(w.b)([Object(o.i)(".mdc-list")],Mt.prototype,"mdcRoot",void 0),Object(w.b)([Object(o.i)("slot")],Mt.prototype,"slotElement",void 0),Object(w.b)([Object(o.h)({type:Boolean}),Object(k.a)((function(e){this.mdcFoundation&&this.mdcFoundation.setUseActivatedClass(e)}))],Mt.prototype,"activatable",void 0),Object(w.b)([Object(o.h)({type:Boolean}),Object(k.a)((function(e,t){this.mdcFoundation&&this.mdcFoundation.setMulti(e),void 0!==t&&this.layout()}))],Mt.prototype,"multi",void 0),Object(w.b)([Object(o.h)({type:Boolean}),Object(k.a)((function(e){this.mdcFoundation&&this.mdcFoundation.setWrapFocus(e)}))],Mt.prototype,"wrapFocus",void 0),Object(w.b)([Object(o.h)({type:String}),Object(k.a)((function(e,t){void 0!==t&&this.updateItems()}))],Mt.prototype,"itemRoles",void 0),Object(w.b)([Object(o.h)({type:String})],Mt.prototype,"innerRole",void 0),Object(w.b)([Object(o.h)({type:String})],Mt.prototype,"innerAriaLabel",void 0),Object(w.b)([Object(o.h)({type:Boolean})],Mt.prototype,"rootTabbable",void 0),Object(w.b)([Object(o.h)({type:Boolean,reflect:!0}),Object(k.a)((function(e){var t=this.slotElement;if(e&&t){var n=Object(Ce.d)(t,'[tabindex="0"]');this.previousTabindex=n,n&&n.setAttribute("tabindex","-1")}else!e&&this.previousTabindex&&(this.previousTabindex.setAttribute("tabindex","0"),this.previousTabindex=null)}))],Mt.prototype,"noninteractive",void 0);var Bt=Object(o.c)(Ht());function Vt(e){return(Vt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ut(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Kt(e,t){return(Kt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function $t(e,t){return!t||"object"!==Vt(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function qt(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function Gt(e){return(Gt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Wt=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Kt(e,t)}(r,e);var t,n=(t=r,function(){var e,n=Gt(t);if(qt()){var r=Gt(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return $t(this,e)});function r(){return Ut(this,r),n.apply(this,arguments)}return r}(Mt);Wt.styles=Bt,Wt=Object(w.b)([Object(o.d)("mwc-list")],Wt);var Yt,Xt,Zt={ANCHOR:"mdc-menu-surface--anchor",ANIMATING_CLOSED:"mdc-menu-surface--animating-closed",ANIMATING_OPEN:"mdc-menu-surface--animating-open",FIXED:"mdc-menu-surface--fixed",IS_OPEN_BELOW:"mdc-menu-surface--is-open-below",OPEN:"mdc-menu-surface--open",ROOT:"mdc-menu-surface"},Jt={CLOSED_EVENT:"MDCMenuSurface:closed",OPENED_EVENT:"MDCMenuSurface:opened",FOCUSABLE_ELEMENTS:["button:not(:disabled)",'[href]:not([aria-disabled="true"])',"input:not(:disabled)","select:not(:disabled)","textarea:not(:disabled)",'[tabindex]:not([tabindex="-1"]):not([aria-disabled="true"])'].join(", ")},Qt={TRANSITION_OPEN_DURATION:120,TRANSITION_CLOSE_DURATION:75,MARGIN_TO_EDGE:32,ANCHOR_TO_MENU_SURFACE_WIDTH_RATIO:.67};!function(e){e[e.BOTTOM=1]="BOTTOM",e[e.CENTER=2]="CENTER",e[e.RIGHT=4]="RIGHT",e[e.FLIP_RTL=8]="FLIP_RTL"}(Yt||(Yt={})),function(e){e[e.TOP_LEFT=0]="TOP_LEFT",e[e.TOP_RIGHT=4]="TOP_RIGHT",e[e.BOTTOM_LEFT=1]="BOTTOM_LEFT",e[e.BOTTOM_RIGHT=5]="BOTTOM_RIGHT",e[e.TOP_START=8]="TOP_START",e[e.TOP_END=12]="TOP_END",e[e.BOTTOM_START=9]="BOTTOM_START",e[e.BOTTOM_END=13]="BOTTOM_END"}(Xt||(Xt={}));var en,tn=function(e){function t(n){var r=e.call(this,Object(w.a)(Object(w.a)({},t.defaultAdapter),n))||this;return r.isSurfaceOpen=!1,r.isQuickOpen=!1,r.isHoistedElement=!1,r.isFixedPosition=!1,r.openAnimationEndTimerId=0,r.closeAnimationEndTimerId=0,r.animationRequestId=0,r.anchorCorner=Xt.TOP_START,r.originCorner=Xt.TOP_START,r.anchorMargin={top:0,right:0,bottom:0,left:0},r.position={x:0,y:0},r}return Object(w.c)(t,e),Object.defineProperty(t,"cssClasses",{get:function(){return Zt},enumerable:!0,configurable:!0}),Object.defineProperty(t,"strings",{get:function(){return Jt},enumerable:!0,configurable:!0}),Object.defineProperty(t,"numbers",{get:function(){return Qt},enumerable:!0,configurable:!0}),Object.defineProperty(t,"Corner",{get:function(){return Xt},enumerable:!0,configurable:!0}),Object.defineProperty(t,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},hasClass:function(){return!1},hasAnchor:function(){return!1},isElementInContainer:function(){return!1},isFocused:function(){return!1},isRtl:function(){return!1},getInnerDimensions:function(){return{height:0,width:0}},getAnchorDimensions:function(){return null},getWindowDimensions:function(){return{height:0,width:0}},getBodyDimensions:function(){return{height:0,width:0}},getWindowScroll:function(){return{x:0,y:0}},setPosition:function(){},setMaxHeight:function(){},setTransformOrigin:function(){},saveFocus:function(){},restoreFocus:function(){},notifyClose:function(){},notifyOpen:function(){}}},enumerable:!0,configurable:!0}),t.prototype.init=function(){var e=t.cssClasses,n=e.ROOT,r=e.OPEN;if(!this.adapter.hasClass(n))throw new Error(n+" class required in root element.");this.adapter.hasClass(r)&&(this.isSurfaceOpen=!0)},t.prototype.destroy=function(){clearTimeout(this.openAnimationEndTimerId),clearTimeout(this.closeAnimationEndTimerId),cancelAnimationFrame(this.animationRequestId)},t.prototype.setAnchorCorner=function(e){this.anchorCorner=e},t.prototype.flipCornerHorizontally=function(){this.originCorner=this.originCorner^Yt.RIGHT},t.prototype.setAnchorMargin=function(e){this.anchorMargin.top=e.top||0,this.anchorMargin.right=e.right||0,this.anchorMargin.bottom=e.bottom||0,this.anchorMargin.left=e.left||0},t.prototype.setIsHoisted=function(e){this.isHoistedElement=e},t.prototype.setFixedPosition=function(e){this.isFixedPosition=e},t.prototype.setAbsolutePosition=function(e,t){this.position.x=this.isFinite(e)?e:0,this.position.y=this.isFinite(t)?t:0},t.prototype.setQuickOpen=function(e){this.isQuickOpen=e},t.prototype.isOpen=function(){return this.isSurfaceOpen},t.prototype.open=function(){var e=this;this.isSurfaceOpen||(this.adapter.saveFocus(),this.isQuickOpen?(this.isSurfaceOpen=!0,this.adapter.addClass(t.cssClasses.OPEN),this.dimensions=this.adapter.getInnerDimensions(),this.autoposition(),this.adapter.notifyOpen()):(this.adapter.addClass(t.cssClasses.ANIMATING_OPEN),this.animationRequestId=requestAnimationFrame((function(){e.adapter.addClass(t.cssClasses.OPEN),e.dimensions=e.adapter.getInnerDimensions(),e.autoposition(),e.openAnimationEndTimerId=setTimeout((function(){e.openAnimationEndTimerId=0,e.adapter.removeClass(t.cssClasses.ANIMATING_OPEN),e.adapter.notifyOpen()}),Qt.TRANSITION_OPEN_DURATION)})),this.isSurfaceOpen=!0))},t.prototype.close=function(e){var n=this;void 0===e&&(e=!1),this.isSurfaceOpen&&(this.isQuickOpen?(this.isSurfaceOpen=!1,e||this.maybeRestoreFocus(),this.adapter.removeClass(t.cssClasses.OPEN),this.adapter.removeClass(t.cssClasses.IS_OPEN_BELOW),this.adapter.notifyClose()):(this.adapter.addClass(t.cssClasses.ANIMATING_CLOSED),requestAnimationFrame((function(){n.adapter.removeClass(t.cssClasses.OPEN),n.adapter.removeClass(t.cssClasses.IS_OPEN_BELOW),n.closeAnimationEndTimerId=setTimeout((function(){n.closeAnimationEndTimerId=0,n.adapter.removeClass(t.cssClasses.ANIMATING_CLOSED),n.adapter.notifyClose()}),Qt.TRANSITION_CLOSE_DURATION)})),this.isSurfaceOpen=!1,e||this.maybeRestoreFocus()))},t.prototype.handleBodyClick=function(e){var t=e.target;this.adapter.isElementInContainer(t)||this.close()},t.prototype.handleKeydown=function(e){var t=e.keyCode;("Escape"===e.key||27===t)&&this.close()},t.prototype.autoposition=function(){var e;this.measurements=this.getAutoLayoutmeasurements();var n=this.getoriginCorner(),r=this.getMenuSurfaceMaxHeight(n),i=this.hasBit(n,Yt.BOTTOM)?"bottom":"top",o=this.hasBit(n,Yt.RIGHT)?"right":"left",a=this.getHorizontalOriginOffset(n),s=this.getVerticalOriginOffset(n),c=this.measurements,l=c.anchorSize,u=c.surfaceSize,d=((e={})[o]=a,e[i]=s,e);l.width/u.width>Qt.ANCHOR_TO_MENU_SURFACE_WIDTH_RATIO&&(o="center"),(this.isHoistedElement||this.isFixedPosition)&&this.adjustPositionForHoistedElement(d),this.adapter.setTransformOrigin(o+" "+i),this.adapter.setPosition(d),this.adapter.setMaxHeight(r?r+"px":""),this.hasBit(n,Yt.BOTTOM)||this.adapter.addClass(t.cssClasses.IS_OPEN_BELOW)},t.prototype.getAutoLayoutmeasurements=function(){var e=this.adapter.getAnchorDimensions(),t=this.adapter.getBodyDimensions(),n=this.adapter.getWindowDimensions(),r=this.adapter.getWindowScroll();return e||(e={top:this.position.y,right:this.position.x,bottom:this.position.y,left:this.position.x,width:0,height:0}),{anchorSize:e,bodySize:t,surfaceSize:this.dimensions,viewportDistance:{top:e.top,right:n.width-e.right,bottom:n.height-e.bottom,left:e.left},viewportSize:n,windowScroll:r}},t.prototype.getoriginCorner=function(){var e,n,r=this.originCorner,i=this.measurements,o=i.viewportDistance,a=i.anchorSize,s=i.surfaceSize,c=t.numbers.MARGIN_TO_EDGE;this.hasBit(this.anchorCorner,Yt.BOTTOM)?(e=o.top-c+a.height+this.anchorMargin.bottom,n=o.bottom-c-this.anchorMargin.bottom):(e=o.top-c+this.anchorMargin.top,n=o.bottom-c+a.height-this.anchorMargin.top),!(n-s.height>0)&&e>=n&&(r=this.setBit(r,Yt.BOTTOM));var l,u,d=this.adapter.isRtl(),f=this.hasBit(this.anchorCorner,Yt.FLIP_RTL),p=this.hasBit(this.anchorCorner,Yt.RIGHT),h=!1;(h=d&&f?!p:p)?(l=o.left+a.width+this.anchorMargin.right,u=o.right-this.anchorMargin.right):(l=o.left+this.anchorMargin.left,u=o.right+a.width-this.anchorMargin.left);var m=l-s.width>0,y=u-s.width>0,v=this.hasBit(r,Yt.FLIP_RTL)&&this.hasBit(r,Yt.RIGHT);return y&&v&&d||!m&&v?r=this.unsetBit(r,Yt.RIGHT):(m&&h&&d||m&&!h&&p||!y&&l>=u)&&(r=this.setBit(r,Yt.RIGHT)),r},t.prototype.getMenuSurfaceMaxHeight=function(e){var n=this.measurements.viewportDistance,r=0,i=this.hasBit(e,Yt.BOTTOM),o=this.hasBit(this.anchorCorner,Yt.BOTTOM),a=t.numbers.MARGIN_TO_EDGE;return i?(r=n.top+this.anchorMargin.top-a,o||(r+=this.measurements.anchorSize.height)):(r=n.bottom-this.anchorMargin.bottom+this.measurements.anchorSize.height-a,o&&(r-=this.measurements.anchorSize.height)),r},t.prototype.getHorizontalOriginOffset=function(e){var t=this.measurements.anchorSize,n=this.hasBit(e,Yt.RIGHT),r=this.hasBit(this.anchorCorner,Yt.RIGHT);if(n){var i=r?t.width-this.anchorMargin.left:this.anchorMargin.right;return this.isHoistedElement||this.isFixedPosition?i-(this.measurements.viewportSize.width-this.measurements.bodySize.width):i}return r?t.width-this.anchorMargin.right:this.anchorMargin.left},t.prototype.getVerticalOriginOffset=function(e){var t=this.measurements.anchorSize,n=this.hasBit(e,Yt.BOTTOM),r=this.hasBit(this.anchorCorner,Yt.BOTTOM);return n?r?t.height-this.anchorMargin.top:-this.anchorMargin.bottom:r?t.height+this.anchorMargin.bottom:this.anchorMargin.top},t.prototype.adjustPositionForHoistedElement=function(e){var t,n,r=this.measurements,i=r.windowScroll,o=r.viewportDistance,a=Object.keys(e);try{for(var s=Object(w.d)(a),c=s.next();!c.done;c=s.next()){var l=c.value,u=e[l]||0;u+=o[l],this.isFixedPosition||("top"===l?u+=i.y:"bottom"===l?u-=i.y:"left"===l?u+=i.x:u-=i.x),e[l]=u}}catch(d){t={error:d}}finally{try{c&&!c.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}},t.prototype.maybeRestoreFocus=function(){var e=this.adapter.isFocused(),t=document.activeElement&&this.adapter.isElementInContainer(document.activeElement);(e||t)&&this.adapter.restoreFocus()},t.prototype.hasBit=function(e,t){return Boolean(e&t)},t.prototype.setBit=function(e,t){return e|t},t.prototype.unsetBit=function(e,t){return e^t},t.prototype.isFinite=function(e){return"number"==typeof e&&isFinite(e)},t}(Ae.a),nn=tn;function rn(e){return(rn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function on(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n =0&&t.adapter.isSelectableItemAtIndex(n)&&t.setSelectedIndex(n)}),tn.numbers.TRANSITION_CLOSE_DURATION))},t.prototype.handleMenuSurfaceOpened=function(){switch(this.defaultFocusState_){case On.FIRST_ITEM:this.adapter.focusItemAtIndex(0);break;case On.LAST_ITEM:this.adapter.focusItemAtIndex(this.adapter.getMenuItemCount()-1);break;case On.NONE:break;default:this.adapter.focusListRoot()}},t.prototype.setDefaultFocusState=function(e){this.defaultFocusState_=e},t.prototype.setSelectedIndex=function(e){if(this.validatedIndex_(e),!this.adapter.isSelectableItemAtIndex(e))throw new Error("MDCMenuFoundation: No selection group at specified index.");var t=this.adapter.getSelectedSiblingOfItemAtIndex(e);t>=0&&(this.adapter.removeAttributeFromElementAtIndex(t,En.ARIA_CHECKED_ATTR),this.adapter.removeClassFromElementAtIndex(t,xn.MENU_SELECTED_LIST_ITEM)),this.adapter.addClassToElementAtIndex(e,xn.MENU_SELECTED_LIST_ITEM),this.adapter.addAttributeToElementAtIndex(e,En.ARIA_CHECKED_ATTR,"true")},t.prototype.setEnabled=function(e,t){this.validatedIndex_(e),t?(this.adapter.removeClassFromElementAtIndex(e,lt),this.adapter.addAttributeToElementAtIndex(e,En.ARIA_DISABLED_ATTR,"false")):(this.adapter.addClassToElementAtIndex(e,lt),this.adapter.addAttributeToElementAtIndex(e,En.ARIA_DISABLED_ATTR,"true"))},t.prototype.validatedIndex_=function(e){var t=this.adapter.getMenuItemCount();if(!(e>=0&&e0&&void 0!==arguments[0])||arguments[0],t=this.listElement;t&&t.layout(e)}},{key:"listElement",get:function(){return this.listElement_||(this.listElement_=this.renderRoot.querySelector("mwc-list")),this.listElement_}},{key:"items",get:function(){var e=this.listElement;return e?e.items:[]}},{key:"index",get:function(){var e=this.listElement;return e?e.index:-1}},{key:"selected",get:function(){var e=this.listElement;return e?e.selected:null}}])&&In(n.prototype,r),i&&In(n,i),l}(je.a);function Hn(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["mwc-list ::slotted([mwc-list-item]:not([twoline])){height:var(--mdc-menu-item-height, 48px)}mwc-list{max-width:var(--mdc-menu-max-width, auto);min-width:var(--mdc-menu-min-width, auto)}"]);return Hn=function(){return e},e}Object(w.b)([Object(o.i)(".mdc-menu")],Mn.prototype,"mdcRoot",void 0),Object(w.b)([Object(o.i)("slot")],Mn.prototype,"slotElement",void 0),Object(w.b)([Object(o.h)({type:Object})],Mn.prototype,"anchor",void 0),Object(w.b)([Object(o.h)({type:Boolean,reflect:!0})],Mn.prototype,"open",void 0),Object(w.b)([Object(o.h)({type:Boolean})],Mn.prototype,"quick",void 0),Object(w.b)([Object(o.h)({type:Boolean})],Mn.prototype,"wrapFocus",void 0),Object(w.b)([Object(o.h)({type:String})],Mn.prototype,"innerRole",void 0),Object(w.b)([Object(o.h)({type:String})],Mn.prototype,"corner",void 0),Object(w.b)([Object(o.h)({type:Number})],Mn.prototype,"x",void 0),Object(w.b)([Object(o.h)({type:Number})],Mn.prototype,"y",void 0),Object(w.b)([Object(o.h)({type:Boolean})],Mn.prototype,"absolute",void 0),Object(w.b)([Object(o.h)({type:Boolean})],Mn.prototype,"multi",void 0),Object(w.b)([Object(o.h)({type:Boolean})],Mn.prototype,"activatable",void 0),Object(w.b)([Object(o.h)({type:Boolean})],Mn.prototype,"fixed",void 0),Object(w.b)([Object(o.h)({type:Boolean})],Mn.prototype,"forceGroupSelection",void 0),Object(w.b)([Object(o.h)({type:Boolean})],Mn.prototype,"fullwidth",void 0),Object(w.b)([Object(o.h)({type:String})],Mn.prototype,"menuCorner",void 0),Object(w.b)([Object(o.h)({type:String}),Object(k.a)((function(e){this.mdcFoundation&&this.mdcFoundation.setDefaultFocusState(On[e])}))],Mn.prototype,"defaultFocus",void 0);var Bn=Object(o.c)(Hn());function Vn(e){return(Vn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Un(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Kn(e,t){return(Kn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function $n(e,t){return!t||"object"!==Vn(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function qn(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function Gn(e){return(Gn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Wn=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Kn(e,t)}(r,e);var t,n=(t=r,function(){var e,n=Gn(t);if(qn()){var r=Gn(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return $n(this,e)});function r(){return Un(this,r),n.apply(this,arguments)}return r}(Mn);Wn.styles=Bn,Wn=Object(w.b)([Object(o.d)("mwc-menu")],Wn);n(93);function Yn(e){return(Yn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Xn(){var e=Jn(["\n :host {\n display: inline-block;\n position: relative;\n }\n "]);return Xn=function(){return e},e}function Zn(){var e=Jn(["\n
\n
\n e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;ae.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:3,t=new Map;return{get:function(n){var r=n.match(Br).length;if(t.has(r))return t.get(r);var i=parseFloat((1/Math.sqrt(r)).toFixed(e));return t.set(r,i),i},clear:function(){t.clear()}}}var Ur=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.getFn,r=void 0===n?Hr.getFn:n;Sr(this,e),this.norm=Vr(3),this.getFn=r,this.isCreated=!1,this.setRecords()}return Cr(e,[{key:"setCollection",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.docs=e}},{key:"setRecords",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.records=e}},{key:"setKeys",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.keys=e}},{key:"create",value:function(){var e=this;!this.isCreated&&this.docs.length&&(this.isCreated=!0,Tr(this.docs[0])?this.docs.forEach((function(t,n){e._addString(t,n)})):this.docs.forEach((function(t,n){e._addObject(t,n)})),this.norm.clear())}},{key:"add",value:function(e){var t=this.size();Tr(e)?this._addString(e,t):this._addObject(e,t)}},{key:"removeAt",value:function(e){this.records.splice(e,1);for(var t=e,n=this.size();t2&&void 0!==arguments[2]?arguments[2]:{},r=n.getFn,i=void 0===r?Hr.getFn:r,o=new Ur({getFn:i});return o.setKeys(e),o.setCollection(t),o.create(),o}function $r(e,t){var n=e.matches;t.matches=[],Ir(n)&&n.forEach((function(e){if(Ir(e.indices)&&e.indices.length){var n={indices:e.indices,value:e.value};e.key&&(n.key=e.key),e.idx>-1&&(n.refIndex=e.idx),t.matches.push(n)}}))}function qr(e,t){t.score=e.score}function Gr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.errors,r=void 0===n?0:n,i=t.currentLocation,o=void 0===i?0:i,a=t.expectedLocation,s=void 0===a?0:a,c=t.distance,l=void 0===c?Hr.distance:c,u=r/e.length,d=Math.abs(s-o);return l?u+d/l:d?1:u}function Wr(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Hr.minMatchCharLength,n=[],r=-1,i=-1,o=0,a=e.length;o=t&&n.push([r,i]),r=-1)}return e[o-1]&&o-r>=t&&n.push([r,o-1]),n}function Yr(e){for(var t={},n=e.length,r=0;r1&&void 0!==arguments[1]?arguments[1]:{},r=n.location,i=void 0===r?Hr.location:r,o=n.threshold,a=void 0===o?Hr.threshold:o,s=n.distance,c=void 0===s?Hr.distance:s,l=n.includeMatches,u=void 0===l?Hr.includeMatches:l,d=n.findAllMatches,f=void 0===d?Hr.findAllMatches:d,p=n.minMatchCharLength,h=void 0===p?Hr.minMatchCharLength:p,m=n.isCaseSensitive,y=void 0===m?Hr.isCaseSensitive:m;Sr(this,e),this.options={location:i,threshold:a,distance:c,includeMatches:u,findAllMatches:f,minMatchCharLength:h,isCaseSensitive:y},this.pattern=y?t:t.toLowerCase(),this.chunks=[];for(var v=0;v3&&void 0!==arguments[3]?arguments[3]:{},i=r.location,o=void 0===i?Hr.location:i,a=r.distance,s=void 0===a?Hr.distance:a,c=r.threshold,l=void 0===c?Hr.threshold:c,u=r.findAllMatches,d=void 0===u?Hr.findAllMatches:u,f=r.minMatchCharLength,p=void 0===f?Hr.minMatchCharLength:f,h=r.includeMatches,m=void 0===h?Hr.includeMatches:h;if(t.length>32)throw new Error(Fr(32));var y,v=t.length,b=e.length,g=Math.max(0,Math.min(o,b)),_=l,w=g,k=[];if(m)for(var O=0;O-1;){var x=Gr(t,{currentLocation:y,expectedLocation:g,distance:s});if(_=Math.min(x,_),w=y+v,m)for(var E=0;E=D;L-=1){var N=L-1,M=n[e.charAt(N)];if(M&&m&&(k[N]=1),F[L]=(F[L+1]<<1|1)&M,0!==A&&(F[L]|=(S[L+1]|S[L])<<1|1|S[L+1]),F[L]&P&&(j=Gr(t,{errors:A,currentLocation:N,expectedLocation:g,distance:s}))<=_){if(_=j,(w=N)<=g)break;D=Math.max(1,2*g-w)}}var H=Gr(t,{errors:A+1,currentLocation:g,expectedLocation:g,distance:s});if(H>_)break;S=F}var B={isMatch:w>=0,score:Math.max(.001,j)};return m&&(B.indices=Wr(k,p)),B}(e,i,o,{location:a+32*n,distance:s,threshold:c,findAllMatches:l,minMatchCharLength:u,includeMatches:r}),m=h.isMatch,y=h.score,v=h.indices;m&&(p=!0),f+=y,m&&v&&(d=[].concat(xr(d),xr(v)))}));var h={isMatch:p,score:p?f/this.chunks.length:1};return p&&r&&(h.indices=d),h}}]),e}(),Zr=function(){function e(t){Sr(this,e),this.pattern=t}return Cr(e,[{key:"search",value:function(){}}],[{key:"isMultiMatch",value:function(e){return Jr(e,this.multiRegex)}},{key:"isSingleMatch",value:function(e){return Jr(e,this.singleRegex)}}]),e}();function Jr(e,t){var n=e.match(t);return n?n[1]:null}var Qr=function(e){br(n,e);var t=_r(n);function n(e){return Sr(this,n),t.call(this,e)}return Cr(n,[{key:"search",value:function(e){for(var t,n=0,r=[],i=this.pattern.length;(t=e.indexOf(this.pattern,n))>-1;)n=t+i,r.push([t,n-1]);var o=!!r.length;return{isMatch:o,score:o?1:0,indices:r}}}],[{key:"type",get:function(){return"exact"}},{key:"multiRegex",get:function(){return/^'"(.*)"$/}},{key:"singleRegex",get:function(){return/^'(.*)$/}}]),n}(Zr),ei=function(e){br(n,e);var t=_r(n);function n(e){return Sr(this,n),t.call(this,e)}return Cr(n,[{key:"search",value:function(e){var t=-1===e.indexOf(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}],[{key:"type",get:function(){return"inverse-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"$/}},{key:"singleRegex",get:function(){return/^!(.*)$/}}]),n}(Zr),ti=function(e){br(n,e);var t=_r(n);function n(e){return Sr(this,n),t.call(this,e)}return Cr(n,[{key:"search",value:function(e){var t=e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"prefix-exact"}},{key:"multiRegex",get:function(){return/^\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^\^(.*)$/}}]),n}(Zr),ni=function(e){br(n,e);var t=_r(n);function n(e){return Sr(this,n),t.call(this,e)}return Cr(n,[{key:"search",value:function(e){var t=!e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}],[{key:"type",get:function(){return"inverse-prefix-exact"}},{key:"multiRegex",get:function(){return/^!\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^!\^(.*)$/}}]),n}(Zr),ri=function(e){br(n,e);var t=_r(n);function n(e){return Sr(this,n),t.call(this,e)}return Cr(n,[{key:"search",value:function(e){var t=e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[e.length-this.pattern.length,e.length-1]}}}],[{key:"type",get:function(){return"suffix-exact"}},{key:"multiRegex",get:function(){return/^"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^(.*)\$$/}}]),n}(Zr),ii=function(e){br(n,e);var t=_r(n);function n(e){return Sr(this,n),t.call(this,e)}return Cr(n,[{key:"search",value:function(e){var t=!e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}],[{key:"type",get:function(){return"inverse-suffix-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^!(.*)\$$/}}]),n}(Zr),oi=function(e){br(n,e);var t=_r(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=i.location,a=void 0===o?Hr.location:o,s=i.threshold,c=void 0===s?Hr.threshold:s,l=i.distance,u=void 0===l?Hr.distance:l,d=i.includeMatches,f=void 0===d?Hr.includeMatches:d,p=i.findAllMatches,h=void 0===p?Hr.findAllMatches:p,m=i.minMatchCharLength,y=void 0===m?Hr.minMatchCharLength:m,v=i.isCaseSensitive,b=void 0===v?Hr.isCaseSensitive:v;return Sr(this,n),(r=t.call(this,e))._bitapSearch=new Xr(e,{location:a,threshold:c,distance:u,includeMatches:f,findAllMatches:h,minMatchCharLength:y,isCaseSensitive:b}),r}return Cr(n,[{key:"search",value:function(e){return this._bitapSearch.searchIn(e)}}],[{key:"type",get:function(){return"fuzzy"}},{key:"multiRegex",get:function(){return/^"(.*)"$/}},{key:"singleRegex",get:function(){return/^(.*)$/}}]),n}(Zr),ai=[Qr,ti,ni,ii,ri,ei,oi],si=ai.length,ci=/ +(?=([^\"]*\"[^\"]*\")*[^\"]*$)/;function li(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.split("|").map((function(e){for(var n=e.trim().split(ci).filter((function(e){return e&&!!e.trim()})),r=[],i=0,o=n.length;i1&&void 0!==arguments[1]?arguments[1]:{},r=n.isCaseSensitive,i=void 0===r?Hr.isCaseSensitive:r,o=n.includeMatches,a=void 0===o?Hr.includeMatches:o,s=n.minMatchCharLength,c=void 0===s?Hr.minMatchCharLength:s,l=n.findAllMatches,u=void 0===l?Hr.findAllMatches:l,d=n.location,f=void 0===d?Hr.location:d,p=n.threshold,h=void 0===p?Hr.threshold:p,m=n.distance,y=void 0===m?Hr.distance:m;Sr(this,e),this.query=null,this.options={isCaseSensitive:i,includeMatches:a,minMatchCharLength:c,findAllMatches:u,location:f,threshold:h,distance:y},this.pattern=i?t:t.toLowerCase(),this.query=li(this.pattern,this.options)}return Cr(e,[{key:"searchIn",value:function(e){var t=this.query;if(!t)return{isMatch:!1,score:1};var n=this.options,r=n.includeMatches;e=n.isCaseSensitive?e:e.toLowerCase();for(var i=0,o=[],a=0,s=0,c=t.length;s2&&void 0!==arguments[2]?arguments[2]:{},r=n.auto,i=void 0===r||r,o=function e(n){var r=Object.keys(n);if(r.length>1&&!yi(n))return e(bi(n));var o=r[0];if(vi(n)){var a=n[o];if(!Tr(a))throw new Error(zr(o));var s={key:o,pattern:a};return i&&(s.searcher=pi(a,t)),s}var c={children:[],operator:o};return r.forEach((function(t){var r=n[t];Ar(r)&&r.forEach((function(t){c.children.push(e(t))}))})),c};return yi(e)||(e=bi(e)),o(e)}var _i=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;Sr(this,e),this.options=Object.assign({},Hr,{},n),this.options.useExtendedSearch,this._keyStore=new Nr(this.options.keys),this.setCollection(t,r)}return Cr(e,[{key:"setCollection",value:function(e,t){if(this._docs=e,t&&!(t instanceof Ur))throw new Error("Incorrect 'index' type");this._myIndex=t||Kr(this._keyStore.keys(),this._docs,{getFn:this.options.getFn})}},{key:"add",value:function(e){Ir(e)&&(this._docs.push(e),this._myIndex.add(e))}},{key:"removeAt",value:function(e){this._docs.splice(e,1),this._myIndex.removeAt(e)}},{key:"getIndex",value:function(){return this._myIndex}},{key:"search",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.limit,r=void 0===n?-1:n,i=this.options,o=i.includeMatches,a=i.includeScore,s=i.shouldSort,c=i.sortFn,l=Tr(e)?Tr(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return wi(l,this._keyStore),s&&l.sort(c),Rr(r)&&r>-1&&(l=l.slice(0,r)),ki(l,this._docs,{includeMatches:o,includeScore:a})}},{key:"_searchStringList",value:function(e){var t=pi(e,this.options),n=this._myIndex.records,r=[];return n.forEach((function(e){var n=e.v,i=e.i,o=e.n;if(Ir(n)){var a=t.searchIn(n),s=a.isMatch,c=a.score,l=a.indices;s&&r.push({item:n,idx:i,matches:[{score:c,value:n,norm:o,indices:l}]})}})),r}},{key:"_searchLogical",value:function(e){var t=this,n=gi(e,this.options),r=this._myIndex,i=r.keys,o=r.records,a={},s=[];return o.forEach((function(e){var r=e.$,o=e.i;Ir(r)&&function e(n,r,o){if(!n.children){var c=n.key,l=n.searcher,u=r[i.indexOf(c)];return t._findMatches({key:c,value:u,searcher:l})}for(var d=n.operator,f=[],p=0;p2&&void 0!==arguments[2]?arguments[2]:{},r=n.includeMatches,i=void 0===r?Hr.includeMatches:r,o=n.includeScore,a=void 0===o?Hr.includeScore:o,s=[];return i&&s.push($r),a&&s.push(qr),e.map((function(e){var n=e.idx,r={item:t[n],refIndex:n};return s.length&&s.forEach((function(t){t(e,r)})),r}))}_i.version="6.0.0",_i.createIndex=Kr,_i.parseIndex=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.getFn,r=void 0===n?Hr.getFn:n,i=e.keys,o=e.records,a=new Ur({getFn:r});return a.setKeys(i),a.setRecords(o),a},_i.config=Hr,_i.parseQuery=gi,function(){fi.push.apply(fi,arguments)}(di);var Oi=_i;var xi=n(22);function Ei(e){return(Ei="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Si(){var e=Ai(["\n ha-card {\n cursor: pointer;\n }\n .not_available {\n opacity: 0.6;\n }\n a.repo {\n color: var(--primary-text-color);\n }\n "]);return Si=function(){return e},e}function ji(){var e=Ai(["\n \n \n

\n ','\n

\n
\n ',"\n
\n \n "]);return Ci=function(){return e},e}function Pi(){var e=Ai(['\n
\n

\n No results found in "','."\n

\n
\n ']);return Pi=function(){return e},e}function Ai(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function Ti(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ri(e,t){return(Ri=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ii(e,t){return!t||"object"!==Ei(t)&&"function"!=typeof t?Di(e):t}function Di(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zi(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function Fi(e){return(Fi=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Li(e){var t,n=Vi(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function Ni(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function Mi(e){return e.decorators&&e.decorators.length}function Hi(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function Bi(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function Vi(e){var t=function(e,t){if("object"!==Ei(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Ei(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ei(t)?t:String(t)}function Ui(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&r.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;r--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[r])(i)||i);if(void 0!==o.finisher&&n.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n Missing add-ons? Enable advanced mode on\n
\n your profile page\n \n .\n \n ']);return Gi=function(){return e},e}function Wi(){var e=Ji(['\n