From 641ba014f2f4310833f866ddbc5b1012aa135407 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen <paulus@paulusschoutsen.nl> Date: Mon, 15 May 2017 23:17:21 -0700 Subject: [PATCH] Update frontend --- homeassistant/components/frontend/version.py | 8 ++++---- .../components/frontend/www_static/core.js | 2 +- .../components/frontend/www_static/core.js.gz | Bin 2678 -> 2681 bytes .../frontend/www_static/frontend.html | 2 +- .../frontend/www_static/frontend.html.gz | Bin 140627 -> 140708 bytes .../www_static/home-assistant-polymer | 2 +- .../panels/ha-panel-automation.html | 4 ++-- .../panels/ha-panel-automation.html.gz | Bin 40511 -> 43960 bytes .../www_static/panels/ha-panel-hassio.html | 18 +----------------- .../www_static/panels/ha-panel-hassio.html.gz | Bin 7381 -> 392 bytes .../frontend/www_static/service_worker.js | 2 +- .../frontend/www_static/service_worker.js.gz | Bin 2509 -> 2512 bytes 12 files changed, 11 insertions(+), 27 deletions(-) diff --git a/homeassistant/components/frontend/version.py b/homeassistant/components/frontend/version.py index f92bb64ff69..3dea156f6ed 100644 --- a/homeassistant/components/frontend/version.py +++ b/homeassistant/components/frontend/version.py @@ -2,18 +2,18 @@ FINGERPRINTS = { "compatibility.js": "8e4c44b5f4288cc48ec1ba94a9bec812", - "core.js": "8cc30e2ad9ee3df44fe7a17507099d88", - "frontend.html": "5999c8fac69c503b846672cae75a12b0", + "core.js": "d4a7cb8c80c62b536764e0e81385f6aa", + "frontend.html": "19637e5a62837c8dc0bec1863adc9249", "mdi.html": "f407a5a57addbe93817ee1b244d33fbe", "micromarkdown-js.html": "93b5ec4016f0bba585521cf4d18dec1a", - "panels/ha-panel-automation.html": "cc6fe23a97c1974b9f4165a7692bb280", + "panels/ha-panel-automation.html": "f9a6727e2354224577298fc0f2dadc2e", "panels/ha-panel-config.html": "59d9eb28758b497a4d9b2428f978b9b1", "panels/ha-panel-dev-event.html": "2db9c218065ef0f61d8d08db8093cad2", "panels/ha-panel-dev-info.html": "61610e015a411cfc84edd2c4d489e71d", "panels/ha-panel-dev-service.html": "415552027cb083badeff5f16080410ed", "panels/ha-panel-dev-state.html": "d70314913b8923d750932367b1099750", "panels/ha-panel-dev-template.html": "567fbf86735e1b891e40c2f4060fec9b", - "panels/ha-panel-hassio.html": "41fc94a5dc9247ed7efa112614491c71", + "panels/ha-panel-hassio.html": "9474ba65077371622f21ed9a30cf5229", "panels/ha-panel-history.html": "89062c48c76206cad1cec14ddbb1cbb1", "panels/ha-panel-iframe.html": "d920f0aa3c903680f2f8795e2255daab", "panels/ha-panel-logbook.html": "6dd6a16f52117318b202e60f98400163", diff --git a/homeassistant/components/frontend/www_static/core.js b/homeassistant/components/frontend/www_static/core.js index 4e78459c294..d1d4c5de1a0 100644 --- a/homeassistant/components/frontend/www_static/core.js +++ b/homeassistant/components/frontend/www_static/core.js @@ -1 +1 @@ -!function(){"use strict";function e(e){return{type:"auth",api_password:e}}function t(){return{type:"get_states"}}function n(){return{type:"get_config"}}function i(){return{type:"get_services"}}function r(){return{type:"get_panels"}}function s(e,t,n){var i={type:"call_service",domain:e,service:t};return n&&(i.service_data=n),i}function o(e){var t={type:"subscribe_events"};return e&&(t.event_type=e),t}function c(e){return{type:"unsubscribe_events",subscription:e}}function u(){return{type:"ping"}}function a(e,t){return{type:"result",success:!1,error:{code:e,message:t}}}function f(t,n){function i(r,s,o){var c=new WebSocket(t),u=!1,a=function(){if(u)return void o(C);if(0===r)return void o(O);var e=-1===r?-1:r-1;setTimeout(function(){return i(e,s,o)},1e3)},f=function t(i){switch(JSON.parse(i.data).type){case"auth_required":"authToken"in n?c.send(JSON.stringify(e(n.authToken))):(u=!0,c.close());break;case"auth_invalid":u=!0,c.close();break;case"auth_ok":c.removeEventListener("message",t),c.removeEventListener("close",a),s(c)}};c.addEventListener("message",f),c.addEventListener("close",a)}return new Promise(function(e,t){return i(n.setupRetry||0,e,t)})}function d(e){return e.result}function v(e,t){return void 0===t&&(t={}),f(e,t).then(function(n){var i=new j(e,t);return i.setSocket(n),i})}function h(e,t){return e._subscribeConfig?e._subscribeConfig(t):new Promise(function(n,i){var r=null,s=null,o=[],c=null;t&&o.push(t);var u=function(e){r=Object.assign({},r,e);for(var t=0;t<o.length;t++)o[t](r)},a=function(e,t){return u({services:Object.assign({},r.services,(n={},n[e]=t,n))});var n},f=function(e){if(null!==r){var t=Object.assign({},r.core,{components:r.core.components.concat(e.data.component)});u({core:t})}},d=function(e){if(null!==r){var t,n=e.data,i=n.domain,s=n.service,o=Object.assign({},r.services[i]||{},(t={},t[s]={description:"",fields:{}},t));a(i,o)}},v=function(e){if(null!==r){var t=e.data,n=t.domain,i=t.service,s=r.services[n];if(s&&i in s){var o={};Object.keys(s).forEach(function(e){e!==i&&(o[e]=s[e])}),a(n,o)}}},h=function(){return Promise.all([e.getConfig(),e.getPanels(),e.getServices()]).then(function(e){var t=e[0],n=e[1],i=e[2];u({core:t,panels:n,services:i})})},l=function(e){e&&o.splice(o.indexOf(e),1),0===o.length&&s()};e._subscribeConfig=function(e){return e&&(o.push(e),null!==r&&e(r)),c.then(function(){return function(){return l(e)}})},c=Promise.all([e.subscribeEvents(f,"component_loaded"),e.subscribeEvents(d,"service_registered"),e.subscribeEvents(v,"service_removed"),h()]),c.then(function(i){var r=i[0],o=i[1],c=i[2];s=function(){removeEventListener("ready",h),r(),o(),c()},e.addEventListener("ready",h),n(function(){return l(t)})},function(){return i()})})}function l(e){for(var t={},n=0;n<e.length;n++){var i=e[n];t[i.entity_id]=i}return t}function p(e,t){var n=Object.assign({},e);return n[t.entity_id]=t,n}function b(e,t){var n=Object.assign({},e);return delete n[t],n}function g(e,t){return e._subscribeEntities?e._subscribeEntities(t):new Promise(function(n,i){function r(e){if(null!==c){var t=e.data,n=t.entity_id,i=t.new_state;c=i?p(c,i):b(c,n);for(var r=0;r<a.length;r++)a[r](c)}}function s(){return e.getStates().then(function(e){c=l(e);for(var t=0;t<a.length;t++)a[t](c)})}function o(t){t&&a.splice(a.indexOf(t),1),0===a.length&&(u(),e.removeEventListener("ready",s),e._subscribeEntities=null)}var c=null,u=null,a=[],f=null;t&&a.push(t),e._subscribeEntities=function(e){return e&&(a.push(e),null!==c&&e(c)),f.then(function(){return function(){return o(e)}})},f=Promise.all([e.subscribeEvents(r,"state_changed"),s()]),f.then(function(i){var r=i[0];u=r,e.addEventListener("ready",s),n(function(){return o(t)})},function(){return i()})})}function m(e){return e.substr(0,e.indexOf("."))}function y(e){return e.substr(e.indexOf(".")+1)}function _(e,t){var n={};return t.attributes.entity_id.forEach(function(t){var i=e[t];i&&(n[i.entity_id]=i)}),n}function E(e){var t=[],n={};return Object.keys(e).forEach(function(i){var r=e[i];"group"===m(i)?t.push(r):n[i]=r}),t.sort(function(e,t){return e.attributes.order-t.attributes.order}),t.forEach(function(e){return e.attributes.entity_id.forEach(function(e){delete n[e]})}),{groups:t,ungrouped:n}}function w(e,t){var n={};return t.attributes.entity_id.forEach(function(t){var i=e[t];if(i&&!i.attributes.hidden&&(n[i.entity_id]=i,"group"===m(i.entity_id))){var r=_(e,i);Object.keys(r).forEach(function(e){var t=r[e];t.attributes.hidden||(n[e]=t)})}}),n}function k(e){var t=[];return Object.keys(e).forEach(function(n){var i=e[n];i.attributes.view&&t.push(i)}),t.sort(function(e,t){return e.entity_id===L?-1:t.entity_id===L?1:e.attributes.order-t.attributes.order}),t}var O=1,C=2,j=function(e,t){this.url=e,this.options=t||{},this.commandId=1,this.commands={},this.eventListeners={},this.closeRequested=!1,this._handleMessage=this._handleMessage.bind(this),this._handleClose=this._handleClose.bind(this)};j.prototype.setSocket=function(e){var t=this,n=this.socket;if(this.socket=e,e.addEventListener("message",this._handleMessage),e.addEventListener("close",this._handleClose),n){var i=this.commands;this.commandId=1,this.commands={},Object.keys(i).forEach(function(e){var n=i[e];n.eventType&&t.subscribeEvents(n.eventCallback,n.eventType).then(function(e){n.unsubscribe=e})}),this.fireEvent("ready")}},j.prototype.addEventListener=function(e,t){var n=this.eventListeners[e];n||(n=this.eventListeners[e]=[]),n.push(t)},j.prototype.removeEventListener=function(e,t){var n=this.eventListeners[e];if(n){var i=n.indexOf(t);-1!==i&&n.splice(i,1)}},j.prototype.fireEvent=function(e){var t=this;(this.eventListeners[e]||[]).forEach(function(e){return e(t)})},j.prototype.close=function(){this.closeRequested=!0,this.socket.close()},j.prototype.getStates=function(){return this.sendMessagePromise(t()).then(d)},j.prototype.getServices=function(){return this.sendMessagePromise(i()).then(d)},j.prototype.getPanels=function(){return this.sendMessagePromise(r()).then(d)},j.prototype.getConfig=function(){return this.sendMessagePromise(n()).then(d)},j.prototype.callService=function(e,t,n){return this.sendMessagePromise(s(e,t,n))},j.prototype.subscribeEvents=function(e,t){var n=this;return this.sendMessagePromise(o(t)).then(function(i){var r={eventCallback:e,eventType:t,unsubscribe:function(){return n.sendMessagePromise(c(i.id)).then(function(){delete n.commands[i.id]})}};return n.commands[i.id]=r,function(){return r.unsubscribe()}})},j.prototype.ping=function(){return this.sendMessagePromise(u())},j.prototype.sendMessage=function(e){this.socket.send(JSON.stringify(e))},j.prototype.sendMessagePromise=function(e){var t=this;return new Promise(function(n,i){t.commandId+=1;var r=t.commandId;e.id=r,t.commands[r]={resolve:n,reject:i},t.sendMessage(e)})},j.prototype._handleMessage=function(e){var t=JSON.parse(e.data);switch(t.type){case"event":this.commands[t.id].eventCallback(t.event);break;case"result":t.success?this.commands[t.id].resolve(t):this.commands[t.id].reject(t.error),delete this.commands[t.id]}},j.prototype._handleClose=function(){var e=this;if(Object.keys(this.commands).forEach(function(t){var n=e.commands[t],i=n.reject;i&&i(a(3,"Connection lost"))}),!this.closeRequested){this.fireEvent("disconnected");var t=Object.assign({},this.options,{setupRetry:0});!function n(i){setTimeout(function(){f(e.url,t).then(function(t){return e.setSocket(t)},function(){return n(i+1)})},1e3*Math.min(i,5))}(0)}};var L="group.default_view",P=Object.freeze({ERR_CANNOT_CONNECT:O,ERR_INVALID_AUTH:C,createConnection:v,subscribeConfig:h,subscribeEntities:g,getGroupEntities:_,splitByGroups:E,getViewEntities:w,extractViews:k,extractDomain:m,extractObjectId:y});window.HAWS=P,window.HASS_DEMO=!1;var S=window.createHassConnection=function(e){var t="https:"===window.location.protocol?"wss":"ws",n=t+"://"+window.location.host+"/api/websocket",i={setupRetry:10};return void 0!==e&&(i.authToken=e),v(n,i).then(function(e){return g(e),h(e),e})};window.noAuth?window.hassConnection=S():window.localStorage.authToken?window.hassConnection=S(window.localStorage.authToken):window.hassConnection=null,"serviceWorker"in navigator&&window.addEventListener("load",function(){navigator.serviceWorker.register("/service_worker.js")})}(); +!function(){"use strict";function e(e){return{type:"auth",api_password:e}}function t(){return{type:"get_states"}}function n(){return{type:"get_config"}}function i(){return{type:"get_services"}}function r(){return{type:"get_panels"}}function s(e,t,n){var i={type:"call_service",domain:e,service:t};return n&&(i.service_data=n),i}function o(e){var t={type:"subscribe_events"};return e&&(t.event_type=e),t}function c(e){return{type:"unsubscribe_events",subscription:e}}function u(){return{type:"ping"}}function a(e,t){return{type:"result",success:!1,error:{code:e,message:t}}}function d(t,n){function i(r,s,o){var c=new WebSocket(t),u=!1,a=function(){if(u)return void o(C);if(0===r)return void o(O);var e=-1===r?-1:r-1;setTimeout(function(){return i(e,s,o)},1e3)},d=function t(i){switch(JSON.parse(i.data).type){case"auth_required":"authToken"in n?c.send(JSON.stringify(e(n.authToken))):(u=!0,c.close());break;case"auth_invalid":u=!0,c.close();break;case"auth_ok":c.removeEventListener("message",t),c.removeEventListener("close",a),s(c)}};c.addEventListener("message",d),c.addEventListener("close",a)}return new Promise(function(e,t){return i(n.setupRetry||0,e,t)})}function f(e){return e.result}function v(e,t){return void 0===t&&(t={}),d(e,t).then(function(n){var i=new S(e,t);return i.setSocket(n),i})}function h(e,t){return e._subscribeConfig?e._subscribeConfig(t):new Promise(function(n,i){var r=null,s=null,o=[],c=null;t&&o.push(t);var u=function(e){r=Object.assign({},r,e);for(var t=0;t<o.length;t++)o[t](r)},a=function(e,t){return u({services:Object.assign({},r.services,(n={},n[e]=t,n))});var n},d=function(e){if(null!==r){var t=Object.assign({},r.core,{components:r.core.components.concat(e.data.component)});u({core:t})}},f=function(e){if(null!==r){var t,n=e.data,i=n.domain,s=n.service,o=Object.assign({},r.services[i]||{},(t={},t[s]={description:"",fields:{}},t));a(i,o)}},v=function(e){if(null!==r){var t=e.data,n=t.domain,i=t.service,s=r.services[n];if(s&&i in s){var o={};Object.keys(s).forEach(function(e){e!==i&&(o[e]=s[e])}),a(n,o)}}},h=function(){return Promise.all([e.getConfig(),e.getPanels(),e.getServices()]).then(function(e){var t=e[0],n=e[1],i=e[2];u({core:t,panels:n,services:i})})},l=function(e){e&&o.splice(o.indexOf(e),1),0===o.length&&s()};e._subscribeConfig=function(e){return e&&(o.push(e),null!==r&&e(r)),c.then(function(){return function(){return l(e)}})},c=Promise.all([e.subscribeEvents(d,"component_loaded"),e.subscribeEvents(f,"service_registered"),e.subscribeEvents(v,"service_removed"),h()]),c.then(function(i){var r=i[0],o=i[1],c=i[2];s=function(){removeEventListener("ready",h),r(),o(),c()},e.addEventListener("ready",h),n(function(){return l(t)})},function(){return i()})})}function l(e){for(var t={},n=0;n<e.length;n++){var i=e[n];t[i.entity_id]=i}return t}function p(e,t){var n=Object.assign({},e);return n[t.entity_id]=t,n}function b(e,t){var n=Object.assign({},e);return delete n[t],n}function g(e,t){return e._subscribeEntities?e._subscribeEntities(t):new Promise(function(n,i){function r(e){if(null!==c){var t=e.data,n=t.entity_id,i=t.new_state;c=i?p(c,i):b(c,n);for(var r=0;r<a.length;r++)a[r](c)}}function s(){return e.getStates().then(function(e){c=l(e);for(var t=0;t<a.length;t++)a[t](c)})}function o(t){t&&a.splice(a.indexOf(t),1),0===a.length&&(u(),e.removeEventListener("ready",s),e._subscribeEntities=null)}var c=null,u=null,a=[],d=null;t&&a.push(t),e._subscribeEntities=function(e){return e&&(a.push(e),null!==c&&e(c)),d.then(function(){return function(){return o(e)}})},d=Promise.all([e.subscribeEvents(r,"state_changed"),s()]),d.then(function(i){var r=i[0];u=r,e.addEventListener("ready",s),n(function(){return o(t)})},function(){return i()})})}function m(e){return e.substr(0,e.indexOf("."))}function y(e){return e.substr(e.indexOf(".")+1)}function _(e,t){var n={};return t.attributes.entity_id.forEach(function(t){var i=e[t];i&&(n[i.entity_id]=i)}),n}function E(e){var t=[],n={};return Object.keys(e).forEach(function(i){var r=e[i];"group"===m(i)?t.push(r):n[i]=r}),t.sort(function(e,t){return e.attributes.order-t.attributes.order}),t.forEach(function(e){return e.attributes.entity_id.forEach(function(e){delete n[e]})}),{groups:t,ungrouped:n}}function w(e,t){var n={};return t.attributes.entity_id.forEach(function(t){var i=e[t];if(i&&!i.attributes.hidden&&(n[i.entity_id]=i,"group"===m(i.entity_id))){var r=_(e,i);Object.keys(r).forEach(function(e){var t=r[e];t.attributes.hidden||(n[e]=t)})}}),n}function k(e){var t=[];return Object.keys(e).forEach(function(n){var i=e[n];i.attributes.view&&t.push(i)}),t.sort(function(e,t){return e.entity_id===j?-1:t.entity_id===j?1:e.attributes.order-t.attributes.order}),t}var O=1,C=2,S=function(e,t){this.url=e,this.options=t||{},this.commandId=1,this.commands={},this.eventListeners={},this.closeRequested=!1,this._handleMessage=this._handleMessage.bind(this),this._handleClose=this._handleClose.bind(this)};S.prototype.setSocket=function(e){var t=this,n=this.socket;if(this.socket=e,e.addEventListener("message",this._handleMessage),e.addEventListener("close",this._handleClose),n){var i=this.commands;this.commandId=1,this.commands={},Object.keys(i).forEach(function(e){var n=i[e];n.eventType&&t.subscribeEvents(n.eventCallback,n.eventType).then(function(e){n.unsubscribe=e})}),this.fireEvent("ready")}},S.prototype.addEventListener=function(e,t){var n=this.eventListeners[e];n||(n=this.eventListeners[e]=[]),n.push(t)},S.prototype.removeEventListener=function(e,t){var n=this.eventListeners[e];if(n){var i=n.indexOf(t);-1!==i&&n.splice(i,1)}},S.prototype.fireEvent=function(e){var t=this;(this.eventListeners[e]||[]).forEach(function(e){return e(t)})},S.prototype.close=function(){this.closeRequested=!0,this.socket.close()},S.prototype.getStates=function(){return this.sendMessagePromise(t()).then(f)},S.prototype.getServices=function(){return this.sendMessagePromise(i()).then(f)},S.prototype.getPanels=function(){return this.sendMessagePromise(r()).then(f)},S.prototype.getConfig=function(){return this.sendMessagePromise(n()).then(f)},S.prototype.callService=function(e,t,n){return this.sendMessagePromise(s(e,t,n))},S.prototype.subscribeEvents=function(e,t){var n=this;return this.sendMessagePromise(o(t)).then(function(i){var r={eventCallback:e,eventType:t,unsubscribe:function(){return n.sendMessagePromise(c(i.id)).then(function(){delete n.commands[i.id]})}};return n.commands[i.id]=r,function(){return r.unsubscribe()}})},S.prototype.ping=function(){return this.sendMessagePromise(u())},S.prototype.sendMessage=function(e){this.socket.send(JSON.stringify(e))},S.prototype.sendMessagePromise=function(e){var t=this;return new Promise(function(n,i){t.commandId+=1;var r=t.commandId;e.id=r,t.commands[r]={resolve:n,reject:i},t.sendMessage(e)})},S.prototype._handleMessage=function(e){var t=JSON.parse(e.data);switch(t.type){case"event":this.commands[t.id].eventCallback(t.event);break;case"result":t.success?this.commands[t.id].resolve(t):this.commands[t.id].reject(t.error),delete this.commands[t.id]}},S.prototype._handleClose=function(){var e=this;if(Object.keys(this.commands).forEach(function(t){var n=e.commands[t],i=n.reject;i&&i(a(3,"Connection lost"))}),!this.closeRequested){this.fireEvent("disconnected");var t=Object.assign({},this.options,{setupRetry:0});!function n(i){setTimeout(function(){d(e.url,t).then(function(t){return e.setSocket(t)},function(){return n(i+1)})},1e3*Math.min(i,5))}(0)}};var j="group.default_view",L=Object.freeze({ERR_CANNOT_CONNECT:O,ERR_INVALID_AUTH:C,createConnection:v,subscribeConfig:h,subscribeEntities:g,getGroupEntities:_,splitByGroups:E,getViewEntities:w,extractViews:k,extractDomain:m,extractObjectId:y});window.HAWS=L,window.HASS_DEMO=!1,window.HASS_DEV=!1;var P=window.createHassConnection=function(e){var t="https:"===window.location.protocol?"wss":"ws",n=t+"://"+window.location.host+"/api/websocket",i={setupRetry:10};return void 0!==e&&(i.authToken=e),v(n,i).then(function(e){return g(e),h(e),e})};window.noAuth?window.hassConnection=P():window.localStorage.authToken?window.hassConnection=P(window.localStorage.authToken):window.hassConnection=null,"serviceWorker"in navigator&&window.addEventListener("load",function(){navigator.serviceWorker.register("/service_worker.js")})}(); diff --git a/homeassistant/components/frontend/www_static/core.js.gz b/homeassistant/components/frontend/www_static/core.js.gz index 380f1fb7a0640728a167c2372b35238e66e44008..4522eb64fe52ccd4d159feb3873f988da563ba68 100644 GIT binary patch delta 2417 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 delta 2414 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 diff --git a/homeassistant/components/frontend/www_static/frontend.html b/homeassistant/components/frontend/www_static/frontend.html index 1fd4bda0275..ff4ce4ba979 100644 --- a/homeassistant/components/frontend/www_static/frontend.html +++ b/homeassistant/components/frontend/www_static/frontend.html @@ -744,4 +744,4 @@ return performance.now()};else var t=function(){return Date.now()};var e=functio this.hass.callService('media_player', service, serviceData); }, }); -}());</script><dom-module id="ha-media_player-card" assetpath="cards/"><template><style include="paper-material iron-flex iron-flex-alignment iron-positioning">:host{display:block;position:relative;font-size:0;border-radius:2px;overflow:hidden}.banner{position:relative;background-color:#fff;border-top-left-radius:2px;border-top-right-radius:2px}.banner:before{display:block;content:"";width:100%;padding-top:56%;transition:padding-top .8s}.banner.no-cover{background-position:center center;background-image:url(/static/images/card_media_player_bg.png);background-repeat:no-repeat;background-color:var(--primary-color)}.banner.content-type-music:before{padding-top:100%}.banner.no-cover:before{padding-top:88px}.banner>.cover{position:absolute;top:0;left:0;right:0;bottom:0;border-top-left-radius:2px;border-top-right-radius:2px;background-position:center center;background-size:cover;transition:opacity .8s;opacity:1}.banner.is-off>.cover{opacity:0}.banner>.caption{@apply(--paper-font-caption);position:absolute;left:0;right:0;bottom:0;background-color:rgba(0,0,0,var(--dark-secondary-opacity));padding:8px 16px;font-size:14px;font-weight:500;color:#fff;transition:background-color .5s}.banner.is-off>.caption{background-color:initial}.banner>.caption .title{@apply(--paper-font-common-nowrap);font-size:1.2em;margin:8px 0 4px}.progress{width:100%;--paper-progress-active-color:var(--accent-color);--paper-progress-container-color:#FFF}.controls{position:relative;@apply(--paper-font-body1);padding:8px;border-bottom-left-radius:2px;border-bottom-right-radius:2px;background-color:#fff}.controls paper-icon-button{width:44px;height:44px}paper-icon-button{opacity:var(--dark-primary-opacity)}paper-icon-button[disabled]{opacity:var(--dark-disabled-opacity)}paper-icon-button.primary{width:56px!important;height:56px!important;background-color:var(--primary-color);color:#fff;border-radius:50%;padding:8px;transition:background-color .5s}paper-icon-button.primary[disabled]{background-color:rgba(0,0,0,var(--dark-disabled-opacity))}[invisible]{visibility:hidden!important}</style><div class$="[[computeBannerClasses(playerObj)]]"><div class="cover" id="cover"></div><div class="caption">[[computeStateName(stateObj)]]<div class="title">[[playerObj.primaryText]]</div>[[playerObj.secondaryText]]<br></div></div><paper-progress max="[[stateObj.attributes.media_duration]]" value="[[playbackPosition]]" hidden$="[[computeHideProgress(playerObj)]]" class="progress"></paper-progress><div class="controls layout horizontal justified"><paper-icon-button icon="mdi:power" on-tap="handleTogglePower" invisible$="[[computeHidePowerButton(playerObj)]]" class="self-center secondary"></paper-icon-button><div><paper-icon-button icon="mdi:skip-previous" invisible$="[[!playerObj.supportsPreviousTrack]]" disabled="[[playerObj.isOff]]" on-tap="handlePrevious"></paper-icon-button><paper-icon-button class="primary" icon="[[computePlaybackControlIcon(playerObj)]]" invisible$="[[!computePlaybackControlIcon(playerObj)]]" disabled="[[playerObj.isOff]]" on-tap="handlePlaybackControl"></paper-icon-button><paper-icon-button icon="mdi:skip-next" invisible$="[[!playerObj.supportsNextTrack]]" disabled="[[playerObj.isOff]]" on-tap="handleNext"></paper-icon-button></div><paper-icon-button icon="mdi:dots-vertical" on-tap="handleOpenMoreInfo" class="self-center secondary"></paper-icon-button></div></template></dom-module><script>Polymer({is:"ha-media_player-card",properties:{hass:{type:Object},stateObj:{type:Object},playerObj:{type:Object,computed:"computePlayerObj(hass, stateObj)",observer:"playerObjChanged"},playbackControlIcon:{type:String,computed:"computePlaybackControlIcon(playerObj)"},playbackPosition:{type:Number},elevation:{type:Number,value:1,reflectToAttribute:!0}},created:function(){this.updatePlaybackPosition=this.updatePlaybackPosition.bind(this)},playerObjChanged:function(t){var e,o=t.stateObj.attributes.entity_picture;o?(e=document.createElement("IMG"),e.onload=function(){this.$.cover.style.backgroundImage="url("+o+")",e.onerror=e.onload=null,e.src="",e=null}.bind(this),e.onerror=function(){this.$.cover.style.backgroundImage="",this.toggleClass("no-cover",!0,this.$.cover.parentElement),e.onerror=e.onload=null,e.src="",e=null}.bind(this),this._timeout_id&&clearTimeout(this._timeout_id),this._timeout_id=setTimeout(function(){e&&(this.$.cover.style.backgroundImage=""),this._timeout_id=null},5e3),e.src=o):this.$.cover.style.backgroundImage="",t.isPlaying?(this._positionTracking||(this._positionTracking=setInterval(this.updatePlaybackPosition,1e3)),this.updatePlaybackPosition()):this._positionTracking&&(clearInterval(this._positionTracking),this._positionTracking=null,this.playbackPosition=0)},updatePlaybackPosition:function(){this.playbackPosition=this.playerObj.currentProgress},computeBannerClasses:function(t){var e="banner";return t.isOff||t.isIdle?e+=" is-off no-cover":t.stateObj.attributes.entity_picture?"music"===t.stateObj.attributes.media_content_type&&(e+=" content-type-music"):e+=" no-cover",e},computeHideProgress:function(t){return!t.showProgress},computeHidePowerButton:function(t){return t.isOff?!t.supportsTurnOn:!t.supportsTurnOff},computePlayerObj:function(t,e){return new window.MediaPlayerEntity(t,e)},computePlaybackControlIcon:function(t){return t.isPlaying?t.supportsPause?"mdi:pause":"mdi:stop":t.isPaused||t.isOff||t.isIdle?t.supportsPlay?"mdi:play":null:""},computeStateName:function(t){return window.hassUtil.computeStateName(t)},handleNext:function(t){t.stopPropagation(),this.playerObj.nextTrack()},handleOpenMoreInfo:function(t){t.stopPropagation(),this.fire("hass-more-info",{entityId:this.stateObj.entity_id})},handlePlaybackControl:function(t){t.stopPropagation(),this.playerObj.mediaPlayPause()},handlePrevious:function(t){t.stopPropagation(),this.playerObj.previousTrack()},handleTogglePower:function(t){t.stopPropagation(),this.playerObj.togglePower()}})</script><script>!function(){"use strict";Polymer.IronJsonpLibraryBehavior={properties:{libraryLoaded:{type:Boolean,value:!1,notify:!0,readOnly:!0},libraryErrorMessage:{type:String,value:null,notify:!0,readOnly:!0}},observers:["_libraryUrlChanged(libraryUrl)"],_libraryUrlChanged:function(r){this._isReady&&this.libraryUrl&&this._loadLibrary()},_libraryLoadCallback:function(r,i){r?(Polymer.Base._warn("Library load failed:",r.message),this._setLibraryErrorMessage(r.message)):(this._setLibraryErrorMessage(null),this._setLibraryLoaded(!0),this.notifyEvent&&this.fire(this.notifyEvent,i))},_loadLibrary:function(){r.require(this.libraryUrl,this._libraryLoadCallback.bind(this),this.callbackName)},ready:function(){this._isReady=!0,this.libraryUrl&&this._loadLibrary()}};var r={apiMap:{},require:function(r,t,e){var a=this.nameFromUrl(r);this.apiMap[a]||(this.apiMap[a]=new i(a,r,e)),this.apiMap[a].requestNotify(t)},nameFromUrl:function(r){return r.replace(/[\:\/\%\?\&\.\=\-\,]/g,"_")+"_api"}},i=function(r,i,t){if(this.notifiers=[],!t){if(!(i.indexOf(this.callbackMacro)>=0))return void(this.error=new Error("IronJsonpLibraryBehavior a %%callback%% parameter is required in libraryUrl"));t=r+"_loaded",i=i.replace(this.callbackMacro,t)}this.callbackName=t,window[this.callbackName]=this.success.bind(this),this.addScript(i)};i.prototype={callbackMacro:"%%callback%%",loaded:!1,addScript:function(r){var i=document.createElement("script");i.src=r,i.onerror=this.handleError.bind(this);var t=document.querySelector("script")||document.body;t.parentNode.insertBefore(i,t),this.script=i},removeScript:function(){this.script.parentNode&&this.script.parentNode.removeChild(this.script),this.script=null},handleError:function(r){this.error=new Error("Library failed to load"),this.notifyAll(),this.cleanup()},success:function(){this.loaded=!0,this.result=Array.prototype.slice.call(arguments),this.notifyAll(),this.cleanup()},cleanup:function(){delete window[this.callbackName]},notifyAll:function(){this.notifiers.forEach(function(r){r(this.error,this.result)}.bind(this)),this.notifiers=[]},requestNotify:function(r){this.loaded||this.error?r(this.error,this.result):this.notifiers.push(r)}}}()</script><script>Polymer({is:"iron-jsonp-library",behaviors:[Polymer.IronJsonpLibraryBehavior],properties:{libraryUrl:String,callbackName:String,notifyEvent:String}})</script><script>Polymer({is:"google-legacy-loader",behaviors:[Polymer.IronJsonpLibraryBehavior],properties:{libraryUrl:{type:String,value:"https://www.google.com/jsapi?callback=%%callback%%"},notifyEvent:{type:String,value:"api-load"}},get api(){return google}})</script><dom-module id="ha-attributes" assetpath="components/"><template><style is="custom-style" include="iron-flex iron-flex-alignment"></style><style>.data-entry .value{max-width:200px}.attribution{color:var(--secondary-text-color);text-align:right}</style><div class="layout vertical"><template is="dom-repeat" items="[[computeDisplayAttributes(stateObj, filtersArray)]]" as="attribute"><div class="data-entry layout justified horizontal"><div class="key">[[formatAttribute(attribute)]]</div><div class="value">[[formatAttributeValue(stateObj, attribute)]]</div></div></template><div class="attribution" hidden$="[[!computeAttribution(stateObj)]]">[[computeAttribution(stateObj)]]</div></div></template></dom-module><script>!function(){"use strict";var t=["entity_picture","friendly_name","icon","unit_of_measurement","emulated_hue","emulated_hue_name","haaska_hidden","haaska_name","homebridge_hidden","homebridge_name","supported_features","attribution","custom_ui_state_card","device_class"];Polymer({is:"ha-attributes",properties:{stateObj:{type:Object},extraFilters:{type:String,value:""},filtersArray:{type:Array,computed:"computeFiltersArray(extraFilters)"}},computeFiltersArray:function(e){return t+(e?e.split(","):[])},computeDisplayAttributes:function(t,e){return t?Object.keys(t.attributes).filter(function(t){return-1===e.indexOf(t)}):[]},formatAttribute:function(t){return t.replace(/_/g," ")},formatAttributeValue:function(t,e){var r=t.attributes[e];return Array.isArray(r)?r.join(", "):r instanceof Object?JSON.stringify(r,null,2):r},computeAttribution:function(t){return t.attributes.attribution}})}()</script><dom-module id="ha-weather-card" assetpath="cards/"><template><style>.content{padding:0 16px 16px}.attribution{color:var(--secondary-text-color);text-align:right}</style><google-legacy-loader on-api-load="googleApiLoaded"></google-legacy-loader><ha-card header="[[computeTitle(stateObj)]]"><div class="content"><div id="chart_id" hidden$="[[!stateObj.attributes.forecast]]"></div><ha-attributes state-obj="[[stateObj]]" extra-filters="forecast"></ha-attributes></div></ha-card></template></dom-module><script>!function(){"use strict";Polymer({is:"ha-weather-card",properties:{hass:{type:Object},stateObj:{type:Object,observer:"checkRequirements"}},computeTitle:function(t){return t.attributes.friendly_name},getDataArray:function(){var t,e=[],a=this.stateObj.attributes.forecast;if(!this.stateObj.attributes.forecast)return[];for(e.push([new Date,this.stateObj.attributes.temperature]),t=0;t<a.length;t++)e.push([new Date(a[t].datetime),a[t].temperature]);return e},checkRequirements:function(){this.stateObj&&window.google&&(this.chartEngine||(this.chartEngine=new window.google.visualization.LineChart(this.$.chart_id)),this.stateObj.attributes&&this.stateObj.attributes.forecast&&this.drawChart())},drawChart:function(){var t=new window.google.visualization.DataTable,e={legend:{position:"top"},interpolateNulls:!0,titlePosition:"none",chartArea:{left:25,top:5,height:"100%",width:"90%",bottom:25},curveType:"function"};t.addColumn("datetime","Time"),t.addColumn("number","Temperature"),t.addRows(this.getDataArray()),this.chartEngine.draw(t,e)},googleApiLoaded:function(){window.google.load("visualization","1",{packages:["corechart"],callback:function(){this.checkRequirements()}.bind(this)})}})}()</script><dom-module id="ha-persistent_notification-card" assetpath="cards/"><template><style>:host{@apply(--paper-font-body1)}.content{padding:0 16px 16px;-ms-user-select:initial;-webkit-user-select:initial;-moz-user-select:initial}paper-button{margin:8px;font-weight:500}</style><ha-card header="[[computeTitle(stateObj)]]"><div id="pnContent" class="content"></div><paper-button on-tap="dismissTap">DISMISS</paper-button></ha-card></template></dom-module><script>Polymer({is:"ha-persistent_notification-card",properties:{hass:{type:Object},stateObj:{type:Object},scriptLoaded:{type:Boolean,value:!1}},observers:["computeContent(stateObj, scriptLoaded)"],computeTitle:function(t){return t.attributes.title||window.hassUtil.computeStateName(t)},loadScript:function(){var t=function(){this.scriptLoaded=!0}.bind(this),e=function(){console.error("Micromarkdown was not loaded.")};this.importHref("/static/micromarkdown-js.html",t,e)},computeContent:function(t,e){var i="",o="";e&&(i=this.$.pnContent,o=window.micromarkdown.parse(t.state),i.innerHTML=o)},ready:function(){this.loadScript()},dismissTap:function(t){t.preventDefault(),this.hass.callApi("DELETE","states/"+this.stateObj.entity_id)}})</script><script>Polymer({is:"ha-card-chooser",properties:{cardData:{type:Object,observer:"cardDataChanged"}},cardDataChanged:function(a){a&&window.hassUtil.dynamicContentUpdater(this,"HA-"+a.cardType.toUpperCase()+"-CARD",a)}})</script><dom-module id="ha-cards" assetpath="components/"><template><style is="custom-style" include="iron-flex iron-flex-factors"></style><style>:host{display:block;padding-top:8px;padding-right:8px}.badges{font-size:85%;text-align:center}.column{max-width:500px;overflow-x:hidden}.zone-card{margin-left:8px;margin-bottom:8px}@media (max-width:500px){:host{padding-right:0}.zone-card{margin-left:0}}@media (max-width:599px){.column{max-width:600px}}</style><div class="main"><template is="dom-if" if="[[cards.badges]]"><div class="badges"><template is="dom-if" if="[[cards.demo]]"><ha-demo-badge></ha-demo-badge></template><ha-badges-card states="[[cards.badges]]" hass="[[hass]]"></ha-badges-card></div></template><div class="horizontal layout center-justified"><template is="dom-repeat" items="[[cards.columns]]" as="column"><div class="column flex-1"><template is="dom-repeat" items="[[column]]" as="card"><div class="zone-card"><ha-card-chooser card-data="[[card]]" hass="[[hass]]"></ha-card-chooser></div></template></div></template></div></div></template></dom-module><script>!function(){"use strict";function t(t){return t in o?o[t]:100}function e(t,e){return t.priority-e.priority}function n(t,e){var n=(t.attributes.friendly_name||t.entity_id).toLowerCase(),s=(e.attributes.friendly_name||e.entity_id).toLowerCase();return n<s?-1:n>s?1:0}function s(t,s){Object.keys(t).map(function(e){return t[e]}).sort(e).forEach(function(t){t.states.sort(n),s(t)})}var i={camera:4,media_player:3,persistent_notification:0,weather:4},o={configurator:-20,persistent_notification:-15,updater:0,sun:1,device_tracker:2,alarm_control_panel:3,sensor:5,binary_sensor:6},r=window.hassUtil.computeDomain;Polymer({is:"ha-cards",properties:{hass:{type:Object},showIntroduction:{type:Boolean,value:!1},columns:{type:Number,value:2},states:{type:Object},panelVisible:{type:Boolean},viewVisible:{type:Boolean,value:!1},cards:{type:Object}},observers:["updateCards(columns, states, showIntroduction, panelVisible, viewVisible)"],updateCards:function(t,e,n,s,i){s&&i&&this.debounce("updateCards",function(){this.panelVisible&&this.viewVisible&&(this.cards=this.computeCards(t,e,n))}.bind(this),10)},computeCards:function(e,n,o){function a(t){var e=0;for(c=e;c<l.length;c++){if(l[c]<5){e=c;break}l[c]<l[e]&&(e=c)}return l[e]+=t,e}function u(t,e,n){var s,o,u,c;0!==e.length&&(s=[],o=[],u=0,e.forEach(function(t){var e=r(t);e in i?(s.push(t),u+=i[e]):(o.push(t),u++)}),u+=o.length>1,c=a(u),o.length>0&&d.columns[c].push({hass:p,cardType:"entities",states:o,groupEntity:n||!1}),s.forEach(function(t){d.columns[c].push({hass:p,cardType:r(t),stateObj:t})}))}var c,p=this.hass,d={demo:!1,badges:[],columns:[]},l=[];for(c=0;c<e;c++)d.columns.push([]),l.push(0);o&&d.columns[a(5)].push({hass:p,cardType:"introduction",showHideInstruction:n.size>0&&!window.HASS_DEMO});var h=window.HAWS.splitByGroups(n),f={},m={},y={};return Object.keys(h.ungrouped).forEach(function(e){var n=h.ungrouped[e],s=r(n);if("a"===s)return void(d.demo=!0);var i,o=t(s);i=o<0?m:o<10?f:y,s in i||(i[s]={domain:s,priority:o,states:[]}),i[s].states.push(n)}),s(f,function(t){d.badges.push.apply(d.badges,t.states)}),s(m,function(t){u(t.domain,t.states)}),h.groups.forEach(function(t){var e=window.HAWS.getGroupEntities(n,t);u(t.entity_id,Object.keys(e).map(function(t){return e[t]}),t)}),s(y,function(t){u(t.domain,t.states)}),d.columns=d.columns.filter(function(t){return t.length>0}),d}})}()</script><dom-module id="partial-cards" assetpath="layouts/"><template><style include="iron-flex iron-positioning ha-style">:host{-ms-user-select:none;-webkit-user-select:none;-moz-user-select:none}app-header-layout{background-color:#e5e5e5}paper-tabs{margin-left:12px;--paper-tabs-selection-bar-color:#FFF;text-transform:uppercase}</style><app-header-layout has-scrolling-region="" id="layout"><app-header effects="waterfall" condenses="" fixed=""><app-toolbar><ha-menu-button narrow="[[narrow]]" show-menu="[[showMenu]]"></ha-menu-button><div main-title="">[[computeTitle(views, locationName)]]</div><ha-start-voice-button hass="[[hass]]"></ha-start-voice-button></app-toolbar><div sticky="" hidden$="[[!views.length]]"><paper-tabs scrollable="" selected="[[currentView]]" attr-for-selected="data-entity" on-iron-select="handleViewSelected"><paper-tab data-entity="" on-tap="scrollToTop"><template is="dom-if" if="[[!defaultView]]">[[locationName]]</template><template is="dom-if" if="[[defaultView]]"><template is="dom-if" if="[[defaultView.attributes.icon]]"><iron-icon title="$='[[computeStateName(defaultView)]]'" icon="[[defaultView.attributes.icon]]"></iron-icon></template><template is="dom-if" if="[[!defaultView.attributes.icon]]">[[computeStateName(defaultView)]]</template></template></paper-tab><template is="dom-repeat" items="[[views]]"><paper-tab data-entity$="[[item.entity_id]]" on-tap="scrollToTop"><template is="dom-if" if="[[item.attributes.icon]]"><iron-icon title$="[[computeStateName(item)]]" icon="[[item.attributes.icon]]"></iron-icon></template><template is="dom-if" if="[[!item.attributes.icon]]">[[computeStateName(item)]]</template></paper-tab></template></paper-tabs></div></app-header><iron-pages attr-for-selected="data-view" selected="[[currentView]]" selected-attribute="view-visible"><ha-cards data-view="" show-introduction="[[computeShowIntroduction(currentView, introductionLoaded, viewStates)]]" states="[[viewStates]]" columns="[[_columns]]" hass="[[hass]]" panel-visible="[[panelVisible]]"></ha-cards><template is="dom-repeat" items="[[views]]"><ha-cards data-view$="[[item.entity_id]]" show-introduction="[[computeShowIntroduction(currentView, introductionLoaded, viewStates)]]" states="[[viewStates]]" columns="[[_columns]]" hass="[[hass]]" panel-visible="[[panelVisible]]"></ha-cards></template></iron-pages></app-header-layout></template></dom-module><script>Polymer({DEFAULT_VIEW_ENTITY_ID:"group.default_view",ALWAYS_SHOW_DOMAIN:["persistent_notification","configurator"],is:"partial-cards",properties:{hass:{type:Object,value:null,observer:"computeAllViews"},narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,observer:"handleWindowChange"},panelVisible:{type:Boolean,value:!1},_columns:{type:Number,value:1},introductionLoaded:{type:Boolean,computed:"computeIntroductionLoaded(hass)"},locationName:{type:String,value:"",computed:"computeLocationName(hass)"},currentView:{type:String,computed:"computeCurrentView(hass)"},views:{type:Array},defaultView:{type:Object},viewStates:{type:Object,computed:"computeViewStates(currentView, hass, defaultView)"}},created:function(){this.handleWindowChange=this.handleWindowChange.bind(this),this.mqls=[300,600,900,1200].map(function(t){var e=window.matchMedia("(min-width: "+t+"px)");return e.addListener(this.handleWindowChange),e}.bind(this))},detached:function(){this.mqls.forEach(function(t){t.removeListener(this.handleWindowChange)})},handleWindowChange:function(){var t=this.mqls.reduce(function(t,e){return t+e.matches},0);this._columns=Math.max(1,t-(!this.narrow&&this.showMenu))},scrollToTop:function(){var t=this.$.layout.header.scrollTarget,e=function(t,e,i,n){return t/=n,-i*t*(t-2)+e},i=Math.random(),n=Date.now(),o=t.scrollTop,a=0-o;this._currentAnimationId=i,function s(){var r=Date.now(),u=r-n;u>200?t.scrollTop=0:this._currentAnimationId===i&&(t.scrollTop=e(u,o,a,200),requestAnimationFrame(s.bind(this)))}.call(this)},handleViewSelected:function(t){var e=t.detail.item.getAttribute("data-entity")||null;e!==(this.currentView||null)&&this.fire("hass-navigate",{view:e})},computeTitle:function(t,e){return t.length>0?"Home Assistant":e},computeShowIntroduction:function(t,e,i){return""===t&&(e||0===i.size)},computeStateName:function(t){return t.entity_id===this.DEFAULT_VIEW_ENTITY_ID?t.attributes.friendly_name&&"default_view"!==t.attributes.friendly_name?t.attributes.friendly_name:this.computeLocationName(this.hass):window.hassUtil.computeStateName(t)},computeLocationName:function(t){return window.hassUtil.computeLocationName(t)},computeIntroductionLoaded:function(t){return window.hassUtil.isComponentLoaded(t,"introduction")},computeAllViews:function(t){var e=window.HAWS.extractViews(t.states);e.length>0&&e[0].entity_id===this.DEFAULT_VIEW_ENTITY_ID?this.defaultView=e.shift():this.defaultView=null,this.views=e},computeViewStates:function(t,e,i){var n,o,a,s,r=Object.keys(e.states);if(!t&&!i){for(s={},n=0;n<r.length;n++)o=r[n],a=e.states[o],a.attributes.hidden||(s[o]=a);return s}for(s=t?window.HAWS.getViewEntities(e.states,e.states[t]):window.HAWS.getViewEntities(e.states,e.states[this.DEFAULT_VIEW_ENTITY_ID]),n=0;n<r.length;n++)o=r[n],a=e.states[o],-1!==this.ALWAYS_SHOW_DOMAIN.indexOf(window.hassUtil.computeDomain(a))&&(s[o]=a);return s},computeCurrentView:function(t){return t.currentView||""}})</script><style is="custom-style">html{font-size:14px;--paper-grey-50:#fafafa;--paper-grey-200:#eeeeee;--dark-primary-color:#0288D1;--default-primary-color:#03A9F4;--primary-color:#03A9F4;--light-primary-color:#B3E5FC;--text-primary-color:#ffffff;--accent-color:#FF9800;--primary-background-color:var(--paper-grey-50);--primary-text-color:#212121;--secondary-text-color:#727272;--disabled-text-color:#bdbdbd;--divider-color:rgba(0, 0, 0, .12);--paper-toggle-button-checked-ink-color:#039be5;--paper-toggle-button-checked-button-color:#039be5;--paper-toggle-button-checked-bar-color:#039be5;--paper-slider-knob-color:var(--primary-color);--paper-slider-knob-start-color:var(--primary-color);--paper-slider-pin-color:var(--primary-color);--paper-slider-active-color:var(--primary-color);--paper-slider-secondary-color:var(--light-primary-color);--paper-slider-container-color:var(--divider-color);--paper-card-background-color:#FFF;--paper-menu-background-color:#FFF;--google-red-500:#db4437;--google-blue-500:#4285f4;--google-green-500:#0f9d58;--google-yellow-500:#f4b400;--paper-green-400:#66bb6a;--paper-blue-400:#42a5f5;--paper-orange-400:#ffa726;--dark-divider-opacity:0.12;--dark-disabled-opacity:0.38;--dark-secondary-opacity:0.54;--dark-primary-opacity:0.87;--light-divider-opacity:0.12;--light-disabled-opacity:0.3;--light-secondary-opacity:0.7;--light-primary-opacity:1.0}</style><dom-module id="ha-style" assetpath="resources/"><template><style>:host{@apply(--paper-font-body1)}app-header-layout{background-color:var(--primary-background-color)}app-header,app-toolbar{background-color:var(--primary-color);font-weight:400;color:#fff}app-toolbar ha-menu-button+[main-title]{margin-left:24px}h1{@apply(--paper-font-title)}.card-actions>ha-call-api-button:not([disabled]),.card-actions>ha-call-service-button:not([disabled]),.card-actions>paper-button:not([disabled]){color:var(--default-primary-color);font-weight:500}.card-actions>ha-call-api-button.warning:not([disabled]),.card-actions>ha-call-service-button.warning:not([disabled]),.card-actions>paper-button.warning:not([disabled]){color:var(--google-red-500)}</style></template></dom-module><dom-module id="partial-panel-resolver" assetpath="layouts/"><template><style include="iron-flex ha-style">[hidden]{display:none!important}.placeholder{height:100%}.layout{height:calc(100% - 64px)}</style><div hidden$="[[resolved]]" class="placeholder"><app-toolbar><ha-menu-button narrow="[[narrow]]" show-menu="[[showMenu]]"></ha-menu-button></app-toolbar><div class="layout horizontal center-center"><template is="dom-if" if="[[!errorLoading]]"><paper-spinner active=""></paper-spinner></template><template is="dom-if" if="[[errorLoading]]">Error loading panel :(</template></div></div><span id="panel" hidden$="[[!resolved]]"></span></template></dom-module><script>Polymer({is:"partial-panel-resolver",properties:{hass:{type:Object,observer:"updateAttributes"},narrow:{type:Boolean,value:!1,observer:"updateAttributes"},showMenu:{type:Boolean,value:!1,observer:"updateAttributes"},resolved:{type:Boolean,value:!1},errorLoading:{type:Boolean,value:!1},panel:{type:Object,computed:"computeCurrentPanel(hass)",observer:"panelChanged"}},computeCurrentPanel:function(e){return e.config.panels[e.currentPanel]},panelChanged:function(e){if(!e)return void(this.$.panel.lastChild&&this.$.panel.removeChild(this.$.panel.lastChild));this.resolved=!1,this.errorLoading=!1,this.importHref(e.url,function(){window.hassUtil.dynamicContentUpdater(this.$.panel,"ha-panel-"+e.component_name,{hass:this.hass,narrow:this.narrow,showMenu:this.showMenu,panel:e}),this.resolved=!0}.bind(this),function(){this.errorLoading=!0}.bind(this),!0)},updateAttributes:function(){var e=Polymer.dom(this.$.panel).lastChild;e&&(e.hass=this.hass,e.narrow=this.narrow,e.showMenu=this.showMenu)}})</script><script>Polymer.PaperDialogBehaviorImpl={hostAttributes:{role:"dialog",tabindex:"-1"},properties:{modal:{type:Boolean,value:!1}},observers:["_modalChanged(modal, _readied)"],listeners:{tap:"_onDialogClick"},ready:function(){this.__prevNoCancelOnOutsideClick=this.noCancelOnOutsideClick,this.__prevNoCancelOnEscKey=this.noCancelOnEscKey,this.__prevWithBackdrop=this.withBackdrop},_modalChanged:function(i,e){e&&(i?(this.__prevNoCancelOnOutsideClick=this.noCancelOnOutsideClick,this.__prevNoCancelOnEscKey=this.noCancelOnEscKey,this.__prevWithBackdrop=this.withBackdrop,this.noCancelOnOutsideClick=!0,this.noCancelOnEscKey=!0,this.withBackdrop=!0):(this.noCancelOnOutsideClick=this.noCancelOnOutsideClick&&this.__prevNoCancelOnOutsideClick,this.noCancelOnEscKey=this.noCancelOnEscKey&&this.__prevNoCancelOnEscKey,this.withBackdrop=this.withBackdrop&&this.__prevWithBackdrop))},_updateClosingReasonConfirmed:function(i){this.closingReason=this.closingReason||{},this.closingReason.confirmed=i},_onDialogClick:function(i){for(var e=Polymer.dom(i).path,o=0;o<e.indexOf(this);o++){var t=e[o];if(t.hasAttribute&&(t.hasAttribute("dialog-dismiss")||t.hasAttribute("dialog-confirm"))){this._updateClosingReasonConfirmed(t.hasAttribute("dialog-confirm")),this.close(),i.stopPropagation();break}}}},Polymer.PaperDialogBehavior=[Polymer.IronOverlayBehavior,Polymer.PaperDialogBehaviorImpl]</script><dom-module id="paper-dialog-shared-styles" assetpath="../bower_components/paper-dialog-behavior/"><template><style>:host{display:block;margin:24px 40px;background:var(--paper-dialog-background-color,--primary-background-color);color:var(--paper-dialog-color,--primary-text-color);@apply(--paper-font-body1);@apply(--shadow-elevation-16dp);@apply(--paper-dialog)}:host>::content>*{margin-top:20px;padding:0 24px}:host>::content>.no-padding{padding:0}:host>::content>:first-child{margin-top:24px}:host>::content>:last-child{margin-bottom:24px}:host>::content h2{position:relative;margin:0;@apply(--paper-font-title);@apply(--paper-dialog-title)}:host>::content .buttons{position:relative;padding:8px 8px 8px 24px;margin:0;color:var(--paper-dialog-button-color,--primary-color);@apply(--layout-horizontal);@apply(--layout-end-justified)}</style></template></dom-module><dom-module id="paper-dialog" assetpath="../bower_components/paper-dialog/"><template><style include="paper-dialog-shared-styles"></style><content></content></template></dom-module><script>!function(){Polymer({is:"paper-dialog",behaviors:[Polymer.PaperDialogBehavior,Polymer.NeonAnimationRunnerBehavior],listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},_renderOpened:function(){this.cancelAnimation(),this.playAnimation("entry")},_renderClosed:function(){this.cancelAnimation(),this.playAnimation("exit")},_onNeonAnimationFinish:function(){this.opened?this._finishRenderOpened():this._finishRenderClosed()}})}()</script><dom-module id="paper-dialog-scrollable" assetpath="../bower_components/paper-dialog-scrollable/"><template><style>:host{display:block;@apply(--layout-relative)}:host(.is-scrolled:not(:first-child))::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--divider-color)}:host(.can-scroll:not(.scrolled-to-bottom):not(:last-child))::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--divider-color)}.scrollable{padding:0 24px;@apply(--layout-scroll);@apply(--paper-dialog-scrollable)}.fit{@apply(--layout-fit)}</style><div id="scrollable" class="scrollable"><content></content></div></template></dom-module><script>Polymer({is:"paper-dialog-scrollable",properties:{dialogElement:{type:Object}},listeners:{"scrollable.scroll":"_scroll"},get scrollTarget(){return this.$.scrollable},ready:function(){this._ensureTarget()},attached:function(){this.classList.add("no-padding"),this._ensureTarget(),requestAnimationFrame(this._scroll.bind(this))},_scroll:function(){this.toggleClass("is-scrolled",this.scrollTarget.scrollTop>0),this.toggleClass("can-scroll",this.scrollTarget.offsetHeight<this.scrollTarget.scrollHeight),this.toggleClass("scrolled-to-bottom",this.scrollTarget.scrollTop+this.scrollTarget.offsetHeight>=this.scrollTarget.scrollHeight)},_ensureTarget:function(){this.dialogElement=this.dialogElement||Polymer.dom(this).parentNode,this.dialogElement&&this.dialogElement.behaviors&&this.dialogElement.behaviors.indexOf(Polymer.PaperDialogBehaviorImpl)>=0?(this.dialogElement.sizingTarget=this.scrollTarget,this.scrollTarget.classList.remove("fit")):this.dialogElement&&this.scrollTarget.classList.add("fit")}})</script><style>div.charts-tooltip{z-index:200!important}</style><script>Polymer({is:"state-history-chart-timeline",properties:{data:{type:Object,observer:"dataChanged"},isAttached:{type:Boolean,value:!1,observer:"dataChanged"}},created:function(){this.style.display="block"},attached:function(){this.isAttached=!0},dataChanged:function(){this.drawChart()},drawChart:function(){function t(t,e,n,d){var i=e.replace(/_/g," ");a.addRow([t,i,n,d])}var e,a,n,d,i,o,l,h=Polymer.dom(this),s=this.data;if(this.isAttached){for(;h.node.lastChild;)h.node.removeChild(h.node.lastChild);s&&0!==s.length&&(e=new window.google.visualization.Timeline(this),a=new window.google.visualization.DataTable,a.addColumn({type:"string",id:"Entity"}),a.addColumn({type:"string",id:"State"}),a.addColumn({type:"date",id:"Start"}),a.addColumn({type:"date",id:"End"}),n=new Date(s.reduce(function(t,e){return Math.min(t,new Date(e[0].last_changed))},new Date)),d=new Date(s.reduce(function(t,e){return Math.max(t,new Date(e[e.length-1].last_changed))},n)),d>new Date&&(d=new Date),o="H:mm",l=(d-n)/864e5,l>30?o="MMM d":l>3?o="EEE, MMM d":l>1&&(o="EEE, MMM d, H:mm"),i=0,s.forEach(function(e){var a,n,o=null,l=null;0!==e.length&&(a=window.hassUtil.computeStateName(e[0]),e.forEach(function(e){null!==o&&e.state!==o?(n=new Date(e.last_changed),t(a,o,l,n),o=e.state,l=n):null===o&&(o=e.state,l=new Date(e.last_changed))}),t(a,o,l,d),i++)}),e.draw(a,{height:55+42*i,timeline:{showRowLabels:s.length>1},hAxis:{format:o}}))}}})</script><script>!function(){"use strict";function t(t,e){var a,r=[];for(a=t;a<e;a++)r.push(a);return r}function e(t){var e=parseFloat(t);return!isNaN(e)&&isFinite(e)?e:null}Polymer({is:"state-history-chart-line",properties:{data:{type:Object,observer:"dataChanged"},unit:{type:String},isSingleDevice:{type:Boolean,value:!1},isAttached:{type:Boolean,value:!1,observer:"dataChanged"},chartEngine:{type:Object}},created:function(){this.style.display="block"},attached:function(){this.isAttached=!0},dataChanged:function(){this.drawChart()},drawChart:function(){var a,r,n,i,u,o,s=this.unit,l=this.data;this.isAttached&&(this.chartEngine||(this.chartEngine=new window.google.visualization.LineChart(this)),0!==l.length&&(a={legend:{position:"top"},interpolateNulls:!0,titlePosition:"none",vAxes:{0:{title:s}},hAxis:{format:"H:mm"},chartArea:{left:"60",width:"95%"},explorer:{actions:["dragToZoom","rightClickToReset","dragToPan"],keepInBounds:!0,axis:"horizontal",maxZoomIn:.1}},this.isSingleDevice&&(a.legend.position="none",a.vAxes[0].title=null,a.chartArea.left=40,a.chartArea.height="80%",a.chartArea.top=5),r=new Date(Math.min.apply(null,l.map(function(t){return new Date(t[0].last_changed)}))),n=new Date(Math.max.apply(null,l.map(function(t){return new Date(t[t.length-1].last_changed)}))),n>new Date&&(n=new Date),o=(n-r)/864e5,o>30?a.hAxis.format="MMM d":o>3?a.hAxis.format="EEE, MMM d":o>1&&(a.hAxis.format="EEE, MMM d, H:mm"),i=l.map(function(t){function a(t,e){r&&e&&d.push([t[0]].concat(r.slice(1).map(function(t,a){return e[a]?t:null}))),d.push(t),r=t}var r,i,u,o,s=t[t.length-1],l=window.hassUtil.computeDomain(s),m=window.hassUtil.computeStateName(s),d=[],h=new window.google.visualization.DataTable;return h.addColumn({type:"datetime",id:"Time"}),"thermostat"===l?(i=t.reduce(function(t,e){return t||e.attributes.target_temp_high!==e.attributes.target_temp_low},!1),h.addColumn("number",m+" current temperature"),i?(h.addColumn("number",m+" target temperature high"),h.addColumn("number",m+" target temperature low"),o=[!1,!0,!0],u=function(t){var r=e(t.attributes.current_temperature),n=e(t.attributes.target_temp_high),i=e(t.attributes.target_temp_low);a([new Date(t.last_updated),r,n,i],o)}):(h.addColumn("number",m+" target temperature"),o=[!1,!0],u=function(t){var r=e(t.attributes.current_temperature),n=e(t.attributes.temperature);a([new Date(t.last_updated),r,n],o)}),t.forEach(u)):"climate"===l?(i=t.reduce(function(t,e){return t||e.attributes.target_temp_high!==e.attributes.target_temp_low},!1),h.addColumn("number",m+" current temperature"),i?(h.addColumn("number",m+" target temperature high"),h.addColumn("number",m+" target temperature low"),o=[!1,!0,!0],u=function(t){var r=e(t.attributes.current_temperature),n=e(t.attributes.target_temp_high),i=e(t.attributes.target_temp_low);a([new Date(t.last_updated),r,n,i],o)}):(h.addColumn("number",m+" target temperature"),o=[!1,!0],u=function(t){var r=e(t.attributes.current_temperature),n=e(t.attributes.temperature);a([new Date(t.last_updated),r,n],o)}),t.forEach(u)):(h.addColumn("number",m),o="sensor"!==l&&[!0],t.forEach(function(t){var r=e(t.state);a([new Date(t.last_changed),r],o)})),a([n].concat(r.slice(1)),!1),h.addRows(d),h}),u=1===i.length?i[0]:i.slice(1).reduce(function(e,a){return window.google.visualization.data.join(e,a,"full",[[0,0]],t(1,e.getNumberOfColumns()),t(1,a.getNumberOfColumns()))},i[0]),this.chartEngine.draw(u,a)))}})}()</script><dom-module id="state-history-charts" assetpath="components/"><template><link href="https://ajax.googleapis.com/ajax/static/modules/gviz/1.0/core/tooltip.css" rel="stylesheet"><style>:host{display:block}.loading-container{text-align:center;padding:8px}.loading{height:0;overflow:hidden}</style><google-legacy-loader on-api-load="_googleApiLoaded"></google-legacy-loader><template is="dom-if" if="[[_isLoading]]"><div class="loading-container"><paper-spinner active="" alt="Updating history data"></paper-spinner></div></template><template is="dom-if" if="[[!_isLoading]]"><template is="dom-if" if="[[_computeIsEmpty(historyData)]]">No state history found.</template><state-history-chart-timeline data="[[historyData.timeline]]"></state-history-chart-timeline><template is="dom-repeat" items="[[historyData.line]]"><state-history-chart-line unit="[[item.unit]]" data="[[item.data]]" is-single-device="[[_computeIsSingleLineChart(historyData)]]"></state-history-chart-line></template></template></template></dom-module><script>Polymer({is:"state-history-charts",properties:{historyData:{type:Object,value:null},isLoadingData:{type:Boolean,value:!0},_apiLoaded:{type:Boolean,value:!1},_isLoading:{type:Boolean,computed:"_computeIsLoading(isLoadingData, _apiLoaded)"}},_computeIsSingleLineChart:function(e){return e&&1===e.line.length},_googleApiLoaded:function(){window.google.load("visualization","1",{packages:["timeline","corechart"],callback:function(){this._apiLoaded=!0}.bind(this)})},_computeIsLoading:function(e,t){return e||!t},_computeIsEmpty:function(e){return e&&0===e.timeline.length&&0===e.line.length}})</script><dom-module id="more-info-alarm_control_panel" assetpath="more-infos/"><template><style is="custom-style" include="iron-flex"></style><div class="layout horizontal"><paper-input label="code" value="{{enteredCode}}" pattern="[[codeFormat]]" type="password" hidden$="[[!codeInputVisible]]" disabled="[[!codeInputEnabled]]"></paper-input></div><div class="layout horizontal"><paper-button on-tap="handleDisarmTap" hidden$="[[!disarmButtonVisible]]" disabled="[[!codeValid]]">Disarm</paper-button><paper-button on-tap="handleHomeTap" hidden$="[[!armHomeButtonVisible]]" disabled="[[!codeValid]]">Arm Home</paper-button><paper-button on-tap="handleAwayTap" hidden$="[[!armAwayButtonVisible]]" disabled="[[!codeValid]]">Arm Away</paper-button></div></template></dom-module><script>Polymer({is:"more-info-alarm_control_panel",properties:{hass:{type:Object},stateObj:{type:Object,observer:"stateObjChanged"},enteredCode:{type:String,value:""},disarmButtonVisible:{type:Boolean,value:!1},armHomeButtonVisible:{type:Boolean,value:!1},armAwayButtonVisible:{type:Boolean,value:!1},codeInputVisible:{type:Boolean,value:!1},codeInputEnabled:{type:Boolean,value:!1},codeFormat:{type:String,value:""},codeValid:{type:Boolean,computed:"validateCode(enteredCode, codeFormat)"}},validateCode:function(e,t){var a=new RegExp(t);return null===t||a.test(e)},stateObjChanged:function(e,t){e&&(this.codeFormat=e.attributes.code_format,this.codeInputVisible=null!==this.codeFormat,this.codeInputEnabled="armed_home"===e.state||"armed_away"===e.state||"disarmed"===e.state||"pending"===e.state||"triggered"===e.state,this.disarmButtonVisible="armed_home"===e.state||"armed_away"===e.state||"pending"===e.state||"triggered"===e.state,this.armHomeButtonVisible="disarmed"===e.state,this.armAwayButtonVisible="disarmed"===e.state),t&&this.async(function(){this.fire("iron-resize")}.bind(this),500)},handleDisarmTap:function(){this.callService("alarm_disarm",{code:this.enteredCode})},handleHomeTap:function(){this.callService("alarm_arm_home",{code:this.enteredCode})},handleAwayTap:function(){this.callService("alarm_arm_away",{code:this.enteredCode})},callService:function(e,t){var a=t||{};a.entity_id=this.stateObj.entity_id,this.hass.callService("alarm_control_panel",e,a).then(function(){this.enteredCode=""}.bind(this))}})</script><dom-module id="more-info-automation" assetpath="more-infos/"><template><style>paper-button{color:var(--default-primary-color);font-weight:500;top:3px;height:37px}</style><p>Last triggered:<ha-relative-time datetime="[[stateObj.attributes.last_triggered]]"></ha-relative-time></p><paper-button on-tap="handleTriggerTapped">TRIGGER</paper-button></template></dom-module><script>Polymer({is:"more-info-automation",properties:{hass:{type:Object},stateObj:{type:Object}},handleTriggerTapped:function(){this.hass.callService("automation","trigger",{entity_id:this.stateObj.entity_id})}})</script><dom-module id="more-info-camera" assetpath="more-infos/"><template><style>:host{max-width:640px}.camera-image{width:100%}</style><img class="camera-image" src="[[computeCameraImageUrl(hass, stateObj, isVisible)]]" on-load="imageLoaded" alt="[[computeStateName(stateObj)]]"></template></dom-module><script>Polymer({is:"more-info-camera",properties:{hass:{type:Object},stateObj:{type:Object},isVisible:{type:Boolean,value:!0}},imageLoaded:function(){this.fire("iron-resize")},computeStateName:function(e){return window.hassUtil.computeStateName(e)},computeCameraImageUrl:function(e,t,a){return e.demo?"/demo/webcam.jpg":t&&a?"/api/camera_proxy_stream/"+t.entity_id+"?token="+t.attributes.access_token:"data:image/gif;base64,R0lGODlhAQABAAAAACw="}})</script><dom-module id="paper-range-slider" assetpath="../bower_components/paper-range-slider/"><template><style>:host{--paper-range-slider-width:200px;@apply(--layout);@apply(--layout-justified);@apply(--layout-center);--paper-range-slider-lower-color:var(--paper-grey-400);--paper-range-slider-active-color:var(--primary-color);--paper-range-slider-higher-color:var(--paper-grey-400);--paper-range-slider-knob-color:var(--primary-color);--paper-range-slider-pin-color:var(--primary-color);--paper-range-slider-pin-start-color:var(--paper-grey-400);--paper-range-slider-knob-start-color:transparent;--paper-range-slider-knob-start-border-color:var(--paper-grey-400)}#sliderOuterDiv_0{display:inline-block;width:var(--paper-range-slider-width)}#sliderOuterDiv_1{position:relative;height:calc(30px + var(--paper-single-range-slider-height,2px));margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sliderKnobMinMax{position:absolute;left:0;top:0;margin-left:calc(-15px - var(--paper-single-range-slider-height,2px)/ 2);width:calc(30px + var(--paper-single-range-slider-height,2px));height:calc(30px + var(--paper-single-range-slider-height,2px))}.divSpanWidth{position:absolute;width:100%;display:block;top:0}#sliderMax{line-height:normal;--paper-single-range-slider-bar-color:transparent;--paper-single-range-slider-knob-color:var(--paper-range-slider-knob-color);--paper-single-range-slider-pin-color:var(--paper-range-slider-pin-color);--paper-single-range-slider-active-color:var(--paper-range-slider-active-color);--paper-single-range-slider-secondary-color:var(--paper-range-slider-higher-color);--paper-single-range-slider-pin-start-color:var(--paper-range-slider-pin-start-color);--paper-single-range-slider-knob-start-color:var(--paper-range-slider-knob-start-color);--paper-single-range-slider-knob-start-border-color:var(--paper-range-slider-knob-start-border-color)}#sliderMin{line-height:normal;--paper-single-range-slider-active-color:var(--paper-range-slider-lower-color);--paper-single-range-slider-secondary-color:transparent;--paper-single-range-slider-knob-color:var(--paper-range-slider-knob-color);--paper-single-range-slider-pin-color:var(--paper-range-slider-pin-color);--paper-single-range-slider-pin-start-color:var(--paper-range-slider-pin-start-color);--paper-single-range-slider-knob-start-color:var(--paper-range-slider-knob-start-color);--paper-single-range-slider-knob-start-border-color:var(--paper-range-slider-knob-start-border-color)}</style><div id="sliderOuterDiv_0" style=""><div id="sliderOuterDiv_1"><div id="backDiv" class="divSpanWidth" on-down="_backDivDown" on-tap="_backDivTap" on-up="_backDivUp" on-track="_backDivOnTrack" on-transitionend="_backDivTransEnd"><div id="backDivInner_0" style="line-height:200%"><br></div></div><div id="sliderKnobMin" class="sliderKnobMinMax" on-down="_backDivDown" on-up="_backDivUp" on-track="_sliderKnobMinOnTrack"></div><div id="sliderKnobMax" class="sliderKnobMinMax" on-down="_backDivDown" on-up="_backDivUp" on-track="_sliderKnobMaxOnTrack"></div><div class="divSpanWidth" style="pointer-events:none"><paper-single-range-slider id="sliderMax" disabled$="[[disabled]]" on-down="_sliderMaxDown" on-up="_sliderMaxUp" step="[[step]]" min="[[min]]" max="[[max]]" value="[[valueMax]]" secondary-progress="[[max]]" style="width:100%"></paper-single-range-slider></div><div class="divSpanWidth" style="pointer-events:none"><paper-single-range-slider id="sliderMin" disabled$="[[disabled]]" on-down="_sliderMinDown" on-up="_sliderMinUp" noink="" step="[[step]]" min="[[min]]" max="[[max]]" value="[[valueMin]]" style="width:100%"></paper-single-range-slider></div><div id="backDivInner_1" style="line-height:100%"><br></div></div></div></template><script>Polymer({is:"paper-range-slider",behaviors:[Polymer.IronRangeBehavior],properties:{sliderWidth:{type:String,value:"",notify:!0,reflectToAttribute:!0},style:{type:String,value:"",notify:!0,reflectToAttribute:!0},min:{type:Number,value:0,notify:!0,reflectToAttribute:!0},max:{type:Number,value:100,notify:!0,reflectToAttribute:!0},valueMin:{type:Number,value:0,notify:!0,reflectToAttribute:!0},valueMax:{type:Number,value:100,notify:!0,reflectToAttribute:!0},step:{type:Number,value:1,notify:!0,reflectToAttribute:!0},valueDiffMin:{type:Number,value:0,notify:!0,reflectToAttribute:!0},valueDiffMax:{type:Number,value:0,notify:!0,reflectToAttribute:!0},alwaysShowPin:{type:Boolean,value:!1,notify:!0},pin:{type:Boolean,value:!1,notify:!0},snaps:{type:Boolean,value:!1,notify:!0},disabled:{type:Boolean,value:!1,notify:!0},singleSlider:{type:Boolean,value:!1,notify:!0},transDuration:{type:Number,value:250},tapValueExtend:{type:Boolean,value:!0,notify:!0},tapValueReduce:{type:Boolean,value:!1,notify:!0},tapValueMove:{type:Boolean,value:!1,notify:!0}},ready:function(){function i(i){return void 0!=i&&null!=i}i(this._nInitTries)||(this._nInitTries=0);var t=this.$$("#sliderMax").getEle("#sliderContainer");if(i(t)&&(t=t.offsetWidth>0),i(t)&&(t=this.$$("#sliderMin").getEle("#sliderContainer")),i(t)&&(t=t.offsetWidth>0),i(t))this._renderedReady();else{if(this._nInitTries<1e3){var e=this;setTimeout(function(){e.ready()},10)}else console.error("could not properly initialize the underlying paper-single-range-slider elements ...");this._nInitTries++}},_renderedReady:function(){this.init(),this._setPadding();var i=this;this.$$("#sliderMin").addEventListener("immediate-value-change",function(t){i._setValueMinMax(i._getValuesMinMax(this.immediateValue,null)),i.$.sliderMin._expandKnob(),i.$.sliderMax._expandKnob()}),this.$$("#sliderMax").addEventListener("immediate-value-change",function(t){i._setValueMinMax(i._getValuesMinMax(null,this.immediateValue))}),this.$$("#sliderMin").addEventListener("change",function(t){i._setValueMinMax(i._getValuesMinMax(this.immediateValue,null)),i.alwaysShowPin&&i.$.sliderMin._expandKnob()}),this.$$("#sliderMax").addEventListener("change",function(t){i._setValueMinMax(i._getValuesMinMax(null,this.immediateValue)),i.alwaysShowPin&&i.$.sliderMax._expandKnob()})},_setPadding:function(){var i=document.createElement("div");i.setAttribute("style","position:absolute; top:0px; opacity:0;"),i.innerHTML="invisibleText",document.body.insertBefore(i,document.body.children[0]);var t=i.offsetHeight/2;this.style.paddingTop=t+"px",this.style.paddingBottom=t+"px",i.parentNode.removeChild(i)},_setValueDiff:function(){this._valueDiffMax=Math.max(this.valueDiffMax,0),this._valueDiffMin=Math.max(this.valueDiffMin,0)},_getValuesMinMax:function(i,t){var e=null!=i&&i>=this.min&&i<=this.max,s=null!=t&&t>=this.min&&t<=this.max;if(!e&&!s)return[this.valueMin,this.valueMax];var n=e?i:this.valueMin,a=s?t:this.valueMax;n=Math.min(Math.max(n,this.min),this.max),a=Math.min(Math.max(a,this.min),this.max);var l=a-n;return e?l<this._valueDiffMin?(a=Math.min(this.max,n+this._valueDiffMin),(l=a-n)<this._valueDiffMin&&(n=a-this._valueDiffMin)):l>this._valueDiffMax&&this._valueDiffMax>0&&(a=n+this._valueDiffMax):l<this._valueDiffMin?(n=Math.max(this.min,a-this._valueDiffMin),(l=a-n)<this._valueDiffMin&&(a=n+this._valueDiffMin)):l>this._valueDiffMax&&this._valueDiffMax>0&&(n=a-this._valueDiffMax),[n,a]},_setValueMin:function(i){i=Math.max(i,this.min),this.$$("#sliderMin").value=i,this.valueMin=i},_setValueMax:function(i){i=Math.min(i,this.max),this.$$("#sliderMax").value=i,this.valueMax=i},_setValueMinMax:function(i){this._setValueMin(i[0]),this._setValueMax(i[1]),this._updateSliderKnobMinMax(),this.updateValues()},_setValues:function(i,t){null!=i&&(i<this.min||i>this.max)&&(i=null),null!=t&&(t<this.min||t>this.max)&&(t=null),null!=i&&null!=t&&(i=Math.min(i,t)),this._setValueMinMax(this._getValuesMinMax(i,t))},_updateSliderKnobMinMax:function(){function i(){var s=t.$$("#sliderMax").getEle("#sliderContainer").offsetWidth;if(s<1e-4)return void(e<100&&(e++,setTimeout(function(){i()},10)));var n=s*(t.valueMin-t.min)/(t.max-t.min)+.5*t.$$("#sliderKnobMin").offsetWidth,a=s*(t.valueMax-t.min)/(t.max-t.min)+.5*t.$$("#sliderKnobMax").offsetWidth;t.$$("#sliderKnobMin").style.left=n+"px",t.$$("#sliderKnobMax").style.left=a+"px"}var t=this,e=0;i()},_backDivOnTrack:function(i){switch(i.stopPropagation(),i.detail.state){case"start":this._backDivTrackStart(i);break;case"track":this._backDivTrackDuring(i);break;case"end":this._backDivTrackEnd()}},_backDivTrackStart:function(i){},_backDivTrackDuring:function(i){this._x1_Min=this._x0_Min+i.detail.dx;var t=this._calcStep(this._getRatioPos(this.$$("#sliderMin"),this._x1_Min/this._xWidth));this._x1_Max=this._x0_Max+i.detail.dx;var e=this._calcStep(this._getRatioPos(this.$$("#sliderMax"),this._x1_Max/this._xWidth));t>=this.min&&e<=this.max&&this._setValuesWithCurrentDiff(t,e,!1)},_setValuesWithCurrentDiff:function(i,t,e){var s=this._valueDiffMin,n=this._valueDiffMax;this._valueDiffMin=this.valueMax-this.valueMin,this._valueDiffMax=this.valueMax-this.valueMin,e?this.setValues(i,t):this._setValues(i,t),this._valueDiffMin=s,this._valueDiffMax=n},_backDivTrackEnd:function(){},_sliderKnobMinOnTrack:function(i){this._x1_Min=this._x0_Min+i.detail.dx;var t=this._calcStep(this._getRatioPos(this.$$("#sliderMin"),this._x1_Min/this._xWidth));this._setValues(t,null)},_sliderKnobMaxOnTrack:function(i){this._x1_Max=this._x0_Max+i.detail.dx;var t=this._calcStep(this._getRatioPos(this.$$("#sliderMax"),this._x1_Max/this._xWidth));this._setValues(null,t)},_sliderMinDown:function(){this.$$("#sliderMax")._expandKnob()},_sliderMaxDown:function(i){this.singleSlider?this._setValues(null,this._getEventValue(i)):this.$$("#sliderMin")._expandKnob()},_sliderMinUp:function(){this.alwaysShowPin?this.$$("#sliderMin")._expandKnob():this.$$("#sliderMax")._resetKnob()},_sliderMaxUp:function(){this.alwaysShowPin?this.$$("#sliderMax")._expandKnob():(this.$$("#sliderMin")._resetKnob(),this.singleSlider&&this.$$("#sliderMax")._resetKnob())},_getEventValue:function(i){var t=this.$$("#sliderMax").getEle("#sliderContainer").offsetWidth,e=this.$$("#sliderMax").getEle("#sliderContainer").getBoundingClientRect(),s=(i.detail.x-e.left)/t;return this.min+s*(this.max-this.min)},_backDivTap:function(i){this._setValueNow=function(i,t){this.tapValueMove?this._setValuesWithCurrentDiff(i,t,!0):this.setValues(i,t)};var t=this._getEventValue(i);if(t>this.valueMin&&t<this.valueMax){if(this.tapValueReduce){var e=t<this.valueMin+(this.valueMax-this.valueMin)/2;e?this._setValueNow(t,null):this._setValueNow(null,t)}}else(this.tapValueExtend||this.tapValueMove)&&(t<this.valueMin&&this._setValueNow(t,null),t>this.valueMax&&this._setValueNow(null,t))},_backDivDown:function(i){this._sliderMinDown(),this._sliderMaxDown(),this._xWidth=this.$$("#sliderMin").getEle("#sliderBar").offsetWidth,this._x0_Min=this.$$("#sliderMin").ratio*this._xWidth,this._x0_Max=this.$$("#sliderMax").ratio*this._xWidth},_backDivUp:function(){this._sliderMinUp(),this._sliderMaxUp()},_backDivTransEnd:function(i){},_getRatioPos:function(i,t){return Math.max(i.min,Math.min(i.max,(i.max-i.min)*t+i.min))},init:function(){this.setSingleSlider(this.singleSlider),this.setDisabled(this.disabled),this.alwaysShowPin&&(this.pin=!0),this.$$("#sliderMin").pin=this.pin,this.$$("#sliderMax").pin=this.pin,this.$$("#sliderMin").snaps=this.snaps,this.$$("#sliderMax").snaps=this.snaps,""!=this.sliderWidth&&(this.customStyle["--paper-range-slider-width"]=this.sliderWidth,this.updateStyles());var i=this.$$("#sliderMin").getEle("#sliderBar");if(i){var t=i.$$("#progressContainer");t&&(t.style.background="transparent")}this._prevUpdateValues=[this.min,this.max],this._setValueDiff(),this._setValueMinMax(this._getValuesMinMax(this.valueMin,this.valueMax)),this.alwaysShowPin&&(this.$$("#sliderMin")._expandKnob(),this.$$("#sliderMax")._expandKnob())},setValues:function(i,t){this.$$("#sliderMin")._setTransiting(!0),this.$$("#sliderMax")._setTransiting(!0),this._setValues(i,t);var e=this;setTimeout(function(){e.$.sliderMin._setTransiting(!1),e.$.sliderMax._setTransiting(!1)},e.transDuration)},updateValues:function(){this._prevUpdateValues[0]==this.valueMin&&this._prevUpdateValues[1]==this.valueMax||(this._prevUpdateValues=[this.valueMin,this.valueMax],this.async(function(){this.fire("updateValues")}))},setMin:function(i){this.max<i&&(this.max=i),this.min=i,this._prevUpdateValues=[this.min,this.max],this.valueMin<this.min?this._setValues(this.min,null):this._updateSliderKnobMinMax()},setMax:function(i){this.min>i&&(this.min=i),this.max=i,this._prevUpdateValues=[this.min,this.max],this.valueMax>this.max?this._setValues(null,this.max):this._updateSliderKnobMinMax()},setStep:function(i){this.step=i},setValueDiffMin:function(i){this._valueDiffMin=i},setValueDiffMax:function(i){this._valueDiffMax=i},setTapValueExtend:function(i){this.tapValueExtend=i},setTapValueReduce:function(i){this.tapValueReduce=i},setTapValueMove:function(i){this.tapValueMove=i},setDisabled:function(i){this.disabled=i;var t=i?"none":"auto";this.$$("#sliderMax").getEle("#sliderKnob").style.pointerEvents=t,this.$$("#sliderMin").getEle("#sliderKnob").style.pointerEvents=t,this.$$("#sliderOuterDiv_1").style.pointerEvents=t,this.$$("#sliderKnobMin").style.pointerEvents=t,this.$$("#sliderKnobMax").style.pointerEvents=t},setSingleSlider:function(i){this.singleSlider=i,i?(this.$$("#backDiv").style.display="none",this.$$("#sliderMax").style.pointerEvents="auto",this.$$("#sliderMax").style.display="",this.$$("#sliderMin").style.display="none",this.$$("#sliderKnobMin").style.pointerEvents="none",this.$$("#sliderKnobMax").style.pointerEvents="none",this.$$("#backDiv").style.cursor="default",this.$$("#sliderKnobMin").style.cursor="default",this.$$("#sliderKnobMax").style.cursor="default",this.$$("#sliderMax").getEle("#sliderKnob").style.cursor="default",this.$$("#sliderMin").getEle("#sliderKnob").style.cursor="default"):(this.$$("#backDiv").style.display="block",this.$$("#sliderMax").style.pointerEvents="none",this.$$("#sliderMax").style.display="",this.$$("#sliderMin").style.display="",this.$$("#sliderKnobMin").style.pointerEvents="auto",this.$$("#sliderKnobMax").style.pointerEvents="auto",this.$$("#backDiv").style.cursor="ew-resize",this.$$("#sliderKnobMin").style.cursor="col-resize",this.$$("#sliderKnobMax").style.cursor="col-resize",this.$$("#sliderMax").getEle("#sliderKnob").style.cursor="col-resize",this.$$("#sliderMin").getEle("#sliderKnob").style.cursor="col-resize"),this.$$("#sliderMax").getEle("#sliderContainer").style.pointerEvents=this.singleSlider?"auto":"none",this.$$("#sliderMin").getEle("#sliderContainer").style.pointerEvents="none"}})</script></dom-module><dom-module id="paper-single-range-slider" assetpath="../bower_components/paper-range-slider/"><template strip-whitespace=""><style>:host{@apply(--layout);@apply(--layout-justified);@apply(--layout-center);width:200px;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;--paper-progress-active-color:var(--paper-single-range-slider-active-color, --google-blue-700);--paper-progress-secondary-color:var(--paper-single-range-slider-secondary-color, --google-blue-300);--paper-progress-disabled-active-color:var(--paper-single-range-slider-disabled-active-color, --paper-grey-400);--paper-progress-disabled-secondary-color:var(--paper-single-range-slider-disabled-secondary-color, --paper-grey-400);--calculated-paper-single-range-slider-height:var(--paper-single-range-slider-height, 2px)}:host(:focus){outline:0}#sliderContainer{position:relative;width:100%;height:calc(30px + var(--calculated-paper-single-range-slider-height));margin-left:calc(15px + var(--calculated-paper-single-range-slider-height)/ 2);margin-right:calc(15px + var(--calculated-paper-single-range-slider-height)/ 2)}#sliderContainer:focus{outline:0}#sliderContainer.editable{margin-top:12px;margin-bottom:12px}.bar-container{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.ring>.bar-container{left:calc(5px + var(--calculated-paper-single-range-slider-height)/ 2);transition:left .18s ease}.ring.expand.dragging>.bar-container{transition:none}.ring.expand:not(.pin)>.bar-container{left:calc(8px + var(--calculated-paper-single-range-slider-height)/ 2)}#sliderBar{padding:15px 0;width:100%;background-color:var(--paper-single-range-slider-bar-color,transparent);--paper-progress-container-color:var(--paper-single-range-slider-container-color, --paper-grey-400);--paper-progress-height:var(--calculated-paper-single-range-slider-height)}.slider-markers{position:absolute;top:calc(14px + var(--paper-single-range-slider-height,2px)/ 2);height:var(--calculated-paper-single-range-slider-height);left:0;right:-1px;box-sizing:border-box;pointer-events:none;@apply(--layout-horizontal)}.slider-marker{@apply(--layout-flex)}.slider-marker::after,.slider-markers::after{content:"";display:block;margin-left:-1px;width:2px;height:var(--calculated-paper-single-range-slider-height);border-radius:50%;background-color:var(--paper-single-range-slider-markers-color,#000)}.slider-knob{position:absolute;left:0;top:0;margin-left:calc(-15px - var(--calculated-paper-single-range-slider-height)/ 2);width:calc(30px + var(--calculated-paper-single-range-slider-height));height:calc(30px + var(--calculated-paper-single-range-slider-height))}.transiting>.slider-knob{transition:left 80ms ease}.slider-knob:focus{outline:0}.slider-knob.dragging{transition:none}.snaps>.slider-knob.dragging{transition:-webkit-transform 80ms ease;transition:transform 80ms ease}.slider-knob-inner{margin:10px;width:calc(100% - 20px);height:calc(100% - 20px);background-color:var(--paper-single-range-slider-knob-color,--google-blue-700);border:2px solid var(--paper-single-range-slider-knob-color,--google-blue-700);border-radius:50%;-moz-box-sizing:border-box;box-sizing:border-box;transition-property:-webkit-transform,background-color,border;transition-property:transform,background-color,border;transition-duration:.18s;transition-timing-function:ease}.expand:not(.pin)>.slider-knob>.slider-knob-inner{-webkit-transform:scale(1.5);transform:scale(1.5)}.ring>.slider-knob>.slider-knob-inner{background-color:var(--paper-single-range-slider-knob-start-color,transparent);border:2px solid var(--paper-single-range-slider-knob-start-border-color,--paper-grey-400)}.slider-knob-inner::before{background-color:var(--paper-single-range-slider-pin-color,--google-blue-700)}.pin>.slider-knob>.slider-knob-inner::before{content:"";position:absolute;top:0;left:50%;margin-left:-13px;width:26px;height:26px;border-radius:50% 50% 50% 0;-webkit-transform:rotate(-45deg) scale(0) translate(0);transform:rotate(-45deg) scale(0) translate(0)}.slider-knob-inner::after,.slider-knob-inner::before{transition:-webkit-transform .18s ease,background-color .18s ease;transition:transform .18s ease,background-color .18s ease}.pin.ring>.slider-knob>.slider-knob-inner::before{background-color:var(--paper-single-range-slider-pin-start-color,--paper-grey-400)}.pin.expand>.slider-knob>.slider-knob-inner::before{-webkit-transform:rotate(-45deg) scale(1) translate(17px,-17px);transform:rotate(-45deg) scale(1) translate(17px,-17px)}.pin>.slider-knob>.slider-knob-inner::after{content:attr(value);position:absolute;top:0;left:50%;margin-left:-16px;width:32px;height:26px;text-align:center;color:var(--paper-single-range-slider-font-color,#fff);font-size:10px;-webkit-transform:scale(0) translate(0);transform:scale(0) translate(0)}.pin.expand>.slider-knob>.slider-knob-inner::after{-webkit-transform:scale(1) translate(0,-17px);transform:scale(1) translate(0,-17px)}.slider-input{width:50px;overflow:hidden;--paper-input-container-input:{text-align:center};@apply(--paper-single-range-slider-input)}#sliderContainer.disabled{pointer-events:none}.disabled>.slider-knob>.slider-knob-inner{background-color:var(--paper-single-range-slider-disabled-knob-color,--paper-grey-400);border:2px solid var(--paper-single-range-slider-disabled-knob-color,--paper-grey-400);-webkit-transform:scale3d(.75,.75,1);transform:scale3d(.75,.75,1)}.disabled.ring>.slider-knob>.slider-knob-inner{background-color:var(--paper-single-range-slider-knob-start-color,transparent);border:2px solid var(--paper-single-range-slider-knob-start-border-color,--paper-grey-400)}paper-ripple{color:var(--paper-single-range-slider-knob-color,--google-blue-700)}</style><div id="sliderContainer" class$="[[_getClassNames(disabled, pin, snaps, immediateValue, min, expand, dragging, transiting, editable)]]"><div class="bar-container"><paper-progress disabled$="[[disabled]]" id="sliderBar" aria-hidden="true" min="[[min]]" max="[[max]]" step="[[step]]" value="[[immediateValue]]" secondary-progress="[[secondaryProgress]]" on-down="_bardown" on-up="_resetKnob" on-track="_onTrack"></paper-progress></div><template is="dom-if" if="[[snaps]]"><div class="slider-markers"><template is="dom-repeat" items="[[markers]]"><div class="slider-marker"></div></template></div></template><div id="sliderKnob" class="slider-knob" on-down="_knobdown" on-up="_resetKnob" on-track="_onTrack" on-transitionend="_knobTransitionEnd"><div class="slider-knob-inner" value$="[[immediateValue]]"></div></div></div><template is="dom-if" if="[[editable]]"><paper-input id="input" type="number" step="[[step]]" min="[[min]]" max="[[max]]" class="slider-input" disabled$="[[disabled]]" value="[[immediateValue]]" on-change="_changeValue" on-keydown="_inputKeyDown" no-label-float=""></paper-input></template></template><script>Polymer({is:"paper-single-range-slider",behaviors:[Polymer.IronA11yKeysBehavior,Polymer.IronFormElementBehavior,Polymer.PaperInkyFocusBehavior,Polymer.IronRangeBehavior],properties:{snaps:{type:Boolean,value:!1,notify:!0},pin:{type:Boolean,value:!1,notify:!0},secondaryProgress:{type:Number,value:0,notify:!0,observer:"_secondaryProgressChanged"},editable:{type:Boolean,value:!1},immediateValue:{type:Number,value:0,readOnly:!0,notify:!0},maxMarkers:{type:Number,value:0,notify:!0},expand:{type:Boolean,value:!1,readOnly:!0},dragging:{type:Boolean,value:!1,readOnly:!0},transiting:{type:Boolean,value:!1,readOnly:!0},markers:{type:Array,readOnly:!0,value:function(){return[]}}},observers:["_updateKnob(value, min, max, snaps, step)","_valueChanged(value)","_immediateValueChanged(immediateValue)","_updateMarkers(maxMarkers, min, max, snaps)"],hostAttributes:{role:"slider",tabindex:0},keyBindings:{"left down pagedown home":"_decrementKey","right up pageup end":"_incrementKey"},increment:function(){this.value=this._clampValue(this.value+this.step)},decrement:function(){this.value=this._clampValue(this.value-this.step)},_updateKnob:function(t,e,i,s,a){this.setAttribute("aria-valuemin",e),this.setAttribute("aria-valuemax",i),this.setAttribute("aria-valuenow",t),this._positionKnob(this._calcRatio(t))},_valueChanged:function(){this.fire("value-change")},_immediateValueChanged:function(){this.dragging?this.fire("immediate-value-change"):this.value=this.immediateValue},_secondaryProgressChanged:function(){this.secondaryProgress=this._clampValue(this.secondaryProgress)},_expandKnob:function(){this._setExpand(!0)},_resetKnob:function(){this.cancelDebouncer("expandKnob"),this._setExpand(!1)},_positionKnob:function(t){this._setImmediateValue(this._calcStep(this._calcKnobPosition(t))),this._setRatio(this._calcRatio(this.immediateValue)),this.$.sliderKnob.style.left=100*this.ratio+"%",this.dragging&&(this._knobstartx=this.ratio*this._w,this.translate3d(0,0,0,this.$.sliderKnob))},_calcKnobPosition:function(t){return(this.max-this.min)*t+this.min},_onTrack:function(t){switch(t.stopPropagation(),t.detail.state){case"start":this._trackStart(t);break;case"track":this._trackX(t);break;case"end":this._trackEnd()}},_trackStart:function(t){this._w=this.$.sliderBar.offsetWidth,this._x=this.ratio*this._w,this._startx=this._x,this._knobstartx=this._startx,this._minx=-this._startx,this._maxx=this._w-this._startx,this.$.sliderKnob.classList.add("dragging"),this._setDragging(!0)},_trackX:function(t){this.dragging||this._trackStart(t);var e=Math.min(this._maxx,Math.max(this._minx,t.detail.dx));this._x=this._startx+e;var i=this._calcStep(this._calcKnobPosition(this._x/this._w));this._setImmediateValue(i);var s=this._calcRatio(this.immediateValue)*this._w-this._knobstartx;this.translate3d(s+"px",0,0,this.$.sliderKnob)},_trackEnd:function(){var t=this.$.sliderKnob.style;this.$.sliderKnob.classList.remove("dragging"),this._setDragging(!1),this._resetKnob(),this.value=this.immediateValue,t.transform=t.webkitTransform="",this.fire("change")},_knobdown:function(t){this._expandKnob(),t.preventDefault(),this.focus()},_bardown:function(t){this._w=this.$.sliderBar.offsetWidth;var e=this.$.sliderBar.getBoundingClientRect(),i=(t.detail.x-e.left)/this._w,s=this.ratio;this._setTransiting(!0),this._positionKnob(i),this.debounce("expandKnob",this._expandKnob,60),s===this.ratio&&this._setTransiting(!1),this.async(function(){this.fire("change")}),t.preventDefault(),this.focus()},_knobTransitionEnd:function(t){t.target===this.$.sliderKnob&&this._setTransiting(!1)},_updateMarkers:function(t,e,i,s){s||this._setMarkers([]);var a=Math.round((i-e)/this.step);a>t&&(a=t),this._setMarkers(new Array(a))},_mergeClasses:function(t){return Object.keys(t).filter(function(e){return t[e]}).join(" ")},_getClassNames:function(){return this._mergeClasses({disabled:this.disabled,pin:this.pin,snaps:this.snaps,ring:this.immediateValue<=this.min,expand:this.expand,dragging:this.dragging,transiting:this.transiting,editable:this.editable})},_incrementKey:function(t){this.disabled||("end"===t.detail.key?this.value=this.max:this.increment(),this.fire("change"),t.preventDefault())},_decrementKey:function(t){this.disabled||("home"===t.detail.key?this.value=this.min:this.decrement(),this.fire("change"),t.preventDefault())},_changeValue:function(t){this.value=t.target.value,this.fire("change")},_inputKeyDown:function(t){t.stopPropagation()},_createRipple:function(){return this._rippleContainer=this.$.sliderKnob,Polymer.PaperInkyFocusBehaviorImpl._createRipple.call(this)},_focusedChanged:function(t){t&&this.ensureRipple(),this.hasRipple()&&(this._ripple.style.display=t?"":"none",this._ripple.holdDown=t)},getEle:function(t){return this.$$(t)}})</script></dom-module><dom-module id="ha-climate-control" assetpath="components/"><template><style is="custom-style" include="iron-flex iron-flex-alignment"></style><style>:host{@apply(--layout-flex);@apply(--layout-horizontal);@apply(--layout-justified)}.target-temperature{@apply(--layout-self-center);font-size:200%}.control-buttons{font-size:200%;text-align:right}paper-icon-button{height:48px;width:48px}</style><div class="target-temperature">[[value]] [[units]]</div><div class="control-buttons"><div><paper-icon-button icon="mdi:chevron-up" on-tap="incrementValue"></paper-icon-button></div><div><paper-icon-button icon="mdi:chevron-down" on-tap="decrementValue"></paper-icon-button></div></div></template><script>Polymer({is:"ha-climate-control",properties:{value:{type:Number,observer:"valueChanged"},units:{type:String},min:{type:Number},max:{type:Number},step:{type:Number,value:1}},incrementValue:function(){var e=this.value+this.step;this.last_changed=Date.now(),e<=this.max?this.value=e:this.value=this.max},decrementValue:function(){var e=this.value-this.step;this.last_changed=Date.now(),e>=this.min?this.value=e:this.value=this.min},valueChanged:function(){this.last_changed&&window.setTimeout(function(e){Date.now()-e.last_changed>=2e3&&(e.fire("change"),e.last_changed=null)},2010,this)}})</script></dom-module><dom-module id="more-info-climate" assetpath="more-infos/"><template><style is="custom-style" include="iron-flex"></style><style>:host{color:var(--primary-text-color);--paper-input-container-input:{text-transform:capitalize};}.container-aux_heat,.container-away_mode,.container-fan_list,.container-humidity,.container-operation_list,.container-swing_list,.container-temperature{display:none}.has-aux_heat .container-aux_heat,.has-away_mode .container-away_mode,.has-fan_list .container-fan_list,.has-humidity .container-humidity,.has-operation_list .container-operation_list,.has-swing_list .container-swing_list,.has-temperature .container-temperature{display:block}.container-fan_list iron-icon,.container-operation_list iron-icon,.container-swing_list iron-icon{margin:22px 16px 0 0}paper-dropdown-menu{width:100%}paper-slider{width:100%}.auto paper-slider{--paper-slider-active-color:var(--paper-orange-400);--paper-slider-secondary-color:var(--paper-blue-400)}.heat paper-slider{--paper-slider-active-color:var(--paper-orange-400);--paper-slider-secondary-color:var(--paper-green-400)}.cool paper-slider{--paper-slider-active-color:var(--paper-green-400);--paper-slider-secondary-color:var(--paper-blue-400)}.humidity{--paper-slider-active-color:var(--paper-blue-400);--paper-slider-secondary-color:var(--paper-blue-400)}paper-range-slider{--paper-range-slider-lower-color:var(--paper-orange-400);--paper-range-slider-active-color:var(--paper-green-400);--paper-range-slider-higher-color:var(--paper-blue-400);--paper-range-slider-knob-color:var(--primary-color);--paper-range-slider-pin-color:var(--primary-color);--paper-range-slider-width:100%}.single-row{padding:8px 0}.capitalize{text-transform:capitalize}</style><div class$="[[computeClassNames(stateObj)]]"><div class="container-temperature"><div class$="single-row, [[stateObj.attributes.operation_mode]]"><div hidden$="[[computeTargetTempHidden(stateObj)]]">Target Temperature</div><ha-climate-control value="[[stateObj.attributes.temperature]]" units="[[stateObj.attributes.unit_of_measurement]]" step="[[computeTemperatureStepSize(stateObj)]]" min="[[stateObj.attributes.min_temp]]" max="[[stateObj.attributes.max_temp]]" on-change="targetTemperatureChanged"></ha-climate-control></div></div><div class="container-humidity"><div class="single-row"><div>Target Humidity</div><paper-slider class="humidity" min="[[stateObj.attributes.min_humidity]]" max="[[stateObj.attributes.max_humidity]]" secondary-progress="[[stateObj.attributes.max_humidity]]" step="1" pin="" value="[[stateObj.attributes.humidity]]" on-change="targetHumiditySliderChanged"></paper-slider></div></div><div class="container-operation_list"><div class="controls"><paper-dropdown-menu label-float="" label="Operation"><paper-menu class="dropdown-content" selected="{{operationIndex}}"><template is="dom-repeat" items="[[stateObj.attributes.operation_list]]"><paper-item class="capitalize">[[item]]</paper-item></template></paper-menu></paper-dropdown-menu></div></div><div class="container-fan_list"><paper-dropdown-menu label-float="" label="Fan Mode"><paper-menu class="dropdown-content" selected="{{fanIndex}}"><template is="dom-repeat" items="[[stateObj.attributes.fan_list]]"><paper-item>[[item]]</paper-item></template></paper-menu></paper-dropdown-menu></div><div class="container-swing_list"><paper-dropdown-menu label-float="" label="Swing Mode"><paper-menu class="dropdown-content" selected="{{swingIndex}}"><template is="dom-repeat" items="[[stateObj.attributes.swing_list]]"><paper-item>[[item]]</paper-item></template></paper-menu></paper-dropdown-menu></div><div class="container-away_mode"><div class="center horizontal layout single-row"><div class="flex">Away Mode</div><paper-toggle-button checked="[[awayToggleChecked]]" on-change="awayToggleChanged"></paper-toggle-button></div></div><div class="container-aux_heat"><div class="center horizontal layout single-row"><div class="flex">Aux Heat</div><paper-toggle-button checked="[[auxToggleChecked]]" on-change="auxToggleChanged"></paper-toggle-button></div></div></div></template></dom-module><script>Polymer({is:"more-info-climate",properties:{hass:{type:Object},stateObj:{type:Object,observer:"stateObjChanged"},operationIndex:{type:Number,value:-1,observer:"handleOperationmodeChanged"},fanIndex:{type:Number,value:-1,observer:"handleFanmodeChanged"},swingIndex:{type:Number,value:-1,observer:"handleSwingmodeChanged"},awayToggleChecked:{type:Boolean},auxToggleChecked:{type:Boolean}},stateObjChanged:function(t,e){this.awayToggleChecked="on"===t.attributes.away_mode,this.auxToggleChecked="on"===t.attributes.aux_heat,t.attributes.fan_list?this.fanIndex=t.attributes.fan_list.indexOf(t.attributes.fan_mode):this.fanIndex=-1,t.attributes.operation_list?this.operationIndex=t.attributes.operation_list.indexOf(t.attributes.operation_mode):this.operationIndex=-1,t.attributes.swing_list?this.swingIndex=t.attributes.swing_list.indexOf(t.attributes.swing_mode):this.swingIndex=-1,e&&this.async(function(){this.fire("iron-resize")}.bind(this),500)},computeTemperatureStepSize:function(t){return t.attributes.target_temp_step?t.attributes.target_temp_step:-1!==t.attributes.unit_of_measurement.indexOf("F")?1:.5},computeTargetTempHidden:function(t){return!t.attributes.temperature&&!t.attributes.target_temp_low&&!t.attributes.target_temp_high},computeHideTempRangeSlider:function(t){return!t.attributes.target_temp_low&&!t.attributes.target_temp_high},computeHideTempSlider:function(t){return!t.attributes.temperature},computeClassNames:function(t){return"more-info-climate "+window.hassUtil.attributeClassNames(t,["away_mode","aux_heat","temperature","humidity","operation_list","fan_list","swing_list"])},targetTemperatureChanged:function(t){var e=t.target.value;e!==this.stateObj.attributes.temperature&&this.callServiceHelper("set_temperature",{temperature:e})},targetTemperatureRangeSliderChanged:function(t){var e=t.currentTarget.valueMin,a=t.currentTarget.valueMax;e===this.stateObj.attributes.target_temp_low&&a===this.stateObj.attributes.target_temp_high||this.callServiceHelper("set_temperature",{target_temp_low:e,target_temp_high:a})},targetHumiditySliderChanged:function(t){var e=t.target.value;e!==this.stateObj.attributes.humidity&&this.callServiceHelper("set_humidity",{humidity:e})},awayToggleChanged:function(t){var e="on"===this.stateObj.attributes.away_mode,a=t.target.checked;e!==a&&this.callServiceHelper("set_away_mode",{away_mode:a})},auxToggleChanged:function(t){var e="on"===this.stateObj.attributes.aux_heat,a=t.target.checked;e!==a&&this.callServiceHelper("set_aux_heat",{aux_heat:a})},handleFanmodeChanged:function(t){var e;""!==t&&-1!==t&&(e=this.stateObj.attributes.fan_list[t])!==this.stateObj.attributes.fan_mode&&this.callServiceHelper("set_fan_mode",{fan_mode:e})},handleOperationmodeChanged:function(t){var e;""!==t&&-1!==t&&(e=this.stateObj.attributes.operation_list[t])!==this.stateObj.attributes.operation_mode&&this.callServiceHelper("set_operation_mode",{operation_mode:e})},handleSwingmodeChanged:function(t){var e;""!==t&&-1!==t&&(e=this.stateObj.attributes.swing_list[t])!==this.stateObj.attributes.swing_mode&&this.callServiceHelper("set_swing_mode",{swing_mode:e})},callServiceHelper:function(t,e){e.entity_id=this.stateObj.entity_id,this.hass.callService("climate",t,e).then(function(){this.stateObjChanged(this.stateObj)}.bind(this))}})</script><dom-module id="more-info-configurator" assetpath="more-infos/"><template><style is="custom-style" include="iron-flex"></style><style>p{margin:8px 0}p>img{max-width:100%}p.center{text-align:center}p.error{color:#c62828}p.submit{text-align:center;height:41px}paper-spinner{width:14px;height:14px;margin-right:20px}[hidden]{display:none}</style><div class="layout vertical"><template is="dom-if" if="[[isConfigurable]]"><p hidden$="[[!stateObj.attributes.description]]">[[stateObj.attributes.description]] <a hidden$="[[!stateObj.attributes.link_url]]" href="[[stateObj.attributes.link_url]]" target="_blank">[[stateObj.attributes.link_name]]</a></p><p class="error" hidden$="[[!stateObj.attributes.errors]]">[[stateObj.attributes.errors]]</p><p class="center" hidden$="[[!stateObj.attributes.description_image]]"><img src="[[stateObj.attributes.description_image]]"></p><template is="dom-repeat" items="[[stateObj.attributes.fields]]"><paper-input-container id="paper-input-fields-{{item.id}}"><label>[[item.name]]</label><input is="iron-input" type="[[item.type]]" id="[[item.id]]" on-change="fieldChanged"></paper-input-container></template><p class="submit"><paper-button raised="" disabled="[[isConfiguring]]" on-tap="submitClicked"><paper-spinner active="[[isConfiguring]]" hidden="[[!isConfiguring]]" alt="Configuring"></paper-spinner>[[submitCaption]]</paper-button></p></template></div></template></dom-module><script>Polymer({is:"more-info-configurator",properties:{stateObj:{type:Object},action:{type:String,value:"display"},isConfigurable:{type:Boolean,computed:"computeIsConfigurable(stateObj)"},isConfiguring:{type:Boolean,value:!1},submitCaption:{type:String,computed:"computeSubmitCaption(stateObj)"},fieldInput:{type:Object,value:{}}},computeIsConfigurable:function(t){return"configure"===t.state},computeSubmitCaption:function(t){return t.attributes.submit_caption||"Set configuration"},fieldChanged:function(t){var i=t.target;this.fieldInput[i.id]=i.value},submitClicked:function(){var t={configure_id:this.stateObj.attributes.configure_id,fields:this.fieldInput};this.isConfiguring=!0,this.hass.callService("configurator","configure",t).then(function(){this.isConfiguring=!1}.bind(this),function(){this.isConfiguring=!1}.bind(this))}})</script><dom-module id="more-info-cover" assetpath="more-infos/"><template><style is="custom-style" include="iron-flex"></style><style>.current_position,.current_tilt_position{max-height:0;overflow:hidden}.has-current_position .current_position,.has-current_tilt_position .current_tilt_position{max-height:90px}[invisible]{visibility:hidden!important}</style><div class$="[[computeClassNames(stateObj)]]"><div class="current_position"><div>Position</div><paper-slider min="0" max="100" value="{{coverPositionSliderValue}}" step="1" pin="" disabled="[[!entityObj.supportsSetPosition]]" on-change="coverPositionSliderChanged"></paper-slider></div><div class="current_tilt_position"><div>Tilt position</div><paper-icon-button icon="mdi:arrow-top-right" on-tap="onOpenTiltTap" title="Open tilt" invisible$="[[!entityObj.supportsOpenTilt]]" disabled="[[entityObj.isFullyOpenTilt]]"></paper-icon-button><paper-icon-button icon="mdi:stop" on-tap="onStopTiltTap" invisible$="[[!entityObj.supportsStopTilt]]" title="Stop tilt"></paper-icon-button><paper-icon-button icon="mdi:arrow-bottom-left" on-tap="onCloseTiltTap" title="Close tilt" invisible$="[[!entityObj.supportsCloseTilt]]" disabled="[[entityObj.isFullyClosedTilt]]"></paper-icon-button><paper-slider min="0" max="100" value="{{coverTiltPositionSliderValue}}" step="1" pin="" disabled="[[!entityObj.supportsSetTiltPosition]]" on-change="coverTiltPositionSliderChanged"></paper-slider></div></div></template></dom-module><script>Polymer({is:"more-info-cover",properties:{hass:{type:Object},stateObj:{type:Object,observer:"stateObjChanged"},entityObj:{type:Object,computed:"computeEntityObj(hass, stateObj)"},coverPositionSliderValue:{type:Number},coverTiltPositionSliderValue:{type:Number}},computeEntityObj:function(t,e){return new window.CoverEntity(t,e)},stateObjChanged:function(t){this.coverPositionSliderValue=t.attributes.current_position,this.coverTiltPositionSliderValue=t.attributes.current_tilt_position},computeClassNames:function(t){return window.hassUtil.attributeClassNames(t,["current_position","current_tilt_position"])},coverPositionSliderChanged:function(t){this.entityObj.setCoverPosition(t.target.value)},coverTiltPositionSliderChanged:function(t){this.entityObj.setCoverTiltPosition(t.target.value)},onOpenTiltTap:function(){this.entityObj.openCoverTilt()},onCloseTiltTap:function(){this.entityObj.closeCoverTilt()},onStopTiltTap:function(){this.entityObj.stopCoverTilt()}})</script><dom-module id="more-info-default" assetpath="more-infos/"><template><ha-attributes state-obj="[[stateObj]]"></ha-attributes></template></dom-module><script>Polymer({is:"more-info-default",properties:{stateObj:{type:Object}}})</script><dom-module id="more-info-fan" assetpath="more-infos/"><template><style is="custom-style" include="iron-flex"></style><style>.container-direction,.container-speed_list{display:none}.has-direction .container-direction,.has-speed_list .container-speed_list{display:block}</style><div class$="[[computeClassNames(stateObj)]]"><div class="container-speed_list"><paper-dropdown-menu label-float="" label="Speed"><paper-menu class="dropdown-content" selected="{{speedIndex}}"><template is="dom-repeat" items="[[stateObj.attributes.speed_list]]"><paper-item>[[item]]</paper-item></template></paper-menu></paper-dropdown-menu></div><div class="container-oscillating" hidden$="[[computeHideOscillation(stateObj)]]"><div class="center horizontal layout single-row"><div class="flex">Oscillate</div><paper-toggle-button checked="[[oscillationToggleChecked]]" on-change="oscillationToggleChanged"></paper-toggle-button></div></div><div class="container-direction"><div class="direction"><div>Direction</div><paper-icon-button icon="mdi:rotate-left" on-tap="onDirectionLeft" title="Left" disabled="[[computeIsRotatingLeft(stateObj)]]"></paper-icon-button><paper-icon-button icon="mdi:rotate-right" on-tap="onDirectionRight" title="Right" disabled="[[computeIsRotatingRight(stateObj)]]"></paper-icon-button></div></div></div></template></dom-module><script>Polymer({is:"more-info-fan",properties:{hass:{type:Object},stateObj:{type:Object,observer:"stateObjChanged"},speedIndex:{type:Number,value:-1,observer:"speedChanged"},oscillationToggleChecked:{type:Boolean}},stateObjChanged:function(t,e){this.oscillationToggleChecked=t.attributes.oscillating,t.attributes.speed_list?this.speedIndex=t.attributes.speed_list.indexOf(t.attributes.speed):this.speedIndex=-1,e&&this.async(function(){this.fire("iron-resize")}.bind(this),500)},computeClassNames:function(t){return"more-info-fan "+window.hassUtil.attributeClassNames(t,["oscillating","speed_list","direction"])},speedChanged:function(t){var e;""!==t&&-1!==t&&(e=this.stateObj.attributes.speed_list[t])!==this.stateObj.attributes.speed&&this.hass.callService("fan","turn_on",{entity_id:this.stateObj.entity_id,speed:e})},oscillationToggleChanged:function(t){var e=this.stateObj.attributes.oscillating,i=t.target.checked;e!==i&&this.hass.callService("fan","oscillate",{entity_id:this.stateObj.entity_id,oscillating:i})},onDirectionLeft:function(){this.hass.callService("fan","set_direction",{entity_id:this.stateObj.entity_id,direction:"left"})},onDirectionRight:function(){this.hass.callService("fan","set_direction",{entity_id:this.stateObj.entity_id,direction:"right"})},computeIsRotatingLeft:function(t){return"left"===t.attributes.direction},computeIsRotatingRight:function(t){return"right"===t.attributes.direction},computeHideOscillation:function(t){return t.attributes.direction}})</script><dom-module id="more-info-group" assetpath="more-infos/"><template><style>.child-card{margin-bottom:8px}.child-card:last-child{margin-bottom:0}</style><div id="groupedControlDetails"></div><template is="dom-repeat" items="[[states]]" as="state"><div class="child-card"><state-card-content state-obj="[[state]]" hass="[[hass]]"></state-card-content></div></template></template></dom-module><script>Polymer({is:"more-info-group",properties:{hass:{type:Object},stateObj:{type:Object},states:{type:Array,computed:"computeStates(stateObj, hass)"}},observers:["statesChanged(stateObj, states)"],computeStates:function(t,e){for(var s=[],a=t.attributes.entity_id,i=0;i<a.length;i++){var o=e.states[a[i]];o&&s.push(o)}return s},statesChanged:function(t,e){var s,a,i,o,r=!1;if(e&&e.length>0){s=e[0],r=Object.assign({},s,{entity_id:t.entity_id,attributes:Object.assign({},s.attributes)});var n=window.hassUtil.computeDomain(r);for(a=0;a<e.length;a++)if(i=e[a],n!==window.hassUtil.computeDomain(i)){r=!1;break}}r?window.hassUtil.dynamicContentUpdater(this.$.groupedControlDetails,"MORE-INFO-"+window.hassUtil.stateMoreInfoType(r).toUpperCase(),{stateObj:r,hass:this.hass}):(o=Polymer.dom(this.$.groupedControlDetails),o.lastChild&&o.removeChild(o.lastChild))}})</script><dom-module id="ha-labeled-slider" assetpath="components/"><template><style>:host{display:block;padding-bottom:16px}.title{margin-bottom:16px;opacity:var(--dark-primary-opacity)}iron-icon{float:left;margin-top:4px;opacity:var(--dark-secondary-opacity)}.slider-container{margin-left:24px}paper-slider{background-image:var(--ha-slider-background)}</style><div class="title">[[caption]]</div><iron-icon icon="[[icon]]"></iron-icon><div class="slider-container"><paper-slider min="[[min]]" max="[[max]]" value="{{value}}"></paper-slider></div></template></dom-module><script>Polymer({is:"ha-labeled-slider",properties:{caption:{type:String},icon:{type:String},min:{type:Number},max:{type:Number},value:{type:Number,notify:!0}}})</script><dom-module id="ha-color-picker" assetpath="components/"><template><style>canvas{cursor:crosshair}</style><canvas width="[[width]]" height="[[height]]" id="canvas"></canvas></template></dom-module><script>Polymer({is:"ha-color-picker",properties:{color:{type:Object},width:{type:Number},height:{type:Number}},listeners:{mousedown:"onMouseDown",mouseup:"onMouseUp",touchstart:"onTouchStart",touchend:"onTouchEnd"},onMouseDown:function(t){this.onMouseMove(t),this.addEventListener("mousemove",this.onMouseMove)},onMouseUp:function(){this.removeEventListener("mousemove",this.onMouseMove)},onTouchStart:function(t){this.onTouchMove(t),this.addEventListener("touchmove",this.onTouchMove)},onTouchEnd:function(){this.removeEventListener("touchmove",this.onTouchMove)},onTouchMove:function(t){this.mouseMoveIsThrottled&&(this.mouseMoveIsThrottled=!1,this.processColorSelect(t.touches[0]),this.async(function(){this.mouseMoveIsThrottled=!0}.bind(this),100))},onMouseMove:function(t){this.mouseMoveIsThrottled&&(this.mouseMoveIsThrottled=!1,this.processColorSelect(t),this.async(function(){this.mouseMoveIsThrottled=!0}.bind(this),100))},processColorSelect:function(t){var o=this.canvas.getBoundingClientRect();t.clientX<o.left||t.clientX>=o.left+o.width||t.clientY<o.top||t.clientY>=o.top+o.height||this.onColorSelect(t.clientX-o.left,t.clientY-o.top)},onColorSelect:function(t,o){var e=this.context.getImageData(t,o,1,1).data;this.setColor({r:e[0],g:e[1],b:e[2]})},setColor:function(t){this.color=t,this.fire("colorselected",{rgb:this.color})},ready:function(){this.setColor=this.setColor.bind(this),this.mouseMoveIsThrottled=!0,this.canvas=this.$.canvas,this.context=this.canvas.getContext("2d"),this.drawGradient()},drawGradient:function(){var t,o,e,s,i;this.width&&this.height||(t=getComputedStyle(this)),o=this.width||parseInt(t.width,10),e=this.height||parseInt(t.height,10),s=this.context.createLinearGradient(0,0,o,0),s.addColorStop(0,"rgb(255,0,0)"),s.addColorStop(.16,"rgb(255,0,255)"),s.addColorStop(.32,"rgb(0,0,255)"),s.addColorStop(.48,"rgb(0,255,255)"),s.addColorStop(.64,"rgb(0,255,0)"),s.addColorStop(.8,"rgb(255,255,0)"),s.addColorStop(1,"rgb(255,0,0)"),this.context.fillStyle=s,this.context.fillRect(0,0,o,e),i=this.context.createLinearGradient(0,0,0,e),i.addColorStop(0,"rgba(255,255,255,1)"),i.addColorStop(.5,"rgba(255,255,255,0)"),i.addColorStop(.5,"rgba(0,0,0,0)"),i.addColorStop(1,"rgba(0,0,0,1)"),this.context.fillStyle=i,this.context.fillRect(0,0,o,e)}})</script><dom-module id="more-info-light" assetpath="more-infos/"><template><style is="custom-style" include="iron-flex"></style><style>.effect_list{padding-bottom:16px}.brightness,.color_temp,.effect_list,.white_value{max-height:0;overflow:hidden;transition:max-height .5s ease-in}.color_temp{--ha-slider-background:-webkit-linear-gradient(right, rgb(255, 160, 0) 0%, white 50%, rgb(166, 209, 255) 100%)}ha-color-picker{display:block;width:250px;max-height:0;overflow:hidden;transition:max-height .2s ease-in}.has-brightness .brightness,.has-color_temp .color_temp,.has-effect_list .effect_list,.has-white_value .white_value{max-height:84px}.has-rgb_color ha-color-picker{max-height:200px}</style><div class$="[[computeClassNames(stateObj)]]"><div class="effect_list"><paper-dropdown-menu label-float="" label="Effect"><paper-menu class="dropdown-content" selected="{{effectIndex}}"><template is="dom-repeat" items="[[stateObj.attributes.effect_list]]"><paper-item>[[item]]</paper-item></template></paper-menu></paper-dropdown-menu></div><div class="brightness"><ha-labeled-slider caption="Brightness" icon="mdi:brightness-5" max="255" value="{{brightnessSliderValue}}" on-change="brightnessSliderChanged"></ha-labeled-slider></div><div class="color_temp"><ha-labeled-slider caption="Color Temperature" icon="mdi:thermometer" min="[[stateObj.attributes.min_mireds]]" max="[[stateObj.attributes.max_mireds]]" value="{{ctSliderValue}}" on-change="ctSliderChanged"></ha-labeled-slider></div><div class="white_value"><ha-labeled-slider caption="White Value" icon="mdi:file-word-box" max="255" value="{{wvSliderValue}}" on-change="wvSliderChanged"></ha-labeled-slider></div><ha-color-picker on-colorselected="colorPicked" height="200" width="250"></ha-color-picker><ha-attributes state-obj="[[stateObj]]" extra-filters="brightness,color_temp,white_value,effect_list,effect,rgb_color,xy_color,min_mireds,max_mireds"></ha-attributes></div></template></dom-module><script>Polymer({is:"more-info-light",properties:{hass:{type:Object},stateObj:{type:Object,observer:"stateObjChanged"},effectIndex:{type:Number,value:-1,observer:"effectChanged"},brightnessSliderValue:{type:Number,value:0},ctSliderValue:{type:Number,value:0},wvSliderValue:{type:Number,value:0}},stateObjChanged:function(t,e){t&&"on"===t.state?(this.brightnessSliderValue=t.attributes.brightness,this.ctSliderValue=t.attributes.color_temp,this.wvSliderValue=t.attributes.white_value,t.attributes.effect_list?this.effectIndex=t.attributes.effect_list.indexOf(t.attributes.effect):this.effectIndex=-1):this.brightnessSliderValue=0,e&&this.async(function(){this.fire("iron-resize")}.bind(this),500)},featureClassNames:{1:"has-brightness"},computeClassNames:function(t){var e=[window.hassUtil.attributeClassNames(t,["color_temp","white_value","effect_list"]),window.hassUtil.featureClassNames(t,this.featureClassNames)];return t.attributes.supported_features&&0!=(16&t.attributes.supported_features)&&t.attributes.rgb_color&&e.push("has-rgb_color"),e.join(" ")},effectChanged:function(t){var e;""!==t&&-1!==t&&(e=this.stateObj.attributes.effect_list[t])!==this.stateObj.attributes.effect&&this.hass.callService("light","turn_on",{entity_id:this.stateObj.entity_id,effect:e})},brightnessSliderChanged:function(t){var e=parseInt(t.target.value,10);isNaN(e)||(0===e?this.hass.callService("light","turn_off",{entity_id:this.stateObj.entity_id}):this.hass.callService("light","turn_on",{entity_id:this.stateObj.entity_id,brightness:e}))},ctSliderChanged:function(t){var e=parseInt(t.target.value,10);isNaN(e)||this.hass.callService("light","turn_on",{entity_id:this.stateObj.entity_id,color_temp:e})},wvSliderChanged:function(t){var e=parseInt(t.target.value,10);isNaN(e)||this.hass.callService("light","turn_on",{entity_id:this.stateObj.entity_id,white_value:e})},serviceChangeColor:function(t,e,i){t.callService("light","turn_on",{entity_id:e,rgb_color:[i.r,i.g,i.b]})},colorPicked:function(t){if(this.skipColorPicked)return void(this.colorChanged=!0);this.color=t.detail.rgb,this.serviceChangeColor(this.hass,this.stateObj.entity_id,this.color),this.colorChanged=!1,this.skipColorPicked=!0,this.colorDebounce=setTimeout(function(){this.colorChanged&&this.serviceChangeColor(this.hass,this.stateObj.entity_id,this.color),this.skipColorPicked=!1}.bind(this),500)}})</script><dom-module id="more-info-lock" assetpath="more-infos/"><template><style>paper-input{display:inline-block}</style><div hidden$="[[!stateObj.attributes.code_format]]"><paper-input label="code" value="{{enteredCode}}" pattern="[[stateObj.attributes.code_format]]" type="password"></paper-input><paper-button on-tap="handleUnlockTap" hidden$="[[!isLocked]]">Unlock</paper-button><paper-button on-tap="handleLockTap" hidden$="[[isLocked]]">Lock</paper-button></div><ha-attributes state-obj="[[stateObj]]" extra-filters="code_format"></ha-attributes></template></dom-module><script>Polymer({is:"more-info-lock",properties:{hass:{type:Object},stateObj:{type:Object,observer:"stateObjChanged"},enteredCode:{type:String,value:""}},handleUnlockTap:function(){this.callService("unlock",{code:this.enteredCode})},handleLockTap:function(){this.callService("lock",{code:this.enteredCode})},stateObjChanged:function(e){e&&(this.isLocked="locked"===e.state)},callService:function(e,t){var c=t||{};c.entity_id=this.stateObj.entity_id,this.hass.callService("lock",e,c)}})</script><dom-module id="more-info-media_player" assetpath="more-infos/"><template><style is="custom-style" include="iron-flex iron-flex-alignment"></style><style>.media-state{text-transform:capitalize}paper-icon-button[highlight]{color:var(--accent-color)}.volume{margin-bottom:8px;max-height:0;overflow:hidden;transition:max-height .5s ease-in}.has-volume_level .volume{max-height:40px}iron-icon.source-input{padding:7px;margin-top:15px}paper-dropdown-menu.source-input{margin-left:10px}[hidden]{display:none!important}</style><div class$="[[computeClassNames(stateObj)]]"><div class="layout horizontal"><div class="flex"><paper-icon-button icon="mdi:power" highlight$="[[isOff]]" on-tap="handleTogglePower" hidden$="[[computeHidePowerButton(isOff, supportsTurnOn, supportsTurnOff)]]"></paper-icon-button></div><div><template is="dom-if" if="[[computeShowPlaybackControls(isOff, hasMediaControl)]]"><paper-icon-button icon="mdi:skip-previous" on-tap="handlePrevious" hidden$="[[!supportsPreviousTrack]]"></paper-icon-button><paper-icon-button icon="[[computePlaybackControlIcon(stateObj)]]" on-tap="handlePlaybackControl" hidden$="[[!computePlaybackControlIcon(stateObj)]]" highlight=""></paper-icon-button><paper-icon-button icon="mdi:skip-next" on-tap="handleNext" hidden$="[[!supportsNextTrack]]"></paper-icon-button></template></div></div><div class="volume_buttons center horizontal layout" hidden$="[[computeHideVolumeButtons(isOff, supportsVolumeButtons)]]"><paper-icon-button on-tap="handleVolumeTap" icon="mdi:volume-off"></paper-icon-button><paper-icon-button id="volumeDown" disabled$="[[isMuted]]" on-mousedown="handleVolumeDown" on-touchstart="handleVolumeDown" icon="mdi:volume-medium"></paper-icon-button><paper-icon-button id="volumeUp" disabled$="[[isMuted]]" on-mousedown="handleVolumeUp" on-touchstart="handleVolumeUp" icon="mdi:volume-high"></paper-icon-button></div><div class="volume center horizontal layout" hidden$="[[!supportsVolumeSet]]"><paper-icon-button on-tap="handleVolumeTap" hidden$="[[supportsVolumeButtons]]" icon="[[computeMuteVolumeIcon(isMuted)]]"></paper-icon-button><paper-slider disabled$="[[isMuted]]" min="0" max="100" value="[[volumeSliderValue]]" on-change="volumeSliderChanged" class="flex"></paper-slider></div><div class="controls layout horizontal justified" hidden$="[[computeHideSelectSource(isOff, supportsSelectSource)]]"><iron-icon class="source-input" icon="mdi:login-variant"></iron-icon><paper-dropdown-menu class="flex source-input" label-float="" label="Source"><paper-menu class="dropdown-content" selected="{{sourceIndex}}"><template is="dom-repeat" items="[[stateObj.attributes.source_list]]"><paper-item>[[item]]</paper-item></template></paper-menu></paper-dropdown-menu></div><div hidden$="[[computeHideTTS(ttsLoaded, supportsPlayMedia)]]" class="layout horizontal end"><paper-input id="ttsInput" label="Text to speak" class="flex" value="{{ttsMessage}}" on-keydown="ttsCheckForEnter"></paper-input><paper-icon-button icon="mdi:send" on-tap="sendTTS"></paper-icon-button></div></div></template></dom-module><script>Polymer({is:"more-info-media_player",properties:{ttsLoaded:{type:Boolean,computed:"computeTTSLoaded(hass)"},hass:{type:Object},stateObj:{type:Object,observer:"stateObjChanged"},isOff:{type:Boolean,value:!1},isPlaying:{type:Boolean,value:!1},isMuted:{type:Boolean,value:!1},source:{type:String,value:""},sourceIndex:{type:Number,value:0,observer:"handleSourceChanged"},volumeSliderValue:{type:Number,value:0},ttsMessage:{type:String,value:""},supportsPause:{type:Boolean,value:!1},supportsVolumeSet:{type:Boolean,value:!1},supportsVolumeMute:{type:Boolean,value:!1},supportsPreviousTrack:{type:Boolean,value:!1},supportsNextTrack:{type:Boolean,value:!1},supportsTurnOn:{type:Boolean,value:!1},supportsTurnOff:{type:Boolean,value:!1},supportsPlayMedia:{type:Boolean,value:!1},supportsVolumeButtons:{type:Boolean,value:!1},supportsSelectSource:{type:Boolean,value:!1},supportsPlay:{type:Boolean,value:!1},hasMediaControl:{type:Boolean,value:!1}},HAS_MEDIA_STATES:["playing","paused","unknown"],stateObjChanged:function(e,t){e&&(this.isOff="off"===e.state,this.isPlaying="playing"===e.state,this.hasMediaControl=-1!==this.HAS_MEDIA_STATES.indexOf(e.state),this.volumeSliderValue=100*e.attributes.volume_level,this.isMuted=e.attributes.is_volume_muted,this.source=e.attributes.source,this.supportsPause=0!=(1&e.attributes.supported_features),this.supportsVolumeSet=0!=(4&e.attributes.supported_features),this.supportsVolumeMute=0!=(8&e.attributes.supported_features),this.supportsPreviousTrack=0!=(16&e.attributes.supported_features),this.supportsNextTrack=0!=(32&e.attributes.supported_features),this.supportsTurnOn=0!=(128&e.attributes.supported_features),this.supportsTurnOff=0!=(256&e.attributes.supported_features),this.supportsPlayMedia=0!=(512&e.attributes.supported_features),this.supportsVolumeButtons=0!=(1024&e.attributes.supported_features),this.supportsSelectSource=0!=(2048&e.attributes.supported_features),this.supportsPlay=0!=(16384&e.attributes.supported_features),void 0!==e.attributes.source_list&&(this.sourceIndex=e.attributes.source_list.indexOf(this.source))),t&&this.async(function(){this.fire("iron-resize")}.bind(this),500)},computeClassNames:function(e){return window.hassUtil.attributeClassNames(e,["volume_level"])},computeIsOff:function(e){return"off"===e.state},computeMuteVolumeIcon:function(e){return e?"mdi:volume-off":"mdi:volume-high"},computeHideVolumeButtons:function(e,t){return!t||e},computeShowPlaybackControls:function(e,t){return!e&&t},computePlaybackControlIcon:function(){return this.isPlaying?this.supportsPause?"mdi:pause":"mdi:stop":this.supportsPlay?"mdi:play":null},computeHidePowerButton:function(e,t,s){return e?!t:!s},computeHideSelectSource:function(e,t){return e||!t},computeSelectedSource:function(e){return e.attributes.source_list.indexOf(e.attributes.source)},computeHideTTS:function(e,t){return!e||!t},computeTTSLoaded:function(e){return window.hassUtil.isComponentLoaded(e,"tts")},handleTogglePower:function(){this.callService(this.isOff?"turn_on":"turn_off")},handlePrevious:function(){this.callService("media_previous_track")},handlePlaybackControl:function(){this.callService("media_play_pause")},handleNext:function(){this.callService("media_next_track")},handleSourceChanged:function(e){var t;!this.stateObj||void 0===this.stateObj.attributes.source_list||e<0||e>=this.stateObj.attributes.source_list.length||(t=this.stateObj.attributes.source_list[e])!==this.stateObj.attributes.source&&this.callService("select_source",{source:t})},handleVolumeTap:function(){this.supportsVolumeMute&&this.callService("volume_mute",{is_volume_muted:!this.isMuted})},handleVolumeUp:function(){var e=this.$.volumeUp;this.handleVolumeWorker("volume_up",e,!0)},handleVolumeDown:function(){var e=this.$.volumeDown;this.handleVolumeWorker("volume_down",e,!0)},handleVolumeWorker:function(e,t,s){(s||void 0!==t&&t.pointerDown)&&(this.callService(e),this.async(function(){this.handleVolumeWorker(e,t,!1)}.bind(this),500))},volumeSliderChanged:function(e){var t=parseFloat(e.target.value),s=t>0?t/100:0;this.callService("volume_set",{volume_level:s})},ttsCheckForEnter:function(e){13===e.keyCode&&this.sendTTS()},sendTTS:function(){var e,t,s=this.hass.config.services.tts,u=Object.keys(s).sort();for(t=0;t<u.length;t++)if(-1!==u[t].indexOf("_say")){e=u[t];break}e&&(this.hass.callService("tts",e,{entity_id:this.stateObj.entity_id,message:this.ttsMessage}),this.ttsMessage="",this.$.ttsInput.focus())},callService:function(e,t){var s=t||{};s.entity_id=this.stateObj.entity_id,this.hass.callService("media_player",e,s)}})</script><dom-module id="more-info-script" assetpath="more-infos/"><template><style is="custom-style" include="iron-flex iron-flex-alignment"></style><div class="layout vertical"><div class="data-entry layout justified horizontal"><div class="key">Last Action</div><div class="value">[[stateObj.attributes.last_action]]</div></div></div></template></dom-module><script>Polymer({is:"more-info-script",properties:{stateObj:{type:Object}}})</script><dom-module id="more-info-sun" assetpath="more-infos/"><template><style is="custom-style" include="iron-flex iron-flex-alignment"></style><template is="dom-repeat" items="[[computeOrder(risingDate, settingDate)]]"><div class="data-entry layout justified horizontal"><div class="key"><span>[[itemCaption(item)]]</span><ha-relative-time datetime-obj="[[itemDate(item)]]"></ha-relative-time></div><div class="value">[[itemValue(item)]]</div></div></template><div class="data-entry layout justified horizontal"><div class="key">Elevation</div><div class="value">[[stateObj.attributes.elevation]]</div></div></template></dom-module><script>Polymer({is:"more-info-sun",properties:{stateObj:{type:Object},risingDate:{type:Object,computed:"computeRising(stateObj)"},settingDate:{type:Object,computed:"computeSetting(stateObj)"}},computeRising:function(t){return new Date(t.attributes.next_rising)},computeSetting:function(t){return new Date(t.attributes.next_setting)},computeOrder:function(t,e){return t>e?["set","ris"]:["ris","set"]},itemCaption:function(t){return"ris"===t?"Rising ":"Setting "},itemDate:function(t){return"ris"===t?this.risingDate:this.settingDate},itemValue:function(t){return window.hassUtil.formatTime(this.itemDate(t))}})</script><dom-module id="more-info-updater" assetpath="more-infos/"><template><style>.link{color:#03a9f4}</style><div><a class="link" href="https://home-assistant.io/getting-started/updating/" target="_blank">Update Instructions</a></div></template></dom-module><script>Polymer({is:"more-info-updater",properties:{stateObj:{type:Object}},computeReleaseNotes:function(t){return t.attributes.release_notes||"https://home-assistant.io/getting-started/updating/"}})</script><script>Polymer({is:"more-info-content",properties:{hass:{type:Object},stateObj:{type:Object,observer:"stateObjChanged"}},created:function(){this.style.display="block"},stateObjChanged:function(t){var s;t?window.hassUtil.dynamicContentUpdater(this,"MORE-INFO-"+window.hassUtil.stateMoreInfoType(t).toUpperCase(),{hass:this.hass,stateObj:t,isVisible:!0}):(s=Polymer.dom(this),s.lastChild&&(s.lastChild.isVisible=!1))}})</script><script>!function(){function t(t,e){var n,i={},a=[];return t?(t.forEach(function(t){var n,r;if(0!==t.size){var s=Object.assign({},t[t.length-1]);s.last_changed=e,s.last_updated=e,t.push(s),n=t.find(function(t){return"unit_of_measurement"in t.attributes}),r=!!n&&n.attributes.unit_of_measurement,r?r in i?i[r].push(t):i[r]=[t]:a.push(t)}}),n=Object.keys(i).map(function(t){return{unit:t,data:i[t]}}),{line:n,timeline:a}):{line:[],timeline:[]}}var e={},n={};Polymer({is:"ha-state-history-data",properties:{hass:{type:Object,observer:"hassChanged"},filterType:{type:String},startTime:{type:Date,value:null},endTime:{type:Date,value:null},entityId:{type:String,value:null},isLoading:{type:Boolean,value:!0,readOnly:!0,notify:!0},data:{type:Object,value:null,readOnly:!0,notify:!0}},observers:["filterChanged(filterType, entityId, startTime, endTime)"],hassChanged:function(t,e){e||this.filterChanged(this.filterType,this.entityId,this.startTime,this.endTime)},filterChanged:function(t,e,n,i){if(this.hass){var a;if("date"===t){if(null===n||null===i)return;a=this.getDate(n,i)}else{if("recent-entity"!==t)return;if(null===e)return;a=this.getRecent(e)}this._setIsLoading(!0),a.then(function(t){this._setData(t),this._setIsLoading(!1)}.bind(this))}},getRecent:function(e){var i=n[e];if(i&&Date.now()-i.created<6e4)return i.data;var a="history/period";e&&(a+="?filter_entity_id="+e);var r=this.hass.callApi("GET",a).then(function(e){return t(e,Date.now())},function(){return n[e]=!1,null});return n[e]={created:Date.now(),data:r},r},getDate:function(n,i){var a=n.toISOString()+"?end_time="+i.toISOString();return e[a]||(e[a]=this.hass.callApi("GET","history/period/"+a).then(function(e){return t(e,i)},function(){return e[a]=!1,null})),e[a]}})}()</script><dom-module id="more-info-dialog" assetpath="dialogs/"><template><style>paper-dialog{font-size:14px;width:365px}paper-dialog[data-domain=camera]{width:auto}state-history-charts{position:relative;z-index:1;max-width:365px}state-card-content{margin-bottom:24px;font-size:14px}@media all and (max-width:450px),all and (max-height:500px){paper-dialog{margin:0;width:100%;max-height:calc(100% - 64px);position:fixed!important;bottom:0;left:0;right:0;overflow:scroll}}</style><paper-dialog id="dialog" with-backdrop="" opened="{{dialogOpen}}" data-domain$="[[computeDomain(stateObj)]]"><h2><state-card-content state-obj="[[stateObj]]" hass="[[hass]]" in-dialog=""></state-card-content></h2><template is="dom-if" if="[[showHistoryComponent]]" restamp=""><div><ha-state-history-data hass="[[hass]]" filter-type="[[_filterType]]" entity-id="[[stateObj.entity_id]]" data="{{stateHistory}}" is-loading="{{stateHistoryLoading}}"></ha-state-history-data><state-history-charts history-data="[[stateHistory]]" is-loading-data="[[isLoadingHistoryData]]"></state-history-charts></div></template><paper-dialog-scrollable id="scrollable"><more-info-content state-obj="[[stateObj]]" hass="[[hass]]"></more-info-content></paper-dialog-scrollable></paper-dialog></template></dom-module><script>Polymer({is:"more-info-dialog",properties:{hass:{type:Object},stateObj:{type:Object,computed:"computeStateObj(hass)",observer:"stateObjChanged"},stateHistory:{type:Object},stateHistoryLoading:{type:Boolean},isLoadingHistoryData:{type:Boolean,computed:"computeIsLoadingHistoryData(delayedDialogOpen, stateHistoryLoading)"},hasHistoryComponent:{type:Boolean,computed:"computeHasHistoryComponent(hass)"},showHistoryComponent:{type:Boolean,value:!1,computed:"computeShowHistoryComponent(hasHistoryComponent, stateObj)"},dialogOpen:{type:Boolean,value:!1,observer:"dialogOpenChanged"},delayedDialogOpen:{type:Boolean,value:!1},_filterType:{type:String,value:"recent-entity"}},ready:function(){this.$.scrollable.dialogElement=this.$.dialog},computeDomain:function(t){return t?window.hassUtil.computeDomain(t):""},computeStateObj:function(t){return t.states[t.moreInfoEntityId]||null},computeIsLoadingHistoryData:function(t,o){return!t||o},computeHasHistoryComponent:function(t){return window.hassUtil.isComponentLoaded(t,"history")},computeShowHistoryComponent:function(t,o){return this.hasHistoryComponent&&o&&-1===window.hassUtil.DOMAINS_WITH_NO_HISTORY.indexOf(window.hassUtil.computeDomain(o))},stateObjChanged:function(t){if(!t)return void(this.dialogOpen=!1);this.async(function(){this.dialogOpen=!0}.bind(this),10)},dialogOpenChanged:function(t){t?this.async(function(){this.delayedDialogOpen=!0}.bind(this),100):!t&&this.stateObj&&(this.fire("hass-more-info",{entityId:null}),this.delayedDialogOpen=!1)}})</script><dom-module id="ha-voice-command-dialog" assetpath="dialogs/"><template><style>iron-icon{margin-right:8px}.content{width:300px;min-height:80px;font-size:18px}.icon{float:left}.text{margin-left:48px;margin-right:24px}.error{color:red}.interimTranscript{color:#a9a9a9}@media all and (max-width:450px){paper-dialog{margin:0;width:100%;max-height:calc(100% - 64px);position:fixed!important;bottom:0;left:0;right:0;overflow:scroll}}</style><paper-dialog id="dialog" with-backdrop="" opened="{{dialogOpen}}"><div class="content"><div class="icon"><iron-icon icon="mdi:text-to-speech" hidden$="[[isTransmitting]]"></iron-icon><paper-spinner active$="[[isTransmitting]]" hidden$="[[!isTransmitting]]"></paper-spinner></div><div class="text" hidden$="[[hasError]]"><span>{{results.final}}</span> <span class="interimTranscript">[[results.interim]]</span> …</div><div class="text red" hidden$="[[!hasError]]">An error occurred. Unable to fulfill request.</div></div></paper-dialog></template></dom-module><script>Polymer({is:"ha-voice-command-dialog",properties:{hass:{type:Object},dialogOpen:{type:Boolean,value:!1,observer:"dialogOpenChanged"},results:{type:Object},isTransmitting:{type:Boolean,value:!1},isListening:{type:Boolean,value:!1},hasError:{type:Boolean,value:!1},showListenInterface:{type:Boolean,computed:"computeShowListenInterface(isListening, isTransmitting)",observer:"showListenInterfaceChanged"}},initRecognition:function(){this.recognition=new webkitSpeechRecognition,this.recognition.onstart=function(){this.isListening=!0,this.isTransmitting=!1,this.hasError=!1,this.results={final:"",interim:""}}.bind(this),this.recognition.onerror=function(){this.recognition.abort(),this.hasError=!0}.bind(this),this.recognition.onend=function(){this.isListening=!1,this.isTransmitting=!0;var i=this.results.final||this.results.interim,t=function(){this.isTransmitting=!1}.bind(this);this.hass.callService("conversation","process",{text:i}).then(t,t)}.bind(this),this.recognition.onresult=function(i){for(var t=this.results,n="",s="",e=i.resultIndex;e<i.results.length;e++)i.results[e].isFinal?n+=i.results[e][0].transcript:s+=i.results[e][0].transcript;this.results={interim:s,final:t.final+n}}.bind(this)},startListening:function(){this.recognition||this.initRecognition(),this.recognition.start()},computeShowListenInterface:function(i,t){return i||t},dialogOpenChanged:function(i){!i&&this.isListening&&this.recognition.abort()},showListenInterfaceChanged:function(i){!i&&this.dialogOpen?this.dialogOpen=!1:i&&(this.dialogOpen=!0)}})</script><script>!function(){function t(t,e){var n={panel:t};return"states"===t&&(n.view=e||null),n}function e(t,e){return"states"===t&&e?"/"+t+"/"+e:"/"+t}Polymer({is:"ha-url-sync",properties:{hass:{type:Object,observer:"hassChanged"}},hassChanged:function(n,s){if(s)return n.currentPanel===s.currentPanel&&n.currentView===s.currentView?void(s.moreInfoEntityId!==n.moreInfoEntityId&&(n.moreInfoEntityId?history.pushState(history.state,"Home Assistant",window.location.pathname):this.ignoreNextDeselectEntity?this.ignoreNextDeselectEntity=!1:history.back())):this.ignoreNextNav?void(this.ignoreNextNav=!1):void history.pushState(t(n.currentPanel,n.currentView),"Home Assistant",e(n.currentPanel,n.currentView))},popstateChangeListener:function(t){this.hass.moreInfoEntityId?(this.ignoreNextDeselectEntity=!0,this.fire("hass-more-info",{entityId:null})):this.hass.currentPanel===t.state.panel&&this.hass.currentView===t.state.view||(this.ignoreNextNav=!0,this.fire("hass-navigate",t.state))},attached:function(){if(this.popstateChangeListener=this.popstateChangeListener.bind(this),window.addEventListener("popstate",this.popstateChangeListener),"/"===window.location.pathname){var n=this.hass.currentPanel,s=this.hass.currentView;history.replaceState(t(n,s),"Home Assistant",e(n,s))}else{var i=window.location.pathname.substr(1).split("/");this.fire("hass-navigate",t(i[0],i[1]))}}})}()</script><dom-module id="paper-icon-item" assetpath="../bower_components/paper-item/"><template><style include="paper-item-shared-styles"></style><style>:host{@apply(--layout-horizontal);@apply(--layout-center);@apply(--paper-font-subhead);@apply(--paper-item);@apply(--paper-icon-item)}.content-icon{@apply(--layout-horizontal);@apply(--layout-center);width:var(--paper-item-icon-width,56px);@apply(--paper-item-icon)}</style><div id="contentIcon" class="content-icon"><content select="[item-icon]"></content></div><content></content></template><script>Polymer({is:"paper-icon-item",behaviors:[Polymer.PaperItemBehavior]})</script></dom-module><dom-module id="ha-push-notifications-toggle" assetpath="components/"><template><paper-toggle-button hidden$="[[!pushSupported]]" disabled="[[loading]]" on-change="handlePushChange" checked="[[pushActive]]"></paper-toggle-button></template></dom-module><script>Polymer({is:"ha-push-notifications-toggle",properties:{hass:{type:Object,value:null},pushSupported:{type:Boolean,readOnly:!0,notify:!0,value:"PushManager"in window&&("https:"===document.location.protocol||"localhost"===document.location.hostname||"127.0.0.1"===document.location.hostname)},pushActive:{type:Boolean,value:"Notification"in window&&"granted"===Notification.permission},loading:{type:Boolean,value:!0}},attached:function(){if(this.pushSupported){var i=this;navigator.serviceWorker.ready.then(function(t){t.pushManager.getSubscription().then(function(t){i.loading=!1,i.pushActive=!!t})},function(){i._setPushSupported(!1)})}},handlePushChange:function(i){i.target.checked?this.subscribePushNotifications():this.unsubscribePushNotifications()},subscribePushNotifications:function(){var i=this;navigator.serviceWorker.ready.then(function(i){return i.pushManager.subscribe({userVisibleOnly:!0})}).then(function(t){var e;return e=navigator.userAgent.toLowerCase().indexOf("firefox")>-1?"firefox":"chrome",i.hass.callApi("POST","notify.html5",{subscription:t,browser:e}).then(function(){i.pushActive=!0})},function(t){var e;e=t.message&&-1!==t.message.indexOf("gcm_sender_id")?"Please setup the notify.html5 platform.":"Notification registration failed.",console.error(t),i.fire("hass-notification",{message:e}),i.pushActive=!1})},unsubscribePushNotifications:function(){var i=this;navigator.serviceWorker.ready.then(function(i){return i.pushManager.getSubscription()}).then(function(t){return t?i.hass.callApi("DELETE","notify.html5",{subscription:t}).then(function(){t.unsubscribe()}):Promise.resolve()}).then(function(){i.pushActive=!1}).catch(function(t){console.error("Error in unsub push",t),i.fire("hass-notification",{message:"Failed unsubscribing for push notifications."})})}})</script><dom-module id="ha-sidebar" assetpath="components/"><template><style include="iron-flex iron-flex-alignment iron-positioning">:host{--sidebar-text:{color:var(--primary-text-color);font-weight:500;font-size:14px};display:block;overflow:auto;-ms-user-select:none;-webkit-user-select:none;-moz-user-select:none;border-right:1px solid var(--divider-color)}app-toolbar{font-weight:400;color:var(--primary-text-color);border-bottom:1px solid var(--divider-color);background-color:var(--primary-background-color)}paper-menu{padding-bottom:0}paper-icon-item{--paper-icon-item:{cursor:pointer};--paper-item-icon:{color:#000;opacity:var(--dark-secondary-opacity)};--paper-item-selected:{color:var(--default-primary-color);background-color:var(--paper-grey-200);opacity:1};}paper-icon-item.iron-selected{--paper-item-icon:{color:var(--default-primary-color);opacity:1};}paper-icon-item .item-text{@apply(--sidebar-text)}paper-icon-item.iron-selected .item-text{opacity:1}paper-icon-item.logout{margin-top:16px}.divider{height:1px;background-color:#000;margin:4px 0;opacity:var(--dark-divider-opacity)}.setting{@apply(--sidebar-text)}.subheader{@apply(--sidebar-text);padding:16px}.dev-tools{padding:0 8px;opacity:var(--dark-secondary-opacity)}</style><app-toolbar><div main-title="">Home Assistant</div><paper-icon-button icon="mdi:chevron-left" hidden$="[[narrow]]" on-tap="toggleMenu"></paper-icon-button></app-toolbar><paper-menu attr-for-selected="data-panel" selected="[[hass.currentPanel]]" on-iron-select="menuSelect"><paper-icon-item on-tap="menuClicked" data-panel="states"><iron-icon item-icon="" icon="mdi:apps"></iron-icon><span class="item-text">States</span></paper-icon-item><template is="dom-repeat" items="[[panels]]"><paper-icon-item on-tap="menuClicked" data-panel$="[[item.url_path]]"><iron-icon item-icon="" icon="[[item.icon]]"></iron-icon><span class="item-text">[[item.title]]</span></paper-icon-item></template><paper-icon-item on-tap="menuClicked" data-panel="logout" class="logout"><iron-icon item-icon="" icon="mdi:exit-to-app"></iron-icon><span class="item-text">Log Out</span></paper-icon-item></paper-menu><div><template is="dom-if" if="[[pushSupported]]"><div class="divider"></div><paper-item class="horizontal layout justified"><div class="setting">Push Notifications</div><ha-push-notifications-toggle hass="[[hass]]" push-supported="{{pushSupported}}"></ha-push-notifications-toggle></paper-item></template><div class="divider"></div><div class="subheader">Developer Tools</div><div class="dev-tools layout horizontal justified"><paper-icon-button icon="mdi:remote" data-panel="dev-service" alt="Services" title="Services" on-tap="menuClicked"></paper-icon-button><paper-icon-button icon="mdi:code-tags" data-panel="dev-state" alt="States" title="States" on-tap="menuClicked"></paper-icon-button><paper-icon-button icon="mdi:radio-tower" data-panel="dev-event" alt="Events" title="Events" on-tap="menuClicked"></paper-icon-button><paper-icon-button icon="mdi:file-xml" data-panel="dev-template" alt="Templates" title="Templates" on-tap="menuClicked"></paper-icon-button><paper-icon-button icon="mdi:information-outline" data-panel="dev-info" alt="Info" title="Info" on-tap="menuClicked"></paper-icon-button></div></div></template></dom-module><script>Polymer({is:"ha-sidebar",properties:{hass:{type:Object},menuShown:{type:Boolean},menuSelected:{type:String},narrow:{type:Boolean},panels:{type:Array,computed:"computePanels(hass)"},pushSupported:{type:Boolean,value:!0}},created:function(){this._boundUpdateStyles=this.updateStyles.bind(this)},computePanels:function(e){var t=e.config.panels,n={map:1,logbook:2,history:3},o=[];return Object.keys(t).forEach(function(e){t[e].title&&o.push(t[e])}),o.sort(function(e,t){var o=e.component_name in n,a=t.component_name in n;return o&&a?n[e.component_name]-n[t.component_name]:o?-1:a?1:e.title<t.title?-1:e.title>t.title?1:0}),o},menuSelect:function(){this.debounce("updateStyles",this._boundUpdateStyles,1)},menuClicked:function(e){for(var t=e.target,n=5,o=t.getAttribute("data-panel");n&&!o;)t=t.parentElement,o=t.getAttribute("data-panel"),n--;n&&this.selectPanel(o)},toggleMenu:function(){this.fire("hass-close-menu")},selectPanel:function(e){if(e!==this.hass.currentPanel){if("logout"===e)return void this.handleLogOut();this.fire("hass-navigate",{panel:e}),this.debounce("updateStyles",this._boundUpdateStyles,1)}},handleLogOut:function(){this.fire("hass-logout")}})</script><dom-module id="home-assistant-main" assetpath="layouts/"><template><more-info-dialog hass="[[hass]]"></more-info-dialog><ha-url-sync hass="[[hass]]"></ha-url-sync><ha-voice-command-dialog hass="[[hass]]" id="voiceDialog"></ha-voice-command-dialog><iron-media-query query="(max-width: 870px)" query-matches="{{narrow}}"></iron-media-query><paper-drawer-panel id="drawer" force-narrow="[[computeForceNarrow(narrow, dockedSidebar)]]" responsive-width="0" disable-swipe="[[isSelectedMap]]" disable-edge-swipe="[[isSelectedMap]]"><ha-sidebar drawer="" narrow="[[narrow]]" hass="[[hass]]"></ha-sidebar><iron-pages main="" attr-for-selected="id" fallback-selection="panel-resolver" selected="[[currentPanel]]" selected-attribute="panel-visible"><partial-cards id="states" narrow="[[narrow]]" hass="[[hass]]" show-menu="[[dockedSidebar]]"></partial-cards><partial-panel-resolver id="panel-resolver" narrow="[[narrow]]" hass="[[hass]]" show-menu="[[dockedSidebar]]"></partial-panel-resolver></iron-pages></paper-drawer-panel></template></dom-module><script>Polymer({is:"home-assistant-main",properties:{hass:{type:Object,value:null},narrow:{type:Boolean},currentPanel:{type:String,computed:"computeCurrentPanel(hass)",observer:"currentPanelChanged"},dockedSidebar:{type:Boolean,computed:"computeDockedSidebar(hass)"}},listeners:{"hass-open-menu":"handleOpenMenu","hass-close-menu":"handleCloseMenu","hass-start-voice":"handleStartVoice"},handleStartVoice:function(e){e.stopPropagation(),this.$.voiceDialog.startListening()},handleOpenMenu:function(){this.narrow?this.$.drawer.openDrawer():this.fire("hass-dock-sidebar",{dock:!0})},handleCloseMenu:function(){this.$.drawer.closeDrawer(),this.dockedSidebar&&this.fire("hass-dock-sidebar",{dock:!1})},currentPanelChanged:function(){this.narrow&&this.$.drawer.closeDrawer()},attached:function(){window.removeInitMsg()},computeForceNarrow:function(e,n){return e||!n},computeCurrentPanel:function(e){return e.currentPanel},computeDockedSidebar:function(e){return e.dockedSidebar}})</script><dom-module id="paper-toast" assetpath="../bower_components/paper-toast/"><template><style>:host{display:block;position:fixed;background-color:var(--paper-toast-background-color,#323232);color:var(--paper-toast-color,#f1f1f1);min-height:48px;min-width:288px;padding:16px 24px;box-sizing:border-box;box-shadow:0 2px 5px 0 rgba(0,0,0,.26);border-radius:2px;margin:12px;font-size:14px;cursor:default;-webkit-transition:-webkit-transform .3s,opacity .3s;transition:transform .3s,opacity .3s;opacity:0;-webkit-transform:translateY(100px);transform:translateY(100px);@apply(--paper-font-common-base)}:host(.capsule){border-radius:24px}:host(.fit-bottom){width:100%;min-width:0;border-radius:0;margin:0}:host(.paper-toast-open){opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}</style><span id="label">{{text}}</span><content></content></template><script>!function(){var e=null;Polymer({is:"paper-toast",behaviors:[Polymer.IronOverlayBehavior],properties:{fitInto:{type:Object,value:window,observer:"_onFitIntoChanged"},horizontalAlign:{type:String,value:"left"},verticalAlign:{type:String,value:"bottom"},duration:{type:Number,value:3e3},text:{type:String,value:""},noCancelOnOutsideClick:{type:Boolean,value:!0},noAutoFocus:{type:Boolean,value:!0}},listeners:{transitionend:"__onTransitionEnd"},get visible(){return Polymer.Base._warn("`visible` is deprecated, use `opened` instead"),this.opened},get _canAutoClose(){return this.duration>0&&this.duration!==1/0},created:function(){this._autoClose=null,Polymer.IronA11yAnnouncer.requestAvailability()},show:function(e){"string"==typeof e&&(e={text:e});for(var t in e)0===t.indexOf("_")?Polymer.Base._warn('The property "'+t+'" is private and was not set.'):t in this?this[t]=e[t]:Polymer.Base._warn('The property "'+t+'" is not valid.');this.open()},hide:function(){this.close()},__onTransitionEnd:function(e){e&&e.target===this&&"opacity"===e.propertyName&&(this.opened?this._finishRenderOpened():this._finishRenderClosed())},_openedChanged:function(){null!==this._autoClose&&(this.cancelAsync(this._autoClose),this._autoClose=null),this.opened?(e&&e!==this&&e.close(),e=this,this.fire("iron-announce",{text:this.text}),this._canAutoClose&&(this._autoClose=this.async(this.close,this.duration))):e===this&&(e=null),Polymer.IronOverlayBehaviorImpl._openedChanged.apply(this,arguments)},_renderOpened:function(){this.classList.add("paper-toast-open")},_renderClosed:function(){this.classList.remove("paper-toast-open")},_onFitIntoChanged:function(e){this.positionTarget=e}})}()</script></dom-module><dom-module id="notification-manager" assetpath="managers/"><template><style>paper-toast{z-index:1}</style><paper-toast id="toast" text="[[_text]]" no-cancel-on-outside-click="[[_cancelOnOutsideClick]]"></paper-toast><paper-toast id="connToast" duration="0" text="Connection lost. Reconnecting…" opened="[[!isStreaming]]"></paper-toast></template></dom-module><script>Polymer({is:"notification-manager",properties:{hass:{type:Object},isStreaming:{type:Boolean,computed:"computeIsStreaming(hass)"},_cancelOnOutsideClick:{type:Boolean,value:!1},_text:{type:String,readOnly:!0},toastClass:{type:String,value:""}},computeIsStreaming:function(t){return!t||t.connected},created:function(){this.handleWindowChange=this.handleWindowChange.bind(this),this._mediaq=window.matchMedia("(max-width: 599px)"),this._mediaq.addListener(this.handleWindowChange)},attached:function(){this.handleWindowChange(this._mediaq)},detached:function(){this._mediaq.removeListener(this.handleWindowChange)},handleWindowChange:function(t){this.$.toast.classList.toggle("fit-bottom",t.matches),this.$.connToast.classList.toggle("fit-bottom",t.matches)},showNotification:function(t){this._set_text(t),this.$.toast.show()}})</script></div><dom-module id="home-assistant"><template><ha-pref-storage hass="[[hass]]" id="storage"></ha-pref-storage><notification-manager id="notifications" hass="[[hass]]"></notification-manager><template is="dom-if" if="[[showMain]]" restamp=""><home-assistant-main on-hass-more-info="handleMoreInfo" on-hass-navigate="handleNavigate" on-hass-dock-sidebar="handleDockSidebar" on-hass-notification="handleNotification" on-hass-logout="handleLogout" hass="[[hass]]"></home-assistant-main></template><template is="dom-if" if="[[!showMain]]" restamp=""><login-form hass="[[hass]]" connection-promise="{{connectionPromise}}" show-loading="[[computeShowLoading(connectionPromise, hass, iconsLoaded)]]"></login-form></template></template></dom-module><script>window.removeInitMsg=function(){var n=document.getElementById("ha-init-skeleton");n&&n.parentElement.removeChild(n)},Polymer({is:"home-assistant",hostAttributes:{icons:null},properties:{connectionPromise:{type:Object,value:window.hassConnection||null,observer:"handleConnectionPromise"},connection:{type:Object,value:null,observer:"connectionChanged"},hass:{type:Object,value:null},icons:{type:String},iconsLoaded:{type:Boolean,value:!1},showMain:{type:Boolean,computed:"computeShowMain(hass, iconsLoaded)"}},computeShowMain:function(n,t){return n&&n.states&&n.config&&t},computeShowLoading:function(n,t,i){return null!=n||t&&(!t.states||!t.config||!i)},loadIcons:function(){var n=function(){this.iconsLoaded=!0}.bind(this);this.importHref("/static/mdi-"+this.icons+".html",n,function(){this.importHref("/static/mdi.html",n,n)})},connectionChanged:function(n,t){if(t&&(this.unsubConnection(),this.unsubConnection=null),!n)return void(this.hass=null);var i=this.$.notifications,e=this;this.hass=Object.assign({connection:n,connected:!0,states:null,config:null,dockedSidebar:!1,currentPanel:"states",currentView:null,moreInfoEntityId:null,callService:function(t,o,s){return n.callService(t,o,s||{}).then(function(){var n,a;s.entity_id&&e.hass.states&&e.hass.states[s.entity_id]&&(a=window.hassUtil.computeStateName(e.hass.states[s.entity_id])),n="turn_on"===o&&s.entity_id?"Turned on "+(a||s.entity_id)+".":"turn_off"===o&&s.entity_id?"Turned off "+(a||s.entity_id)+".":"Service "+t+"/"+o+" called.",i.showNotification(n)},function(){return i.showNotification("Failed to call service "+t+"/"+o),Promise.reject()})},callApi:function(t,i,e){var o=window.location.protocol+"//"+window.location.host,s=n.options.authToken?n.options:{};return window.hassCallApi(o,s,t,i,e)}},this.$.storage.getStoredState());var o=function(){this.hass=Object.assign({},this.hass,{connected:!0})}.bind(this);n.addEventListener("ready",o);var s=function(){this.hass=Object.assign({},this.hass,{connected:!1})}.bind(this);n.addEventListener("disconnected",s);var a;window.HAWS.subscribeEntities(n,function(n){this.hass=Object.assign({},this.hass,{states:n})}.bind(this)).then(function(n){a=n});var c;window.HAWS.subscribeConfig(n,function(n){this.hass=Object.assign({},this.hass,{config:n})}.bind(this)).then(function(n){c=n}),this.unsubConnection=function(){n.removeEventListener("ready",o),n.removeEventListener("disconnected",s),a(),c()}},handleConnectionPromise:function(n){if(n){var t=this;n.then(function(n){t.connection=n},function(){t.connectionPromise=null})}},handleMoreInfo:function(n){n.stopPropagation(),this.hass=Object.assign({},this.hass,{moreInfoEntityId:n.detail.entityId})},handleNavigate:function(n){n.stopPropagation();var t=Object.assign({},this.hass);"panel"in n.detail&&(t.currentPanel=n.detail.panel),"view"in n.detail&&(t.currentView=n.detail.view),this.hass=t},handleDockSidebar:function(n){n.stopPropagation(),this.hass=Object.assign({},this.hass,{dockedSidebar:n.detail.dock}),this.$.storage.storeState()},handleNotification:function(n){this.$.notifications.showNotification(n.detail.message)},handleLogout:function(){delete localStorage.authToken;var n=this.connection;this.connectionPromise=null;try{this.connection=null}catch(n){}n.close()},ready:function(){this.loadIcons(),null!==this.connectionPromise&&this.handleConnectionPromise(this.connectionPromise)}})</script></body></html> \ No newline at end of file +}());</script><dom-module id="ha-media_player-card" assetpath="cards/"><template><style include="paper-material iron-flex iron-flex-alignment iron-positioning">:host{display:block;position:relative;font-size:0;border-radius:2px;overflow:hidden}.banner{position:relative;background-color:#fff;border-top-left-radius:2px;border-top-right-radius:2px}.banner:before{display:block;content:"";width:100%;padding-top:56%;transition:padding-top .8s}.banner.no-cover{background-position:center center;background-image:url(/static/images/card_media_player_bg.png);background-repeat:no-repeat;background-color:var(--primary-color)}.banner.content-type-music:before{padding-top:100%}.banner.no-cover:before{padding-top:88px}.banner>.cover{position:absolute;top:0;left:0;right:0;bottom:0;border-top-left-radius:2px;border-top-right-radius:2px;background-position:center center;background-size:cover;transition:opacity .8s;opacity:1}.banner.is-off>.cover{opacity:0}.banner>.caption{@apply(--paper-font-caption);position:absolute;left:0;right:0;bottom:0;background-color:rgba(0,0,0,var(--dark-secondary-opacity));padding:8px 16px;font-size:14px;font-weight:500;color:#fff;transition:background-color .5s}.banner.is-off>.caption{background-color:initial}.banner>.caption .title{@apply(--paper-font-common-nowrap);font-size:1.2em;margin:8px 0 4px}.progress{width:100%;--paper-progress-active-color:var(--accent-color);--paper-progress-container-color:#FFF}.controls{position:relative;@apply(--paper-font-body1);padding:8px;border-bottom-left-radius:2px;border-bottom-right-radius:2px;background-color:#fff}.controls paper-icon-button{width:44px;height:44px}paper-icon-button{opacity:var(--dark-primary-opacity)}paper-icon-button[disabled]{opacity:var(--dark-disabled-opacity)}paper-icon-button.primary{width:56px!important;height:56px!important;background-color:var(--primary-color);color:#fff;border-radius:50%;padding:8px;transition:background-color .5s}paper-icon-button.primary[disabled]{background-color:rgba(0,0,0,var(--dark-disabled-opacity))}[invisible]{visibility:hidden!important}</style><div class$="[[computeBannerClasses(playerObj)]]"><div class="cover" id="cover"></div><div class="caption">[[computeStateName(stateObj)]]<div class="title">[[playerObj.primaryText]]</div>[[playerObj.secondaryText]]<br></div></div><paper-progress max="[[stateObj.attributes.media_duration]]" value="[[playbackPosition]]" hidden$="[[computeHideProgress(playerObj)]]" class="progress"></paper-progress><div class="controls layout horizontal justified"><paper-icon-button icon="mdi:power" on-tap="handleTogglePower" invisible$="[[computeHidePowerButton(playerObj)]]" class="self-center secondary"></paper-icon-button><div><paper-icon-button icon="mdi:skip-previous" invisible$="[[!playerObj.supportsPreviousTrack]]" disabled="[[playerObj.isOff]]" on-tap="handlePrevious"></paper-icon-button><paper-icon-button class="primary" icon="[[computePlaybackControlIcon(playerObj)]]" invisible$="[[!computePlaybackControlIcon(playerObj)]]" disabled="[[playerObj.isOff]]" on-tap="handlePlaybackControl"></paper-icon-button><paper-icon-button icon="mdi:skip-next" invisible$="[[!playerObj.supportsNextTrack]]" disabled="[[playerObj.isOff]]" on-tap="handleNext"></paper-icon-button></div><paper-icon-button icon="mdi:dots-vertical" on-tap="handleOpenMoreInfo" class="self-center secondary"></paper-icon-button></div></template></dom-module><script>Polymer({is:"ha-media_player-card",properties:{hass:{type:Object},stateObj:{type:Object},playerObj:{type:Object,computed:"computePlayerObj(hass, stateObj)",observer:"playerObjChanged"},playbackControlIcon:{type:String,computed:"computePlaybackControlIcon(playerObj)"},playbackPosition:{type:Number},elevation:{type:Number,value:1,reflectToAttribute:!0}},created:function(){this.updatePlaybackPosition=this.updatePlaybackPosition.bind(this)},playerObjChanged:function(t){var e,o=t.stateObj.attributes.entity_picture;o?(e=document.createElement("IMG"),e.onload=function(){this.$.cover.style.backgroundImage="url("+o+")",e.onerror=e.onload=null,e.src="",e=null}.bind(this),e.onerror=function(){this.$.cover.style.backgroundImage="",this.toggleClass("no-cover",!0,this.$.cover.parentElement),e.onerror=e.onload=null,e.src="",e=null}.bind(this),this._timeout_id&&clearTimeout(this._timeout_id),this._timeout_id=setTimeout(function(){e&&(this.$.cover.style.backgroundImage=""),this._timeout_id=null},5e3),e.src=o):this.$.cover.style.backgroundImage="",t.isPlaying?(this._positionTracking||(this._positionTracking=setInterval(this.updatePlaybackPosition,1e3)),this.updatePlaybackPosition()):this._positionTracking&&(clearInterval(this._positionTracking),this._positionTracking=null,this.playbackPosition=0)},updatePlaybackPosition:function(){this.playbackPosition=this.playerObj.currentProgress},computeBannerClasses:function(t){var e="banner";return t.isOff||t.isIdle?e+=" is-off no-cover":t.stateObj.attributes.entity_picture?"music"===t.stateObj.attributes.media_content_type&&(e+=" content-type-music"):e+=" no-cover",e},computeHideProgress:function(t){return!t.showProgress},computeHidePowerButton:function(t){return t.isOff?!t.supportsTurnOn:!t.supportsTurnOff},computePlayerObj:function(t,e){return new window.MediaPlayerEntity(t,e)},computePlaybackControlIcon:function(t){return t.isPlaying?t.supportsPause?"mdi:pause":"mdi:stop":t.isPaused||t.isOff||t.isIdle?t.supportsPlay?"mdi:play":null:""},computeStateName:function(t){return window.hassUtil.computeStateName(t)},handleNext:function(t){t.stopPropagation(),this.playerObj.nextTrack()},handleOpenMoreInfo:function(t){t.stopPropagation(),this.fire("hass-more-info",{entityId:this.stateObj.entity_id})},handlePlaybackControl:function(t){t.stopPropagation(),this.playerObj.mediaPlayPause()},handlePrevious:function(t){t.stopPropagation(),this.playerObj.previousTrack()},handleTogglePower:function(t){t.stopPropagation(),this.playerObj.togglePower()}})</script><script>!function(){"use strict";Polymer.IronJsonpLibraryBehavior={properties:{libraryLoaded:{type:Boolean,value:!1,notify:!0,readOnly:!0},libraryErrorMessage:{type:String,value:null,notify:!0,readOnly:!0}},observers:["_libraryUrlChanged(libraryUrl)"],_libraryUrlChanged:function(r){this._isReady&&this.libraryUrl&&this._loadLibrary()},_libraryLoadCallback:function(r,i){r?(Polymer.Base._warn("Library load failed:",r.message),this._setLibraryErrorMessage(r.message)):(this._setLibraryErrorMessage(null),this._setLibraryLoaded(!0),this.notifyEvent&&this.fire(this.notifyEvent,i))},_loadLibrary:function(){r.require(this.libraryUrl,this._libraryLoadCallback.bind(this),this.callbackName)},ready:function(){this._isReady=!0,this.libraryUrl&&this._loadLibrary()}};var r={apiMap:{},require:function(r,t,e){var a=this.nameFromUrl(r);this.apiMap[a]||(this.apiMap[a]=new i(a,r,e)),this.apiMap[a].requestNotify(t)},nameFromUrl:function(r){return r.replace(/[\:\/\%\?\&\.\=\-\,]/g,"_")+"_api"}},i=function(r,i,t){if(this.notifiers=[],!t){if(!(i.indexOf(this.callbackMacro)>=0))return void(this.error=new Error("IronJsonpLibraryBehavior a %%callback%% parameter is required in libraryUrl"));t=r+"_loaded",i=i.replace(this.callbackMacro,t)}this.callbackName=t,window[this.callbackName]=this.success.bind(this),this.addScript(i)};i.prototype={callbackMacro:"%%callback%%",loaded:!1,addScript:function(r){var i=document.createElement("script");i.src=r,i.onerror=this.handleError.bind(this);var t=document.querySelector("script")||document.body;t.parentNode.insertBefore(i,t),this.script=i},removeScript:function(){this.script.parentNode&&this.script.parentNode.removeChild(this.script),this.script=null},handleError:function(r){this.error=new Error("Library failed to load"),this.notifyAll(),this.cleanup()},success:function(){this.loaded=!0,this.result=Array.prototype.slice.call(arguments),this.notifyAll(),this.cleanup()},cleanup:function(){delete window[this.callbackName]},notifyAll:function(){this.notifiers.forEach(function(r){r(this.error,this.result)}.bind(this)),this.notifiers=[]},requestNotify:function(r){this.loaded||this.error?r(this.error,this.result):this.notifiers.push(r)}}}()</script><script>Polymer({is:"iron-jsonp-library",behaviors:[Polymer.IronJsonpLibraryBehavior],properties:{libraryUrl:String,callbackName:String,notifyEvent:String}})</script><script>Polymer({is:"google-legacy-loader",behaviors:[Polymer.IronJsonpLibraryBehavior],properties:{libraryUrl:{type:String,value:"https://www.google.com/jsapi?callback=%%callback%%"},notifyEvent:{type:String,value:"api-load"}},get api(){return google}})</script><dom-module id="ha-attributes" assetpath="components/"><template><style is="custom-style" include="iron-flex iron-flex-alignment"></style><style>.data-entry .value{max-width:200px}.attribution{color:var(--secondary-text-color);text-align:right}</style><div class="layout vertical"><template is="dom-repeat" items="[[computeDisplayAttributes(stateObj, filtersArray)]]" as="attribute"><div class="data-entry layout justified horizontal"><div class="key">[[formatAttribute(attribute)]]</div><div class="value">[[formatAttributeValue(stateObj, attribute)]]</div></div></template><div class="attribution" hidden$="[[!computeAttribution(stateObj)]]">[[computeAttribution(stateObj)]]</div></div></template></dom-module><script>!function(){"use strict";var t=["entity_picture","friendly_name","icon","unit_of_measurement","emulated_hue","emulated_hue_name","haaska_hidden","haaska_name","homebridge_hidden","homebridge_name","supported_features","attribution","custom_ui_state_card","device_class"];Polymer({is:"ha-attributes",properties:{stateObj:{type:Object},extraFilters:{type:String,value:""},filtersArray:{type:Array,computed:"computeFiltersArray(extraFilters)"}},computeFiltersArray:function(e){return t+(e?e.split(","):[])},computeDisplayAttributes:function(t,e){return t?Object.keys(t.attributes).filter(function(t){return-1===e.indexOf(t)}):[]},formatAttribute:function(t){return t.replace(/_/g," ")},formatAttributeValue:function(t,e){var r=t.attributes[e];return Array.isArray(r)?r.join(", "):r instanceof Object?JSON.stringify(r,null,2):r},computeAttribution:function(t){return t.attributes.attribution}})}()</script><dom-module id="ha-weather-card" assetpath="cards/"><template><style>.content{padding:0 16px 16px}.attribution{color:var(--secondary-text-color);text-align:right}</style><google-legacy-loader on-api-load="googleApiLoaded"></google-legacy-loader><ha-card header="[[computeTitle(stateObj)]]"><div class="content"><div id="chart_id" hidden$="[[!stateObj.attributes.forecast]]"></div><ha-attributes state-obj="[[stateObj]]" extra-filters="forecast"></ha-attributes></div></ha-card></template></dom-module><script>!function(){"use strict";Polymer({is:"ha-weather-card",properties:{hass:{type:Object},stateObj:{type:Object,observer:"checkRequirements"}},computeTitle:function(t){return t.attributes.friendly_name},getDataArray:function(){var t,e=[],a=this.stateObj.attributes.forecast;if(!this.stateObj.attributes.forecast)return[];for(e.push([new Date,this.stateObj.attributes.temperature]),t=0;t<a.length;t++)e.push([new Date(a[t].datetime),a[t].temperature]);return e},checkRequirements:function(){this.stateObj&&window.google&&(this.chartEngine||(this.chartEngine=new window.google.visualization.LineChart(this.$.chart_id)),this.stateObj.attributes&&this.stateObj.attributes.forecast&&this.drawChart())},drawChart:function(){var t=new window.google.visualization.DataTable,e={legend:{position:"top"},interpolateNulls:!0,titlePosition:"none",chartArea:{left:25,top:5,height:"100%",width:"90%",bottom:25},curveType:"function"};t.addColumn("datetime","Time"),t.addColumn("number","Temperature"),t.addRows(this.getDataArray()),this.chartEngine.draw(t,e)},googleApiLoaded:function(){window.google.load("visualization","1",{packages:["corechart"],callback:function(){this.checkRequirements()}.bind(this)})}})}()</script><dom-module id="ha-persistent_notification-card" assetpath="cards/"><template><style>:host{@apply(--paper-font-body1)}.content{padding:0 16px 16px;-ms-user-select:initial;-webkit-user-select:initial;-moz-user-select:initial}paper-button{margin:8px;font-weight:500}</style><ha-card header="[[computeTitle(stateObj)]]"><div id="pnContent" class="content"></div><paper-button on-tap="dismissTap">DISMISS</paper-button></ha-card></template></dom-module><script>Polymer({is:"ha-persistent_notification-card",properties:{hass:{type:Object},stateObj:{type:Object},scriptLoaded:{type:Boolean,value:!1}},observers:["computeContent(stateObj, scriptLoaded)"],computeTitle:function(t){return t.attributes.title||window.hassUtil.computeStateName(t)},loadScript:function(){var t=function(){this.scriptLoaded=!0}.bind(this),e=function(){console.error("Micromarkdown was not loaded.")};this.importHref("/static/micromarkdown-js.html",t,e)},computeContent:function(t,e){var i="",o="";e&&(i=this.$.pnContent,o=window.micromarkdown.parse(t.state),i.innerHTML=o)},ready:function(){this.loadScript()},dismissTap:function(t){t.preventDefault(),this.hass.callApi("DELETE","states/"+this.stateObj.entity_id)}})</script><script>Polymer({is:"ha-card-chooser",properties:{cardData:{type:Object,observer:"cardDataChanged"}},cardDataChanged:function(a){a&&window.hassUtil.dynamicContentUpdater(this,"HA-"+a.cardType.toUpperCase()+"-CARD",a)}})</script><dom-module id="ha-cards" assetpath="components/"><template><style is="custom-style" include="iron-flex iron-flex-factors"></style><style>:host{display:block;padding-top:8px;padding-right:8px}.badges{font-size:85%;text-align:center}.column{max-width:500px;overflow-x:hidden}.zone-card{margin-left:8px;margin-bottom:8px}@media (max-width:500px){:host{padding-right:0}.zone-card{margin-left:0}}@media (max-width:599px){.column{max-width:600px}}</style><div class="main"><template is="dom-if" if="[[cards.badges]]"><div class="badges"><template is="dom-if" if="[[cards.demo]]"><ha-demo-badge></ha-demo-badge></template><ha-badges-card states="[[cards.badges]]" hass="[[hass]]"></ha-badges-card></div></template><div class="horizontal layout center-justified"><template is="dom-repeat" items="[[cards.columns]]" as="column"><div class="column flex-1"><template is="dom-repeat" items="[[column]]" as="card"><div class="zone-card"><ha-card-chooser card-data="[[card]]" hass="[[hass]]"></ha-card-chooser></div></template></div></template></div></div></template></dom-module><script>!function(){"use strict";function t(t){return t in o?o[t]:100}function e(t,e){return t.priority-e.priority}function n(t,e){var n=(t.attributes.friendly_name||t.entity_id).toLowerCase(),s=(e.attributes.friendly_name||e.entity_id).toLowerCase();return n<s?-1:n>s?1:0}function s(t,s){Object.keys(t).map(function(e){return t[e]}).sort(e).forEach(function(t){t.states.sort(n),s(t)})}var i={camera:4,media_player:3,persistent_notification:0,weather:4},o={configurator:-20,persistent_notification:-15,updater:0,sun:1,device_tracker:2,alarm_control_panel:3,sensor:5,binary_sensor:6},r=window.hassUtil.computeDomain;Polymer({is:"ha-cards",properties:{hass:{type:Object},showIntroduction:{type:Boolean,value:!1},columns:{type:Number,value:2},states:{type:Object},panelVisible:{type:Boolean},viewVisible:{type:Boolean,value:!1},cards:{type:Object}},observers:["updateCards(columns, states, showIntroduction, panelVisible, viewVisible)"],updateCards:function(t,e,n,s,i){s&&i&&this.debounce("updateCards",function(){this.panelVisible&&this.viewVisible&&(this.cards=this.computeCards(t,e,n))}.bind(this),10)},computeCards:function(e,n,o){function a(t){var e=0;for(c=e;c<l.length;c++){if(l[c]<5){e=c;break}l[c]<l[e]&&(e=c)}return l[e]+=t,e}function u(t,e,n){var s,o,u,c;0!==e.length&&(s=[],o=[],u=0,e.forEach(function(t){var e=r(t);e in i?(s.push(t),u+=i[e]):(o.push(t),u++)}),u+=o.length>1,c=a(u),o.length>0&&d.columns[c].push({hass:p,cardType:"entities",states:o,groupEntity:n||!1}),s.forEach(function(t){d.columns[c].push({hass:p,cardType:r(t),stateObj:t})}))}var c,p=this.hass,d={demo:!1,badges:[],columns:[]},l=[];for(c=0;c<e;c++)d.columns.push([]),l.push(0);o&&d.columns[a(5)].push({hass:p,cardType:"introduction",showHideInstruction:n.size>0&&!window.HASS_DEMO});var h=window.HAWS.splitByGroups(n),f={},m={},y={};return Object.keys(h.ungrouped).forEach(function(e){var n=h.ungrouped[e],s=r(n);if("a"===s)return void(d.demo=!0);var i,o=t(s);i=o<0?m:o<10?f:y,s in i||(i[s]={domain:s,priority:o,states:[]}),i[s].states.push(n)}),s(f,function(t){d.badges.push.apply(d.badges,t.states)}),s(m,function(t){u(t.domain,t.states)}),h.groups.forEach(function(t){var e=window.HAWS.getGroupEntities(n,t);u(t.entity_id,Object.keys(e).map(function(t){return e[t]}),t)}),s(y,function(t){u(t.domain,t.states)}),d.columns=d.columns.filter(function(t){return t.length>0}),d}})}()</script><dom-module id="partial-cards" assetpath="layouts/"><template><style include="iron-flex iron-positioning ha-style">:host{-ms-user-select:none;-webkit-user-select:none;-moz-user-select:none}app-header-layout{background-color:#e5e5e5}paper-tabs{margin-left:12px;--paper-tabs-selection-bar-color:#FFF;text-transform:uppercase}</style><app-header-layout has-scrolling-region="" id="layout"><app-header effects="waterfall" condenses="" fixed=""><app-toolbar><ha-menu-button narrow="[[narrow]]" show-menu="[[showMenu]]"></ha-menu-button><div main-title="">[[computeTitle(views, locationName)]]</div><ha-start-voice-button hass="[[hass]]"></ha-start-voice-button></app-toolbar><div sticky="" hidden$="[[!views.length]]"><paper-tabs scrollable="" selected="[[currentView]]" attr-for-selected="data-entity" on-iron-select="handleViewSelected"><paper-tab data-entity="" on-tap="scrollToTop"><template is="dom-if" if="[[!defaultView]]">[[locationName]]</template><template is="dom-if" if="[[defaultView]]"><template is="dom-if" if="[[defaultView.attributes.icon]]"><iron-icon title="$='[[computeStateName(defaultView)]]'" icon="[[defaultView.attributes.icon]]"></iron-icon></template><template is="dom-if" if="[[!defaultView.attributes.icon]]">[[computeStateName(defaultView)]]</template></template></paper-tab><template is="dom-repeat" items="[[views]]"><paper-tab data-entity$="[[item.entity_id]]" on-tap="scrollToTop"><template is="dom-if" if="[[item.attributes.icon]]"><iron-icon title$="[[computeStateName(item)]]" icon="[[item.attributes.icon]]"></iron-icon></template><template is="dom-if" if="[[!item.attributes.icon]]">[[computeStateName(item)]]</template></paper-tab></template></paper-tabs></div></app-header><iron-pages attr-for-selected="data-view" selected="[[currentView]]" selected-attribute="view-visible"><ha-cards data-view="" show-introduction="[[computeShowIntroduction(currentView, introductionLoaded, viewStates)]]" states="[[viewStates]]" columns="[[_columns]]" hass="[[hass]]" panel-visible="[[panelVisible]]"></ha-cards><template is="dom-repeat" items="[[views]]"><ha-cards data-view$="[[item.entity_id]]" show-introduction="[[computeShowIntroduction(currentView, introductionLoaded, viewStates)]]" states="[[viewStates]]" columns="[[_columns]]" hass="[[hass]]" panel-visible="[[panelVisible]]"></ha-cards></template></iron-pages></app-header-layout></template></dom-module><script>Polymer({DEFAULT_VIEW_ENTITY_ID:"group.default_view",ALWAYS_SHOW_DOMAIN:["persistent_notification","configurator"],is:"partial-cards",properties:{hass:{type:Object,value:null,observer:"computeAllViews"},narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,observer:"handleWindowChange"},panelVisible:{type:Boolean,value:!1},_columns:{type:Number,value:1},introductionLoaded:{type:Boolean,computed:"computeIntroductionLoaded(hass)"},locationName:{type:String,value:"",computed:"computeLocationName(hass)"},currentView:{type:String,computed:"computeCurrentView(hass)"},views:{type:Array},defaultView:{type:Object},viewStates:{type:Object,computed:"computeViewStates(currentView, hass, defaultView)"}},created:function(){this.handleWindowChange=this.handleWindowChange.bind(this),this.mqls=[300,600,900,1200].map(function(t){var e=window.matchMedia("(min-width: "+t+"px)");return e.addListener(this.handleWindowChange),e}.bind(this))},detached:function(){this.mqls.forEach(function(t){t.removeListener(this.handleWindowChange)})},handleWindowChange:function(){var t=this.mqls.reduce(function(t,e){return t+e.matches},0);this._columns=Math.max(1,t-(!this.narrow&&this.showMenu))},scrollToTop:function(){var t=this.$.layout.header.scrollTarget,e=function(t,e,i,n){return t/=n,-i*t*(t-2)+e},i=Math.random(),n=Date.now(),o=t.scrollTop,a=0-o;this._currentAnimationId=i,function s(){var r=Date.now(),u=r-n;u>200?t.scrollTop=0:this._currentAnimationId===i&&(t.scrollTop=e(u,o,a,200),requestAnimationFrame(s.bind(this)))}.call(this)},handleViewSelected:function(t){var e=t.detail.item.getAttribute("data-entity")||null;e!==(this.currentView||null)&&this.fire("hass-navigate",{view:e})},computeTitle:function(t,e){return t.length>0?"Home Assistant":e},computeShowIntroduction:function(t,e,i){return""===t&&(e||0===i.size)},computeStateName:function(t){return t.entity_id===this.DEFAULT_VIEW_ENTITY_ID?t.attributes.friendly_name&&"default_view"!==t.attributes.friendly_name?t.attributes.friendly_name:this.computeLocationName(this.hass):window.hassUtil.computeStateName(t)},computeLocationName:function(t){return window.hassUtil.computeLocationName(t)},computeIntroductionLoaded:function(t){return window.hassUtil.isComponentLoaded(t,"introduction")},computeAllViews:function(t){var e=window.HAWS.extractViews(t.states);e.length>0&&e[0].entity_id===this.DEFAULT_VIEW_ENTITY_ID?this.defaultView=e.shift():this.defaultView=null,this.views=e},computeViewStates:function(t,e,i){var n,o,a,s,r=Object.keys(e.states);if(!t&&!i){for(s={},n=0;n<r.length;n++)o=r[n],a=e.states[o],a.attributes.hidden||(s[o]=a);return s}for(s=t?window.HAWS.getViewEntities(e.states,e.states[t]):window.HAWS.getViewEntities(e.states,e.states[this.DEFAULT_VIEW_ENTITY_ID]),n=0;n<r.length;n++)o=r[n],a=e.states[o],-1!==this.ALWAYS_SHOW_DOMAIN.indexOf(window.hassUtil.computeDomain(a))&&(s[o]=a);return s},computeCurrentView:function(t){return t.currentView||""}})</script><dom-module id="hass-loading-screen" assetpath="layouts/"><template><style include="iron-flex ha-style">[hidden]{display:none!important}.placeholder{height:100%}.layout{height:calc(100% - 64px)}</style><div class="placeholder"><app-toolbar><ha-menu-button narrow="[[narrow]]" show-menu="[[showMenu]]"></ha-menu-button><div main-title="">[[title]]</div></app-toolbar><div class="layout horizontal center-center"><paper-spinner active=""></paper-spinner></div></div></template></dom-module><script>Polymer({is:"hass-loading-screen",properties:{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1},title:{type:String,value:""}}})</script><dom-module id="partial-panel-resolver" assetpath="layouts/"><template><style>[hidden]{display:none!important}</style><template is="dom-if" if="[[!resolved]]"><hass-loading-screen narrow="[[narrow]]" show-menu="[[showMenu]]"></hass-loading-screen></template><span id="panel" hidden$="[[!resolved]]"></span></template></dom-module><script>Polymer({is:"partial-panel-resolver",properties:{hass:{type:Object,observer:"updateAttributes"},narrow:{type:Boolean,value:!1,observer:"updateAttributes"},showMenu:{type:Boolean,value:!1,observer:"updateAttributes"},resolved:{type:Boolean,value:!1},errorLoading:{type:Boolean,value:!1},panel:{type:Object,computed:"computeCurrentPanel(hass)",observer:"panelChanged"}},computeCurrentPanel:function(e){return e.config.panels[e.currentPanel]},panelChanged:function(e){if(!e)return void(this.$.panel.lastChild&&this.$.panel.removeChild(this.$.panel.lastChild));this.resolved=!1,this.errorLoading=!1,this.importHref(e.url,function(){window.hassUtil.dynamicContentUpdater(this.$.panel,"ha-panel-"+e.component_name,{hass:this.hass,narrow:this.narrow,showMenu:this.showMenu,panel:e}),this.resolved=!0}.bind(this),function(){this.errorLoading=!0}.bind(this),!0)},updateAttributes:function(){var e=Polymer.dom(this.$.panel).lastChild;e&&(e.hass=this.hass,e.narrow=this.narrow,e.showMenu=this.showMenu)}})</script><script>Polymer.PaperDialogBehaviorImpl={hostAttributes:{role:"dialog",tabindex:"-1"},properties:{modal:{type:Boolean,value:!1}},observers:["_modalChanged(modal, _readied)"],listeners:{tap:"_onDialogClick"},ready:function(){this.__prevNoCancelOnOutsideClick=this.noCancelOnOutsideClick,this.__prevNoCancelOnEscKey=this.noCancelOnEscKey,this.__prevWithBackdrop=this.withBackdrop},_modalChanged:function(i,e){e&&(i?(this.__prevNoCancelOnOutsideClick=this.noCancelOnOutsideClick,this.__prevNoCancelOnEscKey=this.noCancelOnEscKey,this.__prevWithBackdrop=this.withBackdrop,this.noCancelOnOutsideClick=!0,this.noCancelOnEscKey=!0,this.withBackdrop=!0):(this.noCancelOnOutsideClick=this.noCancelOnOutsideClick&&this.__prevNoCancelOnOutsideClick,this.noCancelOnEscKey=this.noCancelOnEscKey&&this.__prevNoCancelOnEscKey,this.withBackdrop=this.withBackdrop&&this.__prevWithBackdrop))},_updateClosingReasonConfirmed:function(i){this.closingReason=this.closingReason||{},this.closingReason.confirmed=i},_onDialogClick:function(i){for(var e=Polymer.dom(i).path,o=0;o<e.indexOf(this);o++){var t=e[o];if(t.hasAttribute&&(t.hasAttribute("dialog-dismiss")||t.hasAttribute("dialog-confirm"))){this._updateClosingReasonConfirmed(t.hasAttribute("dialog-confirm")),this.close(),i.stopPropagation();break}}}},Polymer.PaperDialogBehavior=[Polymer.IronOverlayBehavior,Polymer.PaperDialogBehaviorImpl]</script><dom-module id="paper-dialog-shared-styles" assetpath="../bower_components/paper-dialog-behavior/"><template><style>:host{display:block;margin:24px 40px;background:var(--paper-dialog-background-color,--primary-background-color);color:var(--paper-dialog-color,--primary-text-color);@apply(--paper-font-body1);@apply(--shadow-elevation-16dp);@apply(--paper-dialog)}:host>::content>*{margin-top:20px;padding:0 24px}:host>::content>.no-padding{padding:0}:host>::content>:first-child{margin-top:24px}:host>::content>:last-child{margin-bottom:24px}:host>::content h2{position:relative;margin:0;@apply(--paper-font-title);@apply(--paper-dialog-title)}:host>::content .buttons{position:relative;padding:8px 8px 8px 24px;margin:0;color:var(--paper-dialog-button-color,--primary-color);@apply(--layout-horizontal);@apply(--layout-end-justified)}</style></template></dom-module><dom-module id="paper-dialog" assetpath="../bower_components/paper-dialog/"><template><style include="paper-dialog-shared-styles"></style><content></content></template></dom-module><script>!function(){Polymer({is:"paper-dialog",behaviors:[Polymer.PaperDialogBehavior,Polymer.NeonAnimationRunnerBehavior],listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},_renderOpened:function(){this.cancelAnimation(),this.playAnimation("entry")},_renderClosed:function(){this.cancelAnimation(),this.playAnimation("exit")},_onNeonAnimationFinish:function(){this.opened?this._finishRenderOpened():this._finishRenderClosed()}})}()</script><dom-module id="paper-dialog-scrollable" assetpath="../bower_components/paper-dialog-scrollable/"><template><style>:host{display:block;@apply(--layout-relative)}:host(.is-scrolled:not(:first-child))::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--divider-color)}:host(.can-scroll:not(.scrolled-to-bottom):not(:last-child))::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--divider-color)}.scrollable{padding:0 24px;@apply(--layout-scroll);@apply(--paper-dialog-scrollable)}.fit{@apply(--layout-fit)}</style><div id="scrollable" class="scrollable"><content></content></div></template></dom-module><script>Polymer({is:"paper-dialog-scrollable",properties:{dialogElement:{type:Object}},listeners:{"scrollable.scroll":"_scroll"},get scrollTarget(){return this.$.scrollable},ready:function(){this._ensureTarget()},attached:function(){this.classList.add("no-padding"),this._ensureTarget(),requestAnimationFrame(this._scroll.bind(this))},_scroll:function(){this.toggleClass("is-scrolled",this.scrollTarget.scrollTop>0),this.toggleClass("can-scroll",this.scrollTarget.offsetHeight<this.scrollTarget.scrollHeight),this.toggleClass("scrolled-to-bottom",this.scrollTarget.scrollTop+this.scrollTarget.offsetHeight>=this.scrollTarget.scrollHeight)},_ensureTarget:function(){this.dialogElement=this.dialogElement||Polymer.dom(this).parentNode,this.dialogElement&&this.dialogElement.behaviors&&this.dialogElement.behaviors.indexOf(Polymer.PaperDialogBehaviorImpl)>=0?(this.dialogElement.sizingTarget=this.scrollTarget,this.scrollTarget.classList.remove("fit")):this.dialogElement&&this.scrollTarget.classList.add("fit")}})</script><style>div.charts-tooltip{z-index:200!important}</style><script>Polymer({is:"state-history-chart-timeline",properties:{data:{type:Object,observer:"dataChanged"},isAttached:{type:Boolean,value:!1,observer:"dataChanged"}},created:function(){this.style.display="block"},attached:function(){this.isAttached=!0},dataChanged:function(){this.drawChart()},drawChart:function(){function t(t,e,n,d){var i=e.replace(/_/g," ");a.addRow([t,i,n,d])}var e,a,n,d,i,o,l,h=Polymer.dom(this),r=this.data;if(this.isAttached){for(;h.node.lastChild;)h.node.removeChild(h.node.lastChild);r&&0!==r.length&&(e=new window.google.visualization.Timeline(this),a=new window.google.visualization.DataTable,a.addColumn({type:"string",id:"Entity"}),a.addColumn({type:"string",id:"State"}),a.addColumn({type:"date",id:"Start"}),a.addColumn({type:"date",id:"End"}),n=new Date(r.reduce(function(t,e){return Math.min(t,new Date(e[0].last_changed))},new Date)),d=new Date(r.reduce(function(t,e){return Math.max(t,new Date(e[e.length-1].last_changed))},n)),d>new Date&&(d=new Date),o="H:mm",l=(d-n)/864e5,l>30.1?o="MMM d":l>3.1?o="EEE, MMM d":l>1.1&&(o="EEE, MMM d, H:mm"),i=0,r.forEach(function(e){var a,n,o=null,l=null;0!==e.length&&(a=window.hassUtil.computeStateName(e[0]),e.forEach(function(e){null!==o&&e.state!==o?(n=new Date(e.last_changed),t(a,o,l,n),o=e.state,l=n):null===o&&(o=e.state,l=new Date(e.last_changed))}),t(a,o,l,d),i++)}),e.draw(a,{backgroundColor:"#fafafa",height:55+42*i,timeline:{showRowLabels:r.length>1},hAxis:{format:o}}))}}})</script><script>!function(){"use strict";function t(t,e){var a,r=[];for(a=t;a<e;a++)r.push(a);return r}function e(t){var e=parseFloat(t);return!isNaN(e)&&isFinite(e)?e:null}Polymer({is:"state-history-chart-line",properties:{data:{type:Object,observer:"dataChanged"},unit:{type:String},isSingleDevice:{type:Boolean,value:!1},isAttached:{type:Boolean,value:!1,observer:"dataChanged"},chartEngine:{type:Object}},created:function(){this.style.display="block"},attached:function(){this.isAttached=!0},dataChanged:function(){this.drawChart()},drawChart:function(){var a,r,n,i,u,o,s=this.unit,l=this.data;this.isAttached&&(this.chartEngine||(this.chartEngine=new window.google.visualization.LineChart(this)),0!==l.length&&(a={backgroundColor:"#fafafa",legend:{position:"top"},interpolateNulls:!0,titlePosition:"none",vAxes:{0:{title:s}},hAxis:{format:"H:mm"},chartArea:{left:"60",width:"95%"},explorer:{actions:["dragToZoom","rightClickToReset","dragToPan"],keepInBounds:!0,axis:"horizontal",maxZoomIn:.1}},this.isSingleDevice&&(a.legend.position="none",a.vAxes[0].title=null,a.chartArea.left=40,a.chartArea.height="80%",a.chartArea.top=5),r=new Date(Math.min.apply(null,l.map(function(t){return new Date(t[0].last_changed)}))),n=new Date(Math.max.apply(null,l.map(function(t){return new Date(t[t.length-1].last_changed)}))),n>new Date&&(n=new Date),o=(n-r)/864e5,o>30.1?a.hAxis.format="MMM d":o>3.1?a.hAxis.format="EEE, MMM d":o>1.1&&(a.hAxis.format="EEE, MMM d, H:mm"),i=l.map(function(t){function a(t,e){r&&e&&m.push([t[0]].concat(r.slice(1).map(function(t,a){return e[a]?t:null}))),m.push(t),r=t}var r,i,u,o,s=t[t.length-1],l=window.hassUtil.computeDomain(s),d=window.hassUtil.computeStateName(s),m=[],h=new window.google.visualization.DataTable;return h.addColumn({type:"datetime",id:"Time"}),"thermostat"===l?(i=t.reduce(function(t,e){return t||e.attributes.target_temp_high!==e.attributes.target_temp_low},!1),h.addColumn("number",d+" current temperature"),i?(h.addColumn("number",d+" target temperature high"),h.addColumn("number",d+" target temperature low"),o=[!1,!0,!0],u=function(t){var r=e(t.attributes.current_temperature),n=e(t.attributes.target_temp_high),i=e(t.attributes.target_temp_low);a([new Date(t.last_updated),r,n,i],o)}):(h.addColumn("number",d+" target temperature"),o=[!1,!0],u=function(t){var r=e(t.attributes.current_temperature),n=e(t.attributes.temperature);a([new Date(t.last_updated),r,n],o)}),t.forEach(u)):"climate"===l?(i=t.reduce(function(t,e){return t||e.attributes.target_temp_high!==e.attributes.target_temp_low},!1),h.addColumn("number",d+" current temperature"),i?(h.addColumn("number",d+" target temperature high"),h.addColumn("number",d+" target temperature low"),o=[!1,!0,!0],u=function(t){var r=e(t.attributes.current_temperature),n=e(t.attributes.target_temp_high),i=e(t.attributes.target_temp_low);a([new Date(t.last_updated),r,n,i],o)}):(h.addColumn("number",d+" target temperature"),o=[!1,!0],u=function(t){var r=e(t.attributes.current_temperature),n=e(t.attributes.temperature);a([new Date(t.last_updated),r,n],o)}),t.forEach(u)):(h.addColumn("number",d),o="sensor"!==l&&[!0],t.forEach(function(t){var r=e(t.state);a([new Date(t.last_changed),r],o)})),a([n].concat(r.slice(1)),!1),h.addRows(m),h}),u=1===i.length?i[0]:i.slice(1).reduce(function(e,a){return window.google.visualization.data.join(e,a,"full",[[0,0]],t(1,e.getNumberOfColumns()),t(1,a.getNumberOfColumns()))},i[0]),this.chartEngine.draw(u,a)))}})}()</script><dom-module id="state-history-charts" assetpath="components/"><template><link href="https://ajax.googleapis.com/ajax/static/modules/gviz/1.0/core/tooltip.css" rel="stylesheet"><style>:host{display:block}.loading-container{text-align:center;padding:8px}.loading{height:0;overflow:hidden}</style><google-legacy-loader on-api-load="_googleApiLoaded"></google-legacy-loader><template is="dom-if" if="[[_isLoading]]"><div class="loading-container"><paper-spinner active="" alt="Updating history data"></paper-spinner></div></template><template is="dom-if" if="[[!_isLoading]]"><template is="dom-if" if="[[_computeIsEmpty(historyData)]]">No state history found.</template><state-history-chart-timeline data="[[historyData.timeline]]"></state-history-chart-timeline><template is="dom-repeat" items="[[historyData.line]]"><state-history-chart-line unit="[[item.unit]]" data="[[item.data]]" is-single-device="[[_computeIsSingleLineChart(historyData)]]"></state-history-chart-line></template></template></template></dom-module><script>Polymer({is:"state-history-charts",properties:{historyData:{type:Object,value:null},isLoadingData:{type:Boolean,value:!0},_apiLoaded:{type:Boolean,value:!1},_isLoading:{type:Boolean,computed:"_computeIsLoading(isLoadingData, _apiLoaded)"}},_computeIsSingleLineChart:function(e){return e&&1===e.line.length},_googleApiLoaded:function(){window.google.load("visualization","1",{packages:["timeline","corechart"],callback:function(){this._apiLoaded=!0}.bind(this)})},_computeIsLoading:function(e,t){return e||!t},_computeIsEmpty:function(e){return e&&0===e.timeline.length&&0===e.line.length}})</script><dom-module id="more-info-alarm_control_panel" assetpath="more-infos/"><template><style is="custom-style" include="iron-flex"></style><div class="layout horizontal"><paper-input label="code" value="{{enteredCode}}" pattern="[[codeFormat]]" type="password" hidden$="[[!codeInputVisible]]" disabled="[[!codeInputEnabled]]"></paper-input></div><div class="layout horizontal"><paper-button on-tap="handleDisarmTap" hidden$="[[!disarmButtonVisible]]" disabled="[[!codeValid]]">Disarm</paper-button><paper-button on-tap="handleHomeTap" hidden$="[[!armHomeButtonVisible]]" disabled="[[!codeValid]]">Arm Home</paper-button><paper-button on-tap="handleAwayTap" hidden$="[[!armAwayButtonVisible]]" disabled="[[!codeValid]]">Arm Away</paper-button></div></template></dom-module><script>Polymer({is:"more-info-alarm_control_panel",properties:{hass:{type:Object},stateObj:{type:Object,observer:"stateObjChanged"},enteredCode:{type:String,value:""},disarmButtonVisible:{type:Boolean,value:!1},armHomeButtonVisible:{type:Boolean,value:!1},armAwayButtonVisible:{type:Boolean,value:!1},codeInputVisible:{type:Boolean,value:!1},codeInputEnabled:{type:Boolean,value:!1},codeFormat:{type:String,value:""},codeValid:{type:Boolean,computed:"validateCode(enteredCode, codeFormat)"}},validateCode:function(e,t){var a=new RegExp(t);return null===t||a.test(e)},stateObjChanged:function(e,t){e&&(this.codeFormat=e.attributes.code_format,this.codeInputVisible=null!==this.codeFormat,this.codeInputEnabled="armed_home"===e.state||"armed_away"===e.state||"disarmed"===e.state||"pending"===e.state||"triggered"===e.state,this.disarmButtonVisible="armed_home"===e.state||"armed_away"===e.state||"pending"===e.state||"triggered"===e.state,this.armHomeButtonVisible="disarmed"===e.state,this.armAwayButtonVisible="disarmed"===e.state),t&&this.async(function(){this.fire("iron-resize")}.bind(this),500)},handleDisarmTap:function(){this.callService("alarm_disarm",{code:this.enteredCode})},handleHomeTap:function(){this.callService("alarm_arm_home",{code:this.enteredCode})},handleAwayTap:function(){this.callService("alarm_arm_away",{code:this.enteredCode})},callService:function(e,t){var a=t||{};a.entity_id=this.stateObj.entity_id,this.hass.callService("alarm_control_panel",e,a).then(function(){this.enteredCode=""}.bind(this))}})</script><dom-module id="more-info-automation" assetpath="more-infos/"><template><style>paper-button{color:var(--default-primary-color);font-weight:500;top:3px;height:37px}</style><p>Last triggered:<ha-relative-time datetime="[[stateObj.attributes.last_triggered]]"></ha-relative-time></p><paper-button on-tap="handleTriggerTapped">TRIGGER</paper-button></template></dom-module><script>Polymer({is:"more-info-automation",properties:{hass:{type:Object},stateObj:{type:Object}},handleTriggerTapped:function(){this.hass.callService("automation","trigger",{entity_id:this.stateObj.entity_id})}})</script><dom-module id="more-info-camera" assetpath="more-infos/"><template><style>:host{max-width:640px}.camera-image{width:100%}</style><img class="camera-image" src="[[computeCameraImageUrl(hass, stateObj, isVisible)]]" on-load="imageLoaded" alt="[[computeStateName(stateObj)]]"></template></dom-module><script>Polymer({is:"more-info-camera",properties:{hass:{type:Object},stateObj:{type:Object},isVisible:{type:Boolean,value:!0}},imageLoaded:function(){this.fire("iron-resize")},computeStateName:function(e){return window.hassUtil.computeStateName(e)},computeCameraImageUrl:function(e,t,a){return e.demo?"/demo/webcam.jpg":t&&a?"/api/camera_proxy_stream/"+t.entity_id+"?token="+t.attributes.access_token:"data:image/gif;base64,R0lGODlhAQABAAAAACw="}})</script><dom-module id="paper-range-slider" assetpath="../bower_components/paper-range-slider/"><template><style>:host{--paper-range-slider-width:200px;@apply(--layout);@apply(--layout-justified);@apply(--layout-center);--paper-range-slider-lower-color:var(--paper-grey-400);--paper-range-slider-active-color:var(--primary-color);--paper-range-slider-higher-color:var(--paper-grey-400);--paper-range-slider-knob-color:var(--primary-color);--paper-range-slider-pin-color:var(--primary-color);--paper-range-slider-pin-start-color:var(--paper-grey-400);--paper-range-slider-knob-start-color:transparent;--paper-range-slider-knob-start-border-color:var(--paper-grey-400)}#sliderOuterDiv_0{display:inline-block;width:var(--paper-range-slider-width)}#sliderOuterDiv_1{position:relative;height:calc(30px + var(--paper-single-range-slider-height,2px));margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sliderKnobMinMax{position:absolute;left:0;top:0;margin-left:calc(-15px - var(--paper-single-range-slider-height,2px)/ 2);width:calc(30px + var(--paper-single-range-slider-height,2px));height:calc(30px + var(--paper-single-range-slider-height,2px))}.divSpanWidth{position:absolute;width:100%;display:block;top:0}#sliderMax{line-height:normal;--paper-single-range-slider-bar-color:transparent;--paper-single-range-slider-knob-color:var(--paper-range-slider-knob-color);--paper-single-range-slider-pin-color:var(--paper-range-slider-pin-color);--paper-single-range-slider-active-color:var(--paper-range-slider-active-color);--paper-single-range-slider-secondary-color:var(--paper-range-slider-higher-color);--paper-single-range-slider-pin-start-color:var(--paper-range-slider-pin-start-color);--paper-single-range-slider-knob-start-color:var(--paper-range-slider-knob-start-color);--paper-single-range-slider-knob-start-border-color:var(--paper-range-slider-knob-start-border-color)}#sliderMin{line-height:normal;--paper-single-range-slider-active-color:var(--paper-range-slider-lower-color);--paper-single-range-slider-secondary-color:transparent;--paper-single-range-slider-knob-color:var(--paper-range-slider-knob-color);--paper-single-range-slider-pin-color:var(--paper-range-slider-pin-color);--paper-single-range-slider-pin-start-color:var(--paper-range-slider-pin-start-color);--paper-single-range-slider-knob-start-color:var(--paper-range-slider-knob-start-color);--paper-single-range-slider-knob-start-border-color:var(--paper-range-slider-knob-start-border-color)}</style><div id="sliderOuterDiv_0" style=""><div id="sliderOuterDiv_1"><div id="backDiv" class="divSpanWidth" on-down="_backDivDown" on-tap="_backDivTap" on-up="_backDivUp" on-track="_backDivOnTrack" on-transitionend="_backDivTransEnd"><div id="backDivInner_0" style="line-height:200%"><br></div></div><div id="sliderKnobMin" class="sliderKnobMinMax" on-down="_backDivDown" on-up="_backDivUp" on-track="_sliderKnobMinOnTrack"></div><div id="sliderKnobMax" class="sliderKnobMinMax" on-down="_backDivDown" on-up="_backDivUp" on-track="_sliderKnobMaxOnTrack"></div><div class="divSpanWidth" style="pointer-events:none"><paper-single-range-slider id="sliderMax" disabled$="[[disabled]]" on-down="_sliderMaxDown" on-up="_sliderMaxUp" step="[[step]]" min="[[min]]" max="[[max]]" value="[[valueMax]]" secondary-progress="[[max]]" style="width:100%"></paper-single-range-slider></div><div class="divSpanWidth" style="pointer-events:none"><paper-single-range-slider id="sliderMin" disabled$="[[disabled]]" on-down="_sliderMinDown" on-up="_sliderMinUp" noink="" step="[[step]]" min="[[min]]" max="[[max]]" value="[[valueMin]]" style="width:100%"></paper-single-range-slider></div><div id="backDivInner_1" style="line-height:100%"><br></div></div></div></template><script>Polymer({is:"paper-range-slider",behaviors:[Polymer.IronRangeBehavior],properties:{sliderWidth:{type:String,value:"",notify:!0,reflectToAttribute:!0},style:{type:String,value:"",notify:!0,reflectToAttribute:!0},min:{type:Number,value:0,notify:!0,reflectToAttribute:!0},max:{type:Number,value:100,notify:!0,reflectToAttribute:!0},valueMin:{type:Number,value:0,notify:!0,reflectToAttribute:!0},valueMax:{type:Number,value:100,notify:!0,reflectToAttribute:!0},step:{type:Number,value:1,notify:!0,reflectToAttribute:!0},valueDiffMin:{type:Number,value:0,notify:!0,reflectToAttribute:!0},valueDiffMax:{type:Number,value:0,notify:!0,reflectToAttribute:!0},alwaysShowPin:{type:Boolean,value:!1,notify:!0},pin:{type:Boolean,value:!1,notify:!0},snaps:{type:Boolean,value:!1,notify:!0},disabled:{type:Boolean,value:!1,notify:!0},singleSlider:{type:Boolean,value:!1,notify:!0},transDuration:{type:Number,value:250},tapValueExtend:{type:Boolean,value:!0,notify:!0},tapValueReduce:{type:Boolean,value:!1,notify:!0},tapValueMove:{type:Boolean,value:!1,notify:!0}},ready:function(){function i(i){return void 0!=i&&null!=i}i(this._nInitTries)||(this._nInitTries=0);var t=this.$$("#sliderMax").getEle("#sliderContainer");if(i(t)&&(t=t.offsetWidth>0),i(t)&&(t=this.$$("#sliderMin").getEle("#sliderContainer")),i(t)&&(t=t.offsetWidth>0),i(t))this._renderedReady();else{if(this._nInitTries<1e3){var e=this;setTimeout(function(){e.ready()},10)}else console.error("could not properly initialize the underlying paper-single-range-slider elements ...");this._nInitTries++}},_renderedReady:function(){this.init(),this._setPadding();var i=this;this.$$("#sliderMin").addEventListener("immediate-value-change",function(t){i._setValueMinMax(i._getValuesMinMax(this.immediateValue,null)),i.$.sliderMin._expandKnob(),i.$.sliderMax._expandKnob()}),this.$$("#sliderMax").addEventListener("immediate-value-change",function(t){i._setValueMinMax(i._getValuesMinMax(null,this.immediateValue))}),this.$$("#sliderMin").addEventListener("change",function(t){i._setValueMinMax(i._getValuesMinMax(this.immediateValue,null)),i.alwaysShowPin&&i.$.sliderMin._expandKnob()}),this.$$("#sliderMax").addEventListener("change",function(t){i._setValueMinMax(i._getValuesMinMax(null,this.immediateValue)),i.alwaysShowPin&&i.$.sliderMax._expandKnob()})},_setPadding:function(){var i=document.createElement("div");i.setAttribute("style","position:absolute; top:0px; opacity:0;"),i.innerHTML="invisibleText",document.body.insertBefore(i,document.body.children[0]);var t=i.offsetHeight/2;this.style.paddingTop=t+"px",this.style.paddingBottom=t+"px",i.parentNode.removeChild(i)},_setValueDiff:function(){this._valueDiffMax=Math.max(this.valueDiffMax,0),this._valueDiffMin=Math.max(this.valueDiffMin,0)},_getValuesMinMax:function(i,t){var e=null!=i&&i>=this.min&&i<=this.max,s=null!=t&&t>=this.min&&t<=this.max;if(!e&&!s)return[this.valueMin,this.valueMax];var n=e?i:this.valueMin,a=s?t:this.valueMax;n=Math.min(Math.max(n,this.min),this.max),a=Math.min(Math.max(a,this.min),this.max);var l=a-n;return e?l<this._valueDiffMin?(a=Math.min(this.max,n+this._valueDiffMin),(l=a-n)<this._valueDiffMin&&(n=a-this._valueDiffMin)):l>this._valueDiffMax&&this._valueDiffMax>0&&(a=n+this._valueDiffMax):l<this._valueDiffMin?(n=Math.max(this.min,a-this._valueDiffMin),(l=a-n)<this._valueDiffMin&&(a=n+this._valueDiffMin)):l>this._valueDiffMax&&this._valueDiffMax>0&&(n=a-this._valueDiffMax),[n,a]},_setValueMin:function(i){i=Math.max(i,this.min),this.$$("#sliderMin").value=i,this.valueMin=i},_setValueMax:function(i){i=Math.min(i,this.max),this.$$("#sliderMax").value=i,this.valueMax=i},_setValueMinMax:function(i){this._setValueMin(i[0]),this._setValueMax(i[1]),this._updateSliderKnobMinMax(),this.updateValues()},_setValues:function(i,t){null!=i&&(i<this.min||i>this.max)&&(i=null),null!=t&&(t<this.min||t>this.max)&&(t=null),null!=i&&null!=t&&(i=Math.min(i,t)),this._setValueMinMax(this._getValuesMinMax(i,t))},_updateSliderKnobMinMax:function(){function i(){var s=t.$$("#sliderMax").getEle("#sliderContainer").offsetWidth;if(s<1e-4)return void(e<100&&(e++,setTimeout(function(){i()},10)));var n=s*(t.valueMin-t.min)/(t.max-t.min)+.5*t.$$("#sliderKnobMin").offsetWidth,a=s*(t.valueMax-t.min)/(t.max-t.min)+.5*t.$$("#sliderKnobMax").offsetWidth;t.$$("#sliderKnobMin").style.left=n+"px",t.$$("#sliderKnobMax").style.left=a+"px"}var t=this,e=0;i()},_backDivOnTrack:function(i){switch(i.stopPropagation(),i.detail.state){case"start":this._backDivTrackStart(i);break;case"track":this._backDivTrackDuring(i);break;case"end":this._backDivTrackEnd()}},_backDivTrackStart:function(i){},_backDivTrackDuring:function(i){this._x1_Min=this._x0_Min+i.detail.dx;var t=this._calcStep(this._getRatioPos(this.$$("#sliderMin"),this._x1_Min/this._xWidth));this._x1_Max=this._x0_Max+i.detail.dx;var e=this._calcStep(this._getRatioPos(this.$$("#sliderMax"),this._x1_Max/this._xWidth));t>=this.min&&e<=this.max&&this._setValuesWithCurrentDiff(t,e,!1)},_setValuesWithCurrentDiff:function(i,t,e){var s=this._valueDiffMin,n=this._valueDiffMax;this._valueDiffMin=this.valueMax-this.valueMin,this._valueDiffMax=this.valueMax-this.valueMin,e?this.setValues(i,t):this._setValues(i,t),this._valueDiffMin=s,this._valueDiffMax=n},_backDivTrackEnd:function(){},_sliderKnobMinOnTrack:function(i){this._x1_Min=this._x0_Min+i.detail.dx;var t=this._calcStep(this._getRatioPos(this.$$("#sliderMin"),this._x1_Min/this._xWidth));this._setValues(t,null)},_sliderKnobMaxOnTrack:function(i){this._x1_Max=this._x0_Max+i.detail.dx;var t=this._calcStep(this._getRatioPos(this.$$("#sliderMax"),this._x1_Max/this._xWidth));this._setValues(null,t)},_sliderMinDown:function(){this.$$("#sliderMax")._expandKnob()},_sliderMaxDown:function(i){this.singleSlider?this._setValues(null,this._getEventValue(i)):this.$$("#sliderMin")._expandKnob()},_sliderMinUp:function(){this.alwaysShowPin?this.$$("#sliderMin")._expandKnob():this.$$("#sliderMax")._resetKnob()},_sliderMaxUp:function(){this.alwaysShowPin?this.$$("#sliderMax")._expandKnob():(this.$$("#sliderMin")._resetKnob(),this.singleSlider&&this.$$("#sliderMax")._resetKnob())},_getEventValue:function(i){var t=this.$$("#sliderMax").getEle("#sliderContainer").offsetWidth,e=this.$$("#sliderMax").getEle("#sliderContainer").getBoundingClientRect(),s=(i.detail.x-e.left)/t;return this.min+s*(this.max-this.min)},_backDivTap:function(i){this._setValueNow=function(i,t){this.tapValueMove?this._setValuesWithCurrentDiff(i,t,!0):this.setValues(i,t)};var t=this._getEventValue(i);if(t>this.valueMin&&t<this.valueMax){if(this.tapValueReduce){var e=t<this.valueMin+(this.valueMax-this.valueMin)/2;e?this._setValueNow(t,null):this._setValueNow(null,t)}}else(this.tapValueExtend||this.tapValueMove)&&(t<this.valueMin&&this._setValueNow(t,null),t>this.valueMax&&this._setValueNow(null,t))},_backDivDown:function(i){this._sliderMinDown(),this._sliderMaxDown(),this._xWidth=this.$$("#sliderMin").getEle("#sliderBar").offsetWidth,this._x0_Min=this.$$("#sliderMin").ratio*this._xWidth,this._x0_Max=this.$$("#sliderMax").ratio*this._xWidth},_backDivUp:function(){this._sliderMinUp(),this._sliderMaxUp()},_backDivTransEnd:function(i){},_getRatioPos:function(i,t){return Math.max(i.min,Math.min(i.max,(i.max-i.min)*t+i.min))},init:function(){this.setSingleSlider(this.singleSlider),this.setDisabled(this.disabled),this.alwaysShowPin&&(this.pin=!0),this.$$("#sliderMin").pin=this.pin,this.$$("#sliderMax").pin=this.pin,this.$$("#sliderMin").snaps=this.snaps,this.$$("#sliderMax").snaps=this.snaps,""!=this.sliderWidth&&(this.customStyle["--paper-range-slider-width"]=this.sliderWidth,this.updateStyles());var i=this.$$("#sliderMin").getEle("#sliderBar");if(i){var t=i.$$("#progressContainer");t&&(t.style.background="transparent")}this._prevUpdateValues=[this.min,this.max],this._setValueDiff(),this._setValueMinMax(this._getValuesMinMax(this.valueMin,this.valueMax)),this.alwaysShowPin&&(this.$$("#sliderMin")._expandKnob(),this.$$("#sliderMax")._expandKnob())},setValues:function(i,t){this.$$("#sliderMin")._setTransiting(!0),this.$$("#sliderMax")._setTransiting(!0),this._setValues(i,t);var e=this;setTimeout(function(){e.$.sliderMin._setTransiting(!1),e.$.sliderMax._setTransiting(!1)},e.transDuration)},updateValues:function(){this._prevUpdateValues[0]==this.valueMin&&this._prevUpdateValues[1]==this.valueMax||(this._prevUpdateValues=[this.valueMin,this.valueMax],this.async(function(){this.fire("updateValues")}))},setMin:function(i){this.max<i&&(this.max=i),this.min=i,this._prevUpdateValues=[this.min,this.max],this.valueMin<this.min?this._setValues(this.min,null):this._updateSliderKnobMinMax()},setMax:function(i){this.min>i&&(this.min=i),this.max=i,this._prevUpdateValues=[this.min,this.max],this.valueMax>this.max?this._setValues(null,this.max):this._updateSliderKnobMinMax()},setStep:function(i){this.step=i},setValueDiffMin:function(i){this._valueDiffMin=i},setValueDiffMax:function(i){this._valueDiffMax=i},setTapValueExtend:function(i){this.tapValueExtend=i},setTapValueReduce:function(i){this.tapValueReduce=i},setTapValueMove:function(i){this.tapValueMove=i},setDisabled:function(i){this.disabled=i;var t=i?"none":"auto";this.$$("#sliderMax").getEle("#sliderKnob").style.pointerEvents=t,this.$$("#sliderMin").getEle("#sliderKnob").style.pointerEvents=t,this.$$("#sliderOuterDiv_1").style.pointerEvents=t,this.$$("#sliderKnobMin").style.pointerEvents=t,this.$$("#sliderKnobMax").style.pointerEvents=t},setSingleSlider:function(i){this.singleSlider=i,i?(this.$$("#backDiv").style.display="none",this.$$("#sliderMax").style.pointerEvents="auto",this.$$("#sliderMax").style.display="",this.$$("#sliderMin").style.display="none",this.$$("#sliderKnobMin").style.pointerEvents="none",this.$$("#sliderKnobMax").style.pointerEvents="none",this.$$("#backDiv").style.cursor="default",this.$$("#sliderKnobMin").style.cursor="default",this.$$("#sliderKnobMax").style.cursor="default",this.$$("#sliderMax").getEle("#sliderKnob").style.cursor="default",this.$$("#sliderMin").getEle("#sliderKnob").style.cursor="default"):(this.$$("#backDiv").style.display="block",this.$$("#sliderMax").style.pointerEvents="none",this.$$("#sliderMax").style.display="",this.$$("#sliderMin").style.display="",this.$$("#sliderKnobMin").style.pointerEvents="auto",this.$$("#sliderKnobMax").style.pointerEvents="auto",this.$$("#backDiv").style.cursor="ew-resize",this.$$("#sliderKnobMin").style.cursor="col-resize",this.$$("#sliderKnobMax").style.cursor="col-resize",this.$$("#sliderMax").getEle("#sliderKnob").style.cursor="col-resize",this.$$("#sliderMin").getEle("#sliderKnob").style.cursor="col-resize"),this.$$("#sliderMax").getEle("#sliderContainer").style.pointerEvents=this.singleSlider?"auto":"none",this.$$("#sliderMin").getEle("#sliderContainer").style.pointerEvents="none"}})</script></dom-module><dom-module id="paper-single-range-slider" assetpath="../bower_components/paper-range-slider/"><template strip-whitespace=""><style>:host{@apply(--layout);@apply(--layout-justified);@apply(--layout-center);width:200px;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;--paper-progress-active-color:var(--paper-single-range-slider-active-color, --google-blue-700);--paper-progress-secondary-color:var(--paper-single-range-slider-secondary-color, --google-blue-300);--paper-progress-disabled-active-color:var(--paper-single-range-slider-disabled-active-color, --paper-grey-400);--paper-progress-disabled-secondary-color:var(--paper-single-range-slider-disabled-secondary-color, --paper-grey-400);--calculated-paper-single-range-slider-height:var(--paper-single-range-slider-height, 2px)}:host(:focus){outline:0}#sliderContainer{position:relative;width:100%;height:calc(30px + var(--calculated-paper-single-range-slider-height));margin-left:calc(15px + var(--calculated-paper-single-range-slider-height)/ 2);margin-right:calc(15px + var(--calculated-paper-single-range-slider-height)/ 2)}#sliderContainer:focus{outline:0}#sliderContainer.editable{margin-top:12px;margin-bottom:12px}.bar-container{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.ring>.bar-container{left:calc(5px + var(--calculated-paper-single-range-slider-height)/ 2);transition:left .18s ease}.ring.expand.dragging>.bar-container{transition:none}.ring.expand:not(.pin)>.bar-container{left:calc(8px + var(--calculated-paper-single-range-slider-height)/ 2)}#sliderBar{padding:15px 0;width:100%;background-color:var(--paper-single-range-slider-bar-color,transparent);--paper-progress-container-color:var(--paper-single-range-slider-container-color, --paper-grey-400);--paper-progress-height:var(--calculated-paper-single-range-slider-height)}.slider-markers{position:absolute;top:calc(14px + var(--paper-single-range-slider-height,2px)/ 2);height:var(--calculated-paper-single-range-slider-height);left:0;right:-1px;box-sizing:border-box;pointer-events:none;@apply(--layout-horizontal)}.slider-marker{@apply(--layout-flex)}.slider-marker::after,.slider-markers::after{content:"";display:block;margin-left:-1px;width:2px;height:var(--calculated-paper-single-range-slider-height);border-radius:50%;background-color:var(--paper-single-range-slider-markers-color,#000)}.slider-knob{position:absolute;left:0;top:0;margin-left:calc(-15px - var(--calculated-paper-single-range-slider-height)/ 2);width:calc(30px + var(--calculated-paper-single-range-slider-height));height:calc(30px + var(--calculated-paper-single-range-slider-height))}.transiting>.slider-knob{transition:left 80ms ease}.slider-knob:focus{outline:0}.slider-knob.dragging{transition:none}.snaps>.slider-knob.dragging{transition:-webkit-transform 80ms ease;transition:transform 80ms ease}.slider-knob-inner{margin:10px;width:calc(100% - 20px);height:calc(100% - 20px);background-color:var(--paper-single-range-slider-knob-color,--google-blue-700);border:2px solid var(--paper-single-range-slider-knob-color,--google-blue-700);border-radius:50%;-moz-box-sizing:border-box;box-sizing:border-box;transition-property:-webkit-transform,background-color,border;transition-property:transform,background-color,border;transition-duration:.18s;transition-timing-function:ease}.expand:not(.pin)>.slider-knob>.slider-knob-inner{-webkit-transform:scale(1.5);transform:scale(1.5)}.ring>.slider-knob>.slider-knob-inner{background-color:var(--paper-single-range-slider-knob-start-color,transparent);border:2px solid var(--paper-single-range-slider-knob-start-border-color,--paper-grey-400)}.slider-knob-inner::before{background-color:var(--paper-single-range-slider-pin-color,--google-blue-700)}.pin>.slider-knob>.slider-knob-inner::before{content:"";position:absolute;top:0;left:50%;margin-left:-13px;width:26px;height:26px;border-radius:50% 50% 50% 0;-webkit-transform:rotate(-45deg) scale(0) translate(0);transform:rotate(-45deg) scale(0) translate(0)}.slider-knob-inner::after,.slider-knob-inner::before{transition:-webkit-transform .18s ease,background-color .18s ease;transition:transform .18s ease,background-color .18s ease}.pin.ring>.slider-knob>.slider-knob-inner::before{background-color:var(--paper-single-range-slider-pin-start-color,--paper-grey-400)}.pin.expand>.slider-knob>.slider-knob-inner::before{-webkit-transform:rotate(-45deg) scale(1) translate(17px,-17px);transform:rotate(-45deg) scale(1) translate(17px,-17px)}.pin>.slider-knob>.slider-knob-inner::after{content:attr(value);position:absolute;top:0;left:50%;margin-left:-16px;width:32px;height:26px;text-align:center;color:var(--paper-single-range-slider-font-color,#fff);font-size:10px;-webkit-transform:scale(0) translate(0);transform:scale(0) translate(0)}.pin.expand>.slider-knob>.slider-knob-inner::after{-webkit-transform:scale(1) translate(0,-17px);transform:scale(1) translate(0,-17px)}.slider-input{width:50px;overflow:hidden;--paper-input-container-input:{text-align:center};@apply(--paper-single-range-slider-input)}#sliderContainer.disabled{pointer-events:none}.disabled>.slider-knob>.slider-knob-inner{background-color:var(--paper-single-range-slider-disabled-knob-color,--paper-grey-400);border:2px solid var(--paper-single-range-slider-disabled-knob-color,--paper-grey-400);-webkit-transform:scale3d(.75,.75,1);transform:scale3d(.75,.75,1)}.disabled.ring>.slider-knob>.slider-knob-inner{background-color:var(--paper-single-range-slider-knob-start-color,transparent);border:2px solid var(--paper-single-range-slider-knob-start-border-color,--paper-grey-400)}paper-ripple{color:var(--paper-single-range-slider-knob-color,--google-blue-700)}</style><div id="sliderContainer" class$="[[_getClassNames(disabled, pin, snaps, immediateValue, min, expand, dragging, transiting, editable)]]"><div class="bar-container"><paper-progress disabled$="[[disabled]]" id="sliderBar" aria-hidden="true" min="[[min]]" max="[[max]]" step="[[step]]" value="[[immediateValue]]" secondary-progress="[[secondaryProgress]]" on-down="_bardown" on-up="_resetKnob" on-track="_onTrack"></paper-progress></div><template is="dom-if" if="[[snaps]]"><div class="slider-markers"><template is="dom-repeat" items="[[markers]]"><div class="slider-marker"></div></template></div></template><div id="sliderKnob" class="slider-knob" on-down="_knobdown" on-up="_resetKnob" on-track="_onTrack" on-transitionend="_knobTransitionEnd"><div class="slider-knob-inner" value$="[[immediateValue]]"></div></div></div><template is="dom-if" if="[[editable]]"><paper-input id="input" type="number" step="[[step]]" min="[[min]]" max="[[max]]" class="slider-input" disabled$="[[disabled]]" value="[[immediateValue]]" on-change="_changeValue" on-keydown="_inputKeyDown" no-label-float=""></paper-input></template></template><script>Polymer({is:"paper-single-range-slider",behaviors:[Polymer.IronA11yKeysBehavior,Polymer.IronFormElementBehavior,Polymer.PaperInkyFocusBehavior,Polymer.IronRangeBehavior],properties:{snaps:{type:Boolean,value:!1,notify:!0},pin:{type:Boolean,value:!1,notify:!0},secondaryProgress:{type:Number,value:0,notify:!0,observer:"_secondaryProgressChanged"},editable:{type:Boolean,value:!1},immediateValue:{type:Number,value:0,readOnly:!0,notify:!0},maxMarkers:{type:Number,value:0,notify:!0},expand:{type:Boolean,value:!1,readOnly:!0},dragging:{type:Boolean,value:!1,readOnly:!0},transiting:{type:Boolean,value:!1,readOnly:!0},markers:{type:Array,readOnly:!0,value:function(){return[]}}},observers:["_updateKnob(value, min, max, snaps, step)","_valueChanged(value)","_immediateValueChanged(immediateValue)","_updateMarkers(maxMarkers, min, max, snaps)"],hostAttributes:{role:"slider",tabindex:0},keyBindings:{"left down pagedown home":"_decrementKey","right up pageup end":"_incrementKey"},increment:function(){this.value=this._clampValue(this.value+this.step)},decrement:function(){this.value=this._clampValue(this.value-this.step)},_updateKnob:function(t,e,i,s,a){this.setAttribute("aria-valuemin",e),this.setAttribute("aria-valuemax",i),this.setAttribute("aria-valuenow",t),this._positionKnob(this._calcRatio(t))},_valueChanged:function(){this.fire("value-change")},_immediateValueChanged:function(){this.dragging?this.fire("immediate-value-change"):this.value=this.immediateValue},_secondaryProgressChanged:function(){this.secondaryProgress=this._clampValue(this.secondaryProgress)},_expandKnob:function(){this._setExpand(!0)},_resetKnob:function(){this.cancelDebouncer("expandKnob"),this._setExpand(!1)},_positionKnob:function(t){this._setImmediateValue(this._calcStep(this._calcKnobPosition(t))),this._setRatio(this._calcRatio(this.immediateValue)),this.$.sliderKnob.style.left=100*this.ratio+"%",this.dragging&&(this._knobstartx=this.ratio*this._w,this.translate3d(0,0,0,this.$.sliderKnob))},_calcKnobPosition:function(t){return(this.max-this.min)*t+this.min},_onTrack:function(t){switch(t.stopPropagation(),t.detail.state){case"start":this._trackStart(t);break;case"track":this._trackX(t);break;case"end":this._trackEnd()}},_trackStart:function(t){this._w=this.$.sliderBar.offsetWidth,this._x=this.ratio*this._w,this._startx=this._x,this._knobstartx=this._startx,this._minx=-this._startx,this._maxx=this._w-this._startx,this.$.sliderKnob.classList.add("dragging"),this._setDragging(!0)},_trackX:function(t){this.dragging||this._trackStart(t);var e=Math.min(this._maxx,Math.max(this._minx,t.detail.dx));this._x=this._startx+e;var i=this._calcStep(this._calcKnobPosition(this._x/this._w));this._setImmediateValue(i);var s=this._calcRatio(this.immediateValue)*this._w-this._knobstartx;this.translate3d(s+"px",0,0,this.$.sliderKnob)},_trackEnd:function(){var t=this.$.sliderKnob.style;this.$.sliderKnob.classList.remove("dragging"),this._setDragging(!1),this._resetKnob(),this.value=this.immediateValue,t.transform=t.webkitTransform="",this.fire("change")},_knobdown:function(t){this._expandKnob(),t.preventDefault(),this.focus()},_bardown:function(t){this._w=this.$.sliderBar.offsetWidth;var e=this.$.sliderBar.getBoundingClientRect(),i=(t.detail.x-e.left)/this._w,s=this.ratio;this._setTransiting(!0),this._positionKnob(i),this.debounce("expandKnob",this._expandKnob,60),s===this.ratio&&this._setTransiting(!1),this.async(function(){this.fire("change")}),t.preventDefault(),this.focus()},_knobTransitionEnd:function(t){t.target===this.$.sliderKnob&&this._setTransiting(!1)},_updateMarkers:function(t,e,i,s){s||this._setMarkers([]);var a=Math.round((i-e)/this.step);a>t&&(a=t),this._setMarkers(new Array(a))},_mergeClasses:function(t){return Object.keys(t).filter(function(e){return t[e]}).join(" ")},_getClassNames:function(){return this._mergeClasses({disabled:this.disabled,pin:this.pin,snaps:this.snaps,ring:this.immediateValue<=this.min,expand:this.expand,dragging:this.dragging,transiting:this.transiting,editable:this.editable})},_incrementKey:function(t){this.disabled||("end"===t.detail.key?this.value=this.max:this.increment(),this.fire("change"),t.preventDefault())},_decrementKey:function(t){this.disabled||("home"===t.detail.key?this.value=this.min:this.decrement(),this.fire("change"),t.preventDefault())},_changeValue:function(t){this.value=t.target.value,this.fire("change")},_inputKeyDown:function(t){t.stopPropagation()},_createRipple:function(){return this._rippleContainer=this.$.sliderKnob,Polymer.PaperInkyFocusBehaviorImpl._createRipple.call(this)},_focusedChanged:function(t){t&&this.ensureRipple(),this.hasRipple()&&(this._ripple.style.display=t?"":"none",this._ripple.holdDown=t)},getEle:function(t){return this.$$(t)}})</script></dom-module><dom-module id="ha-climate-control" assetpath="components/"><template><style is="custom-style" include="iron-flex iron-flex-alignment"></style><style>:host{@apply(--layout-flex);@apply(--layout-horizontal);@apply(--layout-justified)}.target-temperature{@apply(--layout-self-center);font-size:200%}.control-buttons{font-size:200%;text-align:right}paper-icon-button{height:48px;width:48px}</style><div class="target-temperature">[[value]] [[units]]</div><div class="control-buttons"><div><paper-icon-button icon="mdi:chevron-up" on-tap="incrementValue"></paper-icon-button></div><div><paper-icon-button icon="mdi:chevron-down" on-tap="decrementValue"></paper-icon-button></div></div></template><script>Polymer({is:"ha-climate-control",properties:{value:{type:Number,observer:"valueChanged"},units:{type:String},min:{type:Number},max:{type:Number},step:{type:Number,value:1}},incrementValue:function(){var e=this.value+this.step;this.last_changed=Date.now(),e<=this.max?this.value=e:this.value=this.max},decrementValue:function(){var e=this.value-this.step;this.last_changed=Date.now(),e>=this.min?this.value=e:this.value=this.min},valueChanged:function(){this.last_changed&&window.setTimeout(function(e){Date.now()-e.last_changed>=2e3&&(e.fire("change"),e.last_changed=null)},2010,this)}})</script></dom-module><dom-module id="more-info-climate" assetpath="more-infos/"><template><style is="custom-style" include="iron-flex"></style><style>:host{color:var(--primary-text-color);--paper-input-container-input:{text-transform:capitalize};}.container-aux_heat,.container-away_mode,.container-fan_list,.container-humidity,.container-operation_list,.container-swing_list,.container-temperature{display:none}.has-aux_heat .container-aux_heat,.has-away_mode .container-away_mode,.has-fan_list .container-fan_list,.has-humidity .container-humidity,.has-operation_list .container-operation_list,.has-swing_list .container-swing_list,.has-temperature .container-temperature{display:block}.container-fan_list iron-icon,.container-operation_list iron-icon,.container-swing_list iron-icon{margin:22px 16px 0 0}paper-dropdown-menu{width:100%}paper-slider{width:100%}.auto paper-slider{--paper-slider-active-color:var(--paper-orange-400);--paper-slider-secondary-color:var(--paper-blue-400)}.heat paper-slider{--paper-slider-active-color:var(--paper-orange-400);--paper-slider-secondary-color:var(--paper-green-400)}.cool paper-slider{--paper-slider-active-color:var(--paper-green-400);--paper-slider-secondary-color:var(--paper-blue-400)}.humidity{--paper-slider-active-color:var(--paper-blue-400);--paper-slider-secondary-color:var(--paper-blue-400)}paper-range-slider{--paper-range-slider-lower-color:var(--paper-orange-400);--paper-range-slider-active-color:var(--paper-green-400);--paper-range-slider-higher-color:var(--paper-blue-400);--paper-range-slider-knob-color:var(--primary-color);--paper-range-slider-pin-color:var(--primary-color);--paper-range-slider-width:100%}.single-row{padding:8px 0}.capitalize{text-transform:capitalize}</style><div class$="[[computeClassNames(stateObj)]]"><div class="container-temperature"><div class$="single-row, [[stateObj.attributes.operation_mode]]"><div hidden$="[[computeTargetTempHidden(stateObj)]]">Target Temperature</div><ha-climate-control value="[[stateObj.attributes.temperature]]" units="[[stateObj.attributes.unit_of_measurement]]" step="[[computeTemperatureStepSize(stateObj)]]" min="[[stateObj.attributes.min_temp]]" max="[[stateObj.attributes.max_temp]]" on-change="targetTemperatureChanged"></ha-climate-control></div></div><div class="container-humidity"><div class="single-row"><div>Target Humidity</div><paper-slider class="humidity" min="[[stateObj.attributes.min_humidity]]" max="[[stateObj.attributes.max_humidity]]" secondary-progress="[[stateObj.attributes.max_humidity]]" step="1" pin="" value="[[stateObj.attributes.humidity]]" on-change="targetHumiditySliderChanged"></paper-slider></div></div><div class="container-operation_list"><div class="controls"><paper-dropdown-menu label-float="" label="Operation"><paper-menu class="dropdown-content" selected="{{operationIndex}}"><template is="dom-repeat" items="[[stateObj.attributes.operation_list]]"><paper-item class="capitalize">[[item]]</paper-item></template></paper-menu></paper-dropdown-menu></div></div><div class="container-fan_list"><paper-dropdown-menu label-float="" label="Fan Mode"><paper-menu class="dropdown-content" selected="{{fanIndex}}"><template is="dom-repeat" items="[[stateObj.attributes.fan_list]]"><paper-item>[[item]]</paper-item></template></paper-menu></paper-dropdown-menu></div><div class="container-swing_list"><paper-dropdown-menu label-float="" label="Swing Mode"><paper-menu class="dropdown-content" selected="{{swingIndex}}"><template is="dom-repeat" items="[[stateObj.attributes.swing_list]]"><paper-item>[[item]]</paper-item></template></paper-menu></paper-dropdown-menu></div><div class="container-away_mode"><div class="center horizontal layout single-row"><div class="flex">Away Mode</div><paper-toggle-button checked="[[awayToggleChecked]]" on-change="awayToggleChanged"></paper-toggle-button></div></div><div class="container-aux_heat"><div class="center horizontal layout single-row"><div class="flex">Aux Heat</div><paper-toggle-button checked="[[auxToggleChecked]]" on-change="auxToggleChanged"></paper-toggle-button></div></div></div></template></dom-module><script>Polymer({is:"more-info-climate",properties:{hass:{type:Object},stateObj:{type:Object,observer:"stateObjChanged"},operationIndex:{type:Number,value:-1,observer:"handleOperationmodeChanged"},fanIndex:{type:Number,value:-1,observer:"handleFanmodeChanged"},swingIndex:{type:Number,value:-1,observer:"handleSwingmodeChanged"},awayToggleChecked:{type:Boolean},auxToggleChecked:{type:Boolean}},stateObjChanged:function(t,e){this.awayToggleChecked="on"===t.attributes.away_mode,this.auxToggleChecked="on"===t.attributes.aux_heat,t.attributes.fan_list?this.fanIndex=t.attributes.fan_list.indexOf(t.attributes.fan_mode):this.fanIndex=-1,t.attributes.operation_list?this.operationIndex=t.attributes.operation_list.indexOf(t.attributes.operation_mode):this.operationIndex=-1,t.attributes.swing_list?this.swingIndex=t.attributes.swing_list.indexOf(t.attributes.swing_mode):this.swingIndex=-1,e&&this.async(function(){this.fire("iron-resize")}.bind(this),500)},computeTemperatureStepSize:function(t){return t.attributes.target_temp_step?t.attributes.target_temp_step:-1!==t.attributes.unit_of_measurement.indexOf("F")?1:.5},computeTargetTempHidden:function(t){return!t.attributes.temperature&&!t.attributes.target_temp_low&&!t.attributes.target_temp_high},computeHideTempRangeSlider:function(t){return!t.attributes.target_temp_low&&!t.attributes.target_temp_high},computeHideTempSlider:function(t){return!t.attributes.temperature},computeClassNames:function(t){return"more-info-climate "+window.hassUtil.attributeClassNames(t,["away_mode","aux_heat","temperature","humidity","operation_list","fan_list","swing_list"])},targetTemperatureChanged:function(t){var e=t.target.value;e!==this.stateObj.attributes.temperature&&this.callServiceHelper("set_temperature",{temperature:e})},targetTemperatureRangeSliderChanged:function(t){var e=t.currentTarget.valueMin,a=t.currentTarget.valueMax;e===this.stateObj.attributes.target_temp_low&&a===this.stateObj.attributes.target_temp_high||this.callServiceHelper("set_temperature",{target_temp_low:e,target_temp_high:a})},targetHumiditySliderChanged:function(t){var e=t.target.value;e!==this.stateObj.attributes.humidity&&this.callServiceHelper("set_humidity",{humidity:e})},awayToggleChanged:function(t){var e="on"===this.stateObj.attributes.away_mode,a=t.target.checked;e!==a&&this.callServiceHelper("set_away_mode",{away_mode:a})},auxToggleChanged:function(t){var e="on"===this.stateObj.attributes.aux_heat,a=t.target.checked;e!==a&&this.callServiceHelper("set_aux_heat",{aux_heat:a})},handleFanmodeChanged:function(t){var e;""!==t&&-1!==t&&(e=this.stateObj.attributes.fan_list[t])!==this.stateObj.attributes.fan_mode&&this.callServiceHelper("set_fan_mode",{fan_mode:e})},handleOperationmodeChanged:function(t){var e;""!==t&&-1!==t&&(e=this.stateObj.attributes.operation_list[t])!==this.stateObj.attributes.operation_mode&&this.callServiceHelper("set_operation_mode",{operation_mode:e})},handleSwingmodeChanged:function(t){var e;""!==t&&-1!==t&&(e=this.stateObj.attributes.swing_list[t])!==this.stateObj.attributes.swing_mode&&this.callServiceHelper("set_swing_mode",{swing_mode:e})},callServiceHelper:function(t,e){e.entity_id=this.stateObj.entity_id,this.hass.callService("climate",t,e).then(function(){this.stateObjChanged(this.stateObj)}.bind(this))}})</script><dom-module id="more-info-configurator" assetpath="more-infos/"><template><style is="custom-style" include="iron-flex"></style><style>p{margin:8px 0}p>img{max-width:100%}p.center{text-align:center}p.error{color:#c62828}p.submit{text-align:center;height:41px}paper-spinner{width:14px;height:14px;margin-right:20px}[hidden]{display:none}</style><div class="layout vertical"><template is="dom-if" if="[[isConfigurable]]"><p hidden$="[[!stateObj.attributes.description]]">[[stateObj.attributes.description]] <a hidden$="[[!stateObj.attributes.link_url]]" href="[[stateObj.attributes.link_url]]" target="_blank">[[stateObj.attributes.link_name]]</a></p><p class="error" hidden$="[[!stateObj.attributes.errors]]">[[stateObj.attributes.errors]]</p><p class="center" hidden$="[[!stateObj.attributes.description_image]]"><img src="[[stateObj.attributes.description_image]]"></p><template is="dom-repeat" items="[[stateObj.attributes.fields]]"><paper-input-container id="paper-input-fields-{{item.id}}"><label>[[item.name]]</label><input is="iron-input" type="[[item.type]]" id="[[item.id]]" on-change="fieldChanged"></paper-input-container></template><p class="submit"><paper-button raised="" disabled="[[isConfiguring]]" on-tap="submitClicked"><paper-spinner active="[[isConfiguring]]" hidden="[[!isConfiguring]]" alt="Configuring"></paper-spinner>[[submitCaption]]</paper-button></p></template></div></template></dom-module><script>Polymer({is:"more-info-configurator",properties:{stateObj:{type:Object},action:{type:String,value:"display"},isConfigurable:{type:Boolean,computed:"computeIsConfigurable(stateObj)"},isConfiguring:{type:Boolean,value:!1},submitCaption:{type:String,computed:"computeSubmitCaption(stateObj)"},fieldInput:{type:Object,value:{}}},computeIsConfigurable:function(t){return"configure"===t.state},computeSubmitCaption:function(t){return t.attributes.submit_caption||"Set configuration"},fieldChanged:function(t){var i=t.target;this.fieldInput[i.id]=i.value},submitClicked:function(){var t={configure_id:this.stateObj.attributes.configure_id,fields:this.fieldInput};this.isConfiguring=!0,this.hass.callService("configurator","configure",t).then(function(){this.isConfiguring=!1}.bind(this),function(){this.isConfiguring=!1}.bind(this))}})</script><dom-module id="more-info-cover" assetpath="more-infos/"><template><style is="custom-style" include="iron-flex"></style><style>.current_position,.current_tilt_position{max-height:0;overflow:hidden}.has-current_position .current_position,.has-current_tilt_position .current_tilt_position{max-height:90px}[invisible]{visibility:hidden!important}</style><div class$="[[computeClassNames(stateObj)]]"><div class="current_position"><div>Position</div><paper-slider min="0" max="100" value="{{coverPositionSliderValue}}" step="1" pin="" disabled="[[!entityObj.supportsSetPosition]]" on-change="coverPositionSliderChanged"></paper-slider></div><div class="current_tilt_position"><div>Tilt position</div><paper-icon-button icon="mdi:arrow-top-right" on-tap="onOpenTiltTap" title="Open tilt" invisible$="[[!entityObj.supportsOpenTilt]]" disabled="[[entityObj.isFullyOpenTilt]]"></paper-icon-button><paper-icon-button icon="mdi:stop" on-tap="onStopTiltTap" invisible$="[[!entityObj.supportsStopTilt]]" title="Stop tilt"></paper-icon-button><paper-icon-button icon="mdi:arrow-bottom-left" on-tap="onCloseTiltTap" title="Close tilt" invisible$="[[!entityObj.supportsCloseTilt]]" disabled="[[entityObj.isFullyClosedTilt]]"></paper-icon-button><paper-slider min="0" max="100" value="{{coverTiltPositionSliderValue}}" step="1" pin="" disabled="[[!entityObj.supportsSetTiltPosition]]" on-change="coverTiltPositionSliderChanged"></paper-slider></div></div></template></dom-module><script>Polymer({is:"more-info-cover",properties:{hass:{type:Object},stateObj:{type:Object,observer:"stateObjChanged"},entityObj:{type:Object,computed:"computeEntityObj(hass, stateObj)"},coverPositionSliderValue:{type:Number},coverTiltPositionSliderValue:{type:Number}},computeEntityObj:function(t,e){return new window.CoverEntity(t,e)},stateObjChanged:function(t){this.coverPositionSliderValue=t.attributes.current_position,this.coverTiltPositionSliderValue=t.attributes.current_tilt_position},computeClassNames:function(t){return window.hassUtil.attributeClassNames(t,["current_position","current_tilt_position"])},coverPositionSliderChanged:function(t){this.entityObj.setCoverPosition(t.target.value)},coverTiltPositionSliderChanged:function(t){this.entityObj.setCoverTiltPosition(t.target.value)},onOpenTiltTap:function(){this.entityObj.openCoverTilt()},onCloseTiltTap:function(){this.entityObj.closeCoverTilt()},onStopTiltTap:function(){this.entityObj.stopCoverTilt()}})</script><dom-module id="more-info-default" assetpath="more-infos/"><template><ha-attributes state-obj="[[stateObj]]"></ha-attributes></template></dom-module><script>Polymer({is:"more-info-default",properties:{stateObj:{type:Object}}})</script><dom-module id="more-info-fan" assetpath="more-infos/"><template><style is="custom-style" include="iron-flex"></style><style>.container-direction,.container-speed_list{display:none}.has-direction .container-direction,.has-speed_list .container-speed_list{display:block}</style><div class$="[[computeClassNames(stateObj)]]"><div class="container-speed_list"><paper-dropdown-menu label-float="" label="Speed"><paper-menu class="dropdown-content" selected="{{speedIndex}}"><template is="dom-repeat" items="[[stateObj.attributes.speed_list]]"><paper-item>[[item]]</paper-item></template></paper-menu></paper-dropdown-menu></div><div class="container-oscillating" hidden$="[[computeHideOscillation(stateObj)]]"><div class="center horizontal layout single-row"><div class="flex">Oscillate</div><paper-toggle-button checked="[[oscillationToggleChecked]]" on-change="oscillationToggleChanged"></paper-toggle-button></div></div><div class="container-direction"><div class="direction"><div>Direction</div><paper-icon-button icon="mdi:rotate-left" on-tap="onDirectionLeft" title="Left" disabled="[[computeIsRotatingLeft(stateObj)]]"></paper-icon-button><paper-icon-button icon="mdi:rotate-right" on-tap="onDirectionRight" title="Right" disabled="[[computeIsRotatingRight(stateObj)]]"></paper-icon-button></div></div></div></template></dom-module><script>Polymer({is:"more-info-fan",properties:{hass:{type:Object},stateObj:{type:Object,observer:"stateObjChanged"},speedIndex:{type:Number,value:-1,observer:"speedChanged"},oscillationToggleChecked:{type:Boolean}},stateObjChanged:function(t,e){this.oscillationToggleChecked=t.attributes.oscillating,t.attributes.speed_list?this.speedIndex=t.attributes.speed_list.indexOf(t.attributes.speed):this.speedIndex=-1,e&&this.async(function(){this.fire("iron-resize")}.bind(this),500)},computeClassNames:function(t){return"more-info-fan "+window.hassUtil.attributeClassNames(t,["oscillating","speed_list","direction"])},speedChanged:function(t){var e;""!==t&&-1!==t&&(e=this.stateObj.attributes.speed_list[t])!==this.stateObj.attributes.speed&&this.hass.callService("fan","turn_on",{entity_id:this.stateObj.entity_id,speed:e})},oscillationToggleChanged:function(t){var e=this.stateObj.attributes.oscillating,i=t.target.checked;e!==i&&this.hass.callService("fan","oscillate",{entity_id:this.stateObj.entity_id,oscillating:i})},onDirectionLeft:function(){this.hass.callService("fan","set_direction",{entity_id:this.stateObj.entity_id,direction:"left"})},onDirectionRight:function(){this.hass.callService("fan","set_direction",{entity_id:this.stateObj.entity_id,direction:"right"})},computeIsRotatingLeft:function(t){return"left"===t.attributes.direction},computeIsRotatingRight:function(t){return"right"===t.attributes.direction},computeHideOscillation:function(t){return t.attributes.direction}})</script><dom-module id="more-info-group" assetpath="more-infos/"><template><style>.child-card{margin-bottom:8px}.child-card:last-child{margin-bottom:0}</style><div id="groupedControlDetails"></div><template is="dom-repeat" items="[[states]]" as="state"><div class="child-card"><state-card-content state-obj="[[state]]" hass="[[hass]]"></state-card-content></div></template></template></dom-module><script>Polymer({is:"more-info-group",properties:{hass:{type:Object},stateObj:{type:Object},states:{type:Array,computed:"computeStates(stateObj, hass)"}},observers:["statesChanged(stateObj, states)"],computeStates:function(t,e){for(var s=[],a=t.attributes.entity_id,i=0;i<a.length;i++){var o=e.states[a[i]];o&&s.push(o)}return s},statesChanged:function(t,e){var s,a,i,o,r=!1;if(e&&e.length>0){s=e[0],r=Object.assign({},s,{entity_id:t.entity_id,attributes:Object.assign({},s.attributes)});var n=window.hassUtil.computeDomain(r);for(a=0;a<e.length;a++)if(i=e[a],n!==window.hassUtil.computeDomain(i)){r=!1;break}}r?window.hassUtil.dynamicContentUpdater(this.$.groupedControlDetails,"MORE-INFO-"+window.hassUtil.stateMoreInfoType(r).toUpperCase(),{stateObj:r,hass:this.hass}):(o=Polymer.dom(this.$.groupedControlDetails),o.lastChild&&o.removeChild(o.lastChild))}})</script><dom-module id="ha-labeled-slider" assetpath="components/"><template><style>:host{display:block;padding-bottom:16px}.title{margin-bottom:16px;opacity:var(--dark-primary-opacity)}iron-icon{float:left;margin-top:4px;opacity:var(--dark-secondary-opacity)}.slider-container{margin-left:24px}paper-slider{background-image:var(--ha-slider-background)}</style><div class="title">[[caption]]</div><iron-icon icon="[[icon]]"></iron-icon><div class="slider-container"><paper-slider min="[[min]]" max="[[max]]" value="{{value}}"></paper-slider></div></template></dom-module><script>Polymer({is:"ha-labeled-slider",properties:{caption:{type:String},icon:{type:String},min:{type:Number},max:{type:Number},value:{type:Number,notify:!0}}})</script><dom-module id="ha-color-picker" assetpath="components/"><template><style>canvas{cursor:crosshair}</style><canvas width="[[width]]" height="[[height]]" id="canvas"></canvas></template></dom-module><script>Polymer({is:"ha-color-picker",properties:{color:{type:Object},width:{type:Number},height:{type:Number}},listeners:{mousedown:"onMouseDown",mouseup:"onMouseUp",touchstart:"onTouchStart",touchend:"onTouchEnd"},onMouseDown:function(t){this.onMouseMove(t),this.addEventListener("mousemove",this.onMouseMove)},onMouseUp:function(){this.removeEventListener("mousemove",this.onMouseMove)},onTouchStart:function(t){this.onTouchMove(t),this.addEventListener("touchmove",this.onTouchMove)},onTouchEnd:function(){this.removeEventListener("touchmove",this.onTouchMove)},onTouchMove:function(t){this.mouseMoveIsThrottled&&(this.mouseMoveIsThrottled=!1,this.processColorSelect(t.touches[0]),this.async(function(){this.mouseMoveIsThrottled=!0}.bind(this),100))},onMouseMove:function(t){this.mouseMoveIsThrottled&&(this.mouseMoveIsThrottled=!1,this.processColorSelect(t),this.async(function(){this.mouseMoveIsThrottled=!0}.bind(this),100))},processColorSelect:function(t){var o=this.canvas.getBoundingClientRect();t.clientX<o.left||t.clientX>=o.left+o.width||t.clientY<o.top||t.clientY>=o.top+o.height||this.onColorSelect(t.clientX-o.left,t.clientY-o.top)},onColorSelect:function(t,o){var e=this.context.getImageData(t,o,1,1).data;this.setColor({r:e[0],g:e[1],b:e[2]})},setColor:function(t){this.color=t,this.fire("colorselected",{rgb:this.color})},ready:function(){this.setColor=this.setColor.bind(this),this.mouseMoveIsThrottled=!0,this.canvas=this.$.canvas,this.context=this.canvas.getContext("2d"),this.drawGradient()},drawGradient:function(){var t,o,e,s,i;this.width&&this.height||(t=getComputedStyle(this)),o=this.width||parseInt(t.width,10),e=this.height||parseInt(t.height,10),s=this.context.createLinearGradient(0,0,o,0),s.addColorStop(0,"rgb(255,0,0)"),s.addColorStop(.16,"rgb(255,0,255)"),s.addColorStop(.32,"rgb(0,0,255)"),s.addColorStop(.48,"rgb(0,255,255)"),s.addColorStop(.64,"rgb(0,255,0)"),s.addColorStop(.8,"rgb(255,255,0)"),s.addColorStop(1,"rgb(255,0,0)"),this.context.fillStyle=s,this.context.fillRect(0,0,o,e),i=this.context.createLinearGradient(0,0,0,e),i.addColorStop(0,"rgba(255,255,255,1)"),i.addColorStop(.5,"rgba(255,255,255,0)"),i.addColorStop(.5,"rgba(0,0,0,0)"),i.addColorStop(1,"rgba(0,0,0,1)"),this.context.fillStyle=i,this.context.fillRect(0,0,o,e)}})</script><dom-module id="more-info-light" assetpath="more-infos/"><template><style is="custom-style" include="iron-flex"></style><style>.effect_list{padding-bottom:16px}.brightness,.color_temp,.effect_list,.white_value{max-height:0;overflow:hidden;transition:max-height .5s ease-in}.color_temp{--ha-slider-background:-webkit-linear-gradient(right, rgb(255, 160, 0) 0%, white 50%, rgb(166, 209, 255) 100%)}ha-color-picker{display:block;width:250px;max-height:0;overflow:hidden;transition:max-height .2s ease-in}.has-brightness .brightness,.has-color_temp .color_temp,.has-effect_list .effect_list,.has-white_value .white_value{max-height:84px}.has-rgb_color ha-color-picker{max-height:200px}</style><div class$="[[computeClassNames(stateObj)]]"><div class="effect_list"><paper-dropdown-menu label-float="" label="Effect"><paper-menu class="dropdown-content" selected="{{effectIndex}}"><template is="dom-repeat" items="[[stateObj.attributes.effect_list]]"><paper-item>[[item]]</paper-item></template></paper-menu></paper-dropdown-menu></div><div class="brightness"><ha-labeled-slider caption="Brightness" icon="mdi:brightness-5" max="255" value="{{brightnessSliderValue}}" on-change="brightnessSliderChanged"></ha-labeled-slider></div><div class="color_temp"><ha-labeled-slider caption="Color Temperature" icon="mdi:thermometer" min="[[stateObj.attributes.min_mireds]]" max="[[stateObj.attributes.max_mireds]]" value="{{ctSliderValue}}" on-change="ctSliderChanged"></ha-labeled-slider></div><div class="white_value"><ha-labeled-slider caption="White Value" icon="mdi:file-word-box" max="255" value="{{wvSliderValue}}" on-change="wvSliderChanged"></ha-labeled-slider></div><ha-color-picker on-colorselected="colorPicked" height="200" width="250"></ha-color-picker><ha-attributes state-obj="[[stateObj]]" extra-filters="brightness,color_temp,white_value,effect_list,effect,rgb_color,xy_color,min_mireds,max_mireds"></ha-attributes></div></template></dom-module><script>Polymer({is:"more-info-light",properties:{hass:{type:Object},stateObj:{type:Object,observer:"stateObjChanged"},effectIndex:{type:Number,value:-1,observer:"effectChanged"},brightnessSliderValue:{type:Number,value:0},ctSliderValue:{type:Number,value:0},wvSliderValue:{type:Number,value:0}},stateObjChanged:function(t,e){t&&"on"===t.state?(this.brightnessSliderValue=t.attributes.brightness,this.ctSliderValue=t.attributes.color_temp,this.wvSliderValue=t.attributes.white_value,t.attributes.effect_list?this.effectIndex=t.attributes.effect_list.indexOf(t.attributes.effect):this.effectIndex=-1):this.brightnessSliderValue=0,e&&this.async(function(){this.fire("iron-resize")}.bind(this),500)},featureClassNames:{1:"has-brightness"},computeClassNames:function(t){var e=[window.hassUtil.attributeClassNames(t,["color_temp","white_value","effect_list"]),window.hassUtil.featureClassNames(t,this.featureClassNames)];return t.attributes.supported_features&&0!=(16&t.attributes.supported_features)&&t.attributes.rgb_color&&e.push("has-rgb_color"),e.join(" ")},effectChanged:function(t){var e;""!==t&&-1!==t&&(e=this.stateObj.attributes.effect_list[t])!==this.stateObj.attributes.effect&&this.hass.callService("light","turn_on",{entity_id:this.stateObj.entity_id,effect:e})},brightnessSliderChanged:function(t){var e=parseInt(t.target.value,10);isNaN(e)||(0===e?this.hass.callService("light","turn_off",{entity_id:this.stateObj.entity_id}):this.hass.callService("light","turn_on",{entity_id:this.stateObj.entity_id,brightness:e}))},ctSliderChanged:function(t){var e=parseInt(t.target.value,10);isNaN(e)||this.hass.callService("light","turn_on",{entity_id:this.stateObj.entity_id,color_temp:e})},wvSliderChanged:function(t){var e=parseInt(t.target.value,10);isNaN(e)||this.hass.callService("light","turn_on",{entity_id:this.stateObj.entity_id,white_value:e})},serviceChangeColor:function(t,e,i){t.callService("light","turn_on",{entity_id:e,rgb_color:[i.r,i.g,i.b]})},colorPicked:function(t){if(this.skipColorPicked)return void(this.colorChanged=!0);this.color=t.detail.rgb,this.serviceChangeColor(this.hass,this.stateObj.entity_id,this.color),this.colorChanged=!1,this.skipColorPicked=!0,this.colorDebounce=setTimeout(function(){this.colorChanged&&this.serviceChangeColor(this.hass,this.stateObj.entity_id,this.color),this.skipColorPicked=!1}.bind(this),500)}})</script><dom-module id="more-info-lock" assetpath="more-infos/"><template><style>paper-input{display:inline-block}</style><div hidden$="[[!stateObj.attributes.code_format]]"><paper-input label="code" value="{{enteredCode}}" pattern="[[stateObj.attributes.code_format]]" type="password"></paper-input><paper-button on-tap="handleUnlockTap" hidden$="[[!isLocked]]">Unlock</paper-button><paper-button on-tap="handleLockTap" hidden$="[[isLocked]]">Lock</paper-button></div><ha-attributes state-obj="[[stateObj]]" extra-filters="code_format"></ha-attributes></template></dom-module><script>Polymer({is:"more-info-lock",properties:{hass:{type:Object},stateObj:{type:Object,observer:"stateObjChanged"},enteredCode:{type:String,value:""}},handleUnlockTap:function(){this.callService("unlock",{code:this.enteredCode})},handleLockTap:function(){this.callService("lock",{code:this.enteredCode})},stateObjChanged:function(e){e&&(this.isLocked="locked"===e.state)},callService:function(e,t){var c=t||{};c.entity_id=this.stateObj.entity_id,this.hass.callService("lock",e,c)}})</script><dom-module id="more-info-media_player" assetpath="more-infos/"><template><style is="custom-style" include="iron-flex iron-flex-alignment"></style><style>.media-state{text-transform:capitalize}paper-icon-button[highlight]{color:var(--accent-color)}.volume{margin-bottom:8px;max-height:0;overflow:hidden;transition:max-height .5s ease-in}.has-volume_level .volume{max-height:40px}iron-icon.source-input{padding:7px;margin-top:15px}paper-dropdown-menu.source-input{margin-left:10px}[hidden]{display:none!important}</style><div class$="[[computeClassNames(stateObj)]]"><div class="layout horizontal"><div class="flex"><paper-icon-button icon="mdi:power" highlight$="[[isOff]]" on-tap="handleTogglePower" hidden$="[[computeHidePowerButton(isOff, supportsTurnOn, supportsTurnOff)]]"></paper-icon-button></div><div><template is="dom-if" if="[[computeShowPlaybackControls(isOff, hasMediaControl)]]"><paper-icon-button icon="mdi:skip-previous" on-tap="handlePrevious" hidden$="[[!supportsPreviousTrack]]"></paper-icon-button><paper-icon-button icon="[[computePlaybackControlIcon(stateObj)]]" on-tap="handlePlaybackControl" hidden$="[[!computePlaybackControlIcon(stateObj)]]" highlight=""></paper-icon-button><paper-icon-button icon="mdi:skip-next" on-tap="handleNext" hidden$="[[!supportsNextTrack]]"></paper-icon-button></template></div></div><div class="volume_buttons center horizontal layout" hidden$="[[computeHideVolumeButtons(isOff, supportsVolumeButtons)]]"><paper-icon-button on-tap="handleVolumeTap" icon="mdi:volume-off"></paper-icon-button><paper-icon-button id="volumeDown" disabled$="[[isMuted]]" on-mousedown="handleVolumeDown" on-touchstart="handleVolumeDown" icon="mdi:volume-medium"></paper-icon-button><paper-icon-button id="volumeUp" disabled$="[[isMuted]]" on-mousedown="handleVolumeUp" on-touchstart="handleVolumeUp" icon="mdi:volume-high"></paper-icon-button></div><div class="volume center horizontal layout" hidden$="[[!supportsVolumeSet]]"><paper-icon-button on-tap="handleVolumeTap" hidden$="[[supportsVolumeButtons]]" icon="[[computeMuteVolumeIcon(isMuted)]]"></paper-icon-button><paper-slider disabled$="[[isMuted]]" min="0" max="100" value="[[volumeSliderValue]]" on-change="volumeSliderChanged" class="flex"></paper-slider></div><div class="controls layout horizontal justified" hidden$="[[computeHideSelectSource(isOff, supportsSelectSource)]]"><iron-icon class="source-input" icon="mdi:login-variant"></iron-icon><paper-dropdown-menu class="flex source-input" label-float="" label="Source"><paper-menu class="dropdown-content" selected="{{sourceIndex}}"><template is="dom-repeat" items="[[stateObj.attributes.source_list]]"><paper-item>[[item]]</paper-item></template></paper-menu></paper-dropdown-menu></div><div hidden$="[[computeHideTTS(ttsLoaded, supportsPlayMedia)]]" class="layout horizontal end"><paper-input id="ttsInput" label="Text to speak" class="flex" value="{{ttsMessage}}" on-keydown="ttsCheckForEnter"></paper-input><paper-icon-button icon="mdi:send" on-tap="sendTTS"></paper-icon-button></div></div></template></dom-module><script>Polymer({is:"more-info-media_player",properties:{ttsLoaded:{type:Boolean,computed:"computeTTSLoaded(hass)"},hass:{type:Object},stateObj:{type:Object,observer:"stateObjChanged"},isOff:{type:Boolean,value:!1},isPlaying:{type:Boolean,value:!1},isMuted:{type:Boolean,value:!1},source:{type:String,value:""},sourceIndex:{type:Number,value:0,observer:"handleSourceChanged"},volumeSliderValue:{type:Number,value:0},ttsMessage:{type:String,value:""},supportsPause:{type:Boolean,value:!1},supportsVolumeSet:{type:Boolean,value:!1},supportsVolumeMute:{type:Boolean,value:!1},supportsPreviousTrack:{type:Boolean,value:!1},supportsNextTrack:{type:Boolean,value:!1},supportsTurnOn:{type:Boolean,value:!1},supportsTurnOff:{type:Boolean,value:!1},supportsPlayMedia:{type:Boolean,value:!1},supportsVolumeButtons:{type:Boolean,value:!1},supportsSelectSource:{type:Boolean,value:!1},supportsPlay:{type:Boolean,value:!1},hasMediaControl:{type:Boolean,value:!1}},HAS_MEDIA_STATES:["playing","paused","unknown"],stateObjChanged:function(e,t){e&&(this.isOff="off"===e.state,this.isPlaying="playing"===e.state,this.hasMediaControl=-1!==this.HAS_MEDIA_STATES.indexOf(e.state),this.volumeSliderValue=100*e.attributes.volume_level,this.isMuted=e.attributes.is_volume_muted,this.source=e.attributes.source,this.supportsPause=0!=(1&e.attributes.supported_features),this.supportsVolumeSet=0!=(4&e.attributes.supported_features),this.supportsVolumeMute=0!=(8&e.attributes.supported_features),this.supportsPreviousTrack=0!=(16&e.attributes.supported_features),this.supportsNextTrack=0!=(32&e.attributes.supported_features),this.supportsTurnOn=0!=(128&e.attributes.supported_features),this.supportsTurnOff=0!=(256&e.attributes.supported_features),this.supportsPlayMedia=0!=(512&e.attributes.supported_features),this.supportsVolumeButtons=0!=(1024&e.attributes.supported_features),this.supportsSelectSource=0!=(2048&e.attributes.supported_features),this.supportsPlay=0!=(16384&e.attributes.supported_features),void 0!==e.attributes.source_list&&(this.sourceIndex=e.attributes.source_list.indexOf(this.source))),t&&this.async(function(){this.fire("iron-resize")}.bind(this),500)},computeClassNames:function(e){return window.hassUtil.attributeClassNames(e,["volume_level"])},computeIsOff:function(e){return"off"===e.state},computeMuteVolumeIcon:function(e){return e?"mdi:volume-off":"mdi:volume-high"},computeHideVolumeButtons:function(e,t){return!t||e},computeShowPlaybackControls:function(e,t){return!e&&t},computePlaybackControlIcon:function(){return this.isPlaying?this.supportsPause?"mdi:pause":"mdi:stop":this.supportsPlay?"mdi:play":null},computeHidePowerButton:function(e,t,s){return e?!t:!s},computeHideSelectSource:function(e,t){return e||!t},computeSelectedSource:function(e){return e.attributes.source_list.indexOf(e.attributes.source)},computeHideTTS:function(e,t){return!e||!t},computeTTSLoaded:function(e){return window.hassUtil.isComponentLoaded(e,"tts")},handleTogglePower:function(){this.callService(this.isOff?"turn_on":"turn_off")},handlePrevious:function(){this.callService("media_previous_track")},handlePlaybackControl:function(){this.callService("media_play_pause")},handleNext:function(){this.callService("media_next_track")},handleSourceChanged:function(e){var t;!this.stateObj||void 0===this.stateObj.attributes.source_list||e<0||e>=this.stateObj.attributes.source_list.length||(t=this.stateObj.attributes.source_list[e])!==this.stateObj.attributes.source&&this.callService("select_source",{source:t})},handleVolumeTap:function(){this.supportsVolumeMute&&this.callService("volume_mute",{is_volume_muted:!this.isMuted})},handleVolumeUp:function(){var e=this.$.volumeUp;this.handleVolumeWorker("volume_up",e,!0)},handleVolumeDown:function(){var e=this.$.volumeDown;this.handleVolumeWorker("volume_down",e,!0)},handleVolumeWorker:function(e,t,s){(s||void 0!==t&&t.pointerDown)&&(this.callService(e),this.async(function(){this.handleVolumeWorker(e,t,!1)}.bind(this),500))},volumeSliderChanged:function(e){var t=parseFloat(e.target.value),s=t>0?t/100:0;this.callService("volume_set",{volume_level:s})},ttsCheckForEnter:function(e){13===e.keyCode&&this.sendTTS()},sendTTS:function(){var e,t,s=this.hass.config.services.tts,u=Object.keys(s).sort();for(t=0;t<u.length;t++)if(-1!==u[t].indexOf("_say")){e=u[t];break}e&&(this.hass.callService("tts",e,{entity_id:this.stateObj.entity_id,message:this.ttsMessage}),this.ttsMessage="",this.$.ttsInput.focus())},callService:function(e,t){var s=t||{};s.entity_id=this.stateObj.entity_id,this.hass.callService("media_player",e,s)}})</script><dom-module id="more-info-script" assetpath="more-infos/"><template><style is="custom-style" include="iron-flex iron-flex-alignment"></style><div class="layout vertical"><div class="data-entry layout justified horizontal"><div class="key">Last Action</div><div class="value">[[stateObj.attributes.last_action]]</div></div></div></template></dom-module><script>Polymer({is:"more-info-script",properties:{stateObj:{type:Object}}})</script><dom-module id="more-info-sun" assetpath="more-infos/"><template><style is="custom-style" include="iron-flex iron-flex-alignment"></style><template is="dom-repeat" items="[[computeOrder(risingDate, settingDate)]]"><div class="data-entry layout justified horizontal"><div class="key"><span>[[itemCaption(item)]]</span><ha-relative-time datetime-obj="[[itemDate(item)]]"></ha-relative-time></div><div class="value">[[itemValue(item)]]</div></div></template><div class="data-entry layout justified horizontal"><div class="key">Elevation</div><div class="value">[[stateObj.attributes.elevation]]</div></div></template></dom-module><script>Polymer({is:"more-info-sun",properties:{stateObj:{type:Object},risingDate:{type:Object,computed:"computeRising(stateObj)"},settingDate:{type:Object,computed:"computeSetting(stateObj)"}},computeRising:function(t){return new Date(t.attributes.next_rising)},computeSetting:function(t){return new Date(t.attributes.next_setting)},computeOrder:function(t,e){return t>e?["set","ris"]:["ris","set"]},itemCaption:function(t){return"ris"===t?"Rising ":"Setting "},itemDate:function(t){return"ris"===t?this.risingDate:this.settingDate},itemValue:function(t){return window.hassUtil.formatTime(this.itemDate(t))}})</script><dom-module id="more-info-updater" assetpath="more-infos/"><template><style>.link{color:#03a9f4}</style><div><a class="link" href="https://home-assistant.io/getting-started/updating/" target="_blank">Update Instructions</a></div></template></dom-module><script>Polymer({is:"more-info-updater",properties:{stateObj:{type:Object}},computeReleaseNotes:function(t){return t.attributes.release_notes||"https://home-assistant.io/getting-started/updating/"}})</script><script>Polymer({is:"more-info-content",properties:{hass:{type:Object},stateObj:{type:Object,observer:"stateObjChanged"}},created:function(){this.style.display="block"},stateObjChanged:function(t){var s;t?window.hassUtil.dynamicContentUpdater(this,"MORE-INFO-"+window.hassUtil.stateMoreInfoType(t).toUpperCase(),{hass:this.hass,stateObj:t,isVisible:!0}):(s=Polymer.dom(this),s.lastChild&&(s.lastChild.isVisible=!1))}})</script><script>!function(){function t(t,e){var n,i={},a=[];return t?(t.forEach(function(t){var n,r;if(0!==t.size){var s=Object.assign({},t[t.length-1]);s.last_changed=e,s.last_updated=e,t.push(s),n=t.find(function(t){return"unit_of_measurement"in t.attributes}),r=!!n&&n.attributes.unit_of_measurement,r?r in i?i[r].push(t):i[r]=[t]:a.push(t)}}),n=Object.keys(i).map(function(t){return{unit:t,data:i[t]}}),{line:n,timeline:a}):{line:[],timeline:[]}}var e={},n={};Polymer({is:"ha-state-history-data",properties:{hass:{type:Object,observer:"hassChanged"},filterType:{type:String},startTime:{type:Date,value:null},endTime:{type:Date,value:null},entityId:{type:String,value:null},isLoading:{type:Boolean,value:!0,readOnly:!0,notify:!0},data:{type:Object,value:null,readOnly:!0,notify:!0}},observers:["filterChanged(filterType, entityId, startTime, endTime)"],hassChanged:function(t,e){e||this.filterChanged(this.filterType,this.entityId,this.startTime,this.endTime)},filterChanged:function(t,e,n,i){if(this.hass){var a;if("date"===t){if(null===n||null===i)return;a=this.getDate(n,i)}else{if("recent-entity"!==t)return;if(null===e)return;a=this.getRecent(e)}this._setIsLoading(!0),a.then(function(t){this._setData(t),this._setIsLoading(!1)}.bind(this))}},getRecent:function(e){var i=n[e];if(i&&Date.now()-i.created<6e4)return i.data;var a="history/period";e&&(a+="?filter_entity_id="+e);var r=this.hass.callApi("GET",a).then(function(e){return t(e,Date.now())},function(){return n[e]=!1,null});return n[e]={created:Date.now(),data:r},r},getDate:function(n,i){var a=n.toISOString()+"?end_time="+i.toISOString();return e[a]||(e[a]=this.hass.callApi("GET","history/period/"+a).then(function(e){return t(e,i)},function(){return e[a]=!1,null})),e[a]}})}()</script><dom-module id="more-info-dialog" assetpath="dialogs/"><template><style>paper-dialog{font-size:14px;width:365px}paper-dialog[data-domain=camera]{width:auto}state-history-charts{position:relative;z-index:1;max-width:365px}state-card-content{margin-bottom:24px;font-size:14px}@media all and (max-width:450px),all and (max-height:500px){paper-dialog{margin:0;width:100%;max-height:calc(100% - 64px);position:fixed!important;bottom:0;left:0;right:0;overflow:scroll}}</style><paper-dialog id="dialog" with-backdrop="" opened="{{dialogOpen}}" data-domain$="[[computeDomain(stateObj)]]"><h2><state-card-content state-obj="[[stateObj]]" hass="[[hass]]" in-dialog=""></state-card-content></h2><template is="dom-if" if="[[showHistoryComponent]]" restamp=""><div><ha-state-history-data hass="[[hass]]" filter-type="[[_filterType]]" entity-id="[[stateObj.entity_id]]" data="{{stateHistory}}" is-loading="{{stateHistoryLoading}}"></ha-state-history-data><state-history-charts history-data="[[stateHistory]]" is-loading-data="[[isLoadingHistoryData]]"></state-history-charts></div></template><paper-dialog-scrollable id="scrollable"><more-info-content state-obj="[[stateObj]]" hass="[[hass]]"></more-info-content></paper-dialog-scrollable></paper-dialog></template></dom-module><script>Polymer({is:"more-info-dialog",properties:{hass:{type:Object},stateObj:{type:Object,computed:"computeStateObj(hass)",observer:"stateObjChanged"},stateHistory:{type:Object},stateHistoryLoading:{type:Boolean},isLoadingHistoryData:{type:Boolean,computed:"computeIsLoadingHistoryData(delayedDialogOpen, stateHistoryLoading)"},hasHistoryComponent:{type:Boolean,computed:"computeHasHistoryComponent(hass)"},showHistoryComponent:{type:Boolean,value:!1,computed:"computeShowHistoryComponent(hasHistoryComponent, stateObj)"},dialogOpen:{type:Boolean,value:!1,observer:"dialogOpenChanged"},delayedDialogOpen:{type:Boolean,value:!1},_filterType:{type:String,value:"recent-entity"}},ready:function(){this.$.scrollable.dialogElement=this.$.dialog},computeDomain:function(t){return t?window.hassUtil.computeDomain(t):""},computeStateObj:function(t){return t.states[t.moreInfoEntityId]||null},computeIsLoadingHistoryData:function(t,o){return!t||o},computeHasHistoryComponent:function(t){return window.hassUtil.isComponentLoaded(t,"history")},computeShowHistoryComponent:function(t,o){return this.hasHistoryComponent&&o&&-1===window.hassUtil.DOMAINS_WITH_NO_HISTORY.indexOf(window.hassUtil.computeDomain(o))},stateObjChanged:function(t){if(!t)return void(this.dialogOpen=!1);this.async(function(){this.dialogOpen=!0}.bind(this),10)},dialogOpenChanged:function(t){t?this.async(function(){this.delayedDialogOpen=!0}.bind(this),100):!t&&this.stateObj&&(this.fire("hass-more-info",{entityId:null}),this.delayedDialogOpen=!1)}})</script><dom-module id="ha-voice-command-dialog" assetpath="dialogs/"><template><style>iron-icon{margin-right:8px}.content{width:300px;min-height:80px;font-size:18px}.icon{float:left}.text{margin-left:48px;margin-right:24px}.error{color:red}.interimTranscript{color:#a9a9a9}@media all and (max-width:450px){paper-dialog{margin:0;width:100%;max-height:calc(100% - 64px);position:fixed!important;bottom:0;left:0;right:0;overflow:scroll}}</style><paper-dialog id="dialog" with-backdrop="" opened="{{dialogOpen}}"><div class="content"><div class="icon"><iron-icon icon="mdi:text-to-speech" hidden$="[[isTransmitting]]"></iron-icon><paper-spinner active$="[[isTransmitting]]" hidden$="[[!isTransmitting]]"></paper-spinner></div><div class="text" hidden$="[[hasError]]"><span>{{results.final}}</span> <span class="interimTranscript">[[results.interim]]</span> …</div><div class="text red" hidden$="[[!hasError]]">An error occurred. Unable to fulfill request.</div></div></paper-dialog></template></dom-module><script>Polymer({is:"ha-voice-command-dialog",properties:{hass:{type:Object},dialogOpen:{type:Boolean,value:!1,observer:"dialogOpenChanged"},results:{type:Object},isTransmitting:{type:Boolean,value:!1},isListening:{type:Boolean,value:!1},hasError:{type:Boolean,value:!1},showListenInterface:{type:Boolean,computed:"computeShowListenInterface(isListening, isTransmitting)",observer:"showListenInterfaceChanged"}},initRecognition:function(){this.recognition=new webkitSpeechRecognition,this.recognition.onstart=function(){this.isListening=!0,this.isTransmitting=!1,this.hasError=!1,this.results={final:"",interim:""}}.bind(this),this.recognition.onerror=function(){this.recognition.abort(),this.hasError=!0}.bind(this),this.recognition.onend=function(){this.isListening=!1,this.isTransmitting=!0;var i=this.results.final||this.results.interim,t=function(){this.isTransmitting=!1}.bind(this);this.hass.callService("conversation","process",{text:i}).then(t,t)}.bind(this),this.recognition.onresult=function(i){for(var t=this.results,n="",s="",e=i.resultIndex;e<i.results.length;e++)i.results[e].isFinal?n+=i.results[e][0].transcript:s+=i.results[e][0].transcript;this.results={interim:s,final:t.final+n}}.bind(this)},startListening:function(){this.recognition||this.initRecognition(),this.recognition.start()},computeShowListenInterface:function(i,t){return i||t},dialogOpenChanged:function(i){!i&&this.isListening&&this.recognition.abort()},showListenInterfaceChanged:function(i){!i&&this.dialogOpen?this.dialogOpen=!1:i&&(this.dialogOpen=!0)}})</script><script>!function(){function t(t,e){var n={panel:t};return"states"===t&&(n.view=e||null),n}function e(t,e){return"states"===t&&e?"/"+t+"/"+e:"/"+t}Polymer({is:"ha-url-sync",properties:{hass:{type:Object,observer:"hassChanged"}},hassChanged:function(n,s){if(s)return n.currentPanel===s.currentPanel&&n.currentView===s.currentView?void(s.moreInfoEntityId!==n.moreInfoEntityId&&(n.moreInfoEntityId?history.pushState(history.state,"Home Assistant",window.location.pathname):this.ignoreNextDeselectEntity?this.ignoreNextDeselectEntity=!1:history.back())):this.ignoreNextNav?void(this.ignoreNextNav=!1):void history.pushState(t(n.currentPanel,n.currentView),"Home Assistant",e(n.currentPanel,n.currentView))},popstateChangeListener:function(t){this.hass.moreInfoEntityId?(this.ignoreNextDeselectEntity=!0,this.fire("hass-more-info",{entityId:null})):this.hass.currentPanel===t.state.panel&&this.hass.currentView===t.state.view||(this.ignoreNextNav=!0,this.fire("hass-navigate",t.state))},attached:function(){if(this.popstateChangeListener=this.popstateChangeListener.bind(this),window.addEventListener("popstate",this.popstateChangeListener),"/"===window.location.pathname){var n=this.hass.currentPanel,s=this.hass.currentView;history.replaceState(t(n,s),"Home Assistant",e(n,s))}else{var i=window.location.pathname.substr(1).split("/");this.fire("hass-navigate",t(i[0],i[1]))}}})}()</script><dom-module id="paper-icon-item" assetpath="../bower_components/paper-item/"><template><style include="paper-item-shared-styles"></style><style>:host{@apply(--layout-horizontal);@apply(--layout-center);@apply(--paper-font-subhead);@apply(--paper-item);@apply(--paper-icon-item)}.content-icon{@apply(--layout-horizontal);@apply(--layout-center);width:var(--paper-item-icon-width,56px);@apply(--paper-item-icon)}</style><div id="contentIcon" class="content-icon"><content select="[item-icon]"></content></div><content></content></template><script>Polymer({is:"paper-icon-item",behaviors:[Polymer.PaperItemBehavior]})</script></dom-module><dom-module id="ha-push-notifications-toggle" assetpath="components/"><template><paper-toggle-button hidden$="[[!pushSupported]]" disabled="[[loading]]" on-change="handlePushChange" checked="[[pushActive]]"></paper-toggle-button></template></dom-module><script>Polymer({is:"ha-push-notifications-toggle",properties:{hass:{type:Object,value:null},pushSupported:{type:Boolean,readOnly:!0,notify:!0,value:"PushManager"in window&&("https:"===document.location.protocol||"localhost"===document.location.hostname||"127.0.0.1"===document.location.hostname)},pushActive:{type:Boolean,value:"Notification"in window&&"granted"===Notification.permission},loading:{type:Boolean,value:!0}},attached:function(){if(this.pushSupported){var i=this;navigator.serviceWorker.ready.then(function(t){t.pushManager.getSubscription().then(function(t){i.loading=!1,i.pushActive=!!t})},function(){i._setPushSupported(!1)})}},handlePushChange:function(i){i.target.checked?this.subscribePushNotifications():this.unsubscribePushNotifications()},subscribePushNotifications:function(){var i=this;navigator.serviceWorker.ready.then(function(i){return i.pushManager.subscribe({userVisibleOnly:!0})}).then(function(t){var e;return e=navigator.userAgent.toLowerCase().indexOf("firefox")>-1?"firefox":"chrome",i.hass.callApi("POST","notify.html5",{subscription:t,browser:e}).then(function(){i.pushActive=!0})},function(t){var e;e=t.message&&-1!==t.message.indexOf("gcm_sender_id")?"Please setup the notify.html5 platform.":"Notification registration failed.",console.error(t),i.fire("hass-notification",{message:e}),i.pushActive=!1})},unsubscribePushNotifications:function(){var i=this;navigator.serviceWorker.ready.then(function(i){return i.pushManager.getSubscription()}).then(function(t){return t?i.hass.callApi("DELETE","notify.html5",{subscription:t}).then(function(){t.unsubscribe()}):Promise.resolve()}).then(function(){i.pushActive=!1}).catch(function(t){console.error("Error in unsub push",t),i.fire("hass-notification",{message:"Failed unsubscribing for push notifications."})})}})</script><dom-module id="ha-sidebar" assetpath="components/"><template><style include="iron-flex iron-flex-alignment iron-positioning">:host{--sidebar-text:{color:var(--primary-text-color);font-weight:500;font-size:14px};display:block;overflow:auto;-ms-user-select:none;-webkit-user-select:none;-moz-user-select:none;border-right:1px solid var(--divider-color)}app-toolbar{font-weight:400;color:var(--primary-text-color);border-bottom:1px solid var(--divider-color);background-color:var(--primary-background-color)}paper-menu{padding-bottom:0}paper-icon-item{--paper-icon-item:{cursor:pointer};--paper-item-icon:{color:#000;opacity:var(--dark-secondary-opacity)};--paper-item-selected:{color:var(--default-primary-color);background-color:var(--paper-grey-200);opacity:1};}paper-icon-item.iron-selected{--paper-item-icon:{color:var(--default-primary-color);opacity:1};}paper-icon-item .item-text{@apply(--sidebar-text)}paper-icon-item.iron-selected .item-text{opacity:1}paper-icon-item.logout{margin-top:16px}.divider{height:1px;background-color:#000;margin:4px 0;opacity:var(--dark-divider-opacity)}.setting{@apply(--sidebar-text)}.subheader{@apply(--sidebar-text);padding:16px}.dev-tools{padding:0 8px;opacity:var(--dark-secondary-opacity)}</style><app-toolbar><div main-title="">Home Assistant</div><paper-icon-button icon="mdi:chevron-left" hidden$="[[narrow]]" on-tap="toggleMenu"></paper-icon-button></app-toolbar><paper-menu attr-for-selected="data-panel" selected="[[hass.currentPanel]]" on-iron-select="menuSelect"><paper-icon-item on-tap="menuClicked" data-panel="states"><iron-icon item-icon="" icon="mdi:apps"></iron-icon><span class="item-text">States</span></paper-icon-item><template is="dom-repeat" items="[[panels]]"><paper-icon-item on-tap="menuClicked" data-panel$="[[item.url_path]]"><iron-icon item-icon="" icon="[[item.icon]]"></iron-icon><span class="item-text">[[item.title]]</span></paper-icon-item></template><paper-icon-item on-tap="menuClicked" data-panel="logout" class="logout"><iron-icon item-icon="" icon="mdi:exit-to-app"></iron-icon><span class="item-text">Log Out</span></paper-icon-item></paper-menu><div><template is="dom-if" if="[[pushSupported]]"><div class="divider"></div><paper-item class="horizontal layout justified"><div class="setting">Push Notifications</div><ha-push-notifications-toggle hass="[[hass]]" push-supported="{{pushSupported}}"></ha-push-notifications-toggle></paper-item></template><div class="divider"></div><div class="subheader">Developer Tools</div><div class="dev-tools layout horizontal justified"><paper-icon-button icon="mdi:remote" data-panel="dev-service" alt="Services" title="Services" on-tap="menuClicked"></paper-icon-button><paper-icon-button icon="mdi:code-tags" data-panel="dev-state" alt="States" title="States" on-tap="menuClicked"></paper-icon-button><paper-icon-button icon="mdi:radio-tower" data-panel="dev-event" alt="Events" title="Events" on-tap="menuClicked"></paper-icon-button><paper-icon-button icon="mdi:file-xml" data-panel="dev-template" alt="Templates" title="Templates" on-tap="menuClicked"></paper-icon-button><paper-icon-button icon="mdi:information-outline" data-panel="dev-info" alt="Info" title="Info" on-tap="menuClicked"></paper-icon-button></div></div></template></dom-module><script>Polymer({is:"ha-sidebar",properties:{hass:{type:Object},menuShown:{type:Boolean},menuSelected:{type:String},narrow:{type:Boolean},panels:{type:Array,computed:"computePanels(hass)"},pushSupported:{type:Boolean,value:!0}},created:function(){this._boundUpdateStyles=this.updateStyles.bind(this)},computePanels:function(e){var t=e.config.panels,n={map:1,logbook:2,history:3},o=[];return Object.keys(t).forEach(function(e){t[e].title&&o.push(t[e])}),o.sort(function(e,t){var o=e.component_name in n,a=t.component_name in n;return o&&a?n[e.component_name]-n[t.component_name]:o?-1:a?1:e.title<t.title?-1:e.title>t.title?1:0}),o},menuSelect:function(){this.debounce("updateStyles",this._boundUpdateStyles,1)},menuClicked:function(e){for(var t=e.target,n=5,o=t.getAttribute("data-panel");n&&!o;)t=t.parentElement,o=t.getAttribute("data-panel"),n--;n&&this.selectPanel(o)},toggleMenu:function(){this.fire("hass-close-menu")},selectPanel:function(e){if(e!==this.hass.currentPanel){if("logout"===e)return void this.handleLogOut();this.fire("hass-navigate",{panel:e}),this.debounce("updateStyles",this._boundUpdateStyles,1)}},handleLogOut:function(){this.fire("hass-logout")}})</script><dom-module id="home-assistant-main" assetpath="layouts/"><template><more-info-dialog hass="[[hass]]"></more-info-dialog><ha-url-sync hass="[[hass]]"></ha-url-sync><ha-voice-command-dialog hass="[[hass]]" id="voiceDialog"></ha-voice-command-dialog><iron-media-query query="(max-width: 870px)" query-matches="{{narrow}}"></iron-media-query><paper-drawer-panel id="drawer" force-narrow="[[computeForceNarrow(narrow, dockedSidebar)]]" responsive-width="0" disable-swipe="[[isSelectedMap]]" disable-edge-swipe="[[isSelectedMap]]"><ha-sidebar drawer="" narrow="[[narrow]]" hass="[[hass]]"></ha-sidebar><iron-pages main="" attr-for-selected="id" fallback-selection="panel-resolver" selected="[[currentPanel]]" selected-attribute="panel-visible"><partial-cards id="states" narrow="[[narrow]]" hass="[[hass]]" show-menu="[[dockedSidebar]]"></partial-cards><partial-panel-resolver id="panel-resolver" narrow="[[narrow]]" hass="[[hass]]" show-menu="[[dockedSidebar]]"></partial-panel-resolver></iron-pages></paper-drawer-panel></template></dom-module><script>Polymer({is:"home-assistant-main",properties:{hass:{type:Object,value:null},narrow:{type:Boolean},currentPanel:{type:String,computed:"computeCurrentPanel(hass)",observer:"currentPanelChanged"},dockedSidebar:{type:Boolean,computed:"computeDockedSidebar(hass)"}},listeners:{"hass-open-menu":"handleOpenMenu","hass-close-menu":"handleCloseMenu","hass-start-voice":"handleStartVoice"},handleStartVoice:function(e){e.stopPropagation(),this.$.voiceDialog.startListening()},handleOpenMenu:function(){this.narrow?this.$.drawer.openDrawer():this.fire("hass-dock-sidebar",{dock:!0})},handleCloseMenu:function(){this.$.drawer.closeDrawer(),this.dockedSidebar&&this.fire("hass-dock-sidebar",{dock:!1})},currentPanelChanged:function(){this.narrow&&this.$.drawer.closeDrawer()},attached:function(){window.removeInitMsg()},computeForceNarrow:function(e,n){return e||!n},computeCurrentPanel:function(e){return e.currentPanel},computeDockedSidebar:function(e){return e.dockedSidebar}})</script><style is="custom-style">html{font-size:14px;--paper-grey-50:#fafafa;--paper-grey-200:#eeeeee;--dark-primary-color:#0288D1;--default-primary-color:#03A9F4;--primary-color:#03A9F4;--light-primary-color:#B3E5FC;--text-primary-color:#ffffff;--accent-color:#FF9800;--primary-background-color:var(--paper-grey-50);--primary-text-color:#212121;--secondary-text-color:#727272;--disabled-text-color:#bdbdbd;--divider-color:rgba(0, 0, 0, .12);--paper-toggle-button-checked-ink-color:#039be5;--paper-toggle-button-checked-button-color:#039be5;--paper-toggle-button-checked-bar-color:#039be5;--paper-slider-knob-color:var(--primary-color);--paper-slider-knob-start-color:var(--primary-color);--paper-slider-pin-color:var(--primary-color);--paper-slider-active-color:var(--primary-color);--paper-slider-secondary-color:var(--light-primary-color);--paper-slider-container-color:var(--divider-color);--paper-card-background-color:#FFF;--paper-menu-background-color:#FFF;--google-red-500:#db4437;--google-blue-500:#4285f4;--google-green-500:#0f9d58;--google-yellow-500:#f4b400;--paper-green-400:#66bb6a;--paper-blue-400:#42a5f5;--paper-orange-400:#ffa726;--dark-divider-opacity:0.12;--dark-disabled-opacity:0.38;--dark-secondary-opacity:0.54;--dark-primary-opacity:0.87;--light-divider-opacity:0.12;--light-disabled-opacity:0.3;--light-secondary-opacity:0.7;--light-primary-opacity:1.0}</style><dom-module id="ha-style" assetpath="resources/"><template><style>:host{@apply(--paper-font-body1)}app-header-layout{background-color:var(--primary-background-color)}app-header,app-toolbar{background-color:var(--primary-color);font-weight:400;color:#fff}app-toolbar ha-menu-button+[main-title]{margin-left:24px}h1{@apply(--paper-font-title)}.card-actions>ha-call-api-button:not([disabled]),.card-actions>ha-call-service-button:not([disabled]),.card-actions>paper-button:not([disabled]){color:var(--default-primary-color);font-weight:500}.card-actions>ha-call-api-button.warning:not([disabled]),.card-actions>ha-call-service-button.warning:not([disabled]),.card-actions>paper-button.warning:not([disabled]){color:var(--google-red-500)}</style></template></dom-module><dom-module id="paper-toast" assetpath="../bower_components/paper-toast/"><template><style>:host{display:block;position:fixed;background-color:var(--paper-toast-background-color,#323232);color:var(--paper-toast-color,#f1f1f1);min-height:48px;min-width:288px;padding:16px 24px;box-sizing:border-box;box-shadow:0 2px 5px 0 rgba(0,0,0,.26);border-radius:2px;margin:12px;font-size:14px;cursor:default;-webkit-transition:-webkit-transform .3s,opacity .3s;transition:transform .3s,opacity .3s;opacity:0;-webkit-transform:translateY(100px);transform:translateY(100px);@apply(--paper-font-common-base)}:host(.capsule){border-radius:24px}:host(.fit-bottom){width:100%;min-width:0;border-radius:0;margin:0}:host(.paper-toast-open){opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}</style><span id="label">{{text}}</span><content></content></template><script>!function(){var e=null;Polymer({is:"paper-toast",behaviors:[Polymer.IronOverlayBehavior],properties:{fitInto:{type:Object,value:window,observer:"_onFitIntoChanged"},horizontalAlign:{type:String,value:"left"},verticalAlign:{type:String,value:"bottom"},duration:{type:Number,value:3e3},text:{type:String,value:""},noCancelOnOutsideClick:{type:Boolean,value:!0},noAutoFocus:{type:Boolean,value:!0}},listeners:{transitionend:"__onTransitionEnd"},get visible(){return Polymer.Base._warn("`visible` is deprecated, use `opened` instead"),this.opened},get _canAutoClose(){return this.duration>0&&this.duration!==1/0},created:function(){this._autoClose=null,Polymer.IronA11yAnnouncer.requestAvailability()},show:function(e){"string"==typeof e&&(e={text:e});for(var t in e)0===t.indexOf("_")?Polymer.Base._warn('The property "'+t+'" is private and was not set.'):t in this?this[t]=e[t]:Polymer.Base._warn('The property "'+t+'" is not valid.');this.open()},hide:function(){this.close()},__onTransitionEnd:function(e){e&&e.target===this&&"opacity"===e.propertyName&&(this.opened?this._finishRenderOpened():this._finishRenderClosed())},_openedChanged:function(){null!==this._autoClose&&(this.cancelAsync(this._autoClose),this._autoClose=null),this.opened?(e&&e!==this&&e.close(),e=this,this.fire("iron-announce",{text:this.text}),this._canAutoClose&&(this._autoClose=this.async(this.close,this.duration))):e===this&&(e=null),Polymer.IronOverlayBehaviorImpl._openedChanged.apply(this,arguments)},_renderOpened:function(){this.classList.add("paper-toast-open")},_renderClosed:function(){this.classList.remove("paper-toast-open")},_onFitIntoChanged:function(e){this.positionTarget=e}})}()</script></dom-module><dom-module id="notification-manager" assetpath="managers/"><template><style>paper-toast{z-index:1}</style><paper-toast id="toast" text="[[_text]]" no-cancel-on-outside-click="[[_cancelOnOutsideClick]]"></paper-toast><paper-toast id="connToast" duration="0" text="Connection lost. Reconnecting…" opened="[[!isStreaming]]"></paper-toast></template></dom-module><script>Polymer({is:"notification-manager",properties:{hass:{type:Object},isStreaming:{type:Boolean,computed:"computeIsStreaming(hass)"},_cancelOnOutsideClick:{type:Boolean,value:!1},_text:{type:String,readOnly:!0},toastClass:{type:String,value:""}},computeIsStreaming:function(t){return!t||t.connected},created:function(){this.handleWindowChange=this.handleWindowChange.bind(this),this._mediaq=window.matchMedia("(max-width: 599px)"),this._mediaq.addListener(this.handleWindowChange)},attached:function(){this.handleWindowChange(this._mediaq)},detached:function(){this._mediaq.removeListener(this.handleWindowChange)},handleWindowChange:function(t){this.$.toast.classList.toggle("fit-bottom",t.matches),this.$.connToast.classList.toggle("fit-bottom",t.matches)},showNotification:function(t){this._set_text(t),this.$.toast.show()}})</script></div><dom-module id="home-assistant"><template><ha-pref-storage hass="[[hass]]" id="storage"></ha-pref-storage><notification-manager id="notifications" hass="[[hass]]"></notification-manager><template is="dom-if" if="[[showMain]]" restamp=""><home-assistant-main on-hass-more-info="handleMoreInfo" on-hass-navigate="handleNavigate" on-hass-dock-sidebar="handleDockSidebar" on-hass-notification="handleNotification" on-hass-logout="handleLogout" hass="[[hass]]"></home-assistant-main></template><template is="dom-if" if="[[!showMain]]" restamp=""><login-form hass="[[hass]]" connection-promise="{{connectionPromise}}" show-loading="[[computeShowLoading(connectionPromise, hass, iconsLoaded)]]"></login-form></template></template></dom-module><script>window.removeInitMsg=function(){var n=document.getElementById("ha-init-skeleton");n&&n.parentElement.removeChild(n)},Polymer({is:"home-assistant",hostAttributes:{icons:null},properties:{connectionPromise:{type:Object,value:window.hassConnection||null,observer:"handleConnectionPromise"},connection:{type:Object,value:null,observer:"connectionChanged"},hass:{type:Object,value:null},icons:{type:String},iconsLoaded:{type:Boolean,value:!1},showMain:{type:Boolean,computed:"computeShowMain(hass, iconsLoaded)"}},computeShowMain:function(n,t){return n&&n.states&&n.config&&t},computeShowLoading:function(n,t,i){return null!=n||t&&(!t.states||!t.config||!i)},loadIcons:function(){var n=function(){this.iconsLoaded=!0}.bind(this);this.importHref("/static/mdi-"+this.icons+".html",n,function(){this.importHref("/static/mdi.html",n,n)})},connectionChanged:function(n,t){if(t&&(this.unsubConnection(),this.unsubConnection=null),!n)return void(this.hass=null);var i=this.$.notifications,e=this;this.hass=Object.assign({connection:n,connected:!0,states:null,config:null,dockedSidebar:!1,currentPanel:"states",currentView:null,moreInfoEntityId:null,callService:function(t,o,s){return n.callService(t,o,s||{}).then(function(){var n,a;s.entity_id&&e.hass.states&&e.hass.states[s.entity_id]&&(a=window.hassUtil.computeStateName(e.hass.states[s.entity_id])),n="turn_on"===o&&s.entity_id?"Turned on "+(a||s.entity_id)+".":"turn_off"===o&&s.entity_id?"Turned off "+(a||s.entity_id)+".":"Service "+t+"/"+o+" called.",i.showNotification(n)},function(){return i.showNotification("Failed to call service "+t+"/"+o),Promise.reject()})},callApi:function(t,i,e){var o=window.location.protocol+"//"+window.location.host,s=n.options.authToken?n.options:{};return window.hassCallApi(o,s,t,i,e)}},this.$.storage.getStoredState());var o=function(){this.hass=Object.assign({},this.hass,{connected:!0})}.bind(this);n.addEventListener("ready",o);var s=function(){this.hass=Object.assign({},this.hass,{connected:!1})}.bind(this);n.addEventListener("disconnected",s);var a;window.HAWS.subscribeEntities(n,function(n){this.hass=Object.assign({},this.hass,{states:n})}.bind(this)).then(function(n){a=n});var c;window.HAWS.subscribeConfig(n,function(n){this.hass=Object.assign({},this.hass,{config:n})}.bind(this)).then(function(n){c=n}),this.unsubConnection=function(){n.removeEventListener("ready",o),n.removeEventListener("disconnected",s),a(),c()}},handleConnectionPromise:function(n){if(n){var t=this;n.then(function(n){t.connection=n},function(){t.connectionPromise=null})}},handleMoreInfo:function(n){n.stopPropagation(),this.hass=Object.assign({},this.hass,{moreInfoEntityId:n.detail.entityId})},handleNavigate:function(n){n.stopPropagation();var t=Object.assign({},this.hass);"panel"in n.detail&&(t.currentPanel=n.detail.panel),"view"in n.detail&&(t.currentView=n.detail.view),this.hass=t},handleDockSidebar:function(n){n.stopPropagation(),this.hass=Object.assign({},this.hass,{dockedSidebar:n.detail.dock}),this.$.storage.storeState()},handleNotification:function(n){this.$.notifications.showNotification(n.detail.message)},handleLogout:function(){delete localStorage.authToken;var n=this.connection;this.connectionPromise=null;try{this.connection=null}catch(n){}n.close()},ready:function(){this.loadIcons(),null!==this.connectionPromise&&this.handleConnectionPromise(this.connectionPromise)}})</script></body></html> \ No newline at end of file diff --git a/homeassistant/components/frontend/www_static/frontend.html.gz b/homeassistant/components/frontend/www_static/frontend.html.gz index a9879e06152463cfc798f83f3090f1e2fb761f15..fa38fa165b90aab8600aacdec519ac95eafd48c0 100644 GIT binary patch delta 28803 zcmV(;K-<65$_S*(2nQdF2nacu8i5D32LZyde^KyPAXK%AXn`~-TP`<gNaOOOOLy#Y zt?jD5vuYg<L_!kA6u==MOKzFx?APpv?U!ss<of{-lwEyiXYbT>m56*rMn*<PM#iJ3 z0OR2gl*!c(%A9#hBJU3o2P$SbDa6Usp%<*n{Fm)suzw7X#-;GDf@rB9#a(*h_5F}l ze_72~ZjVXTZT)e%yCTu&F3`pBG5^Ic%Bp|%qVX%{ZqQ)WHZL4;#y%p~N;-3Uk)Tvg zg}z$n=UO#$WKrBQBW7m@hpY`X2Vi5<!fwgXfF5?e4yZ&2ZhsFb<@NBsZ6b~5_jLq9 z6NRhthGcXy%IN(774SO4SEwlKKps^;e^|(Cf%S^Xop*ty4;TmdA7|lNmEV?K&~Ux9 zk?`OF=>XA<E~_ugIs2-&t=NC#0B#nk$@_T`+)z?D0<avfa(8PnRjph-WjTk1ESc!w zJ4Ty7=nfHp9|@N>ikci_ZR;M~e%fA*^gg$-*bw#^JPAG8mgMOoXtmX3-^5i7f1N+P z$%oy%6DmaM(2C`|??&>(><fiIe}xk_5+k6B9_w;RZ&rHOS`pcBYh_{>5ro#9gBHeE z%Tgeo#_+l7;PIdI@Vr`4FnCgl-r+(FpnfuAUdoA?DH^pJAjMr|<LlL;M^F3t>;ZkL z9^isb^);WKT@04Rg%OXO*(Z!)e`xksW2|!X8Bl=C=ibM2vQIiHfg^qXh!AI%zKTzt zC}bZF7&2NT=c+^+GQr0EmUyxi&WSz=JbhiuWjaIsHLU4`|2-bbdFNFh&IB<lQ9jhB zn=Y{%zqJr6^TiQv#Dl$%tBbRg#~RY!ca=*R2PslUO;3a^l@>Snk@%^(e?w>+Ohbno zar&TgvB4+pK#Rd8fXg`O2?iurcd`D}pdReY2V|PnFnENNCZc=ZX&bjos-tv<G$Cxj zHf9z1?$xVTYhh_nd6-p;owBwT6B&yim$-?#d1)JgtMyV)1&-YZN6Mo|%FzY?Ub__q zF?-Ag1W~!IRIp56dl`+mf4KwU>?k5V1EH!6^a5h*YbWkDaSseFZGyfao2b1JW^M8v z_o;)BXnm3wpYkflc&B&tN4`KTvZGN=+T#SF8~FW1`%8pGkv@`6Twvl`%%Gh8>9K?3 zdvv3*xz>bs^F}AuHb>R7mFcEx1uW(<5}GftBCmuIv{l@#M2su)f6`DnJNfMJIaH?U zGf*d{x73nz+7X2<D-_y=+)T{pqoP9EDtZd=?<BmM=i?>bhLj26Wm?P^*#~t|LPJ|l zF3uFNoN34Wv#7GgInPn2!Y^wPXca&-t9C%EkNL7M?vFN9x}&pCON>B?tsvHkRi{gz zZkEb0AX+y->jEkle~ySS<bX?j{c2vik7o|ftO<2)x81bN?mExTT84tW%{MNA)Rb=x z=P%@E?gj3_MoO8Nb=CibCJAsivU`5J%!)T4KpvxA;C%>ndxt9T9jcRc>mT8auEjQy zovFwsOPAjGNbhU3GxCqrOrctrG8Uy70wr5ypHk<$h@0Y1f3b_^ycEvJ4LZVJ_kOj; zOj^nY7=~8_L$Xogn$E_hu<f*t1%5|g<}=i{Ps*cSmdwl9HQs9n3|t=kx)&b5`D+-( z*`O@YOC_-<@jVmwc^oBm)F0y&EeY|~7VedpPnY^2x0girR$MO@@V#2iF!WzWzt`F< zwKiK0%;Ps1e_4aY#Vm|>WE4f#3CpCw=N#P&QXaK3zslfvo96S~-Ps~bS0C7io?YxV zNHE|XudPis6A`O6P1w^T0T~};4<inG$wTsPMxJ`lKkAur2#HNnpw5N@oX9aUDA*Xi z7HW=102qhbU!xasc%3l-DTH2g9H*KcLs5cA%gG|(f7$yF9jg4`I6HXh-Mi|@uuKi4 zX}uwl`mF2Ol~CHy*X-~?yLM*hbd>ESaH`Q2GmvCG?y}pDLegR|Gx2WrGJtFv&((#5 z(U?lq&dTH@b<xq|%D4lgYlbFfGbOJ1oFF+mj<5^kxp{1Vf%{)eJQLlcqBWjLO&PhH zPmv}df5i?`P|?fE5ff+e&v48{mAYKw@(Gg}w$kR3Yn?#1ybt&*93wH0!*A(9szjS^ zKKY8|wTB<kjV{M@>u!^0L`&o>ukg6-B<zPU*)12fx9!h*dlKDgcb9E@G~S1N#;7|Q zuL@xjl-+w)hZ8+b#s8?vV);5hTY(HILNF$Gf4aE0V1?W>c2hnIGi?HIORp(!V2h&` z*AUQH2gHi~U0B%@c!$5O7Q(q#eIa*Vr-DN3N<{h1t9LNMXCBT?wGd%v@wDeCp}3bC z2A-#j#hDRjd==-gv5tBIsXwJvHkjU|tD+b3PRO}8I8Sqo!WzaaATC0M7EJcFi>RKe ze;18=tu+yUZfD%#R)!H~2!4stMEOi<li6i3ADXm6f)VR;u*&}PTDDWj<HLJ!<%mc# zUVyv?hQj6k>_+A1tCR>qZPPlfDa0=jZ@SFiq|5Og_DrDai&YDM=#-t*_?Z4`RbD~2 zy%mq?%{n+qPlbFVKO}fY<h?Xr#WIq<e=H=-WL5nO;gXoB*1JK6oDr{-@7>AY$A5qD z_dosp=<mCKAN)P}d;jn8DZ1lL!)Py@!WbBrD^GN?!%$rLxwd{eY?9>UG~QtaJH1>Q zo*H<6lg?IUbO>S&clZiEl{s4>=9HeOC(y8oNd#%|r$31v|MaH-<Y$;H-bwQ+f8dCp zqiv>Iw-AG-Co7oGf=Dxj3FQ(6E{N#e?hs5;bI<S-r|2}{Z@jY^Yz&9&()pYPnd#-x zdXg*Shvd!}b{y&x3u6W>ayi+9v6w81eADHLN2ZBjKoq}W-Q>-JKa1iyK*-i0p0L2} zvQr?e)#vvVR}vRRbo%9stbwZZe@V@+F~5}a41LakhyO$`P`zB{4q<JR9JdGhc-S)% z**562)*s(>&UYRu{`qCT;55Xln8UGqh&EZ5FFT|s*eBzh=mdsK5gP35*<vA%M!XFa z*GpvCoCKUnv89wO1*FdFMV*j4t|AAFRXpQShtt&sp||QVDF0I*bPg+4e`i4>!LDQ3 zp#!Vj(gRq)m+9=XXK)a0yXupP^c$%TG-nQsDM~Kot^z|5528-pA2p6Owg6pTSC`Py zdcE##hzmk5=l_9hrO)|8W0Ec(^D*;jDGnp`J{pq6H|>bypEgD>;Yke_*+n}0+$YSe zz73onAxL_E-Q3&^*vKfEe?Rz-3b_A~m{DTzrnNCEU#HNP0LSA4T`1wVirCFY+2Dt( z?uDi)h316!2Zp~Ipb-lC+5;b8;dAdW3k*+;Jfsk+0>a!1bmt9@>c)ii#n0kT6jCqS zCF+6jt!IW4DwURe6^a8E?7t$0L;CO(T1o_)Z&BLBIW#JgmwGxef7^V_KI1bJM$$;N zG*WVe$QLk`#VK~1v1}#^cuz0hbd0=PZB>kCCGlABOqJ{JX4<=2Lyc|XwKm>?*!g-A znwpU?4$oJ428YyVGP8u=s7{CfpoitOJfEUN^EC_E4_~vZ>jk-ITw<hW<ELnUnWojp zbjm&R<!@11US(&i9(;b0X*JY0Udy$QhL1XaV}I<PIGkr_Nj0S<2~Q`NQoI2oe|vh@ zdJI~<(%6?IW3QJT!I8aO<REOtVKhEDRf-yCFZwk<^^uX3Lw6u@@^eTvN`I7K@FXc= zM{67#5Mb^izhcM}bHlg$EO6NcM~CkuI~5v2CdK3&pR4F-#Z!mG(EXUZeHXK=Jm=QI zNB`sf+g}D1Eg)W4Rx#bf_o1>xD4@0l{S(n`lT}?fQVbEmJymXikT16}(K~Dpu<)(U z0N;_1k8<K1O_v+J0X2X7eD@}y=!nM&Qax<#l)Xs}C7F>y68Cy>)Lsi`m)Y#&J9Z5v z0X}Sws^ceT;~*g62@O&$M#M90#Tnkaxk{mJT_zN*WmBz4WDlh{EE$ulPlWGa+}Iu$ zB3sc3aSF13GMv;;Qy#ZvQt$0Wc2~Xhq&`IvE5j$FD5jrAFEW3I4`9zmse5PSFv$pl zY-5P$D<b2Uz-)?4XjZgOiKc(&;_s)ty2e;wEU>_9sPz1jvcd5OEWRzGs1YUN(%OP- zUS+;YZ&>fB{*u4kWNMqhL@N1!#sfeUcfb-dOkXR_;X+jNW4J!pX3G+H%`d=oD^z=u zm5_XB;wfloj?aHqSqj$&G=kheh{@VE=C)rU+Vh1mlZV5<;NRRja{mC9>>73hhSVE} zVjkgoLYexWqX9Xb4r1})?8K)>$~mMJ^BmGpsHj5Jc~{<4Y%TQ7(G$y|tu0}fzoA(C zQ%A6gR^+3-&_FK0F$!Zi0cIc3{C9i;%o0`+2MSN+t<Qf=+i6p7&$uR2Am9z>70kV& zpq=%U-FIi{w+>9ycEC;gS5+UF=c><=iwM)vNuTA<^Os$f|L_&8jnLp)s3XhfwK>+% z#-j|ewk&w8#?U?4bh{WUiuF9NuJWqFfT)Krj^DpIe*fMHVtwC$Ag!x-Pa_vLRO|DI z^@_o9$FYB--LUko@HJzr^NQHVmoJ?j_i$^udOybB{EEQWLUU%?W+csVP2c3RRf&1C zDJAqxT9N+@Q!fob;GMXERk>~dmEN-dA1d0Z_5{n3=Mj)|G+rp-Ul{PTmy5`@k{Y3m z<H#5XHJVk{6Oqtj)SVaE>gNw{UMFSaD}_QNY5;!~=~|C@{#1$5BL<jZFMRRx^~(=0 z@wP{y0w08X4R4&AqwezU(VtzGWo0KD!4hQFjgk{Dmu6OgbMup$TpHb_^04m|srBb) z{ctZG%y_6*GgRwdNHJW)INcPKmALF5r;j>MQO{mA<Sw$@dvxCpEnXaRR^ZMaaG9^} zl&ydMlY>9$cMxXGhX(*2x|)LP02N%)A*g>VU4s4rQzaxAK~de1aX9?H&|7xUv$~D$ z*lbLAhfRGC*S?Pa@)zvL1^h8-=Deyk3i;R?m5LUZBh9`Xv9Dd)%lL0VF8H^IGycH- zt!M>GSpV#_V;j)}kw2Eb*0fzS))X<bubY2CchENyPz?2zP$sgU_JtC^1w`4Sj;c&- zA^XJB(dbc<NGN3k!E7j6SRa*_0>(y!>CKwsvpOHXO7AB<>}&lT#dpf`sD#@OCBKuE zGE+^2R{OAa_2+&j|5TN=GpI;<&38#O=uylZIN)ov;o!lltHexUXSK{4TZ)TX@w9(B z>W{|7VRbYbYf}M99n<4l*=MiPWlQSW3XW#@>OMem3zd|DH(;d#ASV^rnjOJ#%D`!q zjvvLkG4c3e+#rFChcUnYj~{`sl-#M9a^-5=-yb$M?2it(t=<YcsjiFhDCSyEa@&T_ z`*FHRS65T+fG}OAMYaG~s;t0Z(FcDqNHpo{^OXO742ONv8aQ|2J8i2@!R3y%kaUd^ z?)jef*%<Fzp@gNWHO}dGX5nu3yN*BQ*^ReI9};KK7Ezz!7(=vIJr17;Mh*Y9W)=rJ zJaM2wfO4(Ymzlx2h$}Rwfopp%uH`bzwbsapt<TJ&wBdM5ZA__vz{X4<6k>lQ&4-4L zj5}dG8fwC(2`R!^Mt3UEo-*4UlE!A1WRuy`h0wgr_V&miV{tM&eR>exWyx%E2J+;` zHGNsYW<&eRWEQRY{=-ju34o>c?=^>#1@n)~_&T0Vh7`YF1m^9L^+$>Sx=x01=H0gp zP7ueU3A#N8`B9HQ+}2Tiy_bLFFmyETmD;yG%=ZmNB_HW<6wi{hcOAv@%W!vhE{-CY z6Kl-&z%mxX-Z&I7vqM3|r4a<X`0@p45m<>A@(u&wwA4MV26hxNjx>vxi3&?RPwr3x zK$8x3Xpc`$<)%X&{vzSJw;8PH>}f_zD97hYw9_bFus?^<q|_0R_6~odMjYrtDMN3- z$zp&)BI0z1v!S1#y?;M_@$${vHM0!4Ok}~|-m}M#pFUHF=n7f!d2+Xoukc@=;a?L^ z;_=JDbwQYii>8Zgd5US(fGpr}T0!@y!wgfj9<B`gp*e|Ma7AP==IDFStDt&PJ{=xi zjmxK_;nDf{b6gSKeffXV%TKCPSPJ5)<0=+MDo_O{4_FJhi9s!K*bq(&q{pgv9-Gv` zmXfLrn3hF+i^XBZ8eSO<VPo-(1V*(>7Pq@<*+lvpTx9iMB_#ue_n^0Ef_<xy-}(Y% z*4e9skqo2|7{6w)e(nORq`XAYXydyTh%sW*V$%((uO$W$N*8~g3l|ez+oLI1cPlMa z0!W1XCdMySwt@@QpI+@2E3j2t_;n4d-sfTF8Fa4W>37)y{=-#Zb$V8rX(iB$SSaVP zl=qKHqO(-@b+$7oUE?)&2BMg{^f=(47>t?I%Ef|iT-gPB41_#`k;u-ang!YUISdYx z^9{;3=NMrdP4Iu=3RvOABn-~;TXa(6t!g;d0ZNj|ud?D=sMbKbS(P^^f3v?RH3Tpo zswCn7zk$D{Xs)$pf<MdKiYg`?&C>tjQ43N4rmR6skzJ>Jr>BJmD(VB1n28Ae{tJOy z555}{Lr~z3H2e4&XRp785e%HNwG?@{h5<u4>g2JNNC$sS_Y>xx@jEo8+YSiceOS)E zsw2!WU=Ndb9uYDt7G8ST`aN%;4;*N1c}jAYah$;UP<|+v?HAb{o~n_92WZz(j2P~e zP|)h7V^t%N?TiJ6eoC{)Uje6u?~@-qe$ZMsKnOo52h&acKac}-&X%~L%Z<<(S4r(p zxr|*d%tU{ECfVt$|Gh|0qD}+djkGgCP!}E6MR$Hy^TyW9dzY_9V|VvhhNixn;b_9P z_p^F;R_u{adx=j$jawI2rghJYBK5|dgxILh{e_i^qY7k?#7B^W>e8H!bn8OY(+0&< zWU7QI*4Y*5z0B>S>7G;pIji%79tx(K>c>u%L-$)DF#~d9)-Fhf0;bxIyj@f@(Dr{D z?C9jE=*=KRe!O>oj(YL()wADTf0+J${PJ(pm%n^C{_t<p;}_$QM9u-{Pg5e@_}S~f zJ^Q!!)Av8W{oC}#+c(dSf5DfT#sM%8BMF*4D}-%I46W;Fi*{s0m)XVvH-C3o(cFK` z2VXxV!xk5IcOjF8?~X&p)qgIk<mBOS7(a&p{RRFv+8+*2or{ri+qz2Y*(LdB_QKv3 z2&L@7A)w5Q%iAbaCM#&8@S11Z>@@%t#hGC-kC?6Dy62fGg4>`9WiAjK$5P&j`e*kE zRt>kxfH1S3-)eC$W7x>5b$>kMzDr_vByZr72F16%QC#=A%@NzQ!X}1qQOYo-1ds-3 zz8^3iCvy1l7L<=fe+EV+RgP*Z0px?Ei2M1U>p%DE{(iKVp%)Xu1~(^Qk-aD`5)~?) z#Vg>@EaNm8_DeA_Mx)P){EGJ1@jS_6O}#D5Bel-1lU2W%Tpt2e9e-)vCc|-Kmr0VN zwot2_^{(SGPGjgK63!E{#j6#C{n0514LQ(tgvV%buLvG*Z_L9{r#a6b1}Igw+r|YX z`tk)i^Ca6z60XuzJC~J3x^EwIpe@o*`32_Qi|>#*U{<j%8RnFp;3zZ`_Jm{Q<87bi zrb0Ity@lj$j%v;?Uw?*(Wzum)-5i!RB}&3m)%s7+qvlta-QCbQS9h!&X-4Iie#W}` z*x>b2zu1^|&osjD^s$AvwmG!w&OOb#bedPs#rruw0_)h+RH_k#6fkbrh>=0*j3~3} zNp006(^SUU32^()OUs@E<f(*-YcKQjy2ss+^dc48fsW2Zk$<Z?^c+GZl_zcWDqbaq zvQ9!z=9{~_J5U|f!xidSi)1({p00$pzu4Q0%4Bs?ph2i;c~ZhJou-)T;>(vF7A2`X zw5m1hw?4A8iwL+>E{bkr*?)a1sjh2_W?Y{}ohQ{FiR96)oGNYO+p|!nQG{<7HXdSE zAoBADg9V0RyMN^futT0|85MC^R(yp{Q>idd*m9mq(-2fgYSHNiWbJ=hE-*W<Nccwq zL%E)ke}jW#*299JA3S~p(u~)FLhJ0GulS=sl@pGmoiiP%G*bs|<G}tS6(!Y@%&Y<y zfRZ$s4~&wnp8c(NS$DCG%g_DpFscHfqQMWQjS9tmjDKB2G0WkC!VY#K#ErBjDW*+Z z!v~%7JH3Ob?J39U!dR>d=E~;|b2c@%1}qP-=637cfX)r~Ty+&?56j9&Xw&Vsz3B$3 zX>Tl0(MWP+Tlt#dxv>(nZ)m^#ajyC+R^|6hJ=Pk2)(rsNMm}dObXZ001AC6IPBIz( z2!Ee)$bTFwLY~AnbE6S_&w2tbS=HoV&V^g?-Elp48bthFBru!65-4wGj!F4ZvqsGZ z*Q-VB8mD)#auiU+WO7VY8SarYFO#rHjudI><)bvGIqjmRXvw&+@%7EtQEW}kG|si} zujY)+x;rZ5mCspD$aliu882@7Oe2MGvbxP^N`Kmmd&Z}f=+n#OloIns+G5~3_!SR_ z7qH*U3*lvb46Gu#!&gKN_B*)00VkeQ%`mRhGm=KeVSj|0CXF`$Z%G&3EVrjrSA?FS zA8{~6)8L$0Y%jP90GUm?9Ea1gV6Z-4<g<@qW3Us-HStUN93Au)Z;Q9U`}285jX27@ zWq+}^^~-AZui0n29s8=c_*-6I{*=x>&H)*$_Ko&s9UHS%Fz0wjB-?5c7w*3x^l{6$ zGX8_zy)4jsLW72JudTb5G7+k#1w##>c)vDurz7X46)i>wItD4`4>z$|lohauca&*| zvi7d7jP(~@HF~|o{q*GvT#nq&?2N!JF@FY$xj~FUL=JM3?c~t_MWncd3rhJkGa}qX zlM+p>nA$3X3kBZSYUDtYF_3ac|Ip(sqR)-@S?+jm4Gwr1MPl2wA*{Et7lj<O{LI~u zU))Lz{x5D}e~A%>;w`W$kP1a%yn%0?wn(Wcg>#^*%XF2^*>%S>0~rh+oS_x!RDUzT zH=2rY8O=UXrae9PN7{$$Pw;4H1a%jY%#H3X3y)YuI=72N&~r~Oc2nJ1xFvACECT$1 zaL||GVf&-U^QF_24Hm6w+K1yY_lG+C^PQIWeSfH&2*$$z@!&MT1QWc9@)mPyje*W8 zm<Arp#t6PH$9RI9b%i6Lr+RR??|%vL&zElKMH$_e8c@OuolyqtChAKkpyzK8|3gR> z5RHq?I(63EUT$^=>#HlQTb2Q7Nuz!3vfgxkY1v|1ZK@6_Y`hy+`Ll>+$NbykukI%G z*8NMHg)cgehxJId^h;J2Qk(wn8gKk6c#bAbg++#5_@ZY2JTLO<G9(Gh=zrrCD}a*) zE*|r2g`p=sk2y0sI%O+8yrTLTQuq~Aee%wb)8D_d+q|Z}ybwE`mIOFcdrsMO-)S=v zYEPqx!Pkp68ujTEB8{WA<LjzjSI%zl9<i7CzVBhe6xJ)?xG3wM&cLE*EVAi{WJEvw zFzJ{$N2uI<r^!73gh`b})_)%k3M?syg&-LSxPXCjz8EnO728Az({s24wgV`W*W4e* zfx`Wrc~UqyW;L7GuIdLmJ<m1wWZoRUSvp9hADv`GP<r*r&s?@v-!&1bad%_IJlLM? zzM!)Y)d5EyvJU<ii;SheXsQrd{FbYlH(ueg0s{ky_UkyU8{Ux#V}JNojPKJFlAN!h zjNff`)$r)Z!+jE9<_k9e=nQN`Lf7_MC?oYr1gQ7VLlHjIXsxz~uW@;P4t(TiBIu`0 zeY0X;=k8u>g>bJOfWu@11b{Fd;SSmi8cW<yU%uFCkw^=V7`qLGYm5GEAkWSAQhDFm zAlGAfPkuc&d#dt(0Dq~msk)f);8~F?)3)`(b3DhytD9$H4b6$#sjaEsA>IP)fd!1H z=sBUzmv{f@GmXvuaOhKS`*;S6ZUZpXB?@%dUmt^8Eb_u;94#KubKUzn&hZY%cJfA* z?%eX5Zm^kQG57i5n1pmXhAkXJfq;6uc<yt>7R0K;m^4H&(SJQ4$>nM;{N^(^EY&3C zfj)XCHQIH=^Hb(flf^0if^TKKh%X(@AaE_dRRGwD2ve&j!mjs|OSs9*GfjIK@h`e& z*RB*zR=d0C`m|E6Pn*NXeBgAz!ArLY<dSL;Q5X$`ENoU7=ksyMyqCgtw5cLJJU7&v zlYs`WwW>GPdVg8Wu}+c5SU#&(YawP2l;cO)g5KW|t<xDJCp<kwX%xlt?K)3y&CbPB ze}Ci|1-m~Km0<zZSZD+k{ye?{uD?in^L`OMc=GsBb`UQP9}WkjBPf0I=1njU$MAvu ze);lc9LSHO!3a7uKF0xd7{z%qj8}~wPe{`xvmRK`e}8NbyENHo+JQ)oe9m_;26hP@ zmb<(B4IO_R^|VFIOiaafFQpw;AXa!Ige@Wy&4l{u86^!pp`VcG4EoKPS09helg65- z%yYUohu@v2_)jPz4ILcpJ=*_s9t(atzC(RIu!h&^S+=OgE9o7$jxV3x0z1BAA??QH z8r|@=3V%^=GAXe*E8&)xCiNtJnoUxe#fmwFDbs<K;lC}OE-1Xmt3{cj<2SFmlUKi_ zzre!m?&cL<!w_xJ5i@^XZ#-GP=2XFWlE%|99yIUazl-bzc`rA<?%n%5inV}Dwy6AH z@}%O64tp|>(FTt{C?V>A(ADW;jr@m%8v}NQtbbskvx1gA^VM;`K0Uidf*Qg?k(EKU zws#d{k!vSHSonCT;(;AtjNt5c3D5yO+@*wCe8~cYUwkP4&k|+pkglMlfd5dw%Rq9* z$e~o>*R%*v<BwUkJT891i4w%=E!kJ7Aha>?e(dYG7!UBxjIW4J&xo-BL(4#5CE=4z z2Y)nOJdK#8331?bAg4CKnI(^g#y7^7lJE%zJ<|&S)yV-0Ad(k~!;kxgG6vt|fGJzm z&hZF*%s6tzxwmb<b<@en2GGyN!Z;UuMSmrZ!;&3`fC!|E0V4}}HkNcY+J*W-S@MIj zxsG;fy0g;V-$@jJLv45WiaSRm?oRQkXMY9^cf~@g_eQqUYn*Csuj%Pg%{VV2;YvE7 zgCI#F=Sr~w9f80K+U?6K6l69Y+feHYJ?AgG%Z1{=x%A6vEUF&LY7|%xPTLRzTwIlS zmY_N8;t0c2wcB`O$PYcp7hS5Rs79Gy0{N44(onuAZ`Se72wj;y0sZECVZg03f`8hG z?Ux_*8e6db^#%cg5w;BCX#$XiNX;j3SOGiP8DhW!+nRKhWM&W*4((Ly2{)rv%f=8A zZ%Y*b1ui*SM9i9PNcOS^f)X7+r*VnleYe4jHo<Q>JFRpR*bL~nmXhc-T-w9g0<}ol z|E9nHO@IF@=&xZ4bmwF7chE9_v46XJf^gT3(H9u}ELNWn5P5-GF)-jZ4V646Qlv<f z;+bB-4-9vbjL1uY9WzHc9B1QP9b@*M$+VNK?d(8#m4)R-1xk2+jSAG0lVJ>}C0x%& za3O<rWIk<g&l#F3il_=@slN=w=bY}G{-~?h09v%^MaXl#=@woO?m!=d%YRjNp2++a z>3@Jg#Acr^nXd$Wli?j{*y_Q>r~DreMuXu4jN$r#YyAeZ3I<+f3xo;ZEHASRgCaD( zDy;{?>{Mo?zjH$C>957IfiSur$^d&Jyxtbkz^9$Vfw!3BPV<V}<=NrxoVhg{P6z1% zgg3H7r1%<aEy+)}*{HgkZ-2K1U)xNC7fSW=YFU5oaVSt^qTsN<l+1Tmf_ILWih*G& z+@iw`L|i$o-+?IP_QNgBySO^*J<DF3ZvO$^MWz2U{-EU197y_zKgj34>Q{6f>a*x% zCbrm3NnJT@y!q$F=F||sV2h_V@9sD4rxiR+?!u^<;8dbjvy>CVb$^V>%-W;n#){q= zeRmb=c+H+MdK{=>$bGdD)m}U1-CdU40TIlP0O;b|My^)x65WDWs|i`gyXej5phJ&V zro|Te@@1#iYtt@mK*5kuAi$K0kD-H^7FP$EyR+{J!Dk#WvgW<xw`$fcZH_3CgXRU` zAXuRG63@3ebV?+cgnxH;bZTTEr_8hU8UqH@@SBG)m}jr(ri{Cq(#M5M80n^5&Fwrl z7}g8MP=N)Eyz;8T%Yr_#jjjQA=qBrFo{kkpoB5r-fbmvW7)#p#ZBCzAdfhhYeh2y` zuvkBK9PXBZ(P7jX7P`RiTa5c`broQfEk=HJlYaJ%jNi8$8GoBNvB$SIWN6<5Uz_Mc zlq)r_M!QW(dOYjj$c%l9)>hfUb4!>@bAxQI$Tv!BMYcJcW-iyb@nrdgrD)X)HG3K^ z<3ROJM~Yt2Vz(^8DBellWfw1Rm+HwO;LkR2u?EQ{t1!N*T4dKX276QSD<uHttsB2j znffl46?M!e{D0xe>cy(ev73Y`+AmKr4^>Fap1}L^g?~?Bfz9uXoPhX@ugk0;s}|!U zz<hCmDAhg-6A6bVw})iQF@3b1_@*PPJJjv14tFtb3z1fzi&@V;%b9aNom{I79pOVW z_~^lKC_@KG7Va@STrA!L8^Akh$ao8b1q2OTRA!-}AAe=CQ_h~dbcz3?1=!dr=e%7z zrPXWcRBPtlUNt%xOj6B(ydhw|6>Z-F#bU>JlONQVS>Y_21|D3u%%~yVM4)SsUzjx5 zS@JnFa&_n?&D`JJHea@Kc#u8h!{x0oFMRkT+<>K=v^;#BR&^jZ$QT`ng;^$Dn*yQ9 z*7HT_ynlzZEwTgYM{IP0Qcdfb{eiUy;#uMq`op{9zy9^*JLl-V-=V9pe!mPKGFQ6} zq$duJLtfgzf(OYI_CS^`IqW-;6AQ7u1t~G@i58^)5v9*${q%u~F0wmTLcZyeO7g1< z8A@KO8wQxrSVi@EPG!efgxR!N7$KG1B(FpSXn!91jww*6E3P|XDhyA=I5WY_{pf(B z>z-L&B=k-9TBxFCGVa3gTSA{?o1%Yc<|cZWYJC9=o~b{yQJCJN@B#kk!A*7sh#CCH z@**6=nU%tKxMx0K$eIGKZa+_}dX=SDn2<yf>0WqLmmf2@6788u04eeEl**X>!I<#! z;C~`NpPZ#t_V`i!Zn*gC+ZT(=XaC2upPu3WJ-<o9c87Un11pq``qct0p*xzY>rI+> zgfNQMYwH<iZKG<}4@CKZI7LhW8BM%{ED-Fz>!@<E%0BlWfe_$t#&mvWJM$FqHpAzL z`waK7D9^SYY?&ALYQti{-Va8-Ek)*KW`DRFTb#k&y&W;@?^vt1K;)|z`KRenYN7K2 zbs>G`;=rgz@4_W2x3iJQze$e>@(_qH*bDS-xh~OMUuqKXFK?r0V&rZSzl5)W<_tEp zGR6$o1J>QY0)F1)#hdi@&UIqo-5MRxH-fi6IskzC+W`C^*pE2&?mgwNMA;gyAb+3U zgBbWX1j93Fbv8~+#}-0^SXD$AQ3MC4z^m3`(guZ!EbXIOUki6jwr$&}wJ&F<wruA1 zo_u_%oqM(Sr;@jB=u+own<v}EV%jQ3o0p?gw|33W{WkKbE)68hfepPaadul&?Ihc7 zP5-}5@&A7%C)Xv+Ivz1b?`IY>s(-1@NGrk@5BMhC$#hOkmjz7GmxNPZ?*;r);j_h8 z()z;3Ywg=_>=UH|QeWQ|AMk@HDj28Fin-PqenumE2gqZ5LDgoc@27pt#(Mbl%nDm& zVt}8l%6HB>Z`&r^GB=|eF~b%JaG*a7g7nr0fp>K|8kZ#*$Mz{xVntD{)DmO2OU&AA z2w<VfCw;&8!Ec&;mqFYCBY$#2f4pHI6@P=v6UdJ&@-%P3r>X=A?PcDb;y(d%NQK=o zmls~l<ppA{04P3ET=e^+kX5-qmYiKW^6t`+f0sH>JI!vX#$D9s^Nyi7-eD!>&8{mR zSW8;QhPcuc*84MBTd%Tn3>^ERl(9tU9i8TN-^Q>QzWCY04lUDLZ-3<NVTZP2k?%RQ z*k<=0A1Tt?xZ~I_^7Her1fRO_PoYB>>Eb5+Tw%!FU-PE)ajKVfyzEq~D$-@up`PFk zUAm-w`ktt~Lv=cXUtrLBl@`xTdv}1f(&g{?>*Z}t&J|uooY5_B@Q$qYy1>C3yeU6* zsP1tEmqzh<Pli6Gcz<@ma0eqxvv;_Bopbl?;<(7`4=dmak?>K`z9l@BmWaXqeJ@m( z%rHW8z?X|meta&C#3)cLjDdkwp)vP|CU%4V+^WRx7S4mVZuO?VP9ru07Azy1zeDu& zqDi)>vOD1es?G1|D0?VFU_;pi`a@g!^19YvU(g$rI$Bd!K7Z^ju#!#B%In3P5==8L zyZ9XNWas%mvY@_1ORYJ6M$@?FlQCm{%vCTL3_=l6UBSDzx0azm`0QK{D5xv~fJ|XN zzcS0i9#4wK=IO^f)O?9YxQrto=2w(Hv(EZNetl-u8X7slavJ7$&RT&mdhq3ff2sH< z9^H`lMny423xCJBQ{N9H6oYAY3-ZMrWw@SEmfo6WBKn|1lz-qXR9I(oDv=kO2Auve zI5ar(?rsZGw?Nz<fT&hb-8IHw5|V~(-@H7Tm$Pe%D!}{)c^Ci;b@mB)(4aCR*)z+n zICM2@0cp^dx09e;rZY?dIGluL4)!oFc*2$s*=-%ha(`$H#Rc^$5UqZq_%OZPDx~Nv zuxrssn)B1#2odpMf1-Iia$8}H{ZA<+MDPi{@F!B1it=2G_h5Lg=Ny5*i=*GQ>eHnH zm9&AyF4u};5r$)`OCpU8@*+kH0-G@OAdb>AmY+#L2|QHB6_LeL{sYFYcpWrq(CgHy z4n;=Kc7JzwL{7*P1rb7{{Q}8<!qQ7-NBP*SmL}CvJvJ&Phd`rGw*hwx405=n2- zr{Ara`fAenizMwAGFiyc;;D<@qn_5KL`Sjb){NpF^%r@1AuqnP?`af`7l$qxh#-yn zHw>2#z_>%hY{q`jZR)r}{Pwp7-8bm=p!*PjOMi9(Fr8|f1jTDT2xP7%k=rZjFne~J z%wvP5D9WVl-q-`G`@E3dBUF9{?dcx&Y;Hntk01pBQK6?fYv^#n_mTY0{Ak`=Y8fF{ zuu`_Mdpe7$tPL)=b}xS_koV<Fekf;(CA7JtSZ?uNt<|lKy0uYP%Cj|fqhm61Ca9gE z&VO-54P^XLd)5u|HP3_$g6I}<u`aYC%R&*f|HueDojrxSBt{h3+l&43XwD_kDB^sq z`g5<A^wzJ5L?6H>G__#A_67%kHUJemKm#IVf2u3lxJy?wZ+&tNqp?$r+^GwGxcU3i zDyCF%t!^SQCb}jpSPE5x@~fM?o?Z4laeqzWz~uREn6=y;=1mPr&m8ioc1jC7`$z#% zphp%CbwZU%<>;#nw@C5^FlvLu?yLK<pjdgaJDM>Os{$Lrv&nBqQ{*@N#}I$)$(hb? z^{d<zA1UA0*;4I@cZi%{%c|$)ZLvPY1O9_nT0}UfGT=vQ`1IBpKD)>8NDi?+gnu)< zE)!%*CJ={#<W3lHn8%RE1AyWW?TictW>qoxnFs{J<3JeaQCuYM@iOs9Oa}ArdxR8I zB5SLjvEYmncH(1WYtHo1C%RR>;R=h^fI@ZlhnVtc`Ty(DqMClq?nox&@^zpA@=au1 z{~=^-LC!8w3UaRgc0_pR_%ZKLv48pQ;Lcdrl^ywk5VNEEA(cRDPHK)6)G$11=^faO zyWmlW{>BYcUSZe}cgEWf>0)r)Yk*4|Gj=d3GDWmO%5O*ttH$EoPxEG+=h^nnp@;&l zz*L?uascdIHbaF{mGtB;xb3r(IeJh}^f;BkfcH><;QY5Q<z<bl==Rx;cz^m!d6SqD zB#X|dsYQ=A@O0$U7%|_&8rR0&waJ-+#2p$O7H^ma1CFE?(Nyh9CE`<~{a&wyeMfNX zw`T+M7Yu9cmI#JG8b}iirjiD6*+y5S<Y{eIO@qb;0^Ac+gF;(VKU*=mmQqRT%t(G^ zOt70i_@~q+bN!TQ=z~=Ie}C2oi**j)uut4pYStdsqO&@8!uZWNUg>?`mh`kU#JWt` zvF>uZQL9@I=?2(;`cxMEx!z-cpo=~R{Bpu;W%YZFXZ0K|CKy{*zu=EAJ?Siizj(Q& z(qna&uoyeTrn~Y|EY(s7J`VQVtFY??J{@tt3;eU8C#PB%?(m=LA%9eQIgy{|d%S;~ zgw1A@;i=Puemkc27#=~>yLTgPdOH#9KWA;kTfY9pQnN&%bWc)|z>-k2XbPh>BSK8K z@tbyQPfnytMsVv>>&8snbgOH0i^eT#Bb4?NKkjfuqYGPu3Zh{IyjgR@8@R1`$&?M# zP|*^wCmkM<42`_i?SBYEAsTvcr@|U)81IxaW0E~@!Hw)iKN+4TiT5aQYL3jB>8*Sn zY@nnDMQgm#2~D3uh=EdQDQz{JAkwF~AR4se$Rnwe6Kb(7C|!UowM~xjD_iO(a+7L| z!R^z&K@W!tZiH2-g6|D?dMh<!EkZl$&APyiml)5@04-^9wSTvS{egSd8#hb4g;yhK zTsv8d59a&2)5a8btVaBey|EE1w;Itqdt(zU<qgE?=T?>;+_`w#Ibu--$K-$&PC7~8 zxFAyL#qFs`I)zg!?sRl))q`dO*|mwS!s}FD)8tw88P(}l8m;$I*d`*|7mXq8H6uGh zC=2M=AO&~;VIPas+CcUlHVGkJKxoHbTcc*!?M60MX4k8#TqPp$^q2nR0T}^gml)*% zE`L$HwX(#^+8mu4!~eL6d^XrTwUDCWv$#3YlgHxdEBzQLUiPwobD7r}TsdaU-d^`@ z{1&c@x+^4Gw=v)8lm1P1_A#&f*A=;Tpv@xLA5UQR|L}dS+>dT8-YLid<k_=88;urs z5pg+dc2(Kr*AfT)K9AaVh89Xc>VAf@`+qifqz<kw_8<?vg9v$MyUBQ4;ebuflkRxi z&aSDUe^k`eUn9xRH+tiZJ38$J=(Wf5HI2{9*>x4&0ohV)dg+ZPH?qgYQuF6)bRFCR zZp-PC<#Io`XJ6zGX?SgZeSZ#47}i>lHpu3AO=+eykI~V-%(5q(M)A{nz}y%ee1BW1 zxtj7{*+Ccw_{w@{b*eD?RfttSKV$4M7>u4&L6%k-8+E{R8yG+H;=%)k)*Km@(TJrB zTjoX74EvLBu!ujUE1CO?sA8zovz_{K<DQZ(sIkUjJ?uhGr(?fX{Z1^&U<2FWN4PHc zfjU2CtEzzp*-m=2t%ER8&b?tX$$!01Y2M1)K1;_m=H7MiW#aMXY0F7z&DqW1w#aVn zN<2?pY@y3eUl)cGUussy-e?9~GEm`V?tvFR^;J60udDIFeTbLC&q?gNAv)|2G#AFN zbYS0_y)^l;Z+Dn{n=@%WsHGb7&_IgK1fLAA1QXP%IcJ1kC^@9d5=qa0xPP&-l=biv zhA>lL=v>-UYyi?HLt%bO0SlD0$@V(1L|9GCtZSmxDA=0pl)G{45g!>{<K_r}=JI*) zExOaU35nQ#9^(J1@Y(0SXrEpD$4)|J)`Pe8R;}j3zXwlSy`avoFvhV^K#kezy2q)8 zr$f);J5w1~u*g|&G&tZVzJK*mh!`9Cy&qj@PTA&>dOx~wov>p!NQn!)%$d6NB%}kp zhZxtmAe->!q-%xaq%~bD(zJQPJXA-_V|B*R-_CXj#Q%m9mk?GZ+8Orxj}GS9MHDa+ z7)AlrKu!ujCfil_BHKJxJ-BG)d{PQ^c9SadGsP|~Y0)}S{MQkUPJj3w5=9``*6s{O z$MqcP3pDz1c^mif-y0XUsa;1ZH)SRah1H|Cm1tXPe=Mo};l4%fZb18P>p{T)xm0w1 ze$Jx<qPC5lkxeYKd22N6g>6=qA*_*G8(q6g*iuVwNeZ6KL)jhRJgvK>ymC-Q?T$jf z$8P?BwVglNhiq!>UM{lb3)P)RvR}*6Z+{F)1&twC*tf5(kE3qgHZ1SMd2jIJL5%+! zIjd?ED$M+Mm+I&N8-HdQg9lbUf#Wzp8=rs~=LD9MBSvtD1Gc^6KuGa%pe`0r$`wVC zox#G;fyl5F;;!Eud_v6wjdFr?m8X5Sd(pz?I%|(BVaK45aVE^EH3#gFUw`Ev&43s% ztGN*hLt2#@0Z~d71I3)T2sY7@N`uzI#-@4U4Z9??;B{Mj3V*$E&8-h^2pKDW43Vjh zCH%b&ntb7Su#XS&n+nL|j?5SVU+eF^i|vc|(Xs@BsHvr%Gyu^+e~AnLJdx2>u}{ny z@a`J-Lkk51)|jU-po{%MMO5%H`^*=E2Kd+PGYjETlzqy4&_BnNsPt@PWghUR5^0Wz z;(Od`3XJk>G=KUGkW?ZzN~{-RXmajI?37co^W);<=U1qd@HTG?y3#SuMaQTaHiy_0 z(?iAVpE_-|=>44Ln)AOJ>+c^F<0ZT;7N4zn7(jS$xT>!mR>~Qg7LAcUwEih~D;)@( zDyuW2Q}rtY+-Iv*`q`M=C(~+Q80nszuGedcaLl&C&3~`RT=A23s-exUIQDSUMqwN> z+bF&yT$sntCgw%C<zbH%*;pLaJ%x2=%qTpK@%>6V$-_)nfRAw~b`a1)Ud*%GF(3o> z@=rN=20*otbauG6gJlYE;2#vG9ms2*%~rI5V3UdTuEF(^D#Cxr8x9$QRtpW3`A^4? zk+B}`aeuQ&ub6d~W^TGCt<^A<Z+7o~`g%XwijDQ$gmE5M7|vK2Mr#2ENJyZb0MB8Z zDeGx}r4)VlH&iOhn^1Xhi7Oq^k@7(zi}4;a%GZgfAr7<=1_Rr8Da)5JnKs&y9#YyL zTO%6V7&nI?mpeZX@))UG6&se&sfRODR>B@@{eP@}NyTW^OMz9maNx-xP|UK$i|h>K z`x!>YP~C=_L9pnJTnhE28tV}>Wc6bMB|Wc88UDl`M1E#mWNk#g@HQcMBX2On6D_)~ z?qfR|4w;_==}7m&KXF49vF5^jmE<A1W^kVg-9_StwUIYtxKIsa{KpxZDAk_Z*iBmO z@qZ=ybG;}2hCWK$kFS=FzqQBlx8CUZTPu&>y4mBGe*90XhUVp48}7Ze$FEls!cAge z2W}fa-<C#XPxZx^-p2k_;<b1wpzb#5`wG%q(cs2YZV(TNj~FWk1IP42K`8ouc)`E% z{l$>xqChm|?n~AZFw1%~3I+iho8cvBR)1=N=eNo+*}%bGrh8;;-fyf6?yPyE`)OMH zH)pU`Ntf;TXA{e6y(Z2Us+ga=e;*07T8_H9@1V2eCvA(#!pCe{&yo1*_&_$Yd{`Q( zZ%OI_)6aa6UxX<nJ65!_NnGMQTgP-08K4P0x&boVFaZ#~A9ByDRYOPZdr<dW*MF-t zxk~0qulBe~@?BeLTUpVP*T=*-?S-H)=ckZy2*ox+;>Sbu*-W&-G-p1`^<<-yhFp#= zXm)PQCc=68VF8*>hK&$PX-r%nY=I1zzTh6@g~24>6CQ7g2hkzzT(6h+Grk%m=}pqZ zn!?P~8l{UKFohOL{k@cqEV$)eWPhZ;(j9J;a~@0AF#t)qg0FzRMGfMDC$C0*lAW$2 zmWnqFLhcEyG-K|aBH&z3gP?aOLn0c!2y}y#o^$NlsX4z<_z2GqeJaB!i0c>2JH!-k z@|tDvZ2dx|I2TjO$*UymhX10VUb^h>IS}|fzI^G?p^CI3HWZ-t$YwMc6PNhy0ZR%7 z#!!^9i02WFr<YCc0V;n4<1H{-Y~S`4w%c{o+4TA{?emoPeV*y7Q(o)tX-5P37ke^7 zg40rwwishG+pIR@t`=+UHK)P8mXh5Wpvo5K(u`ZZ{b7{y^?;*;r`M|P%yRwBkrW90 z-6Dr(A{`ljqI~p3zFgv;YhM~x7ufKSM}0m$4NgulcXD-l>PCOOwxDF%U#X2%zy$br z5?;;o@$54Dv?7hOiV-h46H|>UZKvu%3nbmG|G5!`UUHkwBXkNh?IB!4oB7FA|0xZl zu7n8JF=5w;743$Ac0)V21WaCQ`l8=$9h@evS?VDsZ&AuP#wq8?3z*=bC~tt5XrY62 zrk;&G=Z&Uk+BkoHzw7uaj?sqk@#@>E=h27Q-Q`KVe2&Q=kthgIR@E9FCi~e#j6`N1 zTxPX|2iVykj@S*QJ9E^sqcKwZ<5Du~e9)H{ir9^n!=mkZUcDX9(j`bX80dFBVO)*X zPOopLmvGX>`nQ|(^YjX{xoRKJ(_*@SyO;j$^7<+Vf$4v<{;ed|1*_)Nu3&{PoUb}( z7KXI!(H{;>30~j@nQ91N1OE)Lj(|Pz&IfCVnFQY1VGVO$LCcJ>wwi0ufB~$f%{|zF z60$8`d*Ej$EAr3gRq)r*V3g&;ICLN1^wHQR7zRUrsLg?|A~){?Ke^U(Ao8~@lCSjd z19T}1j8cF3e!n4YPRX9g4Ab`x`HtwhpP5h*)%-KZzF1{h!3Up}<>G#Wt6uIqZ%(zH zN0e>vH=yf#cehm*KOeTcrB?Ews#_*McgFu~GWqFSMZ64`H_~AR9bkr-c~o%j7M|`( zli%w}N0lv$nIzN_AszM;njI=2<G`QjR`DI=zH)yIEz3Ly=>v(nA7H4Tsmuh7l?ERa zBwQSH<vsQ0?}JC13mO5Ch}TpX3#aAz^eRj7_J&fEZY3iCS3ROe_B~+VfL&NK_(p)D zDMF-~Ie4q3x3ZdMwopry@$rS|%906NcyV(pISVaVg=H)v7nxrp_+tFbYx5p;Rw0_o z4mW=xK~(I32)$~96;hX$w1}e+Ex0iKPAk#q4ITUoG%&YmZ3%RQbU?m&LWjQVTqO-^ zjH5R&ZBp3JBz!A6l&z?;$cZF+;5N93Omrs3O!jwo5}0FrMqjTx*-W+Xf1H(W5(KSO zeq_P7@Oq0Sc&AnMOuHI27x}|LM+aOBS!sVOe7;JH;0-Xbd!Q4>`&vW_kS!E`LwtEL zrDVdbaP=OW-4|Ol=GWp&0sc?Mn7nFOTbT4ofl^ZiOxqOL>{T>iH^FDn8{yI5vUPbu z#;i=oGP}%X9}#sYCph>ADtyj9S}aR1w-}YtXNNr`Ze8DIn%B3%&(K-NSzh0^PEvmr zcb}ujlCyh~bgl-tSC({5|0K$l3d-ceKBZEBq;&x8=8H@+exyRxmtaC2djWQ5wpZJ- zV-Lgx%sw3YH0{}-g0-|(xx%5VZO1^@>`l-fBnjaVqz4c^=ekr0utwIv{x(9>Q2SUj zw=m*pPP}ynWS92#yyui6DBJ)^b^(7#t(#9%Hl9f$NlShI*rtTeA+S2N;ZV$#2lJMs zku=ovkIl-pakY+M%#6RDv_0~Yrb5KRSr5?ek3G!92Y4Heo27K`Q;Bg`Ao-3Y?<vZQ zN3Er>19mKO@mwGz9>P~)bTk?d4it#i4afuEPTg>q+1=e~1P(6RZN+#imN0+7$b>4g z2ew0;HG%P!V|5)y%~p2ddwG`4T?QS5dt9lE%=x!EU#J1JD{&p4gz6NJLwVB0p?(#P z)%7M0E$KZDrHC1anhbRsVY)p3wau6U*Tx%9rju-kn;&er+460JkCg9$Bj>a1=WMY= z3&4u6gq*{j_G?V9+zxmeEwq0@I%DCiKWG56+(iDO^mdXZZPT%-D(zYuiHw_7bi;r- z(m0Fl-o~jyjQ6_tl}jh+sD0fOwcUw7*@`(rod+Conl*u-PQz4z&P6T)K5Yk1+b?(W zZ-zHp9J>#6;@rI_aB>6Ri9Z==K1s&~Z-Q}`F<lSi@c6dW464}oC-r}6)VAj0$Zv;S z)B?!GpKQ&WCB3hN-(+N)W?>2s?Q=2f!i>xh`n+t(@hj(~81Sa~D1oGXE~*{@UofE0 z%tQTPb8y;NLTWYuW(d1?n$Imr<acQyVnEOf<xK-S8q}9r;fO_+fZQ`a8WNKE;@SMj zSr+H{1%{z0SAX<N=Tf{kF<tk6@-V-;xI;r~{dH-;E}0&O<0Z>%%AZQVn?2rtvi}6W zR@Y}&dF?h3?&6O|%UkhkwPc>Le85M_r=0#af{S4Ul=TVIWuKall|E|@eiQzLH$+&~ zu+@t$$EfKH@6wk}SDWwn$akKx)dX_D7Jki$Q7L$uZtQiD7aynBs|8+vvoBZKd6UXT zugA?L!|B-~Ej~7ZLM;jqx=<UF;x!#-$<aki8E%A*s#VR?73F5<Z2iM+Fgk^;cfnQy zs4}QlvnE9N8{zo()cxhzVqV$)l<J9Ji<ZesScCrE9d<j&=cGp?)g0G;4FuBJ$EVyu zv*LTx@Y3Wh@P}|Q=AUwZTk}HWI$9SCT0_es7ldt5IYX}WS*3Y}cX8$7Y3>bRyc`6w zCSsjDU*sqm$iDcN4%ow?w*%oL4OHNir3;{A?VG0CXB{Kqv4K;*t3(B<Xj-;A32&oo z(z&tesOi%#f%rAk(u12R?>WapH#URYSWbrgvNa!v{I6r9wtDS<GCFE@R$Rvhx=hfV z!QSh2jj@Q@j=6P<rcmQHUg*r|1=x326lmp!vNVirZh){+ZNMfsow4d)zJ%|yI#A1o z4>BC~Cg~=ZQtpInI>baza@=%D&TbVFk&NJ7SBg71Es!b3jZ%+Zi$TUMuhqb728pq} z$<DA*PBExd!){y|H;64(&m%*XvrXmBQq8CA4;N>|%~$$F#FqB~90<RVEF;rJpWc@w z_W>aR@|Q;U0Z)JXkS^i)&g(@+@4&#J;3JYOU*7K<W-r>~)OAFuntAo=da?MdRrK5J zwoL#n`E{t@!*2=oMi@nH5;NHp@e`Zk_P{V~viQ0bR7!{J`J${c8=>^ED@J7x8&OI% z=N*vRaX(;B-)v9lo%!~KJ6I=6i2KSw$h*J&Ynz<8*~EVlNnVP2JscK8ASj`vi4|Ek z;%zHrR+UnS9Mw`Ma2W)hzPNV#Id;yfQ<b(?GvO=V0Jiy{;T$=tZNpsr?F}y2O`9Kd z)!aKLOWeSGPb2SYHKIt{7g_yWZ`d=Hy;0-xZqc{i*zMoo^o||9>J2tXA-n5QL!G6y zw47lztEqp+r(0Sgch?(s630Xmlr93<W!hIX#Wr8RJo^v*_RKh_QSrXaMrL@~eAntW z)$_FY<K<3irZLY~*^G;x%Bp9XWph%9dQ9wPi@@IvnX}6dg7$8infkZ1Mpc7sXOV=> z?qiIE?Y`O=Ny7Y3HbyF|S-!x;4aG(1F}lSk*tdV8N?Ej^|9)mYqVJB@OQiy(&A!J| z?JI4WBz2pUus$EY5WhPJ=`3ifBT&jNUQ+>=DA^BP3X_V9ci0ag8LL?9v#q4dL2@n) z5~g>ogagHYwL(R8I)L@9EUl1tetWr3?eUG4O;lC0&uXC9`<N{?^<|m#s2y$D<VYUF zZE}C)q>_eu4K_JgF3fRMAK%s-r>o%xtoIg18#=d(L+zl5wXKX|pT3G;`?e@Y+4#1I zH8~1hjTupPh|`~<%z7uE0>@2Hgw!8<acts<KD&g*r(BJ&a{n`Xz5#mCMb-&^ZNPC( zvoN`%BVslUix0ADeY*@TYmX@)Txg9>T<w3KGdyF)>qt{o>m1*=I|yRiGEsKv>ByRn z>WK}$xhqRd*r)+lJ#-R?F#z$hyGRVu?Pb20_h;#9erIM>LO*(~bc_zaefn)x9J=9u z2@2o}%+=xrMarnc#(1ZGxsL+grudwNzbqL_!bREU$TbIk2(i<1k)fBVlsUEFf7yTW z>NfSAsrNcw*-G5&faRafpp))n4%LwYLrl|)LM!Yf>q!_esLJd+hJQ4=vkueq5@X3@ zNUM`mG8obygXJE~li?(Pnhq9OaZz7R^1VIAA<HCVTedn$Px8~#Nx8dQ4VKr{Wv`6Z zoZ2ffTmNxRqsM8S$7Q@qc1D;R9S(obj1P7=jP9x=I~krrDUZDaXvi;$-W_yoa1ae* zHI1>`NSkD|X7PiH#6CAU)?SoXAolhsxW%fM0wU6<0=7vCh`?0t0AG3<7r^z~d&wi< z0XRnrDYss)j_msL&qaEb&z>_{W!a)vJk{yIyX)fc&D(b``^Ue$dfRtTf5LzK8=%=^ zAlVN<Y%r5SUH-NNnth&D7+*!*&sQ-Kuw>xtXxu9k5$^?dMk^puTvE`0=eTuucS{~; zjDGgCqV`9p%alb8#;kvC{>s)^D%|zoOen?uL1h}b$H?_aXt%f=B}XWi=?ounm>cRm zU44|ksJtjzD|c_YHdAJ!iI#u7?vcMA<$fo78rT`k?(}pG`;U~J4Ra0F0??DC1n(YD zCR4153XwlV3eFpCKW6IjotUAV6Tbn$O?$@7VxB&bWxlA`ZrpWU;ocCITB_bZaUFY; z+ItJW?9z?FnP;Bo^L31~x<||sPh1og*LVYQleJZUiEq%`koGJsKBa%v9nXzATa{IH zndU3C%B(^_mRN{t`h(6yda|Tbk^T~9DXamap8d5ox{aBb$R>+2^T1;!VkRE>YpSKe z$Lm2>P)O#h5@SVSbSt=dzri0AT0Exj*Gu{JH#mpu@_Kej0T%J|2mD0=CV2^_n-||P z#5>BcvPW0P%nLC;d{2KwjRQ_Xxp`l60DB?9flQ9an$lWDa)94l{V(H;TXv?V<O7#V zH-JlsFh-EA)Cg9X$!2&v^@hJ(aIeI~j;jxsE8xEiyzKQF%izdlV*r)SFpe-1*n3hu zqPm~fw*nENHO`^G<Dqfy9>Kj^t=vBW_-_TV+qZL_EfW#w7<PYqQ)J5tTw>|x|9o0f zRLd`4<d?&QecCGrw3}7Yzd>a<`m_&N7rsDMw#m7VL0Onf$9wLxj$_%pPp#P#jCV?L zY249Cw!f`$R>ycUzDVm7E5)OD6b(R#N+%)&H}%)MTa8Jkynz3VPUAE9&;BXiEJY39 zs~>z$Y9kgOeiDBQaJbE`F3!fPE_R2J<Uf1jU9&+F<CngyZR;Ov>nP&$v0t%{412ks zv(LS7e=Z`v&R6NpUopWMMKGi|`|`JAAO+aWK;X_9CW!)sii0n4uTE$jc8__F2NO3l ziaGIdx>=@xwc`RQfW80~M=@VY(V13<XGk4Uyi;SnS)6~t*C2qTD>)Giqg%#U8F?V1 zAD|}q9>N0k_74s)(ry$w6$YcndKLJ$uhPSPR%zH=<<S#S1$%0!^!Slp$qUaD1x{0) zkuxa+LFf5mK?{*oZUJq1hOG=^+IB<jkShC7n@ULWe<K9Osy8_BR2;TdWFz{jjEowi zmZ|3(rrv)|^Ri$n{y+FJGCMy9(Ac}6_wI5=il_pZeazSlxn9M3!+3CWnb#T16VPfd zr|0@p^@70xOXvraTWf>d`R^Js&)|ZHrGFu)WyO-H3;GO3kB4zEjDq2x;(#E;Y>KRW z^!RZc><|9}|AO5TpzlJowuDUUX2;VuQuej`%yEBTn<GBcD#Qi`lF3j|;vg`Pj%6C+ z19KIyR9lIlX<44&O^<2=DyA%{qCI!5`u=d}4S~7sGqDEiR<FY^sog!EhuMH%`#!9J z{ZDxyR<sb3IfZ%64EW7534c=cw0A_+x_`j$!9d~K9avSc?9Q}DT)U1LyT}B{`*tfR zwtasF#9Q^aQTjyc%WQR3US;G7vLQmz6-Y<qgRv<-k*cW7@#<zgh_Wr`uWh?_1pJMd z5>IWVrVa;2*1suNbIft<UBsJD%|MH?E<jtmp1RRxOum-CGM^23x8FyDMt=1NhA3iM zX+3o{1Pb7QT%~;$)!ZQdSmS#dLSvodvA=&~$;IN^&-@QX6|q`(pV`q@ymzw$`VX*l zRBUVGlQ*lY+In}lH#OEeHYmTLjzMVtIvd~5cXwsD4yt*??yg=?%@+ZU8kj^?H(M_% zYGIQ9r^c!}HPsEAo;}lRE0HwS^gq<I3jC#B@1{TEAN|uGev^m%^NhtVP!IWcBh-JP z=|V@i>Ajy_cTYN-b}FVH8yqk;4*t_9wtIA-?TJgTT@am4{7yY&3Z2cTyhXLUJKRY? z$lKjeFWNP0NKS$eLiDZ_8e$SfD%LVA7~AhFjTJO3ZL(HiRU04tIb+(&V1aeXEEXD$ ze-CwNmu4e>09>6XIjq?)y)1%z`VfCMe|FRf+Vk@+;I5<bH=MhgFU~(wobhWX{taPN z+l#G{b;|!&08!iY491G}#z3^ST$p7AGe>kDHdE*P_#_{!;C_Aq|2sQn1{zXKF;J18 zb07PU`SQ7{6LB{3sm!?(K6Sv6nd}UCPA0B{6S+A60FheHo>@;KGHwkUz(Rk_#-1^` z*4Bbl>EH01$QPIR0<Y_O!{;JU`!@vFfo$X+J>4`LC1%F$Y*L~*D$6T*Uf|`w@3COs z<TO4j=h+k^@}{+u1eaepv5F>alX)$^KF>+i29V)*<9)>JpSx)<VX`RDJ2`0$hiYN< z$>MDMR^a5ww@IH<UcD~4-R*xNt71DexAghi)1%(uYfpFbrf?5&UPHz=v-v0L`9u7R z#43CJvC$63S{P4KM~#<V7Yx!nM8a73VMt1n@l;-S>1<P1jUqUPG!d^wVx<%6E~6|+ z+@QvcjG{G<`FS!+>MvjJ)|1)&<D;-SWbv#co1jEeQ{3*~+!?r2hMRu@0nn!jwnX!G zEUHg1EESz(r$%0gbcUAtJjnQZ@Tpu}UuCY5+~jK&s3@_r&Zmp)Q?>}yP_pAksM3>` z7K5t1Ud=MjV?{{wA5};dv@;nUNc#{&g=IF@ElNg>Ay~etyE6B7Q2q}-Z--Xn`z40E zN2bWvjq}B~=jVC=3$}k<nGNr+qJ__Eg9?A5L3-3n90+gC4<L2CEv(<?=bMc4H>GtK zCU=+R&98tC)Rl8%sY*ZqRPhGsnSYP;!_V&s499&R(~0Hfb!B7WSNYvIZ~3f5DJ4?f z+8shp$C}FV%<_V<VKS?mpmpt1(twdbzO(Z*;;aBxVZ-(dee-|e3QOAY<OV0P6^?wj z^Mq1ClS5Dwz5Y(k8NpUI#Ttc8RAWw-HDM0p5;Y9QK3?!T<8>~kMrJtD+l6n>H~8wy z$v|4}m@vGM`K+Y1j<13PC361jt9t<Y+wwkO{<drd@;4tMkx)1B43j>((Z!Cr@b9yF z+cnoZ^AZtRgqeRk9dX3!(2nFti@N#RH{rX{2mj=RAw*NWSzc^<xeyVp^JHUC3C@25 z=XeTa%Dbiw$;?mQ)46KzN4<<8NEuTKTS@Ie)+uLE;?evGGr==)M>DnbJ;!Mi4$M9q z+&HPuef&77;a59yQZN66hdTeFefaRcSJxn7r}J#C)(d}696EUEcxe(@0!&J3UPh6r zK!3*?#*^>^oEAY{1{L7rqe+tL!V0b4WL1@3h^L{C*=NRdpoARPUX>VvfUIbJ_tA#K z4PjK_yx<p1dAqEDTU_%D>EF2SNhEIyg$3ZTiaqYh5Py@KB5laV@L4&ncw2xi&Z3$F za1k9hTta_iZLfIWW86sZ)Ifpn@V<tpA4Nrtpa>FA;Z$phCuW@|9cv<zHdZwx&5gCC zthKQwlheCZYas@Q33Qx0KPflX)(?YDKr~jet_Mx^*748J-cR4Wd~y72`u@YS4=>-3 zPr@Z5_%IHaNC|WJ<GT1*plEg4qM1O|f~K1QJSJfwiib)o5%VIxqY^oiUB!YvVec(i zVuLH6>xANi=a{!QMFIlDpELb<(XZ43Fxtq8Q7x~gyyg`aa@8rVkXey^<K_BJO6cus zH{0-ZWww;Ni&{UrS8JRNHGi^Yb7L1Kmsth^BNL4F?}dB5<Jk;```a#{&Is5%hL?{9 z0wE4X0O23&*Pd+^!YGSRLYKY<0vQ3vm)HgZFc@}dl2^oFsAEhFY|L5HwHcttm4?Ti zdc2n)2Lc;^nfW$8yl=q10g9AryHGI(<K%u`Tole?yaj~v`9afXwmw0qQ~F3g&yLlj zz3fk%1?}${T)O9Vr!{hZtq+sJI&}q2ri_?mH+ZIWX^RRw8w5jYHZV=j36mY;@#D)E z#thr?Bxp1NoABun{&m=?HuwG|e}^vhPqGcME~u)18$%zX=OdL*Sp^K9jtk5y95 z<NBC5qJ(b*O*Df3Em>*2ql;Dcpr&7&=8W_GK<M5kTo_c1{#LF&qVpIZ1|8_LcxPyJ zZTjSSJI5*;yPuP{pl1M9&tXu#N)Qe+52^>tGRJ#4juwgIQ%7Ld>cHgz4M*A;xu;@e zUIZI|37wgdyh2S6a4;j%9XiJx4v*>wAS#cClg7oaGEDBFpPS=~a<*8?2xIWkLpn1* zW}ly{gb!Tj&?DOt`qNo8L~NoxKvF1TVE|DLV9fYh`1M2QRj-O*L#)sh4IS=5e4f-# zuZ6>X%^dFOI&pncpQ;Q|(+ZBG2re-6ojcfn%iE0m_=!9hD5HZJ%@x0NQ@N(f;VZAc zBq8^N{C*(xM1%8kc3t(NjnBCif6lG$|D0<oXfmMZZqK@`!aw&xw>8m&9#kx?(>^p^ zeHLn4sjF>#Uj!-&4_~KM9X!+HkLl`nW(nSqW&v7GSsZxj9{=^)GmhkM78kL)F8;ZH zE4En$%*CO%D_~!}RgS^#UZ6rC03d7r!+9&d_X0nymTAHD$Rgf7{vF|>Q5l-ZtTK$k z^C|1s`BfHRFb(`e7|LLMgi18zCNV~%!xr+vW~7`@Bl`*ETTJ*RaO(6P^qh%y&ERcA z$Ja%tL<(yCH-ra%M-`1!1sc6<X#Adk)zn){v7B}63%`WHe`(nbQ)3c38Q76_&7c9c z?1fK2bwhi?ABng=%#Kb%I+8;eJv<$s(0?gZR(QIOH3IjCrK-r3|0rY=4&V~Np$<aU znh@F6l==9p6%$^`Vij07OgG&j*f6s%Lvu)eNfFzu?wW7ln#H}@Cd?IP#}TQ2jD`=> zznniZELjeprt-jnnj$yPWnC|;@q-7KC2$3d5LBTJ%pflxT(If)>G?OCKOm6c!vi;6 z4~x<h92Zr+x+dgQEJ4p#>@$IZE(eCBc-ZP`mHkrI{-DsNWj(7rEwJ{NFZaTPv6ve( zvCuQ)H@6dn*^{HP8?=HJf55GOoRW}CQ^WS?-Xw`l>Mf!&Z5w^5cA_ttA(s>a>Nu}{ zXW{ZOtV}fSRZb`-^aj^LF7>ou1KB!(>qg{TsvQku;?JN~QMrmZPwv)nnw%&%kE0&S zw5ylt?6PNLu83C{yo>Hm162MA(bkE;RiB7UbboXjO}NlC<CfPMpVgFqZ36sIGv^PO zaFL(`H(Z@O49$~5Hq1@B2dRCP?Ccb~yTyj&v+?R^1!7W=ALS>jQ#O7bjqyhUH;i#A zJ^^Y0D*XzRM}w<$>4ESL$AOhaApm-+PqFPCT27CP7^MyRGlj)wA5Tuz*AuAB?!kb- z0{%6z1M)B<U?7XSTz&3;;}{#ZoAESRRa*9IvKK~zwW1>t4?xb&zmtH+9;28h5O0C4 z#dwK1p8H-fS&f|Dk{h3EhZIrcZLz>uOIp+=hEh*vBkZ-IjTuLe%~{0JQy7Q?0W`(b zW7EfvG*OJNr{T^{Uda79%)YfxG=LTo{&+6U|M@_?kPRkQ#y47jT%iAk@UNf;cG`X^ z?nx9oS+*vsf=GcM#g{MqubewzOj3611fEYPHukyB7FC9=!c|5FvkX-7q!P_kpPAd! zJ8ISg@aYSRN5^87dppA@POU6QBH{|xWRYC>UE69pvNJTsax_PAk|)JUc8Y-JySq5I zK~diHqJGW;UCf_<KF%HqH<X-(j3M-akid4-1K3D;IS(hORY>=e@Q5wORNdIay^Mtu zTqWiu{n;|_g@1kdA&gTyrIRKK_Oe((hKube@o^65nL>Ldn&@Be#5t(CV4GqE(l}wp zlmm%e*bECelaAlNWxKH#?S)4`a8u+wFr(Zo6k}q<!!KWddibBlxmuWe5bkZ5eeRt! zjUgu;#rPW-=epM^S3;gH$_qo1WS?4GTUdp=b2#q%c#g4bmMq@H!^fK0HPt(zE8UzT zJSMXgIC6T*Gh(LKb-6a#G8}TNy1EmIHOAtyIr&GQbXnukM5XX#gSjzGEhBY|6gV-V zUH=QIg92DWk034PK~Hu12qR{|rqfHf75V{2mWb{QEbtto!->i&s$0aviqCrZG3W=6 zVc=*Yr*@v-W^-j(J`v$$CuEF1oUE7c4FXUBGnYUP0u~|qA~oey9XjM2M0~5ya#Xr{ zM#{kiy^=v7mU6%lt$Ed7mv;^VECD{3qz(coe<*Cv4xp`?Z#0uitjPbdZ$UTb*L2(T z<{7HN=Px8L;PH^n;kgB(z2P>E__NzY8Z`PgaD(lZ2hpC!Jr96p5-r8>ng&t}rs}FC zb8yvYlQwO*7YGwXQ$AcbMZf!gpa_1zAbPo=JC}IkV;`krgK=xGO5><K;4)m;LS>U7 ze+b#H9N~ei>%kSju)pLY`6&~VHOmqYm71Xmm32p{ObR@d)<K)*S`5@uunHr?cBG|y z1ymrUHM{oiZi#^r5;utTi??r{9slxv`nTf`KTm&oJN^0i{fD>j{!Ko<wXZ=LZOEwx zGWkyJdVnihMGeNJ<(XBlX-CJ5^bO)oe<^m<*0a4geBn38JHjYR%u+l%GIJ=zOJ6c) z=|c~<U?$PVO+$?~Mal+b%|OH`udYCn+fvk3VXTcb?JO$*7c;pOI;0S5P({Qm8=CSa zwXq^%uLtO%X}BLgdgA1Sr@&`=8v0c>hpzDTIluaVu9Y-*q1a9Tg8yukZT}kyf3S`V z3wxE*J|f;jH-a~X>>?l8lCpr!E-fc>!tPa0x?LyGw=WmCzn$d^@AhhD|8^g*YTFYJ zw#!ST2x?9*d3V6Ns_R9K8>&bde(`%i#S#%V)!>VmXvhoY<6!Xr{9pgK9~O|cO+TO= z9iV4$9mT(caz=>~=Y!z4f@H?Je+<sA7Z_U-dic+45ZDLid)xg5yQZDKNxu79$$%rz z>eXE27Ox5xD!Q$Xz-+UrJe+E*n`2zS^K`Z`-}-yENl$|%4ovt>dDd;KJv8J+j@qU2 zqR7qHI2k2dmL-&6l%it3r_HCei|xvTvS3bzZsu+YwhTLBLNB9~2u#Wke|+tdJK8cJ z1;u;|P~-$B)UXK-k$BQFzd?FNHahm;!;L)`^Y&?u{L>sxc&>MCZj2jn6|1$;V;?px z%;~UBnsc+GemLdHQF)kcIKz=uU?wJ}&#L1(+B9_rp#m#c*;i^~UNNQ_jw}3EmgM{^ zS!++Sr@5RdH;Ky7Buacdf5}cULo(v!sMt&N?<d34K`nXXxN0k%m?R`9r-~Ud)eQ4{ zg+WOCbwKU<7W(0fX6>k+2XEA8&y;g*j-XJg*$d||Myu=x_}>vpx-=5xUp&O_Wk;>u zs?m>Jk#?L5G0~7;@Ap)ffXq{5urzC~pyhdiNaqjZ6oXHBc9Uf6e<~Bj#aecg>GlX_ zv+O8*5bo7`_;0x1;oocfWV&80`Y1c!^Q~#^e?BSD91|`EmADraA|LXvI8OktGCtsY z9{>G2PE;$$-$!(<sGO_aPLdSPM?#nV@rYl!=+%!dl0ET-`8|a{mseTvOuU?jBCOt` zoDugJphRAzR~ZkLf0kbqFa(-JzsQ)KFB|HpwG`<_jEmx9FN&Q0en~$ascV$+9q$xl zvT${$Q};|9#|B0tcY;}a1I$WLE(tkoc}407H?%(ST?ga64VW0lTU@e?0CgrM@vHw} z$q31*#|cVQ!;OTt-yY<;5EbdC{DPAF@#ct@w64?HrD?Jte;)4qC`($(^kaw9oSXVX zH02hm{+?isAB5`u?@})3HGWK*cD@RA6G3XL3<Ta;CaDd!xR<D6e9NOpM|S2nfitMC z&#HRW8%2X^xyb7tK+g|y{|fYSO!<(Xj85^fu>A!|^PxujCF52-7(6&b|BR`Yvq$-{ zdkrv!xuvSsf3Ggn6$Svt3Y8P=h~={Smvp&YeD3x8%vP|kECi#8UB;qGXy4gb?4Evo zcA2Gfr;zLxosVMDk<<h*MZtZbVV7<ea7mjyjlpt196ZKLw+Aq)6uHR<IZWv16k1o~ zKEDl1Ej=*|xW&o-=uT>-0#rZMU)l<KZe%uf#An$hf6!TpmIT5`=U1$A45dHuvQzzF zH!gjyW(V1FpG*~UM)eiX)7&X%lrMF(exoI(FFXk8okz=C%wJio2prrI2pTe;5$d_9 zvA<`eB+&2tc4F!6ZoJJH*dS==)+EM6t(&9QC`72TaiVY1BE85~XhOtT5C{g`P7b-` zyqsO5f6`iGOsldkXC+)oFt%E{z%A^ri6zLwpyp`*$H5T(8MW7p*kl-%z4ztt7Y$iD z(BTCL_B9JHr`H((60dS#y_mgp(Q0+G-f(E?XcqPsSTf<<w_FLA59S6lpqBxU*#~vS z5s$Vb?}5b=eb9hzgM1*~A>rnj4-|@$ogH$Mf6}2P`;lLDSjmPYl92=zc^mS4ZsqqC z&XWY%8MV^!TJ^ZFab2|4!9V~_rM4T*J+PUpn~;H2IcV?h8hYVIf_x(YE<8wPv6F>0 zMxvm=4xU{gz1HPxJQ0~uqw>nZbNIZx4Wq;U=t%w=hqKESockfHm}xfh>)ZEeH^R2# zf8esdS{$I;n??lVIzC&KH!v{9w6$QxrP4`YXi$Kh3C17iUOgfdwD_$+znEQ3(WwcJ z`FtKmN8ztzFpJ&{*UJFL4Rk02<ZNj8JP6H=7_71jkZo4%$9b9qmmP#~n=LBXVodjq z_D#7Vv*<fHz7rlu=yPOFaD)?VBeOq{e~_Hr=_4KaPG_(5i<hroet5ZQtvxGT>)Q$k z9sdfnlvf$*E6T;E%mau`7l1Z^q_%8W%{2*0rG*xtG+u!1L5A$MQsFCF=s<yr_V_>_ z)J<R<YXi(^z3HW=%IDcxx<$swjvhYjn|SfSP##?J?294$r0FsOXNr`l^uEBtGH0^q zpc`pMWSb*R%-lWl#RM&+CjG0bkF2E6#5IaYIT1;P+=8p}AMV$)5`8TAyV7Wv?iK<l zBBCX1_4R8PM{5=J%1-_?Tw5~dog=P~MS4)~w7Q-+()3uDI2QsRBJU4}k%VKkp4gKd z5P6D0?;7XR3Pwx+0Xe780;}7NPWVxmc^3jOCDedl2w`x44UsolK$?A`9aG6*w8P*@ z=RC*q2B&R2cAY~5fj*bc7XmW@UzY+H0w{l6BJ{JygRj^P_>QcQ1M{h@XI<mDR1j`> z$TGtVx5)<<OkI3G3AoA*Oxa~d-wQ{~!S!k}#e>a?q3D?%Z{ST)-7rPogh)+!h`LjC zj03k=8n(?<OhNXu!%AhhIla@viglaK>+&LadtJ9oLl2+0DOj<s4KV#x8EXj-&Fw*m z2;nuH@TFQjO*3UU<4NHmN~wV%rmCR!jn{t1xRq+kI7nzYVN66?pf>h+*cg4XW&Zkn z1P=`lUtkmkR7wONm+BY-WPg0%KNTR_mu~|LzIveBEzox#=nGxOT(IbAgn@KSe{yKp zkM4ln*N<Gg$ZWD*p;Ph_<G@%p!s__U=9YIFJN4}b>}=v+pRHEuXV++i4(m!<@wTZA zHI-PC=jjxa!pxbQC}p7KFC*957vtgFfWi~=B@=N|*j&*4?<xf;GJl3M=Bz9~j`w5! z$TEJoj!Vs9Q+G?OBiD5k^TDCf01?9OZpob*F=Wv?ic1!X#SK?d5=i{|IYs>>UX+VC zO={nF0ZqBPn;sP>cH7f_abmYS9hXP_(KtOCjWY(_)0+JkKl4wA;?oH3M*yx)9b?y) zljZ8^h59=12Qhca;sQ~`mrfc27k@onQj8|W?(R-GiE5~|Oi@PUX3rbi#YMl5ZMj=M zPL3$0S7Oi}Dc6qu!T3l`F<X>XM&dw7v3g`5#;o%5UM2!nIif5T3!z4H^dpPiKnr&S z!U@PGy|$M)Zmf_g+t;m^MrCWk(c0$DL2lQu7+&vvyp|ZM7ItV`dKTN?qJP!(L)iUk z789QOS}9fanf<wbM-=TIDl*$)-jA;-mql3~mH)iXR-Xg<cM@tgw84`f(TFx=MSzPM zu2~hzSB$?h!OHGPMJ!L@P-djdEMDnDh{`X3hjpQOV!gu8ztGnnD~y9VWy5*TPKt>8 zKLKy3FenR8b2^ldR{iQGXMg@pc_j{pH|bJ)*6L^Ti<WB4n~IGVFmO>mSD>ofq<6)5 zQ;ytadXZIhvBge2m&Y8g4d>}%fmeP0nUc>E%KBW1xiT-7_MK9csq{^v{U@f+Cs7hk z*K|Q1Xccp5;xbr=nFVO-L<|Ez8Ve$x__W^DVCE$FOS(C)Z#lZzw|^i@S^_O>yrRf0 z#T5@%*y8cgFOKL-X?oE(Qpt0zs_T5Eccgjq=*Ze+EBivPETo@xyx{gAFgM0R(Kwx* z9wLZ28mo~qC3X%NQRO*)((8~ZALC21(tG^&JAIOo9_1%9Yt{h6k^TzUPcKs4S`Z@w zO6E5(Z4i4h?w<hIIe#hGDjf;WBO;aoPWT1=Dc<t50|im6<k&m>$)3()YvLZyC*D7y zOANrzKz%LvVZUimdj9dyLBk|@uYM@}FTC9L2Ctr<vg0DJ-&7ZxHKxYB^`Lfz5w*2Y z5r1{s_r`41C!_g)=``(aXJF5?p!7#TJH!Vk+r`_^O&<)$-+!H__|L@FS&zTV=>H~M z=V>UM$KMV2pFDXnnlvb+F+S0=zr1=h={J6-ghzJiPY+)nym}6$^c-Oop40zL%%o=H z?_Rz7%ah@7(){G$s^kxb(Zu)kG5&6Ug#SRHQt|4=Kknl{IBRZ9Vw9fE@t=wHL^57o zoTa^C9I*c%jDPkciEP7sq|cw;L74ie(Dj$I>|jHE@pGFd>8hbVOD@y@Sd?ep2Oa+4 z;H%D<U-w4Kyx5{P^U&F%fm%Ynjfd`>mS`dc2ccX+@57g9L*DQ1o5rhGuVfWGGa9R0 zlqD_@+Q}W@wws?ldi3x|Rd5EUEh~An|K#BOktzXNhJQ1QiiYQZnIAk+MW3_90>ld{ zJAZWch;0zD1EAF-EP4F+?Ci1H`ZUrbHd1<Uu4tlMA<Jb&=jZ8<`;RC7SDEn;$Xk{1 zJ)#O9KAAK<p+M=uBb(W%vL`=Ep3yL-D0Byvg}y<5ba;_`<Qfb$!#wx7nnjt^Zcr$r zVen$FFMpzC?5G(oo|W^@Blcp;bgkUJ@NVm;Rn<kTzyEIN$Md?aUWt+G>W|4F#&U8d zhO&2}p0`d7Pe}56yc~IFOx4ly61NVELs}g|$7ngxPnS9Gd|Z@u??kNVX%zb#aNTgX zMtYuEyK0w*R?7xp;~WMz>54o>?lYH;jrBP-HGeVYX0jaZ@v`aW;58hs%e1OH8Vyt3 z=51kGPMFTA?N98~v9lH8?;h^sKhdPA1+R8K!ha&&^Ow2s=G=653~~<q)}M+4ibZo) z-l9~6AEmtn|9Y8%JUJc)`%w1)-?IZQ0^mP`{m0V60#*Fi)p%d}439_qPMDhsw|L+L zDSwSdw5+VgC)AM#gNIej`56AKr*LhqB$?vG>5#R;h5I*jBt~oIwld$QM>P%V*V78N zJ}r9>$aq-+QAKwaLXdaxD(894?L(qF-Md*X(9puBG$j~{F7$QBTTi6y7}{q#Y?!6K zW$5`5Hw9%&3lHzeZBF{{b~C)*aRR~P^?!QevBzec&S#5#yef;gaBGHrB(1THn>=9h zxTs6tWu9Guw2Sw&EMBqd>e{WI^PZt;l{Y*FSt+bz5$U?QB3n|t%wIFRL0?9&huOn* z%xts#*}#hOd0Nb}#oOZTb&WSiQe-#1W<d34*LC>{<CQnRcxajdwQI6s4oCs4e1DLi zUKWUyi>wZ~K1xON5=-(E(E4DC9Jv?%JFoTca8C>7*>aW5@L?qmuB$Bgcjg)oWd#hL z&O?4-W}n$8(^*;|_;mHQa-Ikz9u9?99{;eDB%=qzmS>z)^hgvJ>%{bIH2VCkC`fCK zW|QRb{p?ek1EuE+*gnEt(73LK6@M*Km?Vhc@;ty$a#_NhNwYNzc~9>O_-v9zl)plY zaUVuU9`yb2;W7(2F@FxiANK0KA241Le9J%KlRpMYxJfHCJ4Ex<!4J`x2EbX8;^U+~ zO)?B>xlQlb8<0jmhyEsVMM&cU#OCJtU`w-(9ZIp2ql+gMp1fmsH{>jdrGM=auwV)x z;X%o0fhlpO=XsG=m+#1S_bn9&C5}-<D?6t^dsEilqdmce7f&LJ9#kd>++fcrbcj_& zL@YFE$RORL9!_>g%rX-widm|Q*v_bwa(WZq$1ME-GE^~`z6%758U$LP6SX9<u_w@- zFq4Sy38-86=rOSCfr-EYJAdJ560nlw(SXmK)0MU+9s&Vr2{m`<zSaxvgDF%Uu$61+ zfT^n*`mnjTL4Mpjj?v}^MuwT~D%K|c>4ql#EAByJ#Ia`ITEY(!ymvAlpdC$wivQo% zuBEq$AO`=HbcL#ox=F=>LmL8uUZ@0IT8RTfC`wX@D6`N+NL8uCuYci(@k{Vy?D4#k z@HjQy^*nYS_IPZ6=4_;V$iyW;@NW16Z_iyn;*~jKX8>gWqd9VaBAXY)LL9dP)#j~% zh<2CUqO2A&!*KIw@RltZ1DKu7cz|);{K$Ry_2XwiI3b)6kXFmt=L96gH~c48^u^)c z<y&By-;FM&r0N||9Dl$%XjU$xP2>?8a1pZkI`lFX<OX*tbUXL4N3bb0qSKh8T&#&T zzNCIbryAY@)5`M<(BM58{Ju&=CYc5))m|GJ5FeeKpaC&1gu7bfQ7a8rE}<*bt*st$ zo|cuO(gS7-dvqdyn8z$X7}LxduEV#981y2ia*X=*_ER-h=zliayCfeZtiRl85h|Bf znquWj|FCQu8^67G+BOq-#GKHH?q+#4LJt$zU_}G8e<wb7hWyFn(k9KA<+@~DEtT8} zp!sUHaw%wL!IX#oPI1(@L^%p#d!r=cx*!y<#g#!RtbInP&~9-dfg4(t`6R8*Mv*8b zJ1z*#OYdD;Fn>Yk-xe{^EyHzC8!t{xPMUB!+jHggFwGQsgT4XbsSn3Nm{2m~Dp07} z{0YOugE(j9I%=>Z*EXM5+NWj-eTrqoc5zX%U`-R1(uKfF5cu9J=lSjV0*!AYL@61q zKP|798<-w)<8iSAkFTA8_ge=Wc8eLg=}_@jS0CW|^naxiuxcb%HZ*nZl-zZK2xgRz zEc5hPS|LFr%CjnZx-mH`vC(|D+Q9kSVmCcAvs;0ma9!?$_Jnk8zG#f(6e^1^Vluhl ze6nu@!HAHnolUT5)@xKl7eeD$Pe5E7I5i&#m?Y+j^!33{M7PGxa6T^t=D8fND11u- zti;+D<A2h<08ZOB1bDleAAeq~M$J(ue$-H4UDLTPtG--Z>D`cw%jt|KLx>T;qG?dD zTUcXa*iIgMjpD%Nh>yf+=(R<AdN7W}gx8J&U{ji2!mMc5>3IlayLnQ0QS+?u@7QMo zky)*sTHIzjgK5F#Qp6Hpb1Bi=rt3`xR2OIR#D8~~{Vfk$<g^+yn-&fgMRLxQ6&wBg z)=<7focd`6oRj>qQH5^n<%gKqLX(SvR@fgNn)go|Ow_zwfWR6wNA2wUck^-xOV8#b z-BSAMs#@F+(Lg|m`Xi7(Fmx0{yBeqGBI3O{fP8^a0yH;0)i+qD4S~+9VWqgdTHX#E zzJF@xbtM=~eGXLO@c^L4V@(bdMfP{F-pBnHjspcn{o`f-Y3ZKov(r1lbF#RwXFiA) zmQBYU09Gf^x_s!O=v?>-%bMU;hP<WvX@0C;mlCvSKAJnbgYF}cvxzGJ%}@k!)Aiim z`k&f+xJP@7)mlq5u*EoO!^Dr)i)U{xLVv_N?Nbn~t>K1l-+l@6i2IaoS*UI{1sdwc zyxfg5Vm*J=3E^5hJ2A&jl=-i{-SP*Q+8lNjf^^Wk88G{K8@zI}lg6p-9A*m<*LDs^ z&p$v_SrQr1uC}jy^-~6U()Q&9A2sW09%MU*J!kY|R5pQ|3d&UQ{u0$-SJM;z{(pM2 z!wI`iB9w=;hoUxyuhO0n?XYVQo~l-akgT-CH-hyFBe0QAFnY^>8o*e>Y7g-7{V-)+ z_}8OEg;6bPzfN`WIHEq63(}$w&>tH2@jiARU*I`^IUoR+3*RH<%o78E6&B$n`QI+e z$>!$vE_u(Zl>rFg6YgEO94{lL>m{iX2Hf6AXH6=4S#cA#<wD8j0J>bDRte|8C%*x8 K02S8(#|Qw12(U5$ delta 28798 zcmV(=K-s^f%LvoT2nQdF2ncKe41ou=2LZyde?jzDAau0~Xn`~-TP`<gO5^gQOFMSC zuC1!xxoRB_OhOXc6u==MOKzFx?APpv?U!ss<of{-lwG}Z=kC;Wm56*rMn*<PM#dvj zfbsAL%H-;MWzIY$k@x$U1C=nG6yoIR&<oaO{>yeR*gu9x<5KunLA2D5;x0Y$`hLi& zf2?LKH)2wCTYp^cu1NH`3v@Aj#DDRNvg)6`X#9e?8#Gw8%?n4Iv5&~LlFr;H7L>}V z&{ymHT&re|EQ(uZ#O&<gkhP)a0Bmep*ew|v(8Dh3fJ$`W_V<8NUWE5;6KOoZuOkqe zC|s2{B%_m2M)W;Y!0QZOp`xq<c~pIGe<800)+;7=-UXIEU=-kgoP}pqeqDA!!}Zce z!h;8-14K8vtiCMg?5p0kV*gD7xLKqo@8?BuLrLKXz;e9G-L1t`wQ}{8<s25WWUPbl z7;S#9J466}BwX4kYI2OVts}Vow7nYXeQsm1A?!1F5_+^P$<sy9YOBe<iK`kqe}8zB z54(9MREW}n70Y+ujpT{h7Ycv=3MXzPMnDxk*5#7ktn{w6BC_Gu%ET}t2(38>EsU|2 zr9eE5;d9l&<3H-*d9|XT|D+PV!-W_?{ba_xloK;kG-@?Kio3{0*Q-TDPy6}o0ez_+ z;DS!|HJ^UC=r4;4BOW=kPZ+__f9$WuSmow3pa7ZAy@%&yk91T5NBaB`A<is)6`wp& z$Uf{dWVA-kRf#lYf{ptv@pvno6MYhR`ns0ObcXtCSkp28do+~u&Z{1r31U{Fe4tG? zU1B$WYav$VizD2K2YVq`7avj{Ye;+FRW4y1q*xg>JrTB4THN4A;-}^gf1zzK4IOU8 z>4VC}2A{M8Ee4kWF5{pl=#yOC#rju+y1y?UkZD$f;1N=qi0*l(ZQL%Yj?x*@gs=hI zm{sHtuU@@c3rmB_!>n5Dl(n@O%UJxl#7)%AOWO!st(Sr-aO^%fQXV~0jxPB3+N~&v z*<&^!h{|oHf@S*J%V@;Se;o*CM-k~62vudE7Z6)tJ8`$Mdthj36Z8eyMD2|*Ym@J| zPaTBB>(jjWlvg>%JH4Yn@&#g%9gS+z9w!Lh!0$)eUm_%m^pSMp0u$e22IcHej~yJ} zqZ^IQwI;NiH#)JlIjVkGnQp39z+xUFq4@$U@=6#%TgBZ<#JD0ae+`whlg|#HLuHyi z19f70OD#F49Z}e_LZMyA&BS~@Dk`L{qNf1=o`hHPe6+;dkTM~>OpEy<J5d)UG_>X9 z;!FX{nRd)Siz-{3^Bi?5{IV8-Rslq_Y6rCXm@j+c{%Av`J39Nc#0Zqw3SymDb-MKF zW~mGVqICnbE}(MZe~1V}4!FeEFXpBDc;?{Dno#F<+fB>tuJi1yWhltoeB%;GP5IVv z{!D)6Uf>>Vq?CDCSG`YYk^pxjyXUvdtat+g<T2U>-iJ`Pcc}8-p*mT&{vOWgT5J>9 znTl+(bm@(c^u9(rBmYRv6smP8V^NwRP_jk#DRsV!xGDY=f4gYTOW};%pd;*c?-y&# zNlRHD!|;k=NH$7b)7hjHww>0o!0+hGe1`h=ad{MFlX*G2#(Qm_fy;wmN8$0Czl3p; z^~(aiR3`Q$zGLD(kE5iH`eVGJO+vi2g?lCD)1^Mh?PVf+E3Ov{_+G7M82T@x-)n7_ zTAM8g=JA`1f2_gcViqPlGKwPWgk@6TbB^x?DUVv2UuAH-P4oHg?rf2zs}uGivWwjY z6AXCAYipCuM8v916ZZ5-Kqd#-!<d6!@{qink*D7Ck0LV;A+bpc)Y(vg6FEi(1sfx3 zq2^==fN`k(HKLfq>x=<NA@rK#IMwVJiV{RxP8I>rf8KxSP~`{5*}+Ti-c?72WojTz z>kWz2XI;;(gwlq-W`_^jwKF@Xqik;iry5-`14-7SF1!6GBrOIr6Ypj(1IVWFTwO>Q zkElfLtV~W)7acvWj5{#8W@utIQ{tM>36i7Z2)i(zn@9E+xc{}pGtoUNTH~42l##pn z6lnrdf9xOy6}_w+F>x0E3`a~<smmoUpD>wWD{U^h)(LdW`+&c~5fbw#{FWZ1O0?<b zldni#d-xIE=yFWA?lyTwv_#JG3Xj`P!hQ&o-EvWT+y1P#C()gDciFZ_<9*0yjJl)o zst_hY*}Z3VIM<{I{wsmap><E07^Y2*$~se=hDVSRwa}-IR~QOq;;l(rd~a*y5<g zH3T%)0kL9#7gqKJ-r=vSg>ddwU&x);si4rh5>bBh>K%;mnTK;zEkxK^JncD3DDI_( zf#>OB@xh2QzDjb~SVxgS>W^ua^`|%Ks)$0~2|4!$=V^{nSi@um#6_skg2}#i5f!O= zfAJ`4t%>+^JL3+wGK?@o@Joy)%4bTO%r1lZ(4-X-j98!jRrVj(vYkR6AKrs2M?{+O z0^~I?6fXB?H!440rHK&KHm%c|Li_^prpx?Ix*XkM&jhNzShetnPT5I~kLj;g<rQ=r zt$0jt*1>6dCgdCWVS;Bw9;L}Dk&*Oee<5KetLmQ#m&8Q1-VHkBjCiGd?@s?V`rCuQ z{qb){f7|_A|8JAO_5PNep*!9*jQ7GRjDc~v@`+A%7>X-D*VZqGO)@z>OLkbnPLxZ- zQv>gB(%Gtv4?)b~4qw5iGG{BqoYE)i2{deC5<wdL@sFa%KmIWQ`57jQchbBHe>mdj zXq&0lEySSdlNHQoL8KYNgmQ@j7ew@KcL-)ubI<Tor|4|L-*{&;*ccAkrSmxpG85(T zdYmichsm8W>?qVH7A6c><Z`kHV=-A2`KHSgk4zK8fGB>$y2+abe-_1afRL?0JZ6F0 zWv4(`tIzK#t|Tss==94MSp!w+f8&~8V}35@8Ty<75C4%~prTyn4q<I4Ic^X1@vvtk zvTe|3tv|l&obNnR{PW9v!D)z9F^6OK5N)z9Uv@}OuusN0(FqKfA~e|9v&BLjjd&X< zu9wKNISDwEVoNDm3P_#Ti+V!txQZMwR`HBS9Zpvlgx;#dp!`pL&^fGFf1L%51iMaT zhYqZAOZQ;`U#7Fm$lxH_cGV{n>o-yzXwDoMQ<PlFT?K|B9z>nGKWZFnWC6Oot}daY z^?Ds`hzmk5=YL1G(&PN0F-ez?`Iz~%6o-*|9}UUkn|8$UPaC6`@T7)|>>{0g?h$5I z-v&;P5G1|7Zf<V+Y-E(oe;@q40`7k#W;8K))7qGouTyACfaCFjE|l<FMeJsyZ1BTX z_d?T@LUY3V9m8Ms(Fg^7?ST)l@VR%G1%@X^9#9BX0by<hy7LA{bz{Q%;%D(E3aOXv z67@j%)-%Hil}by#3MByx_FoahA$@oXEhU1@w<vAm92ynLOFf;Ke{DWypYfRqBWa{s z8YwwK><gI6;uO2hST+*{yr&m$I!4~DwkpQ6l6Wk5rponqGwofip~g1xS{v^`?0h{9 zP0dJ{gy*X~gG1^wnOVYbRHws#(8F?Co=?%C`I?37hp*Yy^@7|pE-})x@l&+FOw;OP zI^~}E^0z20ud)xT9(;b0X*JY0Udy$QhL1Xa6MyWUB%EhxNj0S<3D3rtQoI2oe<QtX zJqE2_Y2-_iu@_}WaAYqRIS5-x7>`cRl%mGji+;^dePkr%&>e`J{2Wq^(i=`Nc#@Q` z<28;A2rze%Uoqr~x#8P=7P#z!qr-Qaoe2#glVWm?&sBW1;;BOt=zhfAzKdB_o^$Kq zqyP5)?a%#+77#BitAy_1`%qaTC{Wvi{)y<e$*L|KDTWB(o+>v$$d}ug=pD8PSol_F zfbYo1M>%nhPL~_K0X2VneD_X5(Giamq<YxeDSML|N-`sZB<}U%sJ#}>F0<LkckCKU z0({sURmV@x#z8>B6B?vijEHC0N;156bCp8dx{N7W%cfef$R0{@STZJ8p9<f>q_I6N zM7E+6;tXW}$zWVRO?ljwalN+}+g(NJX?=zwR)$YTaY8?hUSxj^AHbfCQuoftVUiI9 z*~SphS474yf!P$9(5z^mCYt`8i@%@p>KbE#vA_baq0;k9$_B?Du=uu!<3^N-OKS_V zd6oGpy<xqh`b++Dlc{Y26RG3`jR$}z?tmp^n7&q;!-c5k$8deH&6XwZnxBE`R;czQ zD<S#N#8c4F9G`!!vJ|clXau=`kdU=)!fn4owC4*GCJ%>y#=p6B<o*FH*){A245>E? z#XQ3Gm@@S}M+0&=9mL|p*@;h&lygWc<~gLHP*H`b^RB$9*jnhDBNEG@tu0}fzoA(C zQ%A6gR^+2mXdoBh7={U)0JD#1{yRDaW(li^1BGYu*5`kw?X)R3GOo!K2zbMJ1#_<` zXlFfT_uX0gtpgLa9dP5`Rn-ILx$3dxBEocZ+++Fk{AE|=KYRsiBQ&@c>d3NrZH_gx z@hC&AEejs2F?3Hh-7dz8Vm;5RtGuc(AnM_Z<M(fl-@kW)Sl>4wNb4%z)5wJl)%rYQ zy<%|OaqNF+H!Qs?e9hSEydw7T<x8i>J=|KZ-jDG&zasFp(43jJ8I$I?rf>4us>Hn6 zloI+Tt;m0dsh9d7@Q&TUs@%5!N^jZwyNY(IJ;8G1c?9GfjTcJz7Y00yauL~9QX`ac z92w)FMzhKy5eY3p-FcC%emZ&cdQvvNQYb{C22g*IuJxGbPn9S=Vt^S&;ft5AU!J_g z+a84qd=Tz6ym4-hy34mmZ+2Ohm7Qz^OORPNN>037nppwP%};7_X?&N;!@g6b)}NmB z!o9RV<Dp*7P_26*#c&OibW>1P;<CS=KI%M0J$u!VyU23y(S19#cyY{GfjfJ^Wxl#o zw)%fh4*sa$L6|Wg9sqdgY6`9cRB%a$px&)?3Hk?2m5^WrMRh~Q;qd=LZ`na)bsOKY z*_iMSn))8BeI5Pz&)AU*_+!${c~xr^^07546)i4DnteH9U%RxI@!x=4@NW@k{DJ*j z(F&BX{@H2AHlhb2e=K{gX}e~uDPm?%H-mrfpl>9g80ssbOk_Xp3nhLFh_Z(rRhigA z_KByX(W4}hP|5~^*-*5w9x5*djExA>n>EL0bv}HR-cNei*ZMh%@08_H3AZ0gekUts zrkV(?_F?Vn&%I3ksVZw{P%(*`?~-WHqnJ5xz}INQ!Gl#-6ElUK)iP^rDK2Wo)9Qby zHyjm*)zNUIO$8)%Opj}2pS?<#EvaWKIGW+B`vAo)R8k7wfRze>oK#?Ib_ByI1E*0s zdX(tK#G{8vg9J7jB>eh6dIZAK<W9wuD_5i5{-Cj8Z+O6M^;XbHbzO{x3D<g(+ctdO zPtrxYx|(tagy}LZvIW3WWd#O{K1hE+qDfbur~LP0IP52_fpf>c)3)jqT<%y4N!J+R zp6_X&jq$z}N?4j&<D7nD7Vc)h>*Q0O-FS=iA#nz65%n34F+_V6ari_qYWS};vn0^r zNdgT5lxwxV%nZ&&QlU8wT-$STEtgrYwMIs4eP$M=4aZw*V@d@CHf92$5F>wSJ~VV} z+zFH6Kod4iND<C5zEgqrl-cHhG&ZwIHl96Q2+hlEZ;uQz7N@hbrw8#}Hkpk-fIRte zO<xwU+0ednGK<%I|KX>-34o>c?=^>#1@lkJ<T{y+2Nb_w1m=y%`lG~uT~7u{=H0gp zP7uf9F}ghm`BB6lZtFO?-kX2qFmybMO6}Vo=KF@Cl8<yaOlFfbx{ee1Ww5(D7e^7y zi8W?>V3`PEZxo7{*`Xlf(g=cGeE9;j2&}{ld4~aTTI!xw13QWtN17$ei3&?RpWLAY zfF>R6&>o$h$xVkk{KbUp-e$0(v!@v?p&Xwp(az#z!Tub?<5EXJ8XbScjX2PQQik4u zlSLneM8xS1XG1?dd;fm=;^mvSYi1d8Igtf_ea{|0e*8=!qAO&@=aaj2a)tl;4F4K? z5|3Z@uM5IFTr^!|%Tr9N24n$;(+avr9cGxK^>Ag_56wyBf-53}F-PBnsDkQ~^6B8{ zYE(WQ4vx-8pOcE{?#q9dC_k;vU@3^Fj;cf)sX!H+JYX&0CI+>{VM91AkRGe(JTa+* zEhSayGcAkwmWacOHM}w!!p7nm35;r&EN*wzvWfIHxX9|iNJ<6@kD#}BjD4$+-}(Y% z*4e9skqo2|7{6w)e(nORq`Zlu(Z+Wx5M#uq#ikonUrP)ilrDcf7cM5cwntO2?p9i; z1ds^%O^jcvYy}spKfT&5R$!~P@aq~@y~o4MGw58$(?4Vf_zzcs)#-=IOe=w2#6mfT zrM!Ps5`9Q@UuQdm(luUVXCR8HOOFE%iouvUtz0bV#+6;5$3Vz47>Vp$s#%bopTpoF zIp3gsbB+<V(FA`Vu7DL@Ov2zizeOiC-l~RU9iSwc{3<K1g=!6?n^k#(@;Cd7QbPda zp-LhS@EiDBiso8tCit_wt*Bzc(JcKR9<?9^V9FZA6xnskcY0cAprRfyiJ6Gd@4pbZ z_29cPF$4wfNVAWharXLa7{S0PTT79LYZx$;qfQ=MiFAL^bU$J48NWeey6u4A-Gk-q zsXD?81NJa^=Mf>ZV&SESt>5zo`oMwKmZv0V8OI5nlk%iowqIm-c&bJY9-v)EF=Dt= zLP4vSj#Z67wlfwO`YFvGe+8TtzMFjS@q^a70Ydm*Ihbzh|A8E!bGF0{U2cTVxJqh& z%4O_wVJ3g-Gs#Y0{qID25_KBrZls+Fg1YFiF1quxnm4v)-n)D?8oRs4GBowo3`Y~T zy`R;)vto~Y+Dm*2YTUZGGOc@F6sb4vNr;Vl++SF!II2MQNPGl2s4mUvNVhITkv1r% zB2y(yvCghY?`3WuP4}b<$XT5q^iVL>R6lmA9J*T%i5ZX+vvxr;6fo6x<n5xOfwuq4 zU`HoMMQ;Wn^5ebxbJUBMub%z-`egds@yowXU;cb@eDZJ8;}@flM9x0vPg5e@<k{=L zKKr-#)Av8U{p<9_+c(dSf5w-Y#sM%8B?+26D}-%I46W;Fi*{s4m)XVvH-9%-(cFK` z2VXxV!xk5IcOfSY-yMgHtN&P3lhcQTLGl>>_h<OuaDOm3b1p{4ZR;wnXP4xk8HLdm z2&L@7A)w5Q%iB0qCM#&8@S11Zj2eK7lgzM~N6gl6-Sf;8!EI25G8c%AV=3=M{j>W7 ztA<-;K$uzNw_4oG7&fwMoqr6t?~>RZlQ(clgW}t0nAAOPbHp~Su!-SYlrl^y0i*$% z@A{0#i5z~s1?3~rpMg<Hm7|(U0Qq22B)$Ak^`D};w;%6i=*2{^!OaO+WE3aGM1@Lc z@d`LJ%Osr)dZm~cqtRzYentE1cs|J!O}#D5Bel-1C#zmDzCHx1I)Bo-oeV~eT}~!B zY74c>S#+J0Nt!?>v2dP{EnclC?2k@CXvl%CBRocfdqwbgdt)AsI?Z|hFhHrY-8L>D z@s}^inaA1AWWrUNYUi@DSoiH?4zxx3DZjwnd&wO#2h1wgCBvN36C8zR!k%!Xe7x<m z+*Ii1qPLK|%~8$y<$ucnu}nIyxSPYWrbL<WRJHyS^r-pOWp_6;&ea_&N19Q&rJs?m zJ~nv0)Gs!s-7}3aJbi58t!)mix^qvnE}iDpbMb!8kH9)HHI-@vAq9-uHDY8?IwQ)g zBB`w!XPU}5I|Xjvd1={mfIO8jaqVS(UPs&wNiR~d9q8zsD1UNQhn_>Ir1GS#UL~uE zp{$e8llkWE?haH(^>Bqc)?zXk7f)A0+h6SM#pPsmTA)FwXn9(~FP)~C>f+0n2#Y4E zJhZAc>$g6#w2KJ1R4$5c6WM=#CaJD#i)LJ(#hoYB8;a!7uAC}u<J+@Prg4mK7d9Re zS0M8927?8Lp?_%|<G21eM2n(3E8?S2`(3QE&%J}e=nv;9{$qZJQ(*LmjQ(%z%N{uT z!(ji(lNUoQWCZDyKYaG*SC7WM#_tP?YG{@I`0(YytLIQkYDcT^oc?cY#%x3_<)5Dn z2HHqXkpcB-$75d-;L#uUhxpIfZ&5$`!w>uT56)V|@PE@wKg{tTD*c2RY|JQt0sH^{ za9_olH1c`&$bb|2%!`i-U4Q<N9c-vCes0r5X?d;s6(!&4eJsikZGjbi)tO?md!uDu zY*E`2ytBQ5T0*^zhwhw~cGOQEyis3O)rRalTn#)b&qWocXKtv%-6}u^2D*f8H~;YH z(Ze59!G8z1g0YfE`%ezeAE^?c<*Z;ugY!Sn51y!^&)EV^si^Gy(T7KDgNPjftsY^? z<HsL9JXTwuMta0XN)OHzO_VE?;91f6dHTct<FSlo$#5cr-~xG%8{%9-;ln56reL*D zdhlrMk2wluPkxX*qhU-@=ng6ieS`ks@FE%Tw|}qM2D`?2+`>+KE0UQ!@0YQ4^Rtdg z^>(q|MWVeY+;t0;s+&bWGC~2bwax<b*<|ljJ(-*tZ%q3bVD@t8oiSCX8w6~fl%)kd zBwf^EK|V;V^HEXOk&3SxC;kRJkb1X9x{0-2)l8Y|JJ({zczn|w`WPbx&D`%ZmyV6~ zIe#@ZG3I8noLEtLlV-2sxs+)bk?a=~QTE>Nrs|pWl!=UI()<*kJhce8eex*0EEhoJ zcOt1U1tsU3hJOQW&LS)bdck8L#n`mc)ZWxM_;Wqfs~Y3?eRFi5{Y=kn&4!X2PqP1P zcu*tTbiCmJA!yGv)sl?819p<qd+GzDq<`x(h}}O$vLK^(eDfx%2u4wpQDX%aI2l1j z^L<lW475sy8ryk4G*IRSZLm_<GV?3tNxMl0+}^Z7KisXcKt-d9SYL(4O3VtdT}8_8 z9=~8!u8q|rlHzCGOx|teb6Li)4ydDNMr+k+CW8dx?=udWV{6Y-y=QLBp6^&suz%01 zn!>Pf6_EJu1ZZ&@#9VtQFgt-IP%%F^Cgn%XXCv!huNH~x!qveSKtPd@V-8VexJMx` zm>z<(EeWGZWxB;_PE%(pS~Ap{e0{TZoLEycU07@_uQ_A0?v4r!>2oO;S`ZNx1l61R zOk;&`@=eKTN}63-#-}vVr<choO@B<iZHpU7{}*IlFJQly7a|tPF|dls9m-l7>~|~J z7Nc-ZHN&J%KhT|h6!wPr9;5LF;4SH*n}5@k>WTnu^dkwT=s=S*zorFOlq0iAm!oi6 z77W(si+uJmYzzrT8JT`ApQ9W5;%)I3j!}?zsS!t+w=D6tep$`_HT!J0V}D=u7Jtp_ z%O62boC7jg?HldOIx%LeV9rsKN*+iedg^~d=#!RlWt1elds(3Ogl2!EsI9w}G7-?N z1w##>c)vDurz7X46)i>wItD2+9ydf@lohauca)Ega@()2jP)13r+U4K`{~P<yLIAz zW@iL;iIKX@4Pp#}>Oz<8<bQD=rOl+A494Zt%!mUQk4rR2W{*4BX?ccP%^Eq7WDN8K zqJM}ui|BC|H++d`sKEgb<5+ClHiShRdr`<i|A^cTjLB`O;s25r_BSztHN6E^1(KvF zOg8Y%vljbEloC16)n$q|2a={uW66I1!3Xr!m}+inMpF?~s`-L!dVig9uU))L29E|t z>Jvk&C%U&Tx=G7rdF<*2<)WBP^^h7Z>0M+I;0J_*o(!Vi8$O;dou+KCcumtj9F4fw z@Zq1tEgC)T_6N$<ZZrt!PHi{9G)%mT@~L)ejeyQ7m<Arp#t6PHM|gspb%ndVr+RR? z?@5Himu@g_Rsi@>B7d|4_9%UJY4RoA(X$+h{~@Fbh{na%b*G7=6OjP2`&dui$K0|E zNK3l5-RDlNpxSCvbx8E)-MGr@Q!M+_2kNixj%U{WOPhr+hMb4>NVfEIRu=Nj`Q0_% zNL7eAO_~ae3}e-Zn!WS9$g9hcBrKzkSF8X|7Pxr8WgY`Gdw)zGW^{DQR(cR(^)aL% zW%xkIJ3~%?|ITjnn)>oW>~vZZ;Oud5%BK5Hn~``NG>RB}QM}RgU8fLfLcAScSM9oT zc6;}Tz0CK0glWZCuYhCJW$6qojz=QroJiUC{rBUJ>E(pd$ak8UDt-Y9EGdVDAn6OZ zfPr$p7&8zR+kZp|({s24wgV_ryxkwhzQX;Tc~UqyW;L7GuIdLmJ<l~=HE#~zEG-(+ zk4`cob&LAsXD(Z(YiS}<<L<_ac}QB@$xmk=ssoNZWF7o37C%zA`%!@;`7Kv9Z@j`~ z1%}TP?bk_KH&|N{#?Yb)t+*(02VX;(<-+W$!8C^l#eXKiOgk_B(HYpt7ozR8P{y;B z2vAl+ha$+f(OPW}U*q!p9QepjM9@#0`ewzx&fUG%3gKQm0Ed$e5CFn-gga<6Xl&ws z`trqAi^N(G;lynq96<GNeR*!Sm&*Ij2Du)CVDsy_*;AGO14xZc)y0el&x%}`wk-<J z@f;JjDSw`cH8dw`r?##k!y&K-7FMYu-FTfZ@BYza8k_yWz?Tls$1_+AIDnxpQJ};A zdKdy~kry`OXo(Xt*JFevIo{#ePTr`}om<gG8Z1j$W*UAtPC_~z!xoOAKtR1+GWP{6 z5yYy3eKo}T(&Ge>WAa=?m&x4VjpLMu!-`I8w10j~=4Z_9G)q$a1>eeKkz6{OLG<@$ z00FRL5zJjpgkA5)mvEDrXPWjf=3jKpu3ae}!zMuo;Yv9OZw|6{!s&p6mu?a6EY;$M zF&YS2aLF*q=cADM_=f9vQ$;e*YN$6SGe%x(Rd1~IvY2C?Vj?5nwcFG(tJxes$`)j$ zhJR?C&KNo2=^;wvIGJzPd3tMhE)3#&L(eGK{h_D~3#i6IQ`zvR(G_t0#Uz^diul2k z$B(juWO4X#a0F#<-n<Fs;Rt@>ua_@hCV~7kgszN_NkCo2Nj@3)+^<E_1oV7o)^!W| zkL`h;PBxl8B06KAb2^NHT|$TD?k=}6!+#$~k+yu9iKC>BQrcSu;)6Fr*kW>Fm{4Dl zQPR*8`q7Hcpx>N%z4OR*X(C=v4-WPo?f)rH1iu{Jp*|kA{_FHZwx~vx^pRgDm(Om2 z-QKaluA_2|&gfeuYB8CRSb~*sPERNGIDMLpQ-F2FT%(l%-O7k!BAzBF$knSwnSWyV z6JB*EuYOK{2K4Xl<`rJE5IOM?a{^g!JUPDR)WE39hCc)zB=6zBi|hr(@MwI!yZ3pM zXkiI$QTRXQNyHZ&c3z&KB|1Mb5OqM#>h!Qi{#}A@0z1MDztA`Q*T=a0^z0VNW&q1U z*67vR-aCxZt(|C?;p2gdeR+WK@PD)0C0zbs)$h0s$mlc#v|gN)|8I#Ba!40RQlp=g z?=p~oF-kU7_$4jEv*crzEsu*I@mfg`r?(X2MFm_>fP-US$Hl0RFJBz*I@Kax`V1|7 zft3lLY}%*k;+eu+Xo;JqeL1y0&TR5%V0>fTXA(Za0H1mRpn7rummkH~#D5XSV<0eQ z-4tv<wyK>&4!D(ZaEjAw+kWe&^NkIlpKgV5x<y5AB@VR`4>dpoQbnH;g*@S)%qh~3 zyONH(<{H}B=gvnD@<K;B98DPNgM|P=texRg%?udoiX{$-hIVL&B-MgDq-RGp<E%LS zxeT+in$#pRuGBWyQ3qSS-G7Q2gte>9hi`@A%IO)1qMhYBaiCoK<t!FE7G*689}8z@ zh+&+rN<1sj>0@z(K^WUTnJ}=G9?Fs~MN?FROfP}(Nyca>Uz9iNWM_y0J3L`)ulB-# zTUP|N5y3V;iW*z6{`Cd{f)Tb1;%Neqg-FMza2Nq2*%@G19@}SPHGj#>P+=U}sn!#2 zL#vjJAtc_GDgX*xQna|wHQS2pWe&t0I$q9_5`)-pgBNXr-*R?Z=_arl&`B-j$!oZD zhqDE0fwKQgfB%>M{!h?f!xZSw#-hxj|Jh=9_Y~o-8)FPH_*q0+A0YA?v|?buZ5S$f zPNZ0oC`IjtCYKo0Ykx8%Up#iq9OZDFjdFF2*?T6_PO`SM1LaYcd;%39;rTTxKu=Ex z37nR2$r{473f7T%ZofTeXsRe~IFzOSG7yh*x;gq|i(dn1@un9Y&-JBS5Lvk6d<-sE z+4)3fX-fYNq7a*Xx?~=K^i2jareUiG7oYNfJQ(%|4=_^s1Anfy>(43}c$F;>CVX?e z%rXr9)A%a1?sFSb<$-bM1d!EVdu0Q0aUIAovLcA=7CA4bos(X)*v3xtO1He#ZF=pw zH5=vz=>mi|vLmD@Qfw_L8imhj*M3iFvkkW3YnzGiwX9xVE$hz_hXO?=3W5G}$s$xp z@Xql%(boZK(|^GRB6_OUZ(kI0``?!4T>^UOJ<DF3ZubG+HD#0!{DH>Y0!aFZKPa+H z)vM?t)MGI?O>D6{lDbmbc=OMT&8Z<u&lXQ*-raB7KPz~ef?}ZNfm4ZA%~C$VogY(n zw#S4|6umV@s8FcmH6vs6Bv8XpkcLK7d+m^ScUcM}M1L?p0-%d;o1a0wD|AcMpeAG) z-=fdDgAP3=rxro)%a@&6uT8tO0R;m>fdEq~HU<u6S^|>G4AnhPpjqR9ku~ofrChU4 zY4eJZ95gQg2f+fhlX$+(p;IEkNqBchr$z>H$~;@IF)U6Ezj>gZdG?BK%DAg3Nou%+ zk#5S>+<(sIhQTXg3>7{n5Y9Dbg_i~MxH(gdnt(fWQ_?k0$4VB#qAR?B@m5!uF~R_C zPM=v4`8Mc&1NtSfSU+~QiI#yeEP^vEbb;Tu828!gD!?XNjQs2-{p=eVzi&A*HgPg+ zY;B0pz6ZWGos%e6YFv$Wn^Mtv*1wS%`xdROvVVi;mSE222H9MZZ<N-GY;!ivT&{8B z$?^$H(JB{eMj9@YK=n>XieAxTw=9h|-bvnN7cXy@>PaEsk1ues2FWF>Fp9WZWY@I? zds9)GB>?8F8^2GP`Yw?bb<9rq^O4nyRheUV5~gT>JjHB_Au)Rb@5>kdJ%t4}zcX?I z;(s%~F0+EHQjCuP^Th?CRQoJU92}b59+EA`^wIXjHyv5sp>A(=xQlUHhP3)z%p&_N zXCY|l<XUAIXCX90Y?Fs&VzF?K+2CUFo;iO;A>%C!77#RWQJIB>ew4{hIeYHXCH{{V zU}LA8^LFi&R<ET~t(kXw)#xBFPPH&84S#82tei3yC>A@$n|!~%%nE1GH1OcMWyZ$p zCIVf9{KBNc&XSMesCy4*W3p#_xV#nSfe(Lx8?cm<mWQv?st)7^8KJMLFsr0%Qy?_i zdR9c8_mH+lb|76=jZRRiX+5(~SbHFzC0?OV-W~ttFE8IYNALX(U4`}g<*^dvZGQmi ziT37@mo~8AK|t@4EJqFGy6#9$ERn<(q{Or*S}K}Hlq8z<(*r8H$nIDPc}Ghs$*(SC z!W6A;7*wm77Q6B}l^tWzuPf#h%JU#l3a`8pc@B7hSEfLruDI@msW3coQOz`J_oD-j zu6yP(lh8NaYoUso$*2p%Zwc^~ZGVb!r5TOr$r$tnFnFf^&_==NkHQD|p9eSD2S7~! z@5_sD1ZP$X-{GG5fFWxNxVrs3t?E^lUSZlTMWlP-QC)t_;7YV-rn;TYvZ|U=8M7}K z5ndi#<mclLX_Y;Gl)M`({_^(4;_})5^X$iG_<zrDCSe=RGd92iim-4i9e+*D^(M_b zLKrpcwe>vewo$a}$Dw>UoFb-xRH0vtK^6#hQ^cW1gF!>H?qO|=X80U&pW(X3^)VWC z4AkSa@dO0w45Qwb;?FZP+Knwfz}>waG3!6DR&RmGS1<BU(}C1N=LPCQddx+EQH|b( zOH^)WLyv!w9+ToB5Mi(v=zraEU81?Z)Fjzo-p29R$WSJJ310!tnQLI>MH{U9th;{& z{JhDFH|g!2>x96&H9DYg1aEJ6008&40r)|%A9L*8d&*ylvNc>mKD`Gq@UIAlXVU6y z9Gi|Qga)yyh%llE4o-nrt;M(v3Kdz)N435d?v`xZwsC7;&Q5LF%zy1Y`S?;h_iFFY zAB}4RXWKm4CKl6HG2Xl!ow~JacJ8;4M|Ei+Sq^OIZHcqnqG~7Ec5C|oZHoW@D>=C? zUDol4k?23OlqgMghFTH6c)&O54yJQrx-4KK+DSO&^<Ka)l_WxZC9N-fyw<+`%05xT zJN5N#ae^O2QNcKUR$I)q&hRrD$vZ$E;|r=bLw!H(W6trzryo{k_#zVn{A5+WZ`OI+ zHsO}J8Qq8(wm^Ub{caGXw>}8GtIN^2EXgdkNBMv&is7XmyIo?|W<vlAO+M-SWel@3 zeV2RM0V5E4N`Jgz9~FOt%M-|tEWZMmuG#?}fA)|2qmWg(KbD+bI`r<+p?{Y;Pdm+S zrN&*<=d+HXG~Qt)<&CZ@9#~6S#)j+(l)U0I+F7r%a}1AuQp#8$^o~yRx^H7x3}2Rr zL5G&<tvA2KphH`+$oCvtY_ofhj}+-`+;Qv|`T6-*f=^xer_iB`ba9h@t}w9tFL_gv ze^k}WI$3tARTb&7>QGPchAv&wK7CJA-l003!7ng1i%R}#CU-r+TIupP{Pps-CbtT& zBF^ZRH+V<ZdR^e)4c?TWI#l<#a!aH5Jdy$aDIQ%g*une>>>Vy&=iL3eI4<(~WCc7S z7CtE2w+T-eDKbrb7lrDQ8OCT1_;QiSe~-_lkr;(zhcPgGI5g(|%*1ZcA6u2!-NJd$ z)~(*u*J;dVz=B<5^LL1zC?02vD!UUtoZ9@J4zq_c(F2r?p+B^hFRyF;^##2-siQUJ zp2glU*B{)<GZvIC3TNf@Vh%@89WXAt_#B|SR*v>JSx{f1rPdrjvtW}=Cu7F^e~_!7 z-|vSaZ-|0-Z*MI_dGOh}9!^kM1n`)`e12h;hY?Tx$>!<DJJfuMN4U(E66RNwB)ZOe zM1DPH)fyU^FLN5^H_lptFe3PJ!M{}e6OT^Fd!wR+a$;cIsPFm`ivBda1^Hr*GF)Vo zrMG68h#u$=<?lEPmAt^5O6-NEe*vez4-O5^yt~_i)GZMAJ0PkRRCkRr7=)x@+xIS? z%*)v|MFn8~f!vKBLzR6(9@MXld@am!D+yiAT0k1K<?T3-LAJ-}3D75N)t^q@yq<)4 z!PAnRWVdyg$e}Tm7SyXiwEB_ayF|HFNYPbb*P@X$=cl<5;^D#mSo3D&f40Jy;f4|? ziQo}>;g6&&73H}Wufgy<&p85r6Gy*m)u&4ZDm4+y(4iG2B8<jVmqZ#H<VAuO1U6yl zK^UdyD?gKf5_qVKD<X@h{0EF(@j7VKpx3EY9m@Za?e6Y~%*Uq+B7{c!1(N@mB~i|f z@{w6Bom5Bl$f!IPv&;+We`y!-4&j@~n3dk5Prh3-_0^>D7n8JC$dp(|i>EGrk0Py0 ziH>5=tr;f~^%r}3A^*L!=V=s=7Kbhwh#-slH%tlxz_>%hY({?2ZR)r}{Pwm6-8bm= zp!*PjOLht{ooSl{#cMr?W3DEV+biiXdv=@56N9EGN~G-G*aNEjf4q?0BUF9{?dcx& zY;Hntk01pBQ6bWtHFUV(`%r#oel+hbwTzG}SSj1sk<MZ&YlF+J9pz62^1gh@59Lg; zgf@4a$Soe#THV^HTN`zyJX=#YIwoUhg4!AC99Psp#t*e;-5_5x_Emu(x`kY<3$4hq zPz3EgG6F|uPvI_!e-T0U_7cB5nsZ4sjyWHz{uI@c-g-5W=mYqKrWWkiUjN`v2B1O* zXh4MQPjw|5cj=1etxv9DG<J%SBXz+KH-BGR#gr<p)lDSHCWA3y!BVIilwaNC_3Se8 z#3h9TlV^2f)^c~49XupGbI7C8DJ|^mBLy^p9$7fkF;ym&f1|H5+#<;vz^DxpyRYuc zf@0kz?r6qDtO{%d&nCYePLbd69|QccCucgp)vt0>e58C|XG^ss-XU^+DXYlK+Y)_< z2mA-Ew1`knWx$Wr@ae5He0GoFksK0z2xoX*CdiabAPxh`oiJc9j{%Pd0L2g585#`C zs$%dn5$J=*e|a#@qokO)$II9wF&WIe=Mhp&iL9-9#)2zK*olvgtU1$1pXgTkhAS*u z0}9pIA7aX*<^Rt|i)#8cyCa#9%h!Ph$TyL3{kxE{1v$G!Dag6{+Y#ZN<Hx*1CFZ+> zJ7Zl}cH{>_%#QAdR06FzsX0<m!|<r3cVIW}f=3<te;YMSd4&N(+!=2_q>I5()Bu+@ zX5wH{WO`_Wl;4mPR*l8EpXSXt&$I2DLlK2ofvG%S<N(;aY=#P@Y7)s^aNA=ibNrwl z>v1N50q>yz!TE1b%F7y8(e1Mx@$~2NW@1W^EV`nm7CqX)(~(bO#Cs2GTpN4WCT9xr zc4%-|f4pHD3^<lrL{qgZm55J`_Ipta`;Ot(Z_ftiFBsOyEfEZXG>|43OeGECvW>1- z$<x}bng&e_1h^-t28Fh!ezszAEv1swnUVa;m|!=3@Q<lY=K3kq&<CmZ|D+F==p4Rb zpSZ2mtUatnXLas`@tbkH()+$G>1k((b(ykbf7Ru5qgJ;b(hacx^r$TUQ@zLjKo@-s z=;egZ%IfzT&x#x_CKy{*zu=EAk#v^9U%cE>>9IOXSd5)P(_MKfmTD;k9|!yGRoHa` zpN_cS1^(I4lT$4Wclb~B5GuW#$j|dV-ak&mW;4q0%;`bD9aDP@kD%$@yOB1%oe1`y zf3r5?Enk0PsaZN~x+kfK%ac&EXbR&sBSK7<@vC-gpPWjSjNsO1){U9C=~mb17L8ln zMkwtke$wHHMi;gQ6-2`bc(dk)H*j0?k|`Uep`s;Vk2^df85()3+aU%tH1yz3g*DVL z-YI3qBYWP08`+C~Iyjq5yhnjkb7<B~e{bdMU;`yJC|Z+^PH6fRLJX8bOKGd&1d%?? z1<{}#M;=R+oKTBxLFocyscmwEU)fSWk(*Rw3~rzH4SG0Ka3icr6?|{F(_5(-YZ2N} zZ`K8Fyu^5J253o>tGy-c58SifxLMjQyc$X4+R0j+nD6UO8&lY^8u2&w#zw5%e`-YU z?2S#Zls6EkpIcdaaOdJ_=ZM7<9FYT7IPN5Y<AO+~7q_P(=@d?_q|?!{RS%jCWY;FP z3a?XrO_OKUXH=(KX|&!;VVj6-T{MQU*Np85pe&SQgB0Kage_8Q1KD@jB!qMUp&fs1 zjhbP%8`)TyU9YNgH3_+^=4PO}moMW176D?HM&ki4e{r(4vc${U9Gx1&|EP(4HrPD1 zkfPzUxH(ai$KvQK{TL}8_Of?#nb#RyIcCh>-kUu9D_j?KS4g&QBfitey_@XA$Gq-c zSLE7(Hj89`Jcil-!}qmvKf1MeryvKAXAeuY-s~<SE@#cIDx3UTl0YW7riAuC=zfN> z`!;u^e-5rL_8<?vgUDp`TTRB>3I}X*o^;3Cc6Ln-{iC9${u)VkzR??R)X`}#K(9TX zZ)tR1&aSKY4#<{b&r5GSxsg3CmYP3bqwC-na9d87ESvbjJ^LbmNW*LM>-%$X!m!qY zw0<_vYf2NPd5jMCWtKeQG>V_redfmK;M+>Af7O(~$_~QV$5+-vt5b#9uR^Ty`59r4 zL4Ww93bM4y*r<J`+rapl7Z)BVwC2dLj7BWo*D^2SX4s#6gGKx?UCG>CL=^*_p6%3? z8~2oSK}|Fc>tPpiIvxA9>UUyE1{>H0Kf-mn2h{m7TU8A-$ad1BZ5@P(a_$YAN$x#L zf74dp_E<Wl5%;cxFJq54Pg_n&YtC*4wncVpSK@i*5(`~+`nfP1`%<ei_C_<{l7R{@ za}T`msjt#`eqD_Y?nAsBeokV47@)&`UvpvnN(c6>*-Mij`*w%Pw>gv6{aUIq4-KT) zOz_FzN-#mKnsY|zg_1+MERpp5hZ`$Pe_0PdVF)t?hR&ru#RecfG8E>g6tF-^n{2NG zON7<L%(y06je@PoPPrQ=9`TXUHExaoXfB@z-=aHxn~;d@=OO;D3ZFghi}u;Yf8r!W zW<7XYZ`Eop{Cn`U)eGwU3S%4#1=NVGu6vwncslefzB83k1&f?T!~Ow3@vV<Sf5h0( z@BQdPbILZ4)cete>x7-SK}uZUWzN&BCm|i+J;b=i1=)l*C*3L>C#~sLk*3WP=Ak-b z9;-8k{&u!QApSQPyM(YR(atdHJvx|Y7jeKyU=RmX134-D7;jhIi)`~)_28nF^GPYx z*-fg*&lJ0~q($pQ@n1(YI^lare-wdWTe~wD9oKWHFVOIZ<!#c#e{Wpargj~v+?1Ix z6jnrUEAh6}{#a7`!+nd|-GKJp)`Nlpa;fP2{G3MzL~R>8Bb!)e^VVqC3)`$JLs%oX zHoA6~u%(vVk`z3dhq61sd0KZ%dF7yr+8u>{kKFtLYdin3582e%y=2Q5E2=w>WWScB z-~Jeq3K~POuy0>mA4lD~ZCKui^QiyBL4yAqI;(0FD$M*>mmB8+8-FGlg9lcTz;P0w zjZeUga{|lB5hFMx0o&e5Af)&tP!|g*<%*)%&R}8aKx9}7ao2ASKB4A;Mma&c%F`a( zy=Y-`owdi6uwzijI1}d7nge#oufOn*W<U&>)!Yb$A+1V{fGDMkfnv^E1e<6{r9o?9 zW7E9whFua`@Vc!%g@4|-=GF%{gp3tGhR9UM68_!>O}=nE*vE<drULS~BQr+8*ZMo} zV*BEKv@C%jYHFz`4L~%|Um^nlPh_-J>=Sbayt~Hz&_cn0HRdS{=wg3R5fyyQKJ&$( z0sb}n%tE*nWsfo+^v*HmDLormnFqY7M4BU__#U^K0;4<|4u3xbB$bGblIVpPnw&cl zJLQzD{J8k|`4uW9yv^H!u5^rZ(J^X<%^^0$^iVPTr%qcfdOxSR=KQY4`uhjPcnNQd z#b+xX1`ysGuIg)tm9mAVMPsB7t$)hRN(Vxx%IeJMRQ<{T_t|Qdel{le$+X%RM!KhG z>-Ab99J8%(^M5NcSNx=%YG|`7jy>G8ahQb6Hi|C^7v}M^iFr|OdDvq`HWo*9q_FOc z8HZ;HzF$cvd6?-6@G%O-4gy+WS?mEBu$O<#$uj_|g`~5?y&Wu5fCK-aFzrBI^K7=F z4FsD^Bz6t1msAn{L*8)65VTropv-?dhK!8$aF3fsdVj^Nvov$lJ!!3msd}?}_tVq+ z(N=7v=O#?@q{48<!Z2D3FhD{A^#phhlT2Ap`zxjByT74QQQm~ggG*fLh>nyG5?PE# z%qU+co`yKkMi>li<E1QLMr7J(M|wzUe{79-WMkYMf?V$WJji3DZdGhpLZ=?iOj!wg zto5_{C4Uv8SuX`v;lhC@gFrFM7B8|7Am7h0GKT6l)C__}Z{$*_FV#qopdqUt8z_mq zE@k)=dk~qKagntV`NG?T;ElY&3{SM^y1I|;a4=wg4x}U93;)OsRm7SL^Hq|E=$gTO zCUh5x8`ehNjNw8xNbnzLXrfemZX-8cvB#I_Pk;5E_#65tZ9l$RI{wxk$KQIR<8Q4z ze(PqBU;6Rits0t_Z*92u)*ioJNeDL+13Pfr@cFhhB73SY#`HGvuM)4tO96Galb)|2 zy%h~^Jmm)QkobtPVlZ$_6beGo_rnYRjqfjpG#3S;DR*D8mVjB-n^7<b(8LTcL9<c| zJb%Acj>!fN_A=cgWAlDvU2td38{JRS+P^u2wVHI<j(;+-tk!GnY@v$z$@}+_K&$1b ztNRW*JAT}@m@ItEru7_(uZ|C7Bg==Sk@}WN-Dmol6Zu7$Lb78;JDbEM&a-t)H<3P? z(4!k5vkemf(fc9yyjnGM)V>FG&vm^@lYgsZK8b3Nt0dpGm9~`?EqQ%RjMH8S3Uhu6 z8HZ3}BP4k|K%dQtHkjtjXStqibkdN^(FM)UjoCyvPd_X`)5)+ALMe@j>w_(j0n-=U zgS;@9<a^5FE%6{aq@9bRyqEFSAW3hW9@Z3Qrq(E3^nfX}Na~MLI<nxFcaf3)N`H5_ zQO<cRT}K}z<qEz6_7*jW3!c0h^=Wptj#(<+FbKIPu+ogVcZz^>ISqp7PKHD@d=cmd zDLv=dwNrC`qwo=)9r{#;Q4rTJmUoCL-sCmQ;Mw|xN^vfxl#^FU)(!tfLA`X@-*X`F zd3^a2(V>d8A~qDD_Q+;57!#BSzn3rU0Z0n^#!!^9i02Vark8>20V;n9##>;v*uL#8 zY`5#Uv+4C^+T$tjdpy%ur@YqP(~bu6FZN`F1gE7UZ864Xwpne)T`ktyYfghbEhW1% zK$R`dr5U$+`@<;Z>pn*ZPp?(ondSPMBPkI0yG0JoL^?A5MEU56e7VFw*S<8YF0kPt zkNSLe7Mz}9?&Rw1%#D9|Z9&Pjzfv2kfC=#LNq9BSN3+Z9(~30CDn`8IOiVSZw4JI4 zEs%7#{^v#%ddY1zkI*U5w1;pFZRRIe{iigHx)LH>Cxl%iR<s)e+70d85-@qK>5G1| zb#R)vW~qmmyhSPF7^j?1UcdzVMR^0fL<=3HGxcobId3#Q)5d@CdtJv@af~*Mk5}JT zJ&!)b?k-Q_<#S91i9|twvZ~hbaI&90#7JcJ!DUvP@BlmegCV=2bZ3rQb~Hw6zh6pb zoe%o*LJ_;Ma#*xI&#SlNS-J$t1_S-B$Be77+UfP}^b$_GME`b^ex6=oHdpQAd0I>t zaQD)`U0z@1ATWP@*1wg+x?t6u+7+zuh4WSC%)*eCJ^I6eDZvZ8AX5ziY~Y^())BA= z-uYk+F_XYMJFH>OD`=T9)>d;38Zdyhw7CZxP(rrFYY+VFWJUhjybAt08jP}B7>DlT zn?4%b1cP9}54Ab)RpjP9;3wC54n+R8Me>#Yy^k(sfl+@d-|si1%_-RvnPK|gA>R=_ z_cIeJqMCo^*cYoTEBN5EvRvG6aMjCw=gq0M^N6zT{RVV>@9wtB;^)J5x711=RCUYb z=g#>5OeQ~ltB9B3@<uwWpaaYRGmi?+-NMsdY4STg>8P@0F_VN^BBaB9LbF2!WD@uj z-73C=+*f~&p=FupAf1q?djdoKL}eymtTZ@LkZ^I(mG{(}zYiX5E@%WmB3@HnES#3- z)2l4S+Z#$vx|NIoT=j?=+4q2b19oA};2QyorU;Q{=HRWC-pXp4*+MN*#>W?;D@!J9 z;l<6Z<Sevc6_&AxTx5QY;EVASug!bZS%qjSJKTSS1W~aABJ`>aR!Ci1(jpE+wBW+@ zJFP^cH+1kX(7@cLwI$FI(gFGA2_5>bbCooxF^=BAv`Jw<C*fPsp=?E!MNTBq1Gm9N zWTG=MX0pG#lfWF~Gx~bn$!4m3|KqH5lOSlN@*@krh1Xjw!8@(0XWG@MxyT;|Iy&H5 z$Vz`(;qz5m1aE+e-2<I4-q#{hfNY`g8{*50DJ2tbg{$}2?7rBdF~1gH3h;k2#^hDQ z+QOty3Y3~EVA`g@X0M_Fy9qvn-UyEdm#xbSGG=8umf2-C`-rGJJ;lLKsPH-aXt6B4 z++tKlpB?s)xOIJ-X<pw3KS5_5XL)_wI!S+3+<lH7OU~{|(zzPoURlyL{gWtHDkzf= z`;<z(q1FMkn=dlS_>l@#UxEpB>;>4J*<NkSjy(_)F#B-m)3j%U3f9tE<qC(cwjBdq zvo}F|kVy!KAU%NSIoG91fHkrP_O}t5hT6xPxrGr&^Tb=HPj+c<&m*T4LE#2SvH@5y zr_T$2Kx*B5nzHds5}CBr_m6E#=o|v8QyUJ&TzN2WNg9)edj7Flxi+rW5saDf*ORtK zUeZ*ESUBrG+WoPIndAU(qe-)r?tLmT?g}K|k>ou^dGV;V6n4OlMJ}ETgv3MmDvXbY zqyB*c(YgV7;M=Ji?lQZ(JB`4>MZ2vSZ^aUS1{j%8MfSjUh_fazzH+Rt!>HNHE_^S~ zvboEkgK&>4m619BTIUNjfOaLWlhaV0;z=k^x+K)E!il=xB%vj}C!rKElTeeP&SFfL z=fAcYQ{dWo<H>ZK?Qrvh4L4i9ZSaxuJ#gfFmi?41mS_Q3@s*HsxYK@(=#|?6Posr@ zHb`eIob`zYFw0HkFG_F6*`#ecHdUovYa@|yvx;sQFh?3?iQU^MRfzFk_r7xJ1Rb@n zo1(Tm@h4j`N2v3FBTlm>5Y%ayD$u#eMZl-+z-jyCPX5jCW{YF@fli#e_XJLE;5+dr z1I;JtxZsU3?lPw9VH_UcmYP8o`~I|lK8xGdTpaoBkc(OXx%iW<d9$SVmGGO4Y||`E z;h}vlW?h((`9YtTEjfPWoD>7zG#@39w9iG=gL$YQYz|HvOGwT7zzkvcPV>11iTo}t zL<|U`P~J4Kqkesv6^>YB3CNN0(U6eL7tiKL&aybqFE9*6x%$0dI+x<TiRrq3mxuY) z#T^<_>#s|FcFFWO94}dBQ~p%?huP!(C;Ly}YjyqMDzDuJ!d?8)aCs|Ut(MF)mJj$y z`IOV&MsP8VfU-Viy6iLavC?PF!EeH!@P-Jh8n$}T<rp=c;a&RD>1y*GANkHRwwgc= z*ut+FF)9U5(~Z3@^5Wz4dbPlRYxd<TJ8x3C==Hd{WH|k>NQ;k6piqkfgf7&^q<Bro zS#osIQidC$qiR+2bVa$@Ia~j58;nk2>s_#w0ICeC)vO5-{zf?dJ#~M1wwPD8Kc#x& z*P>;z64s!1cZc2f^Ev6!NHxc`Uwwge_VFoq(5(30G`uu<3;ZEmjQOX3+}6C%xQ^Dv zg4WQo$OU0rRL+nqeO75+;ayz0c$#|y7%vBbtch4B&lfpL2C^@{r33bG=<PuGNCOo( zW$6OwSo@~w_F2bBcx>R5?<!G2Dw>w<PQu&hnsjb#I%@i~OCWyDwDjO+%6rbS(2dRD zHkOkiziiD%A^+>xsI6XqyNr&SofX%Kfi4p?XR!BrU1KbwwqtJHqAAq4jTbsIdI9#` z6$M(kp)3s}n;Rf(R2#6#O=qn7moMS_tPa$&;e!l^y-B*srIb77nhr71(;PS5Bxkn@ ziAYB9t}DfzoEFFwqeiJmuf-tame*?FHG{-h-pS6OQBE<aRKspQQa6Y#R?kC2m9tId z&Qi^%>~|Mu#LZXwL?rS{oiEg95^=bg;fd*qra^X3fv0c1p3#4>dDuUbEF;rJpWT;N z^#LIP@Rxb@0Z)HBNtbYZ=k+3^cVOU9@DWLtFYk8^vls1g>N=uS&AfVby;ywKD*A19 z+a`dP{5sU{;kSf(BaEUpiJ5GQ_=!z%dtewgS$tgzDy2jAd{I`JjZpg76{E6;jVPs> z^A1SuxF4{mZ?-4&&V2jA9jucj#C>HT<lW!?wN1|4Y~p{2Briq12#3WG2udhvVnvpX zc-sn@RizXnN43-mTn0g>FRtBwj-9jWRHg0JO!$g7fNef#I7g0Z+b|b@dxHyh)8+?V zHTTZRk~A>iv)H>@jVRLgMOHu88%CzGH*Q?sE&A3QyZsxS-m#-sy}<@4WOorY)LB|f z%NbU)nreT1x}_y@cfDaJaZDsZ=^~I_raeVdZ1eTX4}aHh&y0f_74OSzWQLc`cdc$y zJx`0@U+$D<8uNUW&A8~Pta_GNHYbIs$HZQ?2>jiUIlJs2Xz!MpseemrR5i$U7D?Fb zKE_Dc?yHTFB+UP0W2Ca0<qJ&QP+Wu_qg#A}eJg*eltl~r?`PH{`tE4GR4P!~?0Y=b zzS5RSQnxt?>+|6Y@w<bN&Vr^o0;TNYH5G7)lKs%7FsZnBhy4JOv5K`m+e*3|B<Io~ zVS2|(I8gjoD^ygc16be6(h7O!x0n0W9^Yu$L{&BWtOkm`kJ(aFUzSOa+R>Ixj^r`i zCP#lxYSK`z!6paGg*lGu<J+3!bT!<7_1?m0L+5r$s2voEwv|!r(^v6p-xlR48{ZbO zCP$&GF(b+jar#q~S?}ai;Hc?|kosdUj!hiVXP40Ul&cX|?tf;_H$X4C$U4EV4LHha z7AALeM9ijP@j+ItZ<nEE?GXip3$4+KtNnj-hG)!p9c!v;o#Xp<2SIFGCdw{79a+;+ zJ+Z+zcV&qQ8#UmnhfV@91|VK`7l}c-z04Q$-Yi|s@63!!=tr-Wj?m$^N58F#12_CH zK>=KWxmvuSNEubw81K|C_ff#x6rZ#3mnB0<xG38kx#qwRA$EE$GW0T)GN%^&FFSu; z-KM@X^<Kv-TZwxeu>7+bbkcpyp*m7vNN9R-Xoa0*JqZH_RhfOq@Q+4!)?s>HVk~(K zX?1!=21EK|u-t?BWH8R3ru{`$T-2B2d~c6&$a0dgEnA(Yr}^30xZK^X`pfI;GAiRW zr}j$B)_<JS=t-L7NtvuBJ44Kk4u^kd#s@nb#CO#sI~|-sDUZDaXvi;$=ngtIIEV(Z zn#Ra&q)jqjv-m;9#6CAU)?SoXAofNS++r1_fQa;|fNh)tA~2OZz?YsS1#tcLUh)`t z0M3y@%B|O{BfI|mbCF)<v*(OfS+?jEPj%Y&?z$v=^Y-1#-to_`-uB$npD=&_259ye zNcIGX4QA4>%U_p3v(M8C<EyCq`6?j-mJECykD_uS;=RDmXayurN(vhA9JlW7Zpq_} z(a%ULYJYUPOj*=m%=+i%uWXH_!d?H(gi_oeRHl)8j9ia|c8kkVa)ff3&hQb3xuMR} z)ko=z%8TN)a`&cdGi5d!Ysr7>9{KxG?su}MzMaABPEXgc|47-{FxOx$06kes@a_R+ zGR2yx5c@-<;JnfHW2PS8i5bc{@f#4_v}epL=IH}j=8KB$#$DGH?hRq7rRx0?*ReOL zy|>`YF5MWMdFFXOUne-Ld&Dg9#6?kYjW-ZCSzGm%_y)ZVY0uK)Q(AxB@!Y7hRasS+ zX}(gc%qj$AiG`@9Kj=)PCrdgN=`UfH!Wtmz*<V|u+n9-oY_cdb4?JcfX5x{*rdk?& zydGo)g=D@eF;)~tw}PAZ8~j0`#S{8|y_8>ng>$$ruV<GOU=cr`;4ca=$xATZy!ehG z-cg2?J-Rw(UWobOBN2Z!4mb(r=6%fpj6#9~nH-NbrL~IX0KdBWU&a}?>`YC`2QHOv z0GAM9j38U75v(wi&G2^W4S%`dUWthvS0|S%;J*vJ>_v@baAdMEfXZeVM;Hn0Jt-bh z-B0UVfr!u==g{Brz_@o0;ohxQ?w<hsw}RO1+quq`6A|bbc6)zQWXmyJV(I69e_B#h z%P(K#m%|DBv{&|NH>;w5gUWF9X&<mIe1WQLlXD+~vM`s9_uOM0C$f2uTC*n@@060# zxTBM7e_P|Mj`3uCk=7|zN`}cW?t>7OjztJ=>My!mjYy`vfd357k`M5o{WH8-iW<IG zKlnVUjaYp6Nhp87;WoRv_%Kp+u{(?;|Jf7onhi2Be(B5Fw*HB>jv_uE`<3X(u$TKe z`y7S)a}n`%zDjTYf(gzjf+5A(m%kkYDZpk10(Z_ZNfaPd9DIqRdP3u{d(3-0n7Ely z!ikU5%`ye79T!Le^aZFmPWV!a&a^r_L+X&?of_-S;tYSj1_2~p$%$YX-7>+-$O9Su z05!q)5EdxfKRCchyK(4L=no(3Rp8&gN)Pv0r9pF*M^8i*?5UyB<41ZWFFa2aI8Aki z&ZG<ko#%@MEySd93uwzTY-JeJwi{{(RN05xR6>gX8zL}Pz5aox;-IY}8_`!~Xw(?C zOg-N)^=^NfmjzSt|IUw*+4(tu#@+?Jcb5;Oh$?{DCydRI>s6vRO!_yMd7ZI50j=h8 zdagfJFX$hzgnlr&wKm9||E?kP3@(URdKZFPRxF9SpwD3Vc#s5xI2imf2?#>WrpU^N zj~^$&{@~B>FW4;s`Yyz4OUSftc06q(Wna6`9QS{<IpQ;|LTq3lnG6Lb4gv$|Sf(L9 zFjoOfwUr2(mgNcF^r$wVV#<;#+H=>c?+*sv5SZIO6Kk+;^*a2L+TG)Mm<{-~@536{ z|C9$}MGGOBQ<&GxfZr@9;g71G_Kv7p_YU|y7${u31FH&_-I?}?Yu7Pj7nuNg-);rP zw$Fcnc&i>aN}ou5nXRtMtBgEBHbf}80_li+FgC>}QWcdsUfqlbQMTp$wQbjqfWHz` z;;F6F)ZxI$dN<{2jyaCKi+J;?8E8?~1!!y6Q#ZPd$=C81=CdL1_WNki$glpu5JgNY zt*5SrKmi<(tF*_Wnj6HQXnapYXrgmG_IH0Gxma@hng5}vB2nw^Gduc<_ilDT{|=Up zifwIt@@92aTkr1nrp8()2IV)@F$m3HXXE?%?yd~iK{b!q-PH@K`68fE1CyxgX6r>o zEll$N)L2!grn-UCvuAp3B_>TZ{SWo50)MI3yXg)2NB{H(-{c|xJY%s7)I<K=5OsfO zy3i4Bdhch~-P6vdor>uv1_w-xga0f}>>eFxBXQ}q3*xh}->HX8p|kmvx2Se^2RjoG z@^&}Wi+9Z$l9S+r5WOpfhL}W=inR<2#`gP4V+9RMo2(UB)y4;Z&X~3`SYTZ;i-m^c z-$NbRrP;_I09WU64r}&vl*MpQAHaX+&yG4ldw$*p+;u$qhI3c*#remIGk)#Fzaflj zd$BdLPWk@~AZnYQ!C0~07>Kr(3$v_X=7`S2X6l?Do#y=&+|MuIe;>}6frb=Q3{>Rj z+{gZ7zI?9g#GH+MDs%3HPaSY%PId-7CllAfiQF6jfJm)p&n%LNOj^SRun>Q<iDyi% zwY4Bs`ZxS0^2JSjf!B4t;d2qF{TqVoKsI!bo^G0r5;Nm=HYw2@mF1N@FYxl;^H?x% zavGnN^K6O{dDGfSg3B+QSVa@I$-EX{pXVfM1IX~Z@jhbq&)u|_Fj*Anot(6WL$$E_ zWN|irEpT$=+oaDauU?nj?)HC>Rk0nKTl#$M=~3_SwWm9IQ@DpXuOZ``+58jr{4V}Q zVwJuA*k}i1EsQ6rqsGgw3kK;OB4H%_FeD|(cq*^EbhfFhMiCrCnuymTvC<RjE~6|+ z+@QvcjG{G9_<1s$)L*{bt;e(b$46mv$dXw{HbIG`rnud|xifI53^#v$0-#3|Y>DRW zSX7^4SSmWn&WyYe=?pFPd64mS|5LfRzRFx9x$)O3P*GxKolh6pr)&|Zp=8I8P^Bj= zE&5e?y_#j5$BK~VKd6u@XlF7!koF;l3d?M)Ta*kNL$G{PcV+JFp!^?v-VUwC_e%_S zk4%xT8|RB}&(HM$7HogJG8^7sL<^tS1{MBDgGAIz5(sb26OcOI7S`|c^G(M2o6@=q zle^3E<`+N*>dLvXR3#t)s(6F+%)iI_;pcY*hU316>BRE#y0WqGi~Me!w|rKjloF|K z?G7QQV@>6FW_iKbFqzd&(7JXhX~0Mz-`RN@aaI7Uuwna|zWIM}g(dBHa)XoD3P--% zc|xh6$swqTUVo$Jj9@F9VvWKksxc?anlOiPi5doD4=;F~@j4e%BQqT7?ZUU`8+`TU zWFRefOc-9sd{)w0$5+9D5;_0%)ja_Hb$K5!e_gf$`Ku3+NT{25hDjgY=wioQ`1e`8 z?V4+yd5MTD!pwi2jyPg<Xh(9S#oc`EoABM}gMWI;5TYsGEH5^_T!@I)d9pF61n0kj zb36qy<z3T;WacOD>0Gt<qh7`kq>L$rt)zA!>y)!7@o4^pnc$hYqnTRzp5wF$2WFoQ zZk$x-K7O3k@T(m;sh5AkL!E!oPEOuObqykRI?v{6z3_j;p@Wx>mnM-Vz@((+WfYkT z^mnXbd=j3(X%W<APys$Znk1<%tkCLBR#oYRcpCbceP&DtO2~2TRf!=8$col?A8k0? z5JnZw3x2_rx62B+#Wl~6{*CLNMDnIkSO6ZY7;#UA<eS_SX+t)K&&p}V+X8HH7S$Yp zi|DxF5}JQ#d&T=6<3@U?1`2$K_cc8IC@N|MMUZ$3r&>!qG3z|(SQC-7v8o|yZmcb3 zt&KIAoZhWk3o$rMpyS;6Nx8AMei(EDqOp>7J!q=8PJVj!e){I+i{oe0_b1OzUcMil zhD%29VG=Hp66Wy7b@8!4(dw*4Gl8lFO*a8}oP=R09xAOw!i)Hhn#hstDi-t;_TGXe zHn{S+PAEQjj(K}iOh91xQ>Gs;`juJ$MjLrzRLiR=uX%-qTy;t-WL9L~c)7llCiHf- zn{9ZyGF!^sMXev*t2NGsnm^gHxv>i;my84gBSH-K?}dB5<Jk-b``a#{&Is5%29KWH zV<LR<9zN*+06v}sP~S(^B!!8+tsPm7b=5PvY7xf(;qU9$o^2JvC`(R5m+=Gw839L^ z3k3o&e{yJ&SHxhbBTNiz%vsa58K5VXhR2<Hv{M<)jDyoR<skd=Wk=2VJ-@9uEmZwY zgzc#ioB1|Q-Zx<107Xi*U8op?adJN|E(&J}-U34T{GjPGTc04*DSafLXGiMMUiK%> zg7)_eF5UCG(;7Ly)`v-9ow|Z1Q$|d(8$46Gf3!t~oehE^H5-^F=Y;W&@%ZuO3uA_D zc@i|5fKB*x0RKAdRGWMMlD|Wj`ls23SQk{)jiHax^O4G@tO5qlXVhM+$117jaeYi2 zQNlNZCK^HimaH_|(ZwozP}8qXbH@3uFLZBXE)1$he=S!Z(RqvygAVjrvNN!{HhuEE zf1P8Mjor`5ThKEAtLHGNs1k(3%!BIwvdr;bj-$om_|y@YwK{NlK*N!ChVH2tn-{@G zLT6?quTawi9L$Jxht4sFgQNNZh{~hExN)(o43m54=jN!QoGq3z!Wew`kj~7H+2`jf z;RDw>L}Xh+e>$s%h@EH;kQ9no7(i5ge;6~l7JmKEc@<SLY={-QqM^e*h|lBt>9ugU zubIO=T_>(j>ob)hYFfc@6vG9EzH<kAd7E(`KauAGWpps3x#E{@D%VsweC5@bNyt4R zzv~M<QUAQ0T~|@O@j18R&$-q8pL0zGO$PMb?OB&q_~$<8wkCSegNmhf+JmO6f6qc~ zD|NMv?~6c1;o<AFs)J{G{4rhq&Md(j(kwvBDT@Oy-Q&Mrd&ZIc&Eg_f*Tp|~#Wt&e zxj6K81?($Y<rwVl1u6sr0J7#koVVh8FYwc9nHF4+EaKhc-!U#4m7$5uD#Iu|pR!(^ zUu6LX)4)H3p$yhXs6<0<5@R$ve{3NiY(~lnHL{;jzQu%J0;f*zLC=|J*9_h^bbMWO zN~ECHe?xfScT~|xRiM$!hQ{w%O}(`g%UQ?1@Jkr{mzLcyH722xfgNkt3>sj|Uibu5 zH?$}Gk%;TV?C3P4BRPc8!?V#T{g*;zg=gzTBXECMs)|hck3u%#04@O>f9fD)tqGBB zO_`6sS~203ELMSa!*tUff(<kKGBk(emlUzh>aO_)u36lhZNgk(b{vt)Xz(!o^Z6sg zlI8GeDi0i}DRT2%*7dR)J$P_g0$0EYK^5A-^z-t;1)F}4o`19X0|E&?JaE(XuqZvj zaZ%N)YeG)N67+n<J`)(|e{x_*iifS9R@u*G?GFlVTGq45(*kRM`EoBz7>l_v6AL{v zeseoPm_0cvyFn{x@%!A$X%doYYS<p#n<TMuy+u@}ZKE&MPV^-+<dQ-_o#fSTEL=W@ zm5E1D<%D8FZ*VQ-Ql$Or%hnUPZp6N&+R-p3{tRjrm8(ed$=y0he<!EP&EqISnRfLu zon1yY=89y6!Mo`0)JNr?5N(|ZT=l8AME8bg@t6x;Gj4gE@mWpTCcqChbN+w{7ZY^g zhO3i@p?OlshPg@iAhoY1J3GbhZm}WxY_d99ftVEJNBQaMjE!H%Bm6Oe8^$OVp8&N0 zm41cE<Nj5;^gwurf8)T)q7VQ*)o0lD4lSogMS{`>{h7jIvyZ1|>gy>~X7^w~U;+Oc z+W~o)5ipQNU9LX&aEuMx&3KxuDlPjp*$X4VTG5e+2OwwX-$}q@k5Nn$h_}GjV!Xs0 z&wVeLtVT|6$&Jso1B$5ewpd`SB`xX_L#ZdT5%${9#*CxKf95RW=qU^&fdHCf>apqL zN17<c*VAxkCokmw9A@9zCmKKt34c77=Kp*kUdRR$E8`n2DbRmI_*c*aJ8i!d_aus) zEL#&*L8QQs;>#EQSI!+U#wojX0?(%t8~a>miz>rb;VL78Sq3V3Qi*1&&&=)V9W{#p zeENdo(Xm+Ne`seAC#jX?NJL!0nk<qFziV4fhjxa>M2_YtPVz}{nw=q_`R*>xtzVQk zQQXUUpo{s_$Jry{hLW?8F@!!464;J<02?VU=iwN&3hCY?JYtJ6RX6r<FJs{ZR}=G+ z{%n~?;a^^!gh^_rbkan@C`%M%xY&*oALoFcDYRGOf3g1cPMm|P3$`g%AdM4dOgWIq zh0U;lGwJyKTecgccrQExf}0}eff?myp%@b*9)9@};eQ(EYGLj{xVK^Uxp&euhMaVq z;BR1@>!?$%ggjl87ltIsKDD^EunKqQaNPIs9AnumS-gpdk2SMvs&`6Px;aI7oXk?- z$mto+e~6i0*X7z|%W%l8>grA;))<M)=J+2y(q)Z?W0k^_4d%u$wT#p;QsCHxcKt7; z4hmpBg0z?ik?QmjM$CXsr<ZUm^aG465#JeD;5kMIW0h4@w}^)opGEjF=mn2q;CL*j zcAnp6b7fgR7U5*aWQ;x-uWXZgSj-ZZSPAYrmo5wfML01^k?%y<^(uqju9noXaQ|_S zdj}%Mpn4)T<y0Ly<QqhMtH*Lwx_U;+!34dMK_HfLz!0r@)mxXV3<4|x9+%h*0w{kt zY|jp$t(tE%lS-_}|A}uwH|N)M+eGsW)!_3Nk{9rJ$ma0e0@2=Zn@0S}Z6XaCeH*yJ zcFTikPvgh~pqWHVF}$XM)PkwHYRMd2HQJ<28}0?d1ksca*G<vyzUwQ3?=y&AF6hoB zp7_{Dsn}rL+N;tyY7e*!7q(E@WC(vk_A5ttAnUq+#V_nHxk!G-#AMB~#6zWKXhLP( zQ7V%H52ba`rnwdawG^zv*svXG>0SX92x-l(y}MgtV1$Vq#QMeCH_wiLen0)|@ySoq zpWjY@I(~oh_T9h9$G7%1DB}$|)j%fSsa+3nMXRX67`HsL>NV}?n6bV=yeWUhj@o** z_l7V0=4eM4MTuF8XGdlZg?Q;n<}7{a;TFs!+N5cy;igF0fUFsa80FO!NOD_>x+;vd zk*1wx1>j;PmqG^=VhyT@cx3}q-lR5GMC^4RJv0sX!$(h?obVL*Oix3<%I44&zCPzy zC+J#9a~F!;^w0RuM%nhikN|({xUjHSIqf6jJ#-^@Q^+pzku50;*zD4BGAHa_<)qtn z0)6{(f&1H8zVL3ZX7+FQ@v62x@nE~WM2ev1^pbZ6tgE_S)VQIFl;Ib@2UIK(VN(sh zh>3>0P(BU@|LcGJPd_XmYny&RJ32tm;5v$b2jz?sCC>Z7uLa4Bbs0mPUoSAWB=qnf z*C4R>&G)wZ3wBLAeUp6mwUPlxp4F?l$SqzKEL3z`9f8?qQ+YVmSU1PGfamFKW4`tG zZj(rZB?*^64+0o}O(?-AMa6tin@?+(*p>Tb!JG`;%-s@f8Fs{kUPdVqn3Ny*+D-0g z%YYP=@GU@*6P!@PCOAamla~4Q(+^~$V-G&q*mE&&pXSg%&B2)Gde`R0xB*wOS{ps_ zVbj8#4(qr%H#_QwQ=S}^huMZR99acsVq*HNI;rDLQ)du=DzI{ueWf<$m0+6Tq{4q? zlbnAgYwdCNG?z2wCQ%uhM2U~5*%@X?M!XyqdlUWp>ENtiOWruD+DgYJ2?@%n5=Kll z!~9-h5E6eKP`kc`e)ytUJ1X+vjrxpCIoIY03Z<I8a1LX%%6@?V9g(C<BSHSfL+oC5 z)Y`2Y{m2!6X-Byb6Ak(Geou81ka>y>mS)Wrv^*~m>HJ}wqW>w+ZYCMK%EU>rmfd8! zJ%ZURI|?6!d-Wdv8}4`b_u4+0u2+j5%Fg$EYg+rCPYN{0go{BX?gfR&hx`l96TqvC z5BQ$PfB%LP)ynbr5nU@P=W4eznH0`PLYMvVh+nyX=+%!dl9Bkr{GP&}%Bw7RCSJ}% z5ms+e&WL;TQ6ewWtBi+A%P$HT0!^Y{WX#T&4RzF7igY8!Me#9;W2e8L(@#h08fARP zJH?1BT;1u^k%{BPz-a7FFl%psSqaJ|A%`umNFCvZ)+fH}U_9D@i9xc(CCdm<XHpWs z`uCTAjF6mqoS;NC+(>Bq?Ln>!QIUSiFDS_$Z;oh5>pGoXnkEb4;m(h;NlTf2>~NZM zQ-6r2+(Omg6Rh!rP~HDs%H_Pqk4e+cSD|h!NNtsYz&pz%wZRtm5><k4dGzSW&ip2D z`qlM^s$NCIxL++7c^v`t{2=$QK$K(3hx~MZc!rOK?Jr204>j5^8Mo?w|G@|J&zNdC zdz2r$*8o$PTdHck>M~tn0AQ?8Il+!tE~|e@m&?WHsMlk*f<0v+7?15T7EMC?&c<T* z^y?3oSvq$L$!^j4C?*|CO#o9A+y@$V>1F|!w8_&LEce5~W4v^G0HaE=n|zSNgnmwc zp>;Lx@!PP}(i6jgTb%5V?xa>KK=o7orLCanMrKn-@*%qfIxEqVKp5%#f_09e^haKH zrXTFarO(yuAY1N{sY1@EzT$bBJLQb>rH<Bbw8Zp<2O+)lXnBkID~lC@gF6C2L&h^g zJr_0h_l%ST`kmiSEWO>0w;2N)1P$GPn#7o>b#wF@g$PwPPV`M$q!-x=O^6r^0>OaW z$sw1Vm$PeBT5F7HRo3OKgewWgR!bMSh5a?L1X&o=9Pa<nAHYAu_L?!948yYbz8wCn zAxj53ya2(zX5r=ZI(<OmRSv8dvzIPft!~yE4lNzc!rlT)#+>_>E8+6N++g~D^fKTv z`=G8k;?Z{GJ+OG94;s*IkoUzqB-|YHzCzJtXNTORbZE(b<QE-QvLT6OBtb>qhCH8J z`F(}+B!TvUTIqPLA}(xP7j1Pg5I|F@?M8DCZ071FWFS=z8r@w(FWg9wZv?=F2gxjU zvarUOC@8RlXBSAXb@>`kL}t`~sJwFU96m2^!}zc_Jd(dg;p}n+=Y9w)W}1!s^7cL2 zjj-+5zpSqo2k7>u5y7ZVKCH?c7#L&PTCn0$=_D{PC_v5x<BxN%9uW#!{8pe}%&w;B z)C9+TJ`dxg@E0<eMQ?`dWdP#_I+Ou&HZ*+hhvr5MR@nu}HY@hyJk5cB%l1RK%@!4G zF{b-Q`=;EGS@fNp+zAgP^f@voIK&CIk=gG^NY3u`k&b+)vse1X%hxYYUT#`z&kEQ2 zw!%S2zW^=eRfhVCa`7qi0AkYxpba3YEgM#IO+r#>p#><77hrpkA-k<q_=*-fP@tkc zKF|ks6Bx%@A2V8Sdg-ZF@_F_l-6CUTM-LzNO}uzuC=V`q_Qa4q(sUVtGet^NdS77S zGud;{jWi>&&5_1t?jHGKf)-Na-c{8@R?=hQ8bzcWi=;ws!BzPW_v?oeeJuF9(r}j| z6#^(CtR-yq^=lW$YZdj%PX07lTQcXJBd(7`dQk4Px*j{y^hlR%6#^e3?GFaAgk!iK z+mq}Qd5S^r8t2mrMoa$zIj7J9tJ{rE_;Hu56#_6NRG(i6VQ_y9kvCaDnth@jQ^{bo zgWyT$Jje0|r)@lTokIhG9+v_Z0y6<mmo^pxD1Y2U=x2=wU$GnT9a$j<=2KbEy2f*< zAl&efWri1SlMgJIy7+z)aFrdHvdfIV6ONeu>(ye42b&c`(K9>Vz?-7FVT!y7k(%-l zb*JhW2X3)6Y@4f?g6wC9mC9~&dZ&jK>o%L$<wfxJx^9_<9zJnXuwq*qVEU^v))F3? z+d&Z#!fQC;OSO2KX3B8JlfpxkQUgOwRYC0=ul<g3E7g>7kkE3%n25AMZS3)|G5Tc7 z{Pp<=9vU9Lz$gl+ln73j9v1>+f1L223J~qfw}Ay;J<#nI=(`8>g)U<*SoAc)Ksu&B zIW+7?cR=pzN3LCDHrcMwDS3%;U@RM9b$n)X%R7yo`gQ|$Hu0~|R;%>0YcxWKbtSEM z+th}dO03EAbc#t~=FCl$GSKpuk!$UX@o;WH;feW@iMT0jF6jPum4XzRf4~{@p)5a+ z_7ncdGJ3d9O3h(YcT22e*L4%~!J*Lr5yI|n$(<T8WYIcKN*0R64OdbUNc{RaMg1gR zl#3*t)V}WmnsRqHJt|J^wr9QK)NXe+Dvx@@QF=5SWemEfHTy4q=ARD5ry<;r09>6q zMy@R<%heNw`a19jF?Y$5e__nJ<6FU47G=00V(`G49AK7fREs<lj-`<<DaPYscXy{8 z$2HVirYIwFv*!)%lA_ncw%jcrCr6YLl^C=~%C#eZFg{XK%ob&pkvI@itRC5iF{}JM z%0!?lN0g;vA=GG&eq^y5XyJ}PI04xtYI}*}#tNCTecgI#RJIlzf30oq9OQNli{bU& z!)uA5YGH@ArDw7IEm~bagx#NJG2yANl~Pro*`MooMA7b{BC{Rl{rH-4S(N2b`H$;t z^*Nw_PeRRxHhA&_8qtQV2yjuuHLF7Tit$$_SlJz^h~+69%8YcG#VdUXQTYY%ur4%D ztXKH?XZjkk!X%hee>R-=?4*df{}b?r3WKunG^YdkXw|E3a^~NZSK?rJlP<MqtzI_2 zXsO1$sn}=%0~h6U1**DDdRL4$<;Y#87g<FYTkOPhdCcM3aGov}c-7~hDfuj+tjCp@ zEAwJ$-zi0zO5Y^fe`5N45+&huO&8>WRxy_*E`xQLS%9Waf5b5Gqp=|3iBIcY4Q5V) zzoeV<`j(@ceG9UrCD6jgD~jAwT=8&)Egm2J;)uSKrWcJPl|0v~y3SX6N18W}j;u|# zvM=<?Li$-J3vLerb7L$NjnmobA%d8ru^K5;66b&sRi5J~y$+f3F}@@#y~l6A(I*+{ zQGPPBX7w=~f9WrP{q!Q$tpzb6pk#i1(*`k;asLFs&Pl;m=}34U5wY}f!Y}Ag@s_6@ zD2QSu$KK&j_H>q56Zd#N@%{;2VgP;y>TAId`%Qz=^N)uP8Yanm^+Vx*;pMhBc=i00 z9T$21rn=CqF*WY32em7VsI7&H_^Z>tH)g9o8O{Gof2V10I|F-dC%rIDNUOS|O%K)e zdC;(j67ylh^c`u}fK$iLBS7+phx_<XJZ@^itDO(=pICRyVIDR)x2zfMKf&L+CO05g z@ek!KKF#1q`JBPOUZ$|zqd~9_bq`S89IP%rq|qS3fBO56<pT)bz^|*(zI5ps4fh={ z^f7;sf8dIF`KF^KO*1~>6*lNUtP-v|#=rFpYt5B}B6=`(I%KVI;r<Q%e9+jat;}aW zg;Eq=f72?9*R<?Wf0iyQAgcJzLI}Qg@hay427A7V?{w!Qxj+L8n^Mz15MAi&j!Y?5 z&kXG|9W=~xpsC|YyNH{Dl9_~ucVyKr-D|qpe?{#$aa!^88+**9*rxNDN*%+g{T2>2 z*hkV>$~b5NlgC9}`p#O$p|o>xS{AQZb#*E#ZQC<^`Sg0P(j&q;5rHV1E3zfUv-X-j z>-!RRJj~!G&Yn*F$vTSic?wsa#oGezFUZ*Gp4p^qfa=e#>+%(b6Kz&VXa~32HCX`% zfBqD(aw0#yED$Mh;|#dCsDf>XCHWC(y+6H4S49;5JFoTcL0$#(Y`My2sP{;M>naQW zoq4W7SpkEm^N^os>@yo>I!g-#pH4<AB)LH1;XoM8^AB(n9X=SeXjxLxBT-zU6VtQd z@bj~xpi3oMHIP5nvrlObl%6kO`v_}(f8#U(0eQu;Ss;ST^B|)P;mp?qE~{gC?MJOf z7E^d>Ed*^CA9>LC{mEq(aAN)(gx~Mgd*5R?1NfGILXAB7Fy5pUS_PnWN&kBgIdA}+ zCCMeH_1PrDm{Z&Ij=ceC<a6k6ELVgCA|N(53^!Yvb>dKpox4<MJa}yF-QAG0e<T)F zU%-M9`h|l7qXi~oP0#ZpuP)z_Y0X<I5HglgL@PU|I5<<*-Xq-L!V8Usq6ZbI88_H7 z^6a&$h=4*S4H=|+6yaod#4Iy`qJ%}FPV9sSDW^B#9K@mnBSRH~>AOI{s6n9lA*&@x zj6H$Y{+UF4B%p5LqsPFm`z8YWf9!;#Nx({y!69lPrz>quJOl#L5(?I6T^@z@!4#?v z*vhqZz@*8BK5Xu7kRLZ*XS8|3$S|`lx!X)@^>-k+&@lr~Bg`cG))F0v;JuUKdTeK3 zDrU*Tn2?DiK+#w554_wKWsgy2kLl`>`NIVYxIa~!d5#6stQNX;M}s4}e>h<y3Th!O z2^;=7lrlv_0IO5?19ZD$pNfnB^*{cnazG|GUO26?^vd$#<pXbXgZ83(lj>g^esk~- zSyd|Uy$EcMY2lvHnqe^NS23dELP6<fq5j{kT}w|JF%bSMutI2~Y=U~|0n&h4E+Dlh zDsiZ)DouhK(Ry1FRYJgjfA2gz<MAtr+MWoze$4tY_RRSEoXb++bwDl%^l?+0<GNT| z*4T!;rCkkAfobJ=hBy2|{<vQPm>|y`-GtLd{=L_yr|92{GvTaOxJaeKij7!F-P+=j zhGALBDiW|-*h7f?VGb!e8dJ|1t;3#jJd-NBas=gg_on(1bQ<lQf0H*7Hk^G{WU`}? zrc`z!ALeai-?R@NZ}U(`$_ZoK56im|27q9K75&5horJ_q^7A*PNt!9kb;<cz%DI!@ z>ced1QckOarwzlAF{n#G2tugZXcCDm=<U7|Y0wnbeIlvQt#BjfDzzx{Nm`se<f$n+ zt{`dN`@<gv4{`o&e~}X1(p-nN_TrmE$r4U`d#;)ux|t5fqU%09^`~W##f!YG%HtK? zS}h!lSw6bBdfidv*<btUnbU(z@fxvxxhOf9rin@E0xkj;d>=G>_jtWP-`EI2#H027 z^80cF-9u3}7suCp>BNiMI+(Cqyu3|^hPOuIK<m?&3ZBHQe_UD9)U8vBriCS#LAcq) zke6wJ#9SoLs^q4|Bdm#y<-65I&EFPB(M`{8<z>Kexeplwrfc&-V^&T{W#PYuXdU~L zLl=bdrAWBF|H_QlsDv(@TxUB0Vdt=GJ`}DeyvE6w2S1T~5+}p;yl`&b<#Yn!TN2&_ zwzily<_a`zf7=ir-D-aFW3d`F!;pR0(7E@fb6r+^IlHEJ1M>Z*J)Sfn0(8XEptI;< zjEUbldF(BULzfdWk*1;7mW<(O94!;xItqLWDf_b-(XP||5JIoGQ+QBwuki0Uq=Cd~ z){QJtt<FGBIbRAW_9d6@VcB%OxuDF&7j5A?yqqORe-$w6^~~Pdf`%f+&Sk_#|9&zl zKO>Fow8EW5$EDDOZtM96$UCife}PrlA0M0d7Y*K{xLm-3b<hmk+4Hk`Ie?*OuM69f z`|hrq-8a#Ja0K*2Sbw1D2;#CDr~4w(y*a;YA)(+WHa(Shuudxin^#dEIJ{b(4va3b z{kjs0e}q2A5qr2Elz5`t?Gf;<gYiD@e=<x14E1jx`}?K4&}U~)LbqUP+b%uE1%^$> z0)VO$<~!bW5qJiE!muVZ^nj;SKh3w*>k@yu(#1d78T1lykW5?w2TlN=rt7)B^*`13 zYLEIBtF`86V2UxP^2E2+)!W;f07#>G3QKEif3%_7S1wT=u}tZdh2myYNJC=G%VJ!T z>iH`nL~HF7Vva(T^{@4A`Hf4h54%c&w9&g6DEoOE4$WjcjWa78l6lL?Ge(Q$AE2fz zEg8|Qwy%8gQ|4gM`eg?nRqJX2-kr^!EBY}So1jgF1R?}y#WdJe^@P8_UhQDQCmRrH ze=GIjQX8{Ns3eqj&^5>&QOiO^6Pn{Uv2KJG*vKasyX8MMV7$Vr1o-%6kg6{H>q#6! zs}`+ar?z+uc+1xXsnO%-2Ih2EAD`}8;68tOK=|q#FOh2IiQ%URgK(1kZwKXM^YHkT zyywx%_(1rC7Z;r4WkOTkH9~`1k91b09g>R_Ct+L8lsE^z_KQcfDq$aZ{s&B$vbToC F2mmn<v|0cF diff --git a/homeassistant/components/frontend/www_static/home-assistant-polymer b/homeassistant/components/frontend/www_static/home-assistant-polymer index ca82a411aa1..aceab5246c1 160000 --- a/homeassistant/components/frontend/www_static/home-assistant-polymer +++ b/homeassistant/components/frontend/www_static/home-assistant-polymer @@ -1 +1 @@ -Subproject commit ca82a411aa1e875ef0fc26e34bdd2033f5b99276 +Subproject commit aceab5246c1cbe1b13e02f298128b272a061b91b diff --git a/homeassistant/components/frontend/www_static/panels/ha-panel-automation.html b/homeassistant/components/frontend/www_static/panels/ha-panel-automation.html index 081586c2f7e..6453b12b24d 100644 --- a/homeassistant/components/frontend/www_static/panels/ha-panel-automation.html +++ b/homeassistant/components/frontend/www_static/panels/ha-panel-automation.html @@ -1,2 +1,2 @@ -<html><head><meta charset="UTF-8"></head><body><div hidden="" by-vulcanize=""><dom-module id="iron-image" assetpath="../../bower_components/iron-image/"><template><style>:host{display:inline-block;overflow:hidden;position:relative}#sizedImgDiv{@apply(--layout-fit);display:none}#img{display:block;width:var(--iron-image-width,auto);height:var(--iron-image-height,auto)}:host([sizing]) #sizedImgDiv{display:block}:host([sizing]) #img{display:none}#placeholder{@apply(--layout-fit);background-color:inherit;opacity:1;@apply(--iron-image-placeholder)}#placeholder.faded-out{transition:opacity .5s linear;opacity:0}</style><div id="sizedImgDiv" role="img" hidden$="[[_computeImgDivHidden(sizing)]]" aria-hidden$="[[_computeImgDivARIAHidden(alt)]]" aria-label$="[[_computeImgDivARIALabel(alt, src)]]"></div><img id="img" alt$="[[alt]]" hidden$="[[_computeImgHidden(sizing)]]"><div id="placeholder" hidden$="[[_computePlaceholderHidden(preload, fade, loading, loaded)]]" class$="[[_computePlaceholderClassName(preload, fade, loading, loaded)]]"></div></template><script>Polymer({is:"iron-image",properties:{src:{observer:"_srcChanged",type:String,value:""},alt:{type:String,value:null},preventLoad:{type:Boolean,value:!1,observer:"_preventLoadChanged"},sizing:{type:String,value:null,reflectToAttribute:!0},position:{type:String,value:"center"},preload:{type:Boolean,value:!1},placeholder:{type:String,value:null,observer:"_placeholderChanged"},fade:{type:Boolean,value:!1},loaded:{notify:!0,readOnly:!0,type:Boolean,value:!1},loading:{notify:!0,readOnly:!0,type:Boolean,value:!1},error:{notify:!0,readOnly:!0,type:Boolean,value:!1},width:{observer:"_widthChanged",type:Number,value:null},height:{observer:"_heightChanged",type:Number,value:null}},observers:["_transformChanged(sizing, position)"],ready:function(){var e=this.$.img;e.onload=function(){this.$.img.src===this._resolveSrc(this.src)&&(this._setLoading(!1),this._setLoaded(!0),this._setError(!1))}.bind(this),e.onerror=function(){this.$.img.src===this._resolveSrc(this.src)&&(this._reset(),this._setLoading(!1),this._setLoaded(!1),this._setError(!0))}.bind(this),this._resolvedSrc=""},_load:function(e){e?this.$.img.src=e:this.$.img.removeAttribute("src"),this.$.sizedImgDiv.style.backgroundImage=e?'url("'+e+'")':"",this._setLoading(!!e),this._setLoaded(!1),this._setError(!1)},_reset:function(){this.$.img.removeAttribute("src"),this.$.sizedImgDiv.style.backgroundImage="",this._setLoading(!1),this._setLoaded(!1),this._setError(!1)},_computePlaceholderHidden:function(){return!this.preload||!this.fade&&!this.loading&&this.loaded},_computePlaceholderClassName:function(){return this.preload&&this.fade&&!this.loading&&this.loaded?"faded-out":""},_computeImgDivHidden:function(){return!this.sizing},_computeImgDivARIAHidden:function(){return""===this.alt?"true":void 0},_computeImgDivARIALabel:function(){if(null!==this.alt)return this.alt;if(""===this.src)return"";var e=new URL(this._resolveSrc(this.src)).pathname.split("/");return e[e.length-1]},_computeImgHidden:function(){return!!this.sizing},_widthChanged:function(){this.style.width=isNaN(this.width)?this.width:this.width+"px"},_heightChanged:function(){this.style.height=isNaN(this.height)?this.height:this.height+"px"},_preventLoadChanged:function(){this.preventLoad||this.loaded||(this._reset(),this._load(this.src))},_srcChanged:function(e,t){var i=this._resolveSrc(e);i!==this._resolvedSrc&&(this._resolvedSrc=i,this._reset(),this.preventLoad||this._load(e))},_placeholderChanged:function(){this.$.placeholder.style.backgroundImage=this.placeholder?'url("'+this.placeholder+'")':""},_transformChanged:function(){var e=this.$.sizedImgDiv.style,t=this.$.placeholder.style;e.backgroundSize=t.backgroundSize=this.sizing,e.backgroundPosition=t.backgroundPosition=this.sizing?this.position:"",e.backgroundRepeat=t.backgroundRepeat=this.sizing?"no-repeat":""},_resolveSrc:function(e){var t=this.ownerDocument.baseURI;return new URL(Polymer.ResolveUrl.resolveUrl(e,t),t).href}})</script></dom-module><style is="custom-style">:root{--google-red-100:#f4c7c3;--google-red-300:#e67c73;--google-red-500:#db4437;--google-red-700:#c53929;--google-blue-100:#c6dafc;--google-blue-300:#7baaf7;--google-blue-500:#4285f4;--google-blue-700:#3367d6;--google-green-100:#b7e1cd;--google-green-300:#57bb8a;--google-green-500:#0f9d58;--google-green-700:#0b8043;--google-yellow-100:#fce8b2;--google-yellow-300:#f7cb4d;--google-yellow-500:#f4b400;--google-yellow-700:#f09300;--google-grey-100:#f5f5f5;--google-grey-300:#e0e0e0;--google-grey-500:#9e9e9e;--google-grey-700:#616161;--paper-red-50:#ffebee;--paper-red-100:#ffcdd2;--paper-red-200:#ef9a9a;--paper-red-300:#e57373;--paper-red-400:#ef5350;--paper-red-500:#f44336;--paper-red-600:#e53935;--paper-red-700:#d32f2f;--paper-red-800:#c62828;--paper-red-900:#b71c1c;--paper-red-a100:#ff8a80;--paper-red-a200:#ff5252;--paper-red-a400:#ff1744;--paper-red-a700:#d50000;--paper-pink-50:#fce4ec;--paper-pink-100:#f8bbd0;--paper-pink-200:#f48fb1;--paper-pink-300:#f06292;--paper-pink-400:#ec407a;--paper-pink-500:#e91e63;--paper-pink-600:#d81b60;--paper-pink-700:#c2185b;--paper-pink-800:#ad1457;--paper-pink-900:#880e4f;--paper-pink-a100:#ff80ab;--paper-pink-a200:#ff4081;--paper-pink-a400:#f50057;--paper-pink-a700:#c51162;--paper-purple-50:#f3e5f5;--paper-purple-100:#e1bee7;--paper-purple-200:#ce93d8;--paper-purple-300:#ba68c8;--paper-purple-400:#ab47bc;--paper-purple-500:#9c27b0;--paper-purple-600:#8e24aa;--paper-purple-700:#7b1fa2;--paper-purple-800:#6a1b9a;--paper-purple-900:#4a148c;--paper-purple-a100:#ea80fc;--paper-purple-a200:#e040fb;--paper-purple-a400:#d500f9;--paper-purple-a700:#aa00ff;--paper-deep-purple-50:#ede7f6;--paper-deep-purple-100:#d1c4e9;--paper-deep-purple-200:#b39ddb;--paper-deep-purple-300:#9575cd;--paper-deep-purple-400:#7e57c2;--paper-deep-purple-500:#673ab7;--paper-deep-purple-600:#5e35b1;--paper-deep-purple-700:#512da8;--paper-deep-purple-800:#4527a0;--paper-deep-purple-900:#311b92;--paper-deep-purple-a100:#b388ff;--paper-deep-purple-a200:#7c4dff;--paper-deep-purple-a400:#651fff;--paper-deep-purple-a700:#6200ea;--paper-indigo-50:#e8eaf6;--paper-indigo-100:#c5cae9;--paper-indigo-200:#9fa8da;--paper-indigo-300:#7986cb;--paper-indigo-400:#5c6bc0;--paper-indigo-500:#3f51b5;--paper-indigo-600:#3949ab;--paper-indigo-700:#303f9f;--paper-indigo-800:#283593;--paper-indigo-900:#1a237e;--paper-indigo-a100:#8c9eff;--paper-indigo-a200:#536dfe;--paper-indigo-a400:#3d5afe;--paper-indigo-a700:#304ffe;--paper-blue-50:#e3f2fd;--paper-blue-100:#bbdefb;--paper-blue-200:#90caf9;--paper-blue-300:#64b5f6;--paper-blue-400:#42a5f5;--paper-blue-500:#2196f3;--paper-blue-600:#1e88e5;--paper-blue-700:#1976d2;--paper-blue-800:#1565c0;--paper-blue-900:#0d47a1;--paper-blue-a100:#82b1ff;--paper-blue-a200:#448aff;--paper-blue-a400:#2979ff;--paper-blue-a700:#2962ff;--paper-light-blue-50:#e1f5fe;--paper-light-blue-100:#b3e5fc;--paper-light-blue-200:#81d4fa;--paper-light-blue-300:#4fc3f7;--paper-light-blue-400:#29b6f6;--paper-light-blue-500:#03a9f4;--paper-light-blue-600:#039be5;--paper-light-blue-700:#0288d1;--paper-light-blue-800:#0277bd;--paper-light-blue-900:#01579b;--paper-light-blue-a100:#80d8ff;--paper-light-blue-a200:#40c4ff;--paper-light-blue-a400:#00b0ff;--paper-light-blue-a700:#0091ea;--paper-cyan-50:#e0f7fa;--paper-cyan-100:#b2ebf2;--paper-cyan-200:#80deea;--paper-cyan-300:#4dd0e1;--paper-cyan-400:#26c6da;--paper-cyan-500:#00bcd4;--paper-cyan-600:#00acc1;--paper-cyan-700:#0097a7;--paper-cyan-800:#00838f;--paper-cyan-900:#006064;--paper-cyan-a100:#84ffff;--paper-cyan-a200:#18ffff;--paper-cyan-a400:#00e5ff;--paper-cyan-a700:#00b8d4;--paper-teal-50:#e0f2f1;--paper-teal-100:#b2dfdb;--paper-teal-200:#80cbc4;--paper-teal-300:#4db6ac;--paper-teal-400:#26a69a;--paper-teal-500:#009688;--paper-teal-600:#00897b;--paper-teal-700:#00796b;--paper-teal-800:#00695c;--paper-teal-900:#004d40;--paper-teal-a100:#a7ffeb;--paper-teal-a200:#64ffda;--paper-teal-a400:#1de9b6;--paper-teal-a700:#00bfa5;--paper-green-50:#e8f5e9;--paper-green-100:#c8e6c9;--paper-green-200:#a5d6a7;--paper-green-300:#81c784;--paper-green-400:#66bb6a;--paper-green-500:#4caf50;--paper-green-600:#43a047;--paper-green-700:#388e3c;--paper-green-800:#2e7d32;--paper-green-900:#1b5e20;--paper-green-a100:#b9f6ca;--paper-green-a200:#69f0ae;--paper-green-a400:#00e676;--paper-green-a700:#00c853;--paper-light-green-50:#f1f8e9;--paper-light-green-100:#dcedc8;--paper-light-green-200:#c5e1a5;--paper-light-green-300:#aed581;--paper-light-green-400:#9ccc65;--paper-light-green-500:#8bc34a;--paper-light-green-600:#7cb342;--paper-light-green-700:#689f38;--paper-light-green-800:#558b2f;--paper-light-green-900:#33691e;--paper-light-green-a100:#ccff90;--paper-light-green-a200:#b2ff59;--paper-light-green-a400:#76ff03;--paper-light-green-a700:#64dd17;--paper-lime-50:#f9fbe7;--paper-lime-100:#f0f4c3;--paper-lime-200:#e6ee9c;--paper-lime-300:#dce775;--paper-lime-400:#d4e157;--paper-lime-500:#cddc39;--paper-lime-600:#c0ca33;--paper-lime-700:#afb42b;--paper-lime-800:#9e9d24;--paper-lime-900:#827717;--paper-lime-a100:#f4ff81;--paper-lime-a200:#eeff41;--paper-lime-a400:#c6ff00;--paper-lime-a700:#aeea00;--paper-yellow-50:#fffde7;--paper-yellow-100:#fff9c4;--paper-yellow-200:#fff59d;--paper-yellow-300:#fff176;--paper-yellow-400:#ffee58;--paper-yellow-500:#ffeb3b;--paper-yellow-600:#fdd835;--paper-yellow-700:#fbc02d;--paper-yellow-800:#f9a825;--paper-yellow-900:#f57f17;--paper-yellow-a100:#ffff8d;--paper-yellow-a200:#ffff00;--paper-yellow-a400:#ffea00;--paper-yellow-a700:#ffd600;--paper-amber-50:#fff8e1;--paper-amber-100:#ffecb3;--paper-amber-200:#ffe082;--paper-amber-300:#ffd54f;--paper-amber-400:#ffca28;--paper-amber-500:#ffc107;--paper-amber-600:#ffb300;--paper-amber-700:#ffa000;--paper-amber-800:#ff8f00;--paper-amber-900:#ff6f00;--paper-amber-a100:#ffe57f;--paper-amber-a200:#ffd740;--paper-amber-a400:#ffc400;--paper-amber-a700:#ffab00;--paper-orange-50:#fff3e0;--paper-orange-100:#ffe0b2;--paper-orange-200:#ffcc80;--paper-orange-300:#ffb74d;--paper-orange-400:#ffa726;--paper-orange-500:#ff9800;--paper-orange-600:#fb8c00;--paper-orange-700:#f57c00;--paper-orange-800:#ef6c00;--paper-orange-900:#e65100;--paper-orange-a100:#ffd180;--paper-orange-a200:#ffab40;--paper-orange-a400:#ff9100;--paper-orange-a700:#ff6500;--paper-deep-orange-50:#fbe9e7;--paper-deep-orange-100:#ffccbc;--paper-deep-orange-200:#ffab91;--paper-deep-orange-300:#ff8a65;--paper-deep-orange-400:#ff7043;--paper-deep-orange-500:#ff5722;--paper-deep-orange-600:#f4511e;--paper-deep-orange-700:#e64a19;--paper-deep-orange-800:#d84315;--paper-deep-orange-900:#bf360c;--paper-deep-orange-a100:#ff9e80;--paper-deep-orange-a200:#ff6e40;--paper-deep-orange-a400:#ff3d00;--paper-deep-orange-a700:#dd2c00;--paper-brown-50:#efebe9;--paper-brown-100:#d7ccc8;--paper-brown-200:#bcaaa4;--paper-brown-300:#a1887f;--paper-brown-400:#8d6e63;--paper-brown-500:#795548;--paper-brown-600:#6d4c41;--paper-brown-700:#5d4037;--paper-brown-800:#4e342e;--paper-brown-900:#3e2723;--paper-grey-50:#fafafa;--paper-grey-100:#f5f5f5;--paper-grey-200:#eeeeee;--paper-grey-300:#e0e0e0;--paper-grey-400:#bdbdbd;--paper-grey-500:#9e9e9e;--paper-grey-600:#757575;--paper-grey-700:#616161;--paper-grey-800:#424242;--paper-grey-900:#212121;--paper-blue-grey-50:#eceff1;--paper-blue-grey-100:#cfd8dc;--paper-blue-grey-200:#b0bec5;--paper-blue-grey-300:#90a4ae;--paper-blue-grey-400:#78909c;--paper-blue-grey-500:#607d8b;--paper-blue-grey-600:#546e7a;--paper-blue-grey-700:#455a64;--paper-blue-grey-800:#37474f;--paper-blue-grey-900:#263238;--dark-divider-opacity:0.12;--dark-disabled-opacity:0.38;--dark-secondary-opacity:0.54;--dark-primary-opacity:0.87;--light-divider-opacity:0.12;--light-disabled-opacity:0.3;--light-secondary-opacity:0.7;--light-primary-opacity:1.0}</style><style is="custom-style">:root{--primary-text-color:var(--light-theme-text-color);--primary-background-color:var(--light-theme-background-color);--secondary-text-color:var(--light-theme-secondary-color);--disabled-text-color:var(--light-theme-disabled-color);--divider-color:var(--light-theme-divider-color);--error-color:var(--paper-deep-orange-a700);--primary-color:var(--paper-indigo-500);--light-primary-color:var(--paper-indigo-100);--dark-primary-color:var(--paper-indigo-700);--accent-color:var(--paper-pink-a200);--light-accent-color:var(--paper-pink-a100);--dark-accent-color:var(--paper-pink-a400);--light-theme-background-color:#ffffff;--light-theme-base-color:#000000;--light-theme-text-color:var(--paper-grey-900);--light-theme-secondary-color:#737373;--light-theme-disabled-color:#9b9b9b;--light-theme-divider-color:#dbdbdb;--dark-theme-background-color:var(--paper-grey-900);--dark-theme-base-color:#ffffff;--dark-theme-text-color:#ffffff;--dark-theme-secondary-color:#bcbcbc;--dark-theme-disabled-color:#646464;--dark-theme-divider-color:#3c3c3c;--text-primary-color:var(--dark-theme-text-color);--default-primary-color:var(--primary-color)}</style><dom-module id="paper-card" assetpath="../../bower_components/paper-card/"><template><style include="paper-material">:host{display:inline-block;position:relative;box-sizing:border-box;background-color:var(--paper-card-background-color,--primary-background-color);border-radius:2px;@apply(--paper-font-common-base);@apply(--paper-card)}[hidden]{display:none!important}.header{position:relative;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden;@apply(--paper-card-header)}.header iron-image{display:block;width:100%;--iron-image-width:100%;pointer-events:none;@apply(--paper-card-header-image)}.header .title-text{padding:16px;font-size:24px;font-weight:400;color:var(--paper-card-header-color,#000);@apply(--paper-card-header-text)}.header .title-text.over-image{position:absolute;bottom:0;@apply(--paper-card-header-image-text)}:host ::content .card-content{padding:16px;position:relative;@apply(--paper-card-content)}:host ::content .card-actions{border-top:1px solid #e8e8e8;padding:5px 16px;position:relative;@apply(--paper-card-actions)}</style><div class="header"><iron-image hidden$="[[!image]]" aria-hidden$="[[_isHidden(image)]]" src="[[image]]" alt="[[alt]]" placeholder="[[placeholderImage]]" preload="[[preloadImage]]" fade="[[fadeImage]]"></iron-image><div hidden$="[[!heading]]" class$="title-text [[_computeHeadingClass(image)]]">[[heading]]</div></div><content></content></template><script>Polymer({is:"paper-card",properties:{heading:{type:String,value:"",observer:"_headingChanged"},image:{type:String,value:""},alt:{type:String},preloadImage:{type:Boolean,value:!1},fadeImage:{type:Boolean,value:!1},placeholderImage:{type:String,value:null},elevation:{type:Number,value:1,reflectToAttribute:!0},animatedShadow:{type:Boolean,value:!1},animated:{type:Boolean,reflectToAttribute:!0,readOnly:!0,computed:"_computeAnimated(animatedShadow)"}},_isHidden:function(e){return e?"false":"true"},_headingChanged:function(e){var t=this.getAttribute("heading"),a=this.getAttribute("aria-label");"string"==typeof a&&a!==t||this.setAttribute("aria-label",e)},_computeHeadingClass:function(e){return e?" over-image":""},_computeAnimated:function(e){return e}})</script></dom-module><dom-module id="paper-item-body" assetpath="../../bower_components/paper-item/"><template><style>:host{overflow:hidden;@apply(--layout-vertical);@apply(--layout-center-justified);@apply(--layout-flex)}:host([two-line]){min-height:var(--paper-item-body-two-line-min-height,72px)}:host([three-line]){min-height:var(--paper-item-body-three-line-min-height,88px)}:host>::content>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host>::content [secondary]{@apply(--paper-font-body1);color:var(--paper-item-body-secondary-color,--secondary-text-color);@apply(--paper-item-body-secondary)}</style><content></content></template><script>Polymer({is:"paper-item-body"})</script></dom-module><dom-module id="ha-automation-picker" assetpath="./"><template><style include="ha-style">:host{display:block}paper-card{display:block;max-width:600px;margin:0 auto}.content{padding:16px}.content>paper-card:first-child{margin-bottom:16px;color:var(--google-red-500)}paper-item{cursor:pointer}</style><app-header-layout has-scrolling-region=""><app-header fixed=""><app-toolbar><ha-menu-button narrow="[[narrow]]" show-menu="[[showMenu]]"></ha-menu-button><div main-title="">Automations Editor</div></app-toolbar></app-header><div class="content"><paper-card><div class="card-content">Currently Chrome is the only supported browser.</div></paper-card><paper-card heading="Pick automation to edit"><template is="dom-if" if="[[!automations.length]]"><div class="card-content">We couldn't find any editable automations.</div></template><template is="dom-repeat" items="[[automations]]" as="automation"><paper-item><paper-item-body two-line="" on-tap="automationTapped"><div>[[computeName(automation)]]</div><div secondary="">[[computeDescription(automation)]]</div></paper-item-body>[[computeStatus(automation)]]</paper-item></template></paper-card></div></app-header-layout></template></dom-module><script>Polymer({is:"ha-automation-picker",properties:{hass:{type:Object},narrow:{type:Boolean},showMenu:{type:Boolean,value:!1},automations:{type:Array}},automationTapped:function(t){this.fire("hass-automation-picked",{id:this.automations[t.model.index].attributes.id})},computeName:function(t){return window.hassUtil.computeStateName(t)},computeDescription:function(t){return""},computeStatus:function(t){return t.state}})</script><script>Polymer.IronFitBehavior={properties:{sizingTarget:{type:Object,value:function(){return this}},fitInto:{type:Object,value:window},noOverlap:{type:Boolean},positionTarget:{type:Element},horizontalAlign:{type:String},verticalAlign:{type:String},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},autoFitOnAttach:{type:Boolean,value:!1},_fitInfo:{type:Object}},get _fitWidth(){return this.fitInto===window?this.fitInto.innerWidth:this.fitInto.getBoundingClientRect().width},get _fitHeight(){return this.fitInto===window?this.fitInto.innerHeight:this.fitInto.getBoundingClientRect().height},get _fitLeft(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().left},get _fitTop(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().top},get _defaultPositionTarget(){var t=Polymer.dom(this).parentNode;return t&&t.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&(t=t.host),t},get _localeHorizontalAlign(){if(this._isRTL){if("right"===this.horizontalAlign)return"left";if("left"===this.horizontalAlign)return"right"}return this.horizontalAlign},attached:function(){void 0===this._isRTL&&(this._isRTL="rtl"==window.getComputedStyle(this).direction),this.positionTarget=this.positionTarget||this._defaultPositionTarget,this.autoFitOnAttach&&("none"===window.getComputedStyle(this).display?setTimeout(function(){this.fit()}.bind(this)):this.fit())},fit:function(){this.position(),this.constrain(),this.center()},_discoverInfo:function(){if(!this._fitInfo){var t=window.getComputedStyle(this),i=window.getComputedStyle(this.sizingTarget);this._fitInfo={inlineStyle:{top:this.style.top||"",left:this.style.left||"",position:this.style.position||""},sizerInlineStyle:{maxWidth:this.sizingTarget.style.maxWidth||"",maxHeight:this.sizingTarget.style.maxHeight||"",boxSizing:this.sizingTarget.style.boxSizing||""},positionedBy:{vertically:"auto"!==t.top?"top":"auto"!==t.bottom?"bottom":null,horizontally:"auto"!==t.left?"left":"auto"!==t.right?"right":null},sizedBy:{height:"none"!==i.maxHeight,width:"none"!==i.maxWidth,minWidth:parseInt(i.minWidth,10)||0,minHeight:parseInt(i.minHeight,10)||0},margin:{top:parseInt(t.marginTop,10)||0,right:parseInt(t.marginRight,10)||0,bottom:parseInt(t.marginBottom,10)||0,left:parseInt(t.marginLeft,10)||0}}}},resetFit:function(){var t=this._fitInfo||{};for(var i in t.sizerInlineStyle)this.sizingTarget.style[i]=t.sizerInlineStyle[i];for(var i in t.inlineStyle)this.style[i]=t.inlineStyle[i];this._fitInfo=null},refit:function(){var t=this.sizingTarget.scrollLeft,i=this.sizingTarget.scrollTop;this.resetFit(),this.fit(),this.sizingTarget.scrollLeft=t,this.sizingTarget.scrollTop=i},position:function(){if(this.horizontalAlign||this.verticalAlign){this._discoverInfo(),this.style.position="fixed",this.sizingTarget.style.boxSizing="border-box",this.style.left="0px",this.style.top="0px";var t=this.getBoundingClientRect(),i=this.__getNormalizedRect(this.positionTarget),e=this.__getNormalizedRect(this.fitInto),n=this._fitInfo.margin,o={width:t.width+n.left+n.right,height:t.height+n.top+n.bottom},h=this.__getPosition(this._localeHorizontalAlign,this.verticalAlign,o,i,e),s=h.left+n.left,l=h.top+n.top,r=Math.min(e.right-n.right,s+t.width),a=Math.min(e.bottom-n.bottom,l+t.height);s=Math.max(e.left+n.left,Math.min(s,r-this._fitInfo.sizedBy.minWidth)),l=Math.max(e.top+n.top,Math.min(l,a-this._fitInfo.sizedBy.minHeight)),this.sizingTarget.style.maxWidth=Math.max(r-s,this._fitInfo.sizedBy.minWidth)+"px",this.sizingTarget.style.maxHeight=Math.max(a-l,this._fitInfo.sizedBy.minHeight)+"px",this.style.left=s-t.left+"px",this.style.top=l-t.top+"px"}},constrain:function(){if(!this.horizontalAlign&&!this.verticalAlign){this._discoverInfo();var t=this._fitInfo;t.positionedBy.vertically||(this.style.position="fixed",this.style.top="0px"),t.positionedBy.horizontally||(this.style.position="fixed",this.style.left="0px"),this.sizingTarget.style.boxSizing="border-box";var i=this.getBoundingClientRect();t.sizedBy.height||this.__sizeDimension(i,t.positionedBy.vertically,"top","bottom","Height"),t.sizedBy.width||this.__sizeDimension(i,t.positionedBy.horizontally,"left","right","Width")}},_sizeDimension:function(t,i,e,n,o){this.__sizeDimension(t,i,e,n,o)},__sizeDimension:function(t,i,e,n,o){var h=this._fitInfo,s=this.__getNormalizedRect(this.fitInto),l="Width"===o?s.width:s.height,r=i===n,a=r?l-t[n]:t[e],g=h.margin[r?e:n],f="offset"+o,p=this[f]-this.sizingTarget[f];this.sizingTarget.style["max"+o]=l-g-a-p+"px"},center:function(){if(!this.horizontalAlign&&!this.verticalAlign){this._discoverInfo();var t=this._fitInfo.positionedBy;if(!t.vertically||!t.horizontally){this.style.position="fixed",t.vertically||(this.style.top="0px"),t.horizontally||(this.style.left="0px");var i=this.getBoundingClientRect(),e=this.__getNormalizedRect(this.fitInto);if(!t.vertically){var n=e.top-i.top+(e.height-i.height)/2;this.style.top=n+"px"}if(!t.horizontally){var o=e.left-i.left+(e.width-i.width)/2;this.style.left=o+"px"}}}},__getNormalizedRect:function(t){return t===document.documentElement||t===window?{top:0,left:0,width:window.innerWidth,height:window.innerHeight,right:window.innerWidth,bottom:window.innerHeight}:t.getBoundingClientRect()},__getCroppedArea:function(t,i,e){var n=Math.min(0,t.top)+Math.min(0,e.bottom-(t.top+i.height)),o=Math.min(0,t.left)+Math.min(0,e.right-(t.left+i.width));return Math.abs(n)*i.width+Math.abs(o)*i.height},__getPosition:function(t,i,e,n,o){var h=[{verticalAlign:"top",horizontalAlign:"left",top:n.top+this.verticalOffset,left:n.left+this.horizontalOffset},{verticalAlign:"top",horizontalAlign:"right",top:n.top+this.verticalOffset,left:n.right-e.width-this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"left",top:n.bottom-e.height-this.verticalOffset,left:n.left+this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"right",top:n.bottom-e.height-this.verticalOffset,left:n.right-e.width-this.horizontalOffset}];if(this.noOverlap){for(var s=0,l=h.length;s<l;s++){var r={};for(var a in h[s])r[a]=h[s][a];h.push(r)}h[0].top=h[1].top+=n.height,h[2].top=h[3].top-=n.height,h[4].left=h[6].left+=n.width,h[5].left=h[7].left-=n.width}i="auto"===i?null:i,t="auto"===t?null:t;for(var g,s=0;s<h.length;s++){var f=h[s];if(!this.dynamicAlign&&!this.noOverlap&&f.verticalAlign===i&&f.horizontalAlign===t){g=f;break}var p=!(i&&f.verticalAlign!==i||t&&f.horizontalAlign!==t);if(this.dynamicAlign||p){g=g||f,f.croppedArea=this.__getCroppedArea(f,e,o);var d=f.croppedArea-g.croppedArea;if((d<0||0===d&&p)&&(g=f),0===g.croppedArea&&p)break}}return g}}</script><dom-module id="iron-overlay-backdrop" assetpath="../../bower_components/iron-overlay-behavior/"><template><style>:host{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--iron-overlay-backdrop-background-color,#000);opacity:0;transition:opacity .2s;pointer-events:none;@apply(--iron-overlay-backdrop)}:host(.opened){opacity:var(--iron-overlay-backdrop-opacity,.6);pointer-events:auto;@apply(--iron-overlay-backdrop-opened)}</style><content></content></template></dom-module><script>!function(){"use strict";Polymer({is:"iron-overlay-backdrop",properties:{opened:{reflectToAttribute:!0,type:Boolean,value:!1,observer:"_openedChanged"}},listeners:{transitionend:"_onTransitionend"},created:function(){this.__openedRaf=null},attached:function(){this.opened&&this._openedChanged(this.opened)},prepare:function(){this.opened&&!this.parentNode&&Polymer.dom(document.body).appendChild(this)},open:function(){this.opened=!0},close:function(){this.opened=!1},complete:function(){this.opened||this.parentNode!==document.body||Polymer.dom(this.parentNode).removeChild(this)},_onTransitionend:function(e){e&&e.target===this&&this.complete()},_openedChanged:function(e){if(e)this.prepare();else{var t=window.getComputedStyle(this);"0s"!==t.transitionDuration&&0!=t.opacity||this.complete()}this.isAttached&&(this.__openedRaf&&(window.cancelAnimationFrame(this.__openedRaf),this.__openedRaf=null),this.scrollTop=this.scrollTop,this.__openedRaf=window.requestAnimationFrame(function(){this.__openedRaf=null,this.toggleClass("opened",this.opened)}.bind(this)))}})}()</script><script>Polymer.IronOverlayManagerClass=function(){this._overlays=[],this._minimumZ=101,this._backdropElement=null,Polymer.Gestures.add(document.documentElement,"tap",null),document.addEventListener("tap",this._onCaptureClick.bind(this),!0),document.addEventListener("focus",this._onCaptureFocus.bind(this),!0),document.addEventListener("keydown",this._onCaptureKeyDown.bind(this),!0)},Polymer.IronOverlayManagerClass.prototype={constructor:Polymer.IronOverlayManagerClass,get backdropElement(){return this._backdropElement||(this._backdropElement=document.createElement("iron-overlay-backdrop")),this._backdropElement},get deepActiveElement(){for(var e=document.activeElement||document.body;e.root&&Polymer.dom(e.root).activeElement;)e=Polymer.dom(e.root).activeElement;return e},_bringOverlayAtIndexToFront:function(e){var t=this._overlays[e];if(t){var r=this._overlays.length-1,a=this._overlays[r];if(a&&this._shouldBeBehindOverlay(t,a)&&r--,!(e>=r)){var n=Math.max(this.currentOverlayZ(),this._minimumZ);for(this._getZ(t)<=n&&this._applyOverlayZ(t,n);e<r;)this._overlays[e]=this._overlays[e+1],e++;this._overlays[r]=t}}},addOrRemoveOverlay:function(e){e.opened?this.addOverlay(e):this.removeOverlay(e)},addOverlay:function(e){var t=this._overlays.indexOf(e);if(t>=0)return this._bringOverlayAtIndexToFront(t),void this.trackBackdrop();var r=this._overlays.length,a=this._overlays[r-1],n=Math.max(this._getZ(a),this._minimumZ),o=this._getZ(e);if(a&&this._shouldBeBehindOverlay(e,a)){this._applyOverlayZ(a,n),r--;var i=this._overlays[r-1];n=Math.max(this._getZ(i),this._minimumZ)}o<=n&&this._applyOverlayZ(e,n),this._overlays.splice(r,0,e),this.trackBackdrop()},removeOverlay:function(e){var t=this._overlays.indexOf(e);-1!==t&&(this._overlays.splice(t,1),this.trackBackdrop())},currentOverlay:function(){var e=this._overlays.length-1;return this._overlays[e]},currentOverlayZ:function(){return this._getZ(this.currentOverlay())},ensureMinimumZ:function(e){this._minimumZ=Math.max(this._minimumZ,e)},focusOverlay:function(){var e=this.currentOverlay();e&&e._applyFocus()},trackBackdrop:function(){var e=this._overlayWithBackdrop();(e||this._backdropElement)&&(this.backdropElement.style.zIndex=this._getZ(e)-1,this.backdropElement.opened=!!e)},getBackdrops:function(){for(var e=[],t=0;t<this._overlays.length;t++)this._overlays[t].withBackdrop&&e.push(this._overlays[t]);return e},backdropZ:function(){return this._getZ(this._overlayWithBackdrop())-1},_overlayWithBackdrop:function(){for(var e=0;e<this._overlays.length;e++)if(this._overlays[e].withBackdrop)return this._overlays[e]},_getZ:function(e){var t=this._minimumZ;if(e){var r=Number(e.style.zIndex||window.getComputedStyle(e).zIndex);r===r&&(t=r)}return t},_setZ:function(e,t){e.style.zIndex=t},_applyOverlayZ:function(e,t){this._setZ(e,t+2)},_overlayInPath:function(e){e=e||[];for(var t=0;t<e.length;t++)if(e[t]._manager===this)return e[t]},_onCaptureClick:function(e){var t=this.currentOverlay();t&&this._overlayInPath(Polymer.dom(e).path)!==t&&t._onCaptureClick(e)},_onCaptureFocus:function(e){var t=this.currentOverlay();t&&t._onCaptureFocus(e)},_onCaptureKeyDown:function(e){var t=this.currentOverlay();t&&(Polymer.IronA11yKeysBehavior.keyboardEventMatchesKeys(e,"esc")?t._onCaptureEsc(e):Polymer.IronA11yKeysBehavior.keyboardEventMatchesKeys(e,"tab")&&t._onCaptureTab(e))},_shouldBeBehindOverlay:function(e,t){return!e.alwaysOnTop&&t.alwaysOnTop}},Polymer.IronOverlayManager=new Polymer.IronOverlayManagerClass</script><script>!function(){"use strict";var e=Element.prototype,t=e.matches||e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;Polymer.IronFocusablesHelper={getTabbableNodes:function(e){var t=[];return this._collectTabbableNodes(e,t)?this._sortByTabIndex(t):t},isFocusable:function(e){return t.call(e,"input, select, textarea, button, object")?t.call(e,":not([disabled])"):t.call(e,"a[href], area[href], iframe, [tabindex], [contentEditable]")},isTabbable:function(e){return this.isFocusable(e)&&t.call(e,':not([tabindex="-1"])')&&this._isVisible(e)},_normalizedTabIndex:function(e){if(this.isFocusable(e)){var t=e.getAttribute("tabindex")||0;return Number(t)}return-1},_collectTabbableNodes:function(e,t){if(e.nodeType!==Node.ELEMENT_NODE||!this._isVisible(e))return!1;var r=e,a=this._normalizedTabIndex(r),i=a>0;a>=0&&t.push(r);var n;n="content"===r.localName?Polymer.dom(r).getDistributedNodes():Polymer.dom(r.root||r).children;for(var o=0;o<n.length;o++){var s=this._collectTabbableNodes(n[o],t);i=i||s}return i},_isVisible:function(e){var t=e.style;return"hidden"!==t.visibility&&"none"!==t.display&&(t=window.getComputedStyle(e),"hidden"!==t.visibility&&"none"!==t.display)},_sortByTabIndex:function(e){var t=e.length;if(t<2)return e;var r=Math.ceil(t/2),a=this._sortByTabIndex(e.slice(0,r)),i=this._sortByTabIndex(e.slice(r));return this._mergeSortByTabIndex(a,i)},_mergeSortByTabIndex:function(e,t){for(var r=[];e.length>0&&t.length>0;)this._hasLowerTabOrder(e[0],t[0])?r.push(t.shift()):r.push(e.shift());return r.concat(e,t)},_hasLowerTabOrder:function(e,t){var r=Math.max(e.tabIndex,0),a=Math.max(t.tabIndex,0);return 0===r||0===a?a>r:r>a}}}()</script><script>!function(){"use strict";Polymer.IronOverlayBehaviorImpl={properties:{opened:{observer:"_openedChanged",type:Boolean,value:!1,notify:!0},canceled:{observer:"_canceledChanged",readOnly:!0,type:Boolean,value:!1},withBackdrop:{observer:"_withBackdropChanged",type:Boolean},noAutoFocus:{type:Boolean,value:!1},noCancelOnEscKey:{type:Boolean,value:!1},noCancelOnOutsideClick:{type:Boolean,value:!1},closingReason:{type:Object},restoreFocusOnClose:{type:Boolean,value:!1},alwaysOnTop:{type:Boolean},_manager:{type:Object,value:Polymer.IronOverlayManager},_focusedChild:{type:Object}},listeners:{"iron-resize":"_onIronResize"},get backdropElement(){return this._manager.backdropElement},get _focusNode(){return this._focusedChild||Polymer.dom(this).querySelector("[autofocus]")||this},get _focusableNodes(){return Polymer.IronFocusablesHelper.getTabbableNodes(this)},ready:function(){this.__isAnimating=!1,this.__shouldRemoveTabIndex=!1,this.__firstFocusableNode=this.__lastFocusableNode=null,this.__raf=null,this.__restoreFocusNode=null,this._ensureSetup()},attached:function(){this.opened&&this._openedChanged(this.opened),this._observer=Polymer.dom(this).observeNodes(this._onNodesChange)},detached:function(){Polymer.dom(this).unobserveNodes(this._observer),this._observer=null,this.__raf&&(window.cancelAnimationFrame(this.__raf),this.__raf=null),this._manager.removeOverlay(this)},toggle:function(){this._setCanceled(!1),this.opened=!this.opened},open:function(){this._setCanceled(!1),this.opened=!0},close:function(){this._setCanceled(!1),this.opened=!1},cancel:function(e){this.fire("iron-overlay-canceled",e,{cancelable:!0}).defaultPrevented||(this._setCanceled(!0),this.opened=!1)},invalidateTabbables:function(){this.__firstFocusableNode=this.__lastFocusableNode=null},_ensureSetup:function(){this._overlaySetup||(this._overlaySetup=!0,this.style.outline="none",this.style.display="none")},_openedChanged:function(e){e?this.removeAttribute("aria-hidden"):this.setAttribute("aria-hidden","true"),this.isAttached&&(this.__isAnimating=!0,this.__onNextAnimationFrame(this.__openedChanged))},_canceledChanged:function(){this.closingReason=this.closingReason||{},this.closingReason.canceled=this.canceled},_withBackdropChanged:function(){this.withBackdrop&&!this.hasAttribute("tabindex")?(this.setAttribute("tabindex","-1"),this.__shouldRemoveTabIndex=!0):this.__shouldRemoveTabIndex&&(this.removeAttribute("tabindex"),this.__shouldRemoveTabIndex=!1),this.opened&&this.isAttached&&this._manager.trackBackdrop()},_prepareRenderOpened:function(){this.__restoreFocusNode=this._manager.deepActiveElement,this._preparePositioning(),this.refit(),this._finishPositioning(),this.noAutoFocus&&document.activeElement===this._focusNode&&(this._focusNode.blur(),this.__restoreFocusNode.focus())},_renderOpened:function(){this._finishRenderOpened()},_renderClosed:function(){this._finishRenderClosed()},_finishRenderOpened:function(){this.notifyResize(),this.__isAnimating=!1,this.fire("iron-overlay-opened")},_finishRenderClosed:function(){this.style.display="none",this.style.zIndex="",this.notifyResize(),this.__isAnimating=!1,this.fire("iron-overlay-closed",this.closingReason)},_preparePositioning:function(){this.style.transition=this.style.webkitTransition="none",this.style.transform=this.style.webkitTransform="none",this.style.display=""},_finishPositioning:function(){this.style.display="none",this.scrollTop=this.scrollTop,this.style.transition=this.style.webkitTransition="",this.style.transform=this.style.webkitTransform="",this.style.display="",this.scrollTop=this.scrollTop},_applyFocus:function(){if(this.opened)this.noAutoFocus||this._focusNode.focus();else{this._focusNode.blur(),this._focusedChild=null,this.restoreFocusOnClose&&this.__restoreFocusNode&&this.__restoreFocusNode.focus(),this.__restoreFocusNode=null;var e=this._manager.currentOverlay();e&&this!==e&&e._applyFocus()}},_onCaptureClick:function(e){this.noCancelOnOutsideClick||this.cancel(e)},_onCaptureFocus:function(e){if(this.withBackdrop){var t=Polymer.dom(e).path;-1===t.indexOf(this)?(e.stopPropagation(),this._applyFocus()):this._focusedChild=t[0]}},_onCaptureEsc:function(e){this.noCancelOnEscKey||this.cancel(e)},_onCaptureTab:function(e){if(this.withBackdrop){this.__ensureFirstLastFocusables();var t=e.shiftKey,i=t?this.__firstFocusableNode:this.__lastFocusableNode,s=t?this.__lastFocusableNode:this.__firstFocusableNode,o=!1;if(i===s)o=!0;else{var n=this._manager.deepActiveElement;o=n===i||n===this}o&&(e.preventDefault(),this._focusedChild=s,this._applyFocus())}},_onIronResize:function(){this.opened&&!this.__isAnimating&&this.__onNextAnimationFrame(this.refit)},_onNodesChange:function(){this.opened&&!this.__isAnimating&&(this.invalidateTabbables(),this.notifyResize())},__ensureFirstLastFocusables:function(){if(!this.__firstFocusableNode||!this.__lastFocusableNode){var e=this._focusableNodes;this.__firstFocusableNode=e[0],this.__lastFocusableNode=e[e.length-1]}},__openedChanged:function(){this.opened?(this._prepareRenderOpened(),this._manager.addOverlay(this),this._applyFocus(),this._renderOpened()):(this._manager.removeOverlay(this),this._applyFocus(),this._renderClosed())},__onNextAnimationFrame:function(e){this.__raf&&window.cancelAnimationFrame(this.__raf);var t=this;this.__raf=window.requestAnimationFrame(function(){t.__raf=null,e.call(t)})}},Polymer.IronOverlayBehavior=[Polymer.IronFitBehavior,Polymer.IronResizableBehavior,Polymer.IronOverlayBehaviorImpl]}()</script><script>Polymer.NeonAnimatableBehavior={properties:{animationConfig:{type:Object},entryAnimation:{observer:"_entryAnimationChanged",type:String},exitAnimation:{observer:"_exitAnimationChanged",type:String}},_entryAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.entry=[{name:this.entryAnimation,node:this}]},_exitAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.exit=[{name:this.exitAnimation,node:this}]},_copyProperties:function(i,n){for(var t in n)i[t]=n[t]},_cloneConfig:function(i){var n={isClone:!0};return this._copyProperties(n,i),n},_getAnimationConfigRecursive:function(i,n,t){if(this.animationConfig){if(this.animationConfig.value&&"function"==typeof this.animationConfig.value)return void this._warn(this._logf("playAnimation","Please put 'animationConfig' inside of your components 'properties' object instead of outside of it."));var o;if(o=i?this.animationConfig[i]:this.animationConfig,Array.isArray(o)||(o=[o]),o)for(var e,a=0;e=o[a];a++)if(e.animatable)e.animatable._getAnimationConfigRecursive(e.type||i,n,t);else if(e.id){var r=n[e.id];r?(r.isClone||(n[e.id]=this._cloneConfig(r),r=n[e.id]),this._copyProperties(r,e)):n[e.id]=e}else t.push(e)}},getAnimationConfig:function(i){var n={},t=[];this._getAnimationConfigRecursive(i,n,t);for(var o in n)t.push(n[o]);return t}}</script><script>Polymer.NeonAnimationRunnerBehaviorImpl={_configureAnimations:function(n){var i=[];if(n.length>0)for(var e,t=0;e=n[t];t++){var o=document.createElement(e.name);if(o.isNeonAnimation){var a=null;try{a=o.configure(e),"function"!=typeof a.cancel&&(a=document.timeline.play(a))}catch(n){a=null,console.warn("Couldnt play","(",e.name,").",n)}a&&i.push({neonAnimation:o,config:e,animation:a})}else console.warn(this.is+":",e.name,"not found!")}return i},_shouldComplete:function(n){for(var i=!0,e=0;e<n.length;e++)if("finished"!=n[e].animation.playState){i=!1;break}return i},_complete:function(n){for(var i=0;i<n.length;i++)n[i].neonAnimation.complete(n[i].config);for(var i=0;i<n.length;i++)n[i].animation.cancel()},playAnimation:function(n,i){var e=this.getAnimationConfig(n);if(e){this._active=this._active||{},this._active[n]&&(this._complete(this._active[n]),delete this._active[n]);var t=this._configureAnimations(e);if(0==t.length)return void this.fire("neon-animation-finish",i,{bubbles:!1});this._active[n]=t;for(var o=0;o<t.length;o++)t[o].animation.onfinish=function(){this._shouldComplete(t)&&(this._complete(t),delete this._active[n],this.fire("neon-animation-finish",i,{bubbles:!1}))}.bind(this)}},cancelAnimation:function(){for(var n in this._animations)this._animations[n].cancel();this._animations={}}},Polymer.NeonAnimationRunnerBehavior=[Polymer.NeonAnimatableBehavior,Polymer.NeonAnimationRunnerBehaviorImpl]</script><script>Polymer.NeonAnimationBehavior={properties:{animationTiming:{type:Object,value:function(){return{duration:500,easing:"cubic-bezier(0.4, 0, 0.2, 1)",fill:"both"}}}},isNeonAnimation:!0,timingFromConfig:function(i){if(i.timing)for(var n in i.timing)this.animationTiming[n]=i.timing[n];return this.animationTiming},setPrefixedProperty:function(i,n,r){for(var t,o={transform:["webkitTransform"],transformOrigin:["mozTransformOrigin","webkitTransformOrigin"]},e=o[n],m=0;t=e[m];m++)i.style[t]=r;i.style[n]=r},complete:function(){}}</script><script>!function(a,b){var c={},d={},e={},f=null;!function(t,e){function i(t){if("number"==typeof t)return t;var e={};for(var i in t)e[i]=t[i];return e}function n(){this._delay=0,this._endDelay=0,this._fill="none",this._iterationStart=0,this._iterations=1,this._duration=0,this._playbackRate=1,this._direction="normal",this._easing="linear",this._easingFunction=x}function r(){return t.isDeprecated("Invalid timing inputs","2016-03-02","TypeError exceptions will be thrown instead.",!0)}function o(e,i,r){var o=new n;return i&&(o.fill="both",o.duration="auto"),"number"!=typeof e||isNaN(e)?void 0!==e&&Object.getOwnPropertyNames(e).forEach(function(i){if("auto"!=e[i]){if(("number"==typeof o[i]||"duration"==i)&&("number"!=typeof e[i]||isNaN(e[i])))return;if("fill"==i&&-1==w.indexOf(e[i]))return;if("direction"==i&&-1==T.indexOf(e[i]))return;if("playbackRate"==i&&1!==e[i]&&t.isDeprecated("AnimationEffectTiming.playbackRate","2014-11-28","Use Animation.playbackRate instead."))return;o[i]=e[i]}}):o.duration=e,o}function a(t){return"number"==typeof t&&(t=isNaN(t)?{duration:0}:{duration:t}),t}function s(e,i){return e=t.numericTimingToObject(e),o(e,i)}function u(t,e,i,n){return t<0||t>1||i<0||i>1?x:function(r){function o(t,e,i){return 3*t*(1-i)*(1-i)*i+3*e*(1-i)*i*i+i*i*i}if(r<=0){var a=0;return t>0?a=e/t:!e&&i>0&&(a=n/i),a*r}if(r>=1){var s=0;return i<1?s=(n-1)/(i-1):1==i&&t<1&&(s=(e-1)/(t-1)),1+s*(r-1)}for(var u=0,c=1;u<c;){var f=(u+c)/2,l=o(t,i,f);if(Math.abs(r-l)<1e-5)return o(e,n,f);l<r?u=f:c=f}return o(e,n,f)}}function c(t,e){return function(i){if(i>=1)return 1;var n=1/t;return(i+=e*n)-i%n}}function f(t){k||(k=document.createElement("div").style),k.animationTimingFunction="",k.animationTimingFunction=t;var e=k.animationTimingFunction;if(""==e&&r())throw new TypeError(t+" is not a valid value for easing");return e}function l(t){if("linear"==t)return x;var e=N.exec(t);if(e)return u.apply(this,e.slice(1).map(Number));var i=O.exec(t);return i?c(Number(i[1]),{start:E,middle:A,end:P}[i[2]]):j[t]||x}function h(t){return Math.abs(m(t)/t.playbackRate)}function m(t){return 0===t.duration||0===t.iterations?0:t.duration*t.iterations}function d(t,e,i){if(null==e)return S;var n=i.delay+t+i.endDelay;return e<Math.min(i.delay,n)?C:e>=Math.min(i.delay+t,n)?D:F}function p(t,e,i,n,r){switch(n){case C:return"backwards"==e||"both"==e?0:null;case F:return i-r;case D:return"forwards"==e||"both"==e?t:null;case S:return null}}function _(t,e,i,n,r){var o=r;return 0===t?e!==C&&(o+=i):o+=n/t,o}function g(t,e,i,n,r,o){var a=t===1/0?e%1:t%1;return 0!==a||i!==D||0===n||0===r&&0!==o||(a=1),a}function b(t,e,i,n){return t===D&&e===1/0?1/0:1===i?Math.floor(n)-1:Math.floor(n)}function v(t,e,i){var n=t;if("normal"!==t&&"reverse"!==t){var r=e;"alternate-reverse"===t&&(r+=1),n="normal",r!==1/0&&r%2!=0&&(n="reverse")}return"normal"===n?i:1-i}function y(t,e,i){var n=d(t,e,i),r=p(t,i.fill,e,n,i.delay);if(null===r)return null;var o=_(i.duration,n,i.iterations,r,i.iterationStart),a=g(o,i.iterationStart,n,i.iterations,r,i.duration),s=b(n,i.iterations,a,o),u=v(i.direction,s,a);return i._easingFunction(u)}var w="backwards|forwards|both|none".split("|"),T="reverse|alternate|alternate-reverse".split("|"),x=function(t){return t};n.prototype={_setMember:function(e,i){this["_"+e]=i,this._effect&&(this._effect._timingInput[e]=i,this._effect._timing=t.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=t.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(t){this._setMember("delay",t)},get delay(){return this._delay},set endDelay(t){this._setMember("endDelay",t)},get endDelay(){return this._endDelay},set fill(t){this._setMember("fill",t)},get fill(){return this._fill},set iterationStart(t){if((isNaN(t)||t<0)&&r())throw new TypeError("iterationStart must be a non-negative number, received: "+timing.iterationStart);this._setMember("iterationStart",t)},get iterationStart(){return this._iterationStart},set duration(t){if("auto"!=t&&(isNaN(t)||t<0)&&r())throw new TypeError("duration must be non-negative or auto, received: "+t);this._setMember("duration",t)},get duration(){return this._duration},set direction(t){this._setMember("direction",t)},get direction(){return this._direction},set easing(t){this._easingFunction=l(f(t)),this._setMember("easing",t)},get easing(){return this._easing},set iterations(t){if((isNaN(t)||t<0)&&r())throw new TypeError("iterations must be non-negative, received: "+t);this._setMember("iterations",t)},get iterations(){return this._iterations}};var E=1,A=.5,P=0,j={ease:u(.25,.1,.25,1),"ease-in":u(.42,0,1,1),"ease-out":u(0,0,.58,1),"ease-in-out":u(.42,0,.58,1),"step-start":c(1,E),"step-middle":c(1,A),"step-end":c(1,P)},k=null,R="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",N=new RegExp("cubic-bezier\\("+R+","+R+","+R+","+R+"\\)"),O=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,S=0,C=1,D=2,F=3;t.cloneTimingInput=i,t.makeTiming=o,t.numericTimingToObject=a,t.normalizeTimingInput=s,t.calculateActiveDuration=h,t.calculateIterationProgress=y,t.calculatePhase=d,t.normalizeEasing=f,t.parseEasingFunction=l}(c),function(t,e){function i(t,e){return t in f?f[t][e]||e:e}function n(t){return"display"===t||0===t.lastIndexOf("animation",0)||0===t.lastIndexOf("transition",0)}function r(t,e,r){if(!n(t)){var o=s[t];if(o){u.style[t]=e;for(var a in o){var c=o[a],f=u.style[c];r[c]=i(c,f)}}else r[t]=i(t,e)}}function o(t){var e=[];for(var i in t)if(!(i in["easing","offset","composite"])){var n=t[i];Array.isArray(n)||(n=[n]);for(var r,o=n.length,a=0;a<o;a++)r={},r.offset="offset"in t?t.offset:1==o?1:a/(o-1),"easing"in t&&(r.easing=t.easing),"composite"in t&&(r.composite=t.composite),r[i]=n[a],e.push(r)}return e.sort(function(t,e){return t.offset-e.offset}),e}function a(e){if(null==e)return[];window.Symbol&&Symbol.iterator&&Array.prototype.from&&e[Symbol.iterator]&&(e=Array.from(e)),Array.isArray(e)||(e=o(e));for(var i=e.map(function(e){var i={};for(var n in e){var o=e[n];if("offset"==n){if(null!=o){if(o=Number(o),!isFinite(o))throw new TypeError("Keyframe offsets must be numbers.");if(o<0||o>1)throw new TypeError("Keyframe offsets must be between 0 and 1.")}}else if("composite"==n){if("add"==o||"accumulate"==o)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"add compositing is not supported"};if("replace"!=o)throw new TypeError("Invalid composite mode "+o+".")}else o="easing"==n?t.normalizeEasing(o):""+o;r(n,o,i)}return void 0==i.offset&&(i.offset=null),void 0==i.easing&&(i.easing="linear"),i}),n=!0,a=-1/0,s=0;s<i.length;s++){var u=i[s].offset;if(null!=u){if(u<a)throw new TypeError("Keyframes are not loosely sorted by offset. Sort or specify offsets.");a=u}else n=!1}return i=i.filter(function(t){return t.offset>=0&&t.offset<=1}),n||function(){var t=i.length;null==i[t-1].offset&&(i[t-1].offset=1),t>1&&null==i[0].offset&&(i[0].offset=0);for(var e=0,n=i[0].offset,r=1;r<t;r++){var o=i[r].offset;if(null!=o){for(var a=1;a<r-e;a++)i[e+a].offset=n+(o-n)*a/(r-e);e=r,n=o}}}(),i}var s={background:["backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundOrigin","backgroundClip","backgroundColor"],border:["borderTopColor","borderTopStyle","borderTopWidth","borderRightColor","borderRightStyle","borderRightWidth","borderBottomColor","borderBottomStyle","borderBottomWidth","borderLeftColor","borderLeftStyle","borderLeftWidth"],borderBottom:["borderBottomWidth","borderBottomStyle","borderBottomColor"],borderColor:["borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"],borderLeft:["borderLeftWidth","borderLeftStyle","borderLeftColor"],borderRadius:["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],borderRight:["borderRightWidth","borderRightStyle","borderRightColor"],borderTop:["borderTopWidth","borderTopStyle","borderTopColor"],borderWidth:["borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth"],flex:["flexGrow","flexShrink","flexBasis"],font:["fontFamily","fontSize","fontStyle","fontVariant","fontWeight","lineHeight"],margin:["marginTop","marginRight","marginBottom","marginLeft"],outline:["outlineColor","outlineStyle","outlineWidth"],padding:["paddingTop","paddingRight","paddingBottom","paddingLeft"]},u=document.createElementNS("http://www.w3.org/1999/xhtml","div"),c={thin:"1px",medium:"3px",thick:"5px"},f={borderBottomWidth:c,borderLeftWidth:c,borderRightWidth:c,borderTopWidth:c,fontSize:{"xx-small":"60%","x-small":"75%",small:"89%",medium:"100%",large:"120%","x-large":"150%","xx-large":"200%"},fontWeight:{normal:"400",bold:"700"},outlineWidth:c,textShadow:{none:"0px 0px 0px transparent"},boxShadow:{none:"0px 0px 0px 0px transparent"}};t.convertToArrayForm=o,t.normalizeKeyframes=a}(c),function(t){var e={};t.isDeprecated=function(t,i,n,r){var o=r?"are":"is",a=new Date,s=new Date(i);return s.setMonth(s.getMonth()+3),!(a<s&&(t in e||console.warn("Web Animations: "+t+" "+o+" deprecated and will stop working on "+s.toDateString()+". "+n),e[t]=!0,1))},t.deprecated=function(e,i,n,r){var o=r?"are":"is";if(t.isDeprecated(e,i,n,r))throw new Error(e+" "+o+" no longer supported. "+n)}}(c),function(){if(document.documentElement.animate){var a=document.documentElement.animate([],0),b=!0;if(a&&(b=!1,"play|currentTime|pause|reverse|playbackRate|cancel|finish|startTime|playState".split("|").forEach(function(t){void 0===a[t]&&(b=!0)})),!b)return}!function(t,e,i){function n(t){for(var e={},i=0;i<t.length;i++)for(var n in t[i])if("offset"!=n&&"easing"!=n&&"composite"!=n){var r={offset:t[i].offset,easing:t[i].easing,value:t[i][n]};e[n]=e[n]||[],e[n].push(r)}for(var o in e){var a=e[o];if(0!=a[0].offset||1!=a[a.length-1].offset)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"Partial keyframes are not supported"}}return e}function r(i){var n=[];for(var r in i)for(var o=i[r],a=0;a<o.length-1;a++){var s=a,u=a+1,c=o[s].offset,f=o[u].offset,l=c,h=f;0==a&&(l=-1/0,0==f&&(u=s)),a==o.length-2&&(h=1/0,1==c&&(s=u)),n.push({applyFrom:l,applyTo:h,startOffset:o[s].offset,endOffset:o[u].offset,easingFunction:t.parseEasingFunction(o[s].easing),property:r,interpolation:e.propertyInterpolation(r,o[s].value,o[u].value)})}return n.sort(function(t,e){return t.startOffset-e.startOffset}),n}e.convertEffectInput=function(i){var o=t.normalizeKeyframes(i),a=n(o),s=r(a);return function(t,i){if(null!=i)s.filter(function(t){return i>=t.applyFrom&&i<t.applyTo}).forEach(function(n){var r=i-n.startOffset,o=n.endOffset-n.startOffset,a=0==o?0:n.easingFunction(r/o);e.apply(t,n.property,n.interpolation(a))});else for(var n in a)"offset"!=n&&"easing"!=n&&"composite"!=n&&e.clear(t,n)}}}(c,d),function(t,e,i){function n(t){return t.replace(/-(.)/g,function(t,e){return e.toUpperCase()})}function r(t,e,i){s[i]=s[i]||[],s[i].push([t,e])}function o(t,e,i){for(var o=0;o<i.length;o++)r(t,e,n(i[o]))}function a(i,r,o){var a=i;/-/.test(i)&&!t.isDeprecated("Hyphenated property names","2016-03-22","Use camelCase instead.",!0)&&(a=n(i)),"initial"!=r&&"initial"!=o||("initial"==r&&(r=u[a]),"initial"==o&&(o=u[a]));for(var c=r==o?[]:s[a],f=0;c&&f<c.length;f++){var l=c[f][0](r),h=c[f][0](o);if(void 0!==l&&void 0!==h){var m=c[f][1](l,h);if(m){var d=e.Interpolation.apply(null,m);return function(t){return 0==t?r:1==t?o:d(t)}}}}return e.Interpolation(!1,!0,function(t){return t?o:r})}var s={};e.addPropertiesHandler=o;var u={backgroundColor:"transparent",backgroundPosition:"0% 0%",borderBottomColor:"currentColor",borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px",borderBottomWidth:"3px",borderLeftColor:"currentColor",borderLeftWidth:"3px",borderRightColor:"currentColor",borderRightWidth:"3px",borderSpacing:"2px",borderTopColor:"currentColor",borderTopLeftRadius:"0px",borderTopRightRadius:"0px",borderTopWidth:"3px",bottom:"auto",clip:"rect(0px, 0px, 0px, 0px)",color:"black",fontSize:"100%",fontWeight:"400",height:"auto",left:"auto",letterSpacing:"normal",lineHeight:"120%",marginBottom:"0px",marginLeft:"0px",marginRight:"0px",marginTop:"0px",maxHeight:"none",maxWidth:"none",minHeight:"0px",minWidth:"0px",opacity:"1.0",outlineColor:"invert",outlineOffset:"0px",outlineWidth:"3px",paddingBottom:"0px",paddingLeft:"0px",paddingRight:"0px",paddingTop:"0px",right:"auto",strokeDasharray:"none",strokeDashoffset:"0px",textIndent:"0px",textShadow:"0px 0px 0px transparent",top:"auto",transform:"",verticalAlign:"0px",visibility:"visible",width:"auto",wordSpacing:"normal",zIndex:"auto"};e.propertyInterpolation=a}(c,d),function(t,e,i){function n(e){var i=t.calculateActiveDuration(e),n=function(n){return t.calculateIterationProgress(i,n,e)};return n._totalDuration=e.delay+i+e.endDelay,n}e.KeyframeEffect=function(i,r,o,a){var s,u=n(t.normalizeTimingInput(o)),c=e.convertEffectInput(r),f=function(){c(i,s)};return f._update=function(t){return null!==(s=u(t))},f._clear=function(){c(i,null)},f._hasSameTarget=function(t){return i===t},f._target=i,f._totalDuration=u._totalDuration,f._id=a,f}}(c,d),function(t,e){t.apply=function(e,i,n){e.style[t.propertyName(i)]=n},t.clear=function(e,i){e.style[t.propertyName(i)]=""}}(d),function(t){window.Element.prototype.animate=function(e,i){var n="";return i&&i.id&&(n=i.id),t.timeline._play(t.KeyframeEffect(this,e,i,n))}}(d),function(t,e){function i(t,e,n){if("number"==typeof t&&"number"==typeof e)return t*(1-n)+e*n;if("boolean"==typeof t&&"boolean"==typeof e)return n<.5?t:e;if(t.length==e.length){for(var r=[],o=0;o<t.length;o++)r.push(i(t[o],e[o],n));return r}throw"Mismatched interpolation arguments "+t+":"+e}t.Interpolation=function(t,e,n){return function(r){return n(i(t,e,r))}}}(d),function(t,e,i){t.sequenceNumber=0;var n=function(t,e,i){this.target=t,this.currentTime=e,this.timelineTime=i,this.type="finish",this.bubbles=!1,this.cancelable=!1,this.currentTarget=t,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()};e.Animation=function(e){this.id="",e&&e._id&&(this.id=e._id),this._sequenceNumber=t.sequenceNumber++,this._currentTime=0,this._startTime=null,this._paused=!1,this._playbackRate=1,this._inTimeline=!0,this._finishedFlag=!0,this.onfinish=null,this._finishHandlers=[],this._effect=e,this._inEffect=this._effect._update(0),this._idle=!0,this._currentTimePending=!1},e.Animation.prototype={_ensureAlive:function(){this.playbackRate<0&&0===this.currentTime?this._inEffect=this._effect._update(-1):this._inEffect=this._effect._update(this.currentTime),this._inTimeline||!this._inEffect&&this._finishedFlag||(this._inTimeline=!0,e.timeline._animations.push(this))},_tickCurrentTime:function(t,e){t!=this._currentTime&&(this._currentTime=t,this._isFinished&&!e&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(t){t=+t,isNaN(t)||(e.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-t/this._playbackRate),this._currentTimePending=!1,this._currentTime!=t&&(this._idle&&(this._idle=!1,this._paused=!0),this._tickCurrentTime(t,!0),e.applyDirtiedAnimation(this)))},get startTime(){return this._startTime},set startTime(t){t=+t,isNaN(t)||this._paused||this._idle||(this._startTime=t,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),e.applyDirtiedAnimation(this))},get playbackRate(){return this._playbackRate},set playbackRate(t){if(t!=this._playbackRate){var i=this.currentTime;this._playbackRate=t,this._startTime=null,"paused"!=this.playState&&"idle"!=this.playState&&(this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),e.applyDirtiedAnimation(this)),null!=i&&(this.currentTime=i)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?"idle":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?"pending":this._paused?"paused":this._isFinished?"finished":"running"},_rewind:function(){if(this._playbackRate>=0)this._currentTime=0;else{if(!(this._totalDuration<1/0))throw new DOMException("Unable to rewind negative playback rate animation with infinite duration","InvalidStateError");this._currentTime=this._totalDuration}},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),e.applyDirtiedAnimation(this)},pause:function(){this._isFinished||this._paused||this._idle?this._idle&&(this._rewind(),this._idle=!1):this._currentTimePending=!0,this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1,e.applyDirtiedAnimation(this))},cancel:function(){this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._isFinished=!0,this._finishedFlag=!0,this._currentTime=0,this._startTime=null,this._effect._update(null),e.applyDirtiedAnimation(this))},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(t,e){"function"==typeof e&&"finish"==t&&this._finishHandlers.push(e)},removeEventListener:function(t,e){if("finish"==t){var i=this._finishHandlers.indexOf(e);i>=0&&this._finishHandlers.splice(i,1)}},_fireEvents:function(t){if(this._isFinished){if(!this._finishedFlag){var e=new n(this,this._currentTime,t),i=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){i.forEach(function(t){t.call(e.target,e)})},0),this._finishedFlag=!0}}else this._finishedFlag=!1},_tick:function(t,e){this._idle||this._paused||(null==this._startTime?e&&(this.startTime=t-this._currentTime/this.playbackRate):this._isFinished||this._tickCurrentTime((t-this._startTime)*this.playbackRate)),e&&(this._currentTimePending=!1,this._fireEvents(t))},get _needsTick(){return this.playState in{pending:1,running:1}||!this._finishedFlag},_targetAnimations:function(){var t=this._effect._target;return t._activeAnimations||(t._activeAnimations=[]),t._activeAnimations},_markTarget:function(){var t=this._targetAnimations();-1===t.indexOf(this)&&t.push(this)},_unmarkTarget:function(){var t=this._targetAnimations(),e=t.indexOf(this);-1!==e&&t.splice(e,1)}}}(c,d),function(t,e,i){function n(t){var e=c;c=[],t<_.currentTime&&(t=_.currentTime),_._animations.sort(r),_._animations=s(t,!0,_._animations)[0],e.forEach(function(e){e[1](t)}),a(),l=void 0}function r(t,e){return t._sequenceNumber-e._sequenceNumber}function o(){this._animations=[],this.currentTime=window.performance&&performance.now?performance.now():0}function a(){d.forEach(function(t){t()}),d.length=0}function s(t,i,n){p=!0,m=!1,e.timeline.currentTime=t,h=!1;var r=[],o=[],a=[],s=[];return n.forEach(function(e){e._tick(t,i),e._inEffect?(o.push(e._effect),e._markTarget()):(r.push(e._effect),e._unmarkTarget()),e._needsTick&&(h=!0);var n=e._inEffect||e._needsTick;e._inTimeline=n,n?a.push(e):s.push(e)}),d.push.apply(d,r),d.push.apply(d,o),h&&requestAnimationFrame(function(){}),p=!1,[a,s]}var u=window.requestAnimationFrame,c=[],f=0;window.requestAnimationFrame=function(t){var e=f++;return 0==c.length&&u(n),c.push([e,t]),e},window.cancelAnimationFrame=function(t){c.forEach(function(e){e[0]==t&&(e[1]=function(){})})},o.prototype={_play:function(i){i._timing=t.normalizeTimingInput(i.timing);var n=new e.Animation(i);return n._idle=!1,n._timeline=this,this._animations.push(n),e.restart(),e.applyDirtiedAnimation(n),n}};var l=void 0,h=!1,m=!1;e.restart=function(){return h||(h=!0,requestAnimationFrame(function(){}),m=!0),m},e.applyDirtiedAnimation=function(t){if(!p){t._markTarget();var i=t._targetAnimations();i.sort(r),s(e.timeline.currentTime,!1,i.slice())[1].forEach(function(t){var e=_._animations.indexOf(t);-1!==e&&_._animations.splice(e,1)}),a()}};var d=[],p=!1,_=new o;e.timeline=_}(c,d),function(t){function e(t,e){var i=t.exec(e);if(i)return i=t.ignoreCase?i[0].toLowerCase():i[0],[i,e.substr(i.length)]}function i(t,e){e=e.replace(/^\s*/,"");var i=t(e);if(i)return[i[0],i[1].replace(/^\s*/,"")]}function n(t,n,r){t=i.bind(null,t);for(var o=[];;){var a=t(r);if(!a)return[o,r];if(o.push(a[0]),r=a[1],!(a=e(n,r))||""==a[1])return[o,r];r=a[1]}}function r(t,e){for(var i=0,n=0;n<e.length&&(!/\s|,/.test(e[n])||0!=i);n++)if("("==e[n])i++;else if(")"==e[n]&&(i--,0==i&&n++,i<=0))break;var r=t(e.substr(0,n));return void 0==r?void 0:[r,e.substr(n)]}function o(t,e){for(var i=t,n=e;i&&n;)i>n?i%=n:n%=i;return i=t*e/(i+n)}function a(t){return function(e){var i=t(e);return i&&(i[0]=void 0),i}}function s(t,e){return function(i){return t(i)||[e,i]}}function u(e,i){for(var n=[],r=0;r<e.length;r++){var o=t.consumeTrimmed(e[r],i);if(!o||""==o[0])return;void 0!==o[0]&&n.push(o[0]),i=o[1]}if(""==i)return n}function c(t,e,i,n,r){for(var a=[],s=[],u=[],c=o(n.length,r.length),f=0;f<c;f++){var l=e(n[f%n.length],r[f%r.length]);if(!l)return;a.push(l[0]),s.push(l[1]),u.push(l[2])}return[a,s,function(e){var n=e.map(function(t,e){return u[e](t)}).join(i);return t?t(n):n}]}function f(t,e,i){for(var n=[],r=[],o=[],a=0,s=0;s<i.length;s++)if("function"==typeof i[s]){var u=i[s](t[a],e[a++]);n.push(u[0]),r.push(u[1]),o.push(u[2])}else!function(t){n.push(!1),r.push(!1),o.push(function(){return i[t]})}(s);return[n,r,function(t){for(var e="",i=0;i<t.length;i++)e+=o[i](t[i]);return e}]}t.consumeToken=e,t.consumeTrimmed=i,t.consumeRepeated=n,t.consumeParenthesised=r,t.ignore=a,t.optional=s,t.consumeList=u,t.mergeNestedRepeated=c.bind(null,null),t.mergeWrappedNestedRepeated=c,t.mergeList=f}(d),function(t){function e(e){function i(e){var i=t.consumeToken(/^inset/i,e);if(i)return n.inset=!0,i;var i=t.consumeLengthOrPercent(e);if(i)return n.lengths.push(i[0]),i;var i=t.consumeColor(e);return i?(n.color=i[0],i):void 0}var n={inset:!1,lengths:[],color:null},r=t.consumeRepeated(i,/^/,e);if(r&&r[0].length)return[n,r[1]]}function i(i){var n=t.consumeRepeated(e,/^,/,i);if(n&&""==n[1])return n[0]}function n(e,i){for(;e.lengths.length<Math.max(e.lengths.length,i.lengths.length);)e.lengths.push({px:0});for(;i.lengths.length<Math.max(e.lengths.length,i.lengths.length);)i.lengths.push({px:0});if(e.inset==i.inset&&!!e.color==!!i.color){for(var n,r=[],o=[[],0],a=[[],0],s=0;s<e.lengths.length;s++){var u=t.mergeDimensions(e.lengths[s],i.lengths[s],2==s);o[0].push(u[0]),a[0].push(u[1]),r.push(u[2])}if(e.color&&i.color){var c=t.mergeColors(e.color,i.color);o[1]=c[0],a[1]=c[1],n=c[2]}return[o,a,function(t){for(var i=e.inset?"inset ":" ",o=0;o<r.length;o++)i+=r[o](t[0][o])+" ";return n&&(i+=n(t[1])),i}]}}function r(e,i,n,r){function o(t){return{inset:t,color:[0,0,0,0],lengths:[{px:0},{px:0},{px:0},{px:0}]}}for(var a=[],s=[],u=0;u<n.length||u<r.length;u++){var c=n[u]||o(r[u].inset),f=r[u]||o(n[u].inset);a.push(c),s.push(f)}return t.mergeNestedRepeated(e,i,a,s)}var o=r.bind(null,n,", ");t.addPropertiesHandler(i,o,["box-shadow","text-shadow"])}(d),function(t,e){function i(t){return t.toFixed(3).replace(/0+$/,"").replace(/\.$/,"")}function n(t,e,i){return Math.min(e,Math.max(t,i))}function r(t){if(/^\s*[-+]?(\d*\.)?\d+\s*$/.test(t))return Number(t)}function o(t,e){return[t,e,i]}function a(t,e){if(0!=t)return u(0,1/0)(t,e)}function s(t,e){return[t,e,function(t){return Math.round(n(1,1/0,t))}]}function u(t,e){return function(r,o){return[r,o,function(r){return i(n(t,e,r))}]}}function c(t){var e=t.trim().split(/\s*[\s,]\s*/);if(0!==e.length){for(var i=[],n=0;n<e.length;n++){var o=r(e[n]);if(void 0===o)return;i.push(o)}return i}}function f(t,e){if(t.length==e.length)return[t,e,function(t){return t.map(i).join(" ")}]}function l(t,e){return[t,e,Math.round]}t.clamp=n,t.addPropertiesHandler(c,f,["stroke-dasharray"]),t.addPropertiesHandler(r,u(0,1/0),["border-image-width","line-height"]),t.addPropertiesHandler(r,u(0,1),["opacity","shape-image-threshold"]),t.addPropertiesHandler(r,a,["flex-grow","flex-shrink"]),t.addPropertiesHandler(r,s,["orphans","widows"]),t.addPropertiesHandler(r,l,["z-index"]),t.parseNumber=r,t.parseNumberList=c,t.mergeNumbers=o,t.numberToString=i}(d),function(t,e){function i(t,e){if("visible"==t||"visible"==e)return[0,1,function(i){return i<=0?t:i>=1?e:"visible"}]}t.addPropertiesHandler(String,i,["visibility"])}(d),function(t,e){function i(t){t=t.trim(),o.fillStyle="#000",o.fillStyle=t;var e=o.fillStyle;if(o.fillStyle="#fff",o.fillStyle=t,e==o.fillStyle){o.fillRect(0,0,1,1);var i=o.getImageData(0,0,1,1).data;o.clearRect(0,0,1,1);var n=i[3]/255;return[i[0]*n,i[1]*n,i[2]*n,n]}}function n(e,i){return[e,i,function(e){if(e[3])for(var i=0;i<3;i++)e[i]=Math.round(function(t){return Math.max(0,Math.min(255,t))}(e[i]/e[3]));return e[3]=t.numberToString(t.clamp(0,1,e[3])),"rgba("+e.join(",")+")"}]}var r=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");r.width=r.height=1;var o=r.getContext("2d");t.addPropertiesHandler(i,n,["background-color","border-bottom-color","border-left-color","border-right-color","border-top-color","color","fill","flood-color","lighting-color","outline-color","stop-color","stroke","text-decoration-color"]),t.consumeColor=t.consumeParenthesised.bind(null,i),t.mergeColors=n}(d),function(a,b){function c(a,b){if("0"==(b=b.trim().toLowerCase())&&"px".search(a)>=0)return{px:0};if(/^[^(]*$|^calc/.test(b)){b=b.replace(/calc\(/g,"(");var c={};b=b.replace(a,function(t){return c[t]=null,"U"+t});for(var d="U("+a.source+")",e=b.replace(/[-+]?(\d*\.)?\d+/g,"N").replace(new RegExp("N"+d,"g"),"D").replace(/\s[+-]\s/g,"O").replace(/\s/g,""),f=[/N\*(D)/g,/(N|D)[*\/]N/g,/(N|D)O\1/g,/\((N|D)\)/g],g=0;g<f.length;)f[g].test(e)?(e=e.replace(f[g],"$1"),g=0):g++;if("D"==e){for(var h in c){var i=eval(b.replace(new RegExp("U"+h,"g"),"").replace(new RegExp(d,"g"),"*0"));if(!isFinite(i))return;c[h]=i}return c}}}function d(t,i){return e(t,i,!0)}function e(t,e,i){var n,r=[];for(n in t)r.push(n);for(n in e)r.indexOf(n)<0&&r.push(n);return t=r.map(function(e){return t[e]||0}),e=r.map(function(t){return e[t]||0}),[t,e,function(t){var e=t.map(function(e,n){return 1==t.length&&i&&(e=Math.max(e,0)),a.numberToString(e)+r[n]}).join(" + ");return t.length>1?"calc("+e+")":e}]}var f="px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc",g=c.bind(null,new RegExp(f,"g")),h=c.bind(null,new RegExp(f+"|%","g")),i=c.bind(null,/deg|rad|grad|turn/g);a.parseLength=g,a.parseLengthOrPercent=h,a.consumeLengthOrPercent=a.consumeParenthesised.bind(null,h),a.parseAngle=i,a.mergeDimensions=e;var j=a.consumeParenthesised.bind(null,g),k=a.consumeRepeated.bind(void 0,j,/^/),l=a.consumeRepeated.bind(void 0,k,/^,/);a.consumeSizePairList=l;var m=function(t){var e=l(t);if(e&&""==e[1])return e[0]},n=a.mergeNestedRepeated.bind(void 0,d," "),o=a.mergeNestedRepeated.bind(void 0,n,",");a.mergeNonNegativeSizePair=n,a.addPropertiesHandler(m,o,["background-size"]),a.addPropertiesHandler(h,d,["border-bottom-width","border-image-width","border-left-width","border-right-width","border-top-width","flex-basis","font-size","height","line-height","max-height","max-width","outline-width","width"]),a.addPropertiesHandler(h,e,["border-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","bottom","left","letter-spacing","margin-bottom","margin-left","margin-right","margin-top","min-height","min-width","outline-offset","padding-bottom","padding-left","padding-right","padding-top","perspective","right","shape-margin","stroke-dashoffset","text-indent","top","vertical-align","word-spacing"])}(d,null),function(t,e){function i(e){return t.consumeLengthOrPercent(e)||t.consumeToken(/^auto/,e)}function n(e){var n=t.consumeList([t.ignore(t.consumeToken.bind(null,/^rect/)),t.ignore(t.consumeToken.bind(null,/^\(/)),t.consumeRepeated.bind(null,i,/^,/),t.ignore(t.consumeToken.bind(null,/^\)/))],e);if(n&&4==n[0].length)return n[0]}function r(e,i){return"auto"==e||"auto"==i?[!0,!1,function(n){var r=n?e:i;if("auto"==r)return"auto";var o=t.mergeDimensions(r,r);return o[2](o[0])}]:t.mergeDimensions(e,i)}function o(t){return"rect("+t+")"}var a=t.mergeWrappedNestedRepeated.bind(null,o,r,", ");t.parseBox=n,t.mergeBoxes=a,t.addPropertiesHandler(n,a,["clip"])}(d),function(t,e){function i(t){return function(e){var i=0;return t.map(function(t){return t===f?e[i++]:t})}}function n(t){return t}function r(e){if("none"==(e=e.toLowerCase().trim()))return[];for(var i,n=/\s*(\w+)\(([^)]*)\)/g,r=[],o=0;i=n.exec(e);){if(i.index!=o)return;o=i.index+i[0].length;var a=i[1],s=m[a];if(!s)return;var u=i[2].split(","),c=s[0];if(c.length<u.length)return;for(var f=[],d=0;d<c.length;d++){var p,_=u[d],g=c[d];if(void 0===(p=_?{A:function(e){return"0"==e.trim()?h:t.parseAngle(e)},N:t.parseNumber,T:t.parseLengthOrPercent,L:t.parseLength}[g.toUpperCase()](_):{a:h,n:f[0],t:l}[g]))return;f.push(p)}if(r.push({t:a,d:f}),n.lastIndex==e.length)return r}}function o(t){return t.toFixed(6).replace(".000000","")}function a(e,i){if(e.decompositionPair!==i){e.decompositionPair=i;var n=t.makeMatrixDecomposition(e)}if(i.decompositionPair!==e){i.decompositionPair=e;var r=t.makeMatrixDecomposition(i)}return null==n[0]||null==r[0]?[[!1],[!0],function(t){return t?i[0].d:e[0].d}]:(n[0].push(0),r[0].push(1),[n,r,function(e){var i=t.quat(n[0][3],r[0][3],e[5]);return t.composeMatrix(e[0],e[1],e[2],i,e[4]).map(o).join(",")}])}function s(t){return t.replace(/[xy]/,"")}function u(t){return t.replace(/(x|y|z|3d)?$/,"3d")}function c(e,i){var n=t.makeMatrixDecomposition&&!0,r=!1;if(!e.length||!i.length){e.length||(r=!0,e=i,i=[]);for(var o=0;o<e.length;o++){var c=e[o].t,f=e[o].d,l="scale"==c.substr(0,5)?1:0;i.push({t:c,d:f.map(function(t){if("number"==typeof t)return l;var e={};for(var i in t)e[i]=l;return e})})}}var h=[],d=[],p=[];if(e.length!=i.length){if(!n)return;var _=a(e,i);h=[_[0]],d=[_[1]],p=[["matrix",[_[2]]]]}else for(var o=0;o<e.length;o++){var c,g=e[o].t,b=i[o].t,v=e[o].d,y=i[o].d,w=m[g],T=m[b];if(function(t,e){return"perspective"==t&&"perspective"==e||("matrix"==t||"matrix3d"==t)&&("matrix"==e||"matrix3d"==e)}(g,b)){if(!n)return;var _=a([e[o]],[i[o]]);h.push(_[0]),d.push(_[1]),p.push(["matrix",[_[2]]])}else{if(g==b)c=g;else if(w[2]&&T[2]&&s(g)==s(b))c=s(g),v=w[2](v),y=T[2](y);else{if(!w[1]||!T[1]||u(g)!=u(b)){if(!n)return;var _=a(e,i);h=[_[0]],d=[_[1]],p=[["matrix",[_[2]]]];break}c=u(g),v=w[1](v),y=T[1](y)}for(var x=[],E=[],A=[],P=0;P<v.length;P++){var j="number"==typeof v[P]?t.mergeNumbers:t.mergeDimensions,_=j(v[P],y[P]);x[P]=_[0],E[P]=_[1],A.push(_[2])}h.push(x),d.push(E),p.push([c,A])}}if(r){var k=h;h=d,d=k}return[h,d,function(t){return t.map(function(t,e){var i=t.map(function(t,i){return p[e][1][i](t)}).join(",");return"matrix"==p[e][0]&&16==i.split(",").length&&(p[e][0]="matrix3d"),p[e][0]+"("+i+")"}).join(" ")}]}var f=null,l={px:0},h={deg:0},m={matrix:["NNNNNN",[f,f,0,0,f,f,0,0,0,0,1,0,f,f,0,1],n],matrix3d:["NNNNNNNNNNNNNNNN",n],rotate:["A"],rotatex:["A"],rotatey:["A"],rotatez:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",i([f,f,1]),n],scalex:["N",i([f,1,1]),i([f,1])],scaley:["N",i([1,f,1]),i([1,f])],scalez:["N",i([1,1,f])],scale3d:["NNN",n],skew:["Aa",null,n],skewx:["A",null,i([f,h])],skewy:["A",null,i([h,f])],translate:["Tt",i([f,f,l]),n],translatex:["T",i([f,l,l]),i([f,l])],translatey:["T",i([l,f,l]),i([l,f])],translatez:["L",i([l,l,f])],translate3d:["TTL",n]};t.addPropertiesHandler(r,c,["transform"])}(d),function(t,e){function i(t,e){e.concat([t]).forEach(function(e){e in document.documentElement.style&&(n[t]=e)})}var n={};i("transform",["webkitTransform","msTransform"]),i("transformOrigin",["webkitTransformOrigin"]),i("perspective",["webkitPerspective"]),i("perspectiveOrigin",["webkitPerspectiveOrigin"]),t.propertyName=function(t){return n[t]||t}}(d)}(),function(){if(void 0===document.createElement("div").animate([]).oncancel){var t;if(window.performance&&performance.now)var t=function(){ -return performance.now()};else var t=function(){return Date.now()};var e=function(t,e,i){this.target=t,this.currentTime=e,this.timelineTime=i,this.type="cancel",this.bubbles=!1,this.cancelable=!1,this.currentTarget=t,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()},i=window.Element.prototype.animate;window.Element.prototype.animate=function(n,r){var o=i.call(this,n,r);o._cancelHandlers=[],o.oncancel=null;var a=o.cancel;o.cancel=function(){a.call(this);var i=new e(this,null,t()),n=this._cancelHandlers.concat(this.oncancel?[this.oncancel]:[]);setTimeout(function(){n.forEach(function(t){t.call(i.target,i)})},0)};var s=o.addEventListener;o.addEventListener=function(t,e){"function"==typeof e&&"cancel"==t?this._cancelHandlers.push(e):s.call(this,t,e)};var u=o.removeEventListener;return o.removeEventListener=function(t,e){if("cancel"==t){var i=this._cancelHandlers.indexOf(e);i>=0&&this._cancelHandlers.splice(i,1)}else u.call(this,t,e)},o}}}(),function(t){var e=document.documentElement,i=null,n=!1;try{var r=getComputedStyle(e).getPropertyValue("opacity"),o="0"==r?"1":"0";i=e.animate({opacity:[o,o]},{duration:1}),i.currentTime=0,n=getComputedStyle(e).getPropertyValue("opacity")==o}catch(t){}finally{i&&i.cancel()}if(!n){var a=window.Element.prototype.animate;window.Element.prototype.animate=function(e,i){return window.Symbol&&Symbol.iterator&&Array.prototype.from&&e[Symbol.iterator]&&(e=Array.from(e)),Array.isArray(e)||null===e||(e=t.convertToArrayForm(e)),a.call(this,e,i)}}}(c),function(t,e,i){function n(t){var i=e.timeline;i.currentTime=t,i._discardAnimations(),0==i._animations.length?o=!1:requestAnimationFrame(n)}var r=window.requestAnimationFrame;window.requestAnimationFrame=function(t){return r(function(i){e.timeline._updateAnimationsPromises(),t(i),e.timeline._updateAnimationsPromises()})},e.AnimationTimeline=function(){this._animations=[],this.currentTime=void 0},e.AnimationTimeline.prototype={getAnimations:function(){return this._discardAnimations(),this._animations.slice()},_updateAnimationsPromises:function(){e.animationsWithPromises=e.animationsWithPromises.filter(function(t){return t._updatePromises()})},_discardAnimations:function(){this._updateAnimationsPromises(),this._animations=this._animations.filter(function(t){return"finished"!=t.playState&&"idle"!=t.playState})},_play:function(t){var i=new e.Animation(t,this);return this._animations.push(i),e.restartWebAnimationsNextTick(),i._updatePromises(),i._animation.play(),i._updatePromises(),i},play:function(t){return t&&t.remove(),this._play(t)}};var o=!1;e.restartWebAnimationsNextTick=function(){o||(o=!0,requestAnimationFrame(n))};var a=new e.AnimationTimeline;e.timeline=a;try{Object.defineProperty(window.document,"timeline",{configurable:!0,get:function(){return a}})}catch(t){}try{window.document.timeline=a}catch(t){}}(0,e),function(t,e,i){e.animationsWithPromises=[],e.Animation=function(e,i){if(this.id="",e&&e._id&&(this.id=e._id),this.effect=e,e&&(e._animation=this),!i)throw new Error("Animation with null timeline is not supported");this._timeline=i,this._sequenceNumber=t.sequenceNumber++,this._holdTime=0,this._paused=!1,this._isGroup=!1,this._animation=null,this._childAnimations=[],this._callback=null,this._oldPlayState="idle",this._rebuildUnderlyingAnimation(),this._animation.cancel(),this._updatePromises()},e.Animation.prototype={_updatePromises:function(){var t=this._oldPlayState,e=this.playState;return this._readyPromise&&e!==t&&("idle"==e?(this._rejectReadyPromise(),this._readyPromise=void 0):"pending"==t?this._resolveReadyPromise():"pending"==e&&(this._readyPromise=void 0)),this._finishedPromise&&e!==t&&("idle"==e?(this._rejectFinishedPromise(),this._finishedPromise=void 0):"finished"==e?this._resolveFinishedPromise():"finished"==t&&(this._finishedPromise=void 0)),this._oldPlayState=this.playState,this._readyPromise||this._finishedPromise},_rebuildUnderlyingAnimation:function(){this._updatePromises();var t,i,n,r,o=!!this._animation;o&&(t=this.playbackRate,i=this._paused,n=this.startTime,r=this.currentTime,this._animation.cancel(),this._animation._wrapper=null,this._animation=null),(!this.effect||this.effect instanceof window.KeyframeEffect)&&(this._animation=e.newUnderlyingAnimationForKeyframeEffect(this.effect),e.bindAnimationForKeyframeEffect(this)),(this.effect instanceof window.SequenceEffect||this.effect instanceof window.GroupEffect)&&(this._animation=e.newUnderlyingAnimationForGroup(this.effect),e.bindAnimationForGroup(this)),this.effect&&this.effect._onsample&&e.bindAnimationForCustomEffect(this),o&&(1!=t&&(this.playbackRate=t),null!==n?this.startTime=n:null!==r?this.currentTime=r:null!==this._holdTime&&(this.currentTime=this._holdTime),i&&this.pause()),this._updatePromises()},_updateChildren:function(){if(this.effect&&"idle"!=this.playState){var t=this.effect._timing.delay;this._childAnimations.forEach(function(i){this._arrangeChildren(i,t),this.effect instanceof window.SequenceEffect&&(t+=e.groupChildDuration(i.effect))}.bind(this))}},_setExternalAnimation:function(t){if(this.effect&&this._isGroup)for(var e=0;e<this.effect.children.length;e++)this.effect.children[e]._animation=t,this._childAnimations[e]._setExternalAnimation(t)},_constructChildAnimations:function(){if(this.effect&&this._isGroup){var t=this.effect._timing.delay;this._removeChildAnimations(),this.effect.children.forEach(function(i){var n=e.timeline._play(i);this._childAnimations.push(n),n.playbackRate=this.playbackRate,this._paused&&n.pause(),i._animation=this.effect._animation,this._arrangeChildren(n,t),this.effect instanceof window.SequenceEffect&&(t+=e.groupChildDuration(i))}.bind(this))}},_arrangeChildren:function(t,e){null===this.startTime?t.currentTime=this.currentTime-e/this.playbackRate:t.startTime!==this.startTime+e/this.playbackRate&&(t.startTime=this.startTime+e/this.playbackRate)},get timeline(){return this._timeline},get playState(){return this._animation?this._animation.playState:"idle"},get finished(){return window.Promise?(this._finishedPromise||(-1==e.animationsWithPromises.indexOf(this)&&e.animationsWithPromises.push(this),this._finishedPromise=new Promise(function(t,e){this._resolveFinishedPromise=function(){t(this)},this._rejectFinishedPromise=function(){e({type:DOMException.ABORT_ERR,name:"AbortError"})}}.bind(this)),"finished"==this.playState&&this._resolveFinishedPromise()),this._finishedPromise):(console.warn("Animation Promises require JavaScript Promise constructor"),null)},get ready(){return window.Promise?(this._readyPromise||(-1==e.animationsWithPromises.indexOf(this)&&e.animationsWithPromises.push(this),this._readyPromise=new Promise(function(t,e){this._resolveReadyPromise=function(){t(this)},this._rejectReadyPromise=function(){e({type:DOMException.ABORT_ERR,name:"AbortError"})}}.bind(this)),"pending"!==this.playState&&this._resolveReadyPromise()),this._readyPromise):(console.warn("Animation Promises require JavaScript Promise constructor"),null)},get onfinish(){return this._animation.onfinish},set onfinish(t){this._animation.onfinish="function"==typeof t?function(e){e.target=this,t.call(this,e)}.bind(this):t},get oncancel(){return this._animation.oncancel},set oncancel(t){this._animation.oncancel="function"==typeof t?function(e){e.target=this,t.call(this,e)}.bind(this):t},get currentTime(){this._updatePromises();var t=this._animation.currentTime;return this._updatePromises(),t},set currentTime(t){this._updatePromises(),this._animation.currentTime=isFinite(t)?t:Math.sign(t)*Number.MAX_VALUE,this._register(),this._forEachChild(function(e,i){e.currentTime=t-i}),this._updatePromises()},get startTime(){return this._animation.startTime},set startTime(t){this._updatePromises(),this._animation.startTime=isFinite(t)?t:Math.sign(t)*Number.MAX_VALUE,this._register(),this._forEachChild(function(e,i){e.startTime=t+i}),this._updatePromises()},get playbackRate(){return this._animation.playbackRate},set playbackRate(t){this._updatePromises();var e=this.currentTime;this._animation.playbackRate=t,this._forEachChild(function(e){e.playbackRate=t}),null!==e&&(this.currentTime=e),this._updatePromises()},play:function(){this._updatePromises(),this._paused=!1,this._animation.play(),-1==this._timeline._animations.indexOf(this)&&this._timeline._animations.push(this),this._register(),e.awaitStartTime(this),this._forEachChild(function(t){var e=t.currentTime;t.play(),t.currentTime=e}),this._updatePromises()},pause:function(){this._updatePromises(),this.currentTime&&(this._holdTime=this.currentTime),this._animation.pause(),this._register(),this._forEachChild(function(t){t.pause()}),this._paused=!0,this._updatePromises()},finish:function(){this._updatePromises(),this._animation.finish(),this._register(),this._updatePromises()},cancel:function(){this._updatePromises(),this._animation.cancel(),this._register(),this._removeChildAnimations(),this._updatePromises()},reverse:function(){this._updatePromises();var t=this.currentTime;this._animation.reverse(),this._forEachChild(function(t){t.reverse()}),null!==t&&(this.currentTime=t),this._updatePromises()},addEventListener:function(t,e){var i=e;"function"==typeof e&&(i=function(t){t.target=this,e.call(this,t)}.bind(this),e._wrapper=i),this._animation.addEventListener(t,i)},removeEventListener:function(t,e){this._animation.removeEventListener(t,e&&e._wrapper||e)},_removeChildAnimations:function(){for(;this._childAnimations.length;)this._childAnimations.pop().cancel()},_forEachChild:function(e){var i=0;if(this.effect.children&&this._childAnimations.length<this.effect.children.length&&this._constructChildAnimations(),this._childAnimations.forEach(function(t){e.call(this,t,i),this.effect instanceof window.SequenceEffect&&(i+=t.effect.activeDuration)}.bind(this)),"pending"!=this.playState){var n=this.effect._timing,r=this.currentTime;null!==r&&(r=t.calculateIterationProgress(t.calculateActiveDuration(n),r,n)),(null==r||isNaN(r))&&this._removeChildAnimations()}}},window.Animation=e.Animation}(c,e),function(t,e,i){function n(e){this._frames=t.normalizeKeyframes(e)}function r(){for(var t=!1;u.length;)u.shift()._updateChildren(),t=!0;return t}var o=function(t){if(t._animation=void 0,t instanceof window.SequenceEffect||t instanceof window.GroupEffect)for(var e=0;e<t.children.length;e++)o(t.children[e])};e.removeMulti=function(t){for(var e=[],i=0;i<t.length;i++){var n=t[i];n._parent?(-1==e.indexOf(n._parent)&&e.push(n._parent),n._parent.children.splice(n._parent.children.indexOf(n),1),n._parent=null,o(n)):n._animation&&n._animation.effect==n&&(n._animation.cancel(),n._animation.effect=new KeyframeEffect(null,[]),n._animation._callback&&(n._animation._callback._animation=null),n._animation._rebuildUnderlyingAnimation(),o(n))}for(i=0;i<e.length;i++)e[i]._rebuild()},e.KeyframeEffect=function(e,i,r,o){return this.target=e,this._parent=null,r=t.numericTimingToObject(r),this._timingInput=t.cloneTimingInput(r),this._timing=t.normalizeTimingInput(r),this.timing=t.makeTiming(r,!1,this),this.timing._effect=this,"function"==typeof i?(t.deprecated("Custom KeyframeEffect","2015-06-22","Use KeyframeEffect.onsample instead."),this._normalizedKeyframes=i):this._normalizedKeyframes=new n(i),this._keyframes=i,this.activeDuration=t.calculateActiveDuration(this._timing),this._id=o,this},e.KeyframeEffect.prototype={getFrames:function(){return"function"==typeof this._normalizedKeyframes?this._normalizedKeyframes:this._normalizedKeyframes._frames},set onsample(t){if("function"==typeof this.getFrames())throw new Error("Setting onsample on custom effect KeyframeEffect is not supported.");this._onsample=t,this._animation&&this._animation._rebuildUnderlyingAnimation()},get parent(){return this._parent},clone:function(){if("function"==typeof this.getFrames())throw new Error("Cloning custom effects is not supported.");var e=new KeyframeEffect(this.target,[],t.cloneTimingInput(this._timingInput),this._id);return e._normalizedKeyframes=this._normalizedKeyframes,e._keyframes=this._keyframes,e},remove:function(){e.removeMulti([this])}};var a=Element.prototype.animate;Element.prototype.animate=function(t,i){var n="";return i&&i.id&&(n=i.id),e.timeline._play(new e.KeyframeEffect(this,t,i,n))};var s=document.createElementNS("http://www.w3.org/1999/xhtml","div");e.newUnderlyingAnimationForKeyframeEffect=function(t){if(t){var e=t.target||s,i=t._keyframes;"function"==typeof i&&(i=[]);var n=t._timingInput;n.id=t._id}else var e=s,i=[],n=0;return a.apply(e,[i,n])},e.bindAnimationForKeyframeEffect=function(t){t.effect&&"function"==typeof t.effect._normalizedKeyframes&&e.bindAnimationForCustomEffect(t)};var u=[];e.awaitStartTime=function(t){null===t.startTime&&t._isGroup&&(0==u.length&&requestAnimationFrame(r),u.push(t))};var c=window.getComputedStyle;Object.defineProperty(window,"getComputedStyle",{configurable:!0,enumerable:!0,value:function(){e.timeline._updateAnimationsPromises();var t=c.apply(this,arguments);return r()&&(t=c.apply(this,arguments)),e.timeline._updateAnimationsPromises(),t}}),window.KeyframeEffect=e.KeyframeEffect,window.Element.prototype.getAnimations=function(){return document.timeline.getAnimations().filter(function(t){return null!==t.effect&&t.effect.target==this}.bind(this))}}(c,e),function(t,e,i){function n(t){t._registered||(t._registered=!0,a.push(t),s||(s=!0,requestAnimationFrame(r)))}function r(t){var e=a;a=[],e.sort(function(t,e){return t._sequenceNumber-e._sequenceNumber}),e=e.filter(function(t){t();var e=t._animation?t._animation.playState:"idle";return"running"!=e&&"pending"!=e&&(t._registered=!1),t._registered}),a.push.apply(a,e),a.length?(s=!0,requestAnimationFrame(r)):s=!1}var o=(document.createElementNS("http://www.w3.org/1999/xhtml","div"),0);e.bindAnimationForCustomEffect=function(e){var i,r=e.effect.target,a="function"==typeof e.effect.getFrames();i=a?e.effect.getFrames():e.effect._onsample;var s=e.effect.timing,u=null;s=t.normalizeTimingInput(s);var c=function(){var n=c._animation?c._animation.currentTime:null;null!==n&&(n=t.calculateIterationProgress(t.calculateActiveDuration(s),n,s),isNaN(n)&&(n=null)),n!==u&&(a?i(n,r,e.effect):i(n,e.effect,e.effect._animation)),u=n};c._animation=e,c._registered=!1,c._sequenceNumber=o++,e._callback=c,n(c)};var a=[],s=!1;e.Animation.prototype._register=function(){this._callback&&n(this._callback)}}(c,e),function(t,e,i){function n(t){return t._timing.delay+t.activeDuration+t._timing.endDelay}function r(e,i,n){this._id=n,this._parent=null,this.children=e||[],this._reparent(this.children),i=t.numericTimingToObject(i),this._timingInput=t.cloneTimingInput(i),this._timing=t.normalizeTimingInput(i,!0),this.timing=t.makeTiming(i,!0,this),this.timing._effect=this,"auto"===this._timing.duration&&(this._timing.duration=this.activeDuration)}window.SequenceEffect=function(){r.apply(this,arguments)},window.GroupEffect=function(){r.apply(this,arguments)},r.prototype={_isAncestor:function(t){for(var e=this;null!==e;){if(e==t)return!0;e=e._parent}return!1},_rebuild:function(){for(var t=this;t;)"auto"===t.timing.duration&&(t._timing.duration=t.activeDuration),t=t._parent;this._animation&&this._animation._rebuildUnderlyingAnimation()},_reparent:function(t){e.removeMulti(t);for(var i=0;i<t.length;i++)t[i]._parent=this},_putChild:function(t,e){for(var i=e?"Cannot append an ancestor or self":"Cannot prepend an ancestor or self",n=0;n<t.length;n++)if(this._isAncestor(t[n]))throw{type:DOMException.HIERARCHY_REQUEST_ERR,name:"HierarchyRequestError",message:i};for(var n=0;n<t.length;n++)e?this.children.push(t[n]):this.children.unshift(t[n]);this._reparent(t),this._rebuild()},append:function(){this._putChild(arguments,!0)},prepend:function(){this._putChild(arguments,!1)},get parent(){return this._parent},get firstChild(){return this.children.length?this.children[0]:null},get lastChild(){return this.children.length?this.children[this.children.length-1]:null},clone:function(){for(var e=t.cloneTimingInput(this._timingInput),i=[],n=0;n<this.children.length;n++)i.push(this.children[n].clone());return this instanceof GroupEffect?new GroupEffect(i,e):new SequenceEffect(i,e)},remove:function(){e.removeMulti([this])}},window.SequenceEffect.prototype=Object.create(r.prototype),Object.defineProperty(window.SequenceEffect.prototype,"activeDuration",{get:function(){var t=0;return this.children.forEach(function(e){t+=n(e)}),Math.max(t,0)}}),window.GroupEffect.prototype=Object.create(r.prototype),Object.defineProperty(window.GroupEffect.prototype,"activeDuration",{get:function(){var t=0;return this.children.forEach(function(e){t=Math.max(t,n(e))}),t}}),e.newUnderlyingAnimationForGroup=function(i){var n,r=null,o=function(e){var i=n._wrapper;if(i&&"pending"!=i.playState&&i.effect)return null==e?void i._removeChildAnimations():0==e&&i.playbackRate<0&&(r||(r=t.normalizeTimingInput(i.effect.timing)),e=t.calculateIterationProgress(t.calculateActiveDuration(r),-1,r),isNaN(e)||null==e)?(i._forEachChild(function(t){t.currentTime=-1}),void i._removeChildAnimations()):void 0},a=new KeyframeEffect(null,[],i._timing,i._id);return a.onsample=o,n=e.timeline._play(a)},e.bindAnimationForGroup=function(t){t._animation._wrapper=t,t._isGroup=!0,e.awaitStartTime(t),t._constructChildAnimations(),t._setExternalAnimation(t)},e.groupChildDuration=n}(c,e),b.true=a}({},function(){return this}())</script><script>Polymer({is:"opaque-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var i=e.node;return this._effect=new KeyframeEffect(i,[{opacity:"1"},{opacity:"1"}],this.timingFromConfig(e)),i.style.opacity="0",this._effect},complete:function(e){e.node.style.opacity=""}})</script><script>!function(){"use strict";var e={pageX:0,pageY:0},t=null,l=[],n=["wheel","mousewheel","DOMMouseScroll","touchstart","touchmove"];Polymer.IronDropdownScrollManager={get currentLockingElement(){return this._lockingElements[this._lockingElements.length-1]},elementIsScrollLocked:function(e){var t=this.currentLockingElement;if(void 0===t)return!1;var l;return!!this._hasCachedLockedElement(e)||!this._hasCachedUnlockedElement(e)&&(l=!!t&&t!==e&&!this._composedTreeContains(t,e),l?this._lockedElementCache.push(e):this._unlockedElementCache.push(e),l)},pushScrollLock:function(e){this._lockingElements.indexOf(e)>=0||(0===this._lockingElements.length&&this._lockScrollInteractions(),this._lockingElements.push(e),this._lockedElementCache=[],this._unlockedElementCache=[])},removeScrollLock:function(e){var t=this._lockingElements.indexOf(e);-1!==t&&(this._lockingElements.splice(t,1),this._lockedElementCache=[],this._unlockedElementCache=[],0===this._lockingElements.length&&this._unlockScrollInteractions())},_lockingElements:[],_lockedElementCache:null,_unlockedElementCache:null,_hasCachedLockedElement:function(e){return this._lockedElementCache.indexOf(e)>-1},_hasCachedUnlockedElement:function(e){return this._unlockedElementCache.indexOf(e)>-1},_composedTreeContains:function(e,t){var l,n,o,r;if(e.contains(t))return!0;for(l=Polymer.dom(e).querySelectorAll("content"),o=0;o<l.length;++o)for(n=Polymer.dom(l[o]).getDistributedNodes(),r=0;r<n.length;++r)if(this._composedTreeContains(n[r],t))return!0;return!1},_scrollInteractionHandler:function(t){if(t.cancelable&&this._shouldPreventScrolling(t)&&t.preventDefault(),t.targetTouches){var l=t.targetTouches[0];e.pageX=l.pageX,e.pageY=l.pageY}},_lockScrollInteractions:function(){this._boundScrollHandler=this._boundScrollHandler||this._scrollInteractionHandler.bind(this);for(var e=0,t=n.length;e<t;e++)document.addEventListener(n[e],this._boundScrollHandler,{capture:!0,passive:!1})},_unlockScrollInteractions:function(){for(var e=0,t=n.length;e<t;e++)document.removeEventListener(n[e],this._boundScrollHandler,{capture:!0,passive:!1})},_shouldPreventScrolling:function(e){var n=Polymer.dom(e).rootTarget;if("touchmove"!==e.type&&t!==n&&(t=n,l=this._getScrollableNodes(Polymer.dom(e).path)),!l.length)return!0;if("touchstart"===e.type)return!1;var o=this._getScrollInfo(e);return!this._getScrollingNode(l,o.deltaX,o.deltaY)},_getScrollableNodes:function(e){for(var t=[],l=e.indexOf(this.currentLockingElement),n=0;n<=l;n++)if(e[n].nodeType===Node.ELEMENT_NODE){var o=e[n],r=o.style;"scroll"!==r.overflow&&"auto"!==r.overflow&&(r=window.getComputedStyle(o)),"scroll"!==r.overflow&&"auto"!==r.overflow||t.push(o)}return t},_getScrollingNode:function(e,t,l){if(t||l)for(var n=Math.abs(l)>=Math.abs(t),o=0;o<e.length;o++){var r=e[o];if(n?l<0?r.scrollTop>0:r.scrollTop<r.scrollHeight-r.clientHeight:t<0?r.scrollLeft>0:r.scrollLeft<r.scrollWidth-r.clientWidth)return r}},_getScrollInfo:function(t){var l={deltaX:t.deltaX,deltaY:t.deltaY};if("deltaX"in t);else if("wheelDeltaX"in t)l.deltaX=-t.wheelDeltaX,l.deltaY=-t.wheelDeltaY;else if("axis"in t)l.deltaX=1===t.axis?t.detail:0,l.deltaY=2===t.axis?t.detail:0;else if(t.targetTouches){var n=t.targetTouches[0];l.deltaX=e.pageX-n.pageX,l.deltaY=e.pageY-n.pageY}return l}}}()</script><dom-module id="iron-dropdown" assetpath="../../bower_components/iron-dropdown/"><template><style>:host{position:fixed}#contentWrapper ::content>*{overflow:auto}#contentWrapper.animating ::content>*{overflow:hidden}</style><div id="contentWrapper"><content id="content" select=".dropdown-content"></content></div></template><script>!function(){"use strict";Polymer({is:"iron-dropdown",behaviors:[Polymer.IronControlState,Polymer.IronA11yKeysBehavior,Polymer.IronOverlayBehavior,Polymer.NeonAnimationRunnerBehavior],properties:{horizontalAlign:{type:String,value:"left",reflectToAttribute:!0},verticalAlign:{type:String,value:"top",reflectToAttribute:!0},openAnimationConfig:{type:Object},closeAnimationConfig:{type:Object},focusTarget:{type:Object},noAnimations:{type:Boolean,value:!1},allowOutsideScroll:{type:Boolean,value:!1},_boundOnCaptureScroll:{type:Function,value:function(){return this._onCaptureScroll.bind(this)}}},listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},observers:["_updateOverlayPosition(positionTarget, verticalAlign, horizontalAlign, verticalOffset, horizontalOffset)"],get containedElement(){return Polymer.dom(this.$.content).getDistributedNodes()[0]},get _focusTarget(){return this.focusTarget||this.containedElement},ready:function(){this._scrollTop=0,this._scrollLeft=0,this._refitOnScrollRAF=null},attached:function(){this.sizingTarget&&this.sizingTarget!==this||(this.sizingTarget=this.containedElement||this)},detached:function(){this.cancelAnimation(),document.removeEventListener("scroll",this._boundOnCaptureScroll),Polymer.IronDropdownScrollManager.removeScrollLock(this)},_openedChanged:function(){this.opened&&this.disabled?this.cancel():(this.cancelAnimation(),this._updateAnimationConfig(),this._saveScrollPosition(),this.opened?(document.addEventListener("scroll",this._boundOnCaptureScroll),!this.allowOutsideScroll&&Polymer.IronDropdownScrollManager.pushScrollLock(this)):(document.removeEventListener("scroll",this._boundOnCaptureScroll),Polymer.IronDropdownScrollManager.removeScrollLock(this)),Polymer.IronOverlayBehaviorImpl._openedChanged.apply(this,arguments))},_renderOpened:function(){!this.noAnimations&&this.animationConfig.open?(this.$.contentWrapper.classList.add("animating"),this.playAnimation("open")):Polymer.IronOverlayBehaviorImpl._renderOpened.apply(this,arguments)},_renderClosed:function(){!this.noAnimations&&this.animationConfig.close?(this.$.contentWrapper.classList.add("animating"),this.playAnimation("close")):Polymer.IronOverlayBehaviorImpl._renderClosed.apply(this,arguments)},_onNeonAnimationFinish:function(){this.$.contentWrapper.classList.remove("animating"),this.opened?this._finishRenderOpened():this._finishRenderClosed()},_onCaptureScroll:function(){this.allowOutsideScroll?(this._refitOnScrollRAF&&window.cancelAnimationFrame(this._refitOnScrollRAF),this._refitOnScrollRAF=window.requestAnimationFrame(this.refit.bind(this))):this._restoreScrollPosition()},_saveScrollPosition:function(){document.scrollingElement?(this._scrollTop=document.scrollingElement.scrollTop,this._scrollLeft=document.scrollingElement.scrollLeft):(this._scrollTop=Math.max(document.documentElement.scrollTop,document.body.scrollTop),this._scrollLeft=Math.max(document.documentElement.scrollLeft,document.body.scrollLeft))},_restoreScrollPosition:function(){document.scrollingElement?(document.scrollingElement.scrollTop=this._scrollTop,document.scrollingElement.scrollLeft=this._scrollLeft):(document.documentElement.scrollTop=this._scrollTop,document.documentElement.scrollLeft=this._scrollLeft,document.body.scrollTop=this._scrollTop,document.body.scrollLeft=this._scrollLeft)},_updateAnimationConfig:function(){for(var o=this.containedElement,t=[].concat(this.openAnimationConfig||[]).concat(this.closeAnimationConfig||[]),n=0;n<t.length;n++)t[n].node=o;this.animationConfig={open:this.openAnimationConfig,close:this.closeAnimationConfig}},_updateOverlayPosition:function(){this.isAttached&&this.notifyResize()},_applyFocus:function(){var o=this.focusTarget||this.containedElement;o&&this.opened&&!this.noAutoFocus?o.focus():Polymer.IronOverlayBehaviorImpl._applyFocus.apply(this,arguments)}})}()</script></dom-module><script>Polymer({is:"fade-in-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(i){var e=i.node;return this._effect=new KeyframeEffect(e,[{opacity:"0"},{opacity:"1"}],this.timingFromConfig(i)),this._effect}})</script><script>Polymer({is:"fade-out-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var i=e.node;return this._effect=new KeyframeEffect(i,[{opacity:"1"},{opacity:"0"}],this.timingFromConfig(e)),this._effect}})</script><script>Polymer({is:"paper-menu-grow-height-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var i=e.node,t=i.getBoundingClientRect(),n=t.height;return this._effect=new KeyframeEffect(i,[{height:n/2+"px"},{height:n+"px"}],this.timingFromConfig(e)),this._effect}}),Polymer({is:"paper-menu-grow-width-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var i=e.node,t=i.getBoundingClientRect(),n=t.width;return this._effect=new KeyframeEffect(i,[{width:n/2+"px"},{width:n+"px"}],this.timingFromConfig(e)),this._effect}}),Polymer({is:"paper-menu-shrink-width-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var i=e.node,t=i.getBoundingClientRect(),n=t.width;return this._effect=new KeyframeEffect(i,[{width:n+"px"},{width:n-n/20+"px"}],this.timingFromConfig(e)),this._effect}}),Polymer({is:"paper-menu-shrink-height-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var i=e.node,t=i.getBoundingClientRect(),n=t.height;t.top;return this.setPrefixedProperty(i,"transformOrigin","0 0"),this._effect=new KeyframeEffect(i,[{height:n+"px",transform:"translateY(0)"},{height:n/2+"px",transform:"translateY(-20px)"}],this.timingFromConfig(e)),this._effect}})</script><dom-module id="paper-menu-button" assetpath="../../bower_components/paper-menu-button/"><template><style>:host{display:inline-block;position:relative;padding:8px;outline:0;@apply(--paper-menu-button)}:host([disabled]){cursor:auto;color:var(--disabled-text-color);@apply(--paper-menu-button-disabled)}iron-dropdown{@apply(--paper-menu-button-dropdown)}.dropdown-content{@apply(--shadow-elevation-2dp);position:relative;border-radius:2px;background-color:var(--paper-menu-button-dropdown-background,--primary-background-color);@apply(--paper-menu-button-content)}:host([vertical-align=top]) .dropdown-content{margin-bottom:20px;margin-top:-10px;top:10px}:host([vertical-align=bottom]) .dropdown-content{bottom:10px;margin-bottom:-10px;margin-top:20px}#trigger{cursor:pointer}</style><div id="trigger" on-tap="toggle"><content select=".dropdown-trigger"></content></div><iron-dropdown id="dropdown" opened="{{opened}}" horizontal-align="[[horizontalAlign]]" vertical-align="[[verticalAlign]]" dynamic-align="[[dynamicAlign]]" horizontal-offset="[[horizontalOffset]]" vertical-offset="[[verticalOffset]]" no-overlap="[[noOverlap]]" open-animation-config="[[openAnimationConfig]]" close-animation-config="[[closeAnimationConfig]]" no-animations="[[noAnimations]]" focus-target="[[_dropdownContent]]" allow-outside-scroll="[[allowOutsideScroll]]" restore-focus-on-close="[[restoreFocusOnClose]]" on-iron-overlay-canceled="__onIronOverlayCanceled"><div class="dropdown-content"><content id="content" select=".dropdown-content"></content></div></iron-dropdown></template><script>!function(){"use strict";var e={ANIMATION_CUBIC_BEZIER:"cubic-bezier(.3,.95,.5,1)",MAX_ANIMATION_TIME_MS:400},n=Polymer({is:"paper-menu-button",behaviors:[Polymer.IronA11yKeysBehavior,Polymer.IronControlState],properties:{opened:{type:Boolean,value:!1,notify:!0,observer:"_openedChanged"},horizontalAlign:{type:String,value:"left",reflectToAttribute:!0},verticalAlign:{type:String,value:"top",reflectToAttribute:!0},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},noOverlap:{type:Boolean},noAnimations:{type:Boolean,value:!1},ignoreSelect:{type:Boolean,value:!1},closeOnActivate:{type:Boolean,value:!1},openAnimationConfig:{type:Object,value:function(){return[{name:"fade-in-animation",timing:{delay:100,duration:200}},{name:"paper-menu-grow-width-animation",timing:{delay:100,duration:150,easing:e.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-grow-height-animation",timing:{delay:100,duration:275,easing:e.ANIMATION_CUBIC_BEZIER}}]}},closeAnimationConfig:{type:Object,value:function(){return[{name:"fade-out-animation",timing:{duration:150}},{name:"paper-menu-shrink-width-animation",timing:{delay:100,duration:50,easing:e.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-shrink-height-animation",timing:{duration:200,easing:"ease-in"}}]}},allowOutsideScroll:{type:Boolean,value:!1},restoreFocusOnClose:{type:Boolean,value:!0},_dropdownContent:{type:Object}},hostAttributes:{role:"group","aria-haspopup":"true"},listeners:{"iron-activate":"_onIronActivate","iron-select":"_onIronSelect"},get contentElement(){return Polymer.dom(this.$.content).getDistributedNodes()[0]},toggle:function(){this.opened?this.close():this.open()},open:function(){this.disabled||this.$.dropdown.open()},close:function(){this.$.dropdown.close()},_onIronSelect:function(e){this.ignoreSelect||this.close()},_onIronActivate:function(e){this.closeOnActivate&&this.close()},_openedChanged:function(e,n){e?(this._dropdownContent=this.contentElement,this.fire("paper-dropdown-open")):null!=n&&this.fire("paper-dropdown-close")},_disabledChanged:function(e){Polymer.IronControlState._disabledChanged.apply(this,arguments),e&&this.opened&&this.close()},__onIronOverlayCanceled:function(e){var n=e.detail,t=(Polymer.dom(n).rootTarget,this.$.trigger);Polymer.dom(n).path.indexOf(t)>-1&&e.preventDefault()}});Object.keys(e).forEach(function(t){n[t]=e[t]}),Polymer.PaperMenuButton=n}()</script></dom-module><script>Polymer({is:"iron-iconset-svg",properties:{name:{type:String,observer:"_nameChanged"},size:{type:Number,value:24},rtlMirroring:{type:Boolean,value:!1}},attached:function(){this.style.display="none"},getIconNames:function(){return this._icons=this._createIconMap(),Object.keys(this._icons).map(function(e){return this.name+":"+e},this)},applyIcon:function(e,t){e=e.root||e,this.removeIcon(e);var n=this._cloneIcon(t,this.rtlMirroring&&this._targetIsRTL(e));if(n){var r=Polymer.dom(e);return r.insertBefore(n,r.childNodes[0]),e._svgIcon=n}return null},removeIcon:function(e){e=e.root||e,e._svgIcon&&(Polymer.dom(e).removeChild(e._svgIcon),e._svgIcon=null)},_targetIsRTL:function(e){return null==this.__targetIsRTL&&(e&&e.nodeType!==Node.ELEMENT_NODE&&(e=e.host),this.__targetIsRTL=e&&"rtl"===window.getComputedStyle(e).direction),this.__targetIsRTL},_nameChanged:function(){new Polymer.IronMeta({type:"iconset",key:this.name,value:this}),this.async(function(){this.fire("iron-iconset-added",this,{node:window})})},_createIconMap:function(){var e=Object.create(null);return Polymer.dom(this).querySelectorAll("[id]").forEach(function(t){e[t.id]=t}),e},_cloneIcon:function(e,t){return this._icons=this._icons||this._createIconMap(),this._prepareSvgClone(this._icons[e],this.size,t)},_prepareSvgClone:function(e,t,n){if(e){var r=e.cloneNode(!0),i=document.createElementNS("http://www.w3.org/2000/svg","svg"),o=r.getAttribute("viewBox")||"0 0 "+t+" "+t,s="pointer-events: none; display: block; width: 100%; height: 100%;";return n&&r.hasAttribute("mirror-in-rtl")&&(s+="-webkit-transform:scale(-1,1);transform:scale(-1,1);"),i.setAttribute("viewBox",o),i.setAttribute("preserveAspectRatio","xMidYMid meet"),i.style.cssText=s,i.appendChild(r).removeAttribute("id"),i}return null}})</script><iron-iconset-svg name="paper-dropdown-menu" size="24"><svg><defs><g id="arrow-drop-down"><path d="M7 10l5 5 5-5z"></path></g></defs></svg></iron-iconset-svg><dom-module id="paper-dropdown-menu-shared-styles" assetpath="../../bower_components/paper-dropdown-menu/"><template><style>:host{display:inline-block;position:relative;text-align:left;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent;--paper-input-container-input:{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%;box-sizing:border-box;cursor:pointer};@apply(--paper-dropdown-menu)}:host([disabled]){@apply(--paper-dropdown-menu-disabled)}:host([noink]) paper-ripple{display:none}:host([no-label-float]) paper-ripple{top:8px}paper-ripple{top:12px;left:0;bottom:8px;right:0;@apply(--paper-dropdown-menu-ripple)}paper-menu-button{display:block;padding:0;@apply(--paper-dropdown-menu-button)}paper-input{@apply(--paper-dropdown-menu-input)}iron-icon{color:var(--disabled-text-color);@apply(--paper-dropdown-menu-icon)}</style></template></dom-module><dom-module id="paper-dropdown-menu-light" assetpath="../../bower_components/paper-dropdown-menu/"><template><style include="paper-dropdown-menu-shared-styles">:host(:focus){outline:0}:host{width:200px}.dropdown-trigger{box-sizing:border-box;position:relative;width:100%;padding:16px 0 8px 0}:host([disabled]) .dropdown-trigger{pointer-events:none;opacity:var(--paper-dropdown-menu-disabled-opacity,.33)}:host([no-label-float]) .dropdown-trigger{padding-top:8px}#input{@apply(--paper-font-subhead);@apply(--paper-font-common-nowrap);line-height:1.5;border-bottom:1px solid var(--paper-dropdown-menu-color,--secondary-text-color);color:var(--paper-dropdown-menu-color,--primary-text-color);width:100%;box-sizing:border-box;padding:12px 20px 0 0;outline:0;@apply(--paper-dropdown-menu-input)}:host-context([dir=rtl]) #input{padding-right:0;padding-left:20px}:host([disabled]) #input{border-bottom:1px dashed var(--paper-dropdown-menu-color,--secondary-text-color)}:host([invalid]) #input{border-bottom:2px solid var(--paper-dropdown-error-color,--error-color)}:host([no-label-float]) #input{padding-top:0}label{@apply(--paper-font-subhead);@apply(--paper-font-common-nowrap);display:block;position:absolute;bottom:0;left:0;right:0;top:28px;box-sizing:border-box;width:100%;padding-right:20px;text-align:left;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);color:var(--paper-dropdown-menu-color,--secondary-text-color);@apply(--paper-dropdown-menu-label)}:host-context([dir=rtl]) label{padding-right:0;padding-left:20px}:host([no-label-float]) label{top:8px;transition-duration:0s}label.label-is-floating{font-size:12px;top:8px}label.label-is-hidden{visibility:hidden}:host([focused]) label.label-is-floating{color:var(--paper-dropdown-menu-focus-color,--primary-color)}:host([invalid]) label.label-is-floating{color:var(--paper-dropdown-error-color,--error-color)}label:after{background-color:var(--paper-dropdown-menu-focus-color,--primary-color);bottom:7px;content:'';height:2px;left:45%;position:absolute;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);visibility:hidden;width:8px;z-index:10}:host([invalid]) label:after{background-color:var(--paper-dropdown-error-color,--error-color)}:host([no-label-float]) label:after{bottom:7px}:host([focused]:not([disabled])) label:after{left:0;visibility:visible;width:100%}iron-icon{position:absolute;right:0;bottom:8px;@apply(--paper-font-subhead);color:var(--disabled-text-color);@apply(--paper-dropdown-menu-icon)}:host-context([dir=rtl]) iron-icon{left:0;right:auto}:host([no-label-float]) iron-icon{margin-top:0}.error{display:inline-block;visibility:hidden;color:var(--paper-dropdown-error-color,--error-color);@apply(--paper-font-caption);position:absolute;left:0;right:0;bottom:-12px}:host([invalid]) .error{visibility:visible}</style><span role="button"></span><paper-menu-button id="menuButton" vertical-align="[[verticalAlign]]" horizontal-align="[[horizontalAlign]]" vertical-offset="[[_computeMenuVerticalOffset(noLabelFloat)]]" disabled="[[disabled]]" no-animations="[[noAnimations]]" on-iron-select="_onIronSelect" on-iron-deselect="_onIronDeselect" opened="{{opened}}" close-on-activate="" allow-outside-scroll="[[allowOutsideScroll]]"><div class="dropdown-trigger"><label class$="[[_computeLabelClass(noLabelFloat,alwaysFloatLabel,hasContent)]]">[[label]]</label><div id="input" tabindex="-1"> </div><iron-icon icon="paper-dropdown-menu:arrow-drop-down"></iron-icon><span class="error">[[errorMessage]]</span></div><content id="content" select=".dropdown-content"></content></paper-menu-button></template><script>!function(){"use strict";Polymer({is:"paper-dropdown-menu-light",behaviors:[Polymer.IronButtonState,Polymer.IronControlState,Polymer.PaperRippleBehavior,Polymer.IronFormElementBehavior,Polymer.IronValidatableBehavior],properties:{selectedItemLabel:{type:String,notify:!0,readOnly:!0},selectedItem:{type:Object,notify:!0,readOnly:!0},value:{type:String,notify:!0,readOnly:!0,observer:"_valueChanged"},label:{type:String},placeholder:{type:String},opened:{type:Boolean,notify:!0,value:!1,observer:"_openedChanged"},allowOutsideScroll:{type:Boolean,value:!1},noLabelFloat:{type:Boolean,value:!1,reflectToAttribute:!0},alwaysFloatLabel:{type:Boolean,value:!1},noAnimations:{type:Boolean,value:!1},horizontalAlign:{type:String,value:"right"},verticalAlign:{type:String,value:"top"},hasContent:{type:Boolean,readOnly:!0}},listeners:{tap:"_onTap"},keyBindings:{"up down":"open",esc:"close"},hostAttributes:{tabindex:0,role:"combobox","aria-autocomplete":"none","aria-haspopup":"true"},observers:["_selectedItemChanged(selectedItem)"],attached:function(){var e=this.contentElement;e&&e.selectedItem&&this._setSelectedItem(e.selectedItem)},get contentElement(){return Polymer.dom(this.$.content).getDistributedNodes()[0]},open:function(){this.$.menuButton.open()},close:function(){this.$.menuButton.close()},_onIronSelect:function(e){this._setSelectedItem(e.detail.item)},_onIronDeselect:function(e){this._setSelectedItem(null)},_onTap:function(e){Polymer.Gestures.findOriginalTarget(e)===this&&this.open()},_selectedItemChanged:function(e){var t="";t=e?e.label||e.getAttribute("label")||e.textContent.trim():"",this._setValue(t),this._setSelectedItemLabel(t)},_computeMenuVerticalOffset:function(e){return e?-4:8},_getValidity:function(e){return this.disabled||!this.required||this.required&&!!this.value},_openedChanged:function(){var e=this.opened?"true":"false",t=this.contentElement;t&&t.setAttribute("aria-expanded",e)},_computeLabelClass:function(e,t,n){var o="";return!0===e?n?"label-is-hidden":"":((n||!0===t)&&(o+=" label-is-floating"),o)},_valueChanged:function(){this.$.input&&this.$.input.textContent!==this.value&&(this.$.input.textContent=this.value),this._setHasContent(!!this.value)}})}()</script></dom-module><script>Polymer.IronSelection=function(e){this.selection=[],this.selectCallback=e},Polymer.IronSelection.prototype={get:function(){return this.multi?this.selection.slice():this.selection[0]},clear:function(e){this.selection.slice().forEach(function(t){(!e||e.indexOf(t)<0)&&this.setItemSelected(t,!1)},this)},isSelected:function(e){return this.selection.indexOf(e)>=0},setItemSelected:function(e,t){if(null!=e&&t!==this.isSelected(e)){if(t)this.selection.push(e);else{var i=this.selection.indexOf(e);i>=0&&this.selection.splice(i,1)}this.selectCallback&&this.selectCallback(e,t)}},select:function(e){this.multi?this.toggle(e):this.get()!==e&&(this.setItemSelected(this.get(),!1),this.setItemSelected(e,!0))},toggle:function(e){this.setItemSelected(e,!this.isSelected(e))}}</script><script>Polymer.IronSelectableBehavior={properties:{attrForSelected:{type:String,value:null},selected:{type:String,notify:!0},selectedItem:{type:Object,readOnly:!0,notify:!0},activateEvent:{type:String,value:"tap",observer:"_activateEventChanged"},selectable:String,selectedClass:{type:String,value:"iron-selected"},selectedAttribute:{type:String,value:null},fallbackSelection:{type:String,value:null},items:{type:Array,readOnly:!0,notify:!0,value:function(){return[]}},_excludedLocalNames:{type:Object,value:function(){return{template:1}}}},observers:["_updateAttrForSelected(attrForSelected)","_updateSelected(selected)","_checkFallback(fallbackSelection)"],created:function(){this._bindFilterItem=this._filterItem.bind(this),this._selection=new Polymer.IronSelection(this._applySelection.bind(this))},attached:function(){this._observer=this._observeItems(this),this._updateItems(),this._shouldUpdateSelection||this._updateSelected(),this._addListener(this.activateEvent)},detached:function(){this._observer&&Polymer.dom(this).unobserveNodes(this._observer),this._removeListener(this.activateEvent)},indexOf:function(e){return this.items.indexOf(e)},select:function(e){this.selected=e},selectPrevious:function(){var e=this.items.length,t=(Number(this._valueToIndex(this.selected))-1+e)%e;this.selected=this._indexToValue(t)},selectNext:function(){var e=(Number(this._valueToIndex(this.selected))+1)%this.items.length;this.selected=this._indexToValue(e)},selectIndex:function(e){this.select(this._indexToValue(e))},forceSynchronousItemUpdate:function(){this._updateItems()},get _shouldUpdateSelection(){return null!=this.selected},_checkFallback:function(){this._shouldUpdateSelection&&this._updateSelected()},_addListener:function(e){this.listen(this,e,"_activateHandler")},_removeListener:function(e){this.unlisten(this,e,"_activateHandler")},_activateEventChanged:function(e,t){this._removeListener(t),this._addListener(e)},_updateItems:function(){var e=Polymer.dom(this).queryDistributedElements(this.selectable||"*");e=Array.prototype.filter.call(e,this._bindFilterItem),this._setItems(e)},_updateAttrForSelected:function(){this._shouldUpdateSelection&&(this.selected=this._indexToValue(this.indexOf(this.selectedItem)))},_updateSelected:function(){this._selectSelected(this.selected)},_selectSelected:function(e){this._selection.select(this._valueToItem(this.selected)),this.fallbackSelection&&this.items.length&&void 0===this._selection.get()&&(this.selected=this.fallbackSelection)},_filterItem:function(e){return!this._excludedLocalNames[e.localName]},_valueToItem:function(e){return null==e?null:this.items[this._valueToIndex(e)]},_valueToIndex:function(e){if(!this.attrForSelected)return Number(e);for(var t,i=0;t=this.items[i];i++)if(this._valueForItem(t)==e)return i},_indexToValue:function(e){if(!this.attrForSelected)return e;var t=this.items[e];return t?this._valueForItem(t):void 0},_valueForItem:function(e){var t=e[Polymer.CaseMap.dashToCamelCase(this.attrForSelected)];return void 0!=t?t:e.getAttribute(this.attrForSelected)},_applySelection:function(e,t){this.selectedClass&&this.toggleClass(this.selectedClass,t,e),this.selectedAttribute&&this.toggleAttribute(this.selectedAttribute,t,e),this._selectionChange(),this.fire("iron-"+(t?"select":"deselect"),{item:e})},_selectionChange:function(){this._setSelectedItem(this._selection.get())},_observeItems:function(e){return Polymer.dom(e).observeNodes(function(e){this._updateItems(),this._shouldUpdateSelection&&this._updateSelected(),this.fire("iron-items-changed",e,{bubbles:!1,cancelable:!1})})},_activateHandler:function(e){for(var t=e.target,i=this.items;t&&t!=this;){var s=i.indexOf(t);if(s>=0){var n=this._indexToValue(s);return void this._itemActivate(n,t)}t=t.parentNode}},_itemActivate:function(e,t){this.fire("iron-activate",{selected:e,item:t},{cancelable:!0}).defaultPrevented||this.select(e)}}</script><script>Polymer.IronMultiSelectableBehaviorImpl={properties:{multi:{type:Boolean,value:!1,observer:"multiChanged"},selectedValues:{type:Array,notify:!0},selectedItems:{type:Array,readOnly:!0,notify:!0}},observers:["_updateSelected(selectedValues.splices)"],select:function(e){this.multi?this.selectedValues?this._toggleSelected(e):this.selectedValues=[e]:this.selected=e},multiChanged:function(e){this._selection.multi=e},get _shouldUpdateSelection(){return null!=this.selected||null!=this.selectedValues&&this.selectedValues.length},_updateAttrForSelected:function(){this.multi?this._shouldUpdateSelection&&(this.selectedValues=this.selectedItems.map(function(e){return this._indexToValue(this.indexOf(e))},this).filter(function(e){return null!=e},this)):Polymer.IronSelectableBehavior._updateAttrForSelected.apply(this)},_updateSelected:function(){this.multi?this._selectMulti(this.selectedValues):this._selectSelected(this.selected)},_selectMulti:function(e){if(e){var t=this._valuesToItems(e);this._selection.clear(t);for(var l=0;l<t.length;l++)this._selection.setItemSelected(t[l],!0);if(this.fallbackSelection&&this.items.length&&!this._selection.get().length){this._valueToItem(this.fallbackSelection)&&(this.selectedValues=[this.fallbackSelection])}}else this._selection.clear()},_selectionChange:function(){var e=this._selection.get();this.multi?this._setSelectedItems(e):(this._setSelectedItems([e]),this._setSelectedItem(e))},_toggleSelected:function(e){var t=this.selectedValues.indexOf(e);t<0?this.push("selectedValues",e):this.splice("selectedValues",t,1)},_valuesToItems:function(e){return null==e?null:e.map(function(e){return this._valueToItem(e)},this)}},Polymer.IronMultiSelectableBehavior=[Polymer.IronSelectableBehavior,Polymer.IronMultiSelectableBehaviorImpl]</script><script>Polymer.IronMenuBehaviorImpl={properties:{focusedItem:{observer:"_focusedItemChanged",readOnly:!0,type:Object},attrForItemTitle:{type:String},disabled:{type:Boolean,value:!1,observer:"_disabledChanged"}},_SEARCH_RESET_TIMEOUT_MS:1e3,_previousTabIndex:0,hostAttributes:{role:"menu"},observers:["_updateMultiselectable(multi)"],listeners:{focus:"_onFocus",keydown:"_onKeydown","iron-items-changed":"_onIronItemsChanged"},keyBindings:{up:"_onUpKey",down:"_onDownKey",esc:"_onEscKey","shift+tab:keydown":"_onShiftTabDown"},attached:function(){this._resetTabindices()},select:function(e){this._defaultFocusAsync&&(this.cancelAsync(this._defaultFocusAsync),this._defaultFocusAsync=null);var t=this._valueToItem(e);t&&t.hasAttribute("disabled")||(this._setFocusedItem(t),Polymer.IronMultiSelectableBehaviorImpl.select.apply(this,arguments))},_resetTabindices:function(){var e=this.multi?this.selectedItems&&this.selectedItems[0]:this.selectedItem;this.items.forEach(function(t){t.setAttribute("tabindex",t===e?"0":"-1")},this)},_updateMultiselectable:function(e){e?this.setAttribute("aria-multiselectable","true"):this.removeAttribute("aria-multiselectable")},_focusWithKeyboardEvent:function(e){this.cancelDebouncer("_clearSearchText");var t=this._searchText||"";t+=(e.key&&1==e.key.length?e.key:String.fromCharCode(e.keyCode)).toLocaleLowerCase();for(var i,s=t.length,o=0;i=this.items[o];o++)if(!i.hasAttribute("disabled")){var n=this.attrForItemTitle||"textContent",r=(i[n]||i.getAttribute(n)||"").trim();if(!(r.length<s)&&r.slice(0,s).toLocaleLowerCase()==t){this._setFocusedItem(i);break}}this._searchText=t,this.debounce("_clearSearchText",this._clearSearchText,this._SEARCH_RESET_TIMEOUT_MS)},_clearSearchText:function(){this._searchText=""},_focusPrevious:function(){for(var e=this.items.length,t=Number(this.indexOf(this.focusedItem)),i=1;i<e+1;i++){var s=this.items[(t-i+e)%e];if(!s.hasAttribute("disabled")){var o=Polymer.dom(s).getOwnerRoot()||document;if(this._setFocusedItem(s),Polymer.dom(o).activeElement==s)return}}},_focusNext:function(){for(var e=this.items.length,t=Number(this.indexOf(this.focusedItem)),i=1;i<e+1;i++){var s=this.items[(t+i)%e];if(!s.hasAttribute("disabled")){var o=Polymer.dom(s).getOwnerRoot()||document;if(this._setFocusedItem(s),Polymer.dom(o).activeElement==s)return}}},_applySelection:function(e,t){t?e.setAttribute("aria-selected","true"):e.removeAttribute("aria-selected"),Polymer.IronSelectableBehavior._applySelection.apply(this,arguments)},_focusedItemChanged:function(e,t){t&&t.setAttribute("tabindex","-1"),!e||e.hasAttribute("disabled")||this.disabled||(e.setAttribute("tabindex","0"),e.focus())},_onIronItemsChanged:function(e){e.detail.addedNodes.length&&this._resetTabindices()},_onShiftTabDown:function(e){var t=this.getAttribute("tabindex");Polymer.IronMenuBehaviorImpl._shiftTabPressed=!0,this._setFocusedItem(null),this.setAttribute("tabindex","-1"),this.async(function(){this.setAttribute("tabindex",t),Polymer.IronMenuBehaviorImpl._shiftTabPressed=!1},1)},_onFocus:function(e){if(!Polymer.IronMenuBehaviorImpl._shiftTabPressed){var t=Polymer.dom(e).rootTarget;(t===this||void 0===t.tabIndex||this.isLightDescendant(t))&&(this._defaultFocusAsync=this.async(function(){var e=this.multi?this.selectedItems&&this.selectedItems[0]:this.selectedItem;this._setFocusedItem(null),e?this._setFocusedItem(e):this.items[0]&&this._focusNext()}))}},_onUpKey:function(e){this._focusPrevious(),e.detail.keyboardEvent.preventDefault()},_onDownKey:function(e){this._focusNext(),e.detail.keyboardEvent.preventDefault()},_onEscKey:function(e){this.focusedItem.blur()},_onKeydown:function(e){this.keyboardEventMatchesKeys(e,"up down esc")||this._focusWithKeyboardEvent(e),e.stopPropagation()},_activateHandler:function(e){Polymer.IronSelectableBehavior._activateHandler.call(this,e),e.stopPropagation()},_disabledChanged:function(e){e?(this._previousTabIndex=this.hasAttribute("tabindex")?this.tabIndex:0,this.removeAttribute("tabindex")):this.hasAttribute("tabindex")||this.setAttribute("tabindex",this._previousTabIndex)}},Polymer.IronMenuBehaviorImpl._shiftTabPressed=!1,Polymer.IronMenuBehavior=[Polymer.IronMultiSelectableBehavior,Polymer.IronA11yKeysBehavior,Polymer.IronMenuBehaviorImpl]</script><dom-module id="paper-listbox" assetpath="../../bower_components/paper-listbox/"><template><style>:host{display:block;padding:8px 0;background:var(--paper-listbox-background-color,--primary-background-color);color:var(--paper-listbox-color,--primary-text-color);@apply(--paper-listbox)}</style><content></content></template><script>!function(){Polymer({is:"paper-listbox",behaviors:[Polymer.IronMenuBehavior],hostAttributes:{role:"listbox"}})}()</script></dom-module><dom-module id="ha-config-section" assetpath="../config/"><template><style include="iron-flex ha-style">.content{padding:28px 20px 0;max-width:1040px;margin:0 auto}.header{@apply(--paper-font-display1);opacity:var(--dark-primary-opacity)}.together{margin-top:32px}.intro{@apply(--paper-font-subhead);width:100%;max-width:400px;margin-right:40px;opacity:var(--dark-primary-opacity)}.panel{margin-top:-24px}.panel ::slotted(*){margin-top:24px;display:block}.narrow.content{max-width:640px}.narrow .together{margin-top:20px}.narrow .header{@apply(--paper-font-headline)}.narrow .intro{font-size:14px;padding-bottom:20px;margin-right:0;max-width:500px}</style><div class$="[[computeContentClasses(isWide)]]"><div class="header"><slot name="header"></slot></div><div class$="[[computeClasses(isWide)]]"><div class="intro"><slot name="introduction"></slot></div><div class="flex panel"><slot></slot></div></div></div></template></dom-module><script>Polymer({is:"ha-config-section",properties:{hass:{type:Object},narrow:{type:Boolean},showMenu:{type:Boolean,value:!1},isWide:{type:Boolean,value:!1}},computeContentClasses:function(e){return e?"content ":"content narrow"},computeClasses:function(e){return"together layout "+(e?"horizontal":"vertical narrow")}})</script><script>!function(){"use strict";function e(){}function n(n,t){var o=U,r=void 0,i=void 0,a=void 0,l=void 0;for(l=arguments.length;l-- >2;)L.push(arguments[l]);for(t&&null!=t.children&&(L.length||L.push(t.children),delete t.children);L.length;)if((i=L.pop())&&void 0!==i.pop)for(l=i.length;l--;)L.push(i[l]);else!0!==i&&!1!==i||(i=null),(a="function"!=typeof n)&&(null==i?i="":"number"==typeof i?i=String(i):"string"!=typeof i&&(a=!1)),a&&r?o[o.length-1]+=i:o===U?o=[i]:o.push(i),r=a;var s=new e;return s.nodeName=n,s.children=o,s.attributes=null==t?void 0:t,s.key=null==t?void 0:t.key,void 0!==j.vnode&&j.vnode(s),s}function t(e,n){for(var t in n)e[t]=n[t];return e}function o(e){!e._dirty&&(e._dirty=!0)&&1==z.push(e)&&(j.debounceRendering||setTimeout)(r)}function r(){var e=void 0,n=z;for(z=[];e=n.pop();)e._dirty&&x(e)}function i(e,n,t){return"string"==typeof n||"number"==typeof n?void 0!==e.splitText:"string"==typeof n.nodeName?!e._componentConstructor&&a(e,n.nodeName):t||e._componentConstructor===n.nodeName}function a(e,n){return e.normalizedNodeName===n||e.nodeName.toLowerCase()===n.toLowerCase()}function l(e){var n=t({},e.attributes);n.children=e.children;var o=e.nodeName.defaultProps;if(void 0!==o)for(var r in o)void 0===n[r]&&(n[r]=o[r]);return n}function s(e,n){var t=n?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e);return t.normalizedNodeName=e,t}function u(e){e.parentNode&&e.parentNode.removeChild(e)}function p(e,n,t,o,r){if("className"===n&&(n="class"),"key"===n);else if("ref"===n)t&&t(null),o&&o(e);else if("class"!==n||r)if("style"===n){if(o&&"string"!=typeof o&&"string"!=typeof t||(e.style.cssText=o||""),o&&"object"===(void 0===o?"undefined":I(o))){if("string"!=typeof t)for(var i in t)i in o||(e.style[i]="");for(var a in o)e.style[a]="number"==typeof o[a]&&!1===W.test(a)?o[a]+"px":o[a]}}else if("dangerouslySetInnerHTML"===n)o&&(e.innerHTML=o.__html||"");else if("o"==n[0]&&"n"==n[1]){var l=n!==(n=n.replace(/Capture$/,""));n=n.toLowerCase().substring(2),o?t||e.addEventListener(n,d,l):e.removeEventListener(n,d,l),(e._listeners||(e._listeners={}))[n]=o}else if("list"!==n&&"type"!==n&&!r&&n in e)c(e,n,null==o?"":o),null!=o&&!1!==o||e.removeAttribute(n);else{var s=r&&n!==(n=n.replace(/^xlink\:?/,""));null==o||!1===o?s?e.removeAttributeNS("http://www.w3.org/1999/xlink",n.toLowerCase()):e.removeAttribute(n):"function"!=typeof o&&(s?e.setAttributeNS("http://www.w3.org/1999/xlink",n.toLowerCase(),o):e.setAttribute(n,o))}else e.className=o||""}function c(e,n,t){try{e[n]=t}catch(e){}}function d(e){return this._listeners[e.type](j.event&&j.event(e)||e)}function h(){for(var e=void 0;e=G.pop();)j.afterMount&&j.afterMount(e),e.componentDidMount&&e.componentDidMount()}function f(e,n,t,o,r,i){K++||(Q=null!=r&&void 0!==r.ownerSVGElement,X=null!=e&&!(V in e));var a=v(e,n,t,o,i);return r&&a.parentNode!==r&&r.appendChild(a),--K||(X=!1,i||h()),a}function v(e,n,t,o,r){var i=e,l=Q;if(null==n&&(n=""),"string"==typeof n)return e&&void 0!==e.splitText&&e.parentNode&&(!e._component||r)?e.nodeValue!=n&&(e.nodeValue=n):(i=document.createTextNode(n),e&&(e.parentNode&&e.parentNode.replaceChild(i,e),m(e,!0))),i[V]=!0,i;if("function"==typeof n.nodeName)return N(e,n,t,o);if(Q="svg"===n.nodeName||"foreignObject"!==n.nodeName&&Q,(!e||!a(e,String(n.nodeName)))&&(i=s(String(n.nodeName),Q),e)){for(;e.firstChild;)i.appendChild(e.firstChild);e.parentNode&&e.parentNode.replaceChild(i,e),m(e,!0)}var u=i.firstChild,p=i[V]||(i[V]={}),c=n.children;return!X&&c&&1===c.length&&"string"==typeof c[0]&&null!=u&&void 0!==u.splitText&&null==u.nextSibling?u.nodeValue!=c[0]&&(u.nodeValue=c[0]):(c&&c.length||null!=u)&&g(i,c,t,o,X||null!=p.dangerouslySetInnerHTML),C(i,n.attributes,p),Q=l,i}function g(e,n,t,o,r){var a=e.childNodes,l=[],s={},p=0,c=0,d=a.length,h=0,f=n?n.length:0,g=void 0,y=void 0,C=void 0,b=void 0;if(0!==d)for(var _=0;_<d;_++){var w=a[_],k=w[V],x=f&&k?w._component?w._component.__key:k.key:null;null!=x?(p++,s[x]=w):(k||(void 0!==w.splitText?!r||w.nodeValue.trim():r))&&(l[h++]=w)}if(0!==f)for(var N=0;N<f;N++){C=n[N],b=null;var O=C.key;if(null!=O)p&&void 0!==s[O]&&(b=s[O],s[O]=void 0,p--);else if(!b&&c<h)for(g=c;g<h;g++)if(void 0!==l[g]&&i(y=l[g],C,r)){b=y,l[g]=void 0,g===h-1&&h--,g===c&&c++;break}(b=v(b,C,t,o))&&b!==e&&(N>=d?e.appendChild(b):b!==a[N]&&(b===a[N+1]?u(a[N]):e.insertBefore(b,a[N]||null)))}if(p)for(var S in s)void 0!==s[S]&&m(s[S],!1);for(;c<=h;)void 0!==(b=l[h--])&&m(b,!1)}function m(e,n){var t=e._component;t?O(t):(null!=e[V]&&e[V].ref&&e[V].ref(null),!1!==n&&null!=e[V]||u(e),y(e))}function y(e){for(e=e.lastChild;e;){var n=e.previousSibling;m(e,!0),e=n}}function C(e,n,t){var o=void 0;for(o in t)n&&null!=n[o]||null==t[o]||p(e,o,t[o],t[o]=void 0,Q);for(o in n)"children"===o||"innerHTML"===o||o in t&&n[o]===("value"===o||"checked"===o?e[o]:t[o])||p(e,o,t[o],t[o]=n[o],Q)}function b(e){var n=e.constructor.name;(Y[n]||(Y[n]=[])).push(e)}function _(e,n,t){var o=Y[e.name],r=void 0;if(e.prototype&&e.prototype.render?(r=new e(n,t),S.call(r,n,t)):(r=new S(n,t),r.constructor=e,r.render=w),o)for(var i=o.length;i--;)if(o[i].constructor===e){r.nextBase=o[i].nextBase,o.splice(i,1);break}return r}function w(e,n,t){return this.constructor(e,t)}function k(e,n,t,r,i){e._disable||(e._disable=!0,(e.__ref=n.ref)&&delete n.ref,(e.__key=n.key)&&delete n.key,!e.base||i?e.componentWillMount&&e.componentWillMount():e.componentWillReceiveProps&&e.componentWillReceiveProps(n,r),r&&r!==e.context&&(e.prevContext||(e.prevContext=e.context),e.context=r),e.prevProps||(e.prevProps=e.props),e.props=n,e._disable=!1,t!==A&&(t!==E&&!1===j.syncComponentUpdates&&e.base?o(e):x(e,E,i)),e.__ref&&e.__ref(e))}function x(e,n,o,r){if(!e._disable){var i=e.props,a=e.state,s=e.context,u=e.prevProps||i,p=e.prevState||a,c=e.prevContext||s,d=e.base,v=e.nextBase,g=d||v,y=e._component,C=!1,b=void 0,w=void 0,N=void 0;if(d&&(e.props=u,e.state=p,e.context=c,n!==M&&e.shouldComponentUpdate&&!1===e.shouldComponentUpdate(i,a,s)?C=!0:e.componentWillUpdate&&e.componentWillUpdate(i,a,s),e.props=i,e.state=a,e.context=s),e.prevProps=e.prevState=e.prevContext=e.nextBase=null,e._dirty=!1,!C){b=e.render(i,a,s),e.getChildContext&&(s=t(t({},s),e.getChildContext()));var S=b&&b.nodeName,T=void 0,D=void 0;if("function"==typeof S){var P=l(b);w=y,w&&w.constructor===S&&P.key==w.__key?k(w,P,E,s,!1):(T=w,e._component=w=_(S,P,s),w.nextBase=w.nextBase||v,w._parentComponent=e,k(w,P,A,s,!1),x(w,E,o,!0)),D=w.base}else N=g,T=y,T&&(N=e._component=null),(g||n===E)&&(N&&(N._component=null),D=f(N,b,s,o||!d,g&&g.parentNode,!0));if(g&&D!==g&&w!==y){var L=g.parentNode;L&&D!==L&&(L.replaceChild(D,g),T||(g._component=null,m(g,!1)))}if(T&&O(T),e.base=D,D&&!r){for(var U=e,B=e;B=B._parentComponent;)(U=B).base=D;D._component=U,D._componentConstructor=U.constructor}}if(!d||o?G.unshift(e):C||(h(),e.componentDidUpdate&&e.componentDidUpdate(u,p,c),j.afterUpdate&&j.afterUpdate(e)),null!=e._renderCallbacks)for(;e._renderCallbacks.length;)e._renderCallbacks.pop().call(e);K||r||h()}}function N(e,n,t,o){for(var r=e&&e._component,i=r,a=e,s=r&&e._componentConstructor===n.nodeName,u=s,p=l(n);r&&!u&&(r=r._parentComponent);)u=r.constructor===n.nodeName;return r&&u&&(!o||r._component)?(k(r,p,B,t,o),e=r.base):(i&&!s&&(O(i),e=a=null),r=_(n.nodeName,p,t),e&&!r.nextBase&&(r.nextBase=e,a=null),k(r,p,E,t,o),e=r.base,a&&e!==a&&(a._component=null,m(a,!1))),e}function O(e){j.beforeUnmount&&j.beforeUnmount(e);var n=e.base;e._disable=!0,e.componentWillUnmount&&e.componentWillUnmount(),e.base=null;var t=e._component;t?O(t):n&&(n[V]&&n[V].ref&&n[V].ref(null),e.nextBase=n,u(n),b(e),y(n)),e.__ref&&e.__ref(null)}function S(e,n){this._dirty=!0,this.context=n,this.props=e,this.state=this.state||{}}function T(e,n,t){return f(t,e,{},!1,n,!1)}function D(e){var n=F({},this.props.trigger);e.target.value?n[e.target.name]=e.target.value:delete n[e.target.name],this.props.onChange(this.props.index,n)}function P(e){return"service"in e?"Call Service":null}var j={},L=[],U=[],A=0,E=1,M=2,B=3,V="__preactattr_",W=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i,z=[],I="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},J=function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")},H=function(){function e(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(n,t,o){return t&&e(n.prototype,t),o&&e(n,o),n}}(),R=function(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e},F=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},$=function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)},q=function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n},G=[],K=0,Q=!1,X=!1,Y={};t(S.prototype,{setState:function(e,n){var r=this.state;this.prevState||(this.prevState=t({},r)),t(r,"function"==typeof e?e(r,this.props):e),n&&(this._renderCallbacks=this._renderCallbacks||[]).push(n),o(this)},forceUpdate:function(e){e&&(this._renderCallbacks=this._renderCallbacks||[]).push(e),x(this,M)},render:function(){}});var Z=function(e){function t(e){J(this,t);var n=q(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state.isValid=!0,n.state.value=JSON.stringify(e.value||{},null,2),n.onChange=n.onChange.bind(n),n}return $(t,e),H(t,[{key:"onChange",value:function(e){var n=e.target.value,t=void 0,o=void 0;try{t=JSON.parse(n),o=!0}catch(e){o=!1}this.setState({value:n,isValid:o}),o&&this.props.onChange(t)}},{key:"componentWillReceiveProps",value:function(e){var n=e.value;this.setState({value:JSON.stringify(n,null,2),isValid:!0})}},{key:"render",value:function(e,t){var o=t.value,r=t.isValid,i={minWidth:300};return r||(i.border="1px solid red"),n("textarea",{value:o,style:i,onChange:this.onChange})}}]),t}(S),ee=function(e){function t(){J(this,t);var e=q(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.onChange=D.bind(e),e.eventDataChanged=e.eventDataChanged.bind(e),e}return $(t,e),H(t,[{key:"eventDataChanged",value:function(e){this.props.onChange(this.props.index,F({},this.props.trigger,{event_data:e}))}},{key:"render",value:function(e){var t=e.trigger,o=t.event_type,r=t.event_data;return n("div",null,n("paper-input",{label:"Event Type",name:"event_type",value:o,onChange:this.onChange}),"Event Data",n(Z,{value:r,onChange:this.eventDataChanged}))}}]),t}(S),ne=function(e){function t(){J(this,t);var e=q(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.onChange=D.bind(e),e}return $(t,e),H(t,[{key:"render",value:function(e){var t=e.trigger,o=t.entity_id,r=t.to,i=t.from,a=t.for;return n("div",null,n("paper-input",{label:"Entity Id",name:"entity_id",value:o,onChange:this.onChange}),n("paper-input",{label:"From",name:"from",value:i,onChange:this.onChange}),n("paper-input",{label:"To",name:"to",value:r,onChange:this.onChange}),a&&n("pre",null,"For: ",JSON.stringify(a,null,2)))}}]),t}(S),te=function(e){function t(){J(this,t);var e=q(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.onChange=D.bind(e),e}return $(t,e),H(t,[{key:"render",value:function(e){var t=e.trigger,o=t.value_template,r=t.entity_id,i=t.below,a=t.above;return n("div",null,n("paper-input",{label:"Entity Id",name:"entity_id",value:r,onChange:this.onChange}),n("paper-input",{label:"Above",name:"above",value:a,onChange:this.onChange}),n("paper-input",{label:"Below",name:"below",value:i,onChange:this.onChange}),"Value template (optional)",n("br",null),n("textarea",{name:"value_template",value:o,style:{width:"100%",height:100},onChange:this.onChange}))}}]),t}(S),oe={event:ee,state:ne,homeassistant:null,mqtt:null,numeric_state:te,sun:null,template:null,time:null,zone:null},re=Object.keys(oe).sort(),ie=function(e){function t(){J(this,t);var e=q(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.typeChanged=e.typeChanged.bind(e),e.onDelete=e.onDelete.bind(e),e}return $(t,e),H(t,[{key:"typeChanged",value:function(e){var n=e.target.selectedItem.innerHTML;n!==this.props.trigger.platform&&this.props.onChange(this.props.index,{platform:n})}},{key:"onDelete",value:function(){confirm("Sure you want to delete?")&&this.props.onChange(this.props.index,null)}},{key:"render",value:function(e){var t=e.index,o=e.trigger,r=e.onChange,i=oe[o.platform],a=re.indexOf(o.platform),l=void 0;return l=i?n("div",null,n("paper-dropdown-menu-light",{label:"Trigger Type","no-animations":!0},n("paper-listbox",{class:"dropdown-content",selected:a,"oniron-select":this.typeChanged},re.map(function(e){return n("paper-item",null,e)}))),n(i,{index:t,trigger:o,onChange:r})):n("div",null,"Unsupported platform: ",o.platform,n("pre",null,JSON.stringify(o,null,2))),n("paper-card",null,n("div",{class:"card-menu"},n("paper-menu-button",{"no-animations":!0,"horizontal-align":"right","horizontal-offset":"-5","vertical-offset":"-5"},n("paper-icon-button",{icon:"mdi:dots-vertical",class:"dropdown-trigger"}),n("paper-menu",{class:"dropdown-content"},n("paper-item",{disabled:!0},"Duplicate"),n("paper-item",{onTap:this.onDelete},"Delete")))),n("div",{class:"card-content"},l))}}]),t}(S),ae=function(e){function t(){J(this,t);var e=q(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.addTrigger=e.addTrigger.bind(e),e.triggerChanged=e.triggerChanged.bind(e),e}return $(t,e),H(t,[{key:"addTrigger",value:function(){var e=this.props.trigger.concat({platform:"event"});this.props.onChange(e)}},{key:"triggerChanged",value:function(e,n){var t=this.props.trigger.concat();null===n?t.splice(e,1):t[e]=n,this.props.onChange(t)}},{key:"render",value:function(e){var t=this;return n("div",{class:"triggers"},e.trigger.map(function(e,o){return n(ie,{index:o,trigger:e,onChange:t.triggerChanged})}),n("paper-card",null,n("div",{class:"card-actions add-card"},n("paper-button",{onTap:this.addTrigger},"Add trigger"))))}}]),t}(S),le=function(e){function t(){J(this,t);var e=q(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.onChange=e.onChange.bind(e),e.serviceDataChanged=e.serviceDataChanged.bind(e),e}return $(t,e),H(t,[{key:"onChange",value:function(e){this.props.onChange(this.props.index,F({},this.props.action,R({},e.target.name,e.target.value)))}},{key:"serviceDataChanged",value:function(e){this.props.onChange(this.props.index,F({},this.props.action,{service_data:e}))}},{key:"render",value:function(e){var t=e.action,o=t.alias,r=t.service,i=t.data;return n("div",null,n("paper-input",{label:"Alias",name:"alias",value:o,onChange:this.onChange}),n("paper-input",{label:"Service",name:"service",value:r,onChange:this.onChange}),"Service Data",n("br",null),n(Z,{value:i,onChange:this.serviceDataChanged}))}}]),t}(S),se={"Call Service":le,Delay:null,"Templated Delay":null,Condition:null,"Fire Event":null},ue=Object.keys(se).sort(),pe=function(e){function t(){J(this,t);var e=q(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.typeChanged=e.typeChanged.bind(e),e.onDelete=e.onDelete.bind(e),e}return $(t,e),H(t,[{key:"typeChanged",value:function(e){var n=e.target.selectedItem.innerHTML;P(this.props.action)!==n&&this.props.onChange(this.props.index,{platform:n})}},{key:"onDelete",value:function(){confirm("Sure you want to delete?")&&this.props.onChange(this.props.index,null)}},{key:"render",value:function(e){var t=e.index,o=e.action,r=e.onChange,i=P(o),a=se[i],l=ue.indexOf(i),s=void 0;return s=a?n("div",null,n("paper-dropdown-menu-light",{label:"Action Type","no-animations":!0},n("paper-listbox",{class:"dropdown-content",selected:l,"oniron-select":this.typeChanged},ue.map(function(e){return n("paper-item",null,e)}))),n(a,{index:t,action:o,onChange:r})):n("div",null,"Unsupported action",n("pre",null,JSON.stringify(o,null,2))),n("paper-card",null,n("div",{class:"card-menu"},n("paper-menu-button",{"no-animations":!0,"horizontal-align":"right","horizontal-offset":"-5","vertical-offset":"-5"},n("paper-icon-button",{icon:"mdi:dots-vertical",class:"dropdown-trigger"}),n("paper-menu",{class:"dropdown-content"},n("paper-item",{disabled:!0},"Duplicate"),n("paper-item",{onTap:this.onDelete},"Delete")))),n("div",{class:"card-content"},s))}}]),t}(S),ce=function(e){function t(){J(this,t);var e=q(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.addAction=e.addAction.bind(e),e.actionChanged=e.actionChanged.bind(e),e}return $(t,e),H(t,[{key:"addAction",value:function(){var e=this.props.script.concat({service:""});this.props.onChange(e)}},{key:"actionChanged",value:function(e,n){var t=this.props.script.concat();null===n?t.splice(e,1):t[e]=n,this.props.onChange(t)}},{key:"render",value:function(e){var t=this;return n("div",{class:"script"},e.script.map(function(e,o){return n(pe,{index:o,action:e,onChange:t.actionChanged})}),n("paper-card",null,n("div",{class:"card-actions add-card"},n("paper-button",{onTap:this.addAction},"Add action"))))}}]),t}(S),de=function(e){function t(){J(this,t);var e=q(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.onChange=e.onChange.bind(e),e.triggerChanged=e.triggerChanged.bind(e),e.actionChanged=e.actionChanged.bind(e),e}return $(t,e),H(t,[{key:"onChange",value:function(e){this.props.onChange(F({},this.props.automation,R({},e.target.name,e.target.value)))}},{key:"triggerChanged",value:function(e){this.props.onChange(F({},this.props.automation,{trigger:e}))}},{key:"actionChanged",value:function(e){this.props.onChange(F({},this.props.automation,{action:e}))}},{key:"render",value:function(e){var t=e.automation,o=e.isWide,r=t.alias,i=t.trigger,a=t.condition,l=t.action;return n("div",null,n("ha-config-section",{"is-wide":o},n("span",{slot:"header"},r),n("span",{slot:"introduction"},"Use automations to bring your home alive."),n("paper-card",null,n("div",{class:"card-content"},n("paper-input",{label:"Name",name:"alias",value:r,onChange:this.onChange})))),n("ha-config-section",{"is-wide":o},n("span",{slot:"header"},"Triggers"),n("span",{slot:"introduction"},"Like a journey, every automation starts with a single step. In this case it's what should trigger the automation.",n("p",null,n("a",{href:"https://home-assistant.io/docs/automation/trigger/",target:"_blank"},"Learn more about triggers."))),n(ae,{trigger:i,onChange:this.triggerChanged})),a&&n("ha-config-section",{"is-wide":o},n("span",{slot:"header"},"Conditions"),n("span",{slot:"introduction"},"Conditions can be used to prevent an automation from executing.",n("p",null,n("a",{href:"https://home-assistant.io/docs/scripts/conditions/",target:"_blank"},"Learn more about conditions."))),n("paper-card",null,n("div",{class:"card-content"},"Conditions are not supported yet.",n("pre",null,JSON.stringify(a,null,2))))),n("ha-config-section",{"is-wide":o},n("span",{slot:"header"},"Action"),n("span",{slot:"introduction"},"The action part defines what the automation should do.",n("p",null,n("a",{href:"https://home-assistant.io/docs/scripts/",target:"_blank"},"Learn more about actions."))),n(ce,{script:l,onChange:this.actionChanged})))}}]),t}(S);window.AutomationEditor=function(e,t,o){return T(n(de,t),e,o)},window.unmountPreact=function(e,n){T(function(){return null},e,n)}}()</script><dom-module id="ha-automation-editor" assetpath="./"><template><style include="ha-style">.errors{padding:20px;font-weight:700;color:var(--google-red-500)}.content{padding-bottom:20px}paper-card{display:block}.script,.triggers{margin-top:-16px}.script paper-card,.triggers paper-card{margin-top:16px}.add-card paper-button{display:block;text-align:center}.card-menu{position:absolute;top:0;right:0;z-index:1;color:var(--primary-text-color)}.card-menu paper-item{cursor:pointer}span[slot=introduction] a{color:var(--primary-color)}</style><app-header-layout has-scrolling-region=""><app-header fixed=""><app-toolbar><paper-icon-button icon="mdi:arrow-left" on-tap="backTapped"></paper-icon-button><div main-title="">Automation [[name]]</div><paper-icon-button icon="mdi:content-save" on-tap="saveAutomation" disabled="[[!dirty]]"></paper-icon-button></app-toolbar></app-header><div class="content"><template is="dom-if" if="[[errors]]"><div class="errors">[[errors]]</div></template><div id="root"></div></div></app-header-layout></template></dom-module><script>Polymer({is:"ha-automation-editor",properties:{hass:{type:Object},narrow:{type:Boolean},showMenu:{type:Boolean,value:!1},errors:{type:Object,value:null},dirty:{type:Boolean,value:!1},config:{type:Object,value:null},automation:{type:Object,observer:"automationChanged"},name:{type:String,computed:"computeName(automation)"},isWide:{type:Boolean,observer:"isWideChanged"}},attached:function(){this.configChanged=this.configChanged.bind(this)},detached:function(){this._rendered&&window.unmountPreact(this._rendered)},configChanged:function(t){this.config=t,this.errors=null,this.dirty=!0,this._updateComponent(t)},automationChanged:function(t,i){if(t)return this.hass?void(i&&i.attributes.id===t.attributes.id||this.hass.callApi("get","config/automation/config/"+t.attributes.id).then(function(t){["trigger","condition","action"].forEach(function(i){Array.isArray(t[i])||(t[i]=[t[i]])}),this.dirty=!1,this.config=t,this._updateComponent()}.bind(this))):void setTimeout(this.automationChanged.bind(this,t,i),0)},isWideChanged:function(){null!==this.config&&this._updateComponent()},backTapped:function(){this.dirty&&!confirm("You have unsaved changes. Are you sure you want to leave?")||this.fire("hass-automation-picked",{id:null})},_updateComponent:function(){this._rendered=window.AutomationEditor(this.$.root,{automation:this.config,onChange:this.configChanged,isWide:this.isWide},this._rendered)},saveAutomation:function(){this.hass.callApi("post","config/automation/config/"+this.automation.attributes.id,this.config).then(function(){this.dirty=!1}.bind(this),function(t){throw this.errors=t.body.message,t}.bind(this))},computeName:function(t){return t&&window.hassUtil.computeStateName(t)}})</script></div><dom-module id="ha-panel-automation"><template><style>ha-automation-editor,ha-automation-picker{height:100%}</style><iron-media-query query="(min-width: 1040px)" query-matches="{{wide}}"></iron-media-query><iron-media-query query="(min-width: 1296px)" query-matches="{{wideSidebar}}"></iron-media-query><template is="dom-if" if="[[!automation]]"><ha-automation-picker automations="[[automations]]"></ha-automation-picker></template><template is="dom-if" if="[[automation]]" restamp=""><ha-automation-editor hass="[[hass]]" automation="[[automation]]" is-wide="[[isWide]]"></ha-automation-editor></template></template></dom-module><script>Polymer({is:"ha-panel-automation",properties:{hass:{type:Object},narrow:{type:Boolean},showMenu:{type:Boolean,value:!1},automations:{type:Array,computed:"computeAutomations(hass)"},automationId:{type:String,value:null},automation:{type:Object,computed:"computeAutomation(automations, automationId)"},wide:{type:Boolean},wideSidebar:{type:Boolean},isWide:{type:Boolean,computed:"computeIsWide(showMenu, wideSidebar, wide)"}},listeners:{"hass-automation-picked":"automationPicked"},computeIsWide:function(t,o,e){return t?o:e},computeAutomation:function(t,o){for(var e=0;e<t.length;e++)if(t[e].attributes.id===o)return t[e];return null},computeAutomations:function(t){var o=[];return Object.keys(t.states).forEach(function(e){var a=t.states[e];"automation"===window.hassUtil.computeDomain(a)&&"id"in a.attributes&&o.push(a)}),o.sort(function(t,o){var e=(t.attributes.alias||t.entity_id).toLowerCase(),a=(o.attributes.alias||o.entity_id).toLowerCase();return e<a?-1:e>a?1:0})},automationPicked:function(t){this.automationId=t.detail.id}})</script></body></html> \ No newline at end of file +<html><head><meta charset="UTF-8"></head><body><div hidden="" by-vulcanize=""><dom-module id="iron-image" assetpath="../../bower_components/iron-image/"><template><style>:host{display:inline-block;overflow:hidden;position:relative}#sizedImgDiv{@apply(--layout-fit);display:none}#img{display:block;width:var(--iron-image-width,auto);height:var(--iron-image-height,auto)}:host([sizing]) #sizedImgDiv{display:block}:host([sizing]) #img{display:none}#placeholder{@apply(--layout-fit);background-color:inherit;opacity:1;@apply(--iron-image-placeholder)}#placeholder.faded-out{transition:opacity .5s linear;opacity:0}</style><div id="sizedImgDiv" role="img" hidden$="[[_computeImgDivHidden(sizing)]]" aria-hidden$="[[_computeImgDivARIAHidden(alt)]]" aria-label$="[[_computeImgDivARIALabel(alt, src)]]"></div><img id="img" alt$="[[alt]]" hidden$="[[_computeImgHidden(sizing)]]"><div id="placeholder" hidden$="[[_computePlaceholderHidden(preload, fade, loading, loaded)]]" class$="[[_computePlaceholderClassName(preload, fade, loading, loaded)]]"></div></template><script>Polymer({is:"iron-image",properties:{src:{observer:"_srcChanged",type:String,value:""},alt:{type:String,value:null},preventLoad:{type:Boolean,value:!1,observer:"_preventLoadChanged"},sizing:{type:String,value:null,reflectToAttribute:!0},position:{type:String,value:"center"},preload:{type:Boolean,value:!1},placeholder:{type:String,value:null,observer:"_placeholderChanged"},fade:{type:Boolean,value:!1},loaded:{notify:!0,readOnly:!0,type:Boolean,value:!1},loading:{notify:!0,readOnly:!0,type:Boolean,value:!1},error:{notify:!0,readOnly:!0,type:Boolean,value:!1},width:{observer:"_widthChanged",type:Number,value:null},height:{observer:"_heightChanged",type:Number,value:null}},observers:["_transformChanged(sizing, position)"],ready:function(){var e=this.$.img;e.onload=function(){this.$.img.src===this._resolveSrc(this.src)&&(this._setLoading(!1),this._setLoaded(!0),this._setError(!1))}.bind(this),e.onerror=function(){this.$.img.src===this._resolveSrc(this.src)&&(this._reset(),this._setLoading(!1),this._setLoaded(!1),this._setError(!0))}.bind(this),this._resolvedSrc=""},_load:function(e){e?this.$.img.src=e:this.$.img.removeAttribute("src"),this.$.sizedImgDiv.style.backgroundImage=e?'url("'+e+'")':"",this._setLoading(!!e),this._setLoaded(!1),this._setError(!1)},_reset:function(){this.$.img.removeAttribute("src"),this.$.sizedImgDiv.style.backgroundImage="",this._setLoading(!1),this._setLoaded(!1),this._setError(!1)},_computePlaceholderHidden:function(){return!this.preload||!this.fade&&!this.loading&&this.loaded},_computePlaceholderClassName:function(){return this.preload&&this.fade&&!this.loading&&this.loaded?"faded-out":""},_computeImgDivHidden:function(){return!this.sizing},_computeImgDivARIAHidden:function(){return""===this.alt?"true":void 0},_computeImgDivARIALabel:function(){if(null!==this.alt)return this.alt;if(""===this.src)return"";var e=new URL(this._resolveSrc(this.src)).pathname.split("/");return e[e.length-1]},_computeImgHidden:function(){return!!this.sizing},_widthChanged:function(){this.style.width=isNaN(this.width)?this.width:this.width+"px"},_heightChanged:function(){this.style.height=isNaN(this.height)?this.height:this.height+"px"},_preventLoadChanged:function(){this.preventLoad||this.loaded||(this._reset(),this._load(this.src))},_srcChanged:function(e,t){var i=this._resolveSrc(e);i!==this._resolvedSrc&&(this._resolvedSrc=i,this._reset(),this.preventLoad||this._load(e))},_placeholderChanged:function(){this.$.placeholder.style.backgroundImage=this.placeholder?'url("'+this.placeholder+'")':""},_transformChanged:function(){var e=this.$.sizedImgDiv.style,t=this.$.placeholder.style;e.backgroundSize=t.backgroundSize=this.sizing,e.backgroundPosition=t.backgroundPosition=this.sizing?this.position:"",e.backgroundRepeat=t.backgroundRepeat=this.sizing?"no-repeat":""},_resolveSrc:function(e){var t=this.ownerDocument.baseURI;return new URL(Polymer.ResolveUrl.resolveUrl(e,t),t).href}})</script></dom-module><style is="custom-style">:root{--google-red-100:#f4c7c3;--google-red-300:#e67c73;--google-red-500:#db4437;--google-red-700:#c53929;--google-blue-100:#c6dafc;--google-blue-300:#7baaf7;--google-blue-500:#4285f4;--google-blue-700:#3367d6;--google-green-100:#b7e1cd;--google-green-300:#57bb8a;--google-green-500:#0f9d58;--google-green-700:#0b8043;--google-yellow-100:#fce8b2;--google-yellow-300:#f7cb4d;--google-yellow-500:#f4b400;--google-yellow-700:#f09300;--google-grey-100:#f5f5f5;--google-grey-300:#e0e0e0;--google-grey-500:#9e9e9e;--google-grey-700:#616161;--paper-red-50:#ffebee;--paper-red-100:#ffcdd2;--paper-red-200:#ef9a9a;--paper-red-300:#e57373;--paper-red-400:#ef5350;--paper-red-500:#f44336;--paper-red-600:#e53935;--paper-red-700:#d32f2f;--paper-red-800:#c62828;--paper-red-900:#b71c1c;--paper-red-a100:#ff8a80;--paper-red-a200:#ff5252;--paper-red-a400:#ff1744;--paper-red-a700:#d50000;--paper-pink-50:#fce4ec;--paper-pink-100:#f8bbd0;--paper-pink-200:#f48fb1;--paper-pink-300:#f06292;--paper-pink-400:#ec407a;--paper-pink-500:#e91e63;--paper-pink-600:#d81b60;--paper-pink-700:#c2185b;--paper-pink-800:#ad1457;--paper-pink-900:#880e4f;--paper-pink-a100:#ff80ab;--paper-pink-a200:#ff4081;--paper-pink-a400:#f50057;--paper-pink-a700:#c51162;--paper-purple-50:#f3e5f5;--paper-purple-100:#e1bee7;--paper-purple-200:#ce93d8;--paper-purple-300:#ba68c8;--paper-purple-400:#ab47bc;--paper-purple-500:#9c27b0;--paper-purple-600:#8e24aa;--paper-purple-700:#7b1fa2;--paper-purple-800:#6a1b9a;--paper-purple-900:#4a148c;--paper-purple-a100:#ea80fc;--paper-purple-a200:#e040fb;--paper-purple-a400:#d500f9;--paper-purple-a700:#aa00ff;--paper-deep-purple-50:#ede7f6;--paper-deep-purple-100:#d1c4e9;--paper-deep-purple-200:#b39ddb;--paper-deep-purple-300:#9575cd;--paper-deep-purple-400:#7e57c2;--paper-deep-purple-500:#673ab7;--paper-deep-purple-600:#5e35b1;--paper-deep-purple-700:#512da8;--paper-deep-purple-800:#4527a0;--paper-deep-purple-900:#311b92;--paper-deep-purple-a100:#b388ff;--paper-deep-purple-a200:#7c4dff;--paper-deep-purple-a400:#651fff;--paper-deep-purple-a700:#6200ea;--paper-indigo-50:#e8eaf6;--paper-indigo-100:#c5cae9;--paper-indigo-200:#9fa8da;--paper-indigo-300:#7986cb;--paper-indigo-400:#5c6bc0;--paper-indigo-500:#3f51b5;--paper-indigo-600:#3949ab;--paper-indigo-700:#303f9f;--paper-indigo-800:#283593;--paper-indigo-900:#1a237e;--paper-indigo-a100:#8c9eff;--paper-indigo-a200:#536dfe;--paper-indigo-a400:#3d5afe;--paper-indigo-a700:#304ffe;--paper-blue-50:#e3f2fd;--paper-blue-100:#bbdefb;--paper-blue-200:#90caf9;--paper-blue-300:#64b5f6;--paper-blue-400:#42a5f5;--paper-blue-500:#2196f3;--paper-blue-600:#1e88e5;--paper-blue-700:#1976d2;--paper-blue-800:#1565c0;--paper-blue-900:#0d47a1;--paper-blue-a100:#82b1ff;--paper-blue-a200:#448aff;--paper-blue-a400:#2979ff;--paper-blue-a700:#2962ff;--paper-light-blue-50:#e1f5fe;--paper-light-blue-100:#b3e5fc;--paper-light-blue-200:#81d4fa;--paper-light-blue-300:#4fc3f7;--paper-light-blue-400:#29b6f6;--paper-light-blue-500:#03a9f4;--paper-light-blue-600:#039be5;--paper-light-blue-700:#0288d1;--paper-light-blue-800:#0277bd;--paper-light-blue-900:#01579b;--paper-light-blue-a100:#80d8ff;--paper-light-blue-a200:#40c4ff;--paper-light-blue-a400:#00b0ff;--paper-light-blue-a700:#0091ea;--paper-cyan-50:#e0f7fa;--paper-cyan-100:#b2ebf2;--paper-cyan-200:#80deea;--paper-cyan-300:#4dd0e1;--paper-cyan-400:#26c6da;--paper-cyan-500:#00bcd4;--paper-cyan-600:#00acc1;--paper-cyan-700:#0097a7;--paper-cyan-800:#00838f;--paper-cyan-900:#006064;--paper-cyan-a100:#84ffff;--paper-cyan-a200:#18ffff;--paper-cyan-a400:#00e5ff;--paper-cyan-a700:#00b8d4;--paper-teal-50:#e0f2f1;--paper-teal-100:#b2dfdb;--paper-teal-200:#80cbc4;--paper-teal-300:#4db6ac;--paper-teal-400:#26a69a;--paper-teal-500:#009688;--paper-teal-600:#00897b;--paper-teal-700:#00796b;--paper-teal-800:#00695c;--paper-teal-900:#004d40;--paper-teal-a100:#a7ffeb;--paper-teal-a200:#64ffda;--paper-teal-a400:#1de9b6;--paper-teal-a700:#00bfa5;--paper-green-50:#e8f5e9;--paper-green-100:#c8e6c9;--paper-green-200:#a5d6a7;--paper-green-300:#81c784;--paper-green-400:#66bb6a;--paper-green-500:#4caf50;--paper-green-600:#43a047;--paper-green-700:#388e3c;--paper-green-800:#2e7d32;--paper-green-900:#1b5e20;--paper-green-a100:#b9f6ca;--paper-green-a200:#69f0ae;--paper-green-a400:#00e676;--paper-green-a700:#00c853;--paper-light-green-50:#f1f8e9;--paper-light-green-100:#dcedc8;--paper-light-green-200:#c5e1a5;--paper-light-green-300:#aed581;--paper-light-green-400:#9ccc65;--paper-light-green-500:#8bc34a;--paper-light-green-600:#7cb342;--paper-light-green-700:#689f38;--paper-light-green-800:#558b2f;--paper-light-green-900:#33691e;--paper-light-green-a100:#ccff90;--paper-light-green-a200:#b2ff59;--paper-light-green-a400:#76ff03;--paper-light-green-a700:#64dd17;--paper-lime-50:#f9fbe7;--paper-lime-100:#f0f4c3;--paper-lime-200:#e6ee9c;--paper-lime-300:#dce775;--paper-lime-400:#d4e157;--paper-lime-500:#cddc39;--paper-lime-600:#c0ca33;--paper-lime-700:#afb42b;--paper-lime-800:#9e9d24;--paper-lime-900:#827717;--paper-lime-a100:#f4ff81;--paper-lime-a200:#eeff41;--paper-lime-a400:#c6ff00;--paper-lime-a700:#aeea00;--paper-yellow-50:#fffde7;--paper-yellow-100:#fff9c4;--paper-yellow-200:#fff59d;--paper-yellow-300:#fff176;--paper-yellow-400:#ffee58;--paper-yellow-500:#ffeb3b;--paper-yellow-600:#fdd835;--paper-yellow-700:#fbc02d;--paper-yellow-800:#f9a825;--paper-yellow-900:#f57f17;--paper-yellow-a100:#ffff8d;--paper-yellow-a200:#ffff00;--paper-yellow-a400:#ffea00;--paper-yellow-a700:#ffd600;--paper-amber-50:#fff8e1;--paper-amber-100:#ffecb3;--paper-amber-200:#ffe082;--paper-amber-300:#ffd54f;--paper-amber-400:#ffca28;--paper-amber-500:#ffc107;--paper-amber-600:#ffb300;--paper-amber-700:#ffa000;--paper-amber-800:#ff8f00;--paper-amber-900:#ff6f00;--paper-amber-a100:#ffe57f;--paper-amber-a200:#ffd740;--paper-amber-a400:#ffc400;--paper-amber-a700:#ffab00;--paper-orange-50:#fff3e0;--paper-orange-100:#ffe0b2;--paper-orange-200:#ffcc80;--paper-orange-300:#ffb74d;--paper-orange-400:#ffa726;--paper-orange-500:#ff9800;--paper-orange-600:#fb8c00;--paper-orange-700:#f57c00;--paper-orange-800:#ef6c00;--paper-orange-900:#e65100;--paper-orange-a100:#ffd180;--paper-orange-a200:#ffab40;--paper-orange-a400:#ff9100;--paper-orange-a700:#ff6500;--paper-deep-orange-50:#fbe9e7;--paper-deep-orange-100:#ffccbc;--paper-deep-orange-200:#ffab91;--paper-deep-orange-300:#ff8a65;--paper-deep-orange-400:#ff7043;--paper-deep-orange-500:#ff5722;--paper-deep-orange-600:#f4511e;--paper-deep-orange-700:#e64a19;--paper-deep-orange-800:#d84315;--paper-deep-orange-900:#bf360c;--paper-deep-orange-a100:#ff9e80;--paper-deep-orange-a200:#ff6e40;--paper-deep-orange-a400:#ff3d00;--paper-deep-orange-a700:#dd2c00;--paper-brown-50:#efebe9;--paper-brown-100:#d7ccc8;--paper-brown-200:#bcaaa4;--paper-brown-300:#a1887f;--paper-brown-400:#8d6e63;--paper-brown-500:#795548;--paper-brown-600:#6d4c41;--paper-brown-700:#5d4037;--paper-brown-800:#4e342e;--paper-brown-900:#3e2723;--paper-grey-50:#fafafa;--paper-grey-100:#f5f5f5;--paper-grey-200:#eeeeee;--paper-grey-300:#e0e0e0;--paper-grey-400:#bdbdbd;--paper-grey-500:#9e9e9e;--paper-grey-600:#757575;--paper-grey-700:#616161;--paper-grey-800:#424242;--paper-grey-900:#212121;--paper-blue-grey-50:#eceff1;--paper-blue-grey-100:#cfd8dc;--paper-blue-grey-200:#b0bec5;--paper-blue-grey-300:#90a4ae;--paper-blue-grey-400:#78909c;--paper-blue-grey-500:#607d8b;--paper-blue-grey-600:#546e7a;--paper-blue-grey-700:#455a64;--paper-blue-grey-800:#37474f;--paper-blue-grey-900:#263238;--dark-divider-opacity:0.12;--dark-disabled-opacity:0.38;--dark-secondary-opacity:0.54;--dark-primary-opacity:0.87;--light-divider-opacity:0.12;--light-disabled-opacity:0.3;--light-secondary-opacity:0.7;--light-primary-opacity:1.0}</style><style is="custom-style">:root{--primary-text-color:var(--light-theme-text-color);--primary-background-color:var(--light-theme-background-color);--secondary-text-color:var(--light-theme-secondary-color);--disabled-text-color:var(--light-theme-disabled-color);--divider-color:var(--light-theme-divider-color);--error-color:var(--paper-deep-orange-a700);--primary-color:var(--paper-indigo-500);--light-primary-color:var(--paper-indigo-100);--dark-primary-color:var(--paper-indigo-700);--accent-color:var(--paper-pink-a200);--light-accent-color:var(--paper-pink-a100);--dark-accent-color:var(--paper-pink-a400);--light-theme-background-color:#ffffff;--light-theme-base-color:#000000;--light-theme-text-color:var(--paper-grey-900);--light-theme-secondary-color:#737373;--light-theme-disabled-color:#9b9b9b;--light-theme-divider-color:#dbdbdb;--dark-theme-background-color:var(--paper-grey-900);--dark-theme-base-color:#ffffff;--dark-theme-text-color:#ffffff;--dark-theme-secondary-color:#bcbcbc;--dark-theme-disabled-color:#646464;--dark-theme-divider-color:#3c3c3c;--text-primary-color:var(--dark-theme-text-color);--default-primary-color:var(--primary-color)}</style><dom-module id="paper-card" assetpath="../../bower_components/paper-card/"><template><style include="paper-material">:host{display:inline-block;position:relative;box-sizing:border-box;background-color:var(--paper-card-background-color,--primary-background-color);border-radius:2px;@apply(--paper-font-common-base);@apply(--paper-card)}[hidden]{display:none!important}.header{position:relative;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden;@apply(--paper-card-header)}.header iron-image{display:block;width:100%;--iron-image-width:100%;pointer-events:none;@apply(--paper-card-header-image)}.header .title-text{padding:16px;font-size:24px;font-weight:400;color:var(--paper-card-header-color,#000);@apply(--paper-card-header-text)}.header .title-text.over-image{position:absolute;bottom:0;@apply(--paper-card-header-image-text)}:host ::content .card-content{padding:16px;position:relative;@apply(--paper-card-content)}:host ::content .card-actions{border-top:1px solid #e8e8e8;padding:5px 16px;position:relative;@apply(--paper-card-actions)}</style><div class="header"><iron-image hidden$="[[!image]]" aria-hidden$="[[_isHidden(image)]]" src="[[image]]" alt="[[alt]]" placeholder="[[placeholderImage]]" preload="[[preloadImage]]" fade="[[fadeImage]]"></iron-image><div hidden$="[[!heading]]" class$="title-text [[_computeHeadingClass(image)]]">[[heading]]</div></div><content></content></template><script>Polymer({is:"paper-card",properties:{heading:{type:String,value:"",observer:"_headingChanged"},image:{type:String,value:""},alt:{type:String},preloadImage:{type:Boolean,value:!1},fadeImage:{type:Boolean,value:!1},placeholderImage:{type:String,value:null},elevation:{type:Number,value:1,reflectToAttribute:!0},animatedShadow:{type:Boolean,value:!1},animated:{type:Boolean,reflectToAttribute:!0,readOnly:!0,computed:"_computeAnimated(animatedShadow)"}},_isHidden:function(e){return e?"false":"true"},_headingChanged:function(e){var t=this.getAttribute("heading"),a=this.getAttribute("aria-label");"string"==typeof a&&a!==t||this.setAttribute("aria-label",e)},_computeHeadingClass:function(e){return e?" over-image":""},_computeAnimated:function(e){return e}})</script></dom-module><dom-module id="paper-item-body" assetpath="../../bower_components/paper-item/"><template><style>:host{overflow:hidden;@apply(--layout-vertical);@apply(--layout-center-justified);@apply(--layout-flex)}:host([two-line]){min-height:var(--paper-item-body-two-line-min-height,72px)}:host([three-line]){min-height:var(--paper-item-body-three-line-min-height,88px)}:host>::content>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host>::content [secondary]{@apply(--paper-font-body1);color:var(--paper-item-body-secondary-color,--secondary-text-color);@apply(--paper-item-body-secondary)}</style><content></content></template><script>Polymer({is:"paper-item-body"})</script></dom-module><dom-module id="paper-ripple" assetpath="../../bower_components/paper-ripple/"><template><style>:host{display:block;position:absolute;border-radius:inherit;overflow:hidden;top:0;left:0;right:0;bottom:0;pointer-events:none}:host([animating]){-webkit-transform:translate(0,0);transform:translate3d(0,0,0)}#background,#waves,.wave,.wave-container{pointer-events:none;position:absolute;top:0;left:0;width:100%;height:100%}#background,.wave{opacity:0}#waves,.wave{overflow:hidden}.wave,.wave-container{border-radius:50%}:host(.circle) #background,:host(.circle) #waves{border-radius:50%}:host(.circle) .wave-container{overflow:hidden}</style><div id="background"></div><div id="waves"></div></template></dom-module><script>!function(){function t(t){this.element=t,this.width=this.boundingRect.width,this.height=this.boundingRect.height,this.size=Math.max(this.width,this.height)}function i(t){this.element=t,this.color=window.getComputedStyle(t).color,this.wave=document.createElement("div"),this.waveContainer=document.createElement("div"),this.wave.style.backgroundColor=this.color,this.wave.classList.add("wave"),this.waveContainer.classList.add("wave-container"),Polymer.dom(this.waveContainer).appendChild(this.wave),this.resetInteractionState()}var e={distance:function(t,i,e,n){var s=t-e,o=i-n;return Math.sqrt(s*s+o*o)},now:window.performance&&window.performance.now?window.performance.now.bind(window.performance):Date.now};t.prototype={get boundingRect(){return this.element.getBoundingClientRect()},furthestCornerDistanceFrom:function(t,i){var n=e.distance(t,i,0,0),s=e.distance(t,i,this.width,0),o=e.distance(t,i,0,this.height),a=e.distance(t,i,this.width,this.height);return Math.max(n,s,o,a)}},i.MAX_RADIUS=300,i.prototype={get recenters(){return this.element.recenters},get center(){return this.element.center},get mouseDownElapsed(){var t;return this.mouseDownStart?(t=e.now()-this.mouseDownStart,this.mouseUpStart&&(t-=this.mouseUpElapsed),t):0},get mouseUpElapsed(){return this.mouseUpStart?e.now()-this.mouseUpStart:0},get mouseDownElapsedSeconds(){return this.mouseDownElapsed/1e3},get mouseUpElapsedSeconds(){return this.mouseUpElapsed/1e3},get mouseInteractionSeconds(){return this.mouseDownElapsedSeconds+this.mouseUpElapsedSeconds},get initialOpacity(){return this.element.initialOpacity},get opacityDecayVelocity(){return this.element.opacityDecayVelocity},get radius(){var t=this.containerMetrics.width*this.containerMetrics.width,e=this.containerMetrics.height*this.containerMetrics.height,n=1.1*Math.min(Math.sqrt(t+e),i.MAX_RADIUS)+5,s=1.1-n/i.MAX_RADIUS*.2,o=this.mouseInteractionSeconds/s,a=n*(1-Math.pow(80,-o));return Math.abs(a)},get opacity(){return this.mouseUpStart?Math.max(0,this.initialOpacity-this.mouseUpElapsedSeconds*this.opacityDecayVelocity):this.initialOpacity},get outerOpacity(){var t=.3*this.mouseUpElapsedSeconds,i=this.opacity;return Math.max(0,Math.min(t,i))},get isOpacityFullyDecayed(){return this.opacity<.01&&this.radius>=Math.min(this.maxRadius,i.MAX_RADIUS)},get isRestingAtMaxRadius(){return this.opacity>=this.initialOpacity&&this.radius>=Math.min(this.maxRadius,i.MAX_RADIUS)},get isAnimationComplete(){return this.mouseUpStart?this.isOpacityFullyDecayed:this.isRestingAtMaxRadius},get translationFraction(){return Math.min(1,this.radius/this.containerMetrics.size*2/Math.sqrt(2))},get xNow(){return this.xEnd?this.xStart+this.translationFraction*(this.xEnd-this.xStart):this.xStart},get yNow(){return this.yEnd?this.yStart+this.translationFraction*(this.yEnd-this.yStart):this.yStart},get isMouseDown(){return this.mouseDownStart&&!this.mouseUpStart},resetInteractionState:function(){this.maxRadius=0,this.mouseDownStart=0,this.mouseUpStart=0,this.xStart=0,this.yStart=0,this.xEnd=0,this.yEnd=0,this.slideDistance=0,this.containerMetrics=new t(this.element)},draw:function(){var t,i,e;this.wave.style.opacity=this.opacity,t=this.radius/(this.containerMetrics.size/2),i=this.xNow-this.containerMetrics.width/2,e=this.yNow-this.containerMetrics.height/2,this.waveContainer.style.webkitTransform="translate("+i+"px, "+e+"px)",this.waveContainer.style.transform="translate3d("+i+"px, "+e+"px, 0)",this.wave.style.webkitTransform="scale("+t+","+t+")",this.wave.style.transform="scale3d("+t+","+t+",1)"},downAction:function(t){var i=this.containerMetrics.width/2,n=this.containerMetrics.height/2;this.resetInteractionState(),this.mouseDownStart=e.now(),this.center?(this.xStart=i,this.yStart=n,this.slideDistance=e.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)):(this.xStart=t?t.detail.x-this.containerMetrics.boundingRect.left:this.containerMetrics.width/2,this.yStart=t?t.detail.y-this.containerMetrics.boundingRect.top:this.containerMetrics.height/2),this.recenters&&(this.xEnd=i,this.yEnd=n,this.slideDistance=e.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)),this.maxRadius=this.containerMetrics.furthestCornerDistanceFrom(this.xStart,this.yStart),this.waveContainer.style.top=(this.containerMetrics.height-this.containerMetrics.size)/2+"px",this.waveContainer.style.left=(this.containerMetrics.width-this.containerMetrics.size)/2+"px",this.waveContainer.style.width=this.containerMetrics.size+"px",this.waveContainer.style.height=this.containerMetrics.size+"px"},upAction:function(t){this.isMouseDown&&(this.mouseUpStart=e.now())},remove:function(){Polymer.dom(this.waveContainer.parentNode).removeChild(this.waveContainer)}},Polymer({is:"paper-ripple",behaviors:[Polymer.IronA11yKeysBehavior],properties:{initialOpacity:{type:Number,value:.25},opacityDecayVelocity:{type:Number,value:.8},recenters:{type:Boolean,value:!1},center:{type:Boolean,value:!1},ripples:{type:Array,value:function(){return[]}},animating:{type:Boolean,readOnly:!0,reflectToAttribute:!0,value:!1},holdDown:{type:Boolean,value:!1,observer:"_holdDownChanged"},noink:{type:Boolean,value:!1},_animating:{type:Boolean},_boundAnimate:{type:Function,value:function(){return this.animate.bind(this)}}},get target(){return this.keyEventTarget},keyBindings:{"enter:keydown":"_onEnterKeydown","space:keydown":"_onSpaceKeydown","space:keyup":"_onSpaceKeyup"},attached:function(){11==this.parentNode.nodeType?this.keyEventTarget=Polymer.dom(this).getOwnerRoot().host:this.keyEventTarget=this.parentNode;var t=this.keyEventTarget;this.listen(t,"up","uiUpAction"),this.listen(t,"down","uiDownAction")},detached:function(){this.unlisten(this.keyEventTarget,"up","uiUpAction"),this.unlisten(this.keyEventTarget,"down","uiDownAction"),this.keyEventTarget=null},get shouldKeepAnimating(){for(var t=0;t<this.ripples.length;++t)if(!this.ripples[t].isAnimationComplete)return!0;return!1},simulatedRipple:function(){this.downAction(null),this.async(function(){this.upAction()},1)},uiDownAction:function(t){this.noink||this.downAction(t)},downAction:function(t){if(!(this.holdDown&&this.ripples.length>0)){this.addRipple().downAction(t),this._animating||(this._animating=!0,this.animate())}},uiUpAction:function(t){this.noink||this.upAction(t)},upAction:function(t){this.holdDown||(this.ripples.forEach(function(i){i.upAction(t)}),this._animating=!0,this.animate())},onAnimationComplete:function(){this._animating=!1,this.$.background.style.backgroundColor=null,this.fire("transitionend")},addRipple:function(){var t=new i(this);return Polymer.dom(this.$.waves).appendChild(t.waveContainer),this.$.background.style.backgroundColor=t.color,this.ripples.push(t),this._setAnimating(!0),t},removeRipple:function(t){var i=this.ripples.indexOf(t);i<0||(this.ripples.splice(i,1),t.remove(),this.ripples.length||this._setAnimating(!1))},animate:function(){if(this._animating){var t,i;for(t=0;t<this.ripples.length;++t)i=this.ripples[t],i.draw(),this.$.background.style.opacity=i.outerOpacity,i.isOpacityFullyDecayed&&!i.isRestingAtMaxRadius&&this.removeRipple(i);this.shouldKeepAnimating||0!==this.ripples.length?window.requestAnimationFrame(this._boundAnimate):this.onAnimationComplete()}},_onEnterKeydown:function(){this.uiDownAction(),this.async(this.uiUpAction,1)},_onSpaceKeydown:function(){this.uiDownAction()},_onSpaceKeyup:function(){this.uiUpAction()},_holdDownChanged:function(t,i){void 0!==i&&(t?this.downAction():this.upAction())}})}()</script><script>Polymer.PaperRippleBehavior={properties:{noink:{type:Boolean,observer:"_noinkChanged"},_rippleContainer:{type:Object}},_buttonStateChanged:function(){this.focused&&this.ensureRipple()},_downHandler:function(e){Polymer.IronButtonStateImpl._downHandler.call(this,e),this.pressed&&this.ensureRipple(e)},ensureRipple:function(e){if(!this.hasRipple()){this._ripple=this._createRipple(),this._ripple.noink=this.noink;var i=this._rippleContainer||this.root;if(i&&Polymer.dom(i).appendChild(this._ripple),e){var n=Polymer.dom(this._rippleContainer||this),t=Polymer.dom(e).rootTarget;n.deepContains(t)&&this._ripple.uiDownAction(e)}}},getRipple:function(){return this.ensureRipple(),this._ripple},hasRipple:function(){return Boolean(this._ripple)},_createRipple:function(){return document.createElement("paper-ripple")},_noinkChanged:function(e){this.hasRipple()&&(this._ripple.noink=e)}}</script><script>Polymer.PaperButtonBehaviorImpl={properties:{elevation:{type:Number,reflectToAttribute:!0,readOnly:!0}},observers:["_calculateElevation(focused, disabled, active, pressed, receivedFocusFromKeyboard)","_computeKeyboardClass(receivedFocusFromKeyboard)"],hostAttributes:{role:"button",tabindex:"0",animated:!0},_calculateElevation:function(){var e=1;this.disabled?e=0:this.active||this.pressed?e=4:this.receivedFocusFromKeyboard&&(e=3),this._setElevation(e)},_computeKeyboardClass:function(e){this.toggleClass("keyboard-focus",e)},_spaceKeyDownHandler:function(e){Polymer.IronButtonStateImpl._spaceKeyDownHandler.call(this,e),this.hasRipple()&&this.getRipple().ripples.length<1&&this._ripple.uiDownAction()},_spaceKeyUpHandler:function(e){Polymer.IronButtonStateImpl._spaceKeyUpHandler.call(this,e),this.hasRipple()&&this._ripple.uiUpAction()}},Polymer.PaperButtonBehavior=[Polymer.IronButtonState,Polymer.IronControlState,Polymer.PaperRippleBehavior,Polymer.PaperButtonBehaviorImpl]</script><dom-module id="paper-fab" assetpath="../../bower_components/paper-fab/"><template strip-whitespace=""><style include="paper-material-shared-styles">:host{@apply(--layout-vertical);@apply(--layout-center-center);background:var(--paper-fab-background,--accent-color);border-radius:50%;box-sizing:border-box;color:var(--text-primary-color);cursor:pointer;height:56px;min-width:0;outline:0;padding:16px;position:relative;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none;width:56px;z-index:0;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent;@apply(--paper-fab)}[hidden]{display:none!important}:host([mini]){width:40px;height:40px;padding:8px;@apply(--paper-fab-mini)}:host([disabled]){color:var(--paper-fab-disabled-text,--paper-grey-500);background:var(--paper-fab-disabled-background,--paper-grey-300);@apply(--paper-fab-disabled)}iron-icon{@apply(--paper-fab-iron-icon)}span{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;@apply(--paper-fab-label)}:host(.keyboard-focus){background:var(--paper-fab-keyboard-focus-background,--paper-pink-900)}</style><iron-icon id="icon" hidden$="{{!_computeIsIconFab(icon, src)}}" src="[[src]]" icon="[[icon]]"></iron-icon><span hidden$="{{_computeIsIconFab(icon, src)}}">{{label}}</span></template><script>Polymer({is:"paper-fab",behaviors:[Polymer.PaperButtonBehavior],properties:{src:{type:String,value:""},icon:{type:String,value:""},mini:{type:Boolean,value:!1,reflectToAttribute:!0},label:{type:String,observer:"_labelChanged"}},_labelChanged:function(){this.setAttribute("aria-label",this.label)},_computeIsIconFab:function(e,t){return e.length>0||t.length>0}})</script></dom-module><dom-module id="ha-automation-picker" assetpath="./"><template><style include="ha-style">:host{display:block}paper-card{display:block;max-width:600px;margin:0 auto}.content{padding:16px}.content>paper-card:first-child{margin-bottom:16px;color:var(--google-red-500)}paper-item{cursor:pointer}paper-fab{position:fixed;bottom:16px;right:16px;z-index:1}paper-fab[is-wide]{bottom:24px;right:24px}a{color:var(--primary-color)}</style><app-header-layout has-scrolling-region=""><app-header fixed=""><app-toolbar><ha-menu-button narrow="[[narrow]]" show-menu="[[showMenu]]"></ha-menu-button><div main-title="">Automations Editor</div></app-toolbar></app-header><div class="content"><paper-card><div class="card-content">Currently Chrome is the only supported browser.</div></paper-card><paper-card heading="Pick automation to edit"><div class="card-content">The automation editor allows you to create and edit automations. Please read <a href="https://home-assistant.io/docs/automation/editor/" target="_blank">the instructions</a> to make sure that you have configured Home Assistant correctly.<template is="dom-if" if="[[!automations.length]]"><p>We couldn't find any editable automations.</p></template></div><template is="dom-repeat" items="[[automations]]" as="automation"><paper-item><paper-item-body two-line="" on-tap="automationTapped"><div>[[computeName(automation)]]</div><div secondary="">[[computeDescription(automation)]]</div></paper-item-body>[[computeStatus(automation)]]</paper-item></template></paper-card><paper-fab is-wide$="[[isWide]]" icon="mdi:plus" title="Add Automation" on-tap="addAutomation"></paper-fab></div></app-header-layout></template></dom-module><script>Polymer({is:"ha-automation-picker",properties:{hass:{type:Object},narrow:{type:Boolean},showMenu:{type:Boolean,value:!1},automations:{type:Array},isWide:{type:Boolean}},automationTapped:function(t){this.fire("hass-automation-picked",{id:this.automations[t.model.index].attributes.id})},addAutomation:function(){this.fire("hass-create-automation")},computeName:function(t){return window.hassUtil.computeStateName(t)},computeDescription:function(t){return""},computeStatus:function(t){return t.state}})</script><script>Polymer.IronFitBehavior={properties:{sizingTarget:{type:Object,value:function(){return this}},fitInto:{type:Object,value:window},noOverlap:{type:Boolean},positionTarget:{type:Element},horizontalAlign:{type:String},verticalAlign:{type:String},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},autoFitOnAttach:{type:Boolean,value:!1},_fitInfo:{type:Object}},get _fitWidth(){return this.fitInto===window?this.fitInto.innerWidth:this.fitInto.getBoundingClientRect().width},get _fitHeight(){return this.fitInto===window?this.fitInto.innerHeight:this.fitInto.getBoundingClientRect().height},get _fitLeft(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().left},get _fitTop(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().top},get _defaultPositionTarget(){var t=Polymer.dom(this).parentNode;return t&&t.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&(t=t.host),t},get _localeHorizontalAlign(){if(this._isRTL){if("right"===this.horizontalAlign)return"left";if("left"===this.horizontalAlign)return"right"}return this.horizontalAlign},attached:function(){void 0===this._isRTL&&(this._isRTL="rtl"==window.getComputedStyle(this).direction),this.positionTarget=this.positionTarget||this._defaultPositionTarget,this.autoFitOnAttach&&("none"===window.getComputedStyle(this).display?setTimeout(function(){this.fit()}.bind(this)):this.fit())},fit:function(){this.position(),this.constrain(),this.center()},_discoverInfo:function(){if(!this._fitInfo){var t=window.getComputedStyle(this),i=window.getComputedStyle(this.sizingTarget);this._fitInfo={inlineStyle:{top:this.style.top||"",left:this.style.left||"",position:this.style.position||""},sizerInlineStyle:{maxWidth:this.sizingTarget.style.maxWidth||"",maxHeight:this.sizingTarget.style.maxHeight||"",boxSizing:this.sizingTarget.style.boxSizing||""},positionedBy:{vertically:"auto"!==t.top?"top":"auto"!==t.bottom?"bottom":null,horizontally:"auto"!==t.left?"left":"auto"!==t.right?"right":null},sizedBy:{height:"none"!==i.maxHeight,width:"none"!==i.maxWidth,minWidth:parseInt(i.minWidth,10)||0,minHeight:parseInt(i.minHeight,10)||0},margin:{top:parseInt(t.marginTop,10)||0,right:parseInt(t.marginRight,10)||0,bottom:parseInt(t.marginBottom,10)||0,left:parseInt(t.marginLeft,10)||0}}}},resetFit:function(){var t=this._fitInfo||{};for(var i in t.sizerInlineStyle)this.sizingTarget.style[i]=t.sizerInlineStyle[i];for(var i in t.inlineStyle)this.style[i]=t.inlineStyle[i];this._fitInfo=null},refit:function(){var t=this.sizingTarget.scrollLeft,i=this.sizingTarget.scrollTop;this.resetFit(),this.fit(),this.sizingTarget.scrollLeft=t,this.sizingTarget.scrollTop=i},position:function(){if(this.horizontalAlign||this.verticalAlign){this._discoverInfo(),this.style.position="fixed",this.sizingTarget.style.boxSizing="border-box",this.style.left="0px",this.style.top="0px";var t=this.getBoundingClientRect(),i=this.__getNormalizedRect(this.positionTarget),e=this.__getNormalizedRect(this.fitInto),n=this._fitInfo.margin,o={width:t.width+n.left+n.right,height:t.height+n.top+n.bottom},h=this.__getPosition(this._localeHorizontalAlign,this.verticalAlign,o,i,e),s=h.left+n.left,l=h.top+n.top,r=Math.min(e.right-n.right,s+t.width),a=Math.min(e.bottom-n.bottom,l+t.height);s=Math.max(e.left+n.left,Math.min(s,r-this._fitInfo.sizedBy.minWidth)),l=Math.max(e.top+n.top,Math.min(l,a-this._fitInfo.sizedBy.minHeight)),this.sizingTarget.style.maxWidth=Math.max(r-s,this._fitInfo.sizedBy.minWidth)+"px",this.sizingTarget.style.maxHeight=Math.max(a-l,this._fitInfo.sizedBy.minHeight)+"px",this.style.left=s-t.left+"px",this.style.top=l-t.top+"px"}},constrain:function(){if(!this.horizontalAlign&&!this.verticalAlign){this._discoverInfo();var t=this._fitInfo;t.positionedBy.vertically||(this.style.position="fixed",this.style.top="0px"),t.positionedBy.horizontally||(this.style.position="fixed",this.style.left="0px"),this.sizingTarget.style.boxSizing="border-box";var i=this.getBoundingClientRect();t.sizedBy.height||this.__sizeDimension(i,t.positionedBy.vertically,"top","bottom","Height"),t.sizedBy.width||this.__sizeDimension(i,t.positionedBy.horizontally,"left","right","Width")}},_sizeDimension:function(t,i,e,n,o){this.__sizeDimension(t,i,e,n,o)},__sizeDimension:function(t,i,e,n,o){var h=this._fitInfo,s=this.__getNormalizedRect(this.fitInto),l="Width"===o?s.width:s.height,r=i===n,a=r?l-t[n]:t[e],g=h.margin[r?e:n],f="offset"+o,p=this[f]-this.sizingTarget[f];this.sizingTarget.style["max"+o]=l-g-a-p+"px"},center:function(){if(!this.horizontalAlign&&!this.verticalAlign){this._discoverInfo();var t=this._fitInfo.positionedBy;if(!t.vertically||!t.horizontally){this.style.position="fixed",t.vertically||(this.style.top="0px"),t.horizontally||(this.style.left="0px");var i=this.getBoundingClientRect(),e=this.__getNormalizedRect(this.fitInto);if(!t.vertically){var n=e.top-i.top+(e.height-i.height)/2;this.style.top=n+"px"}if(!t.horizontally){var o=e.left-i.left+(e.width-i.width)/2;this.style.left=o+"px"}}}},__getNormalizedRect:function(t){return t===document.documentElement||t===window?{top:0,left:0,width:window.innerWidth,height:window.innerHeight,right:window.innerWidth,bottom:window.innerHeight}:t.getBoundingClientRect()},__getCroppedArea:function(t,i,e){var n=Math.min(0,t.top)+Math.min(0,e.bottom-(t.top+i.height)),o=Math.min(0,t.left)+Math.min(0,e.right-(t.left+i.width));return Math.abs(n)*i.width+Math.abs(o)*i.height},__getPosition:function(t,i,e,n,o){var h=[{verticalAlign:"top",horizontalAlign:"left",top:n.top+this.verticalOffset,left:n.left+this.horizontalOffset},{verticalAlign:"top",horizontalAlign:"right",top:n.top+this.verticalOffset,left:n.right-e.width-this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"left",top:n.bottom-e.height-this.verticalOffset,left:n.left+this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"right",top:n.bottom-e.height-this.verticalOffset,left:n.right-e.width-this.horizontalOffset}];if(this.noOverlap){for(var s=0,l=h.length;s<l;s++){var r={};for(var a in h[s])r[a]=h[s][a];h.push(r)}h[0].top=h[1].top+=n.height,h[2].top=h[3].top-=n.height,h[4].left=h[6].left+=n.width,h[5].left=h[7].left-=n.width}i="auto"===i?null:i,t="auto"===t?null:t;for(var g,s=0;s<h.length;s++){var f=h[s];if(!this.dynamicAlign&&!this.noOverlap&&f.verticalAlign===i&&f.horizontalAlign===t){g=f;break}var p=!(i&&f.verticalAlign!==i||t&&f.horizontalAlign!==t);if(this.dynamicAlign||p){g=g||f,f.croppedArea=this.__getCroppedArea(f,e,o);var d=f.croppedArea-g.croppedArea;if((d<0||0===d&&p)&&(g=f),0===g.croppedArea&&p)break}}return g}}</script><dom-module id="iron-overlay-backdrop" assetpath="../../bower_components/iron-overlay-behavior/"><template><style>:host{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--iron-overlay-backdrop-background-color,#000);opacity:0;transition:opacity .2s;pointer-events:none;@apply(--iron-overlay-backdrop)}:host(.opened){opacity:var(--iron-overlay-backdrop-opacity,.6);pointer-events:auto;@apply(--iron-overlay-backdrop-opened)}</style><content></content></template></dom-module><script>!function(){"use strict";Polymer({is:"iron-overlay-backdrop",properties:{opened:{reflectToAttribute:!0,type:Boolean,value:!1,observer:"_openedChanged"}},listeners:{transitionend:"_onTransitionend"},created:function(){this.__openedRaf=null},attached:function(){this.opened&&this._openedChanged(this.opened)},prepare:function(){this.opened&&!this.parentNode&&Polymer.dom(document.body).appendChild(this)},open:function(){this.opened=!0},close:function(){this.opened=!1},complete:function(){this.opened||this.parentNode!==document.body||Polymer.dom(this.parentNode).removeChild(this)},_onTransitionend:function(e){e&&e.target===this&&this.complete()},_openedChanged:function(e){if(e)this.prepare();else{var t=window.getComputedStyle(this);"0s"!==t.transitionDuration&&0!=t.opacity||this.complete()}this.isAttached&&(this.__openedRaf&&(window.cancelAnimationFrame(this.__openedRaf),this.__openedRaf=null),this.scrollTop=this.scrollTop,this.__openedRaf=window.requestAnimationFrame(function(){this.__openedRaf=null,this.toggleClass("opened",this.opened)}.bind(this)))}})}()</script><script>Polymer.IronOverlayManagerClass=function(){this._overlays=[],this._minimumZ=101,this._backdropElement=null,Polymer.Gestures.add(document.documentElement,"tap",null),document.addEventListener("tap",this._onCaptureClick.bind(this),!0),document.addEventListener("focus",this._onCaptureFocus.bind(this),!0),document.addEventListener("keydown",this._onCaptureKeyDown.bind(this),!0)},Polymer.IronOverlayManagerClass.prototype={constructor:Polymer.IronOverlayManagerClass,get backdropElement(){return this._backdropElement||(this._backdropElement=document.createElement("iron-overlay-backdrop")),this._backdropElement},get deepActiveElement(){for(var e=document.activeElement||document.body;e.root&&Polymer.dom(e.root).activeElement;)e=Polymer.dom(e.root).activeElement;return e},_bringOverlayAtIndexToFront:function(e){var t=this._overlays[e];if(t){var r=this._overlays.length-1,a=this._overlays[r];if(a&&this._shouldBeBehindOverlay(t,a)&&r--,!(e>=r)){var n=Math.max(this.currentOverlayZ(),this._minimumZ);for(this._getZ(t)<=n&&this._applyOverlayZ(t,n);e<r;)this._overlays[e]=this._overlays[e+1],e++;this._overlays[r]=t}}},addOrRemoveOverlay:function(e){e.opened?this.addOverlay(e):this.removeOverlay(e)},addOverlay:function(e){var t=this._overlays.indexOf(e);if(t>=0)return this._bringOverlayAtIndexToFront(t),void this.trackBackdrop();var r=this._overlays.length,a=this._overlays[r-1],n=Math.max(this._getZ(a),this._minimumZ),o=this._getZ(e);if(a&&this._shouldBeBehindOverlay(e,a)){this._applyOverlayZ(a,n),r--;var i=this._overlays[r-1];n=Math.max(this._getZ(i),this._minimumZ)}o<=n&&this._applyOverlayZ(e,n),this._overlays.splice(r,0,e),this.trackBackdrop()},removeOverlay:function(e){var t=this._overlays.indexOf(e);-1!==t&&(this._overlays.splice(t,1),this.trackBackdrop())},currentOverlay:function(){var e=this._overlays.length-1;return this._overlays[e]},currentOverlayZ:function(){return this._getZ(this.currentOverlay())},ensureMinimumZ:function(e){this._minimumZ=Math.max(this._minimumZ,e)},focusOverlay:function(){var e=this.currentOverlay();e&&e._applyFocus()},trackBackdrop:function(){var e=this._overlayWithBackdrop();(e||this._backdropElement)&&(this.backdropElement.style.zIndex=this._getZ(e)-1,this.backdropElement.opened=!!e)},getBackdrops:function(){for(var e=[],t=0;t<this._overlays.length;t++)this._overlays[t].withBackdrop&&e.push(this._overlays[t]);return e},backdropZ:function(){return this._getZ(this._overlayWithBackdrop())-1},_overlayWithBackdrop:function(){for(var e=0;e<this._overlays.length;e++)if(this._overlays[e].withBackdrop)return this._overlays[e]},_getZ:function(e){var t=this._minimumZ;if(e){var r=Number(e.style.zIndex||window.getComputedStyle(e).zIndex);r===r&&(t=r)}return t},_setZ:function(e,t){e.style.zIndex=t},_applyOverlayZ:function(e,t){this._setZ(e,t+2)},_overlayInPath:function(e){e=e||[];for(var t=0;t<e.length;t++)if(e[t]._manager===this)return e[t]},_onCaptureClick:function(e){var t=this.currentOverlay();t&&this._overlayInPath(Polymer.dom(e).path)!==t&&t._onCaptureClick(e)},_onCaptureFocus:function(e){var t=this.currentOverlay();t&&t._onCaptureFocus(e)},_onCaptureKeyDown:function(e){var t=this.currentOverlay();t&&(Polymer.IronA11yKeysBehavior.keyboardEventMatchesKeys(e,"esc")?t._onCaptureEsc(e):Polymer.IronA11yKeysBehavior.keyboardEventMatchesKeys(e,"tab")&&t._onCaptureTab(e))},_shouldBeBehindOverlay:function(e,t){return!e.alwaysOnTop&&t.alwaysOnTop}},Polymer.IronOverlayManager=new Polymer.IronOverlayManagerClass</script><script>!function(){"use strict";var e=Element.prototype,t=e.matches||e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;Polymer.IronFocusablesHelper={getTabbableNodes:function(e){var t=[];return this._collectTabbableNodes(e,t)?this._sortByTabIndex(t):t},isFocusable:function(e){return t.call(e,"input, select, textarea, button, object")?t.call(e,":not([disabled])"):t.call(e,"a[href], area[href], iframe, [tabindex], [contentEditable]")},isTabbable:function(e){return this.isFocusable(e)&&t.call(e,':not([tabindex="-1"])')&&this._isVisible(e)},_normalizedTabIndex:function(e){if(this.isFocusable(e)){var t=e.getAttribute("tabindex")||0;return Number(t)}return-1},_collectTabbableNodes:function(e,t){if(e.nodeType!==Node.ELEMENT_NODE||!this._isVisible(e))return!1;var r=e,a=this._normalizedTabIndex(r),i=a>0;a>=0&&t.push(r);var n;n="content"===r.localName?Polymer.dom(r).getDistributedNodes():Polymer.dom(r.root||r).children;for(var o=0;o<n.length;o++){var s=this._collectTabbableNodes(n[o],t);i=i||s}return i},_isVisible:function(e){var t=e.style;return"hidden"!==t.visibility&&"none"!==t.display&&(t=window.getComputedStyle(e),"hidden"!==t.visibility&&"none"!==t.display)},_sortByTabIndex:function(e){var t=e.length;if(t<2)return e;var r=Math.ceil(t/2),a=this._sortByTabIndex(e.slice(0,r)),i=this._sortByTabIndex(e.slice(r));return this._mergeSortByTabIndex(a,i)},_mergeSortByTabIndex:function(e,t){for(var r=[];e.length>0&&t.length>0;)this._hasLowerTabOrder(e[0],t[0])?r.push(t.shift()):r.push(e.shift());return r.concat(e,t)},_hasLowerTabOrder:function(e,t){var r=Math.max(e.tabIndex,0),a=Math.max(t.tabIndex,0);return 0===r||0===a?a>r:r>a}}}()</script><script>!function(){"use strict";Polymer.IronOverlayBehaviorImpl={properties:{opened:{observer:"_openedChanged",type:Boolean,value:!1,notify:!0},canceled:{observer:"_canceledChanged",readOnly:!0,type:Boolean,value:!1},withBackdrop:{observer:"_withBackdropChanged",type:Boolean},noAutoFocus:{type:Boolean,value:!1},noCancelOnEscKey:{type:Boolean,value:!1},noCancelOnOutsideClick:{type:Boolean,value:!1},closingReason:{type:Object},restoreFocusOnClose:{type:Boolean,value:!1},alwaysOnTop:{type:Boolean},_manager:{type:Object,value:Polymer.IronOverlayManager},_focusedChild:{type:Object}},listeners:{"iron-resize":"_onIronResize"},get backdropElement(){return this._manager.backdropElement},get _focusNode(){return this._focusedChild||Polymer.dom(this).querySelector("[autofocus]")||this},get _focusableNodes(){return Polymer.IronFocusablesHelper.getTabbableNodes(this)},ready:function(){this.__isAnimating=!1,this.__shouldRemoveTabIndex=!1,this.__firstFocusableNode=this.__lastFocusableNode=null,this.__raf=null,this.__restoreFocusNode=null,this._ensureSetup()},attached:function(){this.opened&&this._openedChanged(this.opened),this._observer=Polymer.dom(this).observeNodes(this._onNodesChange)},detached:function(){Polymer.dom(this).unobserveNodes(this._observer),this._observer=null,this.__raf&&(window.cancelAnimationFrame(this.__raf),this.__raf=null),this._manager.removeOverlay(this)},toggle:function(){this._setCanceled(!1),this.opened=!this.opened},open:function(){this._setCanceled(!1),this.opened=!0},close:function(){this._setCanceled(!1),this.opened=!1},cancel:function(e){this.fire("iron-overlay-canceled",e,{cancelable:!0}).defaultPrevented||(this._setCanceled(!0),this.opened=!1)},invalidateTabbables:function(){this.__firstFocusableNode=this.__lastFocusableNode=null},_ensureSetup:function(){this._overlaySetup||(this._overlaySetup=!0,this.style.outline="none",this.style.display="none")},_openedChanged:function(e){e?this.removeAttribute("aria-hidden"):this.setAttribute("aria-hidden","true"),this.isAttached&&(this.__isAnimating=!0,this.__onNextAnimationFrame(this.__openedChanged))},_canceledChanged:function(){this.closingReason=this.closingReason||{},this.closingReason.canceled=this.canceled},_withBackdropChanged:function(){this.withBackdrop&&!this.hasAttribute("tabindex")?(this.setAttribute("tabindex","-1"),this.__shouldRemoveTabIndex=!0):this.__shouldRemoveTabIndex&&(this.removeAttribute("tabindex"),this.__shouldRemoveTabIndex=!1),this.opened&&this.isAttached&&this._manager.trackBackdrop()},_prepareRenderOpened:function(){this.__restoreFocusNode=this._manager.deepActiveElement,this._preparePositioning(),this.refit(),this._finishPositioning(),this.noAutoFocus&&document.activeElement===this._focusNode&&(this._focusNode.blur(),this.__restoreFocusNode.focus())},_renderOpened:function(){this._finishRenderOpened()},_renderClosed:function(){this._finishRenderClosed()},_finishRenderOpened:function(){this.notifyResize(),this.__isAnimating=!1,this.fire("iron-overlay-opened")},_finishRenderClosed:function(){this.style.display="none",this.style.zIndex="",this.notifyResize(),this.__isAnimating=!1,this.fire("iron-overlay-closed",this.closingReason)},_preparePositioning:function(){this.style.transition=this.style.webkitTransition="none",this.style.transform=this.style.webkitTransform="none",this.style.display=""},_finishPositioning:function(){this.style.display="none",this.scrollTop=this.scrollTop,this.style.transition=this.style.webkitTransition="",this.style.transform=this.style.webkitTransform="",this.style.display="",this.scrollTop=this.scrollTop},_applyFocus:function(){if(this.opened)this.noAutoFocus||this._focusNode.focus();else{this._focusNode.blur(),this._focusedChild=null,this.restoreFocusOnClose&&this.__restoreFocusNode&&this.__restoreFocusNode.focus(),this.__restoreFocusNode=null;var e=this._manager.currentOverlay();e&&this!==e&&e._applyFocus()}},_onCaptureClick:function(e){this.noCancelOnOutsideClick||this.cancel(e)},_onCaptureFocus:function(e){if(this.withBackdrop){var t=Polymer.dom(e).path;-1===t.indexOf(this)?(e.stopPropagation(),this._applyFocus()):this._focusedChild=t[0]}},_onCaptureEsc:function(e){this.noCancelOnEscKey||this.cancel(e)},_onCaptureTab:function(e){if(this.withBackdrop){this.__ensureFirstLastFocusables();var t=e.shiftKey,i=t?this.__firstFocusableNode:this.__lastFocusableNode,s=t?this.__lastFocusableNode:this.__firstFocusableNode,o=!1;if(i===s)o=!0;else{var n=this._manager.deepActiveElement;o=n===i||n===this}o&&(e.preventDefault(),this._focusedChild=s,this._applyFocus())}},_onIronResize:function(){this.opened&&!this.__isAnimating&&this.__onNextAnimationFrame(this.refit)},_onNodesChange:function(){this.opened&&!this.__isAnimating&&(this.invalidateTabbables(),this.notifyResize())},__ensureFirstLastFocusables:function(){if(!this.__firstFocusableNode||!this.__lastFocusableNode){var e=this._focusableNodes;this.__firstFocusableNode=e[0],this.__lastFocusableNode=e[e.length-1]}},__openedChanged:function(){this.opened?(this._prepareRenderOpened(),this._manager.addOverlay(this),this._applyFocus(),this._renderOpened()):(this._manager.removeOverlay(this),this._applyFocus(),this._renderClosed())},__onNextAnimationFrame:function(e){this.__raf&&window.cancelAnimationFrame(this.__raf);var t=this;this.__raf=window.requestAnimationFrame(function(){t.__raf=null,e.call(t)})}},Polymer.IronOverlayBehavior=[Polymer.IronFitBehavior,Polymer.IronResizableBehavior,Polymer.IronOverlayBehaviorImpl]}()</script><script>Polymer.NeonAnimatableBehavior={properties:{animationConfig:{type:Object},entryAnimation:{observer:"_entryAnimationChanged",type:String},exitAnimation:{observer:"_exitAnimationChanged",type:String}},_entryAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.entry=[{name:this.entryAnimation,node:this}]},_exitAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.exit=[{name:this.exitAnimation,node:this}]},_copyProperties:function(i,n){for(var t in n)i[t]=n[t]},_cloneConfig:function(i){var n={isClone:!0};return this._copyProperties(n,i),n},_getAnimationConfigRecursive:function(i,n,t){if(this.animationConfig){if(this.animationConfig.value&&"function"==typeof this.animationConfig.value)return void this._warn(this._logf("playAnimation","Please put 'animationConfig' inside of your components 'properties' object instead of outside of it."));var o;if(o=i?this.animationConfig[i]:this.animationConfig,Array.isArray(o)||(o=[o]),o)for(var e,a=0;e=o[a];a++)if(e.animatable)e.animatable._getAnimationConfigRecursive(e.type||i,n,t);else if(e.id){var r=n[e.id];r?(r.isClone||(n[e.id]=this._cloneConfig(r),r=n[e.id]),this._copyProperties(r,e)):n[e.id]=e}else t.push(e)}},getAnimationConfig:function(i){var n={},t=[];this._getAnimationConfigRecursive(i,n,t);for(var o in n)t.push(n[o]);return t}}</script><script>Polymer.NeonAnimationRunnerBehaviorImpl={_configureAnimations:function(n){var i=[];if(n.length>0)for(var e,t=0;e=n[t];t++){var o=document.createElement(e.name);if(o.isNeonAnimation){var a=null;try{a=o.configure(e),"function"!=typeof a.cancel&&(a=document.timeline.play(a))}catch(n){a=null,console.warn("Couldnt play","(",e.name,").",n)}a&&i.push({neonAnimation:o,config:e,animation:a})}else console.warn(this.is+":",e.name,"not found!")}return i},_shouldComplete:function(n){for(var i=!0,e=0;e<n.length;e++)if("finished"!=n[e].animation.playState){i=!1;break}return i},_complete:function(n){for(var i=0;i<n.length;i++)n[i].neonAnimation.complete(n[i].config);for(var i=0;i<n.length;i++)n[i].animation.cancel()},playAnimation:function(n,i){var e=this.getAnimationConfig(n);if(e){this._active=this._active||{},this._active[n]&&(this._complete(this._active[n]),delete this._active[n]);var t=this._configureAnimations(e);if(0==t.length)return void this.fire("neon-animation-finish",i,{bubbles:!1});this._active[n]=t;for(var o=0;o<t.length;o++)t[o].animation.onfinish=function(){this._shouldComplete(t)&&(this._complete(t),delete this._active[n],this.fire("neon-animation-finish",i,{bubbles:!1}))}.bind(this)}},cancelAnimation:function(){for(var n in this._animations)this._animations[n].cancel();this._animations={}}},Polymer.NeonAnimationRunnerBehavior=[Polymer.NeonAnimatableBehavior,Polymer.NeonAnimationRunnerBehaviorImpl]</script><script>Polymer.NeonAnimationBehavior={properties:{animationTiming:{type:Object,value:function(){return{duration:500,easing:"cubic-bezier(0.4, 0, 0.2, 1)",fill:"both"}}}},isNeonAnimation:!0,timingFromConfig:function(i){if(i.timing)for(var n in i.timing)this.animationTiming[n]=i.timing[n];return this.animationTiming},setPrefixedProperty:function(i,n,r){for(var t,o={transform:["webkitTransform"],transformOrigin:["mozTransformOrigin","webkitTransformOrigin"]},e=o[n],m=0;t=e[m];m++)i.style[t]=r;i.style[n]=r},complete:function(){}}</script><script>!function(a,b){var c={},d={},e={},f=null;!function(t,e){function i(t){if("number"==typeof t)return t;var e={};for(var i in t)e[i]=t[i];return e}function n(){this._delay=0,this._endDelay=0,this._fill="none",this._iterationStart=0,this._iterations=1,this._duration=0,this._playbackRate=1,this._direction="normal",this._easing="linear",this._easingFunction=x}function r(){return t.isDeprecated("Invalid timing inputs","2016-03-02","TypeError exceptions will be thrown instead.",!0)}function o(e,i,r){var o=new n;return i&&(o.fill="both",o.duration="auto"),"number"!=typeof e||isNaN(e)?void 0!==e&&Object.getOwnPropertyNames(e).forEach(function(i){if("auto"!=e[i]){if(("number"==typeof o[i]||"duration"==i)&&("number"!=typeof e[i]||isNaN(e[i])))return;if("fill"==i&&-1==w.indexOf(e[i]))return;if("direction"==i&&-1==T.indexOf(e[i]))return;if("playbackRate"==i&&1!==e[i]&&t.isDeprecated("AnimationEffectTiming.playbackRate","2014-11-28","Use Animation.playbackRate instead."))return;o[i]=e[i]}}):o.duration=e,o}function a(t){return"number"==typeof t&&(t=isNaN(t)?{duration:0}:{duration:t}),t}function s(e,i){return e=t.numericTimingToObject(e),o(e,i)}function u(t,e,i,n){return t<0||t>1||i<0||i>1?x:function(r){function o(t,e,i){return 3*t*(1-i)*(1-i)*i+3*e*(1-i)*i*i+i*i*i}if(r<=0){var a=0;return t>0?a=e/t:!e&&i>0&&(a=n/i),a*r}if(r>=1){var s=0;return i<1?s=(n-1)/(i-1):1==i&&t<1&&(s=(e-1)/(t-1)),1+s*(r-1)}for(var u=0,c=1;u<c;){var f=(u+c)/2,l=o(t,i,f);if(Math.abs(r-l)<1e-5)return o(e,n,f);l<r?u=f:c=f}return o(e,n,f)}}function c(t,e){return function(i){if(i>=1)return 1;var n=1/t;return(i+=e*n)-i%n}}function f(t){k||(k=document.createElement("div").style),k.animationTimingFunction="",k.animationTimingFunction=t;var e=k.animationTimingFunction;if(""==e&&r())throw new TypeError(t+" is not a valid value for easing");return e}function l(t){if("linear"==t)return x;var e=N.exec(t);if(e)return u.apply(this,e.slice(1).map(Number));var i=O.exec(t);return i?c(Number(i[1]),{start:E,middle:A,end:P}[i[2]]):j[t]||x}function h(t){return Math.abs(m(t)/t.playbackRate)}function m(t){return 0===t.duration||0===t.iterations?0:t.duration*t.iterations}function d(t,e,i){if(null==e)return S;var n=i.delay+t+i.endDelay;return e<Math.min(i.delay,n)?C:e>=Math.min(i.delay+t,n)?D:F}function p(t,e,i,n,r){switch(n){case C:return"backwards"==e||"both"==e?0:null;case F:return i-r;case D:return"forwards"==e||"both"==e?t:null;case S:return null}}function _(t,e,i,n,r){var o=r;return 0===t?e!==C&&(o+=i):o+=n/t,o}function g(t,e,i,n,r,o){var a=t===1/0?e%1:t%1;return 0!==a||i!==D||0===n||0===r&&0!==o||(a=1),a}function b(t,e,i,n){return t===D&&e===1/0?1/0:1===i?Math.floor(n)-1:Math.floor(n)}function v(t,e,i){var n=t;if("normal"!==t&&"reverse"!==t){var r=e;"alternate-reverse"===t&&(r+=1),n="normal",r!==1/0&&r%2!=0&&(n="reverse")}return"normal"===n?i:1-i}function y(t,e,i){var n=d(t,e,i),r=p(t,i.fill,e,n,i.delay);if(null===r)return null;var o=_(i.duration,n,i.iterations,r,i.iterationStart),a=g(o,i.iterationStart,n,i.iterations,r,i.duration),s=b(n,i.iterations,a,o),u=v(i.direction,s,a);return i._easingFunction(u)}var w="backwards|forwards|both|none".split("|"),T="reverse|alternate|alternate-reverse".split("|"),x=function(t){return t};n.prototype={_setMember:function(e,i){this["_"+e]=i,this._effect&&(this._effect._timingInput[e]=i,this._effect._timing=t.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=t.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(t){this._setMember("delay",t)},get delay(){return this._delay},set endDelay(t){this._setMember("endDelay",t)},get endDelay(){return this._endDelay},set fill(t){this._setMember("fill",t)},get fill(){return this._fill},set iterationStart(t){if((isNaN(t)||t<0)&&r())throw new TypeError("iterationStart must be a non-negative number, received: "+timing.iterationStart);this._setMember("iterationStart",t)},get iterationStart(){return this._iterationStart},set duration(t){if("auto"!=t&&(isNaN(t)||t<0)&&r())throw new TypeError("duration must be non-negative or auto, received: "+t);this._setMember("duration",t)},get duration(){return this._duration},set direction(t){this._setMember("direction",t)},get direction(){return this._direction},set easing(t){this._easingFunction=l(f(t)),this._setMember("easing",t)},get easing(){return this._easing},set iterations(t){if((isNaN(t)||t<0)&&r())throw new TypeError("iterations must be non-negative, received: "+t);this._setMember("iterations",t)},get iterations(){return this._iterations}};var E=1,A=.5,P=0,j={ease:u(.25,.1,.25,1),"ease-in":u(.42,0,1,1),"ease-out":u(0,0,.58,1),"ease-in-out":u(.42,0,.58,1),"step-start":c(1,E),"step-middle":c(1,A),"step-end":c(1,P)},k=null,R="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",N=new RegExp("cubic-bezier\\("+R+","+R+","+R+","+R+"\\)"),O=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,S=0,C=1,D=2,F=3;t.cloneTimingInput=i,t.makeTiming=o,t.numericTimingToObject=a,t.normalizeTimingInput=s,t.calculateActiveDuration=h,t.calculateIterationProgress=y,t.calculatePhase=d,t.normalizeEasing=f,t.parseEasingFunction=l}(c),function(t,e){function i(t,e){return t in f?f[t][e]||e:e}function n(t){return"display"===t||0===t.lastIndexOf("animation",0)||0===t.lastIndexOf("transition",0)}function r(t,e,r){if(!n(t)){var o=s[t];if(o){u.style[t]=e;for(var a in o){var c=o[a],f=u.style[c];r[c]=i(c,f)}}else r[t]=i(t,e)}}function o(t){var e=[];for(var i in t)if(!(i in["easing","offset","composite"])){var n=t[i];Array.isArray(n)||(n=[n]);for(var r,o=n.length,a=0;a<o;a++)r={},r.offset="offset"in t?t.offset:1==o?1:a/(o-1),"easing"in t&&(r.easing=t.easing),"composite"in t&&(r.composite=t.composite),r[i]=n[a],e.push(r)}return e.sort(function(t,e){return t.offset-e.offset}),e}function a(e){if(null==e)return[];window.Symbol&&Symbol.iterator&&Array.prototype.from&&e[Symbol.iterator]&&(e=Array.from(e)),Array.isArray(e)||(e=o(e));for(var i=e.map(function(e){var i={};for(var n in e){var o=e[n];if("offset"==n){if(null!=o){if(o=Number(o),!isFinite(o))throw new TypeError("Keyframe offsets must be numbers.");if(o<0||o>1)throw new TypeError("Keyframe offsets must be between 0 and 1.")}}else if("composite"==n){if("add"==o||"accumulate"==o)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"add compositing is not supported"};if("replace"!=o)throw new TypeError("Invalid composite mode "+o+".")}else o="easing"==n?t.normalizeEasing(o):""+o;r(n,o,i)}return void 0==i.offset&&(i.offset=null),void 0==i.easing&&(i.easing="linear"),i}),n=!0,a=-1/0,s=0;s<i.length;s++){var u=i[s].offset;if(null!=u){if(u<a)throw new TypeError("Keyframes are not loosely sorted by offset. Sort or specify offsets.");a=u}else n=!1}return i=i.filter(function(t){return t.offset>=0&&t.offset<=1}),n||function(){var t=i.length;null==i[t-1].offset&&(i[t-1].offset=1),t>1&&null==i[0].offset&&(i[0].offset=0);for(var e=0,n=i[0].offset,r=1;r<t;r++){var o=i[r].offset;if(null!=o){for(var a=1;a<r-e;a++)i[e+a].offset=n+(o-n)*a/(r-e);e=r,n=o}}}(),i}var s={background:["backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundOrigin","backgroundClip","backgroundColor"],border:["borderTopColor","borderTopStyle","borderTopWidth","borderRightColor","borderRightStyle","borderRightWidth","borderBottomColor","borderBottomStyle","borderBottomWidth","borderLeftColor","borderLeftStyle","borderLeftWidth"],borderBottom:["borderBottomWidth","borderBottomStyle","borderBottomColor"],borderColor:["borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"],borderLeft:["borderLeftWidth","borderLeftStyle","borderLeftColor"],borderRadius:["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],borderRight:["borderRightWidth","borderRightStyle","borderRightColor"],borderTop:["borderTopWidth","borderTopStyle","borderTopColor"],borderWidth:["borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth"],flex:["flexGrow","flexShrink","flexBasis"],font:["fontFamily","fontSize","fontStyle","fontVariant","fontWeight","lineHeight"],margin:["marginTop","marginRight","marginBottom","marginLeft"],outline:["outlineColor","outlineStyle","outlineWidth"],padding:["paddingTop","paddingRight","paddingBottom","paddingLeft"]},u=document.createElementNS("http://www.w3.org/1999/xhtml","div"),c={thin:"1px",medium:"3px",thick:"5px"},f={borderBottomWidth:c,borderLeftWidth:c,borderRightWidth:c,borderTopWidth:c,fontSize:{"xx-small":"60%","x-small":"75%",small:"89%",medium:"100%",large:"120%","x-large":"150%","xx-large":"200%"},fontWeight:{normal:"400",bold:"700"},outlineWidth:c,textShadow:{none:"0px 0px 0px transparent"},boxShadow:{none:"0px 0px 0px 0px transparent"}};t.convertToArrayForm=o,t.normalizeKeyframes=a}(c),function(t){var e={};t.isDeprecated=function(t,i,n,r){var o=r?"are":"is",a=new Date,s=new Date(i);return s.setMonth(s.getMonth()+3),!(a<s&&(t in e||console.warn("Web Animations: "+t+" "+o+" deprecated and will stop working on "+s.toDateString()+". "+n),e[t]=!0,1))},t.deprecated=function(e,i,n,r){var o=r?"are":"is";if(t.isDeprecated(e,i,n,r))throw new Error(e+" "+o+" no longer supported. "+n)}}(c),function(){if(document.documentElement.animate){var a=document.documentElement.animate([],0),b=!0;if(a&&(b=!1,"play|currentTime|pause|reverse|playbackRate|cancel|finish|startTime|playState".split("|").forEach(function(t){void 0===a[t]&&(b=!0)})),!b)return}!function(t,e,i){function n(t){for(var e={},i=0;i<t.length;i++)for(var n in t[i])if("offset"!=n&&"easing"!=n&&"composite"!=n){var r={offset:t[i].offset,easing:t[i].easing,value:t[i][n]};e[n]=e[n]||[],e[n].push(r)}for(var o in e){var a=e[o];if(0!=a[0].offset||1!=a[a.length-1].offset)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"Partial keyframes are not supported"}}return e}function r(i){var n=[];for(var r in i)for(var o=i[r],a=0;a<o.length-1;a++){var s=a,u=a+1,c=o[s].offset,f=o[u].offset,l=c,h=f;0==a&&(l=-1/0,0==f&&(u=s)),a==o.length-2&&(h=1/0,1==c&&(s=u)),n.push({applyFrom:l,applyTo:h,startOffset:o[s].offset,endOffset:o[u].offset,easingFunction:t.parseEasingFunction(o[s].easing),property:r,interpolation:e.propertyInterpolation(r,o[s].value,o[u].value)})}return n.sort(function(t,e){return t.startOffset-e.startOffset}),n}e.convertEffectInput=function(i){var o=t.normalizeKeyframes(i),a=n(o),s=r(a);return function(t,i){if(null!=i)s.filter(function(t){return i>=t.applyFrom&&i<t.applyTo}).forEach(function(n){var r=i-n.startOffset,o=n.endOffset-n.startOffset,a=0==o?0:n.easingFunction(r/o);e.apply(t,n.property,n.interpolation(a))});else for(var n in a)"offset"!=n&&"easing"!=n&&"composite"!=n&&e.clear(t,n)}}}(c,d),function(t,e,i){function n(t){return t.replace(/-(.)/g,function(t,e){return e.toUpperCase()})}function r(t,e,i){s[i]=s[i]||[],s[i].push([t,e])}function o(t,e,i){for(var o=0;o<i.length;o++)r(t,e,n(i[o]))}function a(i,r,o){var a=i;/-/.test(i)&&!t.isDeprecated("Hyphenated property names","2016-03-22","Use camelCase instead.",!0)&&(a=n(i)),"initial"!=r&&"initial"!=o||("initial"==r&&(r=u[a]),"initial"==o&&(o=u[a]));for(var c=r==o?[]:s[a],f=0;c&&f<c.length;f++){var l=c[f][0](r),h=c[f][0](o);if(void 0!==l&&void 0!==h){var m=c[f][1](l,h);if(m){var d=e.Interpolation.apply(null,m);return function(t){return 0==t?r:1==t?o:d(t)}}}}return e.Interpolation(!1,!0,function(t){return t?o:r})}var s={};e.addPropertiesHandler=o;var u={backgroundColor:"transparent",backgroundPosition:"0% 0%",borderBottomColor:"currentColor",borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px",borderBottomWidth:"3px",borderLeftColor:"currentColor",borderLeftWidth:"3px",borderRightColor:"currentColor",borderRightWidth:"3px",borderSpacing:"2px",borderTopColor:"currentColor",borderTopLeftRadius:"0px",borderTopRightRadius:"0px",borderTopWidth:"3px",bottom:"auto",clip:"rect(0px, 0px, 0px, 0px)",color:"black",fontSize:"100%",fontWeight:"400",height:"auto",left:"auto",letterSpacing:"normal",lineHeight:"120%",marginBottom:"0px",marginLeft:"0px",marginRight:"0px",marginTop:"0px",maxHeight:"none",maxWidth:"none",minHeight:"0px",minWidth:"0px",opacity:"1.0",outlineColor:"invert",outlineOffset:"0px",outlineWidth:"3px",paddingBottom:"0px",paddingLeft:"0px",paddingRight:"0px",paddingTop:"0px",right:"auto",strokeDasharray:"none",strokeDashoffset:"0px",textIndent:"0px",textShadow:"0px 0px 0px transparent",top:"auto",transform:"",verticalAlign:"0px",visibility:"visible",width:"auto",wordSpacing:"normal",zIndex:"auto"};e.propertyInterpolation=a}(c,d),function(t,e,i){function n(e){var i=t.calculateActiveDuration(e),n=function(n){return t.calculateIterationProgress(i,n,e)};return n._totalDuration=e.delay+i+e.endDelay,n}e.KeyframeEffect=function(i,r,o,a){var s,u=n(t.normalizeTimingInput(o)),c=e.convertEffectInput(r),f=function(){c(i,s)};return f._update=function(t){return null!==(s=u(t))},f._clear=function(){c(i,null)},f._hasSameTarget=function(t){return i===t},f._target=i,f._totalDuration=u._totalDuration,f._id=a,f}}(c,d),function(t,e){t.apply=function(e,i,n){e.style[t.propertyName(i)]=n},t.clear=function(e,i){e.style[t.propertyName(i)]=""}}(d),function(t){window.Element.prototype.animate=function(e,i){var n="";return i&&i.id&&(n=i.id),t.timeline._play(t.KeyframeEffect(this,e,i,n))}}(d),function(t,e){function i(t,e,n){if("number"==typeof t&&"number"==typeof e)return t*(1-n)+e*n;if("boolean"==typeof t&&"boolean"==typeof e)return n<.5?t:e;if(t.length==e.length){for(var r=[],o=0;o<t.length;o++)r.push(i(t[o],e[o],n));return r}throw"Mismatched interpolation arguments "+t+":"+e}t.Interpolation=function(t,e,n){return function(r){return n(i(t,e,r))}}}(d),function(t,e,i){t.sequenceNumber=0;var n=function(t,e,i){this.target=t,this.currentTime=e,this.timelineTime=i,this.type="finish",this.bubbles=!1,this.cancelable=!1,this.currentTarget=t,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()};e.Animation=function(e){this.id="",e&&e._id&&(this.id=e._id),this._sequenceNumber=t.sequenceNumber++,this._currentTime=0,this._startTime=null,this._paused=!1,this._playbackRate=1,this._inTimeline=!0,this._finishedFlag=!0,this.onfinish=null,this._finishHandlers=[],this._effect=e,this._inEffect=this._effect._update(0),this._idle=!0,this._currentTimePending=!1},e.Animation.prototype={_ensureAlive:function(){this.playbackRate<0&&0===this.currentTime?this._inEffect=this._effect._update(-1):this._inEffect=this._effect._update(this.currentTime),this._inTimeline||!this._inEffect&&this._finishedFlag||(this._inTimeline=!0,e.timeline._animations.push(this))},_tickCurrentTime:function(t,e){t!=this._currentTime&&(this._currentTime=t,this._isFinished&&!e&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(t){t=+t,isNaN(t)||(e.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-t/this._playbackRate),this._currentTimePending=!1,this._currentTime!=t&&(this._idle&&(this._idle=!1,this._paused=!0),this._tickCurrentTime(t,!0),e.applyDirtiedAnimation(this)))},get startTime(){return this._startTime},set startTime(t){t=+t,isNaN(t)||this._paused||this._idle||(this._startTime=t,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),e.applyDirtiedAnimation(this))},get playbackRate(){return this._playbackRate},set playbackRate(t){if(t!=this._playbackRate){var i=this.currentTime;this._playbackRate=t,this._startTime=null,"paused"!=this.playState&&"idle"!=this.playState&&(this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),e.applyDirtiedAnimation(this)),null!=i&&(this.currentTime=i)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?"idle":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?"pending":this._paused?"paused":this._isFinished?"finished":"running"},_rewind:function(){if(this._playbackRate>=0)this._currentTime=0;else{if(!(this._totalDuration<1/0))throw new DOMException("Unable to rewind negative playback rate animation with infinite duration","InvalidStateError");this._currentTime=this._totalDuration}},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),e.applyDirtiedAnimation(this)},pause:function(){this._isFinished||this._paused||this._idle?this._idle&&(this._rewind(),this._idle=!1):this._currentTimePending=!0,this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1,e.applyDirtiedAnimation(this))},cancel:function(){this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._isFinished=!0,this._finishedFlag=!0,this._currentTime=0,this._startTime=null,this._effect._update(null),e.applyDirtiedAnimation(this))},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(t,e){"function"==typeof e&&"finish"==t&&this._finishHandlers.push(e)},removeEventListener:function(t,e){if("finish"==t){var i=this._finishHandlers.indexOf(e);i>=0&&this._finishHandlers.splice(i,1)}},_fireEvents:function(t){if(this._isFinished){if(!this._finishedFlag){var e=new n(this,this._currentTime,t),i=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){i.forEach(function(t){t.call(e.target,e)})},0),this._finishedFlag=!0}}else this._finishedFlag=!1},_tick:function(t,e){this._idle||this._paused||(null==this._startTime?e&&(this.startTime=t-this._currentTime/this.playbackRate):this._isFinished||this._tickCurrentTime((t-this._startTime)*this.playbackRate)),e&&(this._currentTimePending=!1,this._fireEvents(t))},get _needsTick(){return this.playState in{pending:1,running:1}||!this._finishedFlag},_targetAnimations:function(){var t=this._effect._target;return t._activeAnimations||(t._activeAnimations=[]),t._activeAnimations},_markTarget:function(){var t=this._targetAnimations();-1===t.indexOf(this)&&t.push(this)},_unmarkTarget:function(){var t=this._targetAnimations(),e=t.indexOf(this);-1!==e&&t.splice(e,1)}}}(c,d),function(t,e,i){function n(t){var e=c;c=[],t<_.currentTime&&(t=_.currentTime),_._animations.sort(r),_._animations=s(t,!0,_._animations)[0],e.forEach(function(e){e[1](t)}),a(),l=void 0}function r(t,e){return t._sequenceNumber-e._sequenceNumber}function o(){this._animations=[],this.currentTime=window.performance&&performance.now?performance.now():0}function a(){d.forEach(function(t){t()}),d.length=0}function s(t,i,n){p=!0,m=!1,e.timeline.currentTime=t,h=!1;var r=[],o=[],a=[],s=[];return n.forEach(function(e){e._tick(t,i),e._inEffect?(o.push(e._effect),e._markTarget()):(r.push(e._effect),e._unmarkTarget()),e._needsTick&&(h=!0);var n=e._inEffect||e._needsTick;e._inTimeline=n,n?a.push(e):s.push(e)}),d.push.apply(d,r),d.push.apply(d,o),h&&requestAnimationFrame(function(){}),p=!1,[a,s]}var u=window.requestAnimationFrame,c=[],f=0;window.requestAnimationFrame=function(t){var e=f++;return 0==c.length&&u(n),c.push([e,t]),e},window.cancelAnimationFrame=function(t){c.forEach(function(e){e[0]==t&&(e[1]=function(){})})},o.prototype={_play:function(i){i._timing=t.normalizeTimingInput(i.timing);var n=new e.Animation(i);return n._idle=!1,n._timeline=this,this._animations.push(n),e.restart(),e.applyDirtiedAnimation(n),n}};var l=void 0,h=!1,m=!1;e.restart=function(){return h||(h=!0,requestAnimationFrame(function(){}),m=!0),m},e.applyDirtiedAnimation=function(t){if(!p){t._markTarget();var i=t._targetAnimations();i.sort(r),s(e.timeline.currentTime,!1,i.slice())[1].forEach(function(t){var e=_._animations.indexOf(t);-1!==e&&_._animations.splice(e,1)}),a()}};var d=[],p=!1,_=new o;e.timeline=_}(c,d),function(t){function e(t,e){var i=t.exec(e);if(i)return i=t.ignoreCase?i[0].toLowerCase():i[0],[i,e.substr(i.length)]}function i(t,e){e=e.replace(/^\s*/,"");var i=t(e);if(i)return[i[0],i[1].replace(/^\s*/,"")]}function n(t,n,r){t=i.bind(null,t);for(var o=[];;){var a=t(r);if(!a)return[o,r];if(o.push(a[0]),r=a[1],!(a=e(n,r))||""==a[1])return[o,r];r=a[1]}}function r(t,e){for(var i=0,n=0;n<e.length&&(!/\s|,/.test(e[n])||0!=i);n++)if("("==e[n])i++;else if(")"==e[n]&&(i--,0==i&&n++,i<=0))break;var r=t(e.substr(0,n));return void 0==r?void 0:[r,e.substr(n)]}function o(t,e){for(var i=t,n=e;i&&n;)i>n?i%=n:n%=i;return i=t*e/(i+n)}function a(t){return function(e){var i=t(e);return i&&(i[0]=void 0),i}}function s(t,e){return function(i){return t(i)||[e,i]}}function u(e,i){for(var n=[],r=0;r<e.length;r++){var o=t.consumeTrimmed(e[r],i);if(!o||""==o[0])return;void 0!==o[0]&&n.push(o[0]),i=o[1]}if(""==i)return n}function c(t,e,i,n,r){for(var a=[],s=[],u=[],c=o(n.length,r.length),f=0;f<c;f++){var l=e(n[f%n.length],r[f%r.length]);if(!l)return;a.push(l[0]),s.push(l[1]),u.push(l[2])}return[a,s,function(e){var n=e.map(function(t,e){return u[e](t)}).join(i);return t?t(n):n}]}function f(t,e,i){for(var n=[],r=[],o=[],a=0,s=0;s<i.length;s++)if("function"==typeof i[s]){var u=i[s](t[a],e[a++]);n.push(u[0]),r.push(u[1]),o.push(u[2])}else!function(t){n.push(!1),r.push(!1),o.push(function(){return i[t]})}(s);return[n,r,function(t){for(var e="",i=0;i<t.length;i++)e+=o[i](t[i]);return e}]}t.consumeToken=e,t.consumeTrimmed=i,t.consumeRepeated=n,t.consumeParenthesised=r,t.ignore=a,t.optional=s,t.consumeList=u,t.mergeNestedRepeated=c.bind(null,null),t.mergeWrappedNestedRepeated=c,t.mergeList=f}(d),function(t){function e(e){function i(e){var i=t.consumeToken(/^inset/i,e);if(i)return n.inset=!0,i;var i=t.consumeLengthOrPercent(e);if(i)return n.lengths.push(i[0]),i;var i=t.consumeColor(e);return i?(n.color=i[0],i):void 0}var n={inset:!1,lengths:[],color:null},r=t.consumeRepeated(i,/^/,e);if(r&&r[0].length)return[n,r[1]]}function i(i){var n=t.consumeRepeated(e,/^,/,i);if(n&&""==n[1])return n[0]}function n(e,i){for(;e.lengths.length<Math.max(e.lengths.length,i.lengths.length);)e.lengths.push({px:0});for(;i.lengths.length<Math.max(e.lengths.length,i.lengths.length);)i.lengths.push({px:0});if(e.inset==i.inset&&!!e.color==!!i.color){for(var n,r=[],o=[[],0],a=[[],0],s=0;s<e.lengths.length;s++){var u=t.mergeDimensions(e.lengths[s],i.lengths[s],2==s);o[0].push(u[0]),a[0].push(u[1]),r.push(u[2])}if(e.color&&i.color){var c=t.mergeColors(e.color,i.color);o[1]=c[0],a[1]=c[1],n=c[2]}return[o,a,function(t){for(var i=e.inset?"inset ":" ",o=0;o<r.length;o++)i+=r[o](t[0][o])+" ";return n&&(i+=n(t[1])),i}]}}function r(e,i,n,r){function o(t){return{inset:t,color:[0,0,0,0],lengths:[{px:0},{px:0},{px:0},{px:0}]}}for(var a=[],s=[],u=0;u<n.length||u<r.length;u++){var c=n[u]||o(r[u].inset),f=r[u]||o(n[u].inset);a.push(c),s.push(f)}return t.mergeNestedRepeated(e,i,a,s)}var o=r.bind(null,n,", ");t.addPropertiesHandler(i,o,["box-shadow","text-shadow"])}(d),function(t,e){function i(t){return t.toFixed(3).replace(/0+$/,"").replace(/\.$/,"")}function n(t,e,i){return Math.min(e,Math.max(t,i))}function r(t){if(/^\s*[-+]?(\d*\.)?\d+\s*$/.test(t))return Number(t)}function o(t,e){return[t,e,i]}function a(t,e){if(0!=t)return u(0,1/0)(t,e)}function s(t,e){return[t,e,function(t){return Math.round(n(1,1/0,t))}]}function u(t,e){return function(r,o){return[r,o,function(r){return i(n(t,e,r))}]}}function c(t){var e=t.trim().split(/\s*[\s,]\s*/);if(0!==e.length){for(var i=[],n=0;n<e.length;n++){var o=r(e[n]);if(void 0===o)return;i.push(o)}return i}}function f(t,e){if(t.length==e.length)return[t,e,function(t){return t.map(i).join(" ")}]}function l(t,e){return[t,e,Math.round]}t.clamp=n,t.addPropertiesHandler(c,f,["stroke-dasharray"]),t.addPropertiesHandler(r,u(0,1/0),["border-image-width","line-height"]),t.addPropertiesHandler(r,u(0,1),["opacity","shape-image-threshold"]),t.addPropertiesHandler(r,a,["flex-grow","flex-shrink"]),t.addPropertiesHandler(r,s,["orphans","widows"]),t.addPropertiesHandler(r,l,["z-index"]),t.parseNumber=r,t.parseNumberList=c,t.mergeNumbers=o,t.numberToString=i}(d),function(t,e){function i(t,e){if("visible"==t||"visible"==e)return[0,1,function(i){return i<=0?t:i>=1?e:"visible"}]}t.addPropertiesHandler(String,i,["visibility"])}(d),function(t,e){function i(t){t=t.trim(),o.fillStyle="#000",o.fillStyle=t;var e=o.fillStyle;if(o.fillStyle="#fff",o.fillStyle=t,e==o.fillStyle){o.fillRect(0,0,1,1);var i=o.getImageData(0,0,1,1).data;o.clearRect(0,0,1,1);var n=i[3]/255;return[i[0]*n,i[1]*n,i[2]*n,n]}}function n(e,i){return[e,i,function(e){if(e[3])for(var i=0;i<3;i++)e[i]=Math.round(function(t){return Math.max(0,Math.min(255,t))}(e[i]/e[3]));return e[3]=t.numberToString(t.clamp(0,1,e[3])),"rgba("+e.join(",")+")"}]}var r=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");r.width=r.height=1;var o=r.getContext("2d");t.addPropertiesHandler(i,n,["background-color","border-bottom-color","border-left-color","border-right-color","border-top-color","color","fill","flood-color","lighting-color","outline-color","stop-color","stroke","text-decoration-color"]),t.consumeColor=t.consumeParenthesised.bind(null,i),t.mergeColors=n}(d),function(a,b){function c(a,b){if("0"==(b=b.trim().toLowerCase())&&"px".search(a)>=0)return{px:0};if(/^[^(]*$|^calc/.test(b)){b=b.replace(/calc\(/g,"(");var c={};b=b.replace(a,function(t){return c[t]=null,"U"+t});for(var d="U("+a.source+")",e=b.replace(/[-+]?(\d*\.)?\d+/g,"N").replace(new RegExp("N"+d,"g"),"D").replace(/\s[+-]\s/g,"O").replace(/\s/g,""),f=[/N\*(D)/g,/(N|D)[*\/]N/g,/(N|D)O\1/g,/\((N|D)\)/g],g=0;g<f.length;)f[g].test(e)?(e=e.replace(f[g],"$1"),g=0):g++;if("D"==e){for(var h in c){var i=eval(b.replace(new RegExp("U"+h,"g"),"").replace(new RegExp(d,"g"),"*0"));if(!isFinite(i))return;c[h]=i}return c}}}function d(t,i){return e(t,i,!0)}function e(t,e,i){var n,r=[];for(n in t)r.push(n);for(n in e)r.indexOf(n)<0&&r.push(n);return t=r.map(function(e){return t[e]||0}),e=r.map(function(t){return e[t]||0}),[t,e,function(t){var e=t.map(function(e,n){return 1==t.length&&i&&(e=Math.max(e,0)),a.numberToString(e)+r[n]}).join(" + ");return t.length>1?"calc("+e+")":e}]}var f="px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc",g=c.bind(null,new RegExp(f,"g")),h=c.bind(null,new RegExp(f+"|%","g")),i=c.bind(null,/deg|rad|grad|turn/g);a.parseLength=g,a.parseLengthOrPercent=h,a.consumeLengthOrPercent=a.consumeParenthesised.bind(null,h),a.parseAngle=i,a.mergeDimensions=e;var j=a.consumeParenthesised.bind(null,g),k=a.consumeRepeated.bind(void 0,j,/^/),l=a.consumeRepeated.bind(void 0,k,/^,/);a.consumeSizePairList=l;var m=function(t){var e=l(t);if(e&&""==e[1])return e[0]},n=a.mergeNestedRepeated.bind(void 0,d," "),o=a.mergeNestedRepeated.bind(void 0,n,",");a.mergeNonNegativeSizePair=n,a.addPropertiesHandler(m,o,["background-size"]),a.addPropertiesHandler(h,d,["border-bottom-width","border-image-width","border-left-width","border-right-width","border-top-width","flex-basis","font-size","height","line-height","max-height","max-width","outline-width","width"]),a.addPropertiesHandler(h,e,["border-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","bottom","left","letter-spacing","margin-bottom","margin-left","margin-right","margin-top","min-height","min-width","outline-offset","padding-bottom","padding-left","padding-right","padding-top","perspective","right","shape-margin","stroke-dashoffset","text-indent","top","vertical-align","word-spacing"])}(d,null),function(t,e){function i(e){return t.consumeLengthOrPercent(e)||t.consumeToken(/^auto/,e)}function n(e){var n=t.consumeList([t.ignore(t.consumeToken.bind(null,/^rect/)),t.ignore(t.consumeToken.bind(null,/^\(/)),t.consumeRepeated.bind(null,i,/^,/),t.ignore(t.consumeToken.bind(null,/^\)/))],e);if(n&&4==n[0].length)return n[0]}function r(e,i){return"auto"==e||"auto"==i?[!0,!1,function(n){var r=n?e:i;if("auto"==r)return"auto";var o=t.mergeDimensions(r,r);return o[2](o[0])}]:t.mergeDimensions(e,i)}function o(t){return"rect("+t+")"}var a=t.mergeWrappedNestedRepeated.bind(null,o,r,", ");t.parseBox=n,t.mergeBoxes=a,t.addPropertiesHandler(n,a,["clip"])}(d),function(t,e){function i(t){return function(e){var i=0;return t.map(function(t){return t===f?e[i++]:t})}}function n(t){return t}function r(e){if("none"==(e=e.toLowerCase().trim()))return[];for(var i,n=/\s*(\w+)\(([^)]*)\)/g,r=[],o=0;i=n.exec(e);){if(i.index!=o)return;o=i.index+i[0].length;var a=i[1],s=m[a];if(!s)return;var u=i[2].split(","),c=s[0];if(c.length<u.length)return;for(var f=[],d=0;d<c.length;d++){var p,_=u[d],g=c[d];if(void 0===(p=_?{A:function(e){return"0"==e.trim()?h:t.parseAngle(e)},N:t.parseNumber,T:t.parseLengthOrPercent,L:t.parseLength}[g.toUpperCase()](_):{a:h,n:f[0],t:l}[g]))return;f.push(p)}if(r.push({t:a,d:f}),n.lastIndex==e.length)return r}}function o(t){return t.toFixed(6).replace(".000000","")}function a(e,i){if(e.decompositionPair!==i){e.decompositionPair=i;var n=t.makeMatrixDecomposition(e)}if(i.decompositionPair!==e){i.decompositionPair=e;var r=t.makeMatrixDecomposition(i)}return null==n[0]||null==r[0]?[[!1],[!0],function(t){return t?i[0].d:e[0].d}]:(n[0].push(0),r[0].push(1),[n,r,function(e){var i=t.quat(n[0][3],r[0][3],e[5]);return t.composeMatrix(e[0],e[1],e[2],i,e[4]).map(o).join(",")}])}function s(t){return t.replace(/[xy]/,"")}function u(t){return t.replace(/(x|y|z|3d)?$/,"3d")}function c(e,i){var n=t.makeMatrixDecomposition&&!0,r=!1;if(!e.length||!i.length){e.length||(r=!0,e=i,i=[]);for(var o=0;o<e.length;o++){var c=e[o].t,f=e[o].d,l="scale"==c.substr(0,5)?1:0;i.push({t:c,d:f.map(function(t){if("number"==typeof t)return l;var e={};for(var i in t)e[i]=l;return e})})}}var h=[],d=[],p=[];if(e.length!=i.length){if(!n)return;var _=a(e,i);h=[_[0]],d=[_[1]],p=[["matrix",[_[2]]]]}else for(var o=0;o<e.length;o++){var c,g=e[o].t,b=i[o].t,v=e[o].d,y=i[o].d,w=m[g],T=m[b];if(function(t,e){return"perspective"==t&&"perspective"==e||("matrix"==t||"matrix3d"==t)&&("matrix"==e||"matrix3d"==e)}(g,b)){if(!n)return;var _=a([e[o]],[i[o]]);h.push(_[0]),d.push(_[1]),p.push(["matrix",[_[2]]])}else{if(g==b)c=g;else if(w[2]&&T[2]&&s(g)==s(b))c=s(g),v=w[2](v),y=T[2](y);else{if(!w[1]||!T[1]||u(g)!=u(b)){if(!n)return;var _=a(e,i);h=[_[0]],d=[_[1]],p=[["matrix",[_[2]]]];break}c=u(g),v=w[1](v),y=T[1](y)}for(var x=[],E=[],A=[],P=0;P<v.length;P++){var j="number"==typeof v[P]?t.mergeNumbers:t.mergeDimensions,_=j(v[P],y[P]);x[P]=_[0],E[P]=_[1],A.push(_[2])}h.push(x),d.push(E),p.push([c,A])}}if(r){var k=h;h=d,d=k}return[h,d,function(t){return t.map(function(t,e){var i=t.map(function(t,i){return p[e][1][i](t)}).join(",");return"matrix"==p[e][0]&&16==i.split(",").length&&(p[e][0]="matrix3d"),p[e][0]+"("+i+")"}).join(" ")}]}var f=null,l={px:0},h={deg:0},m={matrix:["NNNNNN",[f,f,0,0,f,f,0,0,0,0,1,0,f,f,0,1],n],matrix3d:["NNNNNNNNNNNNNNNN",n],rotate:["A"],rotatex:["A"],rotatey:["A"],rotatez:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",i([f,f,1]),n],scalex:["N",i([f,1,1]),i([f,1])],scaley:["N",i([1,f,1]),i([1,f])],scalez:["N",i([1,1,f])],scale3d:["NNN",n],skew:["Aa",null,n],skewx:["A",null,i([f,h])],skewy:["A",null,i([h,f])],translate:["Tt",i([f,f,l]),n],translatex:["T",i([f,l,l]),i([f,l])],translatey:["T",i([l,f,l]),i([l,f])],translatez:["L",i([l,l,f])],translate3d:["TTL",n]};t.addPropertiesHandler(r,c,["transform"])}(d),function(t,e){function i(t,e){e.concat([t]).forEach(function(e){e in document.documentElement.style&&(n[t]=e)})}var n={};i("transform",["webkitTransform","msTransform"]),i("transformOrigin",["webkitTransformOrigin"]),i("perspective",["webkitPerspective"]),i("perspectiveOrigin",["webkitPerspectiveOrigin"]),t.propertyName=function(t){return n[t]||t}}(d)}(),function(){if(void 0===document.createElement("div").animate([]).oncancel){var t;if(window.performance&&performance.now)var t=function(){ +return performance.now()};else var t=function(){return Date.now()};var e=function(t,e,i){this.target=t,this.currentTime=e,this.timelineTime=i,this.type="cancel",this.bubbles=!1,this.cancelable=!1,this.currentTarget=t,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()},i=window.Element.prototype.animate;window.Element.prototype.animate=function(n,r){var o=i.call(this,n,r);o._cancelHandlers=[],o.oncancel=null;var a=o.cancel;o.cancel=function(){a.call(this);var i=new e(this,null,t()),n=this._cancelHandlers.concat(this.oncancel?[this.oncancel]:[]);setTimeout(function(){n.forEach(function(t){t.call(i.target,i)})},0)};var s=o.addEventListener;o.addEventListener=function(t,e){"function"==typeof e&&"cancel"==t?this._cancelHandlers.push(e):s.call(this,t,e)};var u=o.removeEventListener;return o.removeEventListener=function(t,e){if("cancel"==t){var i=this._cancelHandlers.indexOf(e);i>=0&&this._cancelHandlers.splice(i,1)}else u.call(this,t,e)},o}}}(),function(t){var e=document.documentElement,i=null,n=!1;try{var r=getComputedStyle(e).getPropertyValue("opacity"),o="0"==r?"1":"0";i=e.animate({opacity:[o,o]},{duration:1}),i.currentTime=0,n=getComputedStyle(e).getPropertyValue("opacity")==o}catch(t){}finally{i&&i.cancel()}if(!n){var a=window.Element.prototype.animate;window.Element.prototype.animate=function(e,i){return window.Symbol&&Symbol.iterator&&Array.prototype.from&&e[Symbol.iterator]&&(e=Array.from(e)),Array.isArray(e)||null===e||(e=t.convertToArrayForm(e)),a.call(this,e,i)}}}(c),function(t,e,i){function n(t){var i=e.timeline;i.currentTime=t,i._discardAnimations(),0==i._animations.length?o=!1:requestAnimationFrame(n)}var r=window.requestAnimationFrame;window.requestAnimationFrame=function(t){return r(function(i){e.timeline._updateAnimationsPromises(),t(i),e.timeline._updateAnimationsPromises()})},e.AnimationTimeline=function(){this._animations=[],this.currentTime=void 0},e.AnimationTimeline.prototype={getAnimations:function(){return this._discardAnimations(),this._animations.slice()},_updateAnimationsPromises:function(){e.animationsWithPromises=e.animationsWithPromises.filter(function(t){return t._updatePromises()})},_discardAnimations:function(){this._updateAnimationsPromises(),this._animations=this._animations.filter(function(t){return"finished"!=t.playState&&"idle"!=t.playState})},_play:function(t){var i=new e.Animation(t,this);return this._animations.push(i),e.restartWebAnimationsNextTick(),i._updatePromises(),i._animation.play(),i._updatePromises(),i},play:function(t){return t&&t.remove(),this._play(t)}};var o=!1;e.restartWebAnimationsNextTick=function(){o||(o=!0,requestAnimationFrame(n))};var a=new e.AnimationTimeline;e.timeline=a;try{Object.defineProperty(window.document,"timeline",{configurable:!0,get:function(){return a}})}catch(t){}try{window.document.timeline=a}catch(t){}}(0,e),function(t,e,i){e.animationsWithPromises=[],e.Animation=function(e,i){if(this.id="",e&&e._id&&(this.id=e._id),this.effect=e,e&&(e._animation=this),!i)throw new Error("Animation with null timeline is not supported");this._timeline=i,this._sequenceNumber=t.sequenceNumber++,this._holdTime=0,this._paused=!1,this._isGroup=!1,this._animation=null,this._childAnimations=[],this._callback=null,this._oldPlayState="idle",this._rebuildUnderlyingAnimation(),this._animation.cancel(),this._updatePromises()},e.Animation.prototype={_updatePromises:function(){var t=this._oldPlayState,e=this.playState;return this._readyPromise&&e!==t&&("idle"==e?(this._rejectReadyPromise(),this._readyPromise=void 0):"pending"==t?this._resolveReadyPromise():"pending"==e&&(this._readyPromise=void 0)),this._finishedPromise&&e!==t&&("idle"==e?(this._rejectFinishedPromise(),this._finishedPromise=void 0):"finished"==e?this._resolveFinishedPromise():"finished"==t&&(this._finishedPromise=void 0)),this._oldPlayState=this.playState,this._readyPromise||this._finishedPromise},_rebuildUnderlyingAnimation:function(){this._updatePromises();var t,i,n,r,o=!!this._animation;o&&(t=this.playbackRate,i=this._paused,n=this.startTime,r=this.currentTime,this._animation.cancel(),this._animation._wrapper=null,this._animation=null),(!this.effect||this.effect instanceof window.KeyframeEffect)&&(this._animation=e.newUnderlyingAnimationForKeyframeEffect(this.effect),e.bindAnimationForKeyframeEffect(this)),(this.effect instanceof window.SequenceEffect||this.effect instanceof window.GroupEffect)&&(this._animation=e.newUnderlyingAnimationForGroup(this.effect),e.bindAnimationForGroup(this)),this.effect&&this.effect._onsample&&e.bindAnimationForCustomEffect(this),o&&(1!=t&&(this.playbackRate=t),null!==n?this.startTime=n:null!==r?this.currentTime=r:null!==this._holdTime&&(this.currentTime=this._holdTime),i&&this.pause()),this._updatePromises()},_updateChildren:function(){if(this.effect&&"idle"!=this.playState){var t=this.effect._timing.delay;this._childAnimations.forEach(function(i){this._arrangeChildren(i,t),this.effect instanceof window.SequenceEffect&&(t+=e.groupChildDuration(i.effect))}.bind(this))}},_setExternalAnimation:function(t){if(this.effect&&this._isGroup)for(var e=0;e<this.effect.children.length;e++)this.effect.children[e]._animation=t,this._childAnimations[e]._setExternalAnimation(t)},_constructChildAnimations:function(){if(this.effect&&this._isGroup){var t=this.effect._timing.delay;this._removeChildAnimations(),this.effect.children.forEach(function(i){var n=e.timeline._play(i);this._childAnimations.push(n),n.playbackRate=this.playbackRate,this._paused&&n.pause(),i._animation=this.effect._animation,this._arrangeChildren(n,t),this.effect instanceof window.SequenceEffect&&(t+=e.groupChildDuration(i))}.bind(this))}},_arrangeChildren:function(t,e){null===this.startTime?t.currentTime=this.currentTime-e/this.playbackRate:t.startTime!==this.startTime+e/this.playbackRate&&(t.startTime=this.startTime+e/this.playbackRate)},get timeline(){return this._timeline},get playState(){return this._animation?this._animation.playState:"idle"},get finished(){return window.Promise?(this._finishedPromise||(-1==e.animationsWithPromises.indexOf(this)&&e.animationsWithPromises.push(this),this._finishedPromise=new Promise(function(t,e){this._resolveFinishedPromise=function(){t(this)},this._rejectFinishedPromise=function(){e({type:DOMException.ABORT_ERR,name:"AbortError"})}}.bind(this)),"finished"==this.playState&&this._resolveFinishedPromise()),this._finishedPromise):(console.warn("Animation Promises require JavaScript Promise constructor"),null)},get ready(){return window.Promise?(this._readyPromise||(-1==e.animationsWithPromises.indexOf(this)&&e.animationsWithPromises.push(this),this._readyPromise=new Promise(function(t,e){this._resolveReadyPromise=function(){t(this)},this._rejectReadyPromise=function(){e({type:DOMException.ABORT_ERR,name:"AbortError"})}}.bind(this)),"pending"!==this.playState&&this._resolveReadyPromise()),this._readyPromise):(console.warn("Animation Promises require JavaScript Promise constructor"),null)},get onfinish(){return this._animation.onfinish},set onfinish(t){this._animation.onfinish="function"==typeof t?function(e){e.target=this,t.call(this,e)}.bind(this):t},get oncancel(){return this._animation.oncancel},set oncancel(t){this._animation.oncancel="function"==typeof t?function(e){e.target=this,t.call(this,e)}.bind(this):t},get currentTime(){this._updatePromises();var t=this._animation.currentTime;return this._updatePromises(),t},set currentTime(t){this._updatePromises(),this._animation.currentTime=isFinite(t)?t:Math.sign(t)*Number.MAX_VALUE,this._register(),this._forEachChild(function(e,i){e.currentTime=t-i}),this._updatePromises()},get startTime(){return this._animation.startTime},set startTime(t){this._updatePromises(),this._animation.startTime=isFinite(t)?t:Math.sign(t)*Number.MAX_VALUE,this._register(),this._forEachChild(function(e,i){e.startTime=t+i}),this._updatePromises()},get playbackRate(){return this._animation.playbackRate},set playbackRate(t){this._updatePromises();var e=this.currentTime;this._animation.playbackRate=t,this._forEachChild(function(e){e.playbackRate=t}),null!==e&&(this.currentTime=e),this._updatePromises()},play:function(){this._updatePromises(),this._paused=!1,this._animation.play(),-1==this._timeline._animations.indexOf(this)&&this._timeline._animations.push(this),this._register(),e.awaitStartTime(this),this._forEachChild(function(t){var e=t.currentTime;t.play(),t.currentTime=e}),this._updatePromises()},pause:function(){this._updatePromises(),this.currentTime&&(this._holdTime=this.currentTime),this._animation.pause(),this._register(),this._forEachChild(function(t){t.pause()}),this._paused=!0,this._updatePromises()},finish:function(){this._updatePromises(),this._animation.finish(),this._register(),this._updatePromises()},cancel:function(){this._updatePromises(),this._animation.cancel(),this._register(),this._removeChildAnimations(),this._updatePromises()},reverse:function(){this._updatePromises();var t=this.currentTime;this._animation.reverse(),this._forEachChild(function(t){t.reverse()}),null!==t&&(this.currentTime=t),this._updatePromises()},addEventListener:function(t,e){var i=e;"function"==typeof e&&(i=function(t){t.target=this,e.call(this,t)}.bind(this),e._wrapper=i),this._animation.addEventListener(t,i)},removeEventListener:function(t,e){this._animation.removeEventListener(t,e&&e._wrapper||e)},_removeChildAnimations:function(){for(;this._childAnimations.length;)this._childAnimations.pop().cancel()},_forEachChild:function(e){var i=0;if(this.effect.children&&this._childAnimations.length<this.effect.children.length&&this._constructChildAnimations(),this._childAnimations.forEach(function(t){e.call(this,t,i),this.effect instanceof window.SequenceEffect&&(i+=t.effect.activeDuration)}.bind(this)),"pending"!=this.playState){var n=this.effect._timing,r=this.currentTime;null!==r&&(r=t.calculateIterationProgress(t.calculateActiveDuration(n),r,n)),(null==r||isNaN(r))&&this._removeChildAnimations()}}},window.Animation=e.Animation}(c,e),function(t,e,i){function n(e){this._frames=t.normalizeKeyframes(e)}function r(){for(var t=!1;u.length;)u.shift()._updateChildren(),t=!0;return t}var o=function(t){if(t._animation=void 0,t instanceof window.SequenceEffect||t instanceof window.GroupEffect)for(var e=0;e<t.children.length;e++)o(t.children[e])};e.removeMulti=function(t){for(var e=[],i=0;i<t.length;i++){var n=t[i];n._parent?(-1==e.indexOf(n._parent)&&e.push(n._parent),n._parent.children.splice(n._parent.children.indexOf(n),1),n._parent=null,o(n)):n._animation&&n._animation.effect==n&&(n._animation.cancel(),n._animation.effect=new KeyframeEffect(null,[]),n._animation._callback&&(n._animation._callback._animation=null),n._animation._rebuildUnderlyingAnimation(),o(n))}for(i=0;i<e.length;i++)e[i]._rebuild()},e.KeyframeEffect=function(e,i,r,o){return this.target=e,this._parent=null,r=t.numericTimingToObject(r),this._timingInput=t.cloneTimingInput(r),this._timing=t.normalizeTimingInput(r),this.timing=t.makeTiming(r,!1,this),this.timing._effect=this,"function"==typeof i?(t.deprecated("Custom KeyframeEffect","2015-06-22","Use KeyframeEffect.onsample instead."),this._normalizedKeyframes=i):this._normalizedKeyframes=new n(i),this._keyframes=i,this.activeDuration=t.calculateActiveDuration(this._timing),this._id=o,this},e.KeyframeEffect.prototype={getFrames:function(){return"function"==typeof this._normalizedKeyframes?this._normalizedKeyframes:this._normalizedKeyframes._frames},set onsample(t){if("function"==typeof this.getFrames())throw new Error("Setting onsample on custom effect KeyframeEffect is not supported.");this._onsample=t,this._animation&&this._animation._rebuildUnderlyingAnimation()},get parent(){return this._parent},clone:function(){if("function"==typeof this.getFrames())throw new Error("Cloning custom effects is not supported.");var e=new KeyframeEffect(this.target,[],t.cloneTimingInput(this._timingInput),this._id);return e._normalizedKeyframes=this._normalizedKeyframes,e._keyframes=this._keyframes,e},remove:function(){e.removeMulti([this])}};var a=Element.prototype.animate;Element.prototype.animate=function(t,i){var n="";return i&&i.id&&(n=i.id),e.timeline._play(new e.KeyframeEffect(this,t,i,n))};var s=document.createElementNS("http://www.w3.org/1999/xhtml","div");e.newUnderlyingAnimationForKeyframeEffect=function(t){if(t){var e=t.target||s,i=t._keyframes;"function"==typeof i&&(i=[]);var n=t._timingInput;n.id=t._id}else var e=s,i=[],n=0;return a.apply(e,[i,n])},e.bindAnimationForKeyframeEffect=function(t){t.effect&&"function"==typeof t.effect._normalizedKeyframes&&e.bindAnimationForCustomEffect(t)};var u=[];e.awaitStartTime=function(t){null===t.startTime&&t._isGroup&&(0==u.length&&requestAnimationFrame(r),u.push(t))};var c=window.getComputedStyle;Object.defineProperty(window,"getComputedStyle",{configurable:!0,enumerable:!0,value:function(){e.timeline._updateAnimationsPromises();var t=c.apply(this,arguments);return r()&&(t=c.apply(this,arguments)),e.timeline._updateAnimationsPromises(),t}}),window.KeyframeEffect=e.KeyframeEffect,window.Element.prototype.getAnimations=function(){return document.timeline.getAnimations().filter(function(t){return null!==t.effect&&t.effect.target==this}.bind(this))}}(c,e),function(t,e,i){function n(t){t._registered||(t._registered=!0,a.push(t),s||(s=!0,requestAnimationFrame(r)))}function r(t){var e=a;a=[],e.sort(function(t,e){return t._sequenceNumber-e._sequenceNumber}),e=e.filter(function(t){t();var e=t._animation?t._animation.playState:"idle";return"running"!=e&&"pending"!=e&&(t._registered=!1),t._registered}),a.push.apply(a,e),a.length?(s=!0,requestAnimationFrame(r)):s=!1}var o=(document.createElementNS("http://www.w3.org/1999/xhtml","div"),0);e.bindAnimationForCustomEffect=function(e){var i,r=e.effect.target,a="function"==typeof e.effect.getFrames();i=a?e.effect.getFrames():e.effect._onsample;var s=e.effect.timing,u=null;s=t.normalizeTimingInput(s);var c=function(){var n=c._animation?c._animation.currentTime:null;null!==n&&(n=t.calculateIterationProgress(t.calculateActiveDuration(s),n,s),isNaN(n)&&(n=null)),n!==u&&(a?i(n,r,e.effect):i(n,e.effect,e.effect._animation)),u=n};c._animation=e,c._registered=!1,c._sequenceNumber=o++,e._callback=c,n(c)};var a=[],s=!1;e.Animation.prototype._register=function(){this._callback&&n(this._callback)}}(c,e),function(t,e,i){function n(t){return t._timing.delay+t.activeDuration+t._timing.endDelay}function r(e,i,n){this._id=n,this._parent=null,this.children=e||[],this._reparent(this.children),i=t.numericTimingToObject(i),this._timingInput=t.cloneTimingInput(i),this._timing=t.normalizeTimingInput(i,!0),this.timing=t.makeTiming(i,!0,this),this.timing._effect=this,"auto"===this._timing.duration&&(this._timing.duration=this.activeDuration)}window.SequenceEffect=function(){r.apply(this,arguments)},window.GroupEffect=function(){r.apply(this,arguments)},r.prototype={_isAncestor:function(t){for(var e=this;null!==e;){if(e==t)return!0;e=e._parent}return!1},_rebuild:function(){for(var t=this;t;)"auto"===t.timing.duration&&(t._timing.duration=t.activeDuration),t=t._parent;this._animation&&this._animation._rebuildUnderlyingAnimation()},_reparent:function(t){e.removeMulti(t);for(var i=0;i<t.length;i++)t[i]._parent=this},_putChild:function(t,e){for(var i=e?"Cannot append an ancestor or self":"Cannot prepend an ancestor or self",n=0;n<t.length;n++)if(this._isAncestor(t[n]))throw{type:DOMException.HIERARCHY_REQUEST_ERR,name:"HierarchyRequestError",message:i};for(var n=0;n<t.length;n++)e?this.children.push(t[n]):this.children.unshift(t[n]);this._reparent(t),this._rebuild()},append:function(){this._putChild(arguments,!0)},prepend:function(){this._putChild(arguments,!1)},get parent(){return this._parent},get firstChild(){return this.children.length?this.children[0]:null},get lastChild(){return this.children.length?this.children[this.children.length-1]:null},clone:function(){for(var e=t.cloneTimingInput(this._timingInput),i=[],n=0;n<this.children.length;n++)i.push(this.children[n].clone());return this instanceof GroupEffect?new GroupEffect(i,e):new SequenceEffect(i,e)},remove:function(){e.removeMulti([this])}},window.SequenceEffect.prototype=Object.create(r.prototype),Object.defineProperty(window.SequenceEffect.prototype,"activeDuration",{get:function(){var t=0;return this.children.forEach(function(e){t+=n(e)}),Math.max(t,0)}}),window.GroupEffect.prototype=Object.create(r.prototype),Object.defineProperty(window.GroupEffect.prototype,"activeDuration",{get:function(){var t=0;return this.children.forEach(function(e){t=Math.max(t,n(e))}),t}}),e.newUnderlyingAnimationForGroup=function(i){var n,r=null,o=function(e){var i=n._wrapper;if(i&&"pending"!=i.playState&&i.effect)return null==e?void i._removeChildAnimations():0==e&&i.playbackRate<0&&(r||(r=t.normalizeTimingInput(i.effect.timing)),e=t.calculateIterationProgress(t.calculateActiveDuration(r),-1,r),isNaN(e)||null==e)?(i._forEachChild(function(t){t.currentTime=-1}),void i._removeChildAnimations()):void 0},a=new KeyframeEffect(null,[],i._timing,i._id);return a.onsample=o,n=e.timeline._play(a)},e.bindAnimationForGroup=function(t){t._animation._wrapper=t,t._isGroup=!0,e.awaitStartTime(t),t._constructChildAnimations(),t._setExternalAnimation(t)},e.groupChildDuration=n}(c,e),b.true=a}({},function(){return this}())</script><script>Polymer({is:"opaque-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var i=e.node;return this._effect=new KeyframeEffect(i,[{opacity:"1"},{opacity:"1"}],this.timingFromConfig(e)),i.style.opacity="0",this._effect},complete:function(e){e.node.style.opacity=""}})</script><script>!function(){"use strict";var e={pageX:0,pageY:0},t=null,l=[],n=["wheel","mousewheel","DOMMouseScroll","touchstart","touchmove"];Polymer.IronDropdownScrollManager={get currentLockingElement(){return this._lockingElements[this._lockingElements.length-1]},elementIsScrollLocked:function(e){var t=this.currentLockingElement;if(void 0===t)return!1;var l;return!!this._hasCachedLockedElement(e)||!this._hasCachedUnlockedElement(e)&&(l=!!t&&t!==e&&!this._composedTreeContains(t,e),l?this._lockedElementCache.push(e):this._unlockedElementCache.push(e),l)},pushScrollLock:function(e){this._lockingElements.indexOf(e)>=0||(0===this._lockingElements.length&&this._lockScrollInteractions(),this._lockingElements.push(e),this._lockedElementCache=[],this._unlockedElementCache=[])},removeScrollLock:function(e){var t=this._lockingElements.indexOf(e);-1!==t&&(this._lockingElements.splice(t,1),this._lockedElementCache=[],this._unlockedElementCache=[],0===this._lockingElements.length&&this._unlockScrollInteractions())},_lockingElements:[],_lockedElementCache:null,_unlockedElementCache:null,_hasCachedLockedElement:function(e){return this._lockedElementCache.indexOf(e)>-1},_hasCachedUnlockedElement:function(e){return this._unlockedElementCache.indexOf(e)>-1},_composedTreeContains:function(e,t){var l,n,o,r;if(e.contains(t))return!0;for(l=Polymer.dom(e).querySelectorAll("content"),o=0;o<l.length;++o)for(n=Polymer.dom(l[o]).getDistributedNodes(),r=0;r<n.length;++r)if(this._composedTreeContains(n[r],t))return!0;return!1},_scrollInteractionHandler:function(t){if(t.cancelable&&this._shouldPreventScrolling(t)&&t.preventDefault(),t.targetTouches){var l=t.targetTouches[0];e.pageX=l.pageX,e.pageY=l.pageY}},_lockScrollInteractions:function(){this._boundScrollHandler=this._boundScrollHandler||this._scrollInteractionHandler.bind(this);for(var e=0,t=n.length;e<t;e++)document.addEventListener(n[e],this._boundScrollHandler,{capture:!0,passive:!1})},_unlockScrollInteractions:function(){for(var e=0,t=n.length;e<t;e++)document.removeEventListener(n[e],this._boundScrollHandler,{capture:!0,passive:!1})},_shouldPreventScrolling:function(e){var n=Polymer.dom(e).rootTarget;if("touchmove"!==e.type&&t!==n&&(t=n,l=this._getScrollableNodes(Polymer.dom(e).path)),!l.length)return!0;if("touchstart"===e.type)return!1;var o=this._getScrollInfo(e);return!this._getScrollingNode(l,o.deltaX,o.deltaY)},_getScrollableNodes:function(e){for(var t=[],l=e.indexOf(this.currentLockingElement),n=0;n<=l;n++)if(e[n].nodeType===Node.ELEMENT_NODE){var o=e[n],r=o.style;"scroll"!==r.overflow&&"auto"!==r.overflow&&(r=window.getComputedStyle(o)),"scroll"!==r.overflow&&"auto"!==r.overflow||t.push(o)}return t},_getScrollingNode:function(e,t,l){if(t||l)for(var n=Math.abs(l)>=Math.abs(t),o=0;o<e.length;o++){var r=e[o];if(n?l<0?r.scrollTop>0:r.scrollTop<r.scrollHeight-r.clientHeight:t<0?r.scrollLeft>0:r.scrollLeft<r.scrollWidth-r.clientWidth)return r}},_getScrollInfo:function(t){var l={deltaX:t.deltaX,deltaY:t.deltaY};if("deltaX"in t);else if("wheelDeltaX"in t)l.deltaX=-t.wheelDeltaX,l.deltaY=-t.wheelDeltaY;else if("axis"in t)l.deltaX=1===t.axis?t.detail:0,l.deltaY=2===t.axis?t.detail:0;else if(t.targetTouches){var n=t.targetTouches[0];l.deltaX=e.pageX-n.pageX,l.deltaY=e.pageY-n.pageY}return l}}}()</script><dom-module id="iron-dropdown" assetpath="../../bower_components/iron-dropdown/"><template><style>:host{position:fixed}#contentWrapper ::content>*{overflow:auto}#contentWrapper.animating ::content>*{overflow:hidden}</style><div id="contentWrapper"><content id="content" select=".dropdown-content"></content></div></template><script>!function(){"use strict";Polymer({is:"iron-dropdown",behaviors:[Polymer.IronControlState,Polymer.IronA11yKeysBehavior,Polymer.IronOverlayBehavior,Polymer.NeonAnimationRunnerBehavior],properties:{horizontalAlign:{type:String,value:"left",reflectToAttribute:!0},verticalAlign:{type:String,value:"top",reflectToAttribute:!0},openAnimationConfig:{type:Object},closeAnimationConfig:{type:Object},focusTarget:{type:Object},noAnimations:{type:Boolean,value:!1},allowOutsideScroll:{type:Boolean,value:!1},_boundOnCaptureScroll:{type:Function,value:function(){return this._onCaptureScroll.bind(this)}}},listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},observers:["_updateOverlayPosition(positionTarget, verticalAlign, horizontalAlign, verticalOffset, horizontalOffset)"],get containedElement(){return Polymer.dom(this.$.content).getDistributedNodes()[0]},get _focusTarget(){return this.focusTarget||this.containedElement},ready:function(){this._scrollTop=0,this._scrollLeft=0,this._refitOnScrollRAF=null},attached:function(){this.sizingTarget&&this.sizingTarget!==this||(this.sizingTarget=this.containedElement||this)},detached:function(){this.cancelAnimation(),document.removeEventListener("scroll",this._boundOnCaptureScroll),Polymer.IronDropdownScrollManager.removeScrollLock(this)},_openedChanged:function(){this.opened&&this.disabled?this.cancel():(this.cancelAnimation(),this._updateAnimationConfig(),this._saveScrollPosition(),this.opened?(document.addEventListener("scroll",this._boundOnCaptureScroll),!this.allowOutsideScroll&&Polymer.IronDropdownScrollManager.pushScrollLock(this)):(document.removeEventListener("scroll",this._boundOnCaptureScroll),Polymer.IronDropdownScrollManager.removeScrollLock(this)),Polymer.IronOverlayBehaviorImpl._openedChanged.apply(this,arguments))},_renderOpened:function(){!this.noAnimations&&this.animationConfig.open?(this.$.contentWrapper.classList.add("animating"),this.playAnimation("open")):Polymer.IronOverlayBehaviorImpl._renderOpened.apply(this,arguments)},_renderClosed:function(){!this.noAnimations&&this.animationConfig.close?(this.$.contentWrapper.classList.add("animating"),this.playAnimation("close")):Polymer.IronOverlayBehaviorImpl._renderClosed.apply(this,arguments)},_onNeonAnimationFinish:function(){this.$.contentWrapper.classList.remove("animating"),this.opened?this._finishRenderOpened():this._finishRenderClosed()},_onCaptureScroll:function(){this.allowOutsideScroll?(this._refitOnScrollRAF&&window.cancelAnimationFrame(this._refitOnScrollRAF),this._refitOnScrollRAF=window.requestAnimationFrame(this.refit.bind(this))):this._restoreScrollPosition()},_saveScrollPosition:function(){document.scrollingElement?(this._scrollTop=document.scrollingElement.scrollTop,this._scrollLeft=document.scrollingElement.scrollLeft):(this._scrollTop=Math.max(document.documentElement.scrollTop,document.body.scrollTop),this._scrollLeft=Math.max(document.documentElement.scrollLeft,document.body.scrollLeft))},_restoreScrollPosition:function(){document.scrollingElement?(document.scrollingElement.scrollTop=this._scrollTop,document.scrollingElement.scrollLeft=this._scrollLeft):(document.documentElement.scrollTop=this._scrollTop,document.documentElement.scrollLeft=this._scrollLeft,document.body.scrollTop=this._scrollTop,document.body.scrollLeft=this._scrollLeft)},_updateAnimationConfig:function(){for(var o=this.containedElement,t=[].concat(this.openAnimationConfig||[]).concat(this.closeAnimationConfig||[]),n=0;n<t.length;n++)t[n].node=o;this.animationConfig={open:this.openAnimationConfig,close:this.closeAnimationConfig}},_updateOverlayPosition:function(){this.isAttached&&this.notifyResize()},_applyFocus:function(){var o=this.focusTarget||this.containedElement;o&&this.opened&&!this.noAutoFocus?o.focus():Polymer.IronOverlayBehaviorImpl._applyFocus.apply(this,arguments)}})}()</script></dom-module><script>Polymer({is:"fade-in-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(i){var e=i.node;return this._effect=new KeyframeEffect(e,[{opacity:"0"},{opacity:"1"}],this.timingFromConfig(i)),this._effect}})</script><script>Polymer({is:"fade-out-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var i=e.node;return this._effect=new KeyframeEffect(i,[{opacity:"1"},{opacity:"0"}],this.timingFromConfig(e)),this._effect}})</script><script>Polymer({is:"paper-menu-grow-height-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var i=e.node,t=i.getBoundingClientRect(),n=t.height;return this._effect=new KeyframeEffect(i,[{height:n/2+"px"},{height:n+"px"}],this.timingFromConfig(e)),this._effect}}),Polymer({is:"paper-menu-grow-width-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var i=e.node,t=i.getBoundingClientRect(),n=t.width;return this._effect=new KeyframeEffect(i,[{width:n/2+"px"},{width:n+"px"}],this.timingFromConfig(e)),this._effect}}),Polymer({is:"paper-menu-shrink-width-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var i=e.node,t=i.getBoundingClientRect(),n=t.width;return this._effect=new KeyframeEffect(i,[{width:n+"px"},{width:n-n/20+"px"}],this.timingFromConfig(e)),this._effect}}),Polymer({is:"paper-menu-shrink-height-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var i=e.node,t=i.getBoundingClientRect(),n=t.height;t.top;return this.setPrefixedProperty(i,"transformOrigin","0 0"),this._effect=new KeyframeEffect(i,[{height:n+"px",transform:"translateY(0)"},{height:n/2+"px",transform:"translateY(-20px)"}],this.timingFromConfig(e)),this._effect}})</script><dom-module id="paper-menu-button" assetpath="../../bower_components/paper-menu-button/"><template><style>:host{display:inline-block;position:relative;padding:8px;outline:0;@apply(--paper-menu-button)}:host([disabled]){cursor:auto;color:var(--disabled-text-color);@apply(--paper-menu-button-disabled)}iron-dropdown{@apply(--paper-menu-button-dropdown)}.dropdown-content{@apply(--shadow-elevation-2dp);position:relative;border-radius:2px;background-color:var(--paper-menu-button-dropdown-background,--primary-background-color);@apply(--paper-menu-button-content)}:host([vertical-align=top]) .dropdown-content{margin-bottom:20px;margin-top:-10px;top:10px}:host([vertical-align=bottom]) .dropdown-content{bottom:10px;margin-bottom:-10px;margin-top:20px}#trigger{cursor:pointer}</style><div id="trigger" on-tap="toggle"><content select=".dropdown-trigger"></content></div><iron-dropdown id="dropdown" opened="{{opened}}" horizontal-align="[[horizontalAlign]]" vertical-align="[[verticalAlign]]" dynamic-align="[[dynamicAlign]]" horizontal-offset="[[horizontalOffset]]" vertical-offset="[[verticalOffset]]" no-overlap="[[noOverlap]]" open-animation-config="[[openAnimationConfig]]" close-animation-config="[[closeAnimationConfig]]" no-animations="[[noAnimations]]" focus-target="[[_dropdownContent]]" allow-outside-scroll="[[allowOutsideScroll]]" restore-focus-on-close="[[restoreFocusOnClose]]" on-iron-overlay-canceled="__onIronOverlayCanceled"><div class="dropdown-content"><content id="content" select=".dropdown-content"></content></div></iron-dropdown></template><script>!function(){"use strict";var e={ANIMATION_CUBIC_BEZIER:"cubic-bezier(.3,.95,.5,1)",MAX_ANIMATION_TIME_MS:400},n=Polymer({is:"paper-menu-button",behaviors:[Polymer.IronA11yKeysBehavior,Polymer.IronControlState],properties:{opened:{type:Boolean,value:!1,notify:!0,observer:"_openedChanged"},horizontalAlign:{type:String,value:"left",reflectToAttribute:!0},verticalAlign:{type:String,value:"top",reflectToAttribute:!0},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},noOverlap:{type:Boolean},noAnimations:{type:Boolean,value:!1},ignoreSelect:{type:Boolean,value:!1},closeOnActivate:{type:Boolean,value:!1},openAnimationConfig:{type:Object,value:function(){return[{name:"fade-in-animation",timing:{delay:100,duration:200}},{name:"paper-menu-grow-width-animation",timing:{delay:100,duration:150,easing:e.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-grow-height-animation",timing:{delay:100,duration:275,easing:e.ANIMATION_CUBIC_BEZIER}}]}},closeAnimationConfig:{type:Object,value:function(){return[{name:"fade-out-animation",timing:{duration:150}},{name:"paper-menu-shrink-width-animation",timing:{delay:100,duration:50,easing:e.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-shrink-height-animation",timing:{duration:200,easing:"ease-in"}}]}},allowOutsideScroll:{type:Boolean,value:!1},restoreFocusOnClose:{type:Boolean,value:!0},_dropdownContent:{type:Object}},hostAttributes:{role:"group","aria-haspopup":"true"},listeners:{"iron-activate":"_onIronActivate","iron-select":"_onIronSelect"},get contentElement(){return Polymer.dom(this.$.content).getDistributedNodes()[0]},toggle:function(){this.opened?this.close():this.open()},open:function(){this.disabled||this.$.dropdown.open()},close:function(){this.$.dropdown.close()},_onIronSelect:function(e){this.ignoreSelect||this.close()},_onIronActivate:function(e){this.closeOnActivate&&this.close()},_openedChanged:function(e,n){e?(this._dropdownContent=this.contentElement,this.fire("paper-dropdown-open")):null!=n&&this.fire("paper-dropdown-close")},_disabledChanged:function(e){Polymer.IronControlState._disabledChanged.apply(this,arguments),e&&this.opened&&this.close()},__onIronOverlayCanceled:function(e){var n=e.detail,t=(Polymer.dom(n).rootTarget,this.$.trigger);Polymer.dom(n).path.indexOf(t)>-1&&e.preventDefault()}});Object.keys(e).forEach(function(t){n[t]=e[t]}),Polymer.PaperMenuButton=n}()</script></dom-module><script>Polymer({is:"iron-iconset-svg",properties:{name:{type:String,observer:"_nameChanged"},size:{type:Number,value:24},rtlMirroring:{type:Boolean,value:!1}},attached:function(){this.style.display="none"},getIconNames:function(){return this._icons=this._createIconMap(),Object.keys(this._icons).map(function(e){return this.name+":"+e},this)},applyIcon:function(e,t){e=e.root||e,this.removeIcon(e);var n=this._cloneIcon(t,this.rtlMirroring&&this._targetIsRTL(e));if(n){var r=Polymer.dom(e);return r.insertBefore(n,r.childNodes[0]),e._svgIcon=n}return null},removeIcon:function(e){e=e.root||e,e._svgIcon&&(Polymer.dom(e).removeChild(e._svgIcon),e._svgIcon=null)},_targetIsRTL:function(e){return null==this.__targetIsRTL&&(e&&e.nodeType!==Node.ELEMENT_NODE&&(e=e.host),this.__targetIsRTL=e&&"rtl"===window.getComputedStyle(e).direction),this.__targetIsRTL},_nameChanged:function(){new Polymer.IronMeta({type:"iconset",key:this.name,value:this}),this.async(function(){this.fire("iron-iconset-added",this,{node:window})})},_createIconMap:function(){var e=Object.create(null);return Polymer.dom(this).querySelectorAll("[id]").forEach(function(t){e[t.id]=t}),e},_cloneIcon:function(e,t){return this._icons=this._icons||this._createIconMap(),this._prepareSvgClone(this._icons[e],this.size,t)},_prepareSvgClone:function(e,t,n){if(e){var r=e.cloneNode(!0),i=document.createElementNS("http://www.w3.org/2000/svg","svg"),o=r.getAttribute("viewBox")||"0 0 "+t+" "+t,s="pointer-events: none; display: block; width: 100%; height: 100%;";return n&&r.hasAttribute("mirror-in-rtl")&&(s+="-webkit-transform:scale(-1,1);transform:scale(-1,1);"),i.setAttribute("viewBox",o),i.setAttribute("preserveAspectRatio","xMidYMid meet"),i.style.cssText=s,i.appendChild(r).removeAttribute("id"),i}return null}})</script><iron-iconset-svg name="paper-dropdown-menu" size="24"><svg><defs><g id="arrow-drop-down"><path d="M7 10l5 5 5-5z"></path></g></defs></svg></iron-iconset-svg><dom-module id="paper-dropdown-menu-shared-styles" assetpath="../../bower_components/paper-dropdown-menu/"><template><style>:host{display:inline-block;position:relative;text-align:left;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent;--paper-input-container-input:{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%;box-sizing:border-box;cursor:pointer};@apply(--paper-dropdown-menu)}:host([disabled]){@apply(--paper-dropdown-menu-disabled)}:host([noink]) paper-ripple{display:none}:host([no-label-float]) paper-ripple{top:8px}paper-ripple{top:12px;left:0;bottom:8px;right:0;@apply(--paper-dropdown-menu-ripple)}paper-menu-button{display:block;padding:0;@apply(--paper-dropdown-menu-button)}paper-input{@apply(--paper-dropdown-menu-input)}iron-icon{color:var(--disabled-text-color);@apply(--paper-dropdown-menu-icon)}</style></template></dom-module><dom-module id="paper-dropdown-menu-light" assetpath="../../bower_components/paper-dropdown-menu/"><template><style include="paper-dropdown-menu-shared-styles">:host(:focus){outline:0}:host{width:200px}.dropdown-trigger{box-sizing:border-box;position:relative;width:100%;padding:16px 0 8px 0}:host([disabled]) .dropdown-trigger{pointer-events:none;opacity:var(--paper-dropdown-menu-disabled-opacity,.33)}:host([no-label-float]) .dropdown-trigger{padding-top:8px}#input{@apply(--paper-font-subhead);@apply(--paper-font-common-nowrap);line-height:1.5;border-bottom:1px solid var(--paper-dropdown-menu-color,--secondary-text-color);color:var(--paper-dropdown-menu-color,--primary-text-color);width:100%;box-sizing:border-box;padding:12px 20px 0 0;outline:0;@apply(--paper-dropdown-menu-input)}:host-context([dir=rtl]) #input{padding-right:0;padding-left:20px}:host([disabled]) #input{border-bottom:1px dashed var(--paper-dropdown-menu-color,--secondary-text-color)}:host([invalid]) #input{border-bottom:2px solid var(--paper-dropdown-error-color,--error-color)}:host([no-label-float]) #input{padding-top:0}label{@apply(--paper-font-subhead);@apply(--paper-font-common-nowrap);display:block;position:absolute;bottom:0;left:0;right:0;top:28px;box-sizing:border-box;width:100%;padding-right:20px;text-align:left;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);color:var(--paper-dropdown-menu-color,--secondary-text-color);@apply(--paper-dropdown-menu-label)}:host-context([dir=rtl]) label{padding-right:0;padding-left:20px}:host([no-label-float]) label{top:8px;transition-duration:0s}label.label-is-floating{font-size:12px;top:8px}label.label-is-hidden{visibility:hidden}:host([focused]) label.label-is-floating{color:var(--paper-dropdown-menu-focus-color,--primary-color)}:host([invalid]) label.label-is-floating{color:var(--paper-dropdown-error-color,--error-color)}label:after{background-color:var(--paper-dropdown-menu-focus-color,--primary-color);bottom:7px;content:'';height:2px;left:45%;position:absolute;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);visibility:hidden;width:8px;z-index:10}:host([invalid]) label:after{background-color:var(--paper-dropdown-error-color,--error-color)}:host([no-label-float]) label:after{bottom:7px}:host([focused]:not([disabled])) label:after{left:0;visibility:visible;width:100%}iron-icon{position:absolute;right:0;bottom:8px;@apply(--paper-font-subhead);color:var(--disabled-text-color);@apply(--paper-dropdown-menu-icon)}:host-context([dir=rtl]) iron-icon{left:0;right:auto}:host([no-label-float]) iron-icon{margin-top:0}.error{display:inline-block;visibility:hidden;color:var(--paper-dropdown-error-color,--error-color);@apply(--paper-font-caption);position:absolute;left:0;right:0;bottom:-12px}:host([invalid]) .error{visibility:visible}</style><span role="button"></span><paper-menu-button id="menuButton" vertical-align="[[verticalAlign]]" horizontal-align="[[horizontalAlign]]" vertical-offset="[[_computeMenuVerticalOffset(noLabelFloat)]]" disabled="[[disabled]]" no-animations="[[noAnimations]]" on-iron-select="_onIronSelect" on-iron-deselect="_onIronDeselect" opened="{{opened}}" close-on-activate="" allow-outside-scroll="[[allowOutsideScroll]]"><div class="dropdown-trigger"><label class$="[[_computeLabelClass(noLabelFloat,alwaysFloatLabel,hasContent)]]">[[label]]</label><div id="input" tabindex="-1"> </div><iron-icon icon="paper-dropdown-menu:arrow-drop-down"></iron-icon><span class="error">[[errorMessage]]</span></div><content id="content" select=".dropdown-content"></content></paper-menu-button></template><script>!function(){"use strict";Polymer({is:"paper-dropdown-menu-light",behaviors:[Polymer.IronButtonState,Polymer.IronControlState,Polymer.PaperRippleBehavior,Polymer.IronFormElementBehavior,Polymer.IronValidatableBehavior],properties:{selectedItemLabel:{type:String,notify:!0,readOnly:!0},selectedItem:{type:Object,notify:!0,readOnly:!0},value:{type:String,notify:!0,readOnly:!0,observer:"_valueChanged"},label:{type:String},placeholder:{type:String},opened:{type:Boolean,notify:!0,value:!1,observer:"_openedChanged"},allowOutsideScroll:{type:Boolean,value:!1},noLabelFloat:{type:Boolean,value:!1,reflectToAttribute:!0},alwaysFloatLabel:{type:Boolean,value:!1},noAnimations:{type:Boolean,value:!1},horizontalAlign:{type:String,value:"right"},verticalAlign:{type:String,value:"top"},hasContent:{type:Boolean,readOnly:!0}},listeners:{tap:"_onTap"},keyBindings:{"up down":"open",esc:"close"},hostAttributes:{tabindex:0,role:"combobox","aria-autocomplete":"none","aria-haspopup":"true"},observers:["_selectedItemChanged(selectedItem)"],attached:function(){var e=this.contentElement;e&&e.selectedItem&&this._setSelectedItem(e.selectedItem)},get contentElement(){return Polymer.dom(this.$.content).getDistributedNodes()[0]},open:function(){this.$.menuButton.open()},close:function(){this.$.menuButton.close()},_onIronSelect:function(e){this._setSelectedItem(e.detail.item)},_onIronDeselect:function(e){this._setSelectedItem(null)},_onTap:function(e){Polymer.Gestures.findOriginalTarget(e)===this&&this.open()},_selectedItemChanged:function(e){var t="";t=e?e.label||e.getAttribute("label")||e.textContent.trim():"",this._setValue(t),this._setSelectedItemLabel(t)},_computeMenuVerticalOffset:function(e){return e?-4:8},_getValidity:function(e){return this.disabled||!this.required||this.required&&!!this.value},_openedChanged:function(){var e=this.opened?"true":"false",t=this.contentElement;t&&t.setAttribute("aria-expanded",e)},_computeLabelClass:function(e,t,n){var o="";return!0===e?n?"label-is-hidden":"":((n||!0===t)&&(o+=" label-is-floating"),o)},_valueChanged:function(){this.$.input&&this.$.input.textContent!==this.value&&(this.$.input.textContent=this.value),this._setHasContent(!!this.value)}})}()</script></dom-module><script>Polymer.IronSelection=function(e){this.selection=[],this.selectCallback=e},Polymer.IronSelection.prototype={get:function(){return this.multi?this.selection.slice():this.selection[0]},clear:function(e){this.selection.slice().forEach(function(t){(!e||e.indexOf(t)<0)&&this.setItemSelected(t,!1)},this)},isSelected:function(e){return this.selection.indexOf(e)>=0},setItemSelected:function(e,t){if(null!=e&&t!==this.isSelected(e)){if(t)this.selection.push(e);else{var i=this.selection.indexOf(e);i>=0&&this.selection.splice(i,1)}this.selectCallback&&this.selectCallback(e,t)}},select:function(e){this.multi?this.toggle(e):this.get()!==e&&(this.setItemSelected(this.get(),!1),this.setItemSelected(e,!0))},toggle:function(e){this.setItemSelected(e,!this.isSelected(e))}}</script><script>Polymer.IronSelectableBehavior={properties:{attrForSelected:{type:String,value:null},selected:{type:String,notify:!0},selectedItem:{type:Object,readOnly:!0,notify:!0},activateEvent:{type:String,value:"tap",observer:"_activateEventChanged"},selectable:String,selectedClass:{type:String,value:"iron-selected"},selectedAttribute:{type:String,value:null},fallbackSelection:{type:String,value:null},items:{type:Array,readOnly:!0,notify:!0,value:function(){return[]}},_excludedLocalNames:{type:Object,value:function(){return{template:1}}}},observers:["_updateAttrForSelected(attrForSelected)","_updateSelected(selected)","_checkFallback(fallbackSelection)"],created:function(){this._bindFilterItem=this._filterItem.bind(this),this._selection=new Polymer.IronSelection(this._applySelection.bind(this))},attached:function(){this._observer=this._observeItems(this),this._updateItems(),this._shouldUpdateSelection||this._updateSelected(),this._addListener(this.activateEvent)},detached:function(){this._observer&&Polymer.dom(this).unobserveNodes(this._observer),this._removeListener(this.activateEvent)},indexOf:function(e){return this.items.indexOf(e)},select:function(e){this.selected=e},selectPrevious:function(){var e=this.items.length,t=(Number(this._valueToIndex(this.selected))-1+e)%e;this.selected=this._indexToValue(t)},selectNext:function(){var e=(Number(this._valueToIndex(this.selected))+1)%this.items.length;this.selected=this._indexToValue(e)},selectIndex:function(e){this.select(this._indexToValue(e))},forceSynchronousItemUpdate:function(){this._updateItems()},get _shouldUpdateSelection(){return null!=this.selected},_checkFallback:function(){this._shouldUpdateSelection&&this._updateSelected()},_addListener:function(e){this.listen(this,e,"_activateHandler")},_removeListener:function(e){this.unlisten(this,e,"_activateHandler")},_activateEventChanged:function(e,t){this._removeListener(t),this._addListener(e)},_updateItems:function(){var e=Polymer.dom(this).queryDistributedElements(this.selectable||"*");e=Array.prototype.filter.call(e,this._bindFilterItem),this._setItems(e)},_updateAttrForSelected:function(){this._shouldUpdateSelection&&(this.selected=this._indexToValue(this.indexOf(this.selectedItem)))},_updateSelected:function(){this._selectSelected(this.selected)},_selectSelected:function(e){this._selection.select(this._valueToItem(this.selected)),this.fallbackSelection&&this.items.length&&void 0===this._selection.get()&&(this.selected=this.fallbackSelection)},_filterItem:function(e){return!this._excludedLocalNames[e.localName]},_valueToItem:function(e){return null==e?null:this.items[this._valueToIndex(e)]},_valueToIndex:function(e){if(!this.attrForSelected)return Number(e);for(var t,i=0;t=this.items[i];i++)if(this._valueForItem(t)==e)return i},_indexToValue:function(e){if(!this.attrForSelected)return e;var t=this.items[e];return t?this._valueForItem(t):void 0},_valueForItem:function(e){var t=e[Polymer.CaseMap.dashToCamelCase(this.attrForSelected)];return void 0!=t?t:e.getAttribute(this.attrForSelected)},_applySelection:function(e,t){this.selectedClass&&this.toggleClass(this.selectedClass,t,e),this.selectedAttribute&&this.toggleAttribute(this.selectedAttribute,t,e),this._selectionChange(),this.fire("iron-"+(t?"select":"deselect"),{item:e})},_selectionChange:function(){this._setSelectedItem(this._selection.get())},_observeItems:function(e){return Polymer.dom(e).observeNodes(function(e){this._updateItems(),this._shouldUpdateSelection&&this._updateSelected(),this.fire("iron-items-changed",e,{bubbles:!1,cancelable:!1})})},_activateHandler:function(e){for(var t=e.target,i=this.items;t&&t!=this;){var s=i.indexOf(t);if(s>=0){var n=this._indexToValue(s);return void this._itemActivate(n,t)}t=t.parentNode}},_itemActivate:function(e,t){this.fire("iron-activate",{selected:e,item:t},{cancelable:!0}).defaultPrevented||this.select(e)}}</script><script>Polymer.IronMultiSelectableBehaviorImpl={properties:{multi:{type:Boolean,value:!1,observer:"multiChanged"},selectedValues:{type:Array,notify:!0},selectedItems:{type:Array,readOnly:!0,notify:!0}},observers:["_updateSelected(selectedValues.splices)"],select:function(e){this.multi?this.selectedValues?this._toggleSelected(e):this.selectedValues=[e]:this.selected=e},multiChanged:function(e){this._selection.multi=e},get _shouldUpdateSelection(){return null!=this.selected||null!=this.selectedValues&&this.selectedValues.length},_updateAttrForSelected:function(){this.multi?this._shouldUpdateSelection&&(this.selectedValues=this.selectedItems.map(function(e){return this._indexToValue(this.indexOf(e))},this).filter(function(e){return null!=e},this)):Polymer.IronSelectableBehavior._updateAttrForSelected.apply(this)},_updateSelected:function(){this.multi?this._selectMulti(this.selectedValues):this._selectSelected(this.selected)},_selectMulti:function(e){if(e){var t=this._valuesToItems(e);this._selection.clear(t);for(var l=0;l<t.length;l++)this._selection.setItemSelected(t[l],!0);if(this.fallbackSelection&&this.items.length&&!this._selection.get().length){this._valueToItem(this.fallbackSelection)&&(this.selectedValues=[this.fallbackSelection])}}else this._selection.clear()},_selectionChange:function(){var e=this._selection.get();this.multi?this._setSelectedItems(e):(this._setSelectedItems([e]),this._setSelectedItem(e))},_toggleSelected:function(e){var t=this.selectedValues.indexOf(e);t<0?this.push("selectedValues",e):this.splice("selectedValues",t,1)},_valuesToItems:function(e){return null==e?null:e.map(function(e){return this._valueToItem(e)},this)}},Polymer.IronMultiSelectableBehavior=[Polymer.IronSelectableBehavior,Polymer.IronMultiSelectableBehaviorImpl]</script><script>Polymer.IronMenuBehaviorImpl={properties:{focusedItem:{observer:"_focusedItemChanged",readOnly:!0,type:Object},attrForItemTitle:{type:String},disabled:{type:Boolean,value:!1,observer:"_disabledChanged"}},_SEARCH_RESET_TIMEOUT_MS:1e3,_previousTabIndex:0,hostAttributes:{role:"menu"},observers:["_updateMultiselectable(multi)"],listeners:{focus:"_onFocus",keydown:"_onKeydown","iron-items-changed":"_onIronItemsChanged"},keyBindings:{up:"_onUpKey",down:"_onDownKey",esc:"_onEscKey","shift+tab:keydown":"_onShiftTabDown"},attached:function(){this._resetTabindices()},select:function(e){this._defaultFocusAsync&&(this.cancelAsync(this._defaultFocusAsync),this._defaultFocusAsync=null);var t=this._valueToItem(e);t&&t.hasAttribute("disabled")||(this._setFocusedItem(t),Polymer.IronMultiSelectableBehaviorImpl.select.apply(this,arguments))},_resetTabindices:function(){var e=this.multi?this.selectedItems&&this.selectedItems[0]:this.selectedItem;this.items.forEach(function(t){t.setAttribute("tabindex",t===e?"0":"-1")},this)},_updateMultiselectable:function(e){e?this.setAttribute("aria-multiselectable","true"):this.removeAttribute("aria-multiselectable")},_focusWithKeyboardEvent:function(e){this.cancelDebouncer("_clearSearchText");var t=this._searchText||"";t+=(e.key&&1==e.key.length?e.key:String.fromCharCode(e.keyCode)).toLocaleLowerCase();for(var i,s=t.length,o=0;i=this.items[o];o++)if(!i.hasAttribute("disabled")){var n=this.attrForItemTitle||"textContent",r=(i[n]||i.getAttribute(n)||"").trim();if(!(r.length<s)&&r.slice(0,s).toLocaleLowerCase()==t){this._setFocusedItem(i);break}}this._searchText=t,this.debounce("_clearSearchText",this._clearSearchText,this._SEARCH_RESET_TIMEOUT_MS)},_clearSearchText:function(){this._searchText=""},_focusPrevious:function(){for(var e=this.items.length,t=Number(this.indexOf(this.focusedItem)),i=1;i<e+1;i++){var s=this.items[(t-i+e)%e];if(!s.hasAttribute("disabled")){var o=Polymer.dom(s).getOwnerRoot()||document;if(this._setFocusedItem(s),Polymer.dom(o).activeElement==s)return}}},_focusNext:function(){for(var e=this.items.length,t=Number(this.indexOf(this.focusedItem)),i=1;i<e+1;i++){var s=this.items[(t+i)%e];if(!s.hasAttribute("disabled")){var o=Polymer.dom(s).getOwnerRoot()||document;if(this._setFocusedItem(s),Polymer.dom(o).activeElement==s)return}}},_applySelection:function(e,t){t?e.setAttribute("aria-selected","true"):e.removeAttribute("aria-selected"),Polymer.IronSelectableBehavior._applySelection.apply(this,arguments)},_focusedItemChanged:function(e,t){t&&t.setAttribute("tabindex","-1"),!e||e.hasAttribute("disabled")||this.disabled||(e.setAttribute("tabindex","0"),e.focus())},_onIronItemsChanged:function(e){e.detail.addedNodes.length&&this._resetTabindices()},_onShiftTabDown:function(e){var t=this.getAttribute("tabindex");Polymer.IronMenuBehaviorImpl._shiftTabPressed=!0,this._setFocusedItem(null),this.setAttribute("tabindex","-1"),this.async(function(){this.setAttribute("tabindex",t),Polymer.IronMenuBehaviorImpl._shiftTabPressed=!1},1)},_onFocus:function(e){if(!Polymer.IronMenuBehaviorImpl._shiftTabPressed){var t=Polymer.dom(e).rootTarget;(t===this||void 0===t.tabIndex||this.isLightDescendant(t))&&(this._defaultFocusAsync=this.async(function(){var e=this.multi?this.selectedItems&&this.selectedItems[0]:this.selectedItem;this._setFocusedItem(null),e?this._setFocusedItem(e):this.items[0]&&this._focusNext()}))}},_onUpKey:function(e){this._focusPrevious(),e.detail.keyboardEvent.preventDefault()},_onDownKey:function(e){this._focusNext(),e.detail.keyboardEvent.preventDefault()},_onEscKey:function(e){this.focusedItem.blur()},_onKeydown:function(e){this.keyboardEventMatchesKeys(e,"up down esc")||this._focusWithKeyboardEvent(e),e.stopPropagation()},_activateHandler:function(e){Polymer.IronSelectableBehavior._activateHandler.call(this,e),e.stopPropagation()},_disabledChanged:function(e){e?(this._previousTabIndex=this.hasAttribute("tabindex")?this.tabIndex:0,this.removeAttribute("tabindex")):this.hasAttribute("tabindex")||this.setAttribute("tabindex",this._previousTabIndex)}},Polymer.IronMenuBehaviorImpl._shiftTabPressed=!1,Polymer.IronMenuBehavior=[Polymer.IronMultiSelectableBehavior,Polymer.IronA11yKeysBehavior,Polymer.IronMenuBehaviorImpl]</script><dom-module id="paper-listbox" assetpath="../../bower_components/paper-listbox/"><template><style>:host{display:block;padding:8px 0;background:var(--paper-listbox-background-color,--primary-background-color);color:var(--paper-listbox-color,--primary-text-color);@apply(--paper-listbox)}</style><content></content></template><script>!function(){Polymer({is:"paper-listbox",behaviors:[Polymer.IronMenuBehavior],hostAttributes:{role:"listbox"}})}()</script></dom-module><dom-module id="ha-config-section" assetpath="../config/"><template><style include="iron-flex ha-style">.content{padding:28px 20px 0;max-width:1040px;margin:0 auto}.header{@apply(--paper-font-display1);opacity:var(--dark-primary-opacity)}.together{margin-top:32px}.intro{@apply(--paper-font-subhead);width:100%;max-width:400px;margin-right:40px;opacity:var(--dark-primary-opacity)}.panel{margin-top:-24px}.panel ::slotted(*){margin-top:24px;display:block}.narrow.content{max-width:640px}.narrow .together{margin-top:20px}.narrow .header{@apply(--paper-font-headline)}.narrow .intro{font-size:14px;padding-bottom:20px;margin-right:0;max-width:500px}</style><div class$="[[computeContentClasses(isWide)]]"><div class="header"><slot name="header"></slot></div><div class$="[[computeClasses(isWide)]]"><div class="intro"><slot name="introduction"></slot></div><div class="flex panel"><slot></slot></div></div></div></template></dom-module><script>Polymer({is:"ha-config-section",properties:{hass:{type:Object},narrow:{type:Boolean},showMenu:{type:Boolean,value:!1},isWide:{type:Boolean,value:!1}},computeContentClasses:function(e){return e?"content ":"content narrow"},computeClasses:function(e){return"together layout "+(e?"horizontal":"vertical narrow")}})</script><script>!function(){"use strict";function e(){}function n(n,t){var o=U,r=void 0,i=void 0,a=void 0,l=void 0;for(l=arguments.length;l-- >2;)A.push(arguments[l]);for(t&&null!=t.children&&(A.length||A.push(t.children),delete t.children);A.length;)if((i=A.pop())&&void 0!==i.pop)for(l=i.length;l--;)A.push(i[l]);else!0!==i&&!1!==i||(i=null),(a="function"!=typeof n)&&(null==i?i="":"number"==typeof i?i=String(i):"string"!=typeof i&&(a=!1)),a&&r?o[o.length-1]+=i:o===U?o=[i]:o.push(i),r=a;var s=new e;return s.nodeName=n,s.children=o,s.attributes=null==t?void 0:t,s.key=null==t?void 0:t.key,void 0!==j.vnode&&j.vnode(s),s}function t(e,n){for(var t in n)e[t]=n[t];return e}function o(e){!e._dirty&&(e._dirty=!0)&&1==z.push(e)&&(j.debounceRendering||setTimeout)(r)}function r(){var e=void 0,n=z;for(z=[];e=n.pop();)e._dirty&&x(e)}function i(e,n,t){return"string"==typeof n||"number"==typeof n?void 0!==e.splitText:"string"==typeof n.nodeName?!e._componentConstructor&&a(e,n.nodeName):t||e._componentConstructor===n.nodeName}function a(e,n){return e.normalizedNodeName===n||e.nodeName.toLowerCase()===n.toLowerCase()}function l(e){var n=t({},e.attributes);n.children=e.children;var o=e.nodeName.defaultProps;if(void 0!==o)for(var r in o)void 0===n[r]&&(n[r]=o[r]);return n}function s(e,n){var t=n?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e);return t.normalizedNodeName=e,t}function p(e){e.parentNode&&e.parentNode.removeChild(e)}function u(e,n,t,o,r){if("className"===n&&(n="class"),"key"===n);else if("ref"===n)t&&t(null),o&&o(e);else if("class"!==n||r)if("style"===n){if(o&&"string"!=typeof o&&"string"!=typeof t||(e.style.cssText=o||""),o&&"object"===(void 0===o?"undefined":H(o))){if("string"!=typeof t)for(var i in t)i in o||(e.style[i]="");for(var a in o)e.style[a]="number"==typeof o[a]&&!1===W.test(a)?o[a]+"px":o[a]}}else if("dangerouslySetInnerHTML"===n)o&&(e.innerHTML=o.__html||"");else if("o"==n[0]&&"n"==n[1]){var l=n!==(n=n.replace(/Capture$/,""));n=n.toLowerCase().substring(2),o?t||e.addEventListener(n,d,l):e.removeEventListener(n,d,l),(e._listeners||(e._listeners={}))[n]=o}else if("list"!==n&&"type"!==n&&!r&&n in e)c(e,n,null==o?"":o),null!=o&&!1!==o||e.removeAttribute(n);else{var s=r&&n!==(n=n.replace(/^xlink\:?/,""));null==o||!1===o?s?e.removeAttributeNS("http://www.w3.org/1999/xlink",n.toLowerCase()):e.removeAttribute(n):"function"!=typeof o&&(s?e.setAttributeNS("http://www.w3.org/1999/xlink",n.toLowerCase(),o):e.setAttribute(n,o))}else e.className=o||""}function c(e,n,t){try{e[n]=t}catch(e){}}function d(e){return this._listeners[e.type](j.event&&j.event(e)||e)}function h(){for(var e=void 0;e=G.pop();)j.afterMount&&j.afterMount(e),e.componentDidMount&&e.componentDidMount()}function f(e,n,t,o,r,i){K++||(Q=null!=r&&void 0!==r.ownerSVGElement,X=null!=e&&!(V in e));var a=g(e,n,t,o,i);return r&&a.parentNode!==r&&r.appendChild(a),--K||(X=!1,i||h()),a}function g(e,n,t,o,r){var i=e,l=Q;if(null==n&&(n=""),"string"==typeof n)return e&&void 0!==e.splitText&&e.parentNode&&(!e._component||r)?e.nodeValue!=n&&(e.nodeValue=n):(i=document.createTextNode(n),e&&(e.parentNode&&e.parentNode.replaceChild(i,e),m(e,!0))),i[V]=!0,i;if("function"==typeof n.nodeName)return N(e,n,t,o);if(Q="svg"===n.nodeName||"foreignObject"!==n.nodeName&&Q,(!e||!a(e,String(n.nodeName)))&&(i=s(String(n.nodeName),Q),e)){for(;e.firstChild;)i.appendChild(e.firstChild);e.parentNode&&e.parentNode.replaceChild(i,e),m(e,!0)}var p=i.firstChild,u=i[V]||(i[V]={}),c=n.children;return!X&&c&&1===c.length&&"string"==typeof c[0]&&null!=p&&void 0!==p.splitText&&null==p.nextSibling?p.nodeValue!=c[0]&&(p.nodeValue=c[0]):(c&&c.length||null!=p)&&v(i,c,t,o,X||null!=u.dangerouslySetInnerHTML),C(i,n.attributes,u),Q=l,i}function v(e,n,t,o,r){var a=e.childNodes,l=[],s={},u=0,c=0,d=a.length,h=0,f=n?n.length:0,v=void 0,y=void 0,C=void 0,b=void 0;if(0!==d)for(var _=0;_<d;_++){var w=a[_],k=w[V],x=f&&k?w._component?w._component.__key:k.key:null;null!=x?(u++,s[x]=w):(k||(void 0!==w.splitText?!r||w.nodeValue.trim():r))&&(l[h++]=w)}if(0!==f)for(var N=0;N<f;N++){C=n[N],b=null;var O=C.key;if(null!=O)u&&void 0!==s[O]&&(b=s[O],s[O]=void 0,u--);else if(!b&&c<h)for(v=c;v<h;v++)if(void 0!==l[v]&&i(y=l[v],C,r)){b=y,l[v]=void 0,v===h-1&&h--,v===c&&c++;break}(b=g(b,C,t,o))&&b!==e&&(N>=d?e.appendChild(b):b!==a[N]&&(b===a[N+1]?p(a[N]):e.insertBefore(b,a[N]||null)))}if(u)for(var S in s)void 0!==s[S]&&m(s[S],!1);for(;c<=h;)void 0!==(b=l[h--])&&m(b,!1)}function m(e,n){var t=e._component;t?O(t):(null!=e[V]&&e[V].ref&&e[V].ref(null),!1!==n&&null!=e[V]||p(e),y(e))}function y(e){for(e=e.lastChild;e;){var n=e.previousSibling;m(e,!0),e=n}}function C(e,n,t){var o=void 0;for(o in t)n&&null!=n[o]||null==t[o]||u(e,o,t[o],t[o]=void 0,Q);for(o in n)"children"===o||"innerHTML"===o||o in t&&n[o]===("value"===o||"checked"===o?e[o]:t[o])||u(e,o,t[o],t[o]=n[o],Q)}function b(e){var n=e.constructor.name;(Y[n]||(Y[n]=[])).push(e)}function _(e,n,t){var o=Y[e.name],r=void 0;if(e.prototype&&e.prototype.render?(r=new e(n,t),S.call(r,n,t)):(r=new S(n,t),r.constructor=e,r.render=w),o)for(var i=o.length;i--;)if(o[i].constructor===e){r.nextBase=o[i].nextBase,o.splice(i,1);break}return r}function w(e,n,t){return this.constructor(e,t)}function k(e,n,t,r,i){e._disable||(e._disable=!0,(e.__ref=n.ref)&&delete n.ref,(e.__key=n.key)&&delete n.key,!e.base||i?e.componentWillMount&&e.componentWillMount():e.componentWillReceiveProps&&e.componentWillReceiveProps(n,r),r&&r!==e.context&&(e.prevContext||(e.prevContext=e.context),e.context=r),e.prevProps||(e.prevProps=e.props),e.props=n,e._disable=!1,t!==L&&(t!==E&&!1===j.syncComponentUpdates&&e.base?o(e):x(e,E,i)),e.__ref&&e.__ref(e))}function x(e,n,o,r){if(!e._disable){var i=e.props,a=e.state,s=e.context,p=e.prevProps||i,u=e.prevState||a,c=e.prevContext||s,d=e.base,g=e.nextBase,v=d||g,y=e._component,C=!1,b=void 0,w=void 0,N=void 0;if(d&&(e.props=p,e.state=u,e.context=c,n!==M&&e.shouldComponentUpdate&&!1===e.shouldComponentUpdate(i,a,s)?C=!0:e.componentWillUpdate&&e.componentWillUpdate(i,a,s),e.props=i,e.state=a,e.context=s),e.prevProps=e.prevState=e.prevContext=e.nextBase=null,e._dirty=!1,!C){b=e.render(i,a,s),e.getChildContext&&(s=t(t({},s),e.getChildContext()));var S=b&&b.nodeName,T=void 0,D=void 0;if("function"==typeof S){var P=l(b);w=y,w&&w.constructor===S&&P.key==w.__key?k(w,P,E,s,!1):(T=w,e._component=w=_(S,P,s),w.nextBase=w.nextBase||g,w._parentComponent=e,k(w,P,L,s,!1),x(w,E,o,!0)),D=w.base}else N=v,T=y,T&&(N=e._component=null),(v||n===E)&&(N&&(N._component=null),D=f(N,b,s,o||!d,v&&v.parentNode,!0));if(v&&D!==v&&w!==y){var A=v.parentNode;A&&D!==A&&(A.replaceChild(D,v),T||(v._component=null,m(v,!1)))}if(T&&O(T),e.base=D,D&&!r){for(var U=e,B=e;B=B._parentComponent;)(U=B).base=D;D._component=U,D._componentConstructor=U.constructor}}if(!d||o?G.unshift(e):C||(h(),e.componentDidUpdate&&e.componentDidUpdate(p,u,c),j.afterUpdate&&j.afterUpdate(e)),null!=e._renderCallbacks)for(;e._renderCallbacks.length;)e._renderCallbacks.pop().call(e);K||r||h()}}function N(e,n,t,o){for(var r=e&&e._component,i=r,a=e,s=r&&e._componentConstructor===n.nodeName,p=s,u=l(n);r&&!p&&(r=r._parentComponent);)p=r.constructor===n.nodeName;return r&&p&&(!o||r._component)?(k(r,u,B,t,o),e=r.base):(i&&!s&&(O(i),e=a=null),r=_(n.nodeName,u,t),e&&!r.nextBase&&(r.nextBase=e,a=null),k(r,u,E,t,o),e=r.base,a&&e!==a&&(a._component=null,m(a,!1))),e}function O(e){j.beforeUnmount&&j.beforeUnmount(e);var n=e.base;e._disable=!0,e.componentWillUnmount&&e.componentWillUnmount(),e.base=null;var t=e._component;t?O(t):n&&(n[V]&&n[V].ref&&n[V].ref(null),e.nextBase=n,p(n),b(e),y(n)),e.__ref&&e.__ref(null)}function S(e,n){this._dirty=!0,this.context=n,this.props=e,this.state=this.state||{}}function T(e,n,t){return f(t,e,{},!1,n,!1)}function D(e){var n=F({},this.props.trigger);e.target.value?n[e.target.name]=e.target.value:delete n[e.target.name],this.props.onChange(this.props.index,n)}function P(e){return"service"in e?"Call Service":null}var j={},A=[],U=[],L=0,E=1,M=2,B=3,V="__preactattr_",W=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i,z=[],H="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},I=function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")},J=function(){function e(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(n,t,o){return t&&e(n.prototype,t),o&&e(n,o),n}}(),R=function(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e},F=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},$=function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)},q=function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n},G=[],K=0,Q=!1,X=!1,Y={};t(S.prototype,{setState:function(e,n){var r=this.state;this.prevState||(this.prevState=t({},r)),t(r,"function"==typeof e?e(r,this.props):e),n&&(this._renderCallbacks=this._renderCallbacks||[]).push(n),o(this)},forceUpdate:function(e){e&&(this._renderCallbacks=this._renderCallbacks||[]).push(e),x(this,M)},render:function(){}});var Z=function(e){function t(e){I(this,t);var n=q(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state.isValid=!0,n.state.value=JSON.stringify(e.value||{},null,2),n.onChange=n.onChange.bind(n),n}return $(t,e),J(t,[{key:"onChange",value:function(e){var n=e.target.value,t=void 0,o=void 0;try{t=JSON.parse(n),o=!0}catch(e){o=!1}this.setState({value:n,isValid:o}),o&&this.props.onChange(t)}},{key:"componentWillReceiveProps",value:function(e){var n=e.value;this.setState({value:JSON.stringify(n,null,2),isValid:!0})}},{key:"render",value:function(e,t){var o=t.value,r=t.isValid,i={minWidth:300};return r||(i.border="1px solid red"),n("textarea",{value:o,style:i,onChange:this.onChange})}}]),t}(S),ee=function(e){function t(){I(this,t);var e=q(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.onChange=D.bind(e),e.eventDataChanged=e.eventDataChanged.bind(e),e}return $(t,e),J(t,[{key:"eventDataChanged",value:function(e){this.props.onChange(this.props.index,F({},this.props.trigger,{event_data:e}))}},{key:"render",value:function(e){var t=e.trigger,o=t.event_type,r=t.event_data;return n("div",null,n("paper-input",{label:"Event Type",name:"event_type",value:o,onChange:this.onChange}),"Event Data",n(Z,{value:r,onChange:this.eventDataChanged}))}}]),t}(S),ne=function(e){function t(){I(this,t);var e=q(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.onChange=D.bind(e),e}return $(t,e),J(t,[{key:"render",value:function(e){var t=e.trigger,o=t.entity_id,r=t.to,i=t.from,a=t.for;return n("div",null,n("paper-input",{label:"Entity Id",name:"entity_id",value:o,onChange:this.onChange}),n("paper-input",{label:"From",name:"from",value:i,onChange:this.onChange}),n("paper-input",{label:"To",name:"to",value:r,onChange:this.onChange}),a&&n("pre",null,"For: ",JSON.stringify(a,null,2)))}}]),t}(S),te=function(e){function t(){I(this,t);var e=q(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.onChange=D.bind(e),e}return $(t,e),J(t,[{key:"render",value:function(e){var t=e.trigger,o=t.value_template,r=t.entity_id,i=t.below,a=t.above;return n("div",null,n("paper-input",{label:"Entity Id",name:"entity_id",value:r,onChange:this.onChange}),n("paper-input",{label:"Above",name:"above",value:a,onChange:this.onChange}),n("paper-input",{label:"Below",name:"below",value:i,onChange:this.onChange}),"Value template (optional)",n("br",null),n("textarea",{name:"value_template",value:o,style:{width:"100%",height:100},onChange:this.onChange}))}}]),t}(S),oe={event:ee,state:ne,homeassistant:null,mqtt:null,numeric_state:te,sun:null,template:null,time:null,zone:null},re=Object.keys(oe).sort(),ie=function(e){function t(){I(this,t);var e=q(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.typeChanged=e.typeChanged.bind(e),e.onDelete=e.onDelete.bind(e),e}return $(t,e),J(t,[{key:"typeChanged",value:function(e){var n=e.target.selectedItem.innerHTML;n!==this.props.trigger.platform&&this.props.onChange(this.props.index,{platform:n})}},{key:"onDelete",value:function(){confirm("Sure you want to delete?")&&this.props.onChange(this.props.index,null)}},{key:"render",value:function(e){var t=e.index,o=e.trigger,r=e.onChange,i=oe[o.platform],a=re.indexOf(o.platform),l=void 0;return l=i?n("div",null,n("paper-dropdown-menu-light",{label:"Trigger Type","no-animations":!0},n("paper-listbox",{class:"dropdown-content",selected:a,"oniron-select":this.typeChanged},re.map(function(e){return n("paper-item",null,e)}))),n(i,{index:t,trigger:o,onChange:r})):n("div",null,"Unsupported platform: ",o.platform,n("pre",null,JSON.stringify(o,null,2))),n("paper-card",null,n("div",{class:"card-menu"},n("paper-menu-button",{"no-animations":!0,"horizontal-align":"right","horizontal-offset":"-5","vertical-offset":"-5"},n("paper-icon-button",{icon:"mdi:dots-vertical",class:"dropdown-trigger"}),n("paper-menu",{class:"dropdown-content"},n("paper-item",{disabled:!0},"Duplicate"),n("paper-item",{onTap:this.onDelete},"Delete")))),n("div",{class:"card-content"},l))}}]),t}(S),ae=function(e){function t(){I(this,t);var e=q(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.addTrigger=e.addTrigger.bind(e),e.triggerChanged=e.triggerChanged.bind(e),e}return $(t,e),J(t,[{key:"addTrigger",value:function(){var e=this.props.trigger.concat({platform:"event"});this.props.onChange(e)}},{key:"triggerChanged",value:function(e,n){var t=this.props.trigger.concat();null===n?t.splice(e,1):t[e]=n,this.props.onChange(t)}},{key:"render",value:function(e){var t=this;return n("div",{class:"triggers"},e.trigger.map(function(e,o){return n(ie,{index:o,trigger:e,onChange:t.triggerChanged})}),n("paper-card",null,n("div",{class:"card-actions add-card"},n("paper-button",{onTap:this.addTrigger},"Add trigger"))))}}]),t}(S),le=function(e){function t(){I(this,t);var e=q(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.onChange=e.onChange.bind(e),e.serviceDataChanged=e.serviceDataChanged.bind(e),e}return $(t,e),J(t,[{key:"onChange",value:function(e){this.props.onChange(this.props.index,F({},this.props.action,R({},e.target.name,e.target.value)))}},{key:"serviceDataChanged",value:function(e){this.props.onChange(this.props.index,F({},this.props.action,{service_data:e}))}},{key:"render",value:function(e){var t=e.action,o=t.alias,r=t.service,i=t.data;return n("div",null,n("paper-input",{label:"Alias",name:"alias",value:o,onChange:this.onChange}),n("paper-input",{label:"Service",name:"service",value:r,onChange:this.onChange}),"Service Data",n("br",null),n(Z,{value:i,onChange:this.serviceDataChanged}))}}]),t}(S),se={"Call Service":le,Delay:null,"Templated Delay":null,Condition:null,"Fire Event":null},pe=Object.keys(se).sort(),ue=function(e){function t(){I(this,t);var e=q(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.typeChanged=e.typeChanged.bind(e),e.onDelete=e.onDelete.bind(e),e}return $(t,e),J(t,[{key:"typeChanged",value:function(e){var n=e.target.selectedItem.innerHTML;P(this.props.action)!==n&&this.props.onChange(this.props.index,{platform:n})}},{key:"onDelete",value:function(){confirm("Sure you want to delete?")&&this.props.onChange(this.props.index,null)}},{key:"render",value:function(e){var t=e.index,o=e.action,r=e.onChange,i=P(o),a=se[i],l=pe.indexOf(i),s=void 0;return s=a?n("div",null,n("paper-dropdown-menu-light",{label:"Action Type","no-animations":!0},n("paper-listbox",{class:"dropdown-content",selected:l,"oniron-select":this.typeChanged},pe.map(function(e){return n("paper-item",null,e)}))),n(a,{index:t,action:o,onChange:r})):n("div",null,"Unsupported action",n("pre",null,JSON.stringify(o,null,2))),n("paper-card",null,n("div",{class:"card-menu"},n("paper-menu-button",{"no-animations":!0,"horizontal-align":"right","horizontal-offset":"-5","vertical-offset":"-5"},n("paper-icon-button",{icon:"mdi:dots-vertical",class:"dropdown-trigger"}),n("paper-menu",{class:"dropdown-content"},n("paper-item",{disabled:!0},"Duplicate"),n("paper-item",{onTap:this.onDelete},"Delete")))),n("div",{class:"card-content"},s))}}]),t}(S),ce=function(e){function t(){I(this,t);var e=q(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.addAction=e.addAction.bind(e),e.actionChanged=e.actionChanged.bind(e),e}return $(t,e),J(t,[{key:"addAction",value:function(){var e=this.props.script.concat({service:""});this.props.onChange(e)}},{key:"actionChanged",value:function(e,n){var t=this.props.script.concat();null===n?t.splice(e,1):t[e]=n,this.props.onChange(t)}},{key:"render",value:function(e){var t=this;return n("div",{class:"script"},e.script.map(function(e,o){return n(ue,{index:o,action:e,onChange:t.actionChanged})}),n("paper-card",null,n("div",{class:"card-actions add-card"},n("paper-button",{onTap:this.addAction},"Add action"))))}}]),t}(S),de=function(e){function t(){I(this,t);var e=q(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.onChange=e.onChange.bind(e),e.triggerChanged=e.triggerChanged.bind(e),e.actionChanged=e.actionChanged.bind(e),e}return $(t,e),J(t,[{key:"onChange",value:function(e){this.props.onChange(F({},this.props.automation,R({},e.target.name,e.target.value)))}},{key:"triggerChanged",value:function(e){this.props.onChange(F({},this.props.automation,{trigger:e}))}},{key:"actionChanged",value:function(e){this.props.onChange(F({},this.props.automation,{action:e}))}},{key:"render",value:function(e){var t=e.automation,o=e.isWide,r=t.alias,i=t.trigger,a=t.condition,l=t.action;return n("div",null,n("ha-config-section",{"is-wide":o},n("span",{slot:"header"},r),n("span",{slot:"introduction"},"Use automations to bring your home alive."),n("paper-card",null,n("div",{class:"card-content"},n("paper-input",{label:"Name",name:"alias",value:r,onChange:this.onChange})))),n("ha-config-section",{"is-wide":o},n("span",{slot:"header"},"Triggers"),n("span",{slot:"introduction"},"Triggers are what starts the processing of an automation rule. It is possible to specify multiple triggers for the same rule. Once a trigger starts, Home Assistant will validate the conditions, if any, and call the action.",n("p",null,n("a",{href:"https://home-assistant.io/docs/automation/trigger/",target:"_blank"},"Learn more about triggers."))),n(ae,{trigger:i,onChange:this.triggerChanged})),a&&n("ha-config-section",{"is-wide":o},n("span",{slot:"header"},"Conditions"),n("span",{slot:"introduction"},"Conditions are an optional part of an automation rule and can be used to prevent an action from happening when triggered. Conditions look very similar to triggers but are very different. A trigger will look at events happening in the system while a condition only looks at how the system looks right now. A trigger can observe that a switch is being turned on. A condition can only see if a switch is currently on or off.",n("p",null,n("a",{href:"https://home-assistant.io/docs/scripts/conditions/",target:"_blank"},"Learn more about conditions."))),n("paper-card",null,n("div",{class:"card-content"},"Conditions are not supported yet.",n("pre",null,JSON.stringify(a,null,2))))),n("ha-config-section",{"is-wide":o},n("span",{slot:"header"},"Action"),n("span",{slot:"introduction"},"The actions are what Home Assistant will do when the automation is triggered.",n("p",null,n("a",{href:"https://home-assistant.io/docs/scripts/",target:"_blank"},"Learn more about actions."))),n(ce,{script:l,onChange:this.actionChanged})))}}]),t}(S);window.AutomationEditor=function(e,t,o){return T(n(de,t),e,o)},window.unmountPreact=function(e,n){T(function(){return null},e,n)}}()</script><dom-module id="ha-automation-editor" assetpath="./"><template><style include="ha-style">.errors{padding:20px;font-weight:700;color:var(--google-red-500)}.content{padding-bottom:20px}paper-card{display:block}.script,.triggers{margin-top:-16px}.script paper-card,.triggers paper-card{margin-top:16px}.add-card paper-button{display:block;text-align:center}.card-menu{position:absolute;top:0;right:0;z-index:1;color:var(--primary-text-color)}.card-menu paper-item{cursor:pointer}span[slot=introduction] a{color:var(--primary-color)}paper-fab{position:fixed;bottom:16px;right:16px;z-index:1;margin-bottom:-80px;transition:margin-bottom .3s}paper-fab[is-wide]{bottom:24px;right:24px}paper-fab[dirty]{margin-bottom:0}</style><app-header-layout has-scrolling-region=""><app-header fixed=""><app-toolbar><paper-icon-button icon="mdi:arrow-left" on-tap="backTapped"></paper-icon-button><div main-title="">Automation [[name]]</div></app-toolbar></app-header><div class="content"><template is="dom-if" if="[[errors]]"><div class="errors">[[errors]]</div></template><div id="root"></div><paper-fab is-wide$="[[isWide]]" dirty$="[[dirty]]" icon="mdi:content-save" title="Save" on-tap="saveAutomation"></paper-fab></div></app-header-layout></template></dom-module><script>Polymer({is:"ha-automation-editor",properties:{hass:{type:Object},narrow:{type:Boolean},showMenu:{type:Boolean,value:!1},errors:{type:Object,value:null},dirty:{type:Boolean,value:!1},config:{type:Object,value:null},automation:{type:Object,observer:"automationChanged"},creatingNew:{type:Boolean,observer:"creatingNewChanged"},name:{type:String,computed:"computeName(automation)"},isWide:{type:Boolean,observer:"isWideChanged"}},created:function(){this.configChanged=this.configChanged.bind(this)},detached:function(){this._rendered&&window.unmountPreact(this._rendered)},configChanged:function(t){this.config=t,this.errors=null,this.dirty=!0,this._updateComponent(t)},automationChanged:function(t,i){if(t)return this.hass?void(i&&i.attributes.id===t.attributes.id||this.hass.callApi("get","config/automation/config/"+t.attributes.id).then(function(t){["trigger","condition","action"].forEach(function(i){var e=t[i];e&&!Array.isArray(e)&&(t[i]=[e])}),this.dirty=!1,this.config=t,this._updateComponent()}.bind(this))):void setTimeout(this.automationChanged.bind(this,t,i),0)},creatingNewChanged:function(t){t&&(this.dirty=!1,this.config={alias:"New Automation",trigger:[{platform:"state"}],action:[{service:""}]},this._updateComponent())},isWideChanged:function(){null!==this.config&&this._updateComponent()},backTapped:function(){this.dirty&&!confirm("You have unsaved changes. Are you sure you want to leave?")||this.fire("hass-automation-picked",{id:null})},_updateComponent:function(){this._rendered=window.AutomationEditor(this.$.root,{automation:this.config,onChange:this.configChanged,isWide:this.isWide},this._rendered)},saveAutomation:function(){var t=this.creatingNew?""+Date.now():this.automation.attributes.id;this.hass.callApi("post","config/automation/config/"+t,this.config).then(function(){this.dirty=!1,this.creatingNew&&this.fire("hass-automation-picked",{id:t})}.bind(this),function(t){throw this.errors=t.body.message,t}.bind(this))},computeName:function(t){return t&&window.hassUtil.computeStateName(t)}})</script></div><dom-module id="ha-panel-automation"><template><style>ha-automation-editor,ha-automation-picker{height:100%}</style><iron-media-query query="(min-width: 1040px)" query-matches="{{wide}}"></iron-media-query><iron-media-query query="(min-width: 1296px)" query-matches="{{wideSidebar}}"></iron-media-query><template is="dom-if" if="[[!showEditor]]"><ha-automation-picker automations="[[automations]]" is-wide="[[isWide]]"></ha-automation-picker></template><template is="dom-if" if="[[showEditor]]" restamp=""><ha-automation-editor hass="[[hass]]" automation="[[automation]]" is-wide="[[isWide]]" creating-new="[[creatingNew]]"></ha-automation-editor></template></template></dom-module><script>Polymer({is:"ha-panel-automation",properties:{hass:{type:Object},narrow:{type:Boolean},showMenu:{type:Boolean,value:!1},automations:{type:Array,computed:"computeAutomations(hass)"},automationId:{type:String,value:null},automation:{type:Object,computed:"computeAutomation(automations, automationId, creatingNew)"},wide:{type:Boolean},wideSidebar:{type:Boolean},isWide:{type:Boolean,computed:"computeIsWide(showMenu, wideSidebar, wide)"},creatingNew:{type:Boolean,value:!1},showEditor:{type:Boolean,computed:"computeShowEditor(automation, creatingNew)"}},listeners:{"hass-automation-picked":"automationPicked","hass-create-automation":"createAutomation"},computeIsWide:function(t,e,o){return t?e:o},computeAutomation:function(t,e,o){if(o)return null;for(var a=0;a<t.length;a++)if(t[a].attributes.id===e)return t[a];return null},computeAutomations:function(t){var e=[];return Object.keys(t.states).forEach(function(o){var a=t.states[o];"automation"===window.hassUtil.computeDomain(a)&&"id"in a.attributes&&e.push(a)}),e.sort(function(t,e){var o=(t.attributes.alias||t.entity_id).toLowerCase(),a=(e.attributes.alias||e.entity_id).toLowerCase();return o<a?-1:o>a?1:0})},computeShowEditor:function(t,e){return e||t},automationPicked:function(t){this.automationId=t.detail.id,this.creatingNew&&(this.creatingNew=!1)},createAutomation:function(){this.creatingNew=!0}})</script></body></html> \ No newline at end of file diff --git a/homeassistant/components/frontend/www_static/panels/ha-panel-automation.html.gz b/homeassistant/components/frontend/www_static/panels/ha-panel-automation.html.gz index e717b38ea4bcf39acbe093a4bc03e6130d72fecf..20c4710b2c45b2ede9866a3a0cf05e77ca80dea5 100644 GIT binary patch literal 43960 zcmV(%K;pk2iwFognHpIF1889_aA9s`Y%O7RbZ>28bZKvHE@*UZYyix?dw1J7k~sSR z{S-21+9Sr4EctCIjBh%Roj%*0<Rs~xdseOWp+v~$L?*Q)mBel7yWgt98w6!{&;0JW z)4Q>V!lO_q6be99;rVTSw|w#ZmL=(n=Xb15I`iA4tXLffzkYt(y9i!9Kjgq!k>0;} zo@QS=w^^F9JPv}+?7sJPy__d`_B(@b02g<?yCPjLStm>5AS;W!m)#{dEa)T^)VfOQ z+c@a=58?l2#Wz-7&x^ZNk+Zz64t4HBsH$dnt7THN7tgEue#u^pZi}jZNV5u3??+j_ z%yQP7EsOb=aq*Rvi)Ha`#4#JMiYlwKA|I6uYRJB_?O!UuF#YN7=5_Y<;r~untL1&S z*Mo|Rb=_NJbvTw4=YY)iFWKFVYKph<Elca$(buGeavISdB}d7+F2eCG%WiJ#W*(l- zGi|9G-3j26<u}u?V_{}B+01HU#qornb9P%SQ&#%BHB07SZpvbvr@eWxEJ`5UEi1En zT&$9LR^N|?V^z*T*{C<PTIny6l%+kW|Di6ET+mrm*6E*C9UPaWRP_(G&ky+k67L{a z7(EU;Ww8X-fu03|ul^bblL@iKx@J7r-wDv=gb1foV5Txldae0ie*EdBD3dH}U0|8a z*s>-6&j`cpQKu^BSOz#BFn;kIaO2F3I6?-h0RCdNeiRz`>b@JK^p^gh;i8rmFmaKj zQ3oj>b?`UT%73twIyYa!<Z7$t6$0NSckBr@$u1unlW$&TtNO)<VtIeZ%I-r}jm&8s zt;%A>$~t4!=m7{fdMIWUD`7&8f@}DGb(`cjEDfUie#J(g>JnT0nk?6B6a?D{$T)gv zg7WopxrM6PR}c(819~FUj|Ff`l8an>!^mjN$SoV)Mtlg`nutoaSh9Kjxp-LvYzBlI z?G2z|DL*{rf;lt-gGcBs+ff6!9)nf{O#F=@Q~2XZwKl-VZS;^Ab+)(%%%ML?`aWOM z?;VARB!8$BD@%|af2<6bm?l3^ip>%4)^{^jTEi~Hs9BIFJyvq7$XSgh!8OUJMN!^~ za$-J49XY&VFr|Lnj~45Ejw#*n0i<__#r17g_5a$3DL-cYB1fXdMkWpJ1CPfs&wpLA zs#tzypUQcc5>Sxr@AKc+u=@SXY2V!&hLM#B$n6b`v^Pj@%oc9@vn)@kiZDV{Xe9ns zTmZ=Gu7gA?X2T|C0|zs!%@i7qaduzR{7|^E@PS=9=(3TKP_jE%%GF%#29P5VmH)MG zEE|1VQTlpu`w4|n%&z{nE|=ZlZwKt)Z$bDs5HX%E?y;x!aTr1mh*Bdzx&Kvkz1R)^ z0CH_>hKX;<>UEj#QF$S;HXHtl!exJ-{}y6le_wsE)Z2nuPMVE$%tk~_kF{|XD1{=R z6~VXixAlilXt#`B{hQ^2Ku!=?d9H%GT(e;GwaC)Wz*h|^1!gVTqKl$tPgfF}eTVNc zWYMkQtdlK|xoFARx6ZF0f9|$V)3A?fat<`^gRYm=-QX|?$D$oJVf`h`Z|d9LaBAV) zN-Kw0rW9^)Hs@5z5@#^Z?>JhN5MJruBmMIrSbfKVvxIa@#XOH$Gfxp!3(;@<mX$YG z_eKjwmd(asvCYOS^$=*#9NN(8iXpS2ny(32Q?9abob5UC7G<9)W|ch5A`cQxlsQ_A z@M&rU9zkU4=6*55ThiH-kaPi3W<t~M+S$57Hl$os$8DI6P24`=ma%RmXikmH+#ke} zZI#f8x)kRlrNDuRHLLl^RxGKlN@S8zMUWT0l9Gi;(qnEdW=IH8viJrI^Xp>1zJuX} z+AH?!$Dibsl`~%G(EX3Rx?js>zf?bo)8PO5x1f}6w;}ABxaJKix!P2Vy>KV1;$Xh6 zY5-6|@M2UJMg7q0-4w;mk^%Z@Z#Wo?{<1ikpU;oS7T_2G?CgAg?f^~^kj_p{j?Znt zIRfUV$CpQ!8ZZOJi#IYqOOwUiflw>wvm{xZI}mE-<mlpbapFLzo#W%P^YlzZZc4^- z-q7rv4d<x~qLxn2XS0jM1yNIj#btVW;ex2G!R%siVo>3pEtkbNLAp7+m>o4>)Y{^F zK08Spuv1R**~wtgfKhvk!R4_D161xsYp3|11K}ez!2cWwwRFkwKL<kXoDK0mfUFYO zor%GPMiy+wn3c>MU(D0=$Vxw=rWcpVWn!gslupl&iFtJT3D19ed^&KNC6b)Ls9Nb~ zyq@FB<5Mf0&`*z#7Do#!{em;v(Z$h)m43<jVmKept@K26>>|0a5lW6Y;PmL!?s0O$ z0mJi?6C1#Bf}RX?RjVxj!f85ZCv0w~^R_Q$v(zcT+djEi%!W3AbJgJN=<>)0aJtS< z2Iq;}HUch(?CjVE5M|Sg;q1(5oX_H;;l=691`utNba--lZUcz87Z(F|vakV)x`V{2 zOOp3waN%@O&=>G_n@NOx84k~k-mlBml5r9rGd?#g2%*4+z|iL|h;W#*%j5LI1recV z$=Suc0V4d8*~$5A-oyf@+x+N!HgG{i?hAHwk|ZwZoQuHWB58DsNPd<KXP1pqMD&wn zcyiG|gOi;BOD~!*K4S+bgT<@?JCPi`xNN`(%OnAq9^{m<l{o?|W#@}CFPKnDhw~G5 z>4g(ov*XJ&oq6FjAeX1-rzF^$a6<hYB+mS(1wEwX`EfEk_rhs>PTBFPG387+b^mmD zlqMHmIE~cF>Ct&I@WN@hj)yRke*E~D&5kcFTIkCM?tFfdwq+m^oShCAZ5g=ChkBUi zCfJ;3Hw7QP3zit8Cm?+3KAk7VzzGmxbh$__(nfuJS--qEo6lSjp?Nw#o6QGJERaZx z)8XvY1=08%U!GhhjS9IsFgRXZE?f|e%F)H~>E*Etq5&BuN5|*P1@W=Cm|wC*qeeaq zr^jdMqFIi*cATCj9+<%LWMROBo&%&mhJ`G((>X)TQf5q40&ubq=7}*&wJvpbGCMU! zkpL%Ll}b$UsCBHP;pN%l*ai@}hwS2lIVGqY!^`tCLlGbVk$QM~c4`bO0f^9p^yEAl z+5kc3BanOx2SQyuIk`w05bDa&<@sd;a?T-VM+Rhxn?r-lL(ra>4=QFKEFg0qnDDt6 zrYDQU2PVRwEau0Hb01jXJUcVS#lj2;bevo+PJG}q4!)cjLt%iqf_ijukq&*}3l2U% zpQS!9ADrRo`Q^+97DF^hFZ@Im12veRw7{wBgTZXj0_WHdKtIuho!=)pAFjdTeBq?? zfjVNd#gPp-5|}c#CO$Z6I$%Q^z=!1ww<T`d9O-#_VgvY443hcWsY-U^JUO=kocx1} z<BNq2;DjHX4bGf41j&J*3#SMt_VB_35o8ATbs++?*@e-Unk7p~;G@ORP8S4D7sf(N z072mSZ0^(~2s}GW<~BeOI5{)47tuB+*V)B|4G;vrxIA|n7u`6&JaYhoz-O1IPUC{W zC+W$+25<r==eWypAV*w)E*7bSFemUZWiW{yh$QeL(bH4zDsfF+oEi(Ku}Pg@u(P=f zAq0}s^vvKRWA}P7oS$EuI1s+<pUr^&4FqstV4W~FTO2}kJ~>VXCvH1@nF6_gJa-^` zEoJAh>vAA`DV?3NBexx))m$#l<}PxA*q4hz!d#GK=d<%O7bM6%zc@X11d1m5Vz{_4 zh;D+p8aijGq1T&mz9l$i!{pQpr(sA~dU`SR!cX`PU_L)PZ9xx*aW+3bNxbkguH?;* zPma8BuEJehE{^^9(;%ImUd)abUihUrIst*}h4TTM&lii!fj<LR)M1f5^;4J+-uc;L zG4PL&P(wi?56#u`PHf^X7c=Ih^Iha%aWX%)0emlW#@OZD1{{lFK0iOT0epvZ!iJ}f zwz1!7IzPU&0W>0W(6)}9#`%V5F*`Y$*?<di=#n0t*Z{syhPBx3xY#Fy;IY{1PHopf z5j}AsC;X@b=sa*B95Yx54Tw5=!d>?wHArk7X2G}{;$48mUL8g}bwS4hG&E+a0Eu%F z#!fGqScp@m<CzO0axc>K!Z`4;j>cfyaMVD9NWQpCE{+<dF8Oi7`C{1UvOJyuvNvj! z2NV{0B}{hBLtsvPpzxUiOYja_(*DBGLpVU7!C=}u5P<|6TpT$NLHP94ICJ3;f!sVX zj=&@W95Ni7I}lFw#q79&wCGMUXh1H++0LQ?;Ur(2H6fDXuupf<mIP1FPa36Umrj}$ zO8jO9s3`F^Lel$~H6Rj;!R*Kd2`uLGi$*Cy^4a-G>VgD<$@$S)6AJ=eUNjNpRG(eU zo1k;SwI0v~KSDk8fG)W_JRLSclJe=W*)d7_WOmYoiLPDx>J-F3I~_QO9_9$l*d;sn zg5{y|+&D=y;R>zGp%;EE&u)#y)`Sbx&-vNC4?TXwdwz7}h4b+_IUO2{r3pXh<UUD; zmtOb<KVm&O9{Ta)htiAVvw^?=a?CE-g`d81;Lg}dO9nxL<FsXj#G!S1WOCE2EWQc# z6>kDA9RSy%&Oyn!a3EYam?uec;y}3GG`zSl<~@fHh8O9Xc|a`@pfjY?(-XHH8kn>6 zWNs{q9Kw(3K<7U`cOd+Lj)7vu90=Em*wOjXv8ip|bM{T}KReyNi7^0TvBv+|0Q-i< z08sB|DgNiSZQk4%0IngP;(s>4ccVi9-t!~;&jwub(;xiLK1)%(XLHazd_b-yF4Bv1 z?tyYX7|huG)C1*5xr5{+VIC+~A1^Kkmvb*t*vY|pdNK1r`62Gf88dD{H1wPw(Viy8 zmRm!KO2_9X=O+sfl#}Z0_=xoGG%3II((G%NqA-*uto`AUhE>UIi3TeQs0&tXUgYrW z-hiH-Na(7}?rhivvNG48TiTSsW}^z|YgE_kHahGZ2Dy)2Cd<M#`(6w4VQ$>a>#lDZ zD5V-0j&+fS-Ep&^n+1#O&g^VcXHz8=jdm7Pxr}n0@a-iGI2IrSJS)3j_?pyc=GN!p zVPmXXa}RlLi<??A3lx$$8mxM<soOe@z$1Ch<{!y=Vpi)PZmxsVv6h{!Vlu;EAg)~f z{ART)C$rnE!zv(wj>X+|J70hho8f=s9jt(c68N7aNJ}T%P_)YE9xIX<aHGRsc%z52 z`HU-GMkcp|XD9fdo5$+k@f`nyEQElM-@Hgt@7N+)FIza;ObZR~0NZs$9CapT`V`j@ zo!jF&(#i7qa-A|+=^cQ|ELjG-d`cQVB;#4}y(jF+XGMvGf|T*j5l4g?JQ1}^$#5)c zE|WA{SEHlVckQ0Rt6UT`?e6Z1oH!?RGhmzHcEWuNrk20RUIqj!>m;wYeRS$!<%6%A zgh5@bdP}ybB`VTy!~mBxHypU@i{rtr$J-7i5*_VN;B~qIx%0!g>2<@?S4D>Q_&qYD ztEihh+T`VR%l$g5mz;YaR!K^h@xwEqI*}QT+eSwx^79+FPQ<-x%TS9(_%NgR3U}dx zt$I=EBM}8b)Bq*3s#vaT9H1K3>e1lQZi)to$vdMFNQoL~)ag@3@n!eA$ql|XMA5dI z6Ecvi9yF(nhO6%#z&=Ymcoz--jb*c^0Qmz=i@HPGsfhev;(+%Z=D+3?)5T_wQoP<n zStXopID23oG)@PQF0-r+zaPW45mSxNpJV}H2Tfr9Q-RRr8PoBvOnmX&@P9M?>^Sb& zH}nECynQskbhP8o-+4Z=($>9sF`1|eq>B&zD@G1J^{?H&KZabke1Am!UYD65vV1u> zhRVl<u=JN}ItVGZo1ctQP2Uqm*{68t{M3d3_eWt%_BAowfh@<9VVe(8l4rQiq@Qk+ z6r^Dr8Zw)c!CR^2bR)()1&WHFFGW>dyXi34ZX?CvmI13YDMusxWyOLKH;5-&ZgY^@ ztX^+eZFoP3GC>$6KCt${3&L?w5uJlL#%>pjPO`tBpe?m9gRa_&M$B-0FqyrjV;wC@ zZT|vEEpNGY`&+M;lEIYep?~btRTV7K?&aFLhzi%vuQ==G$uev}xOZCbpRk|H78y&M zIe@XgD>u~oThT+MXBs}-WqHr?V0HS|lX-hOXLJr4imvRoWbEnHsoZ9T7Z<9+7iwX7 z@vK1+(l=EiTQ0Lzl~v<!x6nYZg3T_>-r`%CtlYXf6QwUtAAGtMA~y^@E4)VC(YPc3 zzO}LTdnzy%vOg<|HS_&3riFZ~C3`x@^8Al`W;^P$p|+TsZJWA?+QMLriYNRb1rz=% zjmM+xN#^51j~t~RKvSE2$za<iy%<LH3vuoaB2daafa4TF0NnmXYvs{jz9nB-74`8C z|Ch9%1h^J;=cek}?6=h;Lva<81AkjhQY#PIecD99od#P!Vm7Hyp#e^${yZz^OBQy_ z_FND(_jna<n=WPzuW#L?ax<17YSQO?Y`Z>i*4{H*QRL4~-K~X346N4ZgAvz}_E6%> z(G1%L2KfjJD^HIMM<Y)jA(EtP2#bG#S<=5tz8gMKW)<O9;ghxDLy{r>mgTTA;{y3g zEaRV$SWt*(5V!+b;#4}7%whGf*&AM6Hvm#eUqj6IN)E(R3pAXCUJ+&*Nh2$1oIht( z-3P6`OT*=D+m}(Z2o#YXFfgp$X7R8O@{$22x7jk)aM2PuPW^-vj&A}!)i|BQEq6yk z@dF#%x#5;rM_I(8oNFvqT=!U1#91$wZaFlX)&G`tw|Z6`6weCKEMUzTiNOJxhY|wo z+~04e^&#t(KbbqmHeuoDHK2?+w&S`F%5z<y_7gt<A9PI4b37^q3n9DwD0018W{|@3 zg0{OZ>swX<GnMFuBq;H=1es}4gHs}pSzi*1XoNy9s@znA#Q|J23z>`$8ee;HGowX& zoJo09MMac^prdB}Utaz{*B@WL{^{3G@$p~)2@Z`)#?_mug+L0vjW9d^XvxcgJmX!l zuGs71TmEL5tSZo;g_b)u3#v@Ocx8Rntz#O>ZrJmHBc1l^ic-)iuos)jqA_&(0x_=< zQ4j}nv$m^d+X7-$W%TJ2sT`HBP9xXhkRAI_*-={Mamt!g^+|1uTnC=21&G(4<*>pg z%lCYRY#ClV6E7&%)YojD-2WGBB6k$`W#yId6|rmWgOrH-g~6U>E*SsW4p_umO7eN~ zY!@)f<6(dJj8CB~?`k<#AAqnlr%`xt3NssW_wqwC{aODArnDw>bF2<4nA7>Q?yyJI zuYlPu22rmF?I{deP8TMxN#0#ttERmWANDBq+DD!f#5XG8$WxO*2o}~-vk4!t{_(T+ zW+LI`D;jD@t3jlwj`CD=JgY<_Z`aEu$F4DXMUBt<gQ4($=Zy3s)-@7Z$@h;0u*Xq0 z^bw>yi2s-MFEXFMofol(D*sBue7g+%feOo#;mX@S%)D(MRm5O<`oSBL>Nqs?RxqS) zNFh9ojE)@o=L#xp&yEiD<T#SU_5B@6P7C|*Z}OC5{hfNiWsnD%XI+)QXXF=5$Uk^1 z_sv%BRV(*TYUN(Fa&NYBZ?uwCzep+CCSAqqv)34=ZRAy{8b0QVGvYzysoF{vRm-&R z*4MoagWf5K@w-}PDU&*kOmv5rqA1i|Q)a{Hre*TY^;9P<aO|qRVwza9U3#tyw(7R? z)!|VnB?U55Z-<~iJd&dRzC9<G>yXu>Qj35Lw4wbhx2<uYH?+Y)hCvddPH@2RM;NqM zQ+q0ajjvlp)EStywBb<AlO?ua9|RHo>nT(_*{L;EAR2}N3>&c0OBypnUA3Yvw9+<@ zcT;q{YwO_UW}#RKwj(9+s%tWHW-)W_V_H)e)+NnydJ5<X5QZbGA&{f}ltI6i{qHS| zV{KRIh+#LmOw5hy@1IgVo@4ALw%Vu(EnLRIpqZW-GyUI6w8#-sejMAkNNuf!JEl>w zio3gL(QB6-;o%X*G-<CL$FZ$?8pwaCcH=<ATf-y8&BK!R^4n;=^2}(l_^TyLGKjTw zhzS_t@`Uk~Oo6`p{Gh)|O5nVAMan`EoXI&#&_@lh-}IcNiZjt@#%`0ZS%GoHWRpLY zMgDR)y#G&jU;QY+Q|kuIR<?YXMg61GZRAs8y_qkN0%9t)-XC#zE0}jk7Jpfm$-RI! z!URpGTX`L&@A33~l)icL-%aT@@lp*(_X#okWLA9{m={_8rL{ZPE%*V1WR<wo5x}>i zi)}p?F`IZ9BbwQEE0ocsykYKP%ole52G4sx6L1^B_m3G#NuYATM+4GuO$(rhMg9hp z{!^qx0l%BDa(u!hPmcA<hQl|EP+ceUTRS4pa44b>=?MUnC}p343RfPiV|N~fc((K& zW7vEw3g~ek&w59`l1?*YV;5}a<SXwI1TDkOQUJ)qKiRKBF39skok8?|oxN7-K!7?O zYxb8)u5($o*?4Pny9;?yh<s$=H^ayz)orm}rvJ&<>ZRmOJeV%ZE+@@kTtDZ_BA<#P zc-Q#gpboP|ch7`P>S^Dz)e;fJ_6A}<iZh|g?$)Tir5~wigF0HLqJU+h7fE%W&$|su z3L@cABF2?7``?t`G(*KTt<ehU-~M9QO%d!%%y+pHwMg<}5Q-*}RCEhC(P~1(&{9%B zh4xY@@t)W*h-r-r3HIpM)l>STD1p6cU&3TJWb?8gFzRoBSv7$(=)6^FqX#~GBUou% z9%u}(S;bJs9Mq@zEyw#5bd(3?%SzDQbqrsYr#Rgd=^Ohf+Hz%FT*!lw#(Ml$T4pQf zB;Q$kpNws7-b6?uuh!MAW(719Q1gyrXiB}o?S{RhkhOv6X5Zg006NZ|58MI8@Oz+- zW)VhU6e@+>8`#V%!?)S^U;s~P;^Bl5bOupvR>vqh9uXU{BQ&C{k6YhvJ7wj5H|v{+ zVo=U|O0&Pemw69q<h(Tq3_Q+7y+;skHUk+S&+dl2I4RlxuAvdd?QctrQ_M+YF6iRq z!!s|sIK7=!wz*Uo0<CL_LIIZ2fyAG)B0o}_m4ChR<o?wVudc@9-p^1ZN}ySWs_~U8 zV+9$syoSz)+pcl#Z<`79KcH62$4Tm}@q?+e`qV8$KO?YK&aU|=s+lYbzMuUQ^g$d4 zPzGzUy>5$GxG3hJ?91?=EU(t3<RqjI_V({do-Uzw(=x|Y!++GR`~+OkHw*RW$#O}< z8ZjMYv1(}%jfu<zt4Xyw-zJsBPzqm82od^`U$n|Bk(q<9F0o!{##Sszo18+1pz{Sr z5d|JF<!k1-9u+l&5tDa&4T<b;1hBNS;)V&D6{=g_M`s36qypI}XeT>m%>X9#<>tC! z-K<z6Z4n8!43fg0(t<7R4x=5HL3K~Dwrg-}qlfjFJZ_D@JN7!Pr#ZCP{oV7Av#Xqc z$g%buY_TtV)CACtcMY6BC!O$(tgtI4Thx)}|4|1|z`nAmBW6WJm#UDGzQw$FAOdo1 zR-h3%sKU}(PNs3Y(j7&n5pEq6%FsOw@IMN;WC)@<nbDFv3I>5Te%zzzyAAxCQAdY- zt&!ciV)1~>MBXhigGAo|dNNW+QeK2%Oj&$vhF4a!GYt)`?l+mFE^cmMiV<ysFCuS` zh%XElE3rVl{xjmuQ`jTsEKZg7mr9Mc*Wc&ET{GH5_}A5+MpqSm60#Z-W4%;|G`^V> zPg>B3%yg7uz=Afwvo1!D%-N})<X&^SMKXK3EgfVw4e2^)4ZG@*@gh-=-cs4=yV9#} z6O2tsnJVeY@`vq2`5*I{5X<Bd@HBi>BHNqHbyhhY{LtbfW7<+Sor%Knd|g(MLD<tt z%eYf?3qaFQZZtO-1KwyZigtjzofcqpe(!<cD|;0~8OlxbdUus4QJ4xg0F4BW1tIl& zkIS%uDqbh6-YsCw-Nkr+X>Y}kN}in0HAqcnkGt{+14y7$HVq#*nkNH5^H%z+Adv*c zE<7GZFvwU~+3`y03bi$@U@^DlYZ<xT%{#eC6}8yPcBl@07|Md-mb*#Ji~PZpO##C# z&@_KA3@)3t!Q&@d6;pBoW0sHjgz+Ir_UV#_eR~xMA9j$$&gvtKjKykL3#)$er)l7a z@tn-V!=8!@U;PBIx5=!FdHCBl+pThMfj{U{f-v%Sfxo6N3Vebb0y>&?KT`FJhX*1B zsYOuqiDt|wKYi!!9&tQvK04!f9znd?V94=pC)6!29n>wmK4Y&$P_<XW$1jY8W;py- z2M2yE%9$x@(AtSiFC7-t5gKSf>i3hq7;cjuK2F7V*1&D^FZeo<xtQ(rs)XXwalB~> zzSRyxj*0kP@?D7bvjK`ISP^crd^G4FF5AA(K~1H;(6x>hSy_QB#a+<@ucIdn#%Xyl zMVKAyJltvv`UiUr+A5~h4tR^~J4?rA)!aUPXf6puU2>9D*grOX5M{`dke9)q+vMRX zez72Fq*otbyE~vf^<Y>F5Ks9Hbmj(Q;G@Q%vvvqsl~@CZ&yw=Ra~LYv2CaKs9q;5x zSr*@L=JQ|V_;y=-qf8_p;Nutg&4q$pn%i&R!4|Pcu4vfWOT|W2=S`Z`MJbKCEi?`_ zrj`ev7+q*fkFTA<@IMS*yjqvIYA)|PuWmu9$4~~a*<_spHb|Xny}}ier5y|g0@JiF zQ8DY*zdOQzDGols1nB4q(W#3LgT4eiF!>Cv8YLKYy^~<zsHy{lhIR0bXa{s+f*bj( ze&+*7po(>Hd)IlMbnp=Xm{@hasz!&0w*?0Osw%p*uKQU5lX+ep>Ix2dgNK2*vx<Z3 z*)qw$1TT;ru!pb9HTRqZ(!W4t?vgK{cEXMv2$s}@A_!O3fgUZg8%R$(e@BYGl&t~; zh&=~l_qE=Np(9Y1WD8hB7UZaC_KFK4;+@rte_-Y7Wt#u32JQqRB>6oN0+)4*7%)PP z7XS`hqfzlhLkFjCMZTH34)WN9M4hB~3bUKP$#<qBotyAgLy&=>r<sL6<H<|P8Q{fa zB7`zMs-`oA%C{2PM7j9jv`|G}GcJ!&fcr`wI(X@lxPe($ZXvTvCdHa84g#qo1QL0a zX4OAXHmSw`F3m=(C2UwbVlux>(~h3b236AZrAbx2rFmh_bxUMD>eOK=1m5Myb~eRr zxOMm#aRKID3rqRc?tiIy#=Im4-GS)i)Mw`BJkh)y;ukB3VWSsm5ItnV2GVGFQul!z zY{@Spru{^np7gVH%P(a#$(tvtx<M{tjCS#a%ivZETcJCMqj)U;Yn?6o2ETC*uXP;; z`+BNEwaVgFUvqW8!kR7J#5py?ZTs7-_Mceu-6cP$v{+#0EkBIhB103f!dHfq0F4jc zgD$sBRxTS!9l&Z<94Vr~Lz(@Kho#Gxv`4W0mE|7X2TSks<Sv_=Al0U>_5ET|sa7o; zkwK(h<kJm3F*`B|Q2BlSk}L|^Z7zs#i^4tZ$IEYo{R34v=df4MI*x^>)0LSDY@W07 zANmz3ncm{x!cCTRgMX)O?H_OP@5bX&k2T4+&brN?+2YX_2T!XS&AW8PpNrMMsouI+ ziE2gkl@Auvs%zY)?T2B`AraZ%uayM}U_urpuiwA=^_MsAK3~86`0_vK$Gi8h-{7fu zT$8~FUA__qpx-A;_IG<;nD?Gp_3`u1^c|2wtR75r=8}9o4T%=e(`xkVk=(q>tw~iU zr{9i-U%#m*6bVUn>Q7&BP}a*JZg=1#f~Fa2O1MTx)^k*r4ULs1uaCV$7pVoqn6H3W zfCoWA{5UqW>$(D=@Hx9<upD=rO9=Xr875HSNT-J+JDbm~2^^KJY=LSf>;`P(S$?aR zRdYO6Avt2-gYzpkDP$y*?(9*N?S%KuB|=<I%lhL79^{8|gG7@yt;()*vk8JoTheNa zOaiFApaGO=n1LRg#cmpHz&6*AbtZ120-1qYfDcnn`LpvJlz&!y|HRK*+w!X%96^aL zOMko{J;*g<c|Rg`H^BRPq{CGJ{{&_t-^5-8{BOYDuhrAat^p}_#pkM-OcV1;%uf+s zgI<tBT*PrD=W4tI*IgBF$=V<y8lK~D@~-gNa*&YStS{4|;UL^>2AD?>)y^a;=ef3# zIDjCoP#Hltqht`&vbxf)O6K@zR2GRXe<Rb6lrD1-qc!s2Vk42lyHzq@e``-c!|qP< z_Ga_29ZSQr40e5}YdP!~ws6TLo5s!Dkm^>LHR{sEGrOcc@%UiFwzjn&Hdb`LL6pc^ z!7wI<f&be~y{ov;KU->z>u5)<ab`RM?XlZ&Rudt;Elp2a3Yel#;baMpIH1FtAbNBL z$AP|72_i>8#lc`@r=poUC64WwEk5-@Qu+ECGQ2~F<t5Hb0(#b~P<pkr<`?QpC|xup zBM2UkKopCIM8zwjIrRem(Dah8Kua%tNQdsgzkFhWdTg{Wm&>kvLerytM9m?J3iJ&^ z-{)J|HvWm0@XZ^8f1^@6$}x^xPvTe|2;|WL+Q`Lm>`7#!<w30+per3kfLX1o@>Nv! zY?28PspMK10**#C8d+7zGD_Mj;c_nwqsNvc-ALK1qDPQ2JO_3yTe{Aqw~QXc(X3Rn zde!4gOaqE6zwFTp#vKuGM=JCZuj1j%Wa%gOgsD9Ch+uT<H`dp_US6eT;m)aV&ssD& zv}!XK+o#v3WkdJ}C5&mS)FL*<wHmWqp_GVeiOH`)-OMX8gpFD$6OpD7NxdQp_{dZD zW!>Mne)P1eO)^DX2Z@Br5e3Am0T~Ti)ilCJM1>r7r#%gaI-XDo67kk%lc;*C@La|M zW6<)8EBW@a@&qsA3;;PupYjUWev(f|^@L5MoA_49*-3fDM)@>a#6dyl0>MEMt*H6Q zV%lpk1SF2zbc6sVEfk-^47=$iJu$<i3(Eib*<}s$m>RKW*j{aoz4h>PbB44|PHO_T z&pBgWJz=6edA)4(OGoX%n41}iwyt!<f^V^~NMA?Yhn$ZOug@k7)`%fJD8OgNMQK;~ zhQT*q)9f0lyM+*{IDMKO@gDa9e=1Wv`9qwX!GzYQ9Hey%jd&pReX+~a=S5O0Fabh| zFB<?}LMY<R65G*^h$_^(S7m`mye~_ZI5S(0iCS(45v@7lfsvy0fG%H;)KFnK6{{q6 z+9}EvjjmYc<d8IjFXZ7f0X$G?1*XXpEK5P!A)qD?_CY0=%I?vo5T`g+Tp_dOGe3Fc zV<^-)M-1>B+vsVH38DR@);PhK=^^=evvSSZ*-bHu%<}F0*Sp->w$<xD(D+j*FdfS+ zj5_Pq&PwRuza(9lTn(z{%W-vZz!{{Bjm>3(d%@dDH4V#2GL7*U{2kwN-;6Tc-cANn zl0mnVA^kXrbGc^SPL3q(n11w3*vXVjn%l`4|Ai%a$dud3sREw!Up)!jX8gJi*U9V( z_nITn3v^n|(`wa)8(4z}&_&%_+0zB}XROvR^Ne0DV2XJA`wM$Di^+C>;jVm$LilhK zFUB*FCSNFM)hgcWW{nE)bOQvVrw%+p3Dx+SXl*ttto&xPSwxHeT#GGZ%`t>ocL7ts z;Hy>|TLpSI<`*{BP0=j|4@J}c{S_KPLodPz6Rf-l<b9Lpt~aJ(v}18X=0ye3kVnBz zp{A$UPuc~=4N-egLdSUH39<Ov0(yHfZpQZJL7!FhzOi<&8i~YC|ESs>wc6X1vMeiB z3>2VHMF`x5o{VhKKMUO^ab`TyWKT5p)EJeIMe7UJ6*qOA*TLAj@%6KVb>+)(89n&T z;ve-i=EV*3Eba%&U8_weIP$ptY`MjOic9yZO)IWzQSZlOAr82F*9s!Y2xgSV&K5dd zBST05j`2pOwT3;%2iJBJQOXvY4>Vmy(7SNO@|MbDycnD>i;A^o81g$_uTLV+BaQGC zf_sJvh*)hl4KI~lp8MRz${G^O7##=z3NOD};a4|;%5&`_7TFYc{d~k(rl36RKG?Ei zPq~U12ZKtSnJfHWuS>dn-`^kX#VVATpo)Q$h=%Y|aE!WW(mVx8qV+jOt5|yd<aBoF z#^5le-1e)(P5ZN1Xs2`DV^bh%dPMLH;!r}exp~?2m>U}!1n>p-{+A?AZdge*#|>PB z2&v-9RCEi?Jnz<b{~Zqp!b|pA$``Q<;aJP2{sVfvE*beCciT2DQBWr!o;Yz;CMZEJ z;y(+?(&f1XX8EgRg*C%IWB$eHe1uM`JL(W#Bu*{l$npnjk?{uHdW2VrQ`0tjgz{!! zMt;7wp4YHcK2nS>haK`ex8LsQC=YLU)Y|;J{7Z>E>vXH(_tog__L3ZkG*VJgG$ODj zW|qyyl4)Z`4s^CG=4qi_a2&Gu@k}Zbd2~HPTM<Fcm-SC*BlNj=3*D^S;<BrGFkxKb zmpZ%+6{>G<C<C_ZawU~Z<Z{J*dw)b{8DJEF3+y2i&<D$2FWT#}7jYTd+hQ3fch0Re zMXCQ*&VO=hhTP?u(qJ_H8_<0o%MbzAq@k#?b(Di}eqN5lMn@Z6KNwCUc5pCmbS<v& z00Sn;`|=~LHKKZZRS}ZvN=77*y_U|%rCF4`#dM}e2S)jwGp^CUhzFrP4O#~sec#DY zK}L_8fB8``wKz6w8E4NZ_kcw1aPcun8lxlwMshgE`w<3Vz#uAIfi;c^jAI0xW4Xgx zc#ZvdWevQxMJu;p^xw##g>dOFqk(cpb7&|72>h9`><v*FP)oVnYE6LzJZ++hoi$CG zu8%Eq*NRbV&Ih-~|8Dcl6_c(xRS7NbxBH8rcGLG!udvQ=$#imnq*ZKp*W9+pq}TBg zrR5Gs#v<DzH2OzY-x@QcE4@SAH9$G`I_cuz^LLtjHt+X@F5#AtO7b4#u_k5nm5Hie zSx`&SksjQ!9oGj3u9&N*{clFMkU~5jhMO%kRuGBhQ#im+Jm@g0&`prPUjq=){w{$$ z4wVs@!K_xV!giJ>Oj~E9WVtb^^kU897LZ+L4d-Ulrq;s-gl7Q?!giu0`?fMv#$<SL zWaEH-ILu)d3{_={A}70YH%1v%9~_06x<BO~U>?~^Q4Fj*(WV%jXPC(**kNRj>pQM) ziH(q?B*JJHWh$X<WNb{tTJ2g*6uVCR06ew{x%8`DeV02^+uG|NYTi|SoeG5-`$wwm z?h5Rt-1kV02Ehg!v<fr8a0RTI2jP{8(wl0IYQdkbu})?|X!r7SGJ`6~6Wh16dfmYG zSU*{QgQ@Z!t(CAo<8!-9si)XJk0|er-C66=4i^GaCaSGMgt7hZc+WQ*_45<?*cK%v z6~F)DNv%AIg(r<W**bu+Wmb;NgAOOv-`R2n9mlxxK<gQ%;qilyEn(_e5@`+_XFP&3 zi_th-iFsX=^^f-eCSlOUxV`94pxX95IaG5ed0>Vt2Wb>_xa)D$LEqB^wm4CTdtF7H zf-JC!1!b90URZv+0W_(A$ppQLrcnp0k-xJA?&hP;L<VGlw23&>dn253rszG8RkEL6 zwD}o^>KcHM??lso<9Nv?;-EJSrs3a|%YRn=S5{>+5s2kFSGS3hcJ4Wir#U%D%z17~ zHX5KAog6>07SvLl)3W9pPG^3hcvbe$d%_<2&ChR?6*OKxH@YO_whe_=&Xfk;>}j_| z6RhOLV4T2S0BI=hQmAYW+OTqt!&RwIHcsfCab=3(k^=c*bW=`-l=G$*O_Yf?oSO|~ zCZ|adjcRErU}-6y=W=N&<fVu-Sn#rbJ}E$vfeiuPTvT$U%;?oIK@HEW5=*8Snt(eP z^Ru+CSSVXk$Z}=#SxZA^T9MnA@8}OyMe@~}tzJY0HIM<HAE`A}j4G+UbCxZ;6arTc zu_FW+M!TKk^Fy#rR>pQMnM!@pD-;`6-mp)0<|N7xeGkZCUOBcU3Nq~}j65cP%kA`S zQvHlKE>P2ZGy?*qVgN%6|Abei&@}tiZHCSe;Yg$~l_HTY(HMN5)YLu(y>hB`5H#p0 z?Ab&|@a2)j*jJbU*%n?zmHdJ#xk_G?qw+-p+k4Mx;$v44=EBz=tw-KNwB9YW+(j6k zH~cWysYE8KYRr(UEv`AH(ri^`0=#&kuM@hIaZRkv^(QZ05mxVW&~QLmc|ykb>$=KP zp<uQKtz8xsg_TY!<)AP9_)1p6qRq9u_xUTji)eM;)9Otl9;{G=eePcEiVk`^@sLS$ z{ouMh8FxnfoDq-(A<m<;Vr?J!_x33VodUtW_e7GTf#TIIX5!bpND2G@yJqFR)P1@E zImJ?$DXxU%3um;Tg}7>Fm%7w<wIz8$gUovGxgJx|OpP#=*FvS`XKzwy8DMhge`}&A z@3BD-bpZOx;rhC?t{~vsU?n#*Ki2pJU8WPCfBD)@9y5tK=<%`=AWb&Z_UVh)*AnZt zS<yQ8RV5m3AmR|{X;(_6ahX)w*GP(Q?ekB;2mIcr$q2C3eI*1OM#YS*D@Eg@<#uv+ z`PMtj-NlAd5;qUExJ#{dl_2GF5V7cie~?lPt%rT-wpG&QI$nWxJqQe31W>)sK_+Es zQZqTPD$g|fqcZ~Jn8DzqwtF&yDqPJ(6_!?n59N`UVy;1%5TQs3$nJ|)5sR8LjvM_% zC~e|!-4h-~WQh11wStts>r+eS4Ak{z{tk9hyKYbg%CzZrR^tW*traY8CZR7*)J*Qn zdPNcO1r2&u>_(&Z$)Ac%>D}~*H!CXto+!edSh!mp55!RT;gZ~q!PF=`BJHioAOx&A zoVK)SoY7y4%leND>MP%Kt*kk78f$=EZR6%oAT27Fc9Rs;TfS~#I2Xah%(Lp&lg&`C z_V@iah|14Yt@VnBRZ4%hT$kOjZAIhJROy@^V7myx5jBa`)rCmQdZZA~Lxq}kHHva= zm#ae>eV;bq5w*fzz-_7pOP?GvC6qXl4T9)j$BdR4X~|&CY=a{WZfHSP+ls_Ss`0*# zFja5#MZc!wFUKF+X&2IgBI)BudMUcohUAZR?oV{ArBl0clSlE+p|d_u5*nO4ZRKsz z!kui~IB4fYHI;Nj1M}={q?~I^?N)$9W2croHt)lvu=CxpVUE2x_T07YzAq5e@@@O1 zr4xZ3J^7cTU|j%tLKTP`hH-C*a#P1`N4@ikZg+~+2Pm7|B&Juo)hD^4S;K>;8&+pw zue+<Od@H=Glb@|HZEal?!^icsx2WL#Z0d5A@_`ZOE6^yO8(p=kgrhc<5Z#Tg+JK|h z`l13vAqAoaidP|g4YXZc{@6k~E@Co<-fVKQ&}|Ehwu?q~s3gDUDzkseRKCIEgQU0F zj~GZ=LS4<Kb~TU|c0P{AuI!IBA`YmVI=xm4%+-e+O<EbiA1J{yQ0nlxIlA`6xV_~c zw{I@^v0vK`gH4z+KcK18rt@1Q6B?;cZ|k~yOT*koL@RHwgNz_<RU=<e+qFr3tS+hO z(BSyk#bX1(ch*nbSR1ZwV`Go~WUEW_q=Sjr%HcNjU-0>ZB^%L|tU|<?IL=<E=WKMk z%WU%<lMgnSRocg?iGI)l1J5~!fgmT!dqoQCh|>nyhnzCJ68oOjEu~F}w=iv?Jxw&Y z+v!2<OVryz2hgWB;>kmfj3ol)o2^E<l+jzf!S~_)@5Tt4un{ubbnuxMtNRanIQ7Ff z`0l#0S3q~6Jj^EbG|sst0_e^;6GLvkmcy5phpc*q8Srq$y?Qm<>*i4wMmaYNd1?3K zBg2TEnfZPkASEvId>wBE^y$=ie?O2F1+bn0rxc4$dv<wCq%HNXza^!PP;j&82B^L& ztYJ?sVnD9eb?0wRrGLX9j-X(5pwatcU3RofOy_TUKK)Hx4pYcS3?&KK3$B{s&#dkT zA(uY|F6>2|UHQ5&$)+P;dPK4DaF>pMyG6L!Kpm4}8b(E^%zvT;4S?bTUBVJ!n<8pL zIS`s3{aqu6H$gz>&4v#gDIXoGElcICQ9i-1>A1Y=mVLoCfR#v=x0agQ@Satbl7ipi zsxo4*lE^C9mf95;viRIX)Wq4x#4x|`#!XpRwRTf<Pu;=t=^`4$%T;|FxZ|w}Ep4HR zk85;vwQsSmRcud{&6u&dd>&~+roXv<luHk6O#_Qln2e5u8*z&zHtVAZAv4heM#e&q z7ftw91;pJ$5*K}i9$n(9$+jmaTOw9gP_q)<Xr0|LJe%y}Z0aVkY|qjD1N+14rvMNI zZYOd61+ORuY2Cr>Fz32K#1V~xupfZb+9vz^87KWiZsI&DB97sRMQUD*5?FYNKde^7 zVb(z~($$0N*IA&a*j^BtcjWwdtohEDAwV-c$K+;pxnoHe@a;UTUVF&ZQ$1ygAQZ(B zBpYh-+&j-`dA_^N!8p^+Wzbv>a-nb0M7y&PjMGPRa$6l5N3nlGuP0L&8W=^HrNcJo z5g;w>{e)siyO7xY(2Jc&nB-G+)~34PWC){_VS2|+w?Y$m=9I9F9`HC=*z@LMz|WSD zmOVv`9v{je%A$wadPZA-z2R0yFjEM`wPUVPo8}rd$P0tOh#uD3^p&ysuB**p4T`kU zAo|0dupEB2^5(@e;F<$-ia2FHlLo{M-2}i!anaZXf)F;;;vEuFtH*w&HF~0yojy%G zKcWkN&hGRRr@Nz@KBU6iY;-yR8Ij<L<S3Z0XW6_rW4~vt><;=TQD*@E*FTCn!!U>z z*>Xw#=eInRgCm^D;D9i|mvTJo8y*Std5+K;ER||254=0bxiSO%9yi}$Rav)D#qctX zoOZ>+d~fS<rJ-J8EGcz>IGO~`xnVGk6!d+WVTiX$a98~P*-nJTz$qxwL0?5}2DttX z4R2xldp8~5q4*VXQ9!LN$MOSuS^8ZhJ!`i%NlBs^mveJe98&y;;XizzH{LS>H-My* zU-%v)kD{5AWt*XyDkExf6xfIj7xJiW7^zK}imQ6Hm;eEg+{XiTZJxfi5|EdyBjW1} zpIH~Lte3UQsFJH#Ui3@WRe5j?Ky!$XuxROAGMFYdgJyHGA<pb^fUAE}+NtvC-}t-k zQ)!q|z~cOxt)OCb>+J?V@e`X4=gtn9U{=5oM}y&6Z*bfj9Ki?L{=F&70;u_Y&Q?6g z{Ws`;XNCf@EWYJZ?*>f*-RM-)MVEm<ETzVT*0#B%IzIJR^f?`APDVvvQHBRF0Ch-= zuTq9kE3V!p?_jaHQm+QWCWT82@tm)mI%p?|%aZ?rQs5pDp%FQP5}N!}0BExbBw_%_ zLJC3Z;zjucYFM4Lf*f;YWr@*Kq04xT`%Qb!P);MG8g!leb9-)+Z+HQ8!@+E5<Yo`G z5_4}B3$$dU5${_y(72!UhQr>`1$_Jp+TBY_tCBhOa4U3>PSo;t8;*>DWKp5nAu(cR zHzqEbH*x~j;gy!}gY8Iv)cBIDt`N<SGyNI}C>~HPE3-N8-sgg|1uE9WiUw=0QKCe& zUzd{u13uI*hA@oyD|<1#GE53fL;4iFtSWi@tbW!V_Oej?n;jfKWAZnAW%w@!Br2cB z1GxuK#<}&2!BrBo!+Nv_jGUo`A}IR#A#CxJXC)PT5f7z3sw$Q}A6`{)H}4I@!)^xu zj)uenH9m6I1qdTZ4gZGG@Su9uE#c=@3d1!>pLskSub<DyG5|<-eJ~FXkD_H<P@tRz zDRe5nPT5<A&xfpcDrGFvG{;=a=jGKpUX14PV(Y-Rn&fjX#6<>oWyL-U5H}po<Kdxn z2<>JEF?*JWz3hkFsF7SezreotORHaOntg>G4y{pP^u=9qmAnjs9YDF3wC14M7?2<W zX&aJI?4Yz$va?$s1o%t`?uL>Mm%60dz}^U|CgB}~o)u{+S2`i?F&K)-^<AL#uFt-+ zdAAn(0Rdh2d5{bK{+zI|9ftk8WYy*N;GqoQ^<GsVdFyH}@^rJw5Viyl6)tL{H_=^| zrb{+@8DTVn58FvLIhszx(LX^M*ldhN=hldYr5NZA5)W%jlo&Je&L~2`sFf7qX09O7 z)LM$c!4>$K3DNbXa+cz@9+U|f9!Z-|g2A#rE%OH$X-Y2fY7CyMz*Hg|$cn31BlaS8 z0SD-wd-ZzsRyV$q;ssZ~>RTqZ=5svgdNmR<5QzZ$=CnfAfmMc<LHG&1BkhNBza7az z>6JX?wJZ;;<1Jnr#Xrg7WFMswyfzW!%X4Yk7S~s3@c#-I=>u5vM(}TbSew%PM%N(2 zX(cgQcMJ~)SL}!3sQy8DY2qrKfJ}uyulZ<-K`kj-L|niePCx)eiLQUvl+aM%_5MB+ zZNUGd%!{)t8j!`ZfO!ToVmPwCb&X#oM~Is|nzll@;vQT9Uec8nx0aV@ZEPGQOJJ}Z z-<XgYV(#x+9w63+j#lmwav%tPINC#xhAseQA$b5Ib0ZzDvJos48p(SbNy)`g86!_+ zq%lzlGr@c`>p6eNWoQgGKktmMkxRu)p;CITz`z-wq_?8s`AxTIr29(BS}~IBtm|Y* zfG47L{1sc5N=*dGTE@6KYj+(|e5h}+o){a+;u~b{4e8tDR1A`R1Nz}-Mca)UqD^zK z%p%`oU%0;QI5&ekpaJ7A3<aQRv!C(J!6dj24jAm}r0Pu?l{!Y?pZ#mDRR4rJ^`wzo zf>C9WPBEW#f%d9GyBdBpAw#dk<buRslYMDHycIfi=>r6LZQKChW#Md{Ez@7|%5Zs) z&!kHjT^*u{wJG0SGj0<`+uaT^ao2PX<%EZ&o6%Wi9m;4GWW8b6M~S>5DZssTNuaJy zWp`?n>AX^$ZQcq=rB{_vHrHZ3qcHCPwWpF;(7RIC1*P-(AZ*th0=szUZe7*5^-4gQ z$a^`vp~pWvT%p$Q8jm``0Uu^}ijNzeu`}pyIfy$Qw4q`&6~9?KESw!r?ysyv_0;Mo zzApxqIvw?NO6}P+2T9~yCKBnQ3sPM9nNsc0bhWC0TdxEN1|@N)Yjw8l%Py+3#+%HF zce!?`IhWVt@-3x03|IYmW~;p9f1K>P0uLWmtvpn1x3plriHFh4xPKabfDOt&;|IJN z9Id<kqtmEAjPMVvw@4D!%klsrCr8mB8tUX?U1RzHQv0VDW_AhUMI;cmva25Hx4~%M z9Y$|t8rOAs;!Bx`fzc@C1N7|+ziIgx2fzIW8?4^dZ@;Anzx~$7zt1-K*~gR+p+WSH z4nRJ#n>XKAUF)p!x8J(K!N&vGbi4ol_FD*R*8BJn8?S!rVlz}@^(?~Qg!hJHx&hn} z@LPBoeFEye0#d$?kD|Bn@wo2OWuURd;DXf0=kR!1TtqFq=QxS{ixiqGwXHYttqJ={ zj`D}HxWPxt<9ieQ;TFaxPR(ZC@I$Tz2D!#}BHlQ2W!s&HQTySbvCpJi_{G%%b||n6 zZ#HaXo%iVz31L`Cnw{Knpb^kd;`k*<^qn<5QqjzzZ9p-Lc?5?_T*>X3uuZ9QW5^1+ zDGVRh`c#$K5l0JoLW)<*(IS>P=hJZs|HN5$P8)5yk1MePPJyj?5Le6Vq>1~s1zxA^ zb@BH^i5eL+I|}H+9s0zAsfu$%ho|<Pc#e1Cc}(|2%JDKP;#>#e8H|(X1>KBeP}QjH z^EOm~Zp7uP7OAM%7gxhka@Z|;VhST>89ma}E&JjWv=%=?6H}E*C81&@e}gKGhgCTe zlc~_H>P1=fP3_v8rA|*dZapS`Y{Q6|r(4Xk*93A43#U)_ce7%-zt8`QMY(_t5T~Tl zKKqNZxPx8J#L0+PcP!?aF$;QHJC+FyM}fr!f{fcpMw@=u!#6X}#_1k|sR-G4QGv_1 z7#i57sIKkB1^q5$gb~p5_p<73mII>j;a^t%liic&eTUa*EG|?@06aj$zts=;jX9pY z6)%Q=u#y?8zcB{eOnPN>*bn4vz&>ccklnzy90S^P2FZNBz9S)o3A|Z;|MdF(FK^^| zcmLh{&)1)R{qW)a$IowGU%&bIF(Nym;9XIFlJBh&l0kF_;w`xW7&Ow6ZPV#GKmAef zvj$rtamhgH%yGwA_<Jo6=~X{E_-Z1ozQsX+J*AEov78~erECaN7?)81CC0EJ#^*m2 zzssk;GQrZQr^$)Qz29^W-T>ur?jXV_+u|;GZvgYW2iso}WjJd@8D7WPq?(Er#)_rZ zG%oAs$?k!#FqQ*R5%%^K!`E)bQ@8hmC;A=q2}dQdTCsVykm<x=NxbIN%Fzo>?n7hR zQ{$6e-e((mc@dm|e>{(e*xk*h@t}|DFc$*Zr0xx;25HT2JUFOd4EOhC-hq`<eZ>Pk zml-VUxtTR8<Keh`UXM#{n37G(CWQ-qahO1n<aya++)Qc04ieQ?egN_|51)bDg$&`C z#U(UYkY_mzGCzYhUv-}Z`s1fNV0?ViLZwJ|3oG#x`U;x~ANh;6W)k;@!XsQOSzTG` zq*u#qWhY=j;$Rx_7d;R``ti9~aY&>SD0YIGz#pBE3G}j+U5JwGVw7YT<gZ=XC3%`% zl&9Hc@s%dKB&OKqFol<r-Q+c?&iX2DN5G~SeYKO#Llj?kbvI<an4+rHJ=on#yNZuV znyo7nH_XFR&0!=Qon($=JH)6-HAm60C+*|h#tk;s=%znu<1rr>+Qs=ZZ<C!&>Ko}M zc_qs%mh3xJh=2YAq%GvZpPz2aEdL@tegpxJgjis>O~?v=-X?e15^cxuL(F0NDbUB? z|Aj8AG-vVaA56SHgUf_?-exMFo5N>S!~=7X!+1(gef=n3#?jBiL2==e3+2Tx$#>#Y zq9Z<KpI5LPqm9TU5Wjf4;zKqpK2^)&n>W3U)-Bge?>=?u(elyZ;kR$!`rnTGMR{{L zyu7?T{C->CEukj5hl=Jg?)~#oFvJI(?ijG!-6%K~uQ|=XjDk~oTV??=)*Z^xJaUFo zrDz^dNs><>L5|nxA^85iSAkxz3`W7(;0HiUf1jViH+_tPi_0H0b{HK#h?W>=8a|Fh zG5UsL!&9E1Q;snIHqs0*df?i~C^#7m@ae{73eCaKZDbA-V2VMXKHVlMK4^_+y(4^Q zrX&BKc2_)NHWbCTn_9CrvTtz*T;%xVz~_RL<+tcsSD1TFrDep4v%Qpirw6RYyjPE{ zhegc0l&b(*25P`80-Xr;nb%MN^dkAQo2jF4@>l)^=ylsAOF#ZIJU9l;x|=+&@MxLz z^UcOK>ih?rbqu3cJdrsFxMtW%6_TVBlfec$i*>#g<rmaPVapO6V9093hFkwbn?WB^ zbJ*D6J`(h~A)e~i{nXQC*4|}`8Dv`^$lQj8$F)1AP|gd`>+%~`Y9*Otv$e;Al*P6n z)#8qp$s4K1@^vRujJGpGH!mLAwL3#!ShB9z2;V_`Kz6fA))m{x`v&tQd&4d9Hrxns zLx(cFh_ppDuOOP{D7EnhZvuqpI1Iuq?C|zxVkfz^jG^!{!al~(IwI_@xe01*nxNYD zg=kA+?C|z5maN=D@DIIj+KY4b8j9GSV|l593hO&c;=hH}9;U!fayusTF#HGOIY#(H z?Yk}OZ#8IaQqTr;um|)|%I;<}#P39VVF|#$b>H>@1}{sNoiB||hp~0rHgD=nZ3Azd zv6N&W7;4K^)XwE;h>m8P=!jzpEHlZ$Fv9a5wN-)@p_r`I*D{_*xA9^O41)~2<eM(| z!ayhMxC-$eFIM#*LFz4DOGd*uo|AdV8nWcV-kbY`m7qT^Bl`Wh7~Mw1#o|$Q6B7n% zxJ+F;Odt>FM&4t)E>$BBY*y01v5e@2j#aVbMn32($w5Dv>D@A-^2A#awar~lwrV$< z?>xORI@Dw47jEXZOs)^yK#HGmy6z1{>{~A|Iy1<4JPE1dva9bn&DFs;K*_>t$CfjD z0gb33+26-$EJkJPksWGkX1(0(6dk^)v2tL*e|Ww&80CHE61F@nVAm&YN1|Mf1^l#z ziF^)(bBZNelJKcQ1)Z<wOO})r-yHXt^C-2Cb(>;N4W~Fb=^pmF{qXQ6@{T$_3HR#? zI`Ar~@bQVpp)Ay2;c;L^27Dl$@CTn46M#=GYetEXWrm)aX6U?9;1_gX3C+X7%ruk8 z#)rMbe$A@7i}r+juC?CZ?^m}hr^Q>+zk`y?G|oIa5=MG+04%Y8wizZjBZK-w46d1> zOar2qFbMh!?Jm?OkNR82>q#;-$^fIF6$nq(M-lV5L>8J%M-@Mo9*jY<ES}FLITli+ zfv}n^rXa@A3F%gS@HhXI5$AG$U;V!21@Cy?;k3JqZYlR22c$9UTe3m$E8WK2d8VIf zSX5t?c)DC)6{8eANVi&;+m&`f3jhtscPa#B%WWu+L$)|!(p0-r{T(!}B`f1%%+I_Y zoYRR>U@E6k^SlJK*&jNnST{D<Xyi^RiP-k|x3DArD00ir*8}AmINymlyKjGsdJ|$6 z(z{=ODPyBz7W;&6#h?NIkxrBQV1Gr{*5B%nz5RDVcH4Aj!tbb~`7&FL0=%&8LXoIr z{SyM5BQpb;1Dj;ErxM#EW4FV1Ir3F^UO7FzrGD47(Pe2kr1!{jmu2pPML+aT*h=6B z6=n*aImqwte>Y#4kK`lA>RY`MFAB()<@u+4Zz~w~p<Cvj8#H}dFjcBh3q(0{YsU$0 z?XE>OV~1_0n0?Y)c9Bq;#I5SG_`+T%)op?sJJ~OtT$p&_9uqI@ax+2fBwM$e^eUlf zPP<$LLF7DcNEPbXtE1p6j{_Tsmpw%lumwvS48Q~Sh%6{lyjl?LO&?h$)df$xIS|9+ zdQ*om<1x2f+L8kbs9R&DZC%$zoh;RzFB9gF*#T4Ll%!cnO^K^khE|1ZVw4EY7xZ4} zjo%)s2=Va5r=#JbvM}Ae=1^^=v0U`8*DDN4;j{bV`dEzmFy6{;qXl}+f=1$2NOvIw zzD=r6&=vkdu&+)G8&XqN@i<pTzb#6wodnF0rJ(vRd`b`oKcEH9*?X(_`;%HR3;I03 znm>(m+_pP?Ax7CzCV-7iH?>bb#O-AxthwAjJGJu-P!Jey9$7z2$qo{K;N!x|ca_Y+ zV90I$5GKpi!_Y;jdD9=|Ev`Tq`PfNQ7Qke%pN9wR88_aZ@c^oJ=|-X|o<HxOUezPU z&pEil6RU{HcI@HE<E<z{2m}5YLmGFx*jE)tcuV`);Fql8!Q#`7rFz4L^oEWyDt_WK z3J%z|ww0IIk`H;)?7q~KpqmN%1k%AhvIX`|7@i}aGk)g_9pdBM$VhLzaJCmQ<%|=Q zn2ASV#Q0O1u!|(S%RqWj@>fQ<AEgRRrlU{lBvHB5q8pV`<)&|LY(mcw^k06y{`~Ue zf4upu@%mIJcdHnW#6S>zgB=41Vs*q8H$tG`qn<&;!$@T+7-NPC>UEZCV=jw&E;$bl zq(i<zE9o4j4wKA~rgRjgJLdNw%g{@K2(9BmO1J5^%S1<sRL-(S3p_<Avc|)5+$2<v zB(x!9x@|DZC2m(n{sdAi4J3?ieqi(pHAN*g2yNNo@<>6j!hUUrB{Dnye6YVikkJK= zHm;t6Dmu_SC7)Y)*dVr!i7zUW*0d(=RrFDNkeDGGwL7nV>xQE9fWq<RmBwJ?EERik zgUZ^)*<dgk^O4(bR1|!2uO(}P$zBWuRjp-gqz2p=Gi4WS)YvcsMDw*x8+V9Dj9n<V zbu?>5)5`duj<mHSJ~PKEZoO*Foy~?{yE~IiN3d1XPV`fbi_u=MK5SAZ+{NTg*q-rh z7E;0bFebQ|@QT0=6TsLbOdQ<2&Tt!=YSV1_-Xx8K>Y6(W3cx9=^EK&elhPc-CjDA4 z?(QP2T}Sw=G1(vM>z^@2w{nY!IeQ-FSL(GR3&tK{T>Hg%z)2T~>eW2~p3b1rX*0d+ z6X3(h$1K+5dxTDrIFghNnA1KJL0>wCj8IhE^YE-KA*9?hs(cZ9q=w=qN0v8AqxYmh z$f}@W3N5`H%uJdgh@d_Rbj4{u@=693`i_qrf92NY${jK+Sn(gh$gJi{GQ!9e##cJT z$tWn-Ifg6^D0D4q<i3EOHu-^89;JduG9-&n&qzEU9uCY4I`b~28~mE1?$xP_4#%OR zZ1QEpof5r+)xy=m$d919F32{pqYd(<O&g5_zkiXI<jrNr9z`B8r5UqVYeZd_lBRsp z(LQ(|)T&_5&oKHwGTQ)oM6-!~6WOL{z4A;rrxOCPaMZp8JxQ$`!1k5!@nC8Q`9G&3 zL@f)fnXBj4zjIN2Y$b5R-K)MR1+D9-e$G%2TGVbmY>#NzPuJ`nb(1sWV;vNC(mS=| zXR&;}kv84@-B#<lWJi(o#C@Y^aD0o#AH4Hy6;!-1@to+cCUhXDK>1tBH-em6&4**T zF{Uq<cyBa|h7>jxBlS@GM!+v45}q-BW~fnf1f}H%g|6TS6O93lYW=d2gO7L*$l7IH zO{~x9Xfh4QpnhOg#kw|QUS?iX0r}3D*l0&|0~!tdGHW0#p}q1<Y$n_tL_;N)!l>(A z8LyN)GUjxzL8il|4mWC(eobBRDJo$YdABbO^;@$AKlCGwB4;eEKI5Z}wq~F-23W`* z#2P*tMq))C4Yz8)XA&1FOQYk9IcLA#sk9Z!ucAW8uv5AM6uZq-*qY;+S|gp_0xG}o zqmj0@T^zfiH_)_tmrbl<*X#Vx)EzOmV*YS2#^aV#m(kRH(oHa*ne*|SPA8sU_njSY zd~I*kudO{bSqhX+YFyDq%1#V1DlltKMSR)=FDEeyZInRwmNCD<bncjq!*%B*sK?wC z^R`(<b~DGid8j51XjiPnO9@=+_V<ksJjS|mzPsUQVBSrK52;_$;Ej2d$^*`U8F{7V zC(!g{${k;YeOo!$0NuvwDL^_6ouK^--n1JpOy+*_a!Eku6A{zv^HsNyZ?K8!LtxF5 z6cV}g<uN(88&Z;*`D7&n+h}pPX*7thZ0dYtW}VyQQGS)kWpAVxK%^Z07MIg$R5ntI zFuL8}e>C<nRJB49Pm-vbZuy<^uDHn&O$oe`-<2zF8aOTv4vZiW@+yCSf8EW)XfDhm zV8NTB=To#J@UvC-yk+hTraXuO&Z5}rE-q+=bqHu{{b)_|m<zp%$|i;rmvG~V(XhYF zwMw7s1BuvJ?cK9DG>|k7mfG~Q91V-OU#pZ2G#hBbj8zSB^L^@D5cbH6(NlQij?RVd zwrzOCj`Fj&qHx;gM34{CdzXYv3CpVMpXCwsDHAbf!VrejZ{tWjW{Y999O$*ck<-Sy zKw?%9G({GtS#eE6TZ}bo@pWSXF%}QTg|h51#lGROE3;7D;lV<618l|6uI7pyZt8*_ zbL56ZBTR}W8AjGw&#JoYN;9Bvx^+EKS<JMx(*OKcJv)qoK#|;OdqOp1*d0%qspY!L zt#8rmh+<6gU4#)(7v<|%MP|WARdMhW*-#Oc-1(IAG#XlBn2`jUM!Vw}b{}{rwAo;2 zBTTgl@{HTYT4w}7jdGAcxq7i1X8PXYZ`CFemQNH_bh8<tLEJbOab3F@!3F^th$7{~ z7m8H$jOz8!&@tQJhaypiXF?%`coj<wM&K1gGB7XIq=9WI;>L|8r5?Q8q-^1K1PC3o zF}64kvlsbQ_CuVH@*m=Ctl8xmJM3l$dFYLH)@k})(y$w$@Nm?Hh(Jdxd!_Y9&5~LL z{N8LpDre?sth<(}8rq~rcyCwg2h<IhF*1&?)_3f4ncdx?wKiI*W}IOP&H)AThY0tk zEVVEZ=)yUOa==!oK*kUuvDB2xoj_ob6V6hp1koD*na70+#vGM$Zqb^ycs@6c%P<J< z;s==*dI?{$z?Ao3De)G|^pX&*<OfE$TFZ~4sWd0W)i!cRE_c0Y&Cyv;7*_}T|12_d zg{iM<;IUD@om#=mBHtKk9m(rPNqgqT&K$ieO%Ka%P43N;<lq2kAjW6SXSn>pZWr<c zyN%Or&lH)W96nlB>Yt)abJ4;`_powzE7|V}#)h(Fu(DAP0-udKJBTroV3*9(bu_f; zRx@bvg<)7hmt!fMfk@*1gpii&v=3y+bIYm>PjJde%6E!xP|yiyvg8pBcmX`Jh}Re+ z0bd$^2Lg+ws^YmJam9Hd&-afKR$!L8*(I1NT{LVgjHSsoZ!j%+jQ+!lkmVJt4`KbW z7cMl?ML$l^9I~-f^k<^;`|<-T=M<^jEy@Q%OpA<9X15Zu{4!<NRTslyLt@Mqu5cta zLGn!l#0Osj7PXIXa+CQOf3dNQ8{^i^qQn0=6kRJpKgQ+P3Mq|@1^jC*wK}d>qdo@p zMTbJ3p&2rIN$UlzljB=RrU8|lmg?Q;O8k9pJlAYPqRdGM$04&x`mp*A`!2pfkF$TN z=FDF+e<gr80Ih9uawgu}V`7Bjy}gY8G^CCaIp_#OTQmNH%N`dQ)0JB=^=r_&@`{H5 zm$^X%X|(a<2;Wi~;|gKQqQv+fnz9MS5p{;JMH?c4Ha9&MEfX_VGFK!sjd1~r=g5u; z{{<RN4u6iOTcyGzUcrRH5{PV90sZL&qo5NA6Q0sE;mHo-a#EnE8cfmH8@-s+h5{G# z1GHwtUg3IfD@uCtvjTL8(AIp$)MA!QFp$jv2SiOEKH8D*54Pi3PzU3+ibucMtaVS; zax~{KA=cB)rs$UFSwT49a$AbjT&K!abgq`rh4R4gic9Kmf<}45Q_Pf}Q4n?T_Qz{M z4U(XU(Dn6uuObsod<T_%ujLnT$!_y7<Lsp_-eO$s?s2FU>%qZaNw3x^zx8>Ft!SIk zURCr*7U?J20dBh%&_;_C_et+yde!|cefC>Fyu$cE)w90}4Y-!^b2}oIMjbZPP{FW- z!_?9)#R)pzL#m*kp!4D#9*_Ux*CDAYkKH15hOE%Ld3T7_M0h$nbz<gvEXmNXLDY@* zoE{UiteYznv#A{tRy}jjuVE$chQd+q5GnUt6-{yL6AE82kA)pR+~MpqXfGk168SDe zdm6+T=0nC%7HX^UE`_6>@w<Yif!}UQ)}$e3LJI`BU{P_|7z|B$QgoJRfrhG!cSg*k z1<VL;+}um0(Q`nDz}^C7B)KAzPUO7|BQ^BC2@i4HGWTwUfA(YbU@gKX9Ew8oD<-O| zZ%bC)7Rz*JB}v3R&wDr8^&F-%`JV48S7E#5>Ndf^VgaCDe5-aASVDo{d;C#e%10h) z!UV6hzez7sS{hHQWJs(TdJb?0**JUD9F^Z{NxN@~C1rf6us|5H%(I!p{p?je!f41> zOq-9B2JG!8#|z}^B+z!}PmznYnsE^i!%mL#aqyP`x-XbXGW@ZT#*YomQj5jHDHXBU zED}EOkB{VGAwsqZ?Xp0xXNn&3I;j%{?WgcHF1QtQvm6FOIi4OKot}=3qmySj9iGsi zBm9$_0w*^khU1<&a$c-tP-SR8<Z{fnCg>$*$jCMcip#+uQi}v&M`Dzsw;xjNdSe4$ zvCCpzApvl%MLd5LlsB`a8yqkpQKA6UjS#tlpLzW0s08yQ|C&@7c)Cx*0G4Jh2jbya zuGKI!uZkR3-EMG{?pmtz$czTln_B@vdfeT{O-0WbH;ueI+{C(AsU-QA2jL7b(ywlA ziKT&%DnWRnsPD?GiVISyR-|lR2nz(Bfdq%S^@;sEN<*W`)Mk*Yr*Ur2MSAkWSOMu9 zWyS#HLw6R><U(j2IEJumS$z-s6-<TsZ8r(gz(**Ir1_0W-<bSQclzwFoBu&C4xwbs z!teoWRVog`e(N6I;44skCgI~7V>3_UTh`|EkR4gC{Tdw9TYb`)#=)<^o=Lwd*08rk z-h|n2H0kO<*!Vj`?J@%+z6%c0D7eAbA6{FUSv5K6fjWR?-`fC83Q${}9KQSQS@$)% zgC2I@ZC;0yXTKdz->J{{zYX#CZ(aKO4f0K+8<^xb&lgg82p5x^sW_m-7j})aTZBZx zU-1cfC=`xv4i3n9;57+$rIMh@Q)e!B?(A!_?9RMB1uEW(p89Da>F{iT@7Li;mI}0% zsizm_liMk*OLCC5TRQ~0@je3G*;x;CFe}(J?F4C1d5i$*rjUm^5f(6YW}k;>rl&Kh zFx_P%;G6_e2*v>h&T}(qK4TP29y2u*EU7Bm)f?^&L;d;`Y#J$Ip59kS1N4h`<t+;j zN{mvV)U|_-j>Io3dojEUaNeL0M)n>tA$%7xOv??s+pzDO`R%5JUthm%zTR%Wg7k-f z5=g$=+}&;9YgKPn^8k3qIzH0Fy`bSHAK8`+2f+rTtx&Ga%5|8sn@yRdn;ZNGaX-AF zof;}R{NyLTiL7sR5)|J8z<)>-Cy$A{+fdf}GQU}(KS$yo3&f11%s(Hm>?Vx9=v;FD z$TNuhvwz~*5Z<-#&h~|le2@Yn7kX=cNHVVK@!;rpo*U4md`E$w5;5bH2rn$Ru-8a@ zdt9q=n76<~QSpSVxc|k_bRr`@yvvO$CBCo|Nc;=#9p4-41s7je#uck2|1ID(aaQAR zR*)!XUtliLP8wgLokUz$WfH0NGm0X`gF$iZqTtpH3e{6zFj4FeS&>}5<v0JktCy_N zOX@*sNBxp8-V+yyUGbJeK%<C=7KH`q4?6hvD(>K^;#c)%c08+|$S%H0EA|z(gCFoq zQw2U;s;D@v!bMg$A`?U_^0TxfU5R#ph8Qmq`3}Bh9=^Hb2q{&G_MEC&(wZ`Ir^PR- zO!~z35_F2iAp_DWa?sX99GbW8PfVMc*3;|Frg18czO#qc(T8zyV;${xC-MfMYu94R z)c-+u@I#Er{e--rQiWmj62jCBxlDRmZ6VY)6=&f2{{9J`Si8sI&cStQZf>|AF@G6E z{LHQ<djq_xZw3#^VYiu$Rm67vlm!1C%WFdSz_*M_wN@6e-{N<G+v&)2Hf+7WWE^;M zr+e~bgguS8t=@5+V$i9GN_BonYtWCycRD(u((r-7yxNWkaypAZzyCjQj@Z1()ekwf zDKz+Q$>It&fCmRte8OtG^@lXEMp8JnqANRW3s4QU_5)&*5b7|)YSRi!)FH(Q|8@|9 zraSqcaQcjN-AK8kW*8er*gc4c4N0ln(}!b4EYc1#&39uFz61}{tN0F|I!3LuQuo5* z0`h1o<6T7*^{#>{FsHOAdcL+9Ss}kb3{$``)qzA(d7QV3uH*G2MU{OHf2>2j?kc{% zdU!c%DxI{iVuD^*w=y&lX)9!>{BC5O1x26bw<B_*pKZW)a$`rAnRc(k(L*x2jq=d~ zZy)N>5;EyW+ZJ3^UeVo#(3>CXQ4*!21qLC~(Zm~Pjh%Aqojk_D_L<&81pNX1FR+iY zldgOa30?J7aN;6IMPm;y>mNLTI2%g=it*w>pDwfSugzRYMq(mgrO3&iN}06RXsuL7 zDduL!DD0%$9$pDvO(uK5hal6Y{va*Hxao+|ACO7iTwON}FbcT*z%xzjrrNl6{oi#` zQ@P3Ul#1YAHaRsOrxu~bMIXA1%tdjAFqj7*^x5QO%HQ28LVbX<o!STVzQ{(C@Ap&Z zHe&71+5Nt`-~7HgPQxp_zc^0KGIP^4zm?wm`)F>4hG{sZnYu07Q<hB+I<Z^wx0$mD z58y-RWnN}pl!@ylbaL-w95ecnf&w2@pd_Gln`?ue)9`9I8pxA*m>YAP8x6s_^Xbp! z?x#PO+O7cY3~9l+<zj~{%J@UzvI~2$?mk8DH$~lb%xBaX%3s5<QytfMF^%<Lgj1w) z5JB3}6#lohqGh$x3gnxh)-2BWkFSz!_dF$yzJd6?nMR-C&x|nkS)^Es9e?4<PC;KD zi6%d*<{!r?d1T;ImkP>kD9ripO@yaQUb;*WVKkA$KR_WqqStioo5~No^IZwEQkPoX z9tA7EiQ`!~k8hMc*f+?qzyF#3t-3d199MYE1?voa0Id+-{Tc$XFi-bB)NXIzpiSWE z&-7;v+4tggx3v?0WN^hp<MVhekr*l@hKPi^nf;E8_6GlXiT`{6KKStbtK@?Zk`MkF zH+cN(<iqsJzNKhtTChs~vx_;Sd-x|De}{i#>_PN~{{qqUQjP##w2QI%t_J3f9+i3Y z5^~Ub#j*Ml-vUKaAclNYeS#ay)@v}EEu~m>Ao`GMHDMU>i;RGjAr)<r1xG7(q?~Ad zHatUP2d!^tb3>6O)@%zM<7o#0Xq*{ooc28(*Fs3UT*l&V{Wg9`*$w`>iywGhqe<|N z{s#=Oh!%85FaPpe3i*w;2N?C3W1!0E{{;vy3-mDo=*vKUe7C;tt*_s$FIg?781owv ze})tivzP()Vp*54#d((t2z5n3h6Le1r=iGjuQCipQT|h9_}$20rc1P_gVh)I4UtZQ zh#zb5B;HA$MD5;Eae&<0kXv3cMPFKSQhlyfhnBoU3X0W!7SJU@`A@5gdzEP^s^CAZ zOurKqImCrg2S0!Q89TTgx86j~VVhCwXSu^C+#xdQIyR}Nq2GKSm$cU4wiMzAgYM9K zGNFi7m*bk4bq!>q=Ck2Za90_Rh$B&g+I=&8()MULWw(wKWY!NxVk4Vd?}rA6U*Q@N zi@foi=;*knC^q<Ff$b%&HVeBSi`9XF!#)lIdN&ByCR}Hq;BOOhKPaR1|4WKD*AZvS z7qvzKk>3nNBV088%^`Pq|Neg!atCzE$D&S+pB|RV2vMDJ&q;FZz~ph!zvf*u1KkvA z)MNFIW)c^I7-RXv9IZrGEbp|*-9$7+hWY4il*`yGR-=xaC<iJxQU1BhO*G%-CYnh% z(M-6Baz?74L#_kxxS13`$tPIw5C+xs_D}mpY5J3ek~lCZ`W|0lb*$tA#!W|JjfCw; z?BLSkNbKY?9f@gzu3gk4@hD333ZYFX16%Wz5BFGgc`uIM=zjffwT5X!h7$N-J*3G; z?Eed69Cww;4c;oyiAH%941*E;9HY&mlvxilT;rsOis?4ePp9LPHCf;GL(l(c<8fSU z=NOU<d%Im^Ind<(fnvOI0(R*jU@w<mC;!HIY}(-cfBU4CcwLv#<66FV1gM-L14uG& zw~a^Y{64HWeo{V<Gsk%{!)GKxn<`Vwla?N2GTo%O&U;k=Z;kvuV|gg7MRxfFKHXtZ z9!qsiD<(636^~$`u?C*H%PNN0qsvP4w7e*@46i-qblC{z@Q9bJFiQ8;W%?PmdTcun zdp1X;;V3A);m}*UrFUliOusE({UfVyWuCYVu=CL>(WFhrCfd!A7`q0|C3B<4tr+Q0 zHhXdH4R)jx2~*qKQ_U0Cg_CO^`XtWltC<<Tn*U%k-M4q_d(9pGahAChi_G~YVrKaB zxglwcfk4N0zIy5KWBiF?;l)^3j-X!jOjgHu-9@`wD8|ba>WV`u$?K+*WI~G&f8-N2 zI7pLnUn;qB1&ab%Du^ED7`oyH))i0-M}UhH13>gW*}_QbwE~-RDm5@MGH$yASY8`q zvvq#pgA(2djpC&H>0ugGXhYmMnF08S)A5zV#@i*qOFPyPt`r^Ft>%k=GRTqYc=iVa zM51-A6+@;Ok>)?jV!hG{x)Vl_nfYzDOkXwy<~6QhXi#8gh9*DA$r<wr8_DQH?Qem* z%`5#NG6jtxpjyK}+Bw^zO_*3l%!!_63kcZrrT3yf;D|l$gwA^gtNfLUt%MWfqmfx5 zZ`L54Hb*MJmsW#eS{KW&%&x=CXhw2sR_R7`c`D9t?fl)AdNk%rJY!WB>W!+b%ylCy zT}uxv9<s;ALsA(9#;KHopS5vZ+ft@Ej0B^2rU{hjy*-CR#{~rqX@r$gv3>YllY2N7 zi3UB`{L!jfnO_60ztIhMX-+tM%7&4MOT<JZ3gd$we88$<A0~vW9ZFe;JJXfIE}MPx zP!JSZPaNjHj-7$m?vLb#0q^d{?~@R0Z=Tc}5@vs@D^&8a9_UP=wFZbyp^VG}A~LyK zEou31t9Z4p>f+8ML4<rXG~#;N@gQZyMSP~!j+vB?1f;xbsIR4j+3SEWYNMS4^b^q= zV&87qE`UYSD_k6)HeZNANgjWYN=qWEutpSwgGYuRdzYW)=|!fLde~v*Hwq=#kJr{f zJ<4E6pab9&w2)g-H7aOiCK)5#a*GlXO$`W9vHHz-P-S6z>k%+@lOERM8yc^*j@fgQ z8gtPRdDp`Z4niM%!lst~;a|5Ymk(FeFQaR;Evn1)ynbaD+cmIuN1iyIT*Gx*=~@G& zd+r--=~(XshR?zlhLJH?a%XNeM7JHWGnaF~((Uc;spQDdf%(6a13j$gwC99o6DJY2 z;JB)r^WO}n>xsNJs&(-_x4r{U0qjNJ3E8-_fC#H5N7UUx%k)R0vZ~Rzau-fjWW;3= zuV~>$sg+|Q<lL2CU4dN{hCOTDYCFNuTJz}`X)PKT?i{2l<qNv!*Sf634jF@Ohr(y( zXI;;;crSl^|M9c&9Nx<r>`!<cR<wvPc`~x}JtrpdZdLLBZSPyy+cu6x{|beZ>Hrl; zQ%=$cXqZ=)oyKi!CzhSoM^{%LL_!v73Sa@yvLf-n-+AmC3yN}*w5Yibd|K4)iV z=e09EK!}pi&SI%$C<({`inm3b5B{8e%#LPtv25kHfud>{G*;&2z_lk1@~(xq+00*Q z)h%9r%Oy8ugge)}ukg=bY$=-T+_BiUNaLIMueHoFZe}m3P?0q`sJANLb~J@L@qx## z(N671bkf8|1^`plYtitem7|m_fBz`CgdC+P?;WKuIQ`<Iv?KCw5}VSFL}P?Kw`SPU zkG1|d{XK>IyGhmEr#70l30>=HiucIu{Fc=uqZbE%JN@zCySL92KE6kLQLQClW<Kb2 z4c)Xj)*(79*8QCF#whxF@EhalZ#RE^<o?>THxBo`yXL+rtiF9jZw|1(0ps$%==%Ql z6^q<6N1UNueys#CuN0N{L%<(^yk{w01zks_j7N}@3Bem5PsCyEFX=gk)cV8Ob(IzE zk;XuiN%4ZrxNT=Gf*iNabmki{rYGjPA7H+$B}(hrmwd$ls$lT%wFAglE^4mbg&X(I zt1m?Qots)7V11+PcGVZb{BHVbE1o)CZ4})+1L=!2zVX=Dw24K7+pLf(s<&?IRe<yl z|BjI7!WujAyE%kKY7fXfY;)5;z&dO(#H`fv72OqbheY0x+XPSVLb6i>3zE%4^nZJc za+!b8%_XG(ResT1-jePS%&TP>X;*;QTF%6Gcg9vgC^dm{%kXx;NvEP}_Gmv8rroK9 zYKbW@ygrJ1Oa8?k1{mdWW>yBqsF(5f>C{S}4#uN+o=6QMCGy>v%&|W=WEsUZM$U{y zxOYGsPW)3xkro5IbYs0%QGpK(Ev@>EVOjILa#spMK&iF;`L=T_){?$?kBJ*5D}|%0 zQFBq8w}6q3Y7=n)D7#`@MO-RZ!)Gdq#C6@RRN8kavK{rHS1DM9mNJmi&@s$ktQM_J zh;)0$C%&MH5`&J5lSzpO8)C~;$iC_>zx+UwE-Tp7t62TigB2c9o-aB)07eT^1=z$< zp^-W%4bY-q&LCsL3X9pn!_s?{`HG{I?bsuzI}DC*l~*QCw|VuUYk;xKZM1sQ^vKbl z7b3T!TViT)S)WaweVI`)GK~>eYhZeLYPF^YYt3<F^17ID4D2@*8}>13vtk-$Y;2?q zi>kE3Wjp2iqH4=xsubQP;sRkE3pUp(qjClk74^j~ordUtptGN|O~qMH&V2s$aQr)+ z`P?osl6D%M2VKrdO=Yf#2%N=9|3}XEp^obhx)#5&iTQ>^yCzI^njQ=-1wXqO;P@hu zTZhLF$)^eEo6EHKOaJ^O`IX8EhO4}J)zi5eZy0qQC64kIgYu}h26!)x*I68=HXu6A z6C>q4A)8P#pFv7G_SH?hRS2`RjXK%k=q+&GxKA95$!7uJ5E?=NSd(tN)6^+vd<I$J z&Wk=9-Cf+->Kf;C*eO5C_aXx_upgXaAM{7btJ>ad#$gqbC-aGPdCJm$Z_q8=K-=xI z40nu4>=5P4G~9|z!@@86vx8~T?SaYG=JgJ{VMIctCBD6FVhYKxfbA1ZD0n#C!Ibwq z&E<y!AE-@>>%UeP4f3>!Roq1Bt|f9(<QUYxJfXvBv%%jHhLma8vpE#w>cOtNjq1ux z{P<+zDl)7=NbA_hNZQvbYbL;HoTe)!Ciq?GY848+l_)Wj9<#2q^kkFoTpYN?J+5;( zo!Ro~BYIog+h`jXSs`lA#0nBls|?XPsdPvl6n(|E^~a6dHHhC{XOq<3UU9E;x8-K* zx%Sd=5ga)=DK>b&O4We2X-o7I{1cHd$MAZmTtYam^e2=I%X&sdQ6>>5##~KJzn^9u zb)v=czRV^WJ2X<l4R4J3ZITFKc&*$AqE>5HE#vAY%c{J1DRWTnpu*IUSJ^gffnuLB zQt3DANWezmUWUNVq|f>tkV^16l915CpGTbIG1BKv)F$odD1f!jZ3K!lpCv{WGPr<A zk!Dlhha~Sf7m3qH_r)^)itivbef)SMBltOfktJ+&V})luMip`^l3D{2xjt8G08D=w z!#}JlC?jf%<R|z5jj!NEHZAZvRxBqOCHO3#;=JpH0hIv)>&eV=`-*1{zTpeUhql_= zL&imUw9eu(oGJHc3XM&!*B+-+-FWw!ffgSnZ!h0$Nk#NFHa%(fT>a3VE&x02DVFI( z5Z9^t($XUnvT{gB<#>BVx%t+)V0x`0l*O<|iY&I2B8%;$ND4#PFG%9&I|WG*s3<l2 z8_DZV%68zqPd(CGwDu};tYgW4Xewowq2Af5T5Wka7tI0m3Ph+*{CXX%FE?q<0ekXP zMg86xPmtV8kwv`R*Y2{eYFDe~C+#HCfE;;%=z*XMz8En<^gj8y5}Cry#MZ-_@`RD& z$fNFRNy{QO0!!JafOC!t+DY+~PlLm(L`e)4<>h>k0ZS|vWdQ#*`QkiCWSJ!lvagT` zM&6pi$c==fa;3u-<C3$O=yBTk_W85d2d@vmeRul$*$;1@9hnXs-xffX>)FNiYd$jB zmm`LQrODpsNuk4@c!nbUyOpwzITjpCVt-hbtURS}6PIp8_7woKtq|ZmnVALbL$v`Y z25BsSxLt+)t%P-U0jnEP-!A2-S#3BRk55EC5^Mv*Fx|fiUy<RyY`3FGFt+zra=a1g z-q#Z&nzjP#ag`_Bei&IdrA#fgLBFObC>zfq=9o$FrA;2`{XJy=*h^#$Iw*uGX6!<P zLPqh%J4$^G!U<u~DG<NB*-FO~?-KiBF0`1_gEBiBnI8a`wM1k9?iZMvx3ynmUa2u3 zd_!h%oYq|)_G!nBHx_ppsxB*?>iZ6qdB_qY3e(q2`DR-Iz;aIAR`i;mk}-L66qc(8 z#wZSJ3R%^gDbnJ(BTiKNSzK_94jq{2li6T>dl+L$7aPsnrU`q9x3%w>tV*;LXB*5P zvC5N)zYHy4rqtzW6?>eoGp`EBS#*|)J=a;<xHT@LjXe%1BqDAy(r$2V_jyyN(zuB6 z(^q(>FuYmE{u{h&fZn4A4S5_sekA^WUoEbI^$l-|Cczu;KvjlnW<h+GUt}MPs&0~F zQF8P$uSzwrC*nJ1w_+tv?lE{{h>N-7G1qUxD&k{xp+DFU*0J?;Vlv0y)Yau7bxfDh z3yuIY66G;ufR$h#&Z7#~zO@I*!*lBfKnXhF+A%;IteSiP3t7zCKn7o10x$BnWE|t) zcNjXUl|hy07&{KGE^>@J5?oeLTRs32^a7ucW_3le{o86ayC8j@e89~RoJ`~*Jg=+r zDbP)zmnGMFk(JPAO$HR{cKBU2`v6dqkzO4BVPSo3j=gX7i4F+J@18f@BetG*{Tpoe z7kda+@JhwWbJhhJp-x^=yU3bDAR76c`;n7C;^LNgTP~b3K>QYX*$p^x_I2Bl{t*<k zaQ>#wbIk9M0XslkalDx7`Ky+wc@@Y*_}7&EMPl^V#oro27JU35*1<U*r(+=5V<q4D z7ek5{_?0_)ULv)g*{&XLWjV&adFl(XzA2)zT{1pBvon2W`{&3RZ}lZgx1=z!w`fNH z?4icn!jS9xpon6bQx~)Nc}7FLZtNY3_~ggs#Fs0e4+#w<8KRWihy4AGdJ)%c*0({7 zCS#$r#S~^$Tu(%{I=PV|Eu15xzepv$np2pO5u7gd^%2k!^l(2|EW!ZmVi@g6WSd(^ z#(r<FBA=1cYGZ*(=TN8kv_Q&xhGvGBK)ey_InisW8>qDi>fQGxrh7HVY$y>L7b8TF zoX&+fBU+Tispg_uE#@LD6r&cUxIsT6;ArXfQ;r=)M?Nc9-yoUK8=2tMd5xijfz06X zk}mjf%+K${^SiY`*e)`6rOh)8ozDfu#L~VG@?LTuL=2O{#BlP#lTZ2fJZj0mN9nOU z?tkd+6ZefEzL{mq7FmlOJXxCtqx``t(e2Ih?kR6ODxWXmXAjJe1W7luuCqnzsuE$w zC@{G`{3#I}ib8y*k)A3ofwSPzK?UvwF_E`~)AACe9bl4n7Iuu~ow4qSS&mfpWFOF# z+tc&%ywXWgcbu;<TO39RLJ?|v+w5=h$2){icf1yCw8jo-?!s`{>Srz@p(jWeQvHNk z@QAm2gYsyaVmG5_-#vTr?B$!&m#>~alOfWuAkdGBdB91)xQ-yNM*#c!d{JG2+(tS> z=Ve&;8A`(nT^zS=3IqE)nfY21P6D15F$R8vh|ulrBGT$F5^J-wCR_kRp&nXEV!N?- zYl^c=G54p7N8@Qd;!(e;mXF7Y@$^Xk{x;`q5Tn_m0MPSe(i(NY%g<Y*GCr!>f5m(b zsxmzp0l#A#!#WXh78sWl@hNE~Vli6D=XaDAD&TJc#X#0c)rseRYJ6IVM$%zBGCs!Q z{X6^pJKa+Dsc4)g_DP|PAEr1KIA#_g45*eK`aY`$y$3<*I|x*N;zSsh;zUqAiK9V$ zcqb8RLDAc^R0EV@cv;O?=sh-1g94<A;arFn!2k$a-XhgVgVE>#{C9?t`1vd?kso?s zRd^6Qe$?h5UuA6$0uye5$H_(2v^O%?c5;p(+t>dg4t>sZP!Ezsym<WE8@U@2+#qgA zc^9#K@2_)F%;$NzhWSzFkLJZknwQ-Q3{$)?KL)7CMu{{S$q5bRr^k;T$le}3fJWh8 zW1@FRhL(hFL)a%?qhyC13ZOqn3Nb$%?C)QLwA@Is+xqwlz_7@!JKrpU{q?GZV@-?g zOBJ~_xw)w7;wNN|76+KaBw-D`$hF9B8Y0_Eou4DD-c$#z;KJYpT*op8N`H0AmC{oi z2BOEwQoU${)rF)@Zt~4V&fzd``22Lfl$GK3&!3)D)gsSIF*xM=vIXGLt5w?+b0OvQ z7G-|mRe8uPfK~b%feT&d7K<aV?8*iwg)Zd_!GpkPgA&$I>t%*~mnKMpQ%s#?EH7V2 z4gi>EO<v>8k>ofKjx7Q|zL%K><gR3B#RF^g;(>z=`ui(NgJTxpH&JlH_bZvd*5bID zwaJhW1il!FebvL$Q|>8j^VC>Z2a3iQ!K%6gK(RHOdv33(b4^8-(ub9L1=w1&uY{K6 z^}#nOTQ;(`CGo4%YE%4#He?!*kO<6I;*K$T(zu^e@923_z%t>1;q8$n5Yr)hBTFk; z5|gcU&^U_kR5XoTRe-#*eTw@ypC4XeM2GHR`KtiTyl9a9n@^2-gi#XqOv@XsPw4;T z*CvyLQiv`-anIARUkcd@GR)_83B~U2-7vFNL&6U$3IBD=6>T~}p2HD0vX`^RjgBnX zXfJt1h0R50aGAtctbJxLAT7_-Aq(={pDlnFL5Sd*0p}&z0O{(Ex_gZ%0X7u?VDFrp zIp{vG1ySe_&z{el868`{(A21{d(4f8-8(n$@zL3{8wM@nJa)$|cAFUt<Fx_pP^weS zPdwO=2WFqE?vT3sPY1iO>Gkfekk1@?!mf7yI#D0(-xMg8+oCF_o28s+O&$;(+Jvft z4#_g7tB6A*#XxZ|$O-FHthcC^;JWABU6rtqB*{i!%68fxjbHVtikwyRYyCdz4rbd{ zv9PyU8ZGZy54g94>lScK9eBjsfH8IFYtsH+@b!1q51UR;eQVI)xC7Mg*t;=)1xM~t zy;XkRCPwv+9SFWF1fUCFWEJws0aVK8hSW+WP+CoV<T<^;K9j!QS?EZ5`&}zAIQ(^o zWEIVU;2Fg^QC4kne*HSf9HB%Ah)REh{H*KPAmDd5uZ!^<Ej~+~QXo%L)6<HZ3AZ>y z^niL!kac9~6CP-Vg5Sb?p3U=NQT}2k=0f_A7xywT=cb8yyse43P$7SWIeC4DJ)LG- zt=fNMi~4x8Mg3mWU1q==3;{D%!}oP{C33j_T9XIbQJ~cL1Q}u&`5`G2U*mi!<-~}) zzYmPKMp8a_xQA)y0Z#G_Ki>mV@kYo{Lfd~CV5s-|z=bN9U=c5VIjA%jby0r!ZweO& zDnkI&_!kGwzsF|6yqil4L=EQ6$VsuQ9Qlg4n>#5O55|E#>$|og!7x@WC4ovo^)4Jo z=Jphr*;97-aJ>8!eI}uEROH6OoUPin+Dc8{snoA3pBD{9S}ID)bbW@_&56>V*ZG3d zq)$X5>*Np1PZN<9I~h;@4<FLQVW-1rP0feLQsZ(G-ON^XQ`MwspUkQS`~-}E%Cg9i z(p=M*XhYMge6+T-+c%r4h%(W-qiomJnu`oR4D&_)k+q%==gY_g3z?jqGLt6{0U}0r zcynU?;~451F_f!e2i4a@x0#JlkcvzRXgeQx3ftx+8gyrCWl2vEQ71YVdNSO{7x)W* z^fb+Ny{(I8_l;)7tKq)W6?VP;j}~_8`@EL8v8)QTsdp_ZqFgY5nYY;zUR3YjFLJ}Q z(zT|@I$djug*Vi`HbOBUn+7*G{A;}q49&9uL2!KRsH;y-f`J1kC}gR)vB><o%r1+W zE+Jm10!CMy{@w12HQ!cex|ppn$3kT_tccHE;`g#*rhAE>aCU}<pGh{B^2j7uo@5bk z1)r26Iydr|Q2$zWg#}0~7>fI%@cmS-!XYmgmLa_h^0cUU8L~8pWxM(qEG>laA-9a9 z#Ia#{@r7iIS0yQa2nywpkb$9eJ!G8?uK($2RT^^2q4*FmPLe`Oqm5y?`}w9m3p?*+ z`V&r}2QQz$IC%5?)yvbvw@;oQo<4c@U(cVtPJ-F$3{dYZ|EYjufAnQM`s3H}=<9et z3Sx|EsH?qs{^Hr`i=*VL@pv68kC6_iAP%HHtKvrEp=olot%AJmddy%k%dqJGA}vm6 zlrmMua8Cb=4U6WUw&!6Ejd!W|E|Q{i<6}KbJ(Mkrt3B>^yp=f;28=o^!q(nGw5MK` z<dcsVnET4zWnb+xRvzE*4J?oB&a6~&L$^8Mm>I_^^V&neRp8LL>Yeh>hKBaP9>;ms z;OBhg-%9-*b-CtEL;n5OclUI%-og&O6(}9WfEt)Faqq<XWTg!=`%Dn_iXNS@!fMMN z0{Dw~5-_apVNv&-3I4KUOzUNzO}4Qg_jS`MDgYY{I)=H?1qzTwvbxBI7g@8cmhg<i z!U}__n-+JX`kB~MY-uMVD&NFhf=?3to%gB;%q~unU&s#5ELM*}b*dGV(zJpfP_0Pn zO}Cb0+JzeN3w08zYOMF{nu1h8(HR+Q^whil?j{kFT1%&@qFtTJ4sjF8O{2cw*qq}% zaTWjE!4<8GHqunGezmCcQ0xH38c1s*UqzOed%Z=4b&j*n5q!HNi*EYP-H}_%uXK%b zN5$)a#Lp;sJWq4sg9gIC<ttj6UZ}BHcEP<z6Q?8!zS=nxy~rt)p5x^VBDIVg^8r{8 zbVv0?p5(;M@Q>DqjJ`(@zW{RdgxDLr@pK=JGwsp>uUzHru=)5tu$UVnc@{rmurc^i zGcl;8_Z{~SzXHnDE?yLPA(^P6pS*2y8KIj;LiA6AvMNPthvzWvm;PXALP13{lR01M zrX|*Sku5`Y%aQ<Yl#c8?^v*Q_ob(>hv%Q?7@ADn!#WgnTTm-=T_lPLBw<0(n8-uYV zx&<2{JWuH=E`1OPWkO5^cqW8<-n@SE9qMGrA5}W2+P=&xyboX=ELZy^2W-kQ$_8Kg zB(e!alfux#qGQj1IL5t7d6mVPmOUw5d3V?KrZ(;;hPs^HA;<4G=jFSd!B-_21ZG*x z$A^1KIxz2e9GEGUYd*r$PU^7CCMakPfEr!8`@EE4E_0w|GZEFG(*{hy*a#*fQj!OQ zmc0OKB62YVV#ftBU|*sTOY8=^jVSucn(J~Fx;uiYtF?Et`5g8kRRUH8J)wC<YfkfN zA-`)rb1x&)%1nArW8XEE<6?di_-Pi9s}X#q*y@<AO`*E8TY9%G{g$^Z+&wI=`g06| zqmS<o=}x;*QQc2K`V^B@)+ud!jF%ipLpgr)EqU_P$LJ)*y&}N@+c$ndL^Z&F(Zjr^ zpjDFd3WJYDe)XjK6hybTr~)1Yd+lC;|HdG%3;oiN4vQukAmy73qz-hz+Rp*&)d#@Q z{$?@|Dqnt5q3~dX)+1o(jE*mfyr95>8vt(vHhXC>yvol$6zx!JiW?B-@^H8ha`(jl zHlUlO-dV*}_Zxtpj*x?9iCIgKK?eAIdQr^Z!T$%BdEN&4uIj95-sGQJ3{E%VU=mDI zYDr>@mWw%7w8)sLs&<dM0dBd}<x!Bc4+e-WY4Gr?08Y)1?;k&!=jYAiNAF2ZlGP|W zVTB>-;2uB1Lw*2XUi=>5zW90o{~Lb&6Dmva3;cPHCowhgfSP;Yj-^MDZjA~xzI8qy z5@4F`73)?bKU=j<T5r+^Ca9B`D2&OL!wbN@1qnl}S0;QBF<`bXCzQtp-ohVB`@MKh zTxa&l)kV?fL#RB<ld{5_<~%}GE?+E)Wm7bh%j^>ig$eDAv+C23y-O3JA%`~;N3rW_ zv@KBjj0T&^8<qf3v4n0uoJ0dI3|P8c<Z2yov+IJxMRt}ihA^e9b!(u0`VY%b>(0x4 z)b`^lCF6-uY@<b_CK55;I62WwwC*U-)BpvB2vf@)%}G0pvACOoMMZ?o1UJgfeQhvK zbI5&YMZKY=v{>XVb|E3|FSq*!MLAon=J_^To_A`PkiIy&QI;)66JcP5LkDo7V^_HG zBYby*8+$~q?f&nUpWtlz1OD4Z`a!oZ=is7qOZrrp#wP#%7>c6t=*uso-Ywwim4`c& z`{6&lXm$=HW!S9FF7j;NK^po9Yj_D*$K)iM5IGd*>i+2KiGm&*j{qo5wSbeWe`187 z@o?DWfQ56kotb#swZZvoOS_v{_fCSQmJmq60F79%j^lotsCN(23a|;_6Rmum0?z<T zAOI}kF6oMVCd%{Bu*?}aBdT^`InOXH+~)#Q_EeO>N*BEyJ>0x#Ik85vBjc$b8y!#} z3Xa!Q<Y(ibLvQ7V&CXy3!1qYXK9-bTE(4h@k>2|;qr1<=0+N;0J?80%rjCb7t2uhu znD1HZIh5>lV%u-NipTNjA@Ymc;=6yhY(!WB_y&aK1=$*3JFCp~1%2_tWZdwokGNvd za9wErh8G^yBy=uID&-VszUJm*(G+LJ0tu$LwkO6!w4b(6Uq5%jm#vL1Rq5M5pV7;P z?L+M(*#TcGpwxMb2ht`tgzbkc@&ES#Q=zm>{_{U4f?z8S=&P@P<JmjEAX;};Ozbek zl%IyA0)*Yx1K@js<TJ>V)ro?ai&Jn=TU6SvC&-I2Px`qqSq6h&>jGQuH-i=3NE?3% zj<1&#=z&^flkU~_K~dK+JVVCo5iNmVfa+q!XDzJ%oX99HWaPnX=O|EKEf4jgYYY_Q z?=Gz7mqEZP2WTWp17Su-Q5IgJ@aqTrFojr3NICiit&(Ox9Pal@2R1^%ODd=AU% zJ6yhRaP=Z`XAww5o-7i}w{iWDeiza)!nS6q&-2_V@Kn6;`{}TcieX1fgL`_A_`N%{ zClR49fB(V+7Qy8ZUt2(mv&B_*-Oz7(8)Fz9VS2;vj*qFulaoge=!f=rBK9X3wAmR^ zx-=N>2ak8lvt~Ily_j(G4DcVXxRZ2MD_T<`kWfsPP!<P7KVEQ{Qydo~C3pFAoLf3* z{rR`r`=!V}UliUs-3#vCo9|=+dQIZG*LUTcs=gFzO7Hg{kql%l?gszGcZOI#e-85} zw6IM=+Q$X&5x*)I?Al@0vaSC;6<GOwchjZ~it1=1)S@#w%FH>-F<T^5u)la+cXXG^ ziD!fB&OOZc=0@vt7wYlQaku4$KDO|h*~Z<74vt`3&!V+KC!B806}CJG+H6T)0dF#_ z{~^DAQjlvkIv1>#1KR!xUsa9sW|oMnon6-jNpccE67pgI8h2Kmq4t>_8SqG#feoQa zG9UK(I9P!JOcWMt9-8m)O25x)Y38c6%;*!cSeZ?zpjdf(WV{aTQqiyBFyVE4_+q3_ z?mK-QjH26mJ9s9_R`yZB^K?$mEn1LvM8YMnC&8cc2JgzE-K?Cm$9=XC(Gv1Vgu*kt z2Kd@(ckw;p{DNT8ruj5y3F-DWckDa#8m&9|2su!(Nzh&3GK`WyUR#Gb{fPTX2hnzB zN&BASoc1$3KI>^d9e$PkfrADSp-1+v&$z9<UUr1Rno_Y#FBti_yDNfF5((H8(!kgV z!Vib{8M=5aU^mBJXOju#XR)nDv|aO0aJZA1GdBRCnVF6$kM9Pmlu$bu_AsB8)4&n8 zVL(9=h9yj#LvQZxhSgpg3_5Zz8u74i^WgF93}S}_Mu{hL{Y8`u2A~Y}=qYEEGVtPC zMQlTJA?|bCaHRJrhRN-0vPON9p(Oduq0F2C%kFK;$yL|qm~n}5z^8UsqlO||3imAa znrPJw4wE|RAEvD9H9?0vIqpC0h4W}EbCv=$ad*j`7PcH!UU+sCjr`ENW%LNFFr}0u z&urPTcBAhG`Adm#b>arB8b=<9^j}UVB1kC(#S%A^dWSJ7U?6Iq3Q!zBw1{Dzo`to_ z%a=6fwPfkK%V4Y~d*P{YuoREROsC!fxGELz$cUzHnH+NiL|qR*jRl?Z9(b<Teb+M$ z3^tkI^u}a@;he95lUD2L;f2_7rty|Ae4hImW0T1>DoF8=0-yMqFkqrgHr1+O_-Ls) z%KCCFOg?>08*;DFMn2aZYA+<t1^OuB&|ee}f7$;*U1!&RSoAs$qbu!c{)sGU7)3T) zuwU3VUdK05tV{OS7+A^^8|uJb{Ln#$2>3}+QWa^;Z@?hVK71p0QwJ`{N3uJKC-Vhz zx8G3KE<~7Ah6Rx?%%tM-gpjn`^*~Y`3J)35DQVJeCO_-<#ygepNv%g5OJj|L0mARq z*eLAhTLV<kvUKioAgI!!&*wUKxysZdv3pbGCpA<Zd`NpStxEBgd1AYQj&OoLCY!q# z6u0+?Alx?Saz7oFID@Av|Hc5RMb!;>Aebs{nxi?On<{%=in$QFzp0*M$D!4J6b<+H z^5{4D#O_x3O<{#MmE=d|P+kIC(jCV3UGD8izv&G6?g40cQLBAG3%yk%jCfbi@}ui= zb^#jzAc^?M_}4`j3u8rOH7~}7PGUi87RZ^J``r^*&DW+1x$W!%41A$?KzIHuQ?nOz z9&6e!g75|$?ZrgnZX2s|n^t_Mio@6Vca3i+=Q=<N0lbS^J&uQlG%Ev-o2Z7T+wE=e zTg<we(otgMaAUHGi8>ac%$RM{SA)%FJTS)ToB~^~Yk2oAqkUn9@U^7>NRMGd=k	 ztkmvP@~oGkb<PcYOUXTrqPDZ8#jODMI1`v`?(^MUo!7wWjF>+^kh%vY%tIf29*QfX zEO$A9W0270!-<sNcvk&R#~>=g-$c*m*hA*>$ZW4eqkxMSA@LlZLG&c(XRf1zw=pI# zYYhs2T%1rAGZn9$dV|JzQ6kJFBa<G(SWMKq*I4q2k)wcn&QDZ0gQ>S~m2k%T;L()i zO2d7aHTjEdIYL*DH`O7m$O2!5-l3`fxgVgl(>8ImEZ&MTV36iMJ*3Lwe+AyMn8DVO zZlRdcVOa0gK&%Fw;dKfd4e8y$R8_J*hMRY=7q-(tU8j<krXY%MaG{cXt@pTU$44Y= z-I;eYk}}QU>U<l-ard`asV-^RnicFj1Uv8`>>SR7Xah&q&DrV<NPmNBbe(g6!_AwA zS0_<{6-_;t>0AqA6HGWy3gt#*Y;G{2xKbzJO^gO)Z55KbOW<|NWkO?70veY$x55%d zY)qQSey|8hlxfT|J_I&EqHg2G%3_n`Bv~cx8e{Qmpp4fMW*5WDM<N8jQt}DfpWh`f zQzo~r(2RkxY{8k71APV$EwfTFS5(dC1U_3b>=C865Fh=*T}Nc&K82>FLE&r*#fM#4 z&`PERh8806lud!iCLR9YgvZ9inhIi#&tz9Q8JY8vM`kI56kPa3-<m5jV6+{BB%sn^ zgPM&Ovo<hPBnL1D>88KV9mvRAU3T!dE}D=0lQ(W8Zo#rykfA~%m1!3mGD_xlOdd7k zp8QS*BHDrtb3n-DPF%bqm8+Rnbpc$-LI)3AVDP{W<LGGjju$7WyqieQWjkJR$9pWv zyc{<@d})_k?7^&Ke{oDmNy!HMkhtS~HKcNP;1kbkTgNcMUxg5LKLK^<u?aC^J4B{0 z<&?9D4K*>QrQle)s9X;0f@o?H#EBKho$r{5N^*Y^pYCL-^UZtNT-#jf<86~e&jFMk zZ{E4_mWSBM=F<-?pS?$(@TX%1uc4MT-piBDI;gCG{DPmw!f%Rpkvq-{(pGo($?9I4 z4v?=ndWM;VPhUSfdiI6_sJwdn24kq~=U>tdInp}4$<Ce&)4D%k09}^y9;yUcEs=+W z{dklbE&v1$asr^326Pz`?f&%YFZ^2u60rF_6;FV$O>+&F8^MYl4BjrGsUTJjKZPIk zhP(>k#j|Ec&jIB&-h=TbVj$el5xxdcV8vjQViYg7VL=?hEGHFGuMt~tUo`OpyyGcp zl?cO3*FJlSN^;Qoz*lM~9Wt+W5?fa7i+~b4&`7Om&^H=YQGc`LrV&(TQy6p$L_Gx5 z!&cEkJNyW}!z9g}w-e(~@mU02>$3DAL4!2Xs9+3BKim(rDbSDB_SI-P;*Q<=(yoO` zE71xr2y5paqqh#JK5$X~TC^8{uV+<Ob9{bJR0zVMr#S}0pJ9yrQ#!(qa?B8p*C_)V zNgDOx_7)u)_R=uNd-1!w`<Uwre#zw4^dM-^=p17NUS#zl-j1a&_$!J)04Bvt{vBS4 zBGKMR&K?76Cso#%amkdlFwIiMijJM47f&rY%O#UA1H*t0^fe8O<MQP8wy<>uCEmCV zBH@XF49ZSei*Y?_BD^rmHsx{LcxQxe0yp0MQbdz8AnPC2YZtt!xZXb(OXFFYSVjb} zUW>OqRGXY3><T{7UyULNBr^Hz3q}rdkB!09_gflE<8Z@Vv+4e%c$Dw$lj2GU&Bj89 z?XVyd1m)G*Y3^9;%F+fm<ks}+3XYN2RRtW@?XA3)tvF40Q5sFeu!$;SJC3}-ou-Y@ zf}shJf#X^{{z-t@EB<Z4vRR=v&3(jA*^U*}%X>(kDjCIhNneiTvM+x_m*H~9-1Ril zX91l6F*}d+pP7#5RG9a-hY?<L8D3obx|vLjlX+SA#!+wwQm#4qSv@R=!?E<q1MmHV zj3%4dT$JFs>F+V;c|ON9-d?;SP9*jmh%R_HM7iiaqaA+a?m_OaSx6C_W=AQ0ujV8e z`!iF9Z7S0kX|u<u72LEynWFg)oot^18=9B%tZXqqtV;Xa<?Z}{`sKMM|4Qal??)*d z7NSv!mx_J@MxyIYEE#bRD{LJ^A?^@?^&d<wryDaV*35igt2}~xwaC&yw?TuHjLsIT zS`-&zO1He#)r+jf<b;2r*iNzZZyvzXD+<!X++jv)%)MSMF?@9PK2vE?HYv34B%gL& zHi)wAx39ZR5xZ0*F;{S8#I$LrCN;uiObeNQc34*s$kx}M(qQ+H4et;;YK1MRNpA&P z`OqUMZJ)Bx9m~lbako*nM#uN9gA<4fcLxQrV?9tH03(dFb(>AJ*$EH5F>-YGQk-mN z)9rWXQk<w_gn7`{dGxQ1mv}t)b|g^y?&_F}bkd_Ik!@`B&~=vdA`?N2@gg+Em2{Ss zzitdEL8_DUMgD03t<ksOv2?bU*P!W+xCjkk1xfizhrmw81G*SF!i$-C?Y+`2P-Q=I zB0bEr`h!|M@hMuPku+~Fpe^Gn<(GIp5t!$;t~TGAH}0<M5q~u{Vs`V*N1DP`!&zo! zzA(o!eE1a(hTad7q*+ugYP5eFnT4>7eLsIaD(Mp2NJlW2<NMuL6qtj*54-?)XqDIi zZ2W|`Oe0;I!Dd`C$Fa$)?VbSY@@}Xe;MWv6#0qAvuMP@ldm&eoDIECC0!}Ot`Q59C zJaP=41Yi?!mejik_)=cc^LMhjb(*Q&IK7&$c%Srjkp{FCXh}tNr>OOBPly;_6vggd zwKK<R=USC+l~&D-dfZ%8S4dC#BOVh(`eP`1SIK`bMBa!T1c~~|qY898y$u8seFuR0 z)e2hK3!zPYw+vd9m&atYkuOC~?-fe<evreLwR$SaQZA(5w{e{^hYfPI_>svU3-N<g zPm5FuhRT3791b2ooJ0p~_)y=E7bmQ)0^v}YMmcO^oujStK-9mz6&3Z@2s3TxZ9Xtw zO=S5AYPG^5g<91zL{?vVw4?>Tig=iXF+4T4g2sf#sU0f6ySuZGe?i<VSm_&w8KAcS zQUF5+1gXvkWCLT%OEE3d0Pnw%o+3zP5q!@Iy|9RqprN0-1?UT!-r0|$INRN=r`2&K zMmXF**-MM00^#QEv`UYQlcW;EjbL4}3F|h{30b9LYA9SII$@<{+$boeRm_?^J~mSk z^Kr@$O4^wC>CS6>87nCMee@9<-`y2IP`A-&#A!L|t@8DNQxd>~(Nt56t13sB>lziJ z`wqpOt=nsiB`JP_)Ekj*^e1^C13vy;Y4tc;BS7)?7NzszGKUQkg>|Hxu9fH}khM&I zBAojvJwBNLa2QD@k?tKm&2$3=&PK;gl*^`8wY<IUtaLe5u*%7t*OI2NTURa86lbrv zMxZKCbcInLcXu-!fGP-_IciC~WdT2QK|O<v*F%CGO4OIx0!}VcbP$R_MQl~pB`vI> ze}!hPH@fYGj^f*fH){}SG;&3gQsZ5&eomO87`-V6nQGaf{!9U{iX;-%h(uMSg#7Zj zKEVwKf6@y6QC>f#9$UlnW*tH~{k(XR0C0arBl>IW18E+&dMHa)GHH(^icPGZ>>#cN zcvp;kaTV93KMCk~#r83hDiX;u<#$082e3)$H50G_map@3euersp<$?YcPn|dX`mVf zLWD?ABk>HFgQbetE!60cE8n}8wQ^QG$%?f9*lAGFk&MlTY9Xs>0Mbc*j;RBK<lC@{ z_(E2<ZG{U3;zAqIpGx-#WD&@&wtr-dGV*H%U)_CL!CR#8Fpj^D0At%Qi>COJvN$F9 zOL!{ah~_AdgD};gLbQF3`Rl)Z^Wr-OQ$<v(kT26}bb5NxUM^_%8q`&QxQptWproJs zCyb$sw1fqK<tzai=q7#mKxCf%;z0~;z;1H4;Rx7t22=PDAUq|?&`Bm;#`Acgb-})m zF%n#5FD8)c$Mj|$MaL!VGYty-NC*S-Kv;_3J3y{V1bZIM2y^)yfi(tTMlql9l{ix? z9IdN^D2*F;O^VHRpz{Ad0YCoX|0Yuj7VhKrme#SFHq%bC{!PCB$3On@0W}uH4rG0* z^AgVN?zxZa-Z=XBdv_OC*rBCPDdAnj0MAEi*Yj@D^kF6sr?$Sn$#Id|^$b;DNN?7< z+`QxXp_ca;s69;O1ddfw(&4F|3xyc0kU@+tEX#~w`SSEn@&x_+h{6}WfTNjO(NC;f zQ%Ba*VlE1KUYe)Nxh8*c5#9V{Zx3+uhm`TCHu$=FRG~5E=*K_FF#3N>)wR!^@JGf; zw#8=Yd(~{ABY49>Yfxlt6D^ZwB-|{Dhr_?X2>yneDPRc!Ai%5X;l4Miwa97*%<&Hs zaS2sXY$VnlUO@SV8}l-_2m8c;b}Wto3HOwbRB{)h`~acx0!UO6c7iHn!xVD4q-g%( z#v_XMAA_Pm_2s3wFB-+g@sB5HpeS&rdXsqg9OaBJK}81PA5se2Z1FFE=om}Acwe$4 zM<hml-QE2mrrX9l$lVC8+USN9{6*S?-B0lkFxQAtd4e}p>ZYYxf!tuNxA_go(r18X zjYzNrNkcajuTq2-$`c4Qpsn#N)qIk?KmWJg-5D{y=}Z}-Iw&)vgM{&XX<*IL#2QAt z<*0<Gqv8w`LQj__qHrsr@s3^ry1)o#N(K|%pfm+@oDrJ;O}<`@dJe}ZK7`Vx!4<|U zSb=mA7kb}(boWgr*+sI%!4^6`iSZl);Ee%X<9MEC(jI&PkLSSNmEuJ*jz3CX|62Yy zlt0cS-2$vbP|X!rahi@Nr;p~7Q)w)|O0(nBllVh=1q&5_O3!z9KTNNTJ!d_@agPog zAINP3fihvpe42)<y}h_O{&bRF0Zc!@%BzLC(hD`+sc&zu^cu*(6*Xb<;`m~34;xsE zai6Pkzl3qWd~`l}iQ_&5j^gDB%#uccpI@biIHZZX2mdNs8K}}6zrw{oqaQK;BO$dK z4mIDha|WpJ=z=><XOoYQE+!w@eMB|2IQ|Gt72!4giVtBiqnoqzI>txY>PNun3rx*% zF&xqZ;@IAvaN~e+ybsTyDiQ{m_nElR{_=4;2kK^S&a)`NuNh32#!o-@_D`nE5Z~c> zYNcd2i}5w%D_--0k*^dCkMMkGA_FQ%(CTG~fAO|F@syL<qx52;3qhx_EW_bRghkIN zo`FK?OH=kR3H79%zQW5qGAaS!7ElxT7pTa&{v}v-Vw6g`$8#baC`-iG<dUkoyOx(L zFbM-N3xc5K6P;p3nqveFm<SRT!^vPU3Wt)RU?I)W>r~8jtHG4Vl>jHuBl?ZPN)_X8 z`bRGL50S24MuDVsNbQlEDNH^ZUT{Cq3pN2z4oK-HOVfQ%kQ9j1%b`euT}9o_u{w0E zXLe@ho0(~$nestQ!gu7lM1O$VM3K}t=mt)0(7Xf239Ftc%^2>nT;GA@^fU58WKF7y zX;`zGhIDK35!(Z6Y8P;VKOXVN+8iY?618Xps6ea*<06$>qDg^zER@zj60+*zt+kt) zPJk!CZ>Cg0KE;(8sX}Z-$rS0?U)gGqfs7_2JK@L`s`v*%(ur@=358g+5D&;P;NvOa zJ2Cj@u#<#dj~@9e>7$T_nO{*K1q{#`OyKsmm>PWKUyH?}%U!CsAyNkG_3M0=7aw!d zK6L7sA2F>9EDNxO#F>dum&`T6<~rnOnxgTnOEM44FKc|jQq;1lLr=6>;V&1#7iDZh zZ9m39CYY85|2`7}?B7S|v2Z8{&sRTaLI|WOO8m(uSe0inrjHk3$ItY`CMTb0^`z2a zM|ZB1HPgUiJg6Irk=N*X#>>>2TLH&5zo2k>x3?Lb;SS6iIMR8f@q1JaN#y*P&Tntu z!$EG+P&m#32=XY8ujG%H#zvfrbwThgV=>BfWh}ugM%nTO#R;R^G7jtnTzkI4Zpq>% zn!-@VE=I}v-q)g{TH8VmE;9z#SomRrFLkj?ZEK{(vDTdK$2*630884VJI2&INQDm- z1~+LNlK#&39i$wVoQ_gp1I`pD9lw!)e`)~U!~P#J+I*ib;MksA0ZVYTyL;u3sH5H8 z?@9LzToG;h>4)$t{vPnP!J{<^-=tTui3RCZdKw-<2^jO0hJyZyhy!ggqpp?@C@DAm z9XA|*f~RMI>?q2>Os)tES@H&if=OP-Z;%JEP*B<eKEe?QgMWrh+DrU@x6IS@JbW3S zL2sy|n8zQ1{W7En>X)>hySq;TA>q#z{JCbB9i(R2$pM!+AnS-Fc07$gM)4bDF5MA; zF!B*6%1jST<yH6wR~e_7K8>HE+C~fZZvj3}(tPqHebNElBnscAPa;us^3?3<ZTz%H zDgD-5=rxXE2ljL|{nKbwlE(*9rb8I{Md)e?JR3>94VUpMo<*_HGsvRWBV|+<yc4?c z;Wm(=mYPTifbM%`Me=+iO^1kT5KaC9Qa5P<3<gRIwhE+mN>ecCSCQ68I%CpsZKKQw zk_v(o?4L54K$RVk_JCQaJ1Z1TqGeh;J4-iXC_Au)9YDz1=slW-AAlKI#ZPDgz#7)H z)~GpvPT?>KU!lnfNR`0t8n&P@$`$f0NH{gKfdkc>Gmm9W?&z7_5gNWw^^&0}%!9`n z<8f>lH(nuI_xI5martk{OR0RaUg#`vjP?_o332JPY{maRRGUW$S$-Culs&}Xmx{kH zZT{Y*-tiK(FlWr&m%cNa<1ebIAF+%f+!%$qEY@NE;B+YYkxv>Chl39r{qy$L)D*sP z_`LJ5#XH~Y7;`M!GR{-YQGbJHhwe%zX_VKzIdI;zJXSA=cTVl^iRAB`VrJ9o>b~)g z{LTOtdTiet26VhK1^jJLkTD)N^WaFl;-FYKhrgqG;Q$p4Z}Fe+(sBGO-H%_S4}lzh z8UKihzv0}?W-Y2RPJ{Tb=>v3Wxy?U?)1<k5e_P%zZ@-9c>*d95b=BNnmb2Tky}B*R z{CIY8a{E(N-TuF-o<AsJG(E=OroNN%`tqz=psI&{xF68_v(8{wPkk5qxMaTedLclY z{oUp6SuEf0$lqF$naZ&xs>AqsY9~CUJ09pA1qfEoSi2du7wA2M0uCk-e1_4aLs*Tn ztl9xm)IrA1BZCb78>qoX>-f*9c{f0NE7)dc4CV2tRN;=K8mD5Tb2ZA#)g?d=_q_Rl zb_0-s*sEk!OPV0WPBbB5h|1AbU9{qxN@&SutMA$W<QfG~l1nN$59IEV;}%DPTq*!< zXhd*CvRTnPq=q1m1C4oY!PMB1Y+#x8jiHQhL~_GePZIAunlr>_IU@>Ekg)Lp69;}H za}>f_6z|L1TVDW>on)k2;<nrG$E`y+EL0Ws?(11kr((jxVz2)m15HA-rS(7Rbb- zG*3eQS~(8HUvv@9=aV6I6=?tTVc*dT`Wxh*FjHPbYMWKl4)TKBZO(GKNjs=&10CZ5 zqHD0Hl=c%t$aj-FLiffR-xzx=5o?rNYqW2!iMw9wHDCswz}!cZqrIG)esw<ez9rZs zczVz%PES*e>+=uKX3Y)wyw1;aU@B%3NJwV~ut4R1wg8hH(XVKWY*94%d@vj|2*WV4 zO5pn8oeinYMjwevYVq~r_?B#%C*?Z+6H>^(01f^D<ruQJyaNI~X~QEEqIgZab>elX zOs)Ean~0-A3810<f?XGC46_7WiHA<+(;PnN0|$W0iy`lZSX^T2eS3R*d?K_;aLiXS zbOA+8bHk*ev%qJ!o})-ZF6J*H%r1-N%*$1n0vRFnUsf<$(|aendCm>Al5P42KZmWx zrQ2J9bMI}OYoo~Wa@U?2ycnaRq43B^WaTT`4C$YbUcDT#jiWdRQpT^5Js}=Geh4sE z$A7ASayZ2j38(1li;zP8{2Bfn-=IQ1kYximHl?8yG&zyDm9ni;f})AF<v{}1-H^?! zf>~&TYlZh;q-Q)~Rw(v)8H-sb)tX4Xm!Uxqc^+=B4r<f*>C431zXRG*0aOkP&j8gs z<4m_Jt^AZwf?X!p6NH+Z%cA@%Ik<i~9<P<Kfwry@=fg?^oyD!D`)6fHw@5*Z$pU$D zRWZ42Bt@*^KX7Dg@q|OgPz~$w2)N|D5070m&OaNCH4^6<0iQD7k!hQ+w`6T5E^VaU zSGsgRmb!I(tGyK~+{2H@H`K!^CZWJUR(CJCHetvnaPhenqQSL##75O#$D4Z}14gq_ zrl;rBCGia>j|j*Ug^pt=i22V0-L4!-)r$hLsE^=+`r&^`?5Uk9E>LOO3Vq6d1N7-f zh<h$e*%s~fDeOgDmA1mzT6A|Dr0y24=ihI6sI|fKxmq3B{1%JT*XTDe8rj}C{pO~M z`#1Hbk`1+$Y^LsSCIfDaaw3aq2j2i2HV9&eG-i@CT3FKl55f{Ebt--Cc>^oNL5u<D zR#${F*;(~5|AmpJzW+)e;4ox^89#7i+5H=Pg0qv2o$<q+I2e#kejtH12rEhmmMtPA zJ;7PcU~!K#?!*ST-aLHBiDa??-mwW{nf(;b&)(6Ph*{++)AS_IV`8R~GLJ8+%N(UQ z6u;Yqm1qBG#V-;#irFcbM$^rz<S!~bH$N4Z;@3}@yq&{`*GkCwfLAQ5JQ_7sjXJU7 zpS(rzyFP7=C*xSg>?WvCO7+ie_LI@r7W|@lu~$2QPD+_<z&e3P2w+U?-opaA2l<UG z4^ojnt>t8bZlraR8tY4xZR>n+U9ARJfCGcJ8nA9{8bn)m&DzH883e9X8PujuH6;Ve zQh_M1=6?bNrq-z<^oK}aClL#@NQ<eT_;@pYsq=wHAsCFnN<9})P(#&@x_Nj*8mJ`b zWGvIk2C^8yZ^Y^kczYT+gS(_J>XxQTfGuJ=Io{kx(ow`WoM5Sq1qjU}wuVxP1&82m z3DWlx_8&;%3Q^!p)6k5qGtW8eDt*>zSj@6|uHj6bNvPnbp@>AK${UH>pkx=!ap0yL z3}n_T>k}s$#ArZY!v`n-Aip+x#XNPoSA0r>%XyK^tF{@+%0cWdr%c#qo)0vk{*^a7 zr8T=z0l^T5f~PC=o<PDLbxLxgBtgD;%VG`QyO98U7sR^jg+=VMe=>>9=5w)$QuDze zumYY29kyO<Lu_@s9%^O;U9ib0fCyk7YVydk11#*sN8EBv$m|h%gxu1K-r?<5I-RHG zw3Xg7dAuJb?Qwo$8C|^6{av(_;@>)4mqZXTk|tPd@H@oDP&5Ng$t6*#6j8|y*1}ma zjN!XIEy$?HW&mr*WsS|EHm9)(^jgC<IGE1|az92kyS?~VvD>+$RN^2FY%H?H`|ita zkbRRH>azrUUV->E-@P(yX0ff$iVRu5JM>?AI5(n;&r&pqHc(W7<05NFLJ<v;d~$C^ z!vQv<<OhEEYzbDH4n=d)xOlg8BWo&+g(Ws9^@S^ibXUuk02+`09HZtUkKv5T*bg}l z-UzmSKA^X3^o$Rya?ZJog*aRQzep+-VHJ&+Hm~1kUVrt!yuQWje;;=CK*Wx_|8tpq zu}vKw|NF24J|%7NHXbnYOU>aIfT|8--=x{+F!l$+Q{k88>la(_^~=xW>od*QGt}<E z)@LHh!T<8{|DE~x#v<9Xe?A}2dnPr08>BNcB5lu8=XpyW{y^aA-7GwZqfi{YINy?B z3*Oxt*p{rj-QB;CbLW8&-!8_qfo)$IY`dTt7T0b;;#X(dd2t2LE+~@2vd{mmSoW>u z(w~p}_hsojEc2?Zn9Safi@!^by?5_7N<1|A^*grQ{d<wvd{3c3w}8wCN9Q5QfMo=f z3#8f+Ef+J%-2xLLcT1nl;E5@86BG@`Y651uqV3TvGklF9j1n1O30+1y->mpZuw&jf z`9Kf8K_2Z4&u!$|>H#Y12QY(=`6#%@7WSQKwv<94B7720zkni+vCoHw)VMam-C&VL z2N^K1R~K13XaLb$fX_uf0Hm3rLl!`(Iv-@E0l-1MTI8d_^L9`)gJlJU-~>mYHp_el zywHGRb1w0n>;V{SYPA7ii0ZFO5W_NAM06bwzQxrzkam;7RRKcPNAzt#lMgnbunGzn zII`;){+YA;A{Jmo8!@}4R}gJM7j=G~P*{K_dGG)ieyB_|qoR5+uV&2yJ<$hZa1Vl* zDL@jOo-MNS148e+JOezwtN?b|8ODT?lN|+u<IMGTb_GgT;Ui6>KV#vQEV<3n>%z47 zu)NZkHdw+s_?KLOxkRr#j1G!RE~1K3X%R1=t}X``bWIeI=jtLaC1`+{4~(7{RrO&2 z{N?qaDK3izQkhDl3><?rHYzYL&dDLJ9Ssf?$`Ec)BY?UzjK=5~og5M4t{dPVVHgEY zKx5CKDi_yOyTR%g)s<PC-xFs&D61>8R|J4a0Rc6jYBp%DigtE^yWuRyu93n4cmN5Z zp6-!qVy{h}6Y3fjXR8{g2On{0H7vmS=VLIlHq8UQRkp)mU0&kwy=kF~S?H;$1*vN| zL^q33hUx!jlS07`Z$StZ)i7wGj}Xl(fzKD_fr9I&G5lw*+Ez;?hAY=;hK`t2A7p5o z)HqzK$uLf?fVBebK2TG625VQ<rgN(4GW{kj!#O!hBcr^IMfDZm$@rc;^Bu?5H(@6O z^?)^7_<3!`2knLg)i56BG%`CX=*DQEMhws#ooE{!0u<vyQs~Glw)FpgJho!8zOSnH zi+l*HIsAG&j@E7vQ8U2gTJMk>CpIR}E0)B*u>x-H{|<v+a*=^<LzgyQniaX8lp6-7 z$l%1UrP#5gBuHkM^R9+@NTtIK9NVmT%+8u>u|oe`XnZ`8aWa1zvgEUG2dnLdr8OEI zXnFkx=vf2RmQ_JL<Muno&6k>c?_`kO_?j0jiwL0EnI7$V@hP8A1o#mYV!-rMk6FM= zlpFp57rd>rQnX@y9*n+hbXUiMw4B_?HU3I<LNQWxNxJQGa%1;3))7VFBpNa?8j7fq z7g;le6|WX}`5(~hJ*oqOz$`kT8LF3URV~i4`thTVre=V@Q_|B=yvgArKW_s#J%(+z zOapXCeuHP>90P=QYIB^>%M6hU^N3)FnhFe#kLk+Ki3|>E4dsCztrc!m9s+t#0%1%8 z+||W-00$n%JmszE#yI7-!DIcs8<rG{BU!-6^MMRos#aql){O$IvSb3C3}}t$9j_L= z(r^<49yZy>JQxT#9MOXWBYx6w(V&DLADh6j*7@GiRJ&yER|=@g(6!nUUzsKoka}zL zIow}cPs1*wlXK}3I*S!u)PVi)GI!=<)HBNHiX>Q>X~JY2*E#!cV-PSX66#K)peLrR z?ukDexx@G#NjLu$14HU8y02JmAubqTK>ofgS}1kr^W9zFVH(<nBDn^gu=K4pDw%kP zmzytcio_k}1x1nNNnKn;C0pECBBK+GBY~+^A~XI3Vkd>##QUj*5oBltyA?A*SZ_qs zdaOh`rGsS=2EgnDaUddm8{(IY`Mu{f5{-ZXE3F(?$5I!=4KWJ}zlEagq?;J4P-;<3 zIE@!(Ie&W5&|eO7ir+9}DJu6&2=2!oaChJdhoi=VNF<NeK~hB~XBXhQPK*$b$C0&3 zylXEns(6QYL&}FFfXV}dm?>9;W5a`k91?@|iBxzVo4VnXb>BoIxv@H<i*CgAFJnY@ z-eVJ9u|BstdqqTs-BE_Ochw4xR1m{fCDLh-O{wz+q%L8RYh2SD?DmgnnG<Np`GgS} zO&Yu`D7;O4Q_PvN>5OP<to=JV?P02Ufxe*3De;X#D-FOnth=?@CFK(7RPeW44ud|} z2bOCC5K4Iio2Egq_Y|-HfRr1Gj1zin_O_dNwk~jHckNvh7u}s}F0DpeJv@Oacdt{s zwl-UAQ^uO4drcAB(OEUW9$n^5lfB0vvF1Ki@xbx)u(p}LIV#o|NA$KW79&xE?)%W8 z)7s&`MQrwtfJ4#QjX8NzQ~3CU*nUZXsBg62@^3U3O4ig%sFn@?u|ib}{hJ2iCGdXi z_B`P12T{P^hL@bbB@J%SFFIeZk?(Qa*|Oz_fBap4%SZ5kU@7}L*uX~aAgjasig-yM zJWQ1@)-fK54`hbX;um2UzLqS8Zo{aoK@I90i0S2$czNF<qBuYU!@pQTm#~N1H`;;R zD8n+pqJ#o^<M<}S-P+vg{TS5_y8cRhs<Bj7p7Rcar%7ECV)w}5>B`UNHh;Jcv$~-R zgOhCHf!R$wFhGxExa#nj{7zuJ`^n3cc1H4?N`(@7@xW-2AEJ%?w1%%n)VumTQYDSq zyVG5pd2aj2w8{N{FDN&cWft2+E5Y%bqL-q|3<Z-bHLbSoG)JXiXYD%WF-BWtD5P}A z>U2EGbmH%fBP_PZ*-3}DRgqNj>%`J-b@9_WNtp9IR+UU2ua+<5V*YlQXRTytPFV(1 zh#GLkkbFHy)6)v2{V)TrHYny8Qz0|vLvivbF9dSBIs2HIAd{C)LyHwB#u9ibeR(Nz zf+}a2T(w&x@2w#rQa#G1!~LXsoK5!=ycipIFfy?RD9zF^9&>v$u60EvbN`}4Bj-#j o<{lm-bYEeH2q_x+xvg%EvCR-51A-K~y<9y0|6l)4#*23X03V8c_W%F@ literal 40511 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 X9!q!(B5kR!=1=}V)musg)IkCOxoYTS diff --git a/homeassistant/components/frontend/www_static/panels/ha-panel-hassio.html b/homeassistant/components/frontend/www_static/panels/ha-panel-hassio.html index ca491348298..906a7294b1f 100644 --- a/homeassistant/components/frontend/www_static/panels/ha-panel-hassio.html +++ b/homeassistant/components/frontend/www_static/panels/ha-panel-hassio.html @@ -1,17 +1 @@ -<html><head><meta charset="UTF-8"></head><body><div hidden="" by-vulcanize=""><dom-module id="iron-image" assetpath="../../bower_components/iron-image/"><template><style>:host{display:inline-block;overflow:hidden;position:relative}#sizedImgDiv{@apply(--layout-fit);display:none}#img{display:block;width:var(--iron-image-width,auto);height:var(--iron-image-height,auto)}:host([sizing]) #sizedImgDiv{display:block}:host([sizing]) #img{display:none}#placeholder{@apply(--layout-fit);background-color:inherit;opacity:1;@apply(--iron-image-placeholder)}#placeholder.faded-out{transition:opacity .5s linear;opacity:0}</style><div id="sizedImgDiv" role="img" hidden$="[[_computeImgDivHidden(sizing)]]" aria-hidden$="[[_computeImgDivARIAHidden(alt)]]" aria-label$="[[_computeImgDivARIALabel(alt, src)]]"></div><img id="img" alt$="[[alt]]" hidden$="[[_computeImgHidden(sizing)]]"><div id="placeholder" hidden$="[[_computePlaceholderHidden(preload, fade, loading, loaded)]]" class$="[[_computePlaceholderClassName(preload, fade, loading, loaded)]]"></div></template><script>Polymer({is:"iron-image",properties:{src:{observer:"_srcChanged",type:String,value:""},alt:{type:String,value:null},preventLoad:{type:Boolean,value:!1,observer:"_preventLoadChanged"},sizing:{type:String,value:null,reflectToAttribute:!0},position:{type:String,value:"center"},preload:{type:Boolean,value:!1},placeholder:{type:String,value:null,observer:"_placeholderChanged"},fade:{type:Boolean,value:!1},loaded:{notify:!0,readOnly:!0,type:Boolean,value:!1},loading:{notify:!0,readOnly:!0,type:Boolean,value:!1},error:{notify:!0,readOnly:!0,type:Boolean,value:!1},width:{observer:"_widthChanged",type:Number,value:null},height:{observer:"_heightChanged",type:Number,value:null}},observers:["_transformChanged(sizing, position)"],ready:function(){var e=this.$.img;e.onload=function(){this.$.img.src===this._resolveSrc(this.src)&&(this._setLoading(!1),this._setLoaded(!0),this._setError(!1))}.bind(this),e.onerror=function(){this.$.img.src===this._resolveSrc(this.src)&&(this._reset(),this._setLoading(!1),this._setLoaded(!1),this._setError(!0))}.bind(this),this._resolvedSrc=""},_load:function(e){e?this.$.img.src=e:this.$.img.removeAttribute("src"),this.$.sizedImgDiv.style.backgroundImage=e?'url("'+e+'")':"",this._setLoading(!!e),this._setLoaded(!1),this._setError(!1)},_reset:function(){this.$.img.removeAttribute("src"),this.$.sizedImgDiv.style.backgroundImage="",this._setLoading(!1),this._setLoaded(!1),this._setError(!1)},_computePlaceholderHidden:function(){return!this.preload||!this.fade&&!this.loading&&this.loaded},_computePlaceholderClassName:function(){return this.preload&&this.fade&&!this.loading&&this.loaded?"faded-out":""},_computeImgDivHidden:function(){return!this.sizing},_computeImgDivARIAHidden:function(){return""===this.alt?"true":void 0},_computeImgDivARIALabel:function(){if(null!==this.alt)return this.alt;if(""===this.src)return"";var e=new URL(this._resolveSrc(this.src)).pathname.split("/");return e[e.length-1]},_computeImgHidden:function(){return!!this.sizing},_widthChanged:function(){this.style.width=isNaN(this.width)?this.width:this.width+"px"},_heightChanged:function(){this.style.height=isNaN(this.height)?this.height:this.height+"px"},_preventLoadChanged:function(){this.preventLoad||this.loaded||(this._reset(),this._load(this.src))},_srcChanged:function(e,t){var i=this._resolveSrc(e);i!==this._resolvedSrc&&(this._resolvedSrc=i,this._reset(),this.preventLoad||this._load(e))},_placeholderChanged:function(){this.$.placeholder.style.backgroundImage=this.placeholder?'url("'+this.placeholder+'")':""},_transformChanged:function(){var e=this.$.sizedImgDiv.style,t=this.$.placeholder.style;e.backgroundSize=t.backgroundSize=this.sizing,e.backgroundPosition=t.backgroundPosition=this.sizing?this.position:"",e.backgroundRepeat=t.backgroundRepeat=this.sizing?"no-repeat":""},_resolveSrc:function(e){var t=this.ownerDocument.baseURI;return new URL(Polymer.ResolveUrl.resolveUrl(e,t),t).href}})</script></dom-module><dom-module id="paper-card" assetpath="../../bower_components/paper-card/"><template><style include="paper-material">:host{display:inline-block;position:relative;box-sizing:border-box;background-color:var(--paper-card-background-color,--primary-background-color);border-radius:2px;@apply(--paper-font-common-base);@apply(--paper-card)}[hidden]{display:none!important}.header{position:relative;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden;@apply(--paper-card-header)}.header iron-image{display:block;width:100%;--iron-image-width:100%;pointer-events:none;@apply(--paper-card-header-image)}.header .title-text{padding:16px;font-size:24px;font-weight:400;color:var(--paper-card-header-color,#000);@apply(--paper-card-header-text)}.header .title-text.over-image{position:absolute;bottom:0;@apply(--paper-card-header-image-text)}:host ::content .card-content{padding:16px;position:relative;@apply(--paper-card-content)}:host ::content .card-actions{border-top:1px solid #e8e8e8;padding:5px 16px;position:relative;@apply(--paper-card-actions)}</style><div class="header"><iron-image hidden$="[[!image]]" aria-hidden$="[[_isHidden(image)]]" src="[[image]]" alt="[[alt]]" placeholder="[[placeholderImage]]" preload="[[preloadImage]]" fade="[[fadeImage]]"></iron-image><div hidden$="[[!heading]]" class$="title-text [[_computeHeadingClass(image)]]">[[heading]]</div></div><content></content></template><script>Polymer({is:"paper-card",properties:{heading:{type:String,value:"",observer:"_headingChanged"},image:{type:String,value:""},alt:{type:String},preloadImage:{type:Boolean,value:!1},fadeImage:{type:Boolean,value:!1},placeholderImage:{type:String,value:null},elevation:{type:Number,value:1,reflectToAttribute:!0},animatedShadow:{type:Boolean,value:!1},animated:{type:Boolean,reflectToAttribute:!0,readOnly:!0,computed:"_computeAnimated(animatedShadow)"}},_isHidden:function(e){return e?"false":"true"},_headingChanged:function(e){var t=this.getAttribute("heading"),a=this.getAttribute("aria-label");"string"==typeof a&&a!==t||this.setAttribute("aria-label",e)},_computeHeadingClass:function(e){return e?" over-image":""},_computeAnimated:function(e){return e}})</script></dom-module><dom-module id="ha-progress-button" assetpath="../../src/components/buttons/"><template><style>.container{position:relative;display:inline-block}paper-button{transition:all 1s}.success paper-button{color:#fff;background-color:var(--google-green-500);transition:none}.error paper-button{color:#fff;background-color:var(--google-red-500);transition:none}paper-button[disabled]{color:#c8c8c8}.progress{@apply(--layout);@apply(--layout-center-center);position:absolute;top:0;left:0;right:0;bottom:0}</style><div class="container" id="container"><paper-button id="button" disabled="[[computeDisabled(disabled, progress)]]" on-tap="buttonTapped"><slot></slot></paper-button><template is="dom-if" if="[[progress]]"><div class="progress"><paper-spinner active=""></paper-spinner></div></template></div></template></dom-module><script>Polymer({is:"ha-progress-button",properties:{hass:{type:Object},progress:{type:Boolean,value:!1},domain:{type:String},service:{type:String},serviceData:{type:Object,value:{}},disabled:{type:Boolean,value:!1}},tempClass:function(t){var e=this.$.container.classList;e.add(t),this.async(function(){e.remove(t)},1e3)},listeners:{tap:"buttonTapped"},buttonTapped:function(t){this.progress&&t.stopPropagation()},actionSuccess:function(){this.tempClass("success")},actionError:function(){this.tempClass("error")},computeDisabled:function(t,e){return t||e}})</script><dom-module id="ha-call-api-button" assetpath="../../src/components/buttons/"><template><ha-progress-button id="progress" progress="[[progress]]" on-tap="buttonTapped" disabled="[[disabled]]"><slot></slot></ha-progress-button></template></dom-module><script>Polymer({is:"ha-call-api-button",properties:{hass:{type:Object},progress:{type:Boolean,value:!1},path:{type:String},method:{type:String,value:"POST"},data:{type:Object,value:{}},disabled:{type:Boolean,value:!1}},buttonTapped:function(){this.progress=!0;var t=this,s={method:this.method,path:this.path,data:this.data};this.hass.callApi(this.method,this.path,this.data).then(function(){t.progress=!1,t.$.progress.actionSuccess(),s.success=!0},function(){t.progress=!1,t.$.progress.actionError(),s.success=!1}).then(function(){t.fire("hass-api-called",s)})}})</script><dom-module id="hassio-host-info" assetpath="dashboard/"><style include="iron-flex ha-style">paper-card{display:block;height:100%}.info{width:100%}.info td:nth-child(2){text-align:right}</style><template><paper-card heading="Host OS"><div class="card-content"><table class="info"><tbody><tr><td>Hostname</td><td>[[data.hostname]]</td></tr><tr><td>Control version</td><td>[[data.version]]</td></tr><tr><td>Type</td><td>[[data.type]]</td></tr><tr><td>OS</td><td>[[data.os]]</td></tr></tbody></table></div><div class="card-actions"><ha-call-api-button hass="[[hass]]" path="hassio/host/update">Update</ha-call-api-button><ha-call-api-button class="warning" hass="[[hass]]" path="hassio/host/reboot">Reboot</ha-call-api-button></div></paper-card></template></dom-module><script>Polymer({is:"hassio-host-info",properties:{hass:{type:Object},data:{type:Object,value:{}}}})</script><dom-module id="ha-call-service-button" assetpath="../../src/components/buttons/"><template><ha-progress-button id="progress" progress="[[progress]]" on-tap="buttonTapped"><slot></slot></ha-progress-button></template></dom-module><script>Polymer({is:"ha-call-service-button",properties:{hass:{type:Object},progress:{type:Boolean,value:!1},domain:{type:String},service:{type:String},serviceData:{type:Object,value:{}}},buttonTapped:function(){this.progress=!0;var e=this,s={domain:this.domain,service:this.service,serviceData:this.serviceData};this.hass.callService(this.domain,this.service,this.serviceData).then(function(){e.progress=!1,e.$.progress.actionSuccess(),s.success=!0},function(){e.progress=!1,e.$.progress.actionError(),s.success=!1}).then(function(){e.fire("hass-service-called",s)})}})</script><dom-module id="hassio-hass-info" assetpath="dashboard/"><style include="iron-flex ha-style">paper-card{display:block;height:100%}.info{width:100%}.info td:nth-child(2){text-align:right}</style><template><paper-card heading="Home Assistant"><div class="card-content"><table class="info"><tbody><tr><td>Current version</td><td>[[data.version]]</td></tr><tr><td>Latest version</td><td>[[data.last_version]]</td></tr></tbody></table></div><div class="card-actions"><template is="dom-if" if="[[computeUpdateAvailable(data)]]"><ha-call-api-button hass="[[hass]]" path="hassio/homeassistant/update">Update</ha-call-api-button></template><ha-call-service-button class="warning" hass="[[hass]]" domain="homeassistant" service="restart">Restart</ha-call-service-button></div></paper-card></template></dom-module><script>Polymer({is:"hassio-hass-info",properties:{hass:{type:Object},data:{type:Object,value:{}}},computeUpdateAvailable:function(e){return e.version!==e.last_version}})</script><dom-module id="hassio-supervisor-info" assetpath="dashboard/"><style include="iron-flex ha-style">paper-card{display:block;height:100%}.info{width:100%}.info td:nth-child(2){text-align:right}</style><template><paper-card heading="Supervisor"><div class="card-content"><table class="info"><tbody><tr><td>Version</td><td>[[data.version]]</td></tr><tr><td>Beta channel</td><td>[[data.beta_channel]]</td></tr><tr><td>Latest available version</td><td>[[data.last_version]]</td></tr></tbody></table></div><div class="card-actions"><template is="dom-if" if="[[computeUpdateAvailable(data)]]"><ha-call-api-button hass="[[hass]]" path="hassio/supervisor/update">Update</ha-call-api-button></template><ha-call-api-button class="warning" hass="[[hass]]" path="hassio/supervisor/reload">Restart</ha-call-api-button></div></paper-card></template></dom-module><script>Polymer({is:"hassio-supervisor-info",properties:{hass:{type:Object},data:{type:Object,value:{}}},computeUpdateAvailable:function(e){return e.version!==e.last_version}})</script><dom-module id="paper-item-body" assetpath="../../bower_components/paper-item/"><template><style>:host{overflow:hidden;@apply(--layout-vertical);@apply(--layout-center-justified);@apply(--layout-flex)}:host([two-line]){min-height:var(--paper-item-body-two-line-min-height,72px)}:host([three-line]){min-height:var(--paper-item-body-three-line-min-height,88px)}:host>::content>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host>::content [secondary]{@apply(--paper-font-body1);color:var(--paper-item-body-secondary-color,--secondary-text-color);@apply(--paper-item-body-secondary)}</style><content></content></template><script>Polymer({is:"paper-item-body"})</script></dom-module><dom-module id="hassio-addons" assetpath="dashboard/"><template><style include="ha-style">paper-card{display:block;padding-top:16px;padding-right:16px}paper-item{cursor:pointer}</style><paper-card heading="Installed Addons"><template is="dom-repeat" items="[[data]]" as="addon"><paper-item><paper-item-body two-line="" on-tap="addonTapped"><div>[[addon.name]]</div><div secondary="">[[addon.description]]</div></paper-item-body>[[addon.installed]]</paper-item></template></paper-card></template></dom-module><script>Polymer({is:"hassio-addons",properties:{hass:{type:Object},narrow:{type:Boolean},showMenu:{type:Boolean,value:!1},data:{type:Object,value:[]}},addonTapped:function(e){this.fire("hassio-select-addon",{addon:this.data[e.model.index].slug}),e.target.blur()}})</script><dom-module id="hassio-dashboard" assetpath="dashboard/"><template><style include="iron-flex ha-style">.content{padding:24px 0 32px;max-width:600px;margin:0 auto}.status{@apply(--layout-horizontal);margin-bottom:24px}.status>*{@apply(--layout-flex)}.status>:first-child{margin-right:24px}</style><app-header-layout has-scrolling-region=""><app-header fixed=""><app-toolbar><ha-menu-button narrow="[[narrow]]" show-menu="[[showMenu]]"></ha-menu-button><div main-title="">Hass.io</div><paper-icon-button icon="mdi:shopping" on-tap="storeTapped"></paper-icon-button></app-toolbar></app-header><div class="content"><div class="status"><hassio-supervisor-info hass="[[hass]]" data="[[supervisorInfo]]"></hassio-supervisor-info><hassio-host-info hass="[[hass]]" data="[[hostInfo]]"></hassio-host-info></div><div class="status"><hassio-hass-info hass="[[hass]]" data="[[hassInfo]]"></hassio-hass-info><div></div></div><hassio-addons hass="[[hass]]" data="[[supervisorInfo.addons]]"></hassio-addons></div></app-header-layout></template></dom-module><script>Polymer({is:"hassio-dashboard",properties:{hass:{type:Object},narrow:{type:Boolean},showMenu:{type:Boolean,value:!1},supervisorInfo:{type:Object,value:{}},hostInfo:{type:Object,value:{}},hassInfo:{type:Object,value:{}}},storeTapped:function(){this.fire("hassio-show-store")}})</script><script>Polymer.IronValidatableBehaviorMeta=null,Polymer.IronValidatableBehavior={properties:{validator:{type:String},invalid:{notify:!0,reflectToAttribute:!0,type:Boolean,value:!1},_validatorMeta:{type:Object},validatorType:{type:String,value:"validator"},_validator:{type:Object,computed:"__computeValidator(validator)"}},observers:["_invalidChanged(invalid)"],registered:function(){Polymer.IronValidatableBehaviorMeta=new Polymer.IronMeta({type:"validator"})},_invalidChanged:function(){this.invalid?this.setAttribute("aria-invalid","true"):this.removeAttribute("aria-invalid")},hasValidator:function(){return null!=this._validator},validate:function(a){return this.invalid=!this._getValidity(a),!this.invalid},_getValidity:function(a){return!this.hasValidator()||this._validator.validate(a)},__computeValidator:function(){return Polymer.IronValidatableBehaviorMeta&&Polymer.IronValidatableBehaviorMeta.byKey(this.validator)}}</script><script>Polymer.IronFormElementBehavior={properties:{name:{type:String},value:{notify:!0,type:String},required:{type:Boolean,value:!1},_parentForm:{type:Object}},attached:function(){this.fire("iron-form-element-register")},detached:function(){this._parentForm&&this._parentForm.fire("iron-form-element-unregister",{target:this})}}</script><dom-module id="iron-autogrow-textarea" assetpath="../../bower_components/iron-autogrow-textarea/"><template><style>:host{display:inline-block;position:relative;width:400px;border:1px solid;padding:2px;-moz-appearance:textarea;-webkit-appearance:textarea;overflow:hidden}.mirror-text{visibility:hidden;word-wrap:break-word}.fit{@apply(--layout-fit)}textarea{position:relative;outline:0;border:none;resize:none;background:inherit;color:inherit;width:100%;height:100%;font-size:inherit;font-family:inherit;line-height:inherit;text-align:inherit;@apply(--iron-autogrow-textarea)}::content textarea:invalid{box-shadow:none}textarea::-webkit-input-placeholder{@apply(--iron-autogrow-textarea-placeholder)}textarea:-moz-placeholder{@apply(--iron-autogrow-textarea-placeholder)}textarea::-moz-placeholder{@apply(--iron-autogrow-textarea-placeholder)}textarea:-ms-input-placeholder{@apply(--iron-autogrow-textarea-placeholder)}</style><div id="mirror" class="mirror-text" aria-hidden="true"> </div><div class="textarea-container fit"><textarea id="textarea" name$="[[name]]" autocomplete$="[[autocomplete]]" autofocus$="[[autofocus]]" inputmode$="[[inputmode]]" placeholder$="[[placeholder]]" readonly$="[[readonly]]" required$="[[required]]" disabled$="[[disabled]]" rows$="[[rows]]" minlength$="[[minlength]]" maxlength$="[[maxlength]]"></textarea></div></template></dom-module><script>Polymer({is:"iron-autogrow-textarea",behaviors:[Polymer.IronFormElementBehavior,Polymer.IronValidatableBehavior,Polymer.IronControlState],properties:{bindValue:{observer:"_bindValueChanged",type:String},rows:{type:Number,value:1,observer:"_updateCached"},maxRows:{type:Number,value:0,observer:"_updateCached"},autocomplete:{type:String,value:"off"},autofocus:{type:Boolean,value:!1},inputmode:{type:String},placeholder:{type:String},readonly:{type:String},required:{type:Boolean},minlength:{type:Number},maxlength:{type:Number}},listeners:{input:"_onInput"},observers:["_onValueChanged(value)"],get textarea(){return this.$.textarea},get selectionStart(){return this.$.textarea.selectionStart},get selectionEnd(){return this.$.textarea.selectionEnd},set selectionStart(e){this.$.textarea.selectionStart=e},set selectionEnd(e){this.$.textarea.selectionEnd=e},attached:function(){navigator.userAgent.match(/iP(?:[oa]d|hone)/)&&(this.$.textarea.style.marginLeft="-3px")},validate:function(){if(!this.required&&""==this.value)return this.invalid=!1,!0;var e;return this.hasValidator()?e=Polymer.IronValidatableBehavior.validate.call(this,this.value):(e=this.$.textarea.validity.valid,this.invalid=!e),this.fire("iron-input-validate"),e},_bindValueChanged:function(){var e=this.textarea;e&&(e.value!==this.bindValue&&(e.value=this.bindValue||0===this.bindValue?this.bindValue:""),this.value=this.bindValue,this.$.mirror.innerHTML=this._valueForMirror(),this.fire("bind-value-changed",{value:this.bindValue}))},_onInput:function(e){this.bindValue=e.path?e.path[0].value:e.target.value},_constrain:function(e){var t;for(e=e||[""],t=this.maxRows>0&&e.length>this.maxRows?e.slice(0,this.maxRows):e.slice(0);this.rows>0&&t.length<this.rows;)t.push("");return t.join("<br/>")+" "},_valueForMirror:function(){var e=this.textarea;if(e)return this.tokens=e&&e.value?e.value.replace(/&/gm,"&").replace(/"/gm,""").replace(/'/gm,"'").replace(/</gm,"<").replace(/>/gm,">").split("\n"):[""],this._constrain(this.tokens)},_updateCached:function(){this.$.mirror.innerHTML=this._constrain(this.tokens)},_onValueChanged:function(){this.bindValue=this.value}})</script><dom-module id="hassio-addon-info" assetpath="addon-view/"><template><style include="ha-style">:host{display:block}paper-card{display:block}</style><paper-card heading="Info"><div class="card-content"><p>[[addonInfo.description]]</p><table class="info"><tbody><tr><td>Installed</td><td>[[computeInstallStatus(addonInfo)]]</td></tr><tr><td>Version</td><td>[[addonInfo.version]]</td></tr><tr><td>Detached</td><td>[[addonInfo.detached]]</td></tr></tbody></table></div></paper-card></template></dom-module><script>Polymer({ - is: 'hassio-addon-info', - - properties: { - hass: { - type: Object, - }, - - addonInfo: { - type: Object, - }, - }, - - computeInstallStatus(addon) { - return (addon && addon.installed) || 'Not installed'; - }, -});</script><dom-module id="hassio-addon-state" assetpath="addon-view/"><template><style include="ha-style">:host{display:block}paper-card{display:block}</style><paper-card heading="Installed"><template is="dom-if" if="[[!addonState]]"><div class="card-content"><div>Add-on is not installed.</div></div><div class="card-actions"><ha-call-api-button hass="[[hass]]" path="[[pathInstall(addon)]]">Install</ha-call-api-button></div></template><template is="dom-if" if="[[addonState]]"><div class="card-content"><table class="info"><tbody><tr><td>Version</td><td>[[addonState.version]]</td></tr><tr><td>State</td><td>[[addonState.state]]</td></tr><tr><td>Boot</td><td>[[addonState.boot]]</td></tr></tbody></table></div><div class="card-actions"><template is="dom-if" if="[[!isRunning]]"><ha-call-api-button hass="[[hass]]" path="[[pathStart(addon)]]">Start</ha-call-api-button></template><template is="dom-if" if="[[isRunning]]"><ha-call-api-button class="warning" hass="[[hass]]" path="[[pathStop(addon)]]">Stop</ha-call-api-button></template><template is="dom-if" if="[[computeUpdateAvailable(addonState)]]"><ha-call-api-button hass="[[hass]]" path="[[pathUpdate(addon)]]">Update</ha-call-api-button></template><ha-call-api-button class="warning" hass="[[hass]]" path="[[pathUninstall(addon)]]">Uninstall</ha-call-api-button></div></template></paper-card></template></dom-module><script>Polymer({is:"hassio-addon-state",properties:{hass:{type:Object},addon:{type:String},isRunning:{type:Boolean,computed:"computeIsRunning(addonState)"},addonInfo:{type:Object,value:null},addonState:{type:Object,value:null}},computeIsRunning:function(t){return t&&"started"===t.state},computeUpdateAvailable:function(t){return t&&!t.detached&&t.version!==t.last_version},pathStart:function(t){return"hassio/addons/"+t+"/start"},pathStop:function(t){return"hassio/addons/"+t+"/stop"},pathInstall:function(t){return"hassio/addons/"+t+"/install"},pathUninstall:function(t){return"hassio/addons/"+t+"/uninstall"},pathUpdate:function(t){return"hassio/addons/"+t+"/update"}})</script><dom-module id="hassio-addon-options" assetpath="addon-view/"><template><style include="ha-style">:host{display:block}paper-card{display:block}iron-autogrow-textarea{width:100%}</style><paper-card heading="Options"><div class="card-content"><iron-autogrow-textarea value="{{options}}"></iron-autogrow-textarea></div><div class="card-actions"><ha-call-api-button hass="[[hass]]" disabled="[[!optionsParsed]]" data="[[computeOptionsData(optionsParsed)]]" path="[[pathOptions(addon)]]">Save</ha-call-api-button></div></paper-card></template></dom-module><script>Polymer({is:"hassio-addon-options",properties:{hass:{type:Object},addon:{type:String},options:{type:String,value:""},optionsParsed:{type:Object,computed:"parseOptions(options)"},addonState:{type:Object,value:null,observer:"addonStateChanged"}},addonStateChanged:function(t){this.options=t?JSON.stringify(t.options,null,2):""},parseOptions:function(t){try{return JSON.parse(t)}catch(t){return null}},computeOptionsData:function(t){return{options:t}},pathOptions:function(t){return"hassio/addons/"+t+"/options"}})</script><dom-module id="hassio-addon-logs" assetpath="addon-view/"><template><style include="iron-flex ha-style">:host,paper-card{display:block}</style><paper-card heading="Logs"><div class="card-content"><pre>[[addonLogs]]</pre></div><div class="card-actions"><paper-button on-tap="refresh">Refresh</paper-button></div></paper-card></template></dom-module><script>Polymer({is:"hassio-addon-logs",properties:{hass:{type:Object},addon:{type:String,observer:"addonChanged"},addonLogs:{type:String,value:""}},addonChanged:function(s){if(!this.hass)return void setTimeout(function(){this.addonChanged(s)}.bind(this),0);this.refresh()},refresh:function(){this.hass.callApi("get","hassio/addons/"+this.addon+"/logs").then(function(s){this.addonLogs=s}.bind(this))}})</script><dom-module id="hassio-addon-view" assetpath="addon-view/"><template><style include="iron-flex ha-style">paper-card{display:block}.controls paper-card,hassio-addon-options{margin-bottom:24px}.content{padding:24px 0 32px;max-width:600px;margin:0 auto}.status{@apply(--layout-horizontal);margin-bottom:24px}.status>*{@apply(--layout-flex)}.status>:first-child{margin-right:24px}</style><app-header-layout has-scrolling-region=""><app-header fixed=""><app-toolbar><paper-icon-button icon="mdi:arrow-left" on-tap="backTapped"></paper-icon-button><div main-title="">[[addonInfo.name]]</div></app-toolbar></app-header><div class="content"><div class="status"><hassio-addon-info hass="[[hass]]" addon-info="[[addonInfo]]"></hassio-addon-info><hassio-addon-state hass="[[hass]]" addon="[[addon]]" addon-info="[[addonInfo]]" addon-state="[[addonState]]"></hassio-addon-state></div><template is="dom-if" if="[[addonState]]"><div class="controls"><hassio-addon-options hass="[[hass]]" addon="[[addon]]" addon-state="[[addonState]]"></hassio-addon-options><hassio-addon-logs hass="[[hass]]" addon="[[addon]]"></hassio-addon-logs></div></template></div></app-header-layout></template></dom-module><script>Polymer({is:"hassio-addon-view",properties:{hass:{type:Object},narrow:{type:Boolean},showMenu:{type:Boolean,value:!1},addon:{type:String,observer:"addonChanged"},supervisorInfo:{type:Object},addonInfo:{type:Object,computed:"computeAddonInfo(supervisorInfo, addon)"},addonState:{type:Object,value:null},addonLogs:{type:String,value:""}},listeners:{"hass-api-called":"apiCalled"},apiCalled:function(){this.addonChanged(this.addon)},addonChanged:function(n){if(!this.hass)return void setTimeout(function(){this.addonChanged(n)}.bind(this),0);this.hass.callApi("get","hassio/addons/"+n+"/info").then(function(n){this.addonState=n.data}.bind(this),function(){this.addonState=null}.bind(this))},computeAddonInfo:function(n,d){if(!n)return null;for(var e=0;e<n.addons.length;e++){var o=n.addons[e];if(o.slug===d)return o}return null},backTapped:function(){this.fire("hassio-select-addon",{addon:null})}})</script><dom-module id="hassio-repositories-editor" assetpath="addon-store/"><template><style include="ha-style">:host{display:block}paper-card{display:block}iron-autogrow-textarea{width:100%}</style><paper-card heading="Add-On Repositories"><div class="card-content"><p>Configure which add-on repositories to fetch data from. One repository per line.</p><iron-autogrow-textarea value="{{options}}"></iron-autogrow-textarea></div><div class="card-actions"><ha-call-api-button hass="[[hass]]" data="[[computeOptionsData(options)]]" path="hassio/supervisor/options">Save</ha-call-api-button></div></paper-card></template></dom-module><script>Polymer({is:"hassio-repositories-editor",properties:{hass:{type:Object},options:{type:String,value:""},repos:{type:Array,value:[],observer:"reposChanged"}},reposChanged:function(e){this.options=e.join("\n")},computeOptionsData:function(e){return{addons_repositories:e.split("\n")}}})</script><dom-module id="hassio-addon-repository" assetpath="addon-store/"><template><style include="iron-flex ha-style">:host,paper-card{display:block}paper-item{cursor:pointer}</style><paper-card heading="[[repo.name]]"><template is="dom-if" if="[[computeShowIntro(repo)]]"><div class="card-content"><template is="dom-if" if="[[repo.maintainer]]">Maintained by [[repo.maintainer]].</template><template is="dom-if" if="[[repo.url]]"><a href="[[repo.url]]" target="_blank">Visit repository website.</a></template></div></template><template is="dom-repeat" items="[[addons]]" as="addon"><paper-item><paper-item-body two-line="" on-tap="addonTapped"><div>[[addon.name]]</div><div secondary="">[[addon.description]]</div></paper-item-body>[[computeInstallStatus(addon)]]</paper-item></template></paper-card></template></dom-module><script>Polymer({is:"hassio-addon-repository",properties:{repo:{type:Object},addons:{type:Array}},computeShowIntro:function(t){return t.url||t.maintainer},computeInstallStatus:function(t){return t.installed||"Not installed"},addonTapped:function(t){this.fire("hassio-select-addon",{addon:this.addons[t.model.index].slug}),t.target.blur()}})</script><dom-module id="hassio-addon-store" assetpath="addon-store/"><template><style include="iron-flex ha-style">paper-card{display:block}.content{padding:24px 0 32px;max-width:600px;margin:0 auto}hassio-addon-repository{margin-top:24px}</style><app-header-layout has-scrolling-region=""><app-header fixed=""><app-toolbar><paper-icon-button icon="mdi:arrow-left" on-tap="backTapped"></paper-icon-button><div main-title="">Hass.io Add-Ons</div><paper-icon-button icon="mdi:refresh" on-tap="refreshTapped"></paper-icon-button></app-toolbar></app-header><div class="content"><hassio-repositories-editor hass="[[hass]]" repos="[[supervisorInfo.addons_repositories]]"></hassio-repositories-editor><template is="dom-repeat" items="[[repos]]" as="repo"><hassio-addon-repository repo="[[repo]]" addons="[[computeAddOns(repo.slug)]]"></hassio-addon-repository></template></div></app-header-layout></template></dom-module><script>Polymer({is:"hassio-addon-store",properties:{hass:{type:Object},narrow:{type:Boolean},showMenu:{type:Boolean,value:!1},addons:{type:Array,value:[]},repos:{type:Array,value:[]},supervisorInfo:{type:Object}},listeners:{"hass-api-called":"apiCalled"},apiCalled:function(s){s.detail.success&&this.loadData()},attached:function(){this.loadData()},loadData:function(){this.hass.callApi("get","hassio/supervisor/addons").then(function(s){this.addons=s.data.addons,this.repos=s.data.repositories}.bind(this),function(){this.addons=[],this.repos=[]}.bind(this))},computeAddOns:function(s){return this.addons.filter(function(a){return a.repository===s})},refreshTapped:function(){this.hass.callApi("post","hassio/supervisor/reload").then(function(){this.loadData()}.bind(this))},backTapped:function(){this.fire("hassio-select-addon",{addon:null})}})</script><dom-module id="hassio-loading" assetpath="./"><template><style include="iron-flex ha-style">[hidden]{display:none!important}.placeholder{height:100%}.layout{height:calc(100% - 64px)}</style><div class="placeholder"><app-toolbar><ha-menu-button narrow="[[narrow]]" show-menu="[[showMenu]]"></ha-menu-button><div main-title="">Hass.io</div></app-toolbar><div class="layout horizontal center-center"><paper-spinner active=""></paper-spinner></div></div></template></dom-module><script>Polymer({is:"hassio-loading",properties:{hass:{type:Object},narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1}}})</script><script>Polymer({is:"hassio-data",properties:{supervisor:{type:Object,value:{},notify:!0},host:{type:Object,value:{},notify:!0},homeassistant:{type:Object,value:{},notify:!0}},attached:function(){this.refresh()},refresh:function(){this.fetchSupervisorInfo(),this.fetchHostInfo(),this.fetchHassInfo()},fetchSupervisorInfo:function(){this.hass.callApi("get","hassio/supervisor/info").then(function(t){this.supervisor=t.data}.bind(this))},fetchHostInfo:function(){this.hass.callApi("get","hassio/host/info").then(function(t){this.host=t.data}.bind(this))},fetchHassInfo:function(){this.hass.callApi("get","hassio/homeassistant/info").then(function(t){this.homeassistant=t.data}.bind(this))}})</script></div><dom-module id="ha-panel-hassio"><template><style>iron-pages{height:100%}</style><hassio-data id="data" hass="[[hass]]" supervisor="{{supervisorInfo}}" homeassistant="{{hassInfo}}" host="{{hostInfo}}"></hassio-data><template is="dom-if" if="[[dashboardSelected(currentPage)]]"><template is="dom-if" if="[[!loaded]]"><hassio-loading narrow="[[narrow]]" hass="[[hass]]" show-menu="[[showMenu]]"></hassio-loading></template><template is="dom-if" if="[[loaded]]"><hassio-dashboard hass="[[hass]]" narrow="[[narrow]]" show-menu="[[showMenu]]" supervisor-info="[[supervisorInfo]]" host-info="[[hostInfo]]" hass-info="[[hassInfo]]"></hassio-dashboard></template></template><template is="dom-if" if="[[addonViewSelected(currentPage)]]" restamp=""><hassio-addon-view hass="[[hass]]" supervisor-info="[[supervisorInfo]]" host-info="[[hostInfo]]" addon="[[addon]]"></hassio-addon-view></template><template is="dom-if" if="[[addonStoreSelected(currentPage)]]"><hassio-addon-store id="addon-store" hass="[[hass]]" supervisor-info="[[supervisorInfo]]"></hassio-addon-store></template></template></dom-module><script>Polymer({is:"ha-panel-hassio",properties:{hass:{type:Object},narrow:{type:Boolean},showMenu:{type:Boolean,value:!1},addon:{type:String,value:""},supervisorInfo:{type:Object,value:null},hostInfo:{type:Object,value:null},hassInfo:{type:Object,value:null},forceLoading:{type:Boolean,value:!1},loaded:{type:Boolean,computed:"computeIsLoaded(supervisorInfo, hostInfo, hassInfo, forceLoading)"},currentPage:{type:String,value:"dashboard"},lastPage:{type:String,value:"dashboard"}},listeners:{"hassio-select-addon":"addonSelected","hassio-show-store":"showStore","hass-api-called":"apiCalled"},apiCalled:function(e){e.detail.success&&this.$.data.refresh()},computeIsLoaded:function(e,t,a,o){return null!==e&&null!==t&&null!==a&&!o},addonSelected:function(e){var t=e.detail.addon;this.currentPage===this.lastPage&&(this.lastPage="dashboard"),t?(this.lastPage=this.currentPage,this.currentPage="addon-view",this.addon=t):(this.currentPage=this.lastPage,setTimeout(function(){this.addon=t}.bind(this),0))},showStore:function(){this.currentPage="addon-store"},dashboardSelected:function(e){return"dashboard"===e},addonStoreSelected:function(e){return"addon-store"===e},addonViewSelected:function(e){return"addon-view"===e}})</script></body></html> \ No newline at end of file +<html><head><meta charset="UTF-8"></head><body><dom-module id="ha-panel-hassio"><template><style>[hidden]{display:none!important}</style><hassio-main hass="[[hass]]" narrow="[[narrow]]" show-menu="[[showMenu]]"></hassio-main></template></dom-module><script>Polymer({is:"ha-panel-hassio",properties:{hass:{type:Object},narrow:{type:Boolean},showMenu:{type:Boolean,value:!1},loaded:{type:Boolean,value:!1}},attached:function(){window.HASS_DEV||this.importHref("/api/hassio/panel",null,function(){alert("Failed to load the Hass.io panel from supervisor.")})}})</script></body></html> \ No newline at end of file diff --git a/homeassistant/components/frontend/www_static/panels/ha-panel-hassio.html.gz b/homeassistant/components/frontend/www_static/panels/ha-panel-hassio.html.gz index 2a18410d99060cdb43efeb316028b7fc579b161f..4e2422b0c61cad8a13d195353777398e5643119e 100644 GIT binary patch literal 392 zcmV;30eAi%iwFognHpIF1889_aA9s`Y%OSEb8~5LE@*UZYyfpq!HU~35d9UcP6^mC zdn-mUw6seurG;&K38Bnd6Qo7b7-_u0c>V8{;w@<@J!$5>nc=<BD8t@$${^@Yd1Mg1 zftZl@^82@k`km}lvyxAwr%q||wI@9~6jtx0fqH;|t~QX8rCiPE2M3IuN<2C2j>c+@ z;WTTTGBLG*0^V6aP-F<asAjEG>x9~a4Wh(*c|4Z)bdn-KjC3i;8Wk)Vy3`)SSm2U; z&T%G+;M=I2-4r!9^;upY?ZDkva+AlnnQdzSu~Q9^28?VmwR6GRnWq8UFHg_d^HQy9 z-oOt;4k0YnZ!v%4)eE>0+q?Uvas(Rn|LCOxX6Q|>IFF%cOJTE}FE(hp><;fAAAf%Q z^yBrFjZM3CkB5lojcj1BZ`PZu3t5HHx$2K0;If&Gd;sfE3no#N2sS7Vxo>AlTpPtX mk{4;r)?aL*xRcvuyDZ!MSL@PLvtC1Uy`EoeA{|mh0ssI`D!+69 literal 7381 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 H@`L~Y5$aR> diff --git a/homeassistant/components/frontend/www_static/service_worker.js b/homeassistant/components/frontend/www_static/service_worker.js index 7315b62aa3d..2ada4d14f39 100644 --- a/homeassistant/components/frontend/www_static/service_worker.js +++ b/homeassistant/components/frontend/www_static/service_worker.js @@ -1 +1 @@ -"use strict";function setOfCachedUrls(e){return e.keys().then(function(e){return e.map(function(e){return e.url})}).then(function(e){return new Set(e)})}function notificationEventCallback(e,t){firePushCallback({action:t.action,data:t.notification.data,tag:t.notification.tag,type:e},t.notification.data.jwt)}function firePushCallback(e,t){delete e.data.jwt,0===Object.keys(e.data).length&&e.data.constructor===Object&&delete e.data,fetch("/api/notify.html5/callback",{method:"POST",headers:new Headers({"Content-Type":"application/json",Authorization:"Bearer "+t}),body:JSON.stringify(e)})}var precacheConfig=[["/","cb06e1d9405fc590c0f1a054b8119128"],["/frontend/panels/dev-event-2db9c218065ef0f61d8d08db8093cad2.html","b5b751e49b1bba55f633ae0d7a92677d"],["/frontend/panels/dev-info-61610e015a411cfc84edd2c4d489e71d.html","6568377ee31cbd78fedc003b317f7faf"],["/frontend/panels/dev-service-415552027cb083badeff5f16080410ed.html","a4b1ec9bfa5bc3529af7783ae56cb55c"],["/frontend/panels/dev-state-d70314913b8923d750932367b1099750.html","c61b5b1461959aac106400e122993e9e"],["/frontend/panels/dev-template-567fbf86735e1b891e40c2f4060fec9b.html","d2853ecf45de1dbadf49fe99a7424ef3"],["/frontend/panels/map-31c592c239636f91e07c7ac232a5ebc4.html","182580419ce2c935ae6ec65502b6db96"],["/static/compatibility-8e4c44b5f4288cc48ec1ba94a9bec812.js","4704a985ad259e324c3d8a0a40f6d937"],["/static/core-8cc30e2ad9ee3df44fe7a17507099d88.js","15703575bd272c8b56e1042b1f2d02a6"],["/static/frontend-5999c8fac69c503b846672cae75a12b0.html","d6ce8eb348fbea599933b2a72beb1337"],["/static/mdi-f407a5a57addbe93817ee1b244d33fbe.html","5459090f217c77747b08d06e0bf73388"],["static/fonts/roboto/Roboto-Bold.ttf","d329cc8b34667f114a95422aaad1b063"],["static/fonts/roboto/Roboto-Light.ttf","7b5fb88f12bec8143f00e21bc3222124"],["static/fonts/roboto/Roboto-Medium.ttf","fe13e4170719c2fc586501e777bde143"],["static/fonts/roboto/Roboto-Regular.ttf","ac3f799d5bbaf5196fab15ab8de8431c"],["static/icons/favicon-192x192.png","419903b8422586a7e28021bbe9011175"],["static/icons/favicon.ico","04235bda7843ec2fceb1cbe2bc696cf4"],["static/images/card_media_player_bg.png","a34281d1c1835d338a642e90930e61aa"],["static/webcomponents-lite.min.js","32b5a9b7ada86304bec6b43d3f2194f0"]],cacheName="sw-precache-v3--"+(self.registration?self.registration.scope:""),ignoreUrlParametersMatching=[/^utm_/],addDirectoryIndex=function(e,t){var n=new URL(e);return"/"===n.pathname.slice(-1)&&(n.pathname+=t),n.toString()},cleanResponse=function(e){return e.redirected?("body"in e?Promise.resolve(e.body):e.blob()).then(function(t){return new Response(t,{headers:e.headers,status:e.status,statusText:e.statusText})}):Promise.resolve(e)},createCacheKey=function(e,t,n,a){var c=new URL(e);return a&&c.pathname.match(a)||(c.search+=(c.search?"&":"")+encodeURIComponent(t)+"="+encodeURIComponent(n)),c.toString()},isPathWhitelisted=function(e,t){if(0===e.length)return!0;var n=new URL(t).pathname;return e.some(function(e){return n.match(e)})},stripIgnoredUrlParameters=function(e,t){var n=new URL(e);return n.search=n.search.slice(1).split("&").map(function(e){return e.split("=")}).filter(function(e){return t.every(function(t){return!t.test(e[0])})}).map(function(e){return e.join("=")}).join("&"),n.toString()},hashParamName="_sw-precache",urlsToCacheKeys=new Map(precacheConfig.map(function(e){var t=e[0],n=e[1],a=new URL(t,self.location),c=createCacheKey(a,hashParamName,n,!1);return[a.toString(),c]}));self.addEventListener("install",function(e){e.waitUntil(caches.open(cacheName).then(function(e){return setOfCachedUrls(e).then(function(t){return Promise.all(Array.from(urlsToCacheKeys.values()).map(function(n){if(!t.has(n)){var a=new Request(n,{credentials:"same-origin"});return fetch(a).then(function(t){if(!t.ok)throw new Error("Request for "+n+" returned a response with status "+t.status);return cleanResponse(t).then(function(t){return e.put(n,t)})})}}))})}).then(function(){return self.skipWaiting()}))}),self.addEventListener("activate",function(e){var t=new Set(urlsToCacheKeys.values());e.waitUntil(caches.open(cacheName).then(function(e){return e.keys().then(function(n){return Promise.all(n.map(function(n){if(!t.has(n.url))return e.delete(n)}))})}).then(function(){return self.clients.claim()}))}),self.addEventListener("fetch",function(e){if("GET"===e.request.method){var t,n=stripIgnoredUrlParameters(e.request.url,ignoreUrlParametersMatching);t=urlsToCacheKeys.has(n);t||(n=addDirectoryIndex(n,"index.html"),t=urlsToCacheKeys.has(n));!t&&"navigate"===e.request.mode&&isPathWhitelisted(["^((?!(static|api|local|service_worker.js|manifest.json)).)*$"],e.request.url)&&(n=new URL("/",self.location).toString(),t=urlsToCacheKeys.has(n)),t&&e.respondWith(caches.open(cacheName).then(function(e){return e.match(urlsToCacheKeys.get(n)).then(function(e){if(e)return e;throw Error("The cached response that was expected is missing.")})}).catch(function(t){return console.warn('Couldn\'t serve response for "%s" from cache: %O',e.request.url,t),fetch(e.request)}))}}),self.addEventListener("push",function(e){var t;e.data&&(t=e.data.json(),e.waitUntil(self.registration.showNotification(t.title,t).then(function(e){firePushCallback({type:"received",tag:t.tag,data:t.data},t.data.jwt)})))}),self.addEventListener("notificationclick",function(e){var t;notificationEventCallback("clicked",e),e.notification.close(),e.notification.data&&e.notification.data.url&&(t=e.notification.data.url)&&e.waitUntil(clients.matchAll({type:"window"}).then(function(e){var n,a;for(n=0;n<e.length;n++)if(a=e[n],a.url===t&&"focus"in a)return a.focus();if(clients.openWindow)return clients.openWindow(t)}))}),self.addEventListener("notificationclose",function(e){notificationEventCallback("closed",e)}); \ No newline at end of file +"use strict";function setOfCachedUrls(e){return e.keys().then(function(e){return e.map(function(e){return e.url})}).then(function(e){return new Set(e)})}function notificationEventCallback(e,t){firePushCallback({action:t.action,data:t.notification.data,tag:t.notification.tag,type:e},t.notification.data.jwt)}function firePushCallback(e,t){delete e.data.jwt,0===Object.keys(e.data).length&&e.data.constructor===Object&&delete e.data,fetch("/api/notify.html5/callback",{method:"POST",headers:new Headers({"Content-Type":"application/json",Authorization:"Bearer "+t}),body:JSON.stringify(e)})}var precacheConfig=[["/","6e48725f5e351d9003076b77c618be6a"],["/frontend/panels/dev-event-2db9c218065ef0f61d8d08db8093cad2.html","b5b751e49b1bba55f633ae0d7a92677d"],["/frontend/panels/dev-info-61610e015a411cfc84edd2c4d489e71d.html","6568377ee31cbd78fedc003b317f7faf"],["/frontend/panels/dev-service-415552027cb083badeff5f16080410ed.html","a4b1ec9bfa5bc3529af7783ae56cb55c"],["/frontend/panels/dev-state-d70314913b8923d750932367b1099750.html","c61b5b1461959aac106400e122993e9e"],["/frontend/panels/dev-template-567fbf86735e1b891e40c2f4060fec9b.html","d2853ecf45de1dbadf49fe99a7424ef3"],["/frontend/panels/map-31c592c239636f91e07c7ac232a5ebc4.html","182580419ce2c935ae6ec65502b6db96"],["/static/compatibility-8e4c44b5f4288cc48ec1ba94a9bec812.js","4704a985ad259e324c3d8a0a40f6d937"],["/static/core-d4a7cb8c80c62b536764e0e81385f6aa.js","37e34ec6aa0fa155c7d50e2883be1ead"],["/static/frontend-19637e5a62837c8dc0bec1863adc9249.html","b8a767f843cdc534fc6830b9e8b1399d"],["/static/mdi-f407a5a57addbe93817ee1b244d33fbe.html","5459090f217c77747b08d06e0bf73388"],["static/fonts/roboto/Roboto-Bold.ttf","d329cc8b34667f114a95422aaad1b063"],["static/fonts/roboto/Roboto-Light.ttf","7b5fb88f12bec8143f00e21bc3222124"],["static/fonts/roboto/Roboto-Medium.ttf","fe13e4170719c2fc586501e777bde143"],["static/fonts/roboto/Roboto-Regular.ttf","ac3f799d5bbaf5196fab15ab8de8431c"],["static/icons/favicon-192x192.png","419903b8422586a7e28021bbe9011175"],["static/icons/favicon.ico","04235bda7843ec2fceb1cbe2bc696cf4"],["static/images/card_media_player_bg.png","a34281d1c1835d338a642e90930e61aa"],["static/webcomponents-lite.min.js","32b5a9b7ada86304bec6b43d3f2194f0"]],cacheName="sw-precache-v3--"+(self.registration?self.registration.scope:""),ignoreUrlParametersMatching=[/^utm_/],addDirectoryIndex=function(e,t){var n=new URL(e);return"/"===n.pathname.slice(-1)&&(n.pathname+=t),n.toString()},cleanResponse=function(e){return e.redirected?("body"in e?Promise.resolve(e.body):e.blob()).then(function(t){return new Response(t,{headers:e.headers,status:e.status,statusText:e.statusText})}):Promise.resolve(e)},createCacheKey=function(e,t,n,a){var c=new URL(e);return a&&c.pathname.match(a)||(c.search+=(c.search?"&":"")+encodeURIComponent(t)+"="+encodeURIComponent(n)),c.toString()},isPathWhitelisted=function(e,t){if(0===e.length)return!0;var n=new URL(t).pathname;return e.some(function(e){return n.match(e)})},stripIgnoredUrlParameters=function(e,t){var n=new URL(e);return n.search=n.search.slice(1).split("&").map(function(e){return e.split("=")}).filter(function(e){return t.every(function(t){return!t.test(e[0])})}).map(function(e){return e.join("=")}).join("&"),n.toString()},hashParamName="_sw-precache",urlsToCacheKeys=new Map(precacheConfig.map(function(e){var t=e[0],n=e[1],a=new URL(t,self.location),c=createCacheKey(a,hashParamName,n,!1);return[a.toString(),c]}));self.addEventListener("install",function(e){e.waitUntil(caches.open(cacheName).then(function(e){return setOfCachedUrls(e).then(function(t){return Promise.all(Array.from(urlsToCacheKeys.values()).map(function(n){if(!t.has(n)){var a=new Request(n,{credentials:"same-origin"});return fetch(a).then(function(t){if(!t.ok)throw new Error("Request for "+n+" returned a response with status "+t.status);return cleanResponse(t).then(function(t){return e.put(n,t)})})}}))})}).then(function(){return self.skipWaiting()}))}),self.addEventListener("activate",function(e){var t=new Set(urlsToCacheKeys.values());e.waitUntil(caches.open(cacheName).then(function(e){return e.keys().then(function(n){return Promise.all(n.map(function(n){if(!t.has(n.url))return e.delete(n)}))})}).then(function(){return self.clients.claim()}))}),self.addEventListener("fetch",function(e){if("GET"===e.request.method){var t,n=stripIgnoredUrlParameters(e.request.url,ignoreUrlParametersMatching);t=urlsToCacheKeys.has(n);t||(n=addDirectoryIndex(n,"index.html"),t=urlsToCacheKeys.has(n));!t&&"navigate"===e.request.mode&&isPathWhitelisted(["^((?!(static|api|local|service_worker.js|manifest.json)).)*$"],e.request.url)&&(n=new URL("/",self.location).toString(),t=urlsToCacheKeys.has(n)),t&&e.respondWith(caches.open(cacheName).then(function(e){return e.match(urlsToCacheKeys.get(n)).then(function(e){if(e)return e;throw Error("The cached response that was expected is missing.")})}).catch(function(t){return console.warn('Couldn\'t serve response for "%s" from cache: %O',e.request.url,t),fetch(e.request)}))}}),self.addEventListener("push",function(e){var t;e.data&&(t=e.data.json(),e.waitUntil(self.registration.showNotification(t.title,t).then(function(e){firePushCallback({type:"received",tag:t.tag,data:t.data},t.data.jwt)})))}),self.addEventListener("notificationclick",function(e){var t;notificationEventCallback("clicked",e),e.notification.close(),e.notification.data&&e.notification.data.url&&(t=e.notification.data.url)&&e.waitUntil(clients.matchAll({type:"window"}).then(function(e){var n,a;for(n=0;n<e.length;n++)if(a=e[n],a.url===t&&"focus"in a)return a.focus();if(clients.openWindow)return clients.openWindow(t)}))}),self.addEventListener("notificationclose",function(e){notificationEventCallback("closed",e)}); \ No newline at end of file diff --git a/homeassistant/components/frontend/www_static/service_worker.js.gz b/homeassistant/components/frontend/www_static/service_worker.js.gz index 88a8bf21065ed30ca254ca0f45548fefb3dda169..e6d732871030cd4b9aeedc9dc73fedade492e348 100644 GIT binary patch literal 2512 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 a5WRh8{Ll^fb>{`F?*9ef9!-Q}761UzQ0>kD literal 2509 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 X2IGfez_+_7V0Zs7Wg=NNV-^4aFK*pK