2 lines
122 KiB
JavaScript
2 lines
122 KiB
JavaScript
(function(){"use strict";function a(){var b=S([""]);return a=function(){return b},b}function b(){var a=S(["\n <div class=\"info__item\">\n <span class=\"info__item__type\">","</span>\n <span class=\"info__item__value\">\n "," ","\n </span>\n <span class=\"info__item__time\">\n ","\n </span>\n </div>\n "]);return b=function(){return a},a}function c(){var a=S(["\n <div class=\"info flex\">\n ","\n </div>\n "]);return c=function(){return a},a}function d(){var a=S(["\n <div class=\"graph__labels --secondary flex\">\n <span class=\"label--max\">","</span>\n <span class=\"label--min\">","</span>\n </div>\n "]);return d=function(){return a},a}function e(){var a=S(["\n <div class=\"graph__labels --primary flex\">\n <span class=\"label--max\">","</span>\n <span class=\"label--min\">","</span>\n </div>\n "]);return e=function(){return a},a}function f(){var a=S(["\n <svg width='100%' height="," viewBox='0 0 500 ","'\n @click=",">\n <g>\n <defs>\n ","\n </defs>\n ","\n ","\n ","\n ","\n ","\n </g>\n ","\n </svg>"]);return f=function(){return a},a}function g(){var a=S(["<g class='bars' ?anim=",">","</g>"]);return g=function(){return a},a}function h(){var a=S(["\n <rect class='bar' x="," y=","\n height="," width="," fill=","\n @mouseover=","\n @mouseout=",">\n ","\n </rect>"]);return h=function(){return a},a}function j(){var a=S(["\n <animate attributeName='y' from="," to="," dur='1s' fill='remove'\n calcMode='spline' keyTimes='0; 1' keySplines='0.215 0.61 0.355 1'>\n </animate>"]);return j=function(){return a},a}function k(){var a=S(["\n <rect class='fill--rect'\n ?inactive=","\n id=","\n fill="," height=\"100%\" width=\"100%\"\n mask=","\n />"]);return k=function(){return a},a}function l(){var a=S(["\n <rect class='line--rect'\n ?inactive=","\n id=","\n fill="," height=\"100%\" width=\"100%\"\n mask=","\n />"]);return l=function(){return a},a}function m(){var a=S(["",""]);return m=function(){return a},a}function n(){var a=S(["\n <stop stop-color="," offset="," />\n "]);return n=function(){return a},a}function o(){var a=S(["\n <linearGradient id="," gradientTransform=\"rotate(90)\">\n ","\n </linearGradient>"]);return o=function(){return a},a}function p(){var a=S(["\n <g class='line--points'\n ?tooltip=","\n ?inactive=","\n ?init=","\n anim=","\n style=\"animation-delay: ","\"\n fill=","\n stroke=","\n stroke-width=",">\n ","\n </g>"]);return p=function(){return a},a}function q(){var a=S(["\n <circle\n class='line--point'\n ?inactive=","\n style=","\n stroke=","\n fill=","\n cx="," cy="," r=","\n @mouseover=","\n @mouseout=","\n />\n "]);return q=function(){return a},a}function r(){var a=S(["\n <mask id=",">\n ","\n </mask>\n "]);return r=function(){return a},a}function s(){var a=S(["\n <path\n class='line'\n .id=","\n anim="," ?init=","\n style=\"animation-delay: ","\"\n fill='none'\n stroke-dasharray="," stroke-dashoffset=","\n stroke=","\n stroke-width=","\n d=","\n />"]);return s=function(){return a},a}function t(){var a=S(["\n <defs>\n <linearGradient id="," x1=\"0%\" y1=\"0%\" x2=\"0%\" y2=\"100%\">\n <stop stop-color='white' offset='0%' stop-opacity='1'/>\n <stop stop-color='white' offset='100%' stop-opacity='.15'/>\n </linearGradient>\n <mask id=",">\n <rect width=\"100%\" height=\"100%\" fill="," />\n </mask>\n </defs>\n <mask id=",">\n <path class='fill'\n type=","\n .id="," anim="," ?init=","\n style=\"animation-delay: ","\"\n fill='white'\n mask=","\n d=","\n />\n </mask>"]);return t=function(){return a},a}function u(){var a=S(["\n <svg width='10' height='10'>\n <rect width='10' height='10' fill="," />\n </svg>\n "]);return u=function(){return a},a}function v(){var a=S(["\n <div class=\"graph__legend__item\"\n @click=","\n @mouseenter=","\n @mouseleave=",">\n ","\n <span class=\"ellipsis\">","</span>\n </div>\n "]);return v=function(){return a},a}function w(){var a=S(["\n <div class=\"graph__legend\">\n ","\n </div>\n "]);return w=function(){return a},a}function x(){var a=S(["<ha-spinner aria-label=\"Loading\" size=\"small\"></ha-spinner>"]);return x=function(){return a},a}function y(){var a=S(["\n <div class=\"graph__container\">\n ","\n ","\n <div class=\"graph__container__svg\">\n ","\n </div>\n </div>\n ","\n "]);return y=function(){return a},a}function z(){var a=S(["\n <div class=\"graph\">\n ","\n </div>"]);return z=function(){return a},a}function A(){var a=S(["\n <span>","</span> -\n <span>","</span>\n "]);return A=function(){return a},a}function B(){var a=S(["\n <span class=\"tooltip--label\">","</span>\n "]);return B=function(){return a},a}function C(){var a=S(["\n <div class=\"state__time\">\n ","\n </div>\n "]);return C=function(){return a},a}function D(){var a=S(["\n <div\n class=\"state ","\"\n @click=","\n style=",">\n ","\n <span class=\"state__value ellipsis\">\n ","\n </span>\n <span class=\"state__uom ellipsis\">\n ","\n </span>\n ","\n </div>\n "]);return D=function(){return a},a}function E(){var a=S(["\n <div class=\"states flex\" loc=",">\n ","\n <div class=\"states--secondary\">","</div>\n ","\n </div>\n "]);return E=function(){return a},a}function F(){var a=S(["\n <div class=\"name flex\">\n <span class=\"ellipsis\" style=",">","</span>\n </div>\n "]);return F=function(){return a},a}function G(){var a=S(["\n <div class=\"icon\" loc=","\n style=",">\n <ha-icon .icon=","></ha-icon>\n </div>\n "]);return G=function(){return a},a}function H(){var a=S(["\n <div class=\"icon\">\n <img src=\"","\" height=\"25\"/>\n </div>\n "]);return H=function(){return a},a}function I(){var a=S(["\n <div class=\"header flex\" loc="," style=\"font-size: ","px;\">\n "," ","\n </div>\n "]);return I=function(){return a},a}function J(){var a=S([""]);return J=function(){return a},a}function K(){var a=S(["\n <div>\n Entity not available: ","\n </div>\n "]);return K=function(){return a},a}function L(){var a=S(["\n <hui-warning>\n <div>mini-graph-card</div>\n ","\n </hui-warning>\n "]);return L=function(){return a},a}function M(){var a=S(["\n <ha-card\n class=\"flex\"\n ?group=","\n ?fill=","\n ?points=","\n ?labels=","\n ?labels-secondary=","\n ?gradient=","\n ?hover=","\n style=\"font-size: ","px;\"\n @click=","\n >\n "," "," "," ","\n </ha-card>\n "]);return M=function(){return a},a}function N(){var a=S([""]);return N=function(){return a},a}function O(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function P(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?O(Object(b),!0).forEach(function(c){Q(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):O(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function Q(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function R(){var a=S(["\n :host {\n display: flex;\n flex-direction: column;\n }\n ha-card {\n flex-direction: column;\n flex: 1;\n padding: 16px 0 0 0;\n position: relative;\n overflow: hidden;\n }\n ha-card > div {\n padding: 0px 16px 16px 16px;\n }\n ha-card > div:last-child {\n padding-bottom: 0;\n }\n ha-card .graph {\n padding: 0;\n order: 10;\n }\n ha-card[points] .line--points,\n ha-card[labels] .graph__labels.--primary {\n opacity: 0;\n transition: opacity .25s;\n animation: none;\n }\n ha-card[labels-secondary] .graph__labels.--secondary {\n opacity: 0;\n transition: opacity .25s;\n animation: none;\n }\n ha-card[points]:hover .line--points,\n ha-card:hover .graph__labels.--primary,\n ha-card:hover .graph__labels.--secondary {\n opacity: 1;\n }\n ha-card[fill] path {\n stroke-linecap: initial;\n stroke-linejoin: initial;\n }\n ha-card .graph__legend {\n order: -1;\n padding: 0 16px 8px 16px;\n }\n ha-card[group] {\n box-shadow: none;\n border: none;\n padding: 0;\n }\n ha-card[group] > div {\n padding-left: 0;\n padding-right: 0;\n }\n ha-card[group] .graph__legend {\n padding-left: 0;\n padding-right: 0;\n }\n ha-card[hover] {\n cursor: pointer;\n }\n ha-spinner {\n margin: 4px auto;\n }\n .flex {\n display: flex;\n display: -webkit-flex;\n min-width: 0;\n }\n .header {\n justify-content: space-between;\n }\n .header[loc=\"center\"] {\n justify-content: space-around;\n }\n .header[loc=\"left\"] {\n align-self: flex-start;\n }\n .header[loc=\"right\"] {\n align-self: flex-end;\n }\n .name {\n align-items: center;\n min-width: 0;\n letter-spacing: var(--mcg-title-letter-spacing, normal);\n }\n .name > span {\n font-size: 1.2em;\n font-weight: var(--mcg-title-font-weight, 500);\n max-height: 1.4em;\n min-height: 1.4em;\n opacity: .65;\n }\n .icon {\n color: var(--state-icon-color, #44739e);\n display: inline-block;\n flex: 0 0 1.7em;\n text-align: center;\n }\n .icon > ha-icon {\n height: 1.7em;\n width: 1.7em;\n }\n .icon[loc=\"left\"] {\n order: -1;\n margin-right: .6em;\n margin-left: 0;\n }\n .icon[loc=\"state\"] {\n align-self: center;\n }\n .states {\n align-items: flex-start;\n font-weight: 300;\n justify-content: space-between;\n flex-wrap: nowrap;\n }\n .states .icon {\n align-self: center;\n margin-left: 0;\n }\n .states[loc=\"center\"] {\n justify-content: space-evenly;\n }\n .states[loc=\"right\"] > .state {\n margin-left: auto;\n order: 2;\n }\n .states[loc=\"center\"] .states--secondary,\n .states[loc=\"right\"] .states--secondary {\n margin-left: 0;\n }\n .states[loc=\"center\"] .states--secondary {\n align-items: center;\n }\n .states[loc=\"right\"] .states--secondary {\n align-items: flex-start;\n }\n .states[loc=\"center\"] .state__time {\n left: 50%;\n transform: translateX(-50%);\n }\n .states > .icon > ha-icon {\n height: 2em !important;\n width: 2em !important;\n }\n .states--secondary {\n display: flex;\n flex-flow: column;\n flex-wrap: wrap;\n align-items: flex-end;\n margin-left: 1rem;\n min-width: 0;\n margin-left: 1.4em;\n }\n .states--secondary:empty {\n display: none;\n }\n .state {\n position: relative;\n display: flex;\n flex-wrap: nowrap;\n max-width: 100%;\n min-width: 0;\n }\n .state > svg {\n align-self: center;\n border-radius: 100%;\n }\n .state--small {\n font-size: .6em;\n margin-bottom: .6rem;\n flex-wrap: nowrap;\n }\n .state--small > svg {\n position: absolute;\n left: -1.6em;\n align-self: center;\n height: 1em;\n width: 1em;\n border-radius: 100%;\n margin-right: 1em;\n }\n .state--small:last-child {\n margin-bottom: 0;\n }\n .states--secondary > :only-child {\n font-size: 1em;\n margin-bottom: 0;\n }\n .states--secondary > :only-child svg {\n display: none;\n }\n .state__value {\n display: inline-block;\n font-size: 2.4em;\n margin-right: .25rem;\n line-height: 1.2em;\n }\n .state__uom {\n flex: 1;\n align-self: flex-end;\n display: inline-block;\n font-size: 1.4em;\n font-weight: 400;\n line-height: 1.6em;\n margin-top: .1em;\n opacity: .6;\n vertical-align: bottom;\n }\n .state--small .state__uom {\n flex: 1;\n }\n .state__time {\n font-size: .95rem;\n font-weight: 500;\n bottom: -1.1rem;\n left: 0;\n opacity: .75;\n position: absolute;\n white-space: nowrap;\n animation: fade .15s cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n .states[loc=\"right\"] .state__time {\n left: initial;\n right: 0;\n }\n .graph {\n align-self: flex-end;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n margin-top: auto;\n width: 100%;\n }\n .graph__container {\n display: flex;\n flex-direction: row;\n position: relative;\n }\n .graph__container__svg {\n cursor: default;\n flex: 1;\n }\n svg {\n overflow: hidden;\n display: block;\n }\n path {\n stroke-linecap: round;\n stroke-linejoin: round;\n }\n .fill[anim=\"false\"] {\n animation: reveal .25s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;\n }\n .fill[anim=\"false\"][type=\"fade\"] {\n animation: reveal-2 .25s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;\n }\n .line--points[anim=\"false\"],\n .line[anim=\"false\"] {\n animation: pop .25s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;\n }\n .line--points[inactive],\n .line--rect[inactive],\n .fill--rect[inactive] {\n opacity: 0 !important;\n animation: none !important;\n transition: all .15s !important;\n }\n .line--points[tooltip] .line--point[inactive] {\n opacity: 0;\n }\n .line--point {\n cursor: pointer;\n fill: var(--primary-background-color, white);\n stroke-width: inherit;\n }\n .line--point:hover {\n fill: var(--mcg-hover, inherit) !important;\n }\n .bars {\n animation: pop .25s cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n .bars[anim] {\n animation: bars .5s cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n .bar {\n transition: opacity .25s cubic-bezier(0.215, 0.61, 0.355, 1);\n }\n .bar:hover {\n opacity: .5;\n cursor: pointer;\n }\n ha-card[gradient] .line--point:hover {\n fill: var(--primary-text-color, white);\n }\n path,\n .line--points,\n .fill {\n opacity: 0;\n }\n .line--points[anim=\"true\"][init] {\n animation: pop .5s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;\n }\n .fill[anim=\"true\"][init] {\n animation: reveal .5s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;\n }\n .fill[anim=\"true\"][init][type=\"fade\"] {\n animation: reveal-2 .5s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;\n }\n .line[anim=\"true\"][init] {\n animation: dash 1s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;\n }\n .graph__labels.--secondary {\n right: 0;\n margin-right: 0px;\n align-items: flex-end;\n }\n .graph__labels {\n align-items: flex-start;\n flex-direction: column;\n font-size: calc(.15em + 8.5px);\n font-weight: 400;\n justify-content: space-between;\n margin-right: 10px;\n padding: .6em;\n position: absolute;\n pointer-events: none;\n top: 0; bottom: 0;\n opacity: .75;\n }\n .graph__labels > span {\n cursor: pointer;\n background: var(--primary-background-color, white);\n border-radius: 1em;\n padding: .2em .6em;\n box-shadow: 0 1px 3px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.24);\n }\n .graph__legend {\n display: flex;\n flex-direction: row;\n justify-content: space-evenly;\n padding-top: 16px;\n flex-wrap: wrap;\n }\n .graph__legend__item {\n cursor: pointer;\n display: flex;\n min-width: 0;\n margin: .4em;\n align-items: center\n }\n .graph__legend__item span {\n opacity: .75;\n margin-left: .4em;\n }\n .graph__legend__item svg {\n border-radius: 100%;\n min-width: 10px;\n }\n .info {\n justify-content: space-between;\n align-items: middle;\n }\n .info__item {\n display: flex;\n flex-flow: column;\n text-align: center;\n }\n .info__item:last-child {\n align-items: flex-end;\n text-align: right;\n }\n .info__item:first-child {\n align-items: flex-start;\n text-align: left;\n }\n .info__item__type {\n text-transform: capitalize;\n font-weight: 500;\n opacity: .9;\n }\n .info__item__time,\n .info__item__value {\n opacity: .75;\n }\n .ellipsis {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n @keyframes fade {\n 0% { opacity: 0; }\n }\n @keyframes reveal {\n 0% { opacity: 0; }\n 100% { opacity: .15; }\n }\n @keyframes reveal-2 {\n 0% { opacity: 0; }\n 100% { opacity: .4; }\n }\n @keyframes pop {\n 0% { opacity: 0; }\n 100% { opacity: 1; }\n }\n @keyframes bars {\n 0% { opacity: 0; }\n 50% { opacity: 0; }\n 100% { opacity: 1; }\n }\n @keyframes dash {\n 0% {\n opacity: 0;\n }\n 25% {\n opacity: 1;\n }\n 100% {\n opacity: 1;\n stroke-dashoffset: 0;\n }\n }"]);return R=function(){return a},a}function S(a,b){return b||(b=a.slice(0)),Object.freeze(Object.defineProperties(a,{raw:{value:Object.freeze(b)}}))}function T(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){return void c(a)}h.done?b(i):Promise.resolve(i).then(d,e)}function U(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){function f(a){T(h,d,e,f,g,"next",a)}function g(a){T(h,d,e,f,g,"throw",a)}var h=a.apply(b,c);f(void 0)})}}function W(a){return $(a)||Z(a)||Y(a)||X()}function X(){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 Y(a,b){if(a){if("string"==typeof a)return _(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_(a,b):void 0}}function Z(a){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(a))return Array.from(a)}function $(a){if(Array.isArray(a))return _(a)}function _(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}(function(a){"function"==typeof define&&define.amd?define(a):a()})(function(){var tb=Number.isNaN,ub=Math.log10,vb=Math.ceil,wb=Math.PI,xb=String.fromCharCode,yb=Math.floor,zb=Math.abs,Ab=Math.sin,Bb=Math.cos,Cb=Math.sqrt,Db=Math.atan2,Eb=Math.pow,Fb=Math.round,Gb=Math.max,Hb=Math.min;function i(a,b){for(var{element:{content:d},parts:c}=a,e=document.createTreeWalker(d,133,null,!1),f=Vb(c),g=c[f],h=-1,i=0,j=[],k=null;e.nextNode();){h++;var l=e.currentNode;for(l.previousSibling===k&&(k=null),b.has(l)&&(j.push(l),null===k&&(k=l)),null!==k&&i++;g!==void 0&&g.index===h;)g.index=null===k?g.index-i:-1,f=Vb(c,f),g=c[f]}j.forEach(a=>a.parentNode.removeChild(a))}function S(a,b){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null,{element:{content:e},parts:d}=a;if(null===c||void 0===c)return void e.appendChild(b);for(var f=document.createTreeWalker(e,133,null,!1),g=Vb(d),h=0,i=-1;f.nextNode();){i++;var j=f.currentNode;for(j===c&&(h=Ub(b),c.parentNode.insertBefore(b,c));-1!==g&&d[g].index===i;){if(0<h){for(;-1!==g;)d[g].index+=h,g=Vb(d,g);return}g=Vb(d,g)}}}function T(a){var b=oc.get(a.type);void 0===b&&(b={stringsArray:new WeakMap,keyString:new Map},oc.set(a.type,b));var c=b.stringsArray.get(a.strings);if(void 0!==c)return c;var d=a.strings.join(Lb);return c=b.keyString.get(d),void 0===c&&(c=new Pb(a,a.getTemplateElement()),b.keyString.set(d,c)),b.stringsArray.set(a.strings,c),c}function Z(a,b){a=a||[],b=b||{};try{return new Blob(a,b)}catch(f){if("TypeError"!==f.name)throw f;for(var c="undefined"==typeof BlobBuilder?"undefined"==typeof MSBlobBuilder?"undefined"==typeof MozBlobBuilder?WebKitBlobBuilder:MozBlobBuilder:MSBlobBuilder:BlobBuilder,d=new c,e=0;e<a.length;e+=1)d.append(a[e]);return d.getBlob(b.type)}}function $(a,b){b&&a.then(function(a){b(null,a)},function(a){b(a)})}function _(a,b,c){"function"==typeof b&&a.then(b),"function"==typeof c&&a.catch(c)}function aa(a){return"string"!=typeof a&&(console.warn("".concat(a," used as a key, but it is not a string.")),a+=""),a}function ba(){if(arguments.length&&"function"==typeof arguments[arguments.length-1])return arguments[arguments.length-1]}function ca(a){for(var b=a.length,c=new ArrayBuffer(b),d=new Uint8Array(c),e=0;e<b;e++)d[e]=a.charCodeAt(e);return c}function da(a){return new Vc(function(b){var c=a.transaction("local-forage-detect-blob-support","readwrite"),d=Z([""]);c.objectStore("local-forage-detect-blob-support").put(d,"key"),c.onabort=function(a){a.preventDefault(),a.stopPropagation(),b(!1)},c.oncomplete=function(){var a=navigator.userAgent.match(/Chrome\/(\d+)/),c=navigator.userAgent.match(/Edge\//);b(c||!a||43<=parseInt(a[1],10))}}).catch(function(){return!1})}function ea(a){return"boolean"==typeof Uc?Vc.resolve(Uc):da(a).then(function(a){return Uc=a,Uc})}function fa(a){var b=Wc[a.name],c={};c.promise=new Vc(function(a,b){c.resolve=a,c.reject=b}),b.deferredOperations.push(c),b.dbReady=b.dbReady?b.dbReady.then(function(){return c.promise}):c.promise}function ga(a){var b=Wc[a.name],c=b.deferredOperations.pop();if(c)return c.resolve(),c.promise}function ha(a,b){var c=Wc[a.name],d=c.deferredOperations.pop();if(d)return d.reject(b),d.promise}function ia(a,b){return new Vc(function(c,d){if(Wc[a.name]=Wc[a.name]||sa(),a.db)if(b)fa(a),a.db.close();else return c(a.db);var e=[a.name];b&&e.push(a.version);var f=Tc.open.apply(Tc,e);b&&(f.onupgradeneeded=function(b){var c=f.result;try{c.createObjectStore(a.storeName),1>=b.oldVersion&&c.createObjectStore("local-forage-detect-blob-support")}catch(c){if("ConstraintError"===c.name)console.warn("The database \""+a.name+"\" has been upgraded from version "+b.oldVersion+" to version "+b.newVersion+", but the storage \""+a.storeName+"\" already exists.");else throw c}}),f.onerror=function(a){a.preventDefault(),d(f.error)},f.onsuccess=function(){c(f.result),ga(a)}})}function ja(a){return ia(a,!1)}function ka(a){return ia(a,!0)}function la(a,b){if(!a.db)return!0;var c=!a.db.objectStoreNames.contains(a.storeName),d=a.version<a.db.version,e=a.version>a.db.version;if(d&&(a.version!==b&&console.warn("The database \""+a.name+"\" can't be downgraded from version "+a.db.version+" to version "+a.version+"."),a.version=a.db.version),e||c){if(c){var f=a.db.version+1;f>a.version&&(a.version=f)}return!0}return!1}function ma(a){return new Vc(function(b,c){var d=new FileReader;d.onerror=c,d.onloadend=function(c){var d=btoa(c.target.result||"");b({__local_forage_encoded_blob:!0,data:d,type:a.type})},d.readAsBinaryString(a)})}function na(a){var b=ca(atob(a.data));return Z([b],{type:a.type})}function oa(a){return a&&a.__local_forage_encoded_blob}function pa(a){var b=this,c=b._initReady().then(function(){var a=Wc[b._dbInfo.name];if(a&&a.dbReady)return a.dbReady});return _(c,a,a),c}function qa(a){fa(a);for(var b,c=Wc[a.name],d=c.forages,e=0;e<d.length;e++)b=d[e],b._dbInfo.db&&(b._dbInfo.db.close(),b._dbInfo.db=null);return a.db=null,ja(a).then(b=>(a.db=b,la(a)?ka(a):b)).then(b=>{a.db=c.db=b;for(var e=0;e<d.length;e++)d[e]._dbInfo.db=b}).catch(b=>{throw ha(a,b),b})}function ra(a,b,c,d){d===void 0&&(d=1);try{var e=a.db.transaction(a.storeName,b);c(null,e)}catch(e){if(0<d&&(!a.db||"InvalidStateError"===e.name||"NotFoundError"===e.name))return Vc.resolve().then(()=>{if(!a.db||"NotFoundError"===e.name&&!a.db.objectStoreNames.contains(a.storeName)&&a.version<=a.db.version)return a.db&&(a.version=a.db.version+1),ka(a)}).then(()=>qa(a).then(function(){ra(a,b,c,d-1)})).catch(c);c(e)}}function sa(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}function ta(a){var b,c,d,e,f,g=.75*a.length,h=a.length,j=0;"="===a[a.length-1]&&(g--,"="===a[a.length-2]&&g--);var k=new ArrayBuffer(g),l=new Uint8Array(k);for(b=0;b<h;b+=4)c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(a[b]),d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(a[b+1]),e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(a[b+2]),f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(a[b+3]),l[j++]=c<<2|d>>4,l[j++]=(15&d)<<4|e>>2,l[j++]=(3&e)<<6|63&f;return k}function ua(a){var b,c=new Uint8Array(a),d="";for(b=0;b<c.length;b+=3)d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[c[b]>>2],d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(3&c[b])<<4|c[b+1]>>4],d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(15&c[b+1])<<2|c[b+2]>>6],d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[63&c[b+2]];return 2==c.length%3?d=d.substring(0,d.length-1)+"=":1==c.length%3&&(d=d.substring(0,d.length-2)+"=="),d}function va(a,b,c,d){a.executeSql("CREATE TABLE IF NOT EXISTS ".concat(b.storeName," ")+"(id INTEGER PRIMARY KEY, key unique, value)",[],c,d)}function wa(a,b,c,d,e,f){a.executeSql(c,d,e,function(a,g){g.code===g.SYNTAX_ERR?a.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[b.storeName],function(a,h){h.rows.length?f(a,g):va(a,b,function(){a.executeSql(c,d,e,f)},f)},f):f(a,g)},f)}function xa(a,b,c,d){var e=this;a=aa(a);var f=new Vc(function(f,g){e.ready().then(function(){void 0===b&&(b=null);var h=b,i=e._dbInfo;i.serializer.serialize(b,function(b,j){j?g(j):i.db.transaction(function(c){wa(c,i,"INSERT OR REPLACE INTO ".concat(i.storeName," ")+"(key, value) VALUES (?, ?)",[a,b],function(){f(h)},function(a,b){g(b)})},function(b){if(b.code===b.QUOTA_ERR){if(0<d)return void f(xa.apply(e,[a,h,c,d-1]));g(b)}})})}).catch(g)});return $(f,c),f}function ya(a){return new Vc(function(b,c){a.transaction(function(d){d.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'",[],function(c,d){for(var e=[],f=0;f<d.rows.length;f++)e.push(d.rows.item(f).name);b({db:a,storeNames:e})},function(a,b){c(b)})},function(a){c(a)})})}function za(){try{return"undefined"!=typeof localStorage&&"setItem"in localStorage&&!!localStorage.setItem}catch(a){return!1}}function Aa(a,b){var c=a.name+"/";return a.storeName!==b.storeName&&(c+=a.storeName+"/"),c}function Ba(){try{return localStorage.setItem("_localforage_support_test",!0),localStorage.removeItem("_localforage_support_test"),!1}catch(a){return!0}}function Ca(){return!Ba()||0<localStorage.length}function Da(a,b){a[b]=function(){var c=arguments;return a.ready().then(function(){return a[b].apply(a,c)})}}function Ea(){for(var a,b=1;b<arguments.length;b++)if(a=arguments[b],a)for(var c in a)a.hasOwnProperty(c)&&(arguments[0][c]=gd(a[c])?a[c].slice():a[c]);return arguments[0]}function Fa(a,b){for(var c=[],d=0,e=a.length;d<e;d++)c.push(a[d].substr(0,b));return c}function Ga(a){for(var b=[],c=1;c<arguments.length;c++)b[c-1]=arguments[c];for(var d,e=0,f=b;e<f.length;e++)for(var g in d=f[e],d)a[g]=d[g];return a}function Ha(a,b,c){if(void 0===c&&(c={}),"string"!=typeof b)throw new Error("Invalid format in fecha parse");if(b=Md[b]||b,1e3<a.length)return null;var d=new Date,e={year:d.getFullYear(),month:0,day:1,hour:0,minute:0,second:0,millisecond:0,isPm:null,timezoneOffset:null},f=[],g=[],h=b.replace(ud,function(a,b){return g.push(Dd(b)),"@@@"}),j={},k={};h=Dd(h).replace(qd,function(a){var b=Ld[a],c=b[0],d=b[1],e=b[3];if(j[c])throw new Error("Invalid format. "+c+" specified twice in format");return j[c]=!0,e&&(k[e]=!0),f.push(b),"("+d+")"}),Object.keys(k).forEach(function(a){if(!j[a])throw new Error("Invalid format. "+a+" is required in specified format")}),h=h.replace(/@@@/g,function(){return g.shift()});var l=a.match(new RegExp(h,"i"));if(!l)return null;for(var m=Ga(Ga({},Bd),c),n=1;n<l.length;n++){var o=f[n-1],p=o[0],q=o[2],r=q?q(l[n],m):+l[n];if(null==r)return null;e[p]=r}1===e.isPm&&null!=e.hour&&12!=+e.hour?e.hour=+e.hour+12:0===e.isPm&&12==+e.hour&&(e.hour=0);for(var s=new Date(e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond),t=[["month","getMonth"],["day","getDate"],["hour","getHours"],["minute","getMinutes"],["second","getSeconds"]],n=0,u=t.length;n<u;n++)if(j[t[n][0]]&&e[t[n][0]]!==s[t[n][1]]())return null;return null==e.timezoneOffset?s:new Date(Date.UTC(e.year,e.month,e.day,e.hour,e.minute-e.timezoneOffset,e.second,e.millisecond))}function Ia(a){return a.substr(0,a.indexOf("."))}function Ja(a,b){if(a in Sd)return Sd[a];return"alarm_control_panel"===a?"armed_home"===b?"hass:bell-plus":"armed_night"===b?"hass:bell-sleep":"disarmed"===b?"hass:bell-outline":"triggered"===b?"hass:bell-ring":"hass:bell":"binary_sensor"===a?b&&"off"===b?"hass:radiobox-blank":"hass:checkbox-marked-circle":"cover"===a?"closed"===b?"hass:window-closed":"hass:window-open":"lock"===a?b&&"unlocked"===b?"hass:lock-open":"hass:lock":"media_player"===a?b&&"off"!==b&&"idle"!==b?"hass:cast-connected":"hass:cast":"zwave"===a?"dead"===b?"hass:emoticon-dead":"sleeping"===b?"hass:sleep":"initializing"===b?"hass:timer-sand":"hass:z-wave":(console.warn("Unable to find icon for domain "+a+" ("+b+")"),"hass:bookmark")}function O(a,b,c){a.prototype=b.prototype=c,c.constructor=a}function Ka(a,b){var c=Object.create(a.prototype);for(var d in b)c[d]=b[d];return c}function La(){}function Ma(){return this.rgb().formatHex()}function Na(){return this.rgb().formatRgb()}function Oa(a){var b,c;return a=(a+"").trim().toLowerCase(),(b=_d.exec(a))?(c=b[1].length,b=parseInt(b[1],16),6===c?Pa(b):3===c?new Ta(15&b>>8|240&b>>4,15&b>>4|240&b,(15&b)<<4|15&b,1):8===c?Qa(255&b>>24,255&b>>16,255&b>>8,(255&b)/255):4===c?Qa(15&b>>12|240&b>>8,15&b>>8|240&b>>4,15&b>>4|240&b,((15&b)<<4|15&b)/255):null):(b=ae.exec(a))?new Ta(b[1],b[2],b[3],1):(b=be.exec(a))?new Ta(255*b[1]/100,255*b[2]/100,255*b[3]/100,1):(b=ce.exec(a))?Qa(b[1],b[2],b[3],b[4]):(b=de.exec(a))?Qa(255*b[1]/100,255*b[2]/100,255*b[3]/100,b[4]):(b=ee.exec(a))?Za(b[1],b[2]/100,b[3]/100,1):(b=fe.exec(a))?Za(b[1],b[2]/100,b[3]/100,b[4]):ge.hasOwnProperty(a)?Pa(ge[a]):"transparent"===a?new Ta(NaN,NaN,NaN,0):null}function Pa(a){return new Ta(255&a>>16,255&a>>8,255&a,1)}function Qa(c,d,e,f){return 0>=f&&(c=d=e=NaN),new Ta(c,d,e,f)}function Ra(a){return(a instanceof La||(a=Oa(a)),!a)?new Ta:(a=a.rgb(),new Ta(a.r,a.g,a.b,a.opacity))}function Sa(a,c,d,b){return 1===arguments.length?Ra(a):new Ta(a,c,d,null==b?1:b)}function Ta(a,c,d,b){this.r=+a,this.g=+c,this.b=+d,this.opacity=+b}function Ua(){return"#".concat(Ya(this.r)).concat(Ya(this.g)).concat(Ya(this.b))}function Va(){var b=Wa(this.opacity);return"".concat(1===b?"rgb(":"rgba(").concat(Xa(this.r),", ").concat(Xa(this.g),", ").concat(Xa(this.b)).concat(1===b?")":", ".concat(b,")"))}function Wa(a){return isNaN(a)?1:Gb(0,Hb(1,a))}function Xa(a){return Gb(0,Hb(255,Fb(a)||0))}function Ya(a){return a=Xa(a),(16>a?"0":"")+a.toString(16)}function Za(b,c,d,e){return 0>=e?b=c=d=NaN:0>=d||1<=d?b=c=NaN:0>=c&&(b=NaN),new ab(b,c,d,e)}function $a(a){if(a instanceof ab)return new ab(a.h,a.s,a.l,a.opacity);if(a instanceof La||(a=Oa(a)),!a)return new ab;if(a instanceof ab)return a;a=a.rgb();var c=a.r/255,d=a.g/255,e=a.b/255,b=Hb(c,d,e),f=Gb(c,d,e),g=NaN,i=f-b,j=(f+b)/2;return i?(g=c===f?(d-e)/i+6*(d<e):d===f?(e-c)/i+2:(c-d)/i+4,i/=.5>j?f+b:2-f-b,g*=60):i=0<j&&1>j?0:g,new ab(g,i,j,a.opacity)}function ab(a,b,c,d){this.h=+a,this.s=+b,this.l=+c,this.opacity=+d}function bb(a){return a=(a||0)%360,0>a?a+360:a}function cb(a){return Gb(0,Hb(1,a||0))}function db(a,b,c){return 255*(60>a?b+(c-b)*a/60:180>a?c:240>a?b+(c-b)*(240-a)/60:b)}function eb(a){if(a instanceof fb)return new fb(a.l,a.a,a.b,a.opacity);if(a instanceof lb)return mb(a);a instanceof Ta||(a=Ra(a));var c,d,e=jb(a.r),f=jb(a.g),g=jb(a.b),b=gb((.2225045*e+.7168786*f+.0606169*g)/1);return e===f&&f===g?c=d=b:(c=gb((.4360747*e+.3850649*f+.1430804*g)/ke),d=gb((.0139322*e+.0971045*f+.7141733*g)/le)),new fb(116*b-16,500*(c-b),200*(b-d),a.opacity)}function fb(c,d,a,b){this.l=+c,this.a=+d,this.b=+a,this.opacity=+b}function gb(a){return a>pe?Eb(a,1/3):a/oe+me}function hb(a){return a>ne?a*a*a:oe*(a-me)}function ib(a){return 255*(.0031308>=a?12.92*a:1.055*Eb(a,1/2.4)-.055)}function jb(a){return .04045>=(a/=255)?a/12.92:Eb((a+.055)/1.055,2.4)}function kb(a){if(a instanceof lb)return new lb(a.h,a.c,a.l,a.opacity);if(a instanceof fb||(a=eb(a)),0===a.a&&0===a.b)return new lb(NaN,0<a.l&&100>a.l?0:NaN,a.l,a.opacity);var b=Db(a.b,a.a)*ie;return new lb(0>b?b+360:b,Cb(a.a*a.a+a.b*a.b),a.l,a.opacity)}function lb(a,b,c,d){this.h=+a,this.c=+b,this.l=+c,this.opacity=+d}function mb(a){if(isNaN(a.h))return new fb(a.l,0,0,a.opacity);var b=a.h*he;return new fb(a.l,Bb(b)*a.c,Ab(b)*a.c,a.opacity)}function nb(a){if(a instanceof ob)return new ob(a.h,a.s,a.l,a.opacity);a instanceof Ta||(a=Ra(a));var c=a.r/255,d=a.g/255,e=a.b/255,b=(xe*e+ve*c-we*d)/(xe+ve-we),f=e-b,g=(ue*(d-b)-se*f)/te,i=Cb(g*g+f*f)/(ue*b*(1-b)),j=i?Db(g,f)*ie-120:NaN;return new ob(0>j?j+360:j,i,b,a.opacity)}function ob(a,b,c,d){this.h=+a,this.s=+b,this.l=+c,this.opacity=+d}function pb(b,a){return function(c){return b+c*a}}function qb(c,d,e){return c=Eb(c,e),d=Eb(d,e)-c,e=1/e,function(a){return Eb(c+a*d,e)}}function rb(c){return 1==(c=+c)?sb:function(d,a){return a-d?qb(d,a,c):ye(isNaN(d)?a:d)}}function sb(c,a){var b=a-c;return b?pb(c,b):ye(isNaN(c)?a:c)}var Ib="undefined"!=typeof window&&null!=window.customElements&&window.customElements.polyfillWrapFlushCallback!==void 0,Jb=function(a,b){for(var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;b!==c;){var e=b.nextSibling;a.insertBefore(b,d),b=e}},Kb=function(a,b){for(var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;b!==c;){var d=b.nextSibling;a.removeChild(b),b=d}},Lb="{{lit-".concat((Math.random()+"").slice(2),"}}"),Mb="<!--".concat(Lb,"-->"),Nb=new RegExp("".concat(Lb,"|").concat(Mb)),Ob="$lit$";class Pb{constructor(a,b){this.parts=[],this.element=b;for(var c,d=[],e=[],f=document.createTreeWalker(b.content,133,null,!1),g=0,h=-1,j=0,{strings:k,values:{length:l}}=a;j<l;){if(c=f.nextNode(),null===c){f.currentNode=e.pop();continue}if(h++,1===c.nodeType){if(c.hasAttributes()){for(var m=c.attributes,{length:n}=m,o=0,p=0;p<n;p++)Qb(m[p].name,Ob)&&o++;for(;0<o--;){var q=k[j],r=Tb.exec(q)[2],t=r.toLowerCase()+Ob,u=c.getAttribute(t);c.removeAttribute(t);var B=u.split(Nb);this.parts.push({type:"attribute",index:h,name:r,strings:B}),j+=B.length-1}}"TEMPLATE"===c.tagName&&(e.push(c),f.currentNode=c.content)}else if(3===c.nodeType){var C=c.data;if(0<=C.indexOf(Lb)){for(var v=c.parentNode,w=C.split(Nb),x=w.length-1,y=0;y<x;y++){var z=void 0,A=w[y];if(""===A)z=Sb();else{var D=Tb.exec(A);null!==D&&Qb(D[2],Ob)&&(A=A.slice(0,D.index)+D[1]+D[2].slice(0,-Ob.length)+D[3]),z=document.createTextNode(A)}v.insertBefore(z,c),this.parts.push({type:"node",index:++h})}""===w[x]?(v.insertBefore(Sb(),c),d.push(c)):c.data=w[x],j+=x}}else if(8===c.nodeType)if(c.data===Lb){var E=c.parentNode;(null===c.previousSibling||h===g)&&(h++,E.insertBefore(Sb(),c)),g=h,this.parts.push({type:"node",index:h}),null===c.nextSibling?c.data="":(d.push(c),h--),j++}else for(var F=-1;-1!==(F=c.data.indexOf(Lb,F+1));)this.parts.push({type:"node",index:-1}),j++}for(var G of d)G.parentNode.removeChild(G)}}var Qb=(a,b)=>{var c=a.length-b.length;return 0<=c&&a.slice(c)===b},Rb=a=>-1!==a.index,Sb=()=>document.createComment(""),Tb=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/,Ub=a=>{for(var b=11===a.nodeType?0:1,c=document.createTreeWalker(a,133,null,!1);c.nextNode();)b++;return b},Vb=function(a){for(var b,c=1<arguments.length&&void 0!==arguments[1]?arguments[1]:-1,d=c+1;d<a.length;d++)if(b=a[d],Rb(b))return d;return-1},Wb=new WeakMap,Xb=a=>"function"==typeof a&&Wb.has(a),Yb={},Zb={};class $b{constructor(a,b,c){this.__parts=[],this.template=a,this.processor=b,this.options=c}update(a){var b=0;for(var c of this.__parts)void 0!==c&&c.setValue(a[b]),b++;for(var d of this.__parts)void 0!==d&&d.commit()}_clone(){for(var a,b=Ib?this.template.element.content.cloneNode(!0):document.importNode(this.template.element.content,!0),c=[],d=this.template.parts,e=document.createTreeWalker(b,133,null,!1),f=0,g=0,h=e.nextNode();f<d.length;){if(a=d[f],!Rb(a)){this.__parts.push(void 0),f++;continue}for(;g<a.index;)g++,"TEMPLATE"===h.nodeName&&(c.push(h),e.currentNode=h.content),null===(h=e.nextNode())&&(e.currentNode=c.pop(),h=e.nextNode());if("node"===a.type){var j=this.processor.handleTextExpression(this.options);j.insertAfterNode(h.previousSibling),this.__parts.push(j)}else{var i;(i=this.__parts).push.apply(i,W(this.processor.handleAttributeExpressions(h,a.name,a.strings,this.options)))}f++}return Ib&&(document.adoptNode(b),customElements.upgrade(b)),b}}var _b=window.trustedTypes&&trustedTypes.createPolicy("lit-html",{createHTML:a=>a}),ac=" ".concat(Lb," ");class bc{constructor(a,b,c,d){this.strings=a,this.values=b,this.type=c,this.processor=d}getHTML(){for(var a=this.strings.length-1,b="",c=!1,d=0;d<a;d++){var e=this.strings[d],f=e.lastIndexOf("<!--");c=(-1<f||c)&&-1===e.indexOf("-->",f+1);var g=Tb.exec(e);b+=null===g?e+(c?ac:Mb):e.substr(0,g.index)+g[1]+g[2]+Ob+g[3]+Lb}return b+=this.strings[a],b}getTemplateElement(){var a=document.createElement("template"),b=this.getHTML();return void 0!==_b&&(b=_b.createHTML(b)),a.innerHTML=b,a}}class cc extends bc{getHTML(){return"<svg>".concat(super.getHTML(),"</svg>")}getTemplateElement(){var a=super.getTemplateElement(),b=a.content,c=b.firstChild;return b.removeChild(c),Jb(b,c.firstChild),a}}var dc=a=>null===a||"object"!=typeof a&&"function"!=typeof a,ec=a=>Array.isArray(a)||!!(a&&a[Symbol.iterator]);class fc{constructor(a,b,c){this.dirty=!0,this.element=a,this.name=b,this.strings=c,this.parts=[];for(var d=0;d<c.length-1;d++)this.parts[d]=this._createPart()}_createPart(){return new gc(this)}_getValue(){var a=this.strings,b=a.length-1,c=this.parts;if(1===b&&""===a[0]&&""===a[1]){var f=c[0].value;if("symbol"==typeof f)return f+"";if("string"==typeof f||!ec(f))return f}for(var d="",e=0;e<b;e++){d+=a[e];var g=c[e];if(void 0!==g){var h=g.value;if(dc(h)||!ec(h))d+="string"==typeof h?h:h+"";else for(var j of h)d+="string"==typeof j?j:j+""}}return d+=a[b],d}commit(){this.dirty&&(this.dirty=!1,this.element.setAttribute(this.name,this._getValue()))}}class gc{constructor(a){this.value=void 0,this.committer=a}setValue(a){a===Yb||dc(a)&&a===this.value||(this.value=a,!Xb(a)&&(this.committer.dirty=!0))}commit(){for(;Xb(this.value);){var a=this.value;this.value=Yb,a(this)}this.value===Yb||this.committer.commit()}}class hc{constructor(a){this.value=void 0,this.__pendingValue=void 0,this.options=a}appendInto(a){this.startNode=a.appendChild(Sb()),this.endNode=a.appendChild(Sb())}insertAfterNode(a){this.startNode=a,this.endNode=a.nextSibling}appendIntoPart(a){a.__insert(this.startNode=Sb()),a.__insert(this.endNode=Sb())}insertAfterPart(a){a.__insert(this.startNode=Sb()),this.endNode=a.endNode,a.endNode=this.startNode}setValue(a){this.__pendingValue=a}commit(){if(null!==this.startNode.parentNode){for(;Xb(this.__pendingValue);){var b=this.__pendingValue;this.__pendingValue=Yb,b(this)}var a=this.__pendingValue;a===Yb||(dc(a)?a!==this.value&&this.__commitText(a):a instanceof bc?this.__commitTemplateResult(a):a instanceof Node?this.__commitNode(a):ec(a)?this.__commitIterable(a):a===Zb?(this.value=Zb,this.clear()):this.__commitText(a))}}__insert(a){this.endNode.parentNode.insertBefore(a,this.endNode)}__commitNode(a){this.value===a||(this.clear(),this.__insert(a),this.value=a)}__commitText(a){var b=this.startNode.nextSibling;a=null==a?"":a;var c="string"==typeof a?a:a+"";b===this.endNode.previousSibling&&3===b.nodeType?b.data=c:this.__commitNode(document.createTextNode(c)),this.value=a}__commitTemplateResult(a){var b=this.options.templateFactory(a);if(this.value instanceof $b&&this.value.template===b)this.value.update(a.values);else{var c=new $b(b,a.processor,this.options),d=c._clone();c.update(a.values),this.__commitNode(d),this.value=c}}__commitIterable(a){Array.isArray(this.value)||(this.value=[],this.clear());var b,c=this.value,d=0;for(var e of a)b=c[d],void 0===b&&(b=new hc(this.options),c.push(b),0===d?b.appendIntoPart(this):b.insertAfterPart(c[d-1])),b.setValue(e),b.commit(),d++;d<c.length&&(c.length=d,this.clear(b&&b.endNode))}clear(){var a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:this.startNode;Kb(this.startNode.parentNode,a.nextSibling,this.endNode)}}class ic{constructor(a,b,c){if(this.value=void 0,this.__pendingValue=void 0,2!==c.length||""!==c[0]||""!==c[1])throw new Error("Boolean attributes can only contain a single expression");this.element=a,this.name=b,this.strings=c}setValue(a){this.__pendingValue=a}commit(){for(;Xb(this.__pendingValue);){var b=this.__pendingValue;this.__pendingValue=Yb,b(this)}if(this.__pendingValue!==Yb){var a=!!this.__pendingValue;this.value!==a&&(a?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name),this.value=a),this.__pendingValue=Yb}}}class jc extends fc{constructor(a,b,c){super(a,b,c),this.single=2===c.length&&""===c[0]&&""===c[1]}_createPart(){return new kc(this)}_getValue(){return this.single?this.parts[0].value:super._getValue()}commit(){this.dirty&&(this.dirty=!1,this.element[this.name]=this._getValue())}}class kc extends gc{}var lc=!1;(()=>{try{var a={get capture(){return lc=!0,!1}};window.addEventListener("test",a,a),window.removeEventListener("test",a,a)}catch(a){}})();class mc{constructor(a,b,c){this.value=void 0,this.__pendingValue=void 0,this.element=a,this.eventName=b,this.eventContext=c,this.__boundHandleEvent=a=>this.handleEvent(a)}setValue(a){this.__pendingValue=a}commit(){for(;Xb(this.__pendingValue);){var d=this.__pendingValue;this.__pendingValue=Yb,d(this)}if(this.__pendingValue!==Yb){var a=this.__pendingValue,b=this.value,c=null==a||null!=b&&(a.capture!==b.capture||a.once!==b.once||a.passive!==b.passive);c&&this.element.removeEventListener(this.eventName,this.__boundHandleEvent,this.__options),null!=a&&(null==b||c)&&(this.__options=nc(a),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=a,this.__pendingValue=Yb}}handleEvent(a){"function"==typeof this.value?this.value.call(this.eventContext||this.element,a):this.value.handleEvent(a)}}var nc=a=>a&&(lc?{capture:a.capture,passive:a.passive,once:a.once}:a.capture),oc=new Map,pc=new WeakMap,qc=(a,b,c)=>{var d=pc.get(b);d===void 0&&(Kb(b,b.firstChild),pc.set(b,d=new hc(Object.assign({templateFactory:T},c))),d.appendInto(b)),d.setValue(a),d.commit()};var rc=new class a{handleAttributeExpressions(a,b,c,d){var e=b[0];if("."===e){var g=new jc(a,b.slice(1),c);return g.parts}if("@"===e)return[new mc(a,b.slice(1),d.eventContext)];if("?"===e)return[new ic(a,b.slice(1),c)];var f=new fc(a,b,c);return f.parts}handleTextExpression(a){return new hc(a)}};"undefined"!=typeof window&&(window.litHtmlVersions||(window.litHtmlVersions=[])).push("1.3.0");var sc=function(a){for(var b=arguments.length,c=Array(1<b?b-1:0),d=1;d<b;d++)c[d-1]=arguments[d];return new bc(a,c,"html",rc)},tc=function(a){for(var b=arguments.length,c=Array(1<b?b-1:0),d=1;d<b;d++)c[d-1]=arguments[d];return new cc(a,c,"svg",rc)},uc=(a,b)=>"".concat(a,"--").concat(b),vc=!0;"undefined"==typeof window.ShadyCSS?vc=!1:"undefined"==typeof window.ShadyCSS.prepareTemplateDom&&(console.warn("Incompatible ShadyCSS version detected. Please update to at least @webcomponents/webcomponentsjs@2.0.2 and @webcomponents/shadycss@1.3.1."),vc=!1);var wc,xc=a=>b=>{var c=uc(b.type,a),d=oc.get(c);void 0===d&&(d={stringsArray:new WeakMap,keyString:new Map},oc.set(c,d));var e=d.stringsArray.get(b.strings);if(void 0!==e)return e;var f=b.strings.join(Lb);if(e=d.keyString.get(f),void 0===e){var g=b.getTemplateElement();vc&&window.ShadyCSS.prepareTemplateDom(g,a),e=new Pb(b,g),d.keyString.set(f,e)}return d.stringsArray.set(b.strings,e),e},yc=["html","svg"],zc=a=>{yc.forEach(b=>{var c=oc.get(uc(b,a));c!==void 0&&c.keyString.forEach(a=>{var{element:{content:b}}=a,c=new Set;Array.from(b.querySelectorAll("style")).forEach(a=>{c.add(a)}),i(a,c)})})},Ac=new Set,Bc=(a,b,c)=>{Ac.add(a);var d=!c?document.createElement("template"):c.element,e=b.querySelectorAll("style"),{length:f}=e;if(0===f)return void window.ShadyCSS.prepareTemplateStyles(d,a);for(var g,h=document.createElement("style"),j=0;j<f;j++)g=e[j],g.parentNode.removeChild(g),h.textContent+=g.textContent;zc(a);var k=d.content;!c?k.insertBefore(h,k.firstChild):S(c,h,k.firstChild),window.ShadyCSS.prepareTemplateStyles(d,a);var l=k.querySelector("style");if(window.ShadyCSS.nativeShadow&&null!==l)b.insertBefore(l.cloneNode(!0),b.firstChild);else if(!!c){k.insertBefore(h,k.firstChild);var m=new Set;m.add(h),i(c,m)}},Cc=(a,b,c)=>{if(!c||"object"!=typeof c||!c.scopeName)throw new Error("The `scopeName` option is required.");var d=c.scopeName,e=pc.has(b),f=vc&&11===b.nodeType&&!!b.host,g=f&&!Ac.has(d),h=g?document.createDocumentFragment():b;if(qc(a,h,Object.assign({templateFactory:xc(d)},c)),g){var i=pc.get(h);pc.delete(h);var j=i.value instanceof $b?i.value.template:void 0;Bc(d,h,j),Kb(b,b.firstChild),b.appendChild(h),pc.set(b,i)}!e&&f&&window.ShadyCSS.styleElement(b.host)};window.JSCompiler_renameProperty=a=>a;var Dc={toAttribute(a,b){return b===Boolean?a?"":null:b===Object||b===Array?null==a?a:JSON.stringify(a):a},fromAttribute(a,b){return b===Boolean?null!==a:b===Number?null===a?null:+a:b===Object||b===Array?JSON.parse(a):a}},Ec=(a,b)=>b!==a&&(b===b||a===a),Fc={attribute:!0,type:String,converter:Dc,reflect:!1,hasChanged:Ec},Gc=1,Hc=4,Ic=8,Jc=16,Kc="finalized";class Lc extends HTMLElement{constructor(){super(),this.initialize()}static get observedAttributes(){this.finalize();var a=[];return this._classProperties.forEach((b,c)=>{var d=this._attributeNameForProperty(c,b);void 0!==d&&(this._attributeToPropertyMap.set(d,c),a.push(d))}),a}static _ensureClassProperties(){if(!this.hasOwnProperty(JSCompiler_renameProperty("_classProperties",this))){this._classProperties=new Map;var a=Object.getPrototypeOf(this)._classProperties;a!==void 0&&a.forEach((a,b)=>this._classProperties.set(b,a))}}static createProperty(a){var b=1<arguments.length&&void 0!==arguments[1]?arguments[1]:Fc;if(this._ensureClassProperties(),this._classProperties.set(a,b),!(b.noAccessor||this.prototype.hasOwnProperty(a))){var c="symbol"==typeof a?Symbol():"__".concat(a),d=this.getPropertyDescriptor(a,c,b);void 0!==d&&Object.defineProperty(this.prototype,a,d)}}static getPropertyDescriptor(a,b,c){return{get(){return this[b]},set(d){var e=this[a];this[b]=d,this.requestUpdateInternal(a,e,c)},configurable:!0,enumerable:!0}}static getPropertyOptions(a){return this._classProperties&&this._classProperties.get(a)||Fc}static finalize(){var a=Object.getPrototypeOf(this);if(a.hasOwnProperty(Kc)||a.finalize(),this[Kc]=!0,this._ensureClassProperties(),this._attributeToPropertyMap=new Map,this.hasOwnProperty(JSCompiler_renameProperty("properties",this))){var b=this.properties,c=[].concat(W(Object.getOwnPropertyNames(b)),W("function"==typeof Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(b):[]));for(var d of c)this.createProperty(d,b[d])}}static _attributeNameForProperty(a,b){var c=b.attribute;return!1===c?void 0:"string"==typeof c?c:"string"==typeof a?a.toLowerCase():void 0}static _valueHasChanged(a,b){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:Ec;return c(a,b)}static _propertyValueFromAttribute(a,b){var c=b.type,d=b.converter||Dc,e="function"==typeof d?d:d.fromAttribute;return e?e(a,c):a}static _propertyValueToAttribute(a,b){if(void 0!==b.reflect){var c=b.type,d=b.converter,e=d&&d.toAttribute||Dc.toAttribute;return e(a,c)}}initialize(){this._updateState=0,this._updatePromise=new Promise(a=>this._enableUpdatingResolver=a),this._changedProperties=new Map,this._saveInstanceProperties(),this.requestUpdateInternal()}_saveInstanceProperties(){this.constructor._classProperties.forEach((a,b)=>{if(this.hasOwnProperty(b)){var c=this[b];delete this[b],this._instanceProperties||(this._instanceProperties=new Map),this._instanceProperties.set(b,c)}})}_applyInstanceProperties(){this._instanceProperties.forEach((a,b)=>this[b]=a),this._instanceProperties=void 0}connectedCallback(){this.enableUpdating()}enableUpdating(){this._enableUpdatingResolver!==void 0&&(this._enableUpdatingResolver(),this._enableUpdatingResolver=void 0)}disconnectedCallback(){}attributeChangedCallback(a,b,c){b!==c&&this._attributeToProperty(a,c)}_propertyToAttribute(a,b){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:Fc,d=this.constructor,e=d._attributeNameForProperty(a,c);if(e!==void 0){var f=d._propertyValueToAttribute(b,c);if(f===void 0)return;this._updateState|=Ic,null==f?this.removeAttribute(e):this.setAttribute(e,f),this._updateState&=~Ic}}_attributeToProperty(a,b){if(!(this._updateState&Ic)){var c=this.constructor,d=c._attributeToPropertyMap.get(a);if(void 0!==d){var e=c.getPropertyOptions(d);this._updateState|=Jc,this[d]=c._propertyValueFromAttribute(b,e),this._updateState&=~Jc}}}requestUpdateInternal(a,b,c){var d=!0;if(a!==void 0){var e=this.constructor;c=c||e.getPropertyOptions(a),e._valueHasChanged(this[a],b,c.hasChanged)?(!this._changedProperties.has(a)&&this._changedProperties.set(a,b),!0===c.reflect&&!(this._updateState&Jc)&&(this._reflectingProperties===void 0&&(this._reflectingProperties=new Map),this._reflectingProperties.set(a,c))):d=!1}!this._hasRequestedUpdate&&d&&(this._updatePromise=this._enqueueUpdate())}requestUpdate(a,b){return this.requestUpdateInternal(a,b),this.updateComplete}_enqueueUpdate(){var a=this;return U(function*(){a._updateState|=Hc;try{yield a._updatePromise}catch(a){}var b=a.performUpdate();return null!=b&&(yield b),!a._hasRequestedUpdate})()}get _hasRequestedUpdate(){return this._updateState&Hc}get hasUpdated(){return this._updateState&Gc}performUpdate(){if(this._hasRequestedUpdate){this._instanceProperties&&this._applyInstanceProperties();var a=!1,b=this._changedProperties;try{a=this.shouldUpdate(b),a?this.update(b):this._markUpdated()}catch(b){throw a=!1,this._markUpdated(),b}a&&(!(this._updateState&Gc)&&(this._updateState|=Gc,this.firstUpdated(b)),this.updated(b))}}_markUpdated(){this._changedProperties=new Map,this._updateState&=~Hc}get updateComplete(){return this._getUpdateComplete()}_getUpdateComplete(){return this._updatePromise}shouldUpdate(){return!0}update(){this._reflectingProperties!==void 0&&0<this._reflectingProperties.size&&(this._reflectingProperties.forEach((a,b)=>this._propertyToAttribute(b,this[b],a)),this._reflectingProperties=void 0),this._markUpdated()}updated(){}firstUpdated(){}}wc=Kc,Lc[wc]=!0;var Mc=window.ShadowRoot&&(window.ShadyCSS===void 0||window.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Nc=Symbol();class Oc{constructor(a,b){if(b!==Nc)throw new Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=a}get styleSheet(){return void 0===this._styleSheet&&(Mc?(this._styleSheet=new CSSStyleSheet,this._styleSheet.replaceSync(this.cssText)):this._styleSheet=null),this._styleSheet}toString(){return this.cssText}}var Pc=a=>new Oc(a+"",Nc),Qc=a=>{if(a instanceof Oc)return a.cssText;if("number"==typeof a)return a;throw new Error("Value passed to 'css' function must be a 'css' function result: ".concat(a,". Use 'unsafeCSS' to pass non-literal values, but\n take care to ensure page security."))};(window.litElementVersions||(window.litElementVersions=[])).push("2.4.0");var Rc={};class Sc extends Lc{static getStyles(){return this.styles}static _getUniqueStyles(){if(!this.hasOwnProperty(JSCompiler_renameProperty("_styles",this))){var a=this.getStyles();if(Array.isArray(a)){var b=(a,c)=>a.reduceRight((a,c)=>Array.isArray(c)?b(c,a):(a.add(c),a),c),c=b(a,new Set),d=[];c.forEach(a=>d.unshift(a)),this._styles=d}else this._styles=void 0===a?[]:[a];this._styles=this._styles.map(a=>{if(a instanceof CSSStyleSheet&&!Mc){var b=Array.prototype.slice.call(a.cssRules).reduce((a,b)=>a+b.cssText,"");return Pc(b)}return a})}}initialize(){super.initialize(),this.constructor._getUniqueStyles(),this.renderRoot=this.createRenderRoot(),window.ShadowRoot&&this.renderRoot instanceof window.ShadowRoot&&this.adoptStyles()}createRenderRoot(){return this.attachShadow({mode:"open"})}adoptStyles(){var a=this.constructor._styles;0===a.length||(window.ShadyCSS===void 0||window.ShadyCSS.nativeShadow?Mc?this.renderRoot.adoptedStyleSheets=a.map(a=>a instanceof CSSStyleSheet?a:a.styleSheet):this._needsShimAdoptedStyleSheets=!0:window.ShadyCSS.ScopingShim.prepareAdoptedCssText(a.map(a=>a.cssText),this.localName))}connectedCallback(){super.connectedCallback(),this.hasUpdated&&window.ShadyCSS!==void 0&&window.ShadyCSS.styleElement(this)}update(a){var b=this.render();super.update(a),b!==Rc&&this.constructor.render(b,this.renderRoot,{scopeName:this.localName,eventContext:this}),this._needsShimAdoptedStyleSheets&&(this._needsShimAdoptedStyleSheets=!1,this.constructor._styles.forEach(a=>{var b=document.createElement("style");b.textContent=a.cssText,this.renderRoot.appendChild(b)}))}render(){return Rc}}Sc.finalized=!0,Sc.render=Cc;var Tc=function(){try{if("undefined"!=typeof indexedDB)return indexedDB;if("undefined"!=typeof webkitIndexedDB)return webkitIndexedDB;if("undefined"!=typeof mozIndexedDB)return mozIndexedDB;if("undefined"!=typeof OIndexedDB)return OIndexedDB;if("undefined"!=typeof msIndexedDB)return msIndexedDB}catch(a){}}();"undefined"==typeof Promise&&require("lie/polyfill");var Uc,Vc=Promise,Wc={},Xc=Object.prototype.toString,Yc={_driver:"asyncStorage",_initStorage:function(a){function b(){return Vc.resolve()}var c=this,d={db:null};if(a)for(var e in a)d[e]=a[e];var f=Wc[d.name];f||(f=sa(),Wc[d.name]=f),f.forages.push(c),c._initReady||(c._initReady=c.ready,c.ready=pa);for(var g,h=[],i=0;i<f.forages.length;i++)g=f.forages[i],g!==c&&h.push(g._initReady().catch(b));var l=f.forages.slice(0);return Vc.all(h).then(function(){return d.db=f.db,ja(d)}).then(function(a){return d.db=a,la(d,c._defaultConfig.version)?ka(d):a}).then(function(a){d.db=f.db=a,c._dbInfo=d;for(var b,e=0;e<l.length;e++)b=l[e],b!==c&&(b._dbInfo.db=d.db,b._dbInfo.version=d.version)})},_support:function(){try{if(!Tc||!Tc.open)return!1;var a="undefined"!=typeof openDatabase&&/(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent)&&!/BlackBerry/.test(navigator.platform),b="function"==typeof fetch&&-1!==fetch.toString().indexOf("[native code");return(!a||b)&&"undefined"!=typeof indexedDB&&"undefined"!=typeof IDBKeyRange}catch(a){return!1}}(),iterate:function(a,b){var c=this,d=new Vc(function(b,d){c.ready().then(function(){ra(c._dbInfo,"readonly",function(e,f){if(e)return d(e);try{var g=f.objectStore(c._dbInfo.storeName),h=g.openCursor(),i=1;h.onsuccess=function(){var c=h.result;if(c){var d=c.value;oa(d)&&(d=na(d));var e=a(d,c.key,i++);void 0===e?c.continue():b(e)}else b()},h.onerror=function(){d(h.error)}}catch(a){d(a)}})}).catch(d)});return $(d,b),d},getItem:function(a,b){var c=this;a=aa(a);var d=new Vc(function(b,d){c.ready().then(function(){ra(c._dbInfo,"readonly",function(e,f){if(e)return d(e);try{var g=f.objectStore(c._dbInfo.storeName),h=g.get(a);h.onsuccess=function(){var a=h.result;void 0===a&&(a=null),oa(a)&&(a=na(a)),b(a)},h.onerror=function(){d(h.error)}}catch(a){d(a)}})}).catch(d)});return $(d,b),d},setItem:function(a,b,c){var d=this;a=aa(a);var e=new Vc(function(c,f){var g;d.ready().then(function(){return g=d._dbInfo,"[object Blob]"===Xc.call(b)?ea(g.db).then(function(a){return a?b:ma(b)}):b}).then(function(b){ra(d._dbInfo,"readwrite",function(e,g){if(e)return f(e);try{var h=g.objectStore(d._dbInfo.storeName);null===b&&(b=void 0);var i=h.put(b,a);g.oncomplete=function(){void 0===b&&(b=null),c(b)},g.onabort=g.onerror=function(){var a=i.error?i.error:i.transaction.error;f(a)}}catch(a){f(a)}})}).catch(f)});return $(e,c),e},removeItem:function(a,b){var c=this;a=aa(a);var d=new Vc(function(b,d){c.ready().then(function(){ra(c._dbInfo,"readwrite",function(e,f){if(e)return d(e);try{var g=f.objectStore(c._dbInfo.storeName),h=g.delete(a);f.oncomplete=function(){b()},f.onerror=function(){d(h.error)},f.onabort=function(){var a=h.error?h.error:h.transaction.error;d(a)}}catch(a){d(a)}})}).catch(d)});return $(d,b),d},clear:function(a){var b=this,c=new Vc(function(a,c){b.ready().then(function(){ra(b._dbInfo,"readwrite",function(d,e){if(d)return c(d);try{var f=e.objectStore(b._dbInfo.storeName),g=f.clear();e.oncomplete=function(){a()},e.onabort=e.onerror=function(){var a=g.error?g.error:g.transaction.error;c(a)}}catch(a){c(a)}})}).catch(c)});return $(c,a),c},length:function(a){var b=this,c=new Vc(function(a,c){b.ready().then(function(){ra(b._dbInfo,"readonly",function(d,e){if(d)return c(d);try{var f=e.objectStore(b._dbInfo.storeName),g=f.count();g.onsuccess=function(){a(g.result)},g.onerror=function(){c(g.error)}}catch(a){c(a)}})}).catch(c)});return $(c,a),c},key:function(a,b){var c=this,d=new Vc(function(b,d){return 0>a?void b(null):void c.ready().then(function(){ra(c._dbInfo,"readonly",function(e,f){if(e)return d(e);try{var g=f.objectStore(c._dbInfo.storeName),h=!1,i=g.openKeyCursor();i.onsuccess=function(){var c=i.result;return c?void(0===a?b(c.key):h?b(c.key):(h=!0,c.advance(a))):void b(null)},i.onerror=function(){d(i.error)}}catch(a){d(a)}})}).catch(d)});return $(d,b),d},keys:function(a){var b=this,c=new Vc(function(a,c){b.ready().then(function(){ra(b._dbInfo,"readonly",function(d,e){if(d)return c(d);try{var f=e.objectStore(b._dbInfo.storeName),g=f.openKeyCursor(),h=[];g.onsuccess=function(){var b=g.result;return b?void(h.push(b.key),b.continue()):void a(h)},g.onerror=function(){c(g.error)}}catch(a){c(a)}})}).catch(c)});return $(c,a),c},dropInstance:function(a,b){b=ba.apply(this,arguments);var c=this.config();a="function"!=typeof a&&a||{},a.name||(a.name=a.name||c.name,a.storeName=a.storeName||c.storeName);var d,e=this;if(!a.name)d=Vc.reject("Invalid arguments");else{var f=a.name===c.name&&e._dbInfo.db,g=f?Vc.resolve(e._dbInfo.db):ja(a).then(b=>{var c=Wc[a.name],d=c.forages;c.db=b;for(var e=0;e<d.length;e++)d[e]._dbInfo.db=b;return b});d=a.storeName?g.then(b=>{if(b.objectStoreNames.contains(a.storeName)){var c=b.version+1;fa(a);var d=Wc[a.name],e=d.forages;b.close();for(var g,h=0;h<e.length;h++)g=e[h],g._dbInfo.db=null,g._dbInfo.version=c;var f=new Vc((b,d)=>{var e=Tc.open(a.name,c);e.onerror=a=>{var b=e.result;b.close(),d(a)},e.onupgradeneeded=()=>{var b=e.result;b.deleteObjectStore(a.storeName)},e.onsuccess=()=>{var a=e.result;a.close(),b(a)}});return f.then(a=>{d.db=a;for(var b,c=0;c<e.length;c++)b=e[c],b._dbInfo.db=a,ga(b._dbInfo)}).catch(b=>{throw(ha(a,b)||Vc.resolve()).catch(()=>{}),b})}}):g.then(b=>{fa(a);var c=Wc[a.name],d=c.forages;b.close();for(var e,f=0;f<d.length;f++)e=d[f],e._dbInfo.db=null;var g=new Vc((b,c)=>{var d=Tc.deleteDatabase(a.name);d.onerror=d.onblocked=a=>{var b=d.result;b&&b.close(),c(a)},d.onsuccess=()=>{var a=d.result;a&&a.close(),b(a)}});return g.then(a=>{c.db=a;for(var b,e=0;e<d.length;e++)b=d[e],ga(b._dbInfo)}).catch(b=>{throw(ha(a,b)||Vc.resolve()).catch(()=>{}),b})})}return $(d,b),d}},Zc=/^~~local_forage_type~([^~]+)~/,$c="__lfsc__:".length,_c=$c+"arbf".length,ad=Object.prototype.toString,bd={serialize:function(a,b){var c="";if(a&&(c=ad.call(a)),a&&("[object ArrayBuffer]"===c||a.buffer&&"[object ArrayBuffer]"===ad.call(a.buffer))){var d,e="__lfsc__:";a instanceof ArrayBuffer?(d=a,e+="arbf"):(d=a.buffer,"[object Int8Array]"===c?e+="si08":"[object Uint8Array]"===c?e+="ui08":"[object Uint8ClampedArray]"===c?e+="uic8":"[object Int16Array]"===c?e+="si16":"[object Uint16Array]"===c?e+="ur16":"[object Int32Array]"===c?e+="si32":"[object Uint32Array]"===c?e+="ui32":"[object Float32Array]"===c?e+="fl32":"[object Float64Array]"===c?e+="fl64":b(new Error("Failed to get type for BinaryArray"))),b(e+ua(d))}else if("[object Blob]"===c){var f=new FileReader;f.onload=function(){var c="~~local_forage_type~"+a.type+"~"+ua(this.result);b("__lfsc__:blob"+c)},f.readAsArrayBuffer(a)}else try{b(JSON.stringify(a))}catch(c){console.error("Couldn't convert value into a JSON string: ",a),b(null,c)}},deserialize:function(a){if(a.substring(0,$c)!=="__lfsc__:")return JSON.parse(a);var b,c=a.substring(_c),d=a.substring($c,_c);if(d==="blob"&&Zc.test(c)){var e=c.match(Zc);b=e[1],c=c.substring(e[0].length)}var f=ta(c);switch(d){case"arbf":return f;case"blob":return Z([f],{type:b});case"si08":return new Int8Array(f);case"ui08":return new Uint8Array(f);case"uic8":return new Uint8ClampedArray(f);case"si16":return new Int16Array(f);case"ur16":return new Uint16Array(f);case"si32":return new Int32Array(f);case"ui32":return new Uint32Array(f);case"fl32":return new Float32Array(f);case"fl64":return new Float64Array(f);default:throw new Error("Unkown type: "+d);}},stringToBuffer:ta,bufferToString:ua},cd={_driver:"webSQLStorage",_initStorage:function(a){var b=this,c={db:null};if(a)for(var d in a)c[d]="string"==typeof a[d]?a[d]:a[d].toString();var e=new Vc(function(a,d){try{c.db=openDatabase(c.name,c.version+"",c.description,c.size)}catch(a){return d(a)}c.db.transaction(function(e){va(e,c,function(){b._dbInfo=c,a()},function(a,b){d(b)})},d)});return c.serializer=bd,e},_support:function(){return"function"==typeof openDatabase}(),iterate:function(a,b){var c=this,d=new Vc(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){wa(c,e,"SELECT * FROM ".concat(e.storeName),[],function(c,d){for(var f=d.rows,g=f.length,h=0;h<g;h++){var j=f.item(h),k=j.value;if(k&&(k=e.serializer.deserialize(k)),k=a(k,j.key,h+1),void 0!==k)return void b(k)}b()},function(a,b){d(b)})})}).catch(d)});return $(d,b),d},getItem:function(a,b){var c=this;a=aa(a);var d=new Vc(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){wa(c,e,"SELECT * FROM ".concat(e.storeName," WHERE key = ? LIMIT 1"),[a],function(a,c){var d=c.rows.length?c.rows.item(0).value:null;d&&(d=e.serializer.deserialize(d)),b(d)},function(a,b){d(b)})})}).catch(d)});return $(d,b),d},setItem:function(a,b,c){return xa.apply(this,[a,b,c,1])},removeItem:function(a,b){var c=this;a=aa(a);var d=new Vc(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){wa(c,e,"DELETE FROM ".concat(e.storeName," WHERE key = ?"),[a],function(){b()},function(a,b){d(b)})})}).catch(d)});return $(d,b),d},clear:function(a){var b=this,c=new Vc(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){wa(b,d,"DELETE FROM ".concat(d.storeName),[],function(){a()},function(a,b){c(b)})})}).catch(c)});return $(c,a),c},length:function(a){var b=this,c=new Vc(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){wa(b,d,"SELECT COUNT(key) as c FROM ".concat(d.storeName),[],function(b,c){var d=c.rows.item(0).c;a(d)},function(a,b){c(b)})})}).catch(c)});return $(c,a),c},key:function(a,b){var c=this,d=new Vc(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){wa(c,e,"SELECT key FROM ".concat(e.storeName," WHERE id = ? LIMIT 1"),[a+1],function(a,c){var d=c.rows.length?c.rows.item(0).key:null;b(d)},function(a,b){d(b)})})}).catch(d)});return $(d,b),d},keys:function(a){var b=this,c=new Vc(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){wa(b,d,"SELECT key FROM ".concat(d.storeName),[],function(b,c){for(var d=[],e=0;e<c.rows.length;e++)d.push(c.rows.item(e).key);a(d)},function(a,b){c(b)})})}).catch(c)});return $(c,a),c},dropInstance:function(a,b){b=ba.apply(this,arguments);var c=this.config();a="function"!=typeof a&&a||{},a.name||(a.name=a.name||c.name,a.storeName=a.storeName||c.storeName);var d,e=this;return d=a.name?new Vc(function(b){var d;d=a.name===c.name?e._dbInfo.db:openDatabase(a.name,"","",0),a.storeName?b({db:d,storeNames:[a.storeName]}):b(ya(d))}).then(function(a){return new Vc(function(b,c){a.db.transaction(function(d){function e(a){return new Vc(function(b,c){d.executeSql("DROP TABLE IF EXISTS ".concat(a),[],function(){b()},function(a,b){c(b)})})}for(var f=[],g=0,h=a.storeNames.length;g<h;g++)f.push(e(a.storeNames[g]));Vc.all(f).then(function(){b()}).catch(function(a){c(a)})},function(a){c(a)})})}):Vc.reject("Invalid arguments"),$(d,b),d}},dd={_driver:"localStorageWrapper",_initStorage:function(a){var b=this,c={};if(a)for(var d in a)c[d]=a[d];return(c.keyPrefix=Aa(a,b._defaultConfig),!Ca())?Vc.reject():(b._dbInfo=c,c.serializer=bd,Vc.resolve())},_support:za(),iterate:function(a,b){var c=this,d=c.ready().then(function(){for(var b,d=c._dbInfo,e=d.keyPrefix,f=e.length,g=localStorage.length,h=1,j=0;j<g;j++)if(b=localStorage.key(j),0===b.indexOf(e)){var k=localStorage.getItem(b);if(k&&(k=d.serializer.deserialize(k)),k=a(k,b.substring(f),h++),void 0!==k)return k}});return $(d,b),d},getItem:function(a,b){var c=this;a=aa(a);var d=c.ready().then(function(){var b=c._dbInfo,d=localStorage.getItem(b.keyPrefix+a);return d&&(d=b.serializer.deserialize(d)),d});return $(d,b),d},setItem:function(a,b,c){var d=this;a=aa(a);var e=d.ready().then(function(){void 0===b&&(b=null);var c=b;return new Vc(function(e,f){var g=d._dbInfo;g.serializer.serialize(b,function(b,d){if(d)f(d);else try{localStorage.setItem(g.keyPrefix+a,b),e(c)}catch(a){("QuotaExceededError"===a.name||"NS_ERROR_DOM_QUOTA_REACHED"===a.name)&&f(a),f(a)}})})});return $(e,c),e},removeItem:function(a,b){var c=this;a=aa(a);var d=c.ready().then(function(){var b=c._dbInfo;localStorage.removeItem(b.keyPrefix+a)});return $(d,b),d},clear:function(a){var b=this,c=b.ready().then(function(){for(var a,c=b._dbInfo.keyPrefix,d=localStorage.length-1;0<=d;d--)a=localStorage.key(d),0===a.indexOf(c)&&localStorage.removeItem(a)});return $(c,a),c},length:function(a){var b=this,c=b.keys().then(function(a){return a.length});return $(c,a),c},key:function(a,b){var c=this,d=c.ready().then(function(){var b,d=c._dbInfo;try{b=localStorage.key(a)}catch(a){b=null}return b&&(b=b.substring(d.keyPrefix.length)),b});return $(d,b),d},keys:function(a){var b=this,c=b.ready().then(function(){for(var a,c=b._dbInfo,d=localStorage.length,e=[],f=0;f<d;f++)a=localStorage.key(f),0===a.indexOf(c.keyPrefix)&&e.push(a.substring(c.keyPrefix.length));return e});return $(c,a),c},dropInstance:function(a,b){if(b=ba.apply(this,arguments),a="function"!=typeof a&&a||{},!a.name){var c=this.config();a.name=a.name||c.name,a.storeName=a.storeName||c.storeName}var d,e=this;return d=a.name?new Vc(function(b){a.storeName?b(Aa(a,e._defaultConfig)):b("".concat(a.name,"/"))}).then(function(a){for(var b,c=localStorage.length-1;0<=c;c--)b=localStorage.key(c),0===b.indexOf(a)&&localStorage.removeItem(b)}):Vc.reject("Invalid arguments"),$(d,b),d}},ed=(a,b)=>a===b||"number"==typeof a&&"number"==typeof b&&isNaN(a)&&isNaN(b),fd=(a,b)=>{for(var c=a.length,d=0;d<c;){if(ed(a[d],b))return!0;d++}return!1},gd=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)},hd={},id={},jd={INDEXEDDB:Yc,WEBSQL:cd,LOCALSTORAGE:dd},kd=[jd.INDEXEDDB._driver,jd.WEBSQL._driver,jd.LOCALSTORAGE._driver],ld=["dropInstance"],md=["clear","getItem","iterate","key","keys","length","removeItem","setItem"].concat(ld),nd={description:"",driver:kd.slice(),name:"localforage",size:4980736,storeName:"keyvaluepairs",version:1};class od{constructor(a){for(var d in jd)if(jd.hasOwnProperty(d)){var b=jd[d],c=b._driver;this[d]=c,hd[c]||this.defineDriver(b)}this._defaultConfig=Ea({},nd),this._config=Ea({},this._defaultConfig,a),this._driverSet=null,this._initDriver=null,this._ready=!1,this._dbInfo=null,this._wrapLibraryMethodsWithReady(),this.setDriver(this._config.driver).catch(()=>{})}config(a){if("object"==typeof a){if(this._ready)return new Error("Can't call config() after localforage has been used.");for(var b in a){if("storeName"==b&&(a[b]=a[b].replace(/\W/g,"_")),"version"==b&&"number"!=typeof a[b])return new Error("Database version must be a number.");this._config[b]=a[b]}return!("driver"in a&&a.driver)||this.setDriver(this._config.driver)}return"string"==typeof a?this._config[a]:this._config}defineDriver(a,b,c){var d=new Vc(function(b,c){try{var d=a._driver,e=new Error("Custom driver not compliant; see https://mozilla.github.io/localForage/#definedriver");if(!a._driver)return void c(e);for(var f=md.concat("_initStorage"),g=0,h=f.length;g<h;g++){var j=f[g],k=!fd(ld,j);if((k||a[j])&&"function"!=typeof a[j])return void c(e)}(function configureMissingMethods(){for(var b,c=function(a){return function(){var b=new Error("Method ".concat(a," is not implemented by the current driver")),c=Vc.reject(b);return $(c,arguments[arguments.length-1]),c}},d=0,e=ld.length;d<e;d++)b=ld[d],a[b]||(a[b]=c(b))})();var l=function(c){hd[d]&&console.info("Redefining LocalForage driver: ".concat(d)),hd[d]=a,id[d]=c,b()};"_support"in a?a._support&&"function"==typeof a._support?a._support().then(l,c):l(!!a._support):l(!0)}catch(a){c(a)}});return _(d,b,c),d}driver(){return this._driver||null}getDriver(a,b,c){var d=hd[a]?Vc.resolve(hd[a]):Vc.reject(new Error("Driver not found."));return _(d,b,c),d}getSerializer(a){var b=Vc.resolve(bd);return _(b,a),b}ready(a){var b=this,c=b._driverSet.then(()=>(null===b._ready&&(b._ready=b._initDriver()),b._ready));return _(c,a,a),c}setDriver(a,b,c){function d(){g._config.driver=g.driver()}function e(a){return g._extend(a),d(),g._ready=g._initStorage(g._config),g._ready}function f(a){return function(){function b(){for(;c<a.length;){var h=a[c];return c++,g._dbInfo=null,g._ready=null,g.getDriver(h).then(e).catch(b)}d();var f=new Error("No available storage method found.");return g._driverSet=Vc.reject(f),g._driverSet}var c=0;return b()}}var g=this;gd(a)||(a=[a]);var h=this._getSupportedDrivers(a),i=null===this._driverSet?Vc.resolve():this._driverSet.catch(()=>Vc.resolve());return this._driverSet=i.then(()=>{var a=h[0];return g._dbInfo=null,g._ready=null,g.getDriver(a).then(a=>{g._driver=a._driver,d(),g._wrapLibraryMethodsWithReady(),g._initDriver=f(h)})}).catch(()=>{d();var a=new Error("No available storage method found.");return g._driverSet=Vc.reject(a),g._driverSet}),_(this._driverSet,b,c),this._driverSet}supports(a){return!!id[a]}_extend(a){Ea(this,a)}_getSupportedDrivers(a){for(var b,c=[],d=0,e=a.length;d<e;d++)b=a[d],this.supports(b)&&c.push(b);return c}_wrapLibraryMethodsWithReady(){for(var a=0,b=md.length;a<b;a++)Da(this,md[a])}createInstance(a){return new od(a)}}var pd=new od,qd=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,rd="[1-9]\\d?",sd="\\d\\d",td="[^\\s]+",ud=/\[([^]*?)\]/gm,vd=function(a){return function(b,c){var d=c[a].map(function(a){return a.toLowerCase()}),e=d.indexOf(b.toLowerCase());return-1<e?e:null}},wd=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],xd=["January","February","March","April","May","June","July","August","September","October","November","December"],yd=Fa(xd,3),zd=Fa(wd,3),Ad={dayNamesShort:zd,dayNames:wd,monthNamesShort:yd,monthNames:xd,amPm:["am","pm"],DoFn:function(a){return a+["th","st","nd","rd"][3<a%10?0:(10==a-a%10?0:1)*a%10]}},Bd=Ga({},Ad),Cd=function(a){return Bd=Ga(Bd,a)},Dd=function(a){return a.replace(/[|\\{()[^$+*?.-]/g,"\\$&")},Ed=function(a,b){for(void 0===b&&(b=2),a+="";a.length<b;)a="0"+a;return a},Fd={D:function(a){return a.getDate()+""},DD:function(a){return Ed(a.getDate())},Do:function(a,b){return b.DoFn(a.getDate())},d:function(a){return a.getDay()+""},dd:function(a){return Ed(a.getDay())},ddd:function(a,b){return b.dayNamesShort[a.getDay()]},dddd:function(a,b){return b.dayNames[a.getDay()]},M:function(a){return a.getMonth()+1+""},MM:function(a){return Ed(a.getMonth()+1)},MMM:function(a,b){return b.monthNamesShort[a.getMonth()]},MMMM:function(a,b){return b.monthNames[a.getMonth()]},YY:function(a){return Ed(a.getFullYear()+"",4).substr(2)},YYYY:function(a){return Ed(a.getFullYear(),4)},h:function(a){return(a.getHours()%12||12)+""},hh:function(a){return Ed(a.getHours()%12||12)},H:function(a){return a.getHours()+""},HH:function(a){return Ed(a.getHours())},m:function(a){return a.getMinutes()+""},mm:function(a){return Ed(a.getMinutes())},s:function(a){return a.getSeconds()+""},ss:function(a){return Ed(a.getSeconds())},S:function(a){return Fb(a.getMilliseconds()/100)+""},SS:function(a){return Ed(Fb(a.getMilliseconds()/10),2)},SSS:function(a){return Ed(a.getMilliseconds(),3)},a:function(a,b){return 12>a.getHours()?b.amPm[0]:b.amPm[1]},A:function(a,b){return 12>a.getHours()?b.amPm[0].toUpperCase():b.amPm[1].toUpperCase()},ZZ:function(a){var b=a.getTimezoneOffset();return(0<b?"-":"+")+Ed(100*yb(zb(b)/60)+zb(b)%60,4)},Z:function(a){var b=a.getTimezoneOffset();return(0<b?"-":"+")+Ed(yb(zb(b)/60),2)+":"+Ed(zb(b)%60,2)}},Gd=function(a){return+a-1},Hd=[null,rd],Id=[null,td],Jd=["isPm",td,function(a,b){var c=a.toLowerCase();if(c===b.amPm[0])return 0;return c===b.amPm[1]?1:null}],Kd=["timezoneOffset","[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z?",function(a){var b=(a+"").match(/([+-]|\d\d)/gi);if(b){var c=60*+b[1]+parseInt(b[2],10);return"+"===b[0]?c:-c}return 0}],Ld={D:["day",rd],DD:["day",sd],Do:["day",rd+td,function(a){return parseInt(a,10)}],M:["month",rd,Gd],MM:["month",sd,Gd],YY:["year",sd,function(a){var b=new Date,c=+(""+b.getFullYear()).substr(0,2);return+(""+(68<+a?c-1:c)+a)}],h:["hour",rd,void 0,"isPm"],hh:["hour",sd,void 0,"isPm"],H:["hour",rd],HH:["hour",sd],m:["minute",rd],mm:["minute",sd],s:["second",rd],ss:["second",sd],YYYY:["year","\\d{4}"],S:["millisecond","\\d",function(a){return 100*+a}],SS:["millisecond",sd,function(a){return 10*+a}],SSS:["millisecond","\\d{3}"],d:Hd,dd:Hd,ddd:Id,dddd:Id,MMM:["month",td,vd("monthNamesShort")],MMMM:["month",td,vd("monthNames")],a:Jd,A:Jd,ZZ:Kd,Z:Kd},Md={default:"ddd MMM DD YYYY HH:mm:ss",shortDate:"M/D/YY",mediumDate:"MMM D, YYYY",longDate:"MMMM D, YYYY",fullDate:"dddd, MMMM D, YYYY",isoDate:"YYYY-MM-DD",isoDateTime:"YYYY-MM-DDTHH:mm:ssZ",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},Nd=function(a,b,c){if(void 0===b&&(b=Md["default"]),void 0===c&&(c={}),"number"==typeof a&&(a=new Date(a)),"[object Date]"!==Object.prototype.toString.call(a)||isNaN(a.getTime()))throw new Error("Invalid Date pass to format");b=Md[b]||b;var d=[];b=b.replace(ud,function(a,b){return d.push(b),"@@@"});var e=Ga(Ga({},Bd),c);return b=b.replace(qd,function(b){return Fd[b](a,e)}),b.replace(/@@@/g,function(){return d.shift()})},Od={format:Nd,parse:Ha,defaultI18n:Ad,setGlobalDateI18n:Cd,setGlobalDateMasks:function setGlobalDateMasks(a){return Ga(Md,a)}},Pd=function(){try{new Date().toLocaleDateString("i")}catch(a){return"RangeError"===a.name}return!1}()?function(a,b){return a.toLocaleDateString(b,{year:"numeric",month:"long",day:"numeric"})}:function(a){return Od.format(a,"mediumDate")},Qd=function(){try{new Date().toLocaleString("i")}catch(a){return"RangeError"===a.name}return!1}()?function(a,b){return a.toLocaleString(b,{year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"2-digit"})}:function(a){return Od.format(a,"haDateTime")},Rd=function(){try{new Date().toLocaleTimeString("i")}catch(a){return"RangeError"===a.name}return!1}()?function(a,b){return a.toLocaleTimeString(b,{hour:"numeric",minute:"2-digit"})}:function(a){return Od.format(a,"shortTime")},Sd={alert:"hass:alert",automation:"hass:playlist-play",calendar:"hass:calendar",camera:"hass:video",climate:"hass:thermostat",configurator:"hass:settings",conversation:"hass:text-to-speech",device_tracker:"hass:account",fan:"hass:fan",group:"hass:google-circles-communities",history_graph:"hass:chart-line",homeassistant:"hass:home-assistant",homekit:"hass:home-automation",image_processing:"hass:image-filter-frames",input_boolean:"hass:drawing",input_datetime:"hass:calendar-clock",input_number:"hass:ray-vertex",input_select:"hass:format-list-bulleted",input_text:"hass:textbox",light:"hass:lightbulb",mailbox:"hass:mailbox",notify:"hass:comment-alert",person:"hass:account",plant:"hass:flower",proximity:"hass:apple-safari",remote:"hass:remote",scene:"hass:google-pages",script:"hass:file-document",sensor:"hass:eye",simple_alarm:"hass:bell",sun:"hass:white-balance-sunny",switch:"hass:flash",timer:"hass:timer",updater:"hass:cloud-upload",vacuum:"hass:robot-vacuum",water_heater:"hass:thermometer",weblink:"hass:open-in-new"},Td={humidity:"hass:water-percent",illuminance:"hass:brightness-5",temperature:"hass:thermometer",pressure:"hass:gauge",power:"hass:flash",signal_strength:"hass:wifi"},Ud={binary_sensor:function(a){var b=a.state&&"off"===a.state;switch(a.attributes.device_class){case"battery":return b?"hass:battery":"hass:battery-outline";case"cold":return b?"hass:thermometer":"hass:snowflake";case"connectivity":return b?"hass:server-network-off":"hass:server-network";case"door":return b?"hass:door-closed":"hass:door-open";case"garage_door":return b?"hass:garage":"hass:garage-open";case"gas":case"power":case"problem":case"safety":case"smoke":return b?"hass:shield-check":"hass:alert";case"heat":return b?"hass:thermometer":"hass:fire";case"light":return b?"hass:brightness-5":"hass:brightness-7";case"lock":return b?"hass:lock":"hass:lock-open";case"moisture":return b?"hass:water-off":"hass:water";case"motion":return b?"hass:walk":"hass:run";case"occupancy":return b?"hass:home-outline":"hass:home";case"opening":return b?"hass:square":"hass:square-outline";case"plug":return b?"hass:power-plug-off":"hass:power-plug";case"presence":return b?"hass:home-outline":"hass:home";case"sound":return b?"hass:music-note-off":"hass:music-note";case"vibration":return b?"hass:crop-portrait":"hass:vibrate";case"window":return b?"hass:window-closed":"hass:window-open";default:return b?"hass:radiobox-blank":"hass:checkbox-marked-circle";}},cover:function(a){var b="closed"!==a.state;switch(a.attributes.device_class){case"garage":return b?"hass:garage-open":"hass:garage";case"door":return b?"hass:door-open":"hass:door-closed";case"shutter":return b?"hass:window-shutter-open":"hass:window-shutter";case"blind":return b?"hass:blinds-open":"hass:blinds";case"window":return b?"hass:window-open":"hass:window-closed";default:return Ja("cover",a.state);}},sensor:function(b){var c=b.attributes.device_class;if(c&&c in Td)return Td[c];if("battery"===c){var d=+b.state;if(isNaN(d))return"hass:battery-unknown";var a=10*Fb(d/10);return 100<=a?"hass:battery":0>=a?"hass:battery-alert":"hass:battery-"+a}var e=b.attributes.unit_of_measurement;return"\xB0C"===e||"\xB0F"===e?"hass:thermometer":Ja("sensor")},input_datetime:function(a){return a.attributes.has_date?a.attributes.has_time?Ja("input_datetime"):"hass:calendar":"hass:clock"}},Vd=function(a){if(!a)return"hass:bookmark";if(a.attributes.icon)return a.attributes.icon;var b=Ia(a.entity_id);return b in Ud?Ud[b](a):Ja(b,a.state)},Q=function(a){var b={exports:{}};return a(b,b.exports),b.exports}(function(a){(function(b){a.exports=b()})(function(a){function b(e,f){var g=e[0],h=e[1],i=e[2],j=e[3];g+=0|(h&i|~h&j)+f[0]-680876936,g=0|(g<<7|g>>>25)+h,j+=0|(g&h|~g&i)+f[1]-389564586,j=0|(j<<12|j>>>20)+g,i+=0|(j&g|~j&h)+f[2]+606105819,i=0|(i<<17|i>>>15)+j,h+=0|(i&j|~i&g)+f[3]-1044525330,h=0|(h<<22|h>>>10)+i,g+=0|(h&i|~h&j)+f[4]-176418897,g=0|(g<<7|g>>>25)+h,j+=0|(g&h|~g&i)+f[5]+1200080426,j=0|(j<<12|j>>>20)+g,i+=0|(j&g|~j&h)+f[6]-1473231341,i=0|(i<<17|i>>>15)+j,h+=0|(i&j|~i&g)+f[7]-45705983,h=0|(h<<22|h>>>10)+i,g+=0|(h&i|~h&j)+f[8]+1770035416,g=0|(g<<7|g>>>25)+h,j+=0|(g&h|~g&i)+f[9]-1958414417,j=0|(j<<12|j>>>20)+g,i+=0|(j&g|~j&h)+f[10]-42063,i=0|(i<<17|i>>>15)+j,h+=0|(i&j|~i&g)+f[11]-1990404162,h=0|(h<<22|h>>>10)+i,g+=0|(h&i|~h&j)+f[12]+1804603682,g=0|(g<<7|g>>>25)+h,j+=0|(g&h|~g&i)+f[13]-40341101,j=0|(j<<12|j>>>20)+g,i+=0|(j&g|~j&h)+f[14]-1502002290,i=0|(i<<17|i>>>15)+j,h+=0|(i&j|~i&g)+f[15]+1236535329,h=0|(h<<22|h>>>10)+i,g+=0|(h&j|i&~j)+f[1]-165796510,g=0|(g<<5|g>>>27)+h,j+=0|(g&i|h&~i)+f[6]-1069501632,j=0|(j<<9|j>>>23)+g,i+=0|(j&h|g&~h)+f[11]+643717713,i=0|(i<<14|i>>>18)+j,h+=0|(i&g|j&~g)+f[0]-373897302,h=0|(h<<20|h>>>12)+i,g+=0|(h&j|i&~j)+f[5]-701558691,g=0|(g<<5|g>>>27)+h,j+=0|(g&i|h&~i)+f[10]+38016083,j=0|(j<<9|j>>>23)+g,i+=0|(j&h|g&~h)+f[15]-660478335,i=0|(i<<14|i>>>18)+j,h+=0|(i&g|j&~g)+f[4]-405537848,h=0|(h<<20|h>>>12)+i,g+=0|(h&j|i&~j)+f[9]+568446438,g=0|(g<<5|g>>>27)+h,j+=0|(g&i|h&~i)+f[14]-1019803690,j=0|(j<<9|j>>>23)+g,i+=0|(j&h|g&~h)+f[3]-187363961,i=0|(i<<14|i>>>18)+j,h+=0|(i&g|j&~g)+f[8]+1163531501,h=0|(h<<20|h>>>12)+i,g+=0|(h&j|i&~j)+f[13]-1444681467,g=0|(g<<5|g>>>27)+h,j+=0|(g&i|h&~i)+f[2]-51403784,j=0|(j<<9|j>>>23)+g,i+=0|(j&h|g&~h)+f[7]+1735328473,i=0|(i<<14|i>>>18)+j,h+=0|(i&g|j&~g)+f[12]-1926607734,h=0|(h<<20|h>>>12)+i,g+=0|(h^i^j)+f[5]-378558,g=0|(g<<4|g>>>28)+h,j+=0|(g^h^i)+f[8]-2022574463,j=0|(j<<11|j>>>21)+g,i+=0|(j^g^h)+f[11]+1839030562,i=0|(i<<16|i>>>16)+j,h+=0|(i^j^g)+f[14]-35309556,h=0|(h<<23|h>>>9)+i,g+=0|(h^i^j)+f[1]-1530992060,g=0|(g<<4|g>>>28)+h,j+=0|(g^h^i)+f[4]+1272893353,j=0|(j<<11|j>>>21)+g,i+=0|(j^g^h)+f[7]-155497632,i=0|(i<<16|i>>>16)+j,h+=0|(i^j^g)+f[10]-1094730640,h=0|(h<<23|h>>>9)+i,g+=0|(h^i^j)+f[13]+681279174,g=0|(g<<4|g>>>28)+h,j+=0|(g^h^i)+f[0]-358537222,j=0|(j<<11|j>>>21)+g,i+=0|(j^g^h)+f[3]-722521979,i=0|(i<<16|i>>>16)+j,h+=0|(i^j^g)+f[6]+76029189,h=0|(h<<23|h>>>9)+i,g+=0|(h^i^j)+f[9]-640364487,g=0|(g<<4|g>>>28)+h,j+=0|(g^h^i)+f[12]-421815835,j=0|(j<<11|j>>>21)+g,i+=0|(j^g^h)+f[15]+530742520,i=0|(i<<16|i>>>16)+j,h+=0|(i^j^g)+f[2]-995338651,h=0|(h<<23|h>>>9)+i,g+=0|(i^(h|~j))+f[0]-198630844,g=0|(g<<6|g>>>26)+h,j+=0|(h^(g|~i))+f[7]+1126891415,j=0|(j<<10|j>>>22)+g,i+=0|(g^(j|~h))+f[14]-1416354905,i=0|(i<<15|i>>>17)+j,h+=0|(j^(i|~g))+f[5]-57434055,h=0|(h<<21|h>>>11)+i,g+=0|(i^(h|~j))+f[12]+1700485571,g=0|(g<<6|g>>>26)+h,j+=0|(h^(g|~i))+f[3]-1894986606,j=0|(j<<10|j>>>22)+g,i+=0|(g^(j|~h))+f[10]-1051523,i=0|(i<<15|i>>>17)+j,h+=0|(j^(i|~g))+f[1]-2054922799,h=0|(h<<21|h>>>11)+i,g+=0|(i^(h|~j))+f[8]+1873313359,g=0|(g<<6|g>>>26)+h,j+=0|(h^(g|~i))+f[15]-30611744,j=0|(j<<10|j>>>22)+g,i+=0|(g^(j|~h))+f[6]-1560198380,i=0|(i<<15|i>>>17)+j,h+=0|(j^(i|~g))+f[13]+1309151649,h=0|(h<<21|h>>>11)+i,g+=0|(i^(h|~j))+f[4]-145523070,g=0|(g<<6|g>>>26)+h,j+=0|(h^(g|~i))+f[11]-1120210379,j=0|(j<<10|j>>>22)+g,i+=0|(g^(j|~h))+f[2]+718787259,i=0|(i<<15|i>>>17)+j,h+=0|(j^(i|~g))+f[9]-343485551,h=0|(h<<21|h>>>11)+i,e[0]=0|g+e[0],e[1]=0|h+e[1],e[2]=0|i+e[2],e[3]=0|j+e[3]}function c(a){var b,c=[];for(b=0;64>b;b+=4)c[b>>2]=a.charCodeAt(b)+(a.charCodeAt(b+1)<<8)+(a.charCodeAt(b+2)<<16)+(a.charCodeAt(b+3)<<24);return c}function d(b){var a,c=[];for(a=0;64>a;a+=4)c[a>>2]=b[a]+(b[a+1]<<8)+(b[a+2]<<16)+(b[a+3]<<24);return c}function e(a){var d,e,f,g,h,j,k=a.length,l=[1732584193,-271733879,-1732584194,271733878];for(d=64;d<=k;d+=64)b(l,c(a.substring(d-64,d)));for(a=a.substring(d-64),e=a.length,f=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],d=0;d<e;d+=1)f[d>>2]|=a.charCodeAt(d)<<(d%4<<3);if(f[d>>2]|=128<<(d%4<<3),55<d)for(b(l,f),d=0;16>d;d+=1)f[d]=0;return g=8*k,g=g.toString(16).match(/(.*?)(.{0,8})$/),h=parseInt(g[2],16),j=parseInt(g[1],16)||0,f[14]=h,f[15]=j,b(l,f),l}function f(c){var e,f,g,h,j,k,l=c.length,m=[1732584193,-271733879,-1732584194,271733878];for(e=64;e<=l;e+=64)b(m,d(c.subarray(e-64,e)));for(c=e-64<l?c.subarray(e-64):new Uint8Array(0),f=c.length,g=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],e=0;e<f;e+=1)g[e>>2]|=c[e]<<(e%4<<3);if(g[e>>2]|=128<<(e%4<<3),55<e)for(b(m,g),e=0;16>e;e+=1)g[e]=0;return h=8*l,h=h.toString(16).match(/(.*?)(.{0,8})$/),j=parseInt(h[2],16),k=parseInt(h[1],16)||0,g[14]=j,g[15]=k,b(m,g),m}function g(a){var b,c="";for(b=0;4>b;b+=1)c+=o[15&a>>8*b+4]+o[15&a>>8*b];return c}function h(a){var b;for(b=0;b<a.length;b+=1)a[b]=g(a[b]);return a.join("")}function i(a){return /[\u0080-\uFFFF]/.test(a)&&(a=unescape(encodeURIComponent(a))),a}function j(a,b){var c,d=a.length,e=new ArrayBuffer(d),f=new Uint8Array(e);for(c=0;c<d;c+=1)f[c]=a.charCodeAt(c);return b?f:e}function k(a){return xb.apply(null,new Uint8Array(a))}function l(a,b,c){var d=new Uint8Array(a.byteLength+b.byteLength);return d.set(new Uint8Array(a)),d.set(new Uint8Array(b),a.byteLength),c?d:d.buffer}function m(a){var b,c=[],d=a.length;for(b=0;b<d-1;b+=2)c.push(parseInt(a.substr(b,2),16));return xb.apply(String,c)}function n(){this.reset()}var o=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];if("5d41402abc4b2a76b9719d911017c592"!==h(e("hello")));return"undefined"==typeof ArrayBuffer||ArrayBuffer.prototype.slice||function(){function b(a,b){return a=0|a||0,0>a?Gb(a+b,0):Hb(a,b)}ArrayBuffer.prototype.slice=function(c,d){var e,f,g,h,i=this.byteLength,j=b(c,i),k=i;return(d!==a&&(k=b(d,i)),j>k)?new ArrayBuffer(0):(e=k-j,f=new ArrayBuffer(e),g=new Uint8Array(f),h=new Uint8Array(this,j,e),g.set(h),f)}}(),n.prototype.append=function(a){return this.appendBinary(i(a)),this},n.prototype.appendBinary=function(a){this._buff+=a,this._length+=a.length;var d,e=this._buff.length;for(d=64;d<=e;d+=64)b(this._hash,c(this._buff.substring(d-64,d)));return this._buff=this._buff.substring(d-64),this},n.prototype.end=function(a){var b,c,d=this._buff,e=d.length,f=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(b=0;b<e;b+=1)f[b>>2]|=d.charCodeAt(b)<<(b%4<<3);return this._finish(f,e),c=h(this._hash),a&&(c=m(c)),this.reset(),c},n.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},n.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},n.prototype.setState=function(a){return this._buff=a.buff,this._length=a.length,this._hash=a.hash,this},n.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},n.prototype._finish=function(a,c){var d,e,f,g=c;if(a[g>>2]|=128<<(g%4<<3),55<g)for(b(this._hash,a),g=0;16>g;g+=1)a[g]=0;d=8*this._length,d=d.toString(16).match(/(.*?)(.{0,8})$/),e=parseInt(d[2],16),f=parseInt(d[1],16)||0,a[14]=e,a[15]=f,b(this._hash,a)},n.hash=function(a,b){return n.hashBinary(i(a),b)},n.hashBinary=function(a,b){var c=e(a),d=h(c);return b?m(d):d},n.ArrayBuffer=function(){this.reset()},n.ArrayBuffer.prototype.append=function(a){var c,e=l(this._buff.buffer,a,!0),f=e.length;for(this._length+=a.byteLength,c=64;c<=f;c+=64)b(this._hash,d(e.subarray(c-64,c)));return this._buff=c-64<f?new Uint8Array(e.buffer.slice(c-64)):new Uint8Array(0),this},n.ArrayBuffer.prototype.end=function(a){var b,c,d=this._buff,e=d.length,f=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(b=0;b<e;b+=1)f[b>>2]|=d[b]<<(b%4<<3);return this._finish(f,e),c=h(this._hash),a&&(c=m(c)),this.reset(),c},n.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},n.ArrayBuffer.prototype.getState=function(){var a=n.prototype.getState.call(this);return a.buff=k(a.buff),a},n.ArrayBuffer.prototype.setState=function(a){return a.buff=j(a.buff,!0),n.prototype.setState.call(this,a)},n.ArrayBuffer.prototype.destroy=n.prototype.destroy,n.ArrayBuffer.prototype._finish=n.prototype._finish,n.ArrayBuffer.hash=function(a,b){var c=f(new Uint8Array(a)),d=h(c);return b?m(d):d},n})}),Wd=.7,Xd=1/Wd,Yd="\\s*([+-]?\\d+)\\s*",Zd="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",$d="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",_d=/^#([0-9a-f]{3,8})$/,ae=new RegExp("^rgb\\(".concat(Yd,",").concat(Yd,",").concat(Yd,"\\)$")),be=new RegExp("^rgb\\(".concat($d,",").concat($d,",").concat($d,"\\)$")),ce=new RegExp("^rgba\\(".concat(Yd,",").concat(Yd,",").concat(Yd,",").concat(Zd,"\\)$")),de=new RegExp("^rgba\\(".concat($d,",").concat($d,",").concat($d,",").concat(Zd,"\\)$")),ee=new RegExp("^hsl\\(".concat(Zd,",").concat($d,",").concat($d,"\\)$")),fe=new RegExp("^hsla\\(".concat(Zd,",").concat($d,",").concat($d,",").concat(Zd,"\\)$")),ge={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};O(La,Oa,{copy(a){return Object.assign(new this.constructor,this,a)},displayable(){return this.rgb().displayable()},hex:Ma,formatHex:Ma,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return $a(this).formatHsl()},formatRgb:Na,toString:Na}),O(Ta,Sa,Ka(La,{brighter(a){return a=null==a?Xd:Eb(Xd,a),new Ta(this.r*a,this.g*a,this.b*a,this.opacity)},darker(a){return a=null==a?Wd:Eb(Wd,a),new Ta(this.r*a,this.g*a,this.b*a,this.opacity)},rgb(){return this},clamp(){return new Ta(Xa(this.r),Xa(this.g),Xa(this.b),Wa(this.opacity))},displayable(){return-.5<=this.r&&255.5>this.r&&-.5<=this.g&&255.5>this.g&&-.5<=this.b&&255.5>this.b&&0<=this.opacity&&1>=this.opacity},hex:Ua,formatHex:Ua,formatHex8:function(){return"#".concat(Ya(this.r)).concat(Ya(this.g)).concat(Ya(this.b)).concat(Ya(255*(isNaN(this.opacity)?1:this.opacity)))},formatRgb:Va,toString:Va})),O(ab,function(a,b,c,d){return 1===arguments.length?$a(a):new ab(a,b,c,null==d?1:d)},Ka(La,{brighter(a){return a=null==a?Xd:Eb(Xd,a),new ab(this.h,this.s,this.l*a,this.opacity)},darker(a){return a=null==a?Wd:Eb(Wd,a),new ab(this.h,this.s,this.l*a,this.opacity)},rgb(){var a=this.h%360+360*(0>this.h),b=isNaN(a)||isNaN(this.s)?0:this.s,c=this.l,d=c+(.5>c?c:1-c)*b,e=2*c-d;return new Ta(db(240<=a?a-240:a+120,e,d),db(a,e,d),db(120>a?a+240:a-120,e,d),this.opacity)},clamp(){return new ab(bb(this.h),cb(this.s),cb(this.l),Wa(this.opacity))},displayable(){return(0<=this.s&&1>=this.s||isNaN(this.s))&&0<=this.l&&1>=this.l&&0<=this.opacity&&1>=this.opacity},formatHsl(){var b=Wa(this.opacity);return"".concat(1===b?"hsl(":"hsla(").concat(bb(this.h),", ").concat(100*cb(this.s),"%, ").concat(100*cb(this.l),"%").concat(1===b?")":", ".concat(b,")"))}}));var he=wb/180,ie=180/wb,je=18,ke=.96422,le=.82521,me=4/29,ne=6/29,oe=3*ne*ne,pe=ne*ne*ne;O(fb,function(c,d,a,b){return 1===arguments.length?eb(c):new fb(c,d,a,null==b?1:b)},Ka(La,{brighter(a){return new fb(this.l+je*(null==a?1:a),this.a,this.b,this.opacity)},darker(a){return new fb(this.l-je*(null==a?1:a),this.a,this.b,this.opacity)},rgb(){var a=(this.l+16)/116,b=isNaN(this.a)?a:a+this.a/500,c=isNaN(this.b)?a:a-this.b/200;return b=ke*hb(b),a=1*hb(a),c=le*hb(c),new Ta(ib(3.1338561*b-1.6168667*a-.4906146*c),ib(-.9787684*b+1.9161415*a+.033454*c),ib(.0719453*b-.2289914*a+1.4052427*c),this.opacity)}})),O(lb,function(a,b,c,d){return 1===arguments.length?kb(a):new lb(a,b,c,null==d?1:d)},Ka(La,{brighter(a){return new lb(this.h,this.c,this.l+je*(null==a?1:a),this.opacity)},darker(a){return new lb(this.h,this.c,this.l-je*(null==a?1:a),this.opacity)},rgb(){return mb(this).rgb()}}));var qe=-.14861,re=+1.78277,se=-.29227,te=-.90649,ue=+1.97294,ve=ue*te,we=ue*re,xe=re*se-te*qe;O(ob,function(a,b,c,d){return 1===arguments.length?nb(a):new ob(a,b,c,null==d?1:d)},Ka(La,{brighter(a){return a=null==a?Xd:Eb(Xd,a),new ob(this.h,this.s,this.l*a,this.opacity)},darker(a){return a=null==a?Wd:Eb(Wd,a),new ob(this.h,this.s,this.l*a,this.opacity)},rgb(){var b=isNaN(this.h)?0:(this.h+120)*he,c=+this.l,d=isNaN(this.s)?0:this.s*c*(1-c),a=Bb(b),e=Ab(b);return new Ta(255*(c+d*(qe*a+re*e)),255*(c+d*(se*a+te*e)),255*(c+d*(ue*a)),this.opacity)}}));var ye=a=>()=>a,ze=function a(b){function c(a,c){var e=d((a=Sa(a)).r,(c=Sa(c)).r),f=d(a.g,c.g),g=d(a.b,c.b),b=sb(a.opacity,c.opacity);return function(c){return a.r=e(c),a.g=f(c),a.b=g(c),a.opacity=b(c),a+""}}var d=rb(b);return c.gamma=a,c}(1),Ae="https://github.com/kalkih/mini-graph-card/blob/master/README.md",Be=14,Ce=96,De={humidity:"hass:water-percent",illuminance:"hass:brightness-5",temperature:"hass:thermometer",battery:"hass:battery",pressure:"hass:gauge",power:"hass:flash",signal_strength:"hass:wifi",motion:"hass:walk",door:"hass:door-closed",window:"hass:window-closed",presence:"hass:account",light:"hass:lightbulb"},Ee=["var(--accent-color)","#3498db","#e74c3c","#9b59b6","#f1c40f","#2ecc71","#1abc9c","#34495e","#e67e22","#7f8c8d","#27ae60","#2980b9","#8e44ad"],Fe=["entity","line","length","fill","points","tooltip","abs","config"],Ge={name:!0,icon:!0,state:!0,graph:"line",labels:"hover",labels_secondary:"hover",extrema:!1,legend:!0,fill:!0,points:"hover"},He=0,X=1,Y=2,V=3600000;class Ie{constructor(a,b,c){var d=3<arguments.length&&arguments[3]!==void 0?arguments[3]:24,e=4<arguments.length&&arguments[4]!==void 0?arguments[4]:1,f=5<arguments.length&&arguments[5]!==void 0?arguments[5]:"avg",g=6<arguments.length&&arguments[6]!==void 0?arguments[6]:"interval",h=!(7<arguments.length&&arguments[7]!==void 0)||arguments[7],i=!!(8<arguments.length&&arguments[8]!==void 0)&&arguments[8],j={avg:this._average,median:this._median,max:this._maximum,min:this._minimum,first:this._first,last:this._last,sum:this._sum,delta:this._delta,diff:this._diff};this._history=void 0,this.coords=[],this.width=a-2*c[He],this.height=b-4*c[X],this.margin=c,this._max=0,this._min=0,this.points=e,this.hours=d,this.aggregateFuncName=f,this._calcPoint=j[f]||this._average,this._smoothing=h,this._logarithmic=i,this._groupBy=g,this._endTime=0}get max(){return this._max}set max(a){this._max=a}get min(){return this._min}set min(a){this._min=a}set history(a){this._history=a}update(){var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:void 0;if(a&&(this._history=a),!!this._history){this._updateEndTime();var b=this._history.reduce((a,b)=>this._reducer(a,b),[]),c=vb(this.hours*this.points);b.length=c,this.coords=this._calcPoints(b),this.min=Hb.apply(Math,W(this.coords.map(a=>+a[Y]))),this.max=Gb.apply(Math,W(this.coords.map(a=>+a[Y])))}}_reducer(a,b){var c=this._endTime-new Date(b.last_changed).getTime(),d=c/V*this.points-this.hours*this.points;if(0>d){var e=yb(zb(d));a[e]||(a[e]=[]),a[e].push(b)}else a[0]=[b];return a}_calcPoints(a){var b=this.width/(this.hours*this.points-1);b=Number.isFinite(b)?b:this.width;for(var c,d=[],e=a.filter(Boolean)[0],f=0;f<a.length;f+=1)c=b*f+this.margin[He],a[f]?(e=a[f],d.push([c,0,this._calcPoint(e)])):d.push([c,0,this._lastValue(e)]);return d}_calcY(a){var b=this._logarithmic?ub(Gb(1,this.max)):this.max,c=this._logarithmic?ub(Gb(1,this.min)):this.min,d=(b-c)/this.height||1,e=a.map(a=>{var b=this._logarithmic?ub(Gb(1,a[Y])):a[Y],e=this.height-(b-c)/d+2*this.margin[X];return[a[He],e,a[Y]]});return e}getPoints(){var{coords:a}=this;if(1===a.length&&(a[1]=[this.width+this.margin[He],0,a[0][Y]]),a=this._calcY(this.coords),this._smoothing){var b=a[0];return a.shift(),a.map((a,c)=>{var d=this._midPoint(b[He],b[X],a[He],a[X]),e=(b[Y]+a[Y])/2;return b=a,[d[He],d[X],e,c+1]})}return a.map((a,b)=>[a[He],a[X],a[Y],b])}getPath(){var{coords:a}=this;1===a.length&&(a[1]=[this.width+this.margin[He],0,a[0][Y]]),a=this._calcY(this.coords);var b,c,d="",e=a[0];return d+="M".concat(e[He],",").concat(e[X]),a.forEach(a=>{b=a,c=this._smoothing?this._midPoint(e[He],e[X],b[He],b[X]):b,d+=" ".concat(c[He],",").concat(c[X]),d+=" Q ".concat(b[He],",").concat(b[X]),e=b}),d+=" ".concat(b[He],",").concat(b[X]),d}computeGradient(a,b){var c=b?ub(Gb(1,this._max))-ub(Gb(1,this._min)):this._max-this._min;return a.map((a,d,e)=>{var f;if(a.value>this._max&&e[d+1]){var h=(this._max-e[d+1].value)/(a.value-e[d+1].value);f=ze(e[d+1].color,a.color)(h)}else if(a.value<this._min&&e[d-1]){var i=(e[d-1].value-this._min)/(e[d-1].value-a.value);f=ze(e[d-1].color,a.color)(i)}var g;return g=0>=c?0:b?(ub(Gb(1,this._max))-ub(Gb(1,a.value)))*(100/c):(this._max-a.value)*(100/c),{color:f||a.color,offset:g}})}getFill(a){var b=this.height+4*this.margin[X],c=a;return c+=" L ".concat(this.width-2*this.margin[He],", ").concat(b),c+=" L ".concat(this.coords[0][He],", ").concat(b," z"),c}getBars(a,b){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:4,d=this._calcY(this.coords),e=(this.width-c)/vb(this.hours*this.points)/b;return d.map((d,f)=>({x:e*f*b+e*a+c,y:d[X],height:this.height-d[X]+4*this.margin[X],width:e-c,value:d[Y]}))}_midPoint(a,b,c,d){return[(a-c)/2+c,(b-d)/2+d]}_average(a){return a.reduce((a,b)=>a+parseFloat(b.state),0)/a.length}_median(a){var b=W(a).sort((c,a)=>parseFloat(c)-parseFloat(a)),c=yb((b.length-1)/2);return 1==b.length%2?parseFloat(b[c].state):(parseFloat(b[c].state)+parseFloat(b[c+1].state))/2}_maximum(a){return Gb.apply(Math,W(a.map(a=>a.state)))}_minimum(a){return Hb.apply(Math,W(a.map(a=>a.state)))}_first(a){return parseFloat(a[0].state)}_last(a){return parseFloat(a[a.length-1].state)}_sum(a){return a.reduce((a,b)=>a+parseFloat(b.state),0)}_delta(a){return this._maximum(a)-this._minimum(a)}_diff(a){return this._last(a)-this._first(a)}_lastValue(a){return["delta","diff"].includes(this.aggregateFuncName)?0:parseFloat(a[a.length-1].state)||0}_updateEndTime(){switch(this._endTime=new Date,this._groupBy){case"month":this._endTime.setMonth(this._endTime.getMonth()+1),this._endTime.setDate(1);break;case"date":this._endTime.setDate(this._endTime.getDate()+1),this._endTime.setHours(0,0,0,0);break;case"hour":this._endTime.setHours(this._endTime.getHours()+1),this._endTime.setMinutes(0,0,0);}}}var Je=function css(a){for(var b=arguments.length,c=Array(1<b?b-1:0),d=1;d<b;d++)c[d-1]=arguments[d];var e=c.reduce((b,c,d)=>b+Qc(c)+a[d+1],a[0]);return new Oc(e,Nc)}(R()),Ke=(a,b,c,d,f)=>{var g;switch(d.action){case"more-info":{g=new Event("hass-more-info",{composed:!0}),g.detail={entityId:f},a.dispatchEvent(g);break}case"navigate":{if(!d.navigation_path)return;window.history.pushState(null,"",d.navigation_path),g=new Event("location-changed",{composed:!0}),g.detail={replace:!1},window.dispatchEvent(g);break}case"call-service":{if(!d.service)return;var[h,i]=d.service.split(".",2),j=P({},d.service_data);b.callService(h,i,j);break}case"url":{if(!d.url)return;window.location.href=d.url;break}case"fire-dom-event":{g=new Event("ll-custom",{composed:!0,bubbles:!0}),g.detail=d,a.dispatchEvent(g);break}}},Le=xb,Me=a=>Ne(a,16,function(b){return Le(b)}),Ne=(a,b,c)=>{if(null==a)return"";var d,e,f,g={},h={},j="",k="",l="",m=2,n=3,o=2,p=[],q=0,r=0;for(f=0;f<a.length;f+=1)if(j=a.charAt(f),Object.prototype.hasOwnProperty.call(g,j)||(g[j]=n++,h[j]=!0),k=l+j,Object.prototype.hasOwnProperty.call(g,k))l=k;else{if(Object.prototype.hasOwnProperty.call(h,l)){if(256>l.charCodeAt(0)){for(d=0;d<o;d++)q<<=1,r==b-1?(r=0,p.push(c(q)),q=0):r++;for(e=l.charCodeAt(0),d=0;8>d;d++)q=q<<1|1&e,r==b-1?(r=0,p.push(c(q)),q=0):r++,e>>=1}else{for(e=1,d=0;d<o;d++)q=q<<1|e,r==b-1?(r=0,p.push(c(q)),q=0):r++,e=0;for(e=l.charCodeAt(0),d=0;16>d;d++)q=q<<1|1&e,r==b-1?(r=0,p.push(c(q)),q=0):r++,e>>=1}m--,0==m&&(m=Eb(2,o),o++),delete h[l]}else for(e=g[l],d=0;d<o;d++)q=q<<1|1&e,r==b-1?(r=0,p.push(c(q)),q=0):r++,e>>=1;m--,0==m&&(m=Eb(2,o),o++),g[k]=n++,l=j+""}if(""!==l){if(Object.prototype.hasOwnProperty.call(h,l)){if(256>l.charCodeAt(0)){for(d=0;d<o;d++)q<<=1,r==b-1?(r=0,p.push(c(q)),q=0):r++;for(e=l.charCodeAt(0),d=0;8>d;d++)q=q<<1|1&e,r==b-1?(r=0,p.push(c(q)),q=0):r++,e>>=1}else{for(e=1,d=0;d<o;d++)q=q<<1|e,r==b-1?(r=0,p.push(c(q)),q=0):r++,e=0;for(e=l.charCodeAt(0),d=0;16>d;d++)q=q<<1|1&e,r==b-1?(r=0,p.push(c(q)),q=0):r++,e>>=1}m--,0==m&&(m=Eb(2,o),o++),delete h[l]}else for(e=g[l],d=0;d<o;d++)q=q<<1|1&e,r==b-1?(r=0,p.push(c(q)),q=0):r++,e>>=1;m--,0==m&&(m=Eb(2,o),o++)}for(e=2,d=0;d<o;d++)q=q<<1|1&e,r==b-1?(r=0,p.push(c(q)),q=0):r++,e>>=1;for(;;)if(q<<=1,r==b-1){p.push(c(q));break}else r++;return p.join("")},Oe=a=>null==a?"":""==a?null:Pe(a.length,32768,function(b){return a.charCodeAt(b)}),Pe=(a,b,d)=>{var e,f,g,h,j,k,l,m=[],n=4,o=4,p=3,q="",r=[],s={val:d(0),position:b,index:1};for(e=0;3>e;e+=1)m[e]=e;for(g=0,j=Eb(2,2),k=1;k!=j;)h=s.val&s.position,s.position>>=1,0==s.position&&(s.position=b,s.val=d(s.index++)),g|=(0<h?1:0)*k,k<<=1;switch(g){case 0:for(g=0,j=Eb(2,8),k=1;k!=j;)h=s.val&s.position,s.position>>=1,0==s.position&&(s.position=b,s.val=d(s.index++)),g|=(0<h?1:0)*k,k<<=1;l=Le(g);break;case 1:for(g=0,j=Eb(2,16),k=1;k!=j;)h=s.val&s.position,s.position>>=1,0==s.position&&(s.position=b,s.val=d(s.index++)),g|=(0<h?1:0)*k,k<<=1;l=Le(g);break;case 2:return"";}for(m[3]=l,f=l,r.push(l);;){if(s.index>a)return"";for(g=0,j=Eb(2,p),k=1;k!=j;)h=s.val&s.position,s.position>>=1,0==s.position&&(s.position=b,s.val=d(s.index++)),g|=(0<h?1:0)*k,k<<=1;switch(l=g){case 0:for(g=0,j=Eb(2,8),k=1;k!=j;)h=s.val&s.position,s.position>>=1,0==s.position&&(s.position=b,s.val=d(s.index++)),g|=(0<h?1:0)*k,k<<=1;m[o++]=Le(g),l=o-1,n--;break;case 1:for(g=0,j=Eb(2,16),k=1;k!=j;)h=s.val&s.position,s.position>>=1,0==s.position&&(s.position=b,s.val=d(s.index++)),g|=(0<h?1:0)*k,k<<=1;m[o++]=Le(g),l=o-1,n--;break;case 2:return r.join("");}if(0==n&&(n=Eb(2,p),p++),m[l])q=m[l];else if(l===o)q=f+f.charAt(0);else return null;r.push(q),m[o++]=f+q.charAt(0),n--,f=q,0==n&&(n=Eb(2,p),p++)}},Qe=(a,b)=>a.reduce((a,c)=>+c[b]<+a[b]?c:a,a[0]),Re=(a,b)=>a.reduce((a,c)=>a+ +c[b],0)/a.length,Se=(a,b)=>a.reduce((a,c)=>+c[b]>+a[b]?c:a,a[0]),Te=function(a,b){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:"en-US";return a.toLocaleString(c,P({hour:"numeric",minute:"numeric"},b))},Ue=a=>a*3600*1000,Ve=a=>Me(JSON.stringify(a)),We=a=>"string"==typeof a?JSON.parse(Oe(a)):a,Xe=function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return b.find(a=>"undefined"!=typeof a)},Ye=(c,a)=>c.length===a.length&&c.every((b,c)=>b===a[c]),Ze=a=>{console.warn("mini-graph-card: ",a)},$e=(a,b)=>{for(var c=b,d=a.length;c<d;c+=1)if(null!=a[c].value)return c;throw new Error("Error in threshold interpolation: could not find right-nearest valued stop. Do the first and last thresholds have a set \"value\"?")},_e=a=>{if(!a||!a.length)return a;if(null==a[0].value||null==a[a.length-1].value)throw new Error("The first and last thresholds must have a set \"value\".\n See ".concat(Ae));var b=0,c=null;return a.map((d,e)=>{if(null!=d.value)return b=e,P({},d);null==c?c=$e(a,e):e>c&&(b=c,c=$e(a,e));var f=a[b].value,g=a[c].value,h=(g-f)/(c-b);return{color:"string"==typeof d?d:d.color,value:h*e+f}})},af=(a,b)=>{var c=_e(a);if(c.sort((c,a)=>a.value-c.value),"smooth"===b)return c;var d,e=(d=[]).concat.apply(d,W(c.map((a,b)=>[a,{value:a.value-1e-4,color:c[b+1]?c[b+1].color:a.color}])));return e},bf=a=>{if(!Array.isArray(a.entities))throw new Error("Please provide the \"entities\" option as a list.\n See ".concat(Ae));if(a.line_color_above||a.line_color_below)throw new Error("\"line_color_above/line_color_below\" was removed, please use \"color_thresholds\".\n See ".concat(Ae));var b=P(P({animate:!1,hour24:!1,font_size:Be,font_size_header:14,height:100,hours_to_show:24,points_per_hour:.5,aggregate_func:"avg",group_by:"interval",line_color:[].concat(Ee),color_thresholds:[],color_thresholds_transition:"smooth",line_width:5,bar_spacing:4,compress:!0,smoothing:!0,state_map:[],cache:!0,value_factor:0,tap_action:{action:"more-info"}},JSON.parse(JSON.stringify(a))),{},{show:P(P({},Ge),a.show)});b.entities.forEach((a,c)=>{"string"==typeof a&&(b.entities[c]={entity:a})}),b.state_map.forEach((a,c)=>{"string"==typeof a&&(b.state_map[c]={value:a,label:a}),b.state_map[c].label=b.state_map[c].label||b.state_map[c].value}),"string"==typeof a.line_color&&(b.line_color=[a.line_color].concat(Ee)),b.font_size=a.font_size/100*Be||Be,b.color_thresholds=af(b.color_thresholds,b.color_thresholds_transition);var c=24<b.hours_to_show?{day:"numeric",weekday:"short"}:{},d=b.hour24?{hourCycle:"h23"}:{hour12:!0};switch(b.format=P(P({},d),c),b.group_by){case"date":b.points_per_hour=1/24;break;case"hour":b.points_per_hour=1;}if("bar"===b.show.graph){var e=b.entities.length;b.hours_to_show*b.points_per_hour*e>Ce&&(b.points_per_hour=Ce/(b.hours_to_show*e),Ze("Not enough space, adjusting points_per_hour to ".concat(b.points_per_hour)))}return b},cf="0.13.0";pd.config({name:"mini-graph-card",version:1,storeName:"entity_history_cache",description:"Mini graph card uses caching for the entity history"}),pd.iterate((a,b)=>{var c=b.endsWith("-raw")?a:We(a),d=new Date;d.setHours(d.getHours()-c.hours_to_show),(a.version!==cf||new Date(c.last_fetched)<d)&&pd.removeItem(b)}).catch(a=>{console.warn("Purging has errored: ",a)}),console.info("%c MINI-GRAPH-CARD %c ".concat(cf," "),"color: white; background: coral; font-weight: 700;","color: coral; background: white; font-weight: 700;");class df extends Sc{constructor(){super(),this.id=Math.random().toString(36).substr(2,9),this.config={},this.bound=[0,0],this.boundSecondary=[0,0],this.length=[],this.entity=[],this.line=[],this.bar=[],this.abs=[],this.fill=[],this.points=[],this.gradient=[],this.tooltip={},this.updateQueue=[],this.updating=!1,this.stateChanged=!1,this.initial=!0,this._md5Config=void 0}static get styles(){return Je}set hass(a){this._hass=a;var b=!1,c=[];this.config.entities.forEach((d,e)=>{this.config.entities[e].index=e;var f=a&&a.states[d.entity]||void 0;f&&this.entity[e]!==f&&(this.entity[e]=f,c.push("".concat(f.entity_id,"-").concat(e)),b=!0)}),b&&(this.stateChanged=!0,this.entity=W(this.entity),this.config.update_interval||this.updating?this.updateQueue=[].concat(c,W(this.updateQueue)):setTimeout(()=>{this.updateQueue=[].concat(c,W(this.updateQueue)),this.updateData()},this.initial?0:1e3))}static get properties(){return{id:String,_hass:{},config:{},entity:[],Graph:[],line:[],shadow:[],length:Number,bound:[],boundSecondary:[],abs:[],tooltip:{},updateQueue:[],color:String}}setConfig(a){this.config=bf(a,this.config),this._md5Config=Q.hash(JSON.stringify(this.config));var b=!Ye(this.config.entities||[],a.entities);(!this.Graph||b)&&(this._hass&&(this.hass=this._hass),this.Graph=this.config.entities.map(a=>new Ie(500,this.config.height,[this.config.show.fill?0:this.config.line_width,this.config.line_width],this.config.hours_to_show,this.config.points_per_hour,a.aggregate_func||this.config.aggregate_func,this.config.group_by,Xe(a.smoothing,this.config.smoothing,!a.entity.startsWith("binary_sensor.")),this.config.logarithmic)))}connectedCallback(){super.connectedCallback(),this.config.update_interval&&(window.requestAnimationFrame(()=>{this.updateOnInterval()}),this.interval=setInterval(()=>this.updateOnInterval(),1e3*this.config.update_interval))}disconnectedCallback(){this.interval&&clearInterval(this.interval),super.disconnectedCallback()}shouldUpdate(a){if(Fe.some(b=>a.has(b)))return this.color=this.computeColor(void 0===this.tooltip.value?this.getEntityState(0):this.tooltip.value,this.tooltip.entity||0),!0}firstUpdated(){this.initial=!1}updated(a){this.config.animate&&a.has("line")&&(this.length.length<this.entity.length?(this.shadowRoot.querySelectorAll("svg path.line").forEach(a=>{this.length[a.id]=a.getTotalLength()}),this.length=W(this.length)):this.length=Array(this.entity.length).fill("none"))}render(){var{config:a}=0<arguments.length&&arguments[0]!==void 0?arguments[0]:this;return a&&this.entity&&this._hass?this.config.entities.some((a,b)=>void 0===this.entity[b])?this.renderWarnings():sc(M(),a.group,a.show.graph&&a.show.fill,"hover"===a.show.points,"hover"===a.show.labels,"hover"===a.show.labels_secondary,0<a.color_thresholds.length,"none"!==a.tap_action.action,a.font_size,b=>this.handlePopup(b,a.tap_action.entity||this.entity[0]),this.renderHeader(),this.renderStates(),this.renderGraph(),this.renderInfo()):sc(N())}renderWarnings(){return sc(L(),this.config.entities.map((a,b)=>this.entity[b]?sc(J()):sc(K(),this.config.entities[b].entity)))}renderHeader(){var{show:a,align_icon:b,align_header:c,font_size_header:d}=this.config;return a.name||a.icon&&"state"!==b?sc(I(),c,d,this.renderName(),"state"===b?"":this.renderIcon()):""}renderIcon(){if(this.config.icon_image!==void 0)return sc(H(),this.config.icon_image);var{icon:a,icon_adaptive_color:b}=this.config.show;return a?sc(G(),this.config.align_icon,b?"color: ".concat(this.color,";"):"",this.computeIcon(this.entity[0])):""}renderName(){if(this.config.show.name){var a=void 0===this.tooltip.entity?this.config.name||this.computeName(0):this.computeName(this.tooltip.entity),b=this.config.show.name_adaptive_color?"opacity: 1; color: ".concat(this.color,";"):"";return sc(F(),b,a)}}renderStates(){if(this.config.show.state)return sc(E(),this.config.align_state,this.renderState(0),this.config.entities.map((a,b)=>0<b&&this.renderState(b)||""),"state"===this.config.align_icon?this.renderIcon():"")}getObjectAttr(a,b){return b.split(".").reduce((a,b)=>a&&a[b],a)}getEntityState(a){var b=this.config.entities[a];return"last"===this.config.show.state?this.points[a][this.points[a].length-1][Y]:b.attribute?this.getObjectAttr(this.entity[a].attributes,b.attribute):this.entity[a].state}renderState(a){var b=0===a;if(b||this.config.entities[a].show_state){var c=this.getEntityState(a),{entity:d,value:e}=this.tooltip,f=b&&d!==void 0,g=f?e:c,h=f?d:a,i=this.config.entities[h];return sc(D(),!b&&"state--small",b=>this.handlePopup(b,this.entity[a]),i.state_adaptive_color?"color: ".concat(this.computeColor(g,h)):"",i.show_indicator?this.renderIndicator(g,h):"",this.computeState(g),this.computeUom(h),b&&this.renderStateTime()||"")}}renderStateTime(){return void 0===this.tooltip.value?void 0:sc(C(),this.tooltip.label?sc(B(),this.tooltip.label):sc(A(),this.tooltip.time[0],this.tooltip.time[1]))}renderGraph(){var a=this.entity[0]&&!this.Graph.some((a,b)=>a._history===void 0&&!1!==this.config.entities[b].show_graph)||!1===this.config.show.loading_indicator;return this.config.show.graph?sc(z(),a?sc(y(),this.renderLabels(),this.renderLabelsSecondary(),this.renderSvg(),this.renderLegend()):sc(x())):""}computeLegend(a){var b=this.computeName(a),c=this.getEntityState(a),{show_legend_state:d=!1}=this.config.entities[a];if(d){if(b+=" (".concat(this.computeState(c)),!["unavailable"].includes(c)){var e=this.computeUom(a);["%",""].includes(e)||(b+=" "),b+="".concat(e)}b+=")"}return b}renderLegend(){return 1>=this.visibleLegends.length||!this.config.show.legend?void 0:sc(w(),this.visibleLegends.map(a=>{var b=this.computeLegend(a.index);return sc(v(),b=>this.handlePopup(b,this.entity[a.index]),()=>this.setTooltip(a.index,-1,this.getEntityState(a.index),"Current"),()=>this.tooltip={},this.renderIndicator(this.getEntityState(a.index),a.index),b)}))}renderIndicator(a,b){return tc(u(),this.computeColor(a,b))}renderSvgFill(a,b){if(a){var c="fade"===this.config.show.fill,d=this.length[b]||!1===this.config.entities[b].show_line;return tc(t(),"fill-grad-".concat(this.id,"-").concat(b),"fill-grad-mask-".concat(this.id,"-").concat(b),"url(#fill-grad-".concat(this.id,"-").concat(b,")"),"fill-".concat(this.id,"-").concat(b),this.config.show.fill,b,this.config.animate,d,this.config.animate?"".concat(.5*b,"s"):"0s",c?"url(#fill-grad-mask-".concat(this.id,"-").concat(b,")"):"",this.fill[b])}}renderSvgLine(a,b){if(a){var c=tc(s(),b,this.config.animate,this.length[b],this.config.animate?"".concat(.5*b,"s"):"0s",this.length[b]||"none",this.length[b]||"none","white",this.config.line_width,this.line[b]);return tc(r(),"line-".concat(this.id,"-").concat(b),c)}}renderSvgPoint(a,b){var c=this.gradient[b]?this.computeColor(a[Y],b):"inherit";return tc(q(),this.tooltip.index!==a[3],"--mcg-hover: ".concat(c,";"),c,c,a[He],a[X],this.config.line_width,()=>this.setTooltip(b,a[3],a[Y]),()=>this.tooltip={})}renderSvgPoints(a,b){if(a){var c=this.computeColor(this.entity[b].state,b);return tc(p(),this.tooltip.entity===b,void 0!==this.tooltip.entity&&this.tooltip.entity!==b,this.length[b],this.config.animate&&"hover"!==this.config.show.points,this.config.animate?"".concat(.5*b+.5,"s"):"0s",c,c,this.config.line_width/2,a.map(a=>this.renderSvgPoint(a,b)))}}renderSvgGradient(a){if(a){var b=a.map((a,b)=>a?tc(o(),"grad-".concat(this.id,"-").concat(b),a.map(a=>tc(n(),a.color,"".concat(a.offset,"%")))):void 0);return tc(m(),b)}}renderSvgLineRect(a,b){if(a){var c=this.gradient[b]?"url(#grad-".concat(this.id,"-").concat(b,")"):this.computeColor(this.entity[b].state,b);return tc(l(),void 0!==this.tooltip.entity&&this.tooltip.entity!==b,"rect-".concat(this.id,"-").concat(b),c,"url(#line-".concat(this.id,"-").concat(b,")"))}}renderSvgFillRect(a,b){if(a){var c=this.gradient[b]?"url(#grad-".concat(this.id,"-").concat(b,")"):this.computeColor(this.entity[b].state,b);return tc(k(),void 0!==this.tooltip.entity&&this.tooltip.entity!==b,"fill-rect-".concat(this.id,"-").concat(b),c,"url(#fill-".concat(this.id,"-").concat(b,")"))}}renderSvgBars(a,b){if(a){var c=a.map((a,c)=>{var d=this.config.animate?tc(j(),this.config.height,a.y):"",e=this.computeColor(a.value,b);return tc(h(),a.x,a.y,a.height,a.width,e,()=>this.setTooltip(b,c,a.value),()=>this.tooltip={},d)});return tc(g(),this.config.animate,c)}}renderSvg(){var{height:a}=this.config;return tc(f(),0===a?0:"100%",a,a=>a.stopPropagation(),this.renderSvgGradient(this.gradient),this.fill.map((a,b)=>this.renderSvgFill(a,b)),this.fill.map((a,b)=>this.renderSvgFillRect(a,b)),this.line.map((a,b)=>this.renderSvgLine(a,b)),this.line.map((a,b)=>this.renderSvgLineRect(a,b)),this.bar.map((a,b)=>this.renderSvgBars(a,b)),this.points.map((a,b)=>this.renderSvgPoints(a,b)))}setTooltip(a,b,c){var d=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null,{group_by:e,points_per_hour:f,hours_to_show:g,format:h}=this.config,i=Ue(1/f),j=vb(g*f),k=j-1-b,l="interval"===e?0:6e4,m=this.getEndDate();m.setMilliseconds(m.getMilliseconds()-l-i*k);var n=Te(m,h,this._hass.language);m.setMilliseconds(m.getMilliseconds()+l-i);var o=Te(m,h,this._hass.language);this.tooltip={value:c,count:k,entity:a,time:[o,n],index:b,label:d}}renderLabels(){return this.config.show.labels&&0!==this.primaryYaxisSeries.length?sc(e(),this.computeState(this.bound[1]),this.computeState(this.bound[0])):void 0}renderLabelsSecondary(){return this.config.show.labels_secondary&&0!==this.secondaryYaxisSeries.length?sc(d(),this.computeState(this.boundSecondary[1]),this.computeState(this.boundSecondary[0])):void 0}renderInfo(){return 0<this.abs.length?sc(c(),this.abs.map(a=>sc(b(),a.type,this.computeState(a.state),this.computeUom(0),"avg"===a.type?"":Te(new Date(a.last_changed),this.config.format,this._hass.language)))):sc(a())}handlePopup(a,b){a.stopPropagation(),Ke(this,this._hass,this.config,this.config.tap_action,b.entity_id||b)}get visibleEntities(){return this.config.entities.filter(a=>!1!==a.show_graph)}get primaryYaxisEntities(){return this.visibleEntities.filter(a=>a.y_axis===void 0||"primary"===a.y_axis)}get secondaryYaxisEntities(){return this.visibleEntities.filter(a=>"secondary"===a.y_axis)}get visibleLegends(){return this.visibleEntities.filter(a=>!1!==a.show_legend)}get primaryYaxisSeries(){return this.primaryYaxisEntities.map(a=>this.Graph[a.index])}get secondaryYaxisSeries(){return this.secondaryYaxisEntities.map(a=>this.Graph[a.index])}computeColor(a,b){var c,{color_thresholds:d,line_color:e}=this.config,f=+a||0;if(0<d.length){var{color:j}=d.find(a=>a.value<f)||d.slice(-1)[0];c=j;var g=d.findIndex(a=>a.value<f),h=d[g],i=d[g-1];if(i){var k=(i.value-f)/(i.value-h.value);c=ze(i.color,h.color)(k)}else c=g?d[d.length-1].color:d[0].color}return this.config.entities[b].color||c||e[b]||e[0]}computeName(a){return this.config.entities[a].name||this.entity[a].attributes.friendly_name||this.entity[a].entity_id}computeIcon(a){return this.config.icon||a.attributes.icon||Vd(a)||De.temperature}computeUom(a){return this.config.entities[a].unit===void 0?this.config.unit===void 0?this.config.entities[a].attribute?"":this.entity[a].attributes.unit_of_measurement||"":this.config.unit:this.config.entities[a].unit}computeState(a){if(0<this.config.state_map.length){var f=Number.isInteger(a)?this.config.state_map[a]:this.config.state_map.find(b=>b.value===a);if(f)return f.label;Ze("value [".concat(a,"] not found in state_map"))}var b="string"==typeof a?parseFloat(a.replace(/,/g,".")):+a;var c=this.config.decimals,d=10**this.config.value_factor;if(c===void 0||tb(c)||tb(b))return this.numberFormat(Fb(100*(b*d))/100,this._hass.language);var e=10**c;return this.numberFormat((Fb(b*d*e)/e).toFixed(c),this._hass.language,c)}numberFormat(a,b,c){return!tb(+a)&&Intl?new Intl.NumberFormat(b,{minimumFractionDigits:c}).format(+a):a.toString()}updateOnInterval(){this.stateChanged&&!this.updating&&(this.stateChanged=!1,this.updateData())}updateData(){var a=arguments,b=this;return U(function*(){var{config:c}=0<a.length&&void 0!==a[0]?a[0]:b;b.updating=!0;var d=b.getEndDate(),e=new Date(d);e.setMilliseconds(e.getMilliseconds()-Ue(c.hours_to_show));try{var f=b.entity.map((a,c)=>b.updateEntity(a,c,e,d));yield Promise.all(f)}catch(a){Ze(a)}if(c.show.graph&&b.entity.forEach((a,c)=>{a&&b.Graph[c].update()}),b.updateBounds(),c.show.graph){var g=0;b.entity.forEach((a,d)=>{if(a&&0!==b.Graph[d].coords.length){var e="secondary"===c.entities[d].y_axis?b.boundSecondary:b.bound;if([b.Graph[d].min,b.Graph[d].max]=[e[0],e[1]],"bar"===c.show.graph){var f=b.visibleEntities.length;b.bar[d]=b.Graph[d].getBars(g,f,c.bar_spacing),g+=1}else{var h=b.Graph[d].getPath();!1!==c.entities[d].show_line&&(b.line[d]=h),c.show.fill&&!1!==c.entities[d].show_fill&&(b.fill[d]=b.Graph[d].getFill(h)),c.show.points&&!1!==c.entities[d].show_points&&(b.points[d]=b.Graph[d].getPoints()),0<c.color_thresholds.length&&!c.entities[d].color&&(b.gradient[d]=b.Graph[d].computeGradient(c.color_thresholds,b.config.logarithmic))}}}),b.line=W(b.line)}b.updating=!1,b.setNextUpdate()})()}getBoundary(a,b,c,d){if(!(a in Math))throw new Error("The type \"".concat(a,"\" is not present on the Math object"));return void 0===c?Math[a].apply(Math,W(b.map(b=>b[a])))||d:"~"===c[0]?Math[a].apply(Math,[+c.substr(1)].concat(W(b.map(b=>b[a])))):c}getBoundaries(a,b,c,d,e){var f=[this.getBoundary("min",a,b,d[0]),this.getBoundary("max",a,c,d[1])];if(e){var g=zb(f[0]-f[1]),h=parseFloat(e)-g;if(0<h){var i=[b!==void 0&&"~"!==b[0]||c===void 0?0:1,c!==void 0&&"~"!==c[0]||b===void 0?0:1],j=i[0]+i[1];f=0<j?[f[0]-h*i[0]/j,f[1]+h*i[1]/j]:[f[0]-h/2,f[1]+h/2]}}return f}updateBounds(){var{config:a}=0<arguments.length&&arguments[0]!==void 0?arguments[0]:this;this.bound=this.getBoundaries(this.primaryYaxisSeries,a.lower_bound,a.upper_bound,this.bound,a.min_bound_range),this.boundSecondary=this.getBoundaries(this.secondaryYaxisSeries,a.lower_bound_secondary,a.upper_bound_secondary,this.boundSecondary,a.min_bound_range_secondary)}getCache(a,b){var c=this;return U(function*(){var d=yield pd.getItem("".concat(a,"_").concat(c._md5Config).concat(b?"":"_raw"));return d?b?We(d):d:null})()}setCache(a,b,c){var d=this;return U(function*(){return c?pd.setItem("".concat(a,"_").concat(d._md5Config),Ve(b)):pd.setItem("".concat(a,"_").concat(d._md5Config,"_raw"),b)})()}updateEntity(a,b,c,d){var e=this;return U(function*(){if(a&&e.updateQueue.includes("".concat(a.entity_id,"-").concat(b))&&!1!==e.config.entities[b].show_graph){e.updateQueue=e.updateQueue.filter(c=>c!=="".concat(a.entity_id,"-").concat(b));var f=[],g=c,h=!1,i=e.config.cache?yield e.getCache("".concat(a.entity_id,"_").concat(b),e.config.useCompress):void 0;if(i&&i.hours_to_show===e.config.hours_to_show){f=i.data;var k=f.findIndex(a=>new Date(a.last_changed)>c);-1===k?f=[]:(0<k&&(k-=1,f[k].last_changed=c),f=f.slice(k,f.length),h=!0);var l=new Date(i.last_fetched);l>g&&(g=new Date(l-1))}var j=yield e.fetchRecent(a.entity_id,g,d,!e.config.entities[b].attribute&&h,!!e.config.entities[b].attribute);if(j[0]&&0<j[0].length&&(e.config.entities[b].attribute&&h&&j[0].shift(),(0<e.config.state_map.length||e.config.entities[b].attribute)&&j[0].forEach(a=>{e.config.entities[b].attribute&&(a.state=e.getObjectAttr(a.attributes,e.config.entities[b].attribute),delete a.attributes),0<e.config.state_map.length&&e._convertState(a)}),j=j[0].filter(a=>!tb(parseFloat(a.state))),j=j.map(a=>({last_changed:e.config.entities[b].attribute?a.last_updated:a.last_changed,state:a.state})),f=[].concat(W(f),W(j)),e.config.cache&&e.setCache("".concat(a.entity_id,"_").concat(b),{hours_to_show:e.config.hours_to_show,last_fetched:new Date,data:f,version:cf},e.config.useCompress).catch(a=>{Ze(a),pd.clear()})),0!==f.length)if(e.entity[0]&&a.entity_id===e.entity[0].entity_id&&e.updateExtrema(f),!0===e.config.entities[b].fixed_value){var m=f[f.length-1];e.Graph[b].history=[m,m]}else e.Graph[b].history=f}})()}fetchRecent(a,b,c,d,e){var f=this;return U(function*(){var g="history/period";return b&&(g+="/".concat(b.toISOString())),g+="?filter_entity_id=".concat(a),c&&(g+="&end_time=".concat(c.toISOString())),d&&(g+="&skip_initial_state"),e||(g+="&minimal_response&no_attributes"),e&&(g+="&significant_changes_only=0"),f._hass.callApi("GET",g)})()}updateExtrema(a){var{extrema:b,average:c}=this.config.show;this.abs=[].concat(W(b?[P({type:"min"},Qe(a,"state"))]:[]),W(c?[{type:"avg",state:Re(a,"state")}]:[]),W(b?[P({type:"max"},Se(a,"state"))]:[]))}_convertState(a){var b=this.config.state_map.findIndex(b=>b.value===a.state);-1===b||(a.state=b)}getEndDate(){var a=new Date;switch(this.config.group_by){case"date":a.setDate(a.getDate()+1),a.setHours(0,0,0);break;case"hour":a.setHours(a.getHours()+1),a.setMinutes(0,0);}return a}setNextUpdate(){if(!this.config.update_interval){var a=1/this.config.points_per_hour;clearInterval(this.interval),this.interval=setInterval(()=>{this.updating||this.updateData()},a*V)}}getCardSize(){return 3}}customElements.define("mini-graph-card",df),window.customCards=window.customCards||[],window.customCards.push({type:"mini-graph-card",name:"Mini Graph Card",preview:!1,description:"The Mini Graph card is a minimalistic and customizable graph card"})})})();
|