From a80fa1fa5e3857cfcb0240b363cab8c350762926 Mon Sep 17 00:00:00 2001 From: Sergey Matyunin Date: Wed, 19 Aug 2026 05:01:06 +0300 Subject: [PATCH] Release v1.65.0-beta.3 candidate Issue: #57 Issue: #103 Issue: #113 Issue: #117 Issue: #132 Issue: #184 Issue: #187 Issue: #189 User-Visible: yes --- custom_components/houseplan/const.py | 2 +- .../houseplan/frontend/houseplan-card.js | 4 +- custom_components/houseplan/manifest.json | 2 +- demo/srv/assets/houseplan-card.js | 4 +- dist/houseplan-card.js | 4 +- docs/CHANGELOG.md | 53 +++++++++-------- docs/CHANGELOG.ru.md | 55 +++++++++--------- docs/RELEASE-NOTES.md | 16 ++--- docs/STATUS.md | 6 +- docs/images/06-device-display-preview.png | Bin 288220 -> 288221 bytes docs/images/06-device-editor.png | Bin 292595 -> 292594 bytes docs/images/screenshots.json | 26 ++++----- package-lock.json | 4 +- package.json | 2 +- src/houseplan-card.ts | 2 +- 15 files changed, 94 insertions(+), 86 deletions(-) diff --git a/custom_components/houseplan/const.py b/custom_components/houseplan/const.py index a23528ca..0e956655 100755 --- a/custom_components/houseplan/const.py +++ b/custom_components/houseplan/const.py @@ -46,7 +46,7 @@ PLAN_ORPHAN_TTL_S = 3600 SCHEDULED_GRACE_S = 30 * 24 * 3600 FILES_DIR = "houseplan/files" CONF_ADMIN_ONLY = "admin_only" -VERSION = "1.65.0-beta.2" +VERSION = "1.65.0-beta.3" # Portable backup format. This is deliberately independent from the Home # Assistant Store version above: storage migrations and files exported by a diff --git a/custom_components/houseplan/frontend/houseplan-card.js b/custom_components/houseplan/frontend/houseplan-card.js index 8fba902e..d5fecdc8 100755 --- a/custom_components/houseplan/frontend/houseplan-card.js +++ b/custom_components/houseplan/frontend/houseplan-card.js @@ -1,4 +1,4 @@ -globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="b324ee6d7896c4c2aaef51f5681b4818a6ffae5d779bf9d38faaf85a0d998903";const t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,i=Symbol(),s=new WeakMap;let n=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==i)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const i=this.t;if(e&&void 0===t){const e=void 0!==i&&1===i.length;e&&(t=s.get(i)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&s.set(i,t))}return t}toString(){return this.cssText}};const o=(t,...e)=>{const s=1===t.length?t[0]:e.reduce((e,i,s)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[s+1],t[0]);return new n(s,t,i)},a=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return(t=>new n("string"==typeof t?t:t+"",void 0,i))(e)})(t):t,{is:r,defineProperty:l,getOwnPropertyDescriptor:c,getOwnPropertyNames:h,getOwnPropertySymbols:d,getPrototypeOf:u}=Object,p=globalThis,_=p.trustedTypes,g=_?_.emptyScript:"",m=p.reactiveElementPolyfillSupport,f=(t,e)=>t,v={toAttribute(t,e){switch(e){case Boolean:t=t?g:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},y=(t,e)=>!r(t,e),b={attribute:!0,type:String,converter:v,reflect:!1,useDefault:!1,hasChanged:y};Symbol.metadata??=Symbol("metadata"),p.litPropertyMetadata??=new WeakMap;let w=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=b){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){const i=Symbol(),s=this.getPropertyDescriptor(t,i,e);void 0!==s&&l(this.prototype,t,s)}}static getPropertyDescriptor(t,e,i){const{get:s,set:n}=c(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get:s,set(e){const o=s?.call(this);n?.call(this,e),this.requestUpdate(t,o,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(f("elementProperties")))return;const t=u(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(f("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(f("properties"))){const t=this.properties,e=[...h(t),...d(t)];for(const i of e)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,i]of e)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const i=this._$Eu(t,e);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(a(t))}else void 0!==t&&e.push(a(t));return e}static _$Eu(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const i of e.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const i=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((i,s)=>{if(e)i.adoptedStyleSheets=s.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const e of s){const s=document.createElement("style"),n=t.litNonce;void 0!==n&&s.setAttribute("nonce",n),s.textContent=e.cssText,i.appendChild(s)}})(i,this.constructor.elementStyles),i}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$ET(t,e){const i=this.constructor.elementProperties.get(t),s=this.constructor._$Eu(t,i);if(void 0!==s&&!0===i.reflect){const n=(void 0!==i.converter?.toAttribute?i.converter:v).toAttribute(e,i.type);this._$Em=t,null==n?this.removeAttribute(s):this.setAttribute(s,n),this._$Em=null}}_$AK(t,e){const i=this.constructor,s=i._$Eh.get(t);if(void 0!==s&&this._$Em!==s){const t=i.getPropertyOptions(s),n="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:v;this._$Em=s;const o=n.fromAttribute(e,t.type);this[s]=o??this._$Ej?.get(s)??o,this._$Em=null}}requestUpdate(t,e,i,s=!1,n){if(void 0!==t){const o=this.constructor;if(!1===s&&(n=this[t]),i??=o.getPropertyOptions(t),!((i.hasChanged??y)(n,e)||i.useDefault&&i.reflect&&n===this._$Ej?.get(t)&&!this.hasAttribute(o._$Eu(t,i))))return;this.C(t,e,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,e,{useDefault:i,reflect:s,wrapped:n},o){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,o??e??this[t]),!0!==n||void 0!==o)||(this._$AL.has(t)||(this.hasUpdated||i||(e=void 0),this._$AL.set(t,e)),!0===s&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,i]of t){const{wrapped:t}=i,s=this[e];!0!==t||this._$AL.has(e)||void 0===s||this.C(e,void 0,i,s)}}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(e)):this._$EM()}catch(e){throw t=!1,this._$EM(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}};w.elementStyles=[],w.shadowRootOptions={mode:"open"},w[f("elementProperties")]=new Map,w[f("finalized")]=new Map,m?.({ReactiveElement:w}),(p.reactiveElementVersions??=[]).push("2.1.2");const k=globalThis,$=t=>t,x=k.trustedTypes,S=x?x.createPolicy("lit-html",{createHTML:t=>t}):void 0,M="$lit$",C=`lit$${Math.random().toFixed(9).slice(2)}$`,D="?"+C,T=`<${D}>`,P=document,R=()=>P.createComment(""),A=t=>null===t||"object"!=typeof t&&"function"!=typeof t,I=Array.isArray,E="[ \t\n\f\r]",F=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,z=/-->/g,O=/>/g,H=RegExp(`>|${E}(?:([^\\s"'>=/]+)(${E}*=${E}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),N=/'/g,L=/"/g,B=/^(?:script|style|textarea|title)$/i,q=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),W=q(1),j=q(2),U=Symbol.for("lit-noChange"),G=Symbol.for("lit-nothing"),V=new WeakMap,K=P.createTreeWalker(P,129);function Y(t,e){if(!I(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==S?S.createHTML(e):e}const X=(t,e)=>{const i=t.length-1,s=[];let n,o=2===e?"":3===e?"":"",a=F;for(let e=0;e"===l[0]?(a=n??F,c=-1):void 0===l[1]?c=-2:(c=a.lastIndex-l[2].length,r=l[1],a=void 0===l[3]?H:'"'===l[3]?L:N):a===L||a===N?a=H:a===z||a===O?a=F:(a=H,n=void 0);const d=a===H&&t[e+1].startsWith("/>")?" ":"";o+=a===F?i+T:c>=0?(s.push(r),i.slice(0,c)+M+i.slice(c)+C+d):i+C+(-2===c?e:d)}return[Y(t,o+(t[i]||"")+(2===e?"":3===e?"":"")),s]};class J{constructor({strings:t,_$litType$:e},i){let s;this.parts=[];let n=0,o=0;const a=t.length-1,r=this.parts,[l,c]=X(t,e);if(this.el=J.createElement(l,i),K.currentNode=this.el.content,2===e||3===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(s=K.nextNode())&&r.length0){s.textContent=x?x.emptyScript:"";for(let i=0;iI(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==G&&A(this._$AH)?this._$AA.nextSibling.data=t:this.T(P.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:i}=t,s="number"==typeof i?this._$AC(t):(void 0===i.el&&(i.el=J.createElement(Y(i.h,i.h[0]),this.options)),i);if(this._$AH?._$AD===s)this._$AH.p(e);else{const t=new Q(s,this),i=t.u(this.options);t.p(e),this.T(i),this._$AH=t}}_$AC(t){let e=V.get(t.strings);return void 0===e&&V.set(t.strings,e=new J(t)),e}k(t){I(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,s=0;for(const n of t)s===e.length?e.push(i=new tt(this.O(R()),this.O(R()),this,this.options)):i=e[s],i._$AI(n),s++;s2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=G}_$AI(t,e=this,i,s){const n=this.strings;let o=!1;if(void 0===n)t=Z(this,t,e,0),o=!A(t)||t!==this._$AH&&t!==U,o&&(this._$AH=t);else{const s=t;let a,r;for(t=n[0],a=0;a{const s=i?.renderBefore??e;let n=s._$litPart$;if(void 0===n){const t=i?.renderBefore??null;s._$litPart$=n=new tt(e.insertBefore(R(),t),t,void 0,i??{})}return n._$AI(t),n},ct=globalThis;let ht=class extends w{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=lt(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return U}};ht._$litElement$=!0,ht.finalized=!0,ct.litElementHydrateSupport?.({LitElement:ht});const dt=ct.litElementPolyfillSupport;dt?.({LitElement:ht}),(ct.litElementVersions??=[]).push("4.2.2");const ut=2,pt=t=>(...e)=>({_$litDirective$:t,values:e});let _t=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};const gt={},mt=pt(class extends _t{constructor(){super(...arguments),this.ot=gt}render(t,e){return e()}update(t,[e,i]){if(Array.isArray(e)){if(Array.isArray(this.ot)&&this.ot.length===e.length&&e.every((t,e)=>t===this.ot[e]))return U}else if(this.ot===e)return U;return this.ot=Array.isArray(e)?Array.from(e):e,this.render(e,i)}}),{I:ft}=at,vt=t=>t,yt=()=>document.createComment(""),bt=(t,e,i)=>{const s=t._$AA.parentNode,n=void 0===e?t._$AB:e._$AA;if(void 0===i){const e=s.insertBefore(yt(),n),o=s.insertBefore(yt(),n);i=new ft(e,o,t,t.options)}else{const e=i._$AB.nextSibling,o=i._$AM,a=o!==t;if(a){let e;i._$AQ?.(t),i._$AM=t,void 0!==i._$AP&&(e=t._$AU)!==o._$AU&&i._$AP(e)}if(e!==n||a){let t=i._$AA;for(;t!==e;){const e=vt(t).nextSibling;vt(s).insertBefore(t,n),t=e}}}return i},wt=(t,e,i=t)=>(t._$AI(e,i),t),kt={},$t=(t,e=kt)=>t._$AH=e,xt=t=>{t._$AR(),t._$AA.remove()},St=(t,e,i)=>{const s=new Map;for(let n=e;n<=i;n++)s.set(t[n],n);return s},Mt=pt(class extends _t{constructor(t){if(super(t),t.type!==ut)throw Error("repeat() can only be used in text expressions")}dt(t,e,i){let s;void 0===i?i=e:void 0!==e&&(s=e);const n=[],o=[];let a=0;for(const e of t)n[a]=s?s(e,a):a,o[a]=i(e,a),a++;return{values:o,keys:n}}render(t,e,i){return this.dt(t,e,i).values}update(t,[e,i,s]){const n=(t=>t._$AH)(t),{values:o,keys:a}=this.dt(e,i,s);if(!Array.isArray(n))return this.ut=a,o;const r=this.ut??=[],l=[];let c,h,d=0,u=n.length-1,p=0,_=o.length-1;for(;d<=u&&p<=_;)if(null===n[d])d++;else if(null===n[u])u--;else if(r[d]===a[p])l[p]=wt(n[d],o[p]),d++,p++;else if(r[u]===a[_])l[_]=wt(n[u],o[_]),u--,_--;else if(r[d]===a[_])l[_]=wt(n[d],o[_]),bt(t,l[_+1],n[d]),d++,_--;else if(r[u]===a[p])l[p]=wt(n[u],o[p]),bt(t,n[d],n[u]),u--,p++;else if(void 0===c&&(c=St(a,p,_),h=St(r,d,u)),c.has(r[d]))if(c.has(r[u])){const e=h.get(a[p]),i=void 0!==e?n[e]:null;if(null===i){const e=bt(t,n[d]);wt(e,o[p]),l[p]=e}else l[p]=wt(i,o[p]),bt(t,n[d],i),n[e]=null;p++}else xt(n[u]),u--;else xt(n[d]),d++;for(;p<=_;){const e=bt(t,l[_+1]);wt(e,o[p]),l[p++]=e}for(;d<=u;){const t=n[d++];null!==t&&xt(t)}return this.ut=a,$t(t,l),U}}),Ct=new WeakMap;let Dt=0;class Tt extends ht{constructor(){super(...arguments),this.title="",this.icon="",this.wide=!1,this.dismissOnScrim=!1,this.hass=null,this._opener=null,this._focusRoot=null,this._useHaDialog=!1,this._closing=!1,this._overlays=[],this._titleId="hp-dialog-title-"+ ++Dt,this._focusInitial=()=>{const t=this._focusableElements(),e=t.find(t=>t.hasAttribute("autofocus"))||t[0]||(this._useHaDialog?null:this.renderRoot.querySelector(".close"))||this.renderRoot.querySelector(".surface")||this.renderRoot.querySelector("ha-dialog");e?.focus({preventScroll:!0})},this._requestClose=()=>{this._closing||(this._closing=!0,this.dispatchEvent(new CustomEvent("hp-close",{bubbles:!0,composed:!0})))},this._onKeyDown=t=>{if("Escape"===t.key){t.preventDefault(),t.stopImmediatePropagation(),this._pruneOverlays();const e=this._overlays[this._overlays.length-1];return e?void this._closeOverlay(e,"escape"):void this._requestClose()}if("Tab"!==t.key||this._useHaDialog)return;const e=this.renderRoot.querySelector(".close"),i=e?[e,...this._focusableElements()]:this._focusableElements();if(!i.length)return t.preventDefault(),void this.renderRoot.querySelector(".surface")?.focus({preventScroll:!0});const s=this._deepActiveElement(),n=i[0],o=i[i.length-1];!t.shiftKey||s!==n&&i.includes(s)?t.shiftKey||s!==o||(t.preventDefault(),n.focus()):(t.preventDefault(),o.focus())},this._onFallbackCancel=t=>{t.preventDefault(),this._requestClose()},this._onFallbackClick=t=>{this.dismissOnScrim&&t.target===t.currentTarget&&this._requestClose()}}connectedCallback(){super.connectedCallback(),this._opener=this._deepActiveElement();const t=this.getRootNode();this._focusRoot=t;const e=Ct.get(t)||{dialogs:new Set,opener:this._opener};e.dialogs.add(this),Ct.set(t,e),this._useHaDialog=!!customElements.get("ha-dialog"),this.addEventListener("keydown",this._onKeyDown,!0)}disconnectedCallback(){this.removeEventListener("keydown",this._onKeyDown,!0);const t=[...this._overlays];this._overlays=[];for(const e of t.reverse())e.close("disconnect");const e=this._focusRoot,i=this._opener;this._opener=null,this._focusRoot=null;const s=e?Ct.get(e):void 0;s?.dialogs.delete(this),super.disconnectedCallback(),e&&s&&requestAnimationFrame(()=>{const t=Ct.get(e);if(!t)return;if(!t.dialogs.size)return t.opener?.isConnected&&t.opener.focus({preventScroll:!0}),void Ct.delete(e);const s=i?.closest("hp-dialog");i?.isConnected&&s&&t.dialogs.has(s)&&i.focus({preventScroll:!0})})}firstUpdated(t){if(super.firstUpdated(t),!this._useHaDialog){const t=this.renderRoot.querySelector("dialog");t&&!t.open&&t.showModal()}queueMicrotask(()=>this._focusInitial())}_deepActiveElement(){let t=document.activeElement;for(;t?.shadowRoot?.activeElement;)t=t.shadowRoot.activeElement;return t&&t!==document.body?t:null}_focusableElements(){const t=["[autofocus]","a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])",'[contenteditable="true"]','[tabindex]:not([tabindex="-1"])'].join(","),e=[],i=new Set,s=n=>{if(!i.has(n)){if(i.add(n),n instanceof HTMLElement){if(n.matches(t)&&e.push(n),n instanceof HTMLSlotElement){for(const t of n.assignedNodes({flatten:!0}))s(t);return}if(n.shadowRoot){for(const t of n.shadowRoot.childNodes)s(t);return}}for(const t of n.childNodes)s(t)}};for(const t of this.childNodes)s(t);const n=this.overlayPortal();return n&&s(n),e.filter(t=>{let e=t;for(;e;){const t=getComputedStyle(e);if(e.hidden||e.inert||"true"===e.getAttribute("aria-hidden")||"none"===t.display||"hidden"===t.visibility)return!1;if(e=e.assignedSlot||e.parentElement||(e.getRootNode()instanceof ShadowRoot?e.getRootNode().host:null),e===this)break}return!0})}_pruneOverlays(){this._overlays=this._overlays.filter(t=>t.owner.isConnected)}_closeOverlay(t,e){const i=this._overlays.findIndex(e=>e.token===t.token);i>=0&&this._overlays.splice(i,1),t.close(e)}registerOverlay(t){this._pruneOverlays();const e=this._overlays.find(e=>e.owner===t.owner);e&&this._overlays.splice(this._overlays.indexOf(e),1);const i=t.group||"transient";for(const t of[...this._overlays].reverse())t.group===i&&this._closeOverlay(t,"exclusive");const s={...t,group:i,token:Symbol("hp-overlay")};this._overlays.push(s);let n=!1;return()=>{if(n)return;n=!0;const t=this._overlays.findIndex(t=>t.token===s.token);t>=0&&this._overlays.splice(t,1)}}closeTransientOverlays(t="outside"){this._pruneOverlays();const e=[...this._overlays].filter(t=>"transient"===(t.group||"transient"));for(const i of e.reverse())this._closeOverlay(i,t);return e.length>0}overlayPortal(){return this.renderRoot.querySelector(".overlay-portal")}render(){const t=W` +globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="9cf7a16bbc4f0bde8ec29d7b58b52e0f616fc14601a183ea1df347477321a5da";const t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,i=Symbol(),s=new WeakMap;let n=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==i)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const i=this.t;if(e&&void 0===t){const e=void 0!==i&&1===i.length;e&&(t=s.get(i)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&s.set(i,t))}return t}toString(){return this.cssText}};const o=(t,...e)=>{const s=1===t.length?t[0]:e.reduce((e,i,s)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[s+1],t[0]);return new n(s,t,i)},a=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return(t=>new n("string"==typeof t?t:t+"",void 0,i))(e)})(t):t,{is:r,defineProperty:l,getOwnPropertyDescriptor:c,getOwnPropertyNames:h,getOwnPropertySymbols:d,getPrototypeOf:u}=Object,p=globalThis,_=p.trustedTypes,g=_?_.emptyScript:"",m=p.reactiveElementPolyfillSupport,f=(t,e)=>t,v={toAttribute(t,e){switch(e){case Boolean:t=t?g:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},y=(t,e)=>!r(t,e),b={attribute:!0,type:String,converter:v,reflect:!1,useDefault:!1,hasChanged:y};Symbol.metadata??=Symbol("metadata"),p.litPropertyMetadata??=new WeakMap;let w=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=b){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){const i=Symbol(),s=this.getPropertyDescriptor(t,i,e);void 0!==s&&l(this.prototype,t,s)}}static getPropertyDescriptor(t,e,i){const{get:s,set:n}=c(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get:s,set(e){const o=s?.call(this);n?.call(this,e),this.requestUpdate(t,o,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(f("elementProperties")))return;const t=u(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(f("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(f("properties"))){const t=this.properties,e=[...h(t),...d(t)];for(const i of e)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,i]of e)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const i=this._$Eu(t,e);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(a(t))}else void 0!==t&&e.push(a(t));return e}static _$Eu(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const i of e.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const i=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((i,s)=>{if(e)i.adoptedStyleSheets=s.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const e of s){const s=document.createElement("style"),n=t.litNonce;void 0!==n&&s.setAttribute("nonce",n),s.textContent=e.cssText,i.appendChild(s)}})(i,this.constructor.elementStyles),i}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$ET(t,e){const i=this.constructor.elementProperties.get(t),s=this.constructor._$Eu(t,i);if(void 0!==s&&!0===i.reflect){const n=(void 0!==i.converter?.toAttribute?i.converter:v).toAttribute(e,i.type);this._$Em=t,null==n?this.removeAttribute(s):this.setAttribute(s,n),this._$Em=null}}_$AK(t,e){const i=this.constructor,s=i._$Eh.get(t);if(void 0!==s&&this._$Em!==s){const t=i.getPropertyOptions(s),n="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:v;this._$Em=s;const o=n.fromAttribute(e,t.type);this[s]=o??this._$Ej?.get(s)??o,this._$Em=null}}requestUpdate(t,e,i,s=!1,n){if(void 0!==t){const o=this.constructor;if(!1===s&&(n=this[t]),i??=o.getPropertyOptions(t),!((i.hasChanged??y)(n,e)||i.useDefault&&i.reflect&&n===this._$Ej?.get(t)&&!this.hasAttribute(o._$Eu(t,i))))return;this.C(t,e,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,e,{useDefault:i,reflect:s,wrapped:n},o){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,o??e??this[t]),!0!==n||void 0!==o)||(this._$AL.has(t)||(this.hasUpdated||i||(e=void 0),this._$AL.set(t,e)),!0===s&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,i]of t){const{wrapped:t}=i,s=this[e];!0!==t||this._$AL.has(e)||void 0===s||this.C(e,void 0,i,s)}}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(e)):this._$EM()}catch(e){throw t=!1,this._$EM(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}};w.elementStyles=[],w.shadowRootOptions={mode:"open"},w[f("elementProperties")]=new Map,w[f("finalized")]=new Map,m?.({ReactiveElement:w}),(p.reactiveElementVersions??=[]).push("2.1.2");const k=globalThis,$=t=>t,x=k.trustedTypes,S=x?x.createPolicy("lit-html",{createHTML:t=>t}):void 0,M="$lit$",C=`lit$${Math.random().toFixed(9).slice(2)}$`,D="?"+C,T=`<${D}>`,P=document,R=()=>P.createComment(""),A=t=>null===t||"object"!=typeof t&&"function"!=typeof t,I=Array.isArray,E="[ \t\n\f\r]",F=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,z=/-->/g,O=/>/g,H=RegExp(`>|${E}(?:([^\\s"'>=/]+)(${E}*=${E}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),N=/'/g,L=/"/g,B=/^(?:script|style|textarea|title)$/i,q=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),W=q(1),j=q(2),U=Symbol.for("lit-noChange"),G=Symbol.for("lit-nothing"),V=new WeakMap,K=P.createTreeWalker(P,129);function Y(t,e){if(!I(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==S?S.createHTML(e):e}const X=(t,e)=>{const i=t.length-1,s=[];let n,o=2===e?"":3===e?"":"",a=F;for(let e=0;e"===l[0]?(a=n??F,c=-1):void 0===l[1]?c=-2:(c=a.lastIndex-l[2].length,r=l[1],a=void 0===l[3]?H:'"'===l[3]?L:N):a===L||a===N?a=H:a===z||a===O?a=F:(a=H,n=void 0);const d=a===H&&t[e+1].startsWith("/>")?" ":"";o+=a===F?i+T:c>=0?(s.push(r),i.slice(0,c)+M+i.slice(c)+C+d):i+C+(-2===c?e:d)}return[Y(t,o+(t[i]||"")+(2===e?"":3===e?"":"")),s]};class J{constructor({strings:t,_$litType$:e},i){let s;this.parts=[];let n=0,o=0;const a=t.length-1,r=this.parts,[l,c]=X(t,e);if(this.el=J.createElement(l,i),K.currentNode=this.el.content,2===e||3===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(s=K.nextNode())&&r.length0){s.textContent=x?x.emptyScript:"";for(let i=0;iI(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==G&&A(this._$AH)?this._$AA.nextSibling.data=t:this.T(P.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:i}=t,s="number"==typeof i?this._$AC(t):(void 0===i.el&&(i.el=J.createElement(Y(i.h,i.h[0]),this.options)),i);if(this._$AH?._$AD===s)this._$AH.p(e);else{const t=new Q(s,this),i=t.u(this.options);t.p(e),this.T(i),this._$AH=t}}_$AC(t){let e=V.get(t.strings);return void 0===e&&V.set(t.strings,e=new J(t)),e}k(t){I(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,s=0;for(const n of t)s===e.length?e.push(i=new tt(this.O(R()),this.O(R()),this,this.options)):i=e[s],i._$AI(n),s++;s2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=G}_$AI(t,e=this,i,s){const n=this.strings;let o=!1;if(void 0===n)t=Z(this,t,e,0),o=!A(t)||t!==this._$AH&&t!==U,o&&(this._$AH=t);else{const s=t;let a,r;for(t=n[0],a=0;a{const s=i?.renderBefore??e;let n=s._$litPart$;if(void 0===n){const t=i?.renderBefore??null;s._$litPart$=n=new tt(e.insertBefore(R(),t),t,void 0,i??{})}return n._$AI(t),n},ct=globalThis;let ht=class extends w{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=lt(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return U}};ht._$litElement$=!0,ht.finalized=!0,ct.litElementHydrateSupport?.({LitElement:ht});const dt=ct.litElementPolyfillSupport;dt?.({LitElement:ht}),(ct.litElementVersions??=[]).push("4.2.2");const ut=2,pt=t=>(...e)=>({_$litDirective$:t,values:e});let _t=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};const gt={},mt=pt(class extends _t{constructor(){super(...arguments),this.ot=gt}render(t,e){return e()}update(t,[e,i]){if(Array.isArray(e)){if(Array.isArray(this.ot)&&this.ot.length===e.length&&e.every((t,e)=>t===this.ot[e]))return U}else if(this.ot===e)return U;return this.ot=Array.isArray(e)?Array.from(e):e,this.render(e,i)}}),{I:ft}=at,vt=t=>t,yt=()=>document.createComment(""),bt=(t,e,i)=>{const s=t._$AA.parentNode,n=void 0===e?t._$AB:e._$AA;if(void 0===i){const e=s.insertBefore(yt(),n),o=s.insertBefore(yt(),n);i=new ft(e,o,t,t.options)}else{const e=i._$AB.nextSibling,o=i._$AM,a=o!==t;if(a){let e;i._$AQ?.(t),i._$AM=t,void 0!==i._$AP&&(e=t._$AU)!==o._$AU&&i._$AP(e)}if(e!==n||a){let t=i._$AA;for(;t!==e;){const e=vt(t).nextSibling;vt(s).insertBefore(t,n),t=e}}}return i},wt=(t,e,i=t)=>(t._$AI(e,i),t),kt={},$t=(t,e=kt)=>t._$AH=e,xt=t=>{t._$AR(),t._$AA.remove()},St=(t,e,i)=>{const s=new Map;for(let n=e;n<=i;n++)s.set(t[n],n);return s},Mt=pt(class extends _t{constructor(t){if(super(t),t.type!==ut)throw Error("repeat() can only be used in text expressions")}dt(t,e,i){let s;void 0===i?i=e:void 0!==e&&(s=e);const n=[],o=[];let a=0;for(const e of t)n[a]=s?s(e,a):a,o[a]=i(e,a),a++;return{values:o,keys:n}}render(t,e,i){return this.dt(t,e,i).values}update(t,[e,i,s]){const n=(t=>t._$AH)(t),{values:o,keys:a}=this.dt(e,i,s);if(!Array.isArray(n))return this.ut=a,o;const r=this.ut??=[],l=[];let c,h,d=0,u=n.length-1,p=0,_=o.length-1;for(;d<=u&&p<=_;)if(null===n[d])d++;else if(null===n[u])u--;else if(r[d]===a[p])l[p]=wt(n[d],o[p]),d++,p++;else if(r[u]===a[_])l[_]=wt(n[u],o[_]),u--,_--;else if(r[d]===a[_])l[_]=wt(n[d],o[_]),bt(t,l[_+1],n[d]),d++,_--;else if(r[u]===a[p])l[p]=wt(n[u],o[p]),bt(t,n[d],n[u]),u--,p++;else if(void 0===c&&(c=St(a,p,_),h=St(r,d,u)),c.has(r[d]))if(c.has(r[u])){const e=h.get(a[p]),i=void 0!==e?n[e]:null;if(null===i){const e=bt(t,n[d]);wt(e,o[p]),l[p]=e}else l[p]=wt(i,o[p]),bt(t,n[d],i),n[e]=null;p++}else xt(n[u]),u--;else xt(n[d]),d++;for(;p<=_;){const e=bt(t,l[_+1]);wt(e,o[p]),l[p++]=e}for(;d<=u;){const t=n[d++];null!==t&&xt(t)}return this.ut=a,$t(t,l),U}}),Ct=new WeakMap;let Dt=0;class Tt extends ht{constructor(){super(...arguments),this.title="",this.icon="",this.wide=!1,this.dismissOnScrim=!1,this.hass=null,this._opener=null,this._focusRoot=null,this._useHaDialog=!1,this._closing=!1,this._overlays=[],this._titleId="hp-dialog-title-"+ ++Dt,this._focusInitial=()=>{const t=this._focusableElements(),e=t.find(t=>t.hasAttribute("autofocus"))||t[0]||(this._useHaDialog?null:this.renderRoot.querySelector(".close"))||this.renderRoot.querySelector(".surface")||this.renderRoot.querySelector("ha-dialog");e?.focus({preventScroll:!0})},this._requestClose=()=>{this._closing||(this._closing=!0,this.dispatchEvent(new CustomEvent("hp-close",{bubbles:!0,composed:!0})))},this._onKeyDown=t=>{if("Escape"===t.key){t.preventDefault(),t.stopImmediatePropagation(),this._pruneOverlays();const e=this._overlays[this._overlays.length-1];return e?void this._closeOverlay(e,"escape"):void this._requestClose()}if("Tab"!==t.key||this._useHaDialog)return;const e=this.renderRoot.querySelector(".close"),i=e?[e,...this._focusableElements()]:this._focusableElements();if(!i.length)return t.preventDefault(),void this.renderRoot.querySelector(".surface")?.focus({preventScroll:!0});const s=this._deepActiveElement(),n=i[0],o=i[i.length-1];!t.shiftKey||s!==n&&i.includes(s)?t.shiftKey||s!==o||(t.preventDefault(),n.focus()):(t.preventDefault(),o.focus())},this._onFallbackCancel=t=>{t.preventDefault(),this._requestClose()},this._onFallbackClick=t=>{this.dismissOnScrim&&t.target===t.currentTarget&&this._requestClose()}}connectedCallback(){super.connectedCallback(),this._opener=this._deepActiveElement();const t=this.getRootNode();this._focusRoot=t;const e=Ct.get(t)||{dialogs:new Set,opener:this._opener};e.dialogs.add(this),Ct.set(t,e),this._useHaDialog=!!customElements.get("ha-dialog"),this.addEventListener("keydown",this._onKeyDown,!0)}disconnectedCallback(){this.removeEventListener("keydown",this._onKeyDown,!0);const t=[...this._overlays];this._overlays=[];for(const e of t.reverse())e.close("disconnect");const e=this._focusRoot,i=this._opener;this._opener=null,this._focusRoot=null;const s=e?Ct.get(e):void 0;s?.dialogs.delete(this),super.disconnectedCallback(),e&&s&&requestAnimationFrame(()=>{const t=Ct.get(e);if(!t)return;if(!t.dialogs.size)return t.opener?.isConnected&&t.opener.focus({preventScroll:!0}),void Ct.delete(e);const s=i?.closest("hp-dialog");i?.isConnected&&s&&t.dialogs.has(s)&&i.focus({preventScroll:!0})})}firstUpdated(t){if(super.firstUpdated(t),!this._useHaDialog){const t=this.renderRoot.querySelector("dialog");t&&!t.open&&t.showModal()}queueMicrotask(()=>this._focusInitial())}_deepActiveElement(){let t=document.activeElement;for(;t?.shadowRoot?.activeElement;)t=t.shadowRoot.activeElement;return t&&t!==document.body?t:null}_focusableElements(){const t=["[autofocus]","a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])",'[contenteditable="true"]','[tabindex]:not([tabindex="-1"])'].join(","),e=[],i=new Set,s=n=>{if(!i.has(n)){if(i.add(n),n instanceof HTMLElement){if(n.matches(t)&&e.push(n),n instanceof HTMLSlotElement){for(const t of n.assignedNodes({flatten:!0}))s(t);return}if(n.shadowRoot){for(const t of n.shadowRoot.childNodes)s(t);return}}for(const t of n.childNodes)s(t)}};for(const t of this.childNodes)s(t);const n=this.overlayPortal();return n&&s(n),e.filter(t=>{let e=t;for(;e;){const t=getComputedStyle(e);if(e.hidden||e.inert||"true"===e.getAttribute("aria-hidden")||"none"===t.display||"hidden"===t.visibility)return!1;if(e=e.assignedSlot||e.parentElement||(e.getRootNode()instanceof ShadowRoot?e.getRootNode().host:null),e===this)break}return!0})}_pruneOverlays(){this._overlays=this._overlays.filter(t=>t.owner.isConnected)}_closeOverlay(t,e){const i=this._overlays.findIndex(e=>e.token===t.token);i>=0&&this._overlays.splice(i,1),t.close(e)}registerOverlay(t){this._pruneOverlays();const e=this._overlays.find(e=>e.owner===t.owner);e&&this._overlays.splice(this._overlays.indexOf(e),1);const i=t.group||"transient";for(const t of[...this._overlays].reverse())t.group===i&&this._closeOverlay(t,"exclusive");const s={...t,group:i,token:Symbol("hp-overlay")};this._overlays.push(s);let n=!1;return()=>{if(n)return;n=!0;const t=this._overlays.findIndex(t=>t.token===s.token);t>=0&&this._overlays.splice(t,1)}}closeTransientOverlays(t="outside"){this._pruneOverlays();const e=[...this._overlays].filter(t=>"transient"===(t.group||"transient"));for(const i of e.reverse())this._closeOverlay(i,t);return e.length>0}overlayPortal(){return this.renderRoot.querySelector(".overlay-portal")}render(){const t=W` ${this.icon?W``:G} ${this.title} `;return this._useHaDialog?W`${t.visibleLabel}`:G}
${t?.content||G}
- `}afterRender(){const t=this.host.root();this._blocked&&(this._openGroupId?this.closeGroup(!1):"palette"===this._currentModel?.kind&&this._currentModel.dismiss?.()),this._syncGlobalDismissListener();const e=t.querySelector(".editor-secondary"),i=this._renderedContext,s=e?.dataset.contextId||"";if(s&&i&&s!==i&&!window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches&&(this._contentAnimation?.cancel(),this._contentAnimation=e?.querySelector(".editor-secondary-content")?.animate([{opacity:.35,transform:"translateY(-4px)"},{opacity:1,transform:"translateY(0)"}],{duration:100,easing:"ease-out"})),this._renderedContext=s,i&&s!==i&&this._focusOwned){const i=s?e?.querySelector('[tabindex="0"], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled])'):t.querySelector(".editbar-tools");i?.focus?.(),this._focusOwned=!!s}if("palette"===this._currentModel?.kind&&this._currentModel.launcherId){const e=[...t.querySelectorAll("[data-editor-palette]")].find(t=>t.dataset.editorPalette===this._currentModel?.launcherId);e&&null!==e.offsetParent||this._currentModel.dismiss?.()}if(!this._openGroupId)return;const n=[...t.querySelectorAll("[data-editor-group]")].find(t=>t.dataset.editorGroup===this._openGroupId);n&&null!==n.offsetParent||this.closeGroup(!0)}handleOutsideDismiss(t){if(Pu(t,t=>t.hasAttribute("data-editor-navigation")))return"pointerdown"===t.type?this.closeForNavigation():"click"===t.type&&this._dismissPointerTarget&&this._clearDismissClick(),!1;if("click"===t.type&&this._dismissPointerTarget){return!!(t.composedPath?.()||[t.target]).includes(this._dismissPointerTarget)&&(this._clearDismissClick(),t.preventDefault(),t.stopImmediatePropagation(),!0)}const e=this._openGroupId||this._blocked||"palette"!==this._currentModel?.kind?null:this._currentModel;if("pointerdown"===t.type&&(this._openGroupId||e)){const i=Pu(t,t=>t.classList.contains("editor-secondary")),s=Pu(t,t=>!!t.dataset.editorGroup),n=Pu(t,t=>!!t.dataset.editorPalette),o=Pu(t,t=>t.classList.contains("stage"));if(!(i||s||n||"stay-open-on-canvas"===e?.dismissPolicy&&o))return t.preventDefault(),t.stopImmediatePropagation(),this._dismissPointerTarget=t.target,clearTimeout(this._dismissTimer),this._dismissTimer=window.setTimeout(()=>{this._clearDismissClick()},800),this._openGroupId?this.closeGroup(!1):e?.dismiss?.(),this._syncGlobalDismissListener(),!0}return!1}_activateGroupItem(t,e,i){if(t.id!==this._openGroupId)return;const s=t.items.find(t=>t.id===e);if(!s||s.disabled)return;const n="toggle"===s.role&&"stay-open"===s.closePolicy,o=0===i.detail;n||(this._openGroupId=null,this.host.requestUpdate(),this._syncGlobalDismissListener()),s.invoke(),!n&&o&&this.host.updateComplete().then(()=>{const e=[...this.host.root().querySelectorAll("[data-editor-group]")].find(e=>e.dataset.editorGroup===t.id&&null!==e.offsetParent);e?.focus()})}_groupKeydown(t){if(!["ArrowLeft","ArrowRight","Home","End"].includes(t.key))return;const e=[...t.currentTarget.querySelectorAll(".editor-group-item:not([disabled])")];if(!e.length)return;t.preventDefault();const i=e.indexOf(this.host.root().activeElement),s="Home"===t.key?0:"End"===t.key?e.length-1:"ArrowLeft"===t.key?i<=0?e.length-1:i-1:(i+1)%e.length;e[s]?.focus()}_clearDismissClick(){this._dismissPointerTarget=null,clearTimeout(this._dismissTimer),this._dismissTimer=void 0,this._syncGlobalDismissListener()}_syncGlobalDismissListener(){const t=!this._blocked&&"palette"===this._currentModel?.kind,e=!!this._openGroupId||t||!!this._dismissPointerTarget;e!==this._globalDismissListening&&(this._globalDismissListening=e,e?(window.addEventListener("pointerdown",this._globalDismissGuard,!0),window.addEventListener("click",this._globalDismissGuard,!0)):(window.removeEventListener("pointerdown",this._globalDismissGuard,!0),window.removeEventListener("click",this._globalDismissGuard,!0)))}}const Au=t=>t.stopPropagation(),Iu=4.166666666666667e-9;function Eu(t){if(!Number.isFinite(t))return t;const e=Math.round(t/Jl)*Jl;return Math.abs(e-t)<=Iu?t:e}const Fu=(t,e,i,s)=>Math.hypot(i-t,s-e),zu=(t,e,i,s,n,o,a,r)=>Math.hypot(Math.max(Math.abs(n-t),Math.abs(n+a-(t+i))),Math.max(Math.abs(o-e),Math.abs(o+r-(e+s)))),Ou=(t,e,i,s,n,o,a)=>{const r=Math.max(Number(s)||0,0)/2,l=Math.PI/180,c=Math.cos(i*l)*r,h=Math.sin(i*l)*r,d=Math.cos(a*l)*r,u=Math.sin(a*l)*r,p=Math.max(Fu(t+c,e+h,n+d,o+u),Fu(t-c,e-h,n-d,o-u)),_=Math.max(Fu(t+c,e+h,n-d,o-u),Fu(t-c,e-h,n+d,o+u));return Math.min(p,_)},Hu=t=>{const e=Number(t?.cell_cm);return e>0?e:5};const Nu=t=>JSON.parse(JSON.stringify(t)),Lu=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),Bu=(t,e,i)=>Math.min(i,Math.max(e,t)),qu=t=>Gl({spaces:[t]})[0],Wu=t=>{const e=[];for(const i of t||[]){const t=hi(i);if(t?.length)for(let i=0;i{let e=0,i=0,s=0;for(const i of t.markers||[]){if("ripple"===i.display&&(i.display="icon_ripple",e++),Array.isArray(i.controls)){const t="string"==typeof i.binding&&i.binding.startsWith("entity:")?i.binding.slice(7):"",s=t?i.controls.filter(e=>e!==t):i.controls;JSON.stringify(s)!==JSON.stringify(i.controls)&&(i.controls=s.length?s:null,e++)}const t=i.vacuum;t&&Lu(t,"trail")&&(["never","cleaning","always"].includes(t.trail_mode)||(t.trail_mode=!1===t.trail?"never":"cleaning"),delete t.trail,e++)}for(const n of t.spaces||[]){const t=n.settings;"glow"===t?.fill_mode&&("boolean"!=typeof t.glow_enabled&&(t.glow_enabled=!0),t.fill_mode="none",e++,i++);for(const t of n.rooms||[]){const i=t.settings;"glow"===i?.fill_mode&&("boolean"!=typeof i.glow&&(i.glow=!0),delete i.fill_mode,e++,s++)}if(Lu(n,"segments")&&(delete n.segments,e++),Lu(n,"plan_scale")){const t=Number(n.plan_scale);Number.isFinite(t)&&t>=ql&&t<=Wl&&(Lu(n,"plan_scale_x")||(n.plan_scale_x=t),Lu(n,"plan_scale_y")||(n.plan_scale_y=t),delete n.plan_scale,e++)}const o=Number(n.cell_cm);Lu(n,"cell_cm")&&(!Number.isFinite(o)||o<.1||o>1e3)&&(n.cell_cm=Number.isFinite(o)&&o>0?Bu(o,.1,1e3):5,e++);const a=Number(n.cell_cm),r=Number.isFinite(a)&&a>0?a:5;for(const t of n.wall_columns||[])if("circle"===t.shape)Lu(t,"angle")&&(delete t.angle,e++);else if("square"===t.shape&&Lu(t,"angle")){const i=((Number(t.angle)||0)%90+90)%90;t.angle!==i&&(t.angle=i,e++)}for(const t of n.decor||[]){if(Lu(t,"width")){const i=Number(t.width);(Lu(t,"width_cm")||Number.isFinite(i))&&(Lu(t,"width_cm")||(t.width_cm=Number(Bu(i/Xl*r,.1,100).toFixed(6))),delete t.width,e++)}if("rect"!==t?.kind&&"ellipse"!==t?.kind||!0!==t.fill||(Lu(t,"fill_color")||(t.fill_color=t.color||"#607d8b",e++),Lu(t,"fill_opacity")||(t.fill_opacity=.25,e++)),"text"!==t?.kind)continue;void 0===t.size_cm?(t.size_cm=Number(Bu(es*is(t)/Xl*r,.1,2e3).toFixed(6)),delete t.scale,delete t.size,e++):(Lu(t,"scale")||Lu(t,"size"))&&(delete t.scale,delete t.size,e++);let i=String(t.text??"");const s=[...i.matchAll(/\{([^{}\r\n]+)\}/g)].some(t=>!!Yi(t[1]));if(!(Lu(t,"entity")||Lu(t,"attr")||Lu(t,"unit")))continue;const n=String(t.unit??"").trim(),o="state"===String(t.attr??"").trim().toLowerCase()?null:t.attr,a=s||n?"":Xi(t.entity,o);if(s||a){if(a){const e=i.indexOf("{}");i=e>=0?i.slice(0,e)+a+i.slice(e+2):`${i}${i?" ":""}${a}`,t.text=i}delete t.entity,delete t.attr,delete t.unit,e++}}}return{total:e,glowSpaces:i,glowRooms:s}})(i);let r=a.total;for(const t of i.spaces||[]){const e=qu(t);if(!e)continue;if(!Ec(t.open_spans).length){const i=Nc(e.rooms,null,Ll,.02*Xl,!0);i.length&&(t.open_spans=Lc(i,Ll),r++)}}const l=Nu(i.spaces||[]),c=function(t,e){const i=JSON.parse(JSON.stringify(t||[])),s=JSON.parse(JSON.stringify(e||{}));let n=0,o=0,a=0,r=0,l="",c=0,h=0;const d={};let u=5;for(const t of i){const e=Hu(t);null!=t?.id&&(d[String(t.id)]=e),e>u&&(u=e)}const p=(t,e,i,s=!1)=>{if(!(t>Iu||s))return;n++,t>a&&(a=t);const o=t*Yl*e;o>r&&(r=o,l=i)};for(const t of i){const e=Hu(t),i=null!=t?.id?String(t.id):"";for(const s of t.rooms||[]){o++;let t=0;if(s.poly?.length)s.poly=s.poly.map(e=>{const i=[Eu(e[0]),Eu(e[1])];return t=Math.max(t,Fu(e[0],e[1],i[0],i[1])),i});else if(null!=s.x&&null!=s.y){const e=s.x,i=s.y,n=s.w||0,o=s.h||0,a=Eu(e+n),r=Eu(i+o),l=Eu(e),c=Eu(i),h=Math.max(Jl,a-l),d=Math.max(Jl,r-c);t=zu(e,i,n,o,l,c,h,d),s.x=l,s.y=c,s.w=h,s.h=d}p(t,e,i)}for(const s of t.room_drafts||[]){o++;let t=0;const n=(s.points||[]).map(e=>{const i=[Eu(e[0]),Eu(e[1])];return t=Math.max(t,Fu(e[0],e[1],i[0],i[1])),i}),a=n.length?[n[0]]:[],r=[];for(let t=0;t+1t.points?.length>=2),h+=e-t.room_drafts.length,t.room_drafts.length||delete t.room_drafts}for(const s of t.partitions||[]){o++;const n=[Eu(s.a[0]),Eu(s.a[1])],a=[Eu(s.b[0]),Eu(s.b[1])];let r=Math.max(Fu(s.a[0],s.a[1],n[0],n[1]),Fu(s.b[0],s.b[1],a[0],a[1]));const l=Fu(n[0],n[1],a[0],a[1]),c=(t.openings||[]).filter(t=>"partition"===t.host?.kind&&t.host.id===s.id).every(t=>{const e=Number(t.length),i=Number(t.host.t),s=i*l;return Number.isFinite(e)&&e>0&&Number.isFinite(i)&&i>=0&&i<=1&&s-e/2>=-Iu&&s+e/2<=l+Iu});l>Iu&&c?(s.a=n,s.b=a):r=0,p(r,e,i)}for(const s of t.wall_columns||[]){o++;const t=[Eu(s.center[0]),Eu(s.center[1])],n=Fu(s.center[0],s.center[1],t[0],t[1]);s.center=t,p(n,e,i)}for(const s of t.decor||[]){o++;let t=0;if("line"===s.kind){const e=[Eu(s.x1),Eu(s.y1)],i=[Eu(s.x2),Eu(s.y2)];t=Math.max(Fu(s.x1,s.y1,e[0],e[1]),Fu(s.x2,s.y2,i[0],i[1])),s.x1=e[0],s.y1=e[1],s.x2=i[0],s.y2=i[1]}else{const e=Eu(s.x),i=Eu(s.y);if(null!=s.w&&null!=s.h){const n=Eu(s.x+s.w),o=Eu(s.y+s.h),a=Math.max(Jl,n-e),r=Math.max(Jl,o-i);t=zu(s.x,s.y,s.w,s.h,e,i,a,r),s.w=a,s.h=r}else t=Fu(s.x,s.y,e,i);s.x=e,s.y=i}p(t,e,i)}for(const s of t.openings||[]){if(o++,"partition"===s.host?.kind){const n=(t.partitions||[]).find(t=>t.id===s.host.id),o=Number(s.host.t);if(!n||!Number.isFinite(o)||o<0||o>1)continue;const a=n.b[0]-n.a[0],r=n.b[1]-n.a[1];if(Math.hypot(a,r)<=Iu)continue;const l=n.a[0]+a*o,h=n.a[1]+r*o;let d=180*Math.atan2(r,a)/Math.PI;d>=90?d-=180:d<-90&&(d+=180);const u=Number(s.angle),_=!(Number.isFinite(u)&&u===d),g=Ou(s.x,s.y,Number.isFinite(u)?u:d,Number(s.length)||0,l,h,d);s.x=l,s.y=h,s.angle=d,_&&c++,p(g,e,i,_);continue}const n=pi([s.x,s.y],t.rooms||[],.025,{step:Jl,length:Number(s.length)||0});if(!n)continue;const a=Number(s.angle),r=!(Number.isFinite(a)&&a===n.angle),l=Ou(s.x,s.y,Number.isFinite(a)?a:n.angle,Number(s.length)||0,n.x,n.y,n.angle);s.x=n.x,s.y=n.y,s.angle=n.angle,r&&c++,p(l,e,i,r)}}for(const[t,e]of Object.entries(s)){if(!e||"object"!=typeof e)continue;const i=e;if("number"!=typeof i.x||"number"!=typeof i.y)continue;o++;const n=Eu(i.x),a=Eu(i.y),r=Fu(i.x,i.y,n,a);s[t]={...i,x:n,y:a};const l="string"==typeof i.s?i.s:"";p(r,d[l]??u,l)}return{spaces:i,layout:s,report:{moved:n,total:o,maxShift:a,maxShiftCm:r,maxSpace:l,rotated:c,removedDrafts:h},changed:n>0}}(i.spaces||[],e||{});i.spaces=c.spaces;const h={...c.report};let d=0,u=0,p=0;for(let t=0;t[t.id,t.open_to||[]]),walls:e.walls||[]}),o=qu(e),a=qu(s);if(!o||!a)continue;const r=Wu(o.rooms),c=Wu(a.rooms),_=.02*Xl;let g=Kc(Ec(e.open_spans),r,c,Ll);const m=g.length;g=Vc(g,a.rooms,Ll,_),g=g.map(t=>{const e=Ac(t,Ll),i=[e[0],e[1]],n=[e[2],e[3]],o=[(e[0]+e[2])/2,(e[1]+e[3])/2],a=e[2]-e[0],r=e[3]-e[1],l=Math.hypot(a,r)||1,d=c.map(([t,e])=>[t[0],t[1],e[0],e[1]]).filter(t=>{const e=t[2]-t[0],s=t[3]-t[1],c=Math.hypot(e,s)||1;return Math.abs(a*s-r*e)/(l*c)<=1e-6&&Fc(o,t).d<=4*_&&Fc(i,t).d<=4*_&&Fc(n,t).d<=4*_}).sort((t,e)=>Math.hypot(e[2]-e[0],e[3]-e[1])-Math.hypot(t[2]-t[0],t[3]-t[1]))[0];if(h.total++,!d)return t;const u=[[d[0],d[1]],[d[2],d[3]]],p=Oc(i,d,u,Xl,2*_),g=Oc(n,d,u,Xl,2*_);if(Math.hypot(g[0]-p[0],g[1]-p[1])<.5*Xl)return t;const m=Math.max(Math.hypot(p[0]-i[0],p[1]-i[1]),Math.hypot(g[0]-n[0],g[1]-n[1]));if(m>1e-6*Xl){h.moved++;const t=m/Ll;t>h.maxShift&&(h.maxShift=t);const e=m/Xl*(Number(s.cell_cm)>0?Number(s.cell_cm):5);e>h.maxShiftCm&&(h.maxShiftCm=e,h.maxSpace=String(s.id||""))}return Rc(p,g,Ll)}),g=Vc(g,a.rooms,Ll,_),u+=Math.max(0,m-g.length);const f=g.map(t=>Ac(t,Ll));g.length?s.open_spans=g:delete s.open_spans,Bc(s.rooms||[],a.rooms,f,_);const v=Array.isArray(e.walls)?e.walls.length:0;let y=Rr(e.walls,r,c,Jl,Ll);y=el(a.rooms,y,f,Jl,Number(s.cell_cm)>0?Number(s.cell_cm):5,Xl,Ll),y=Tr(y,s.rooms||[],Jl,1,f.map(t=>[t[0]/Ll,t[1]/Ll,t[2]/Ll,t[3]/Ll])),d+=Math.max(0,v-y.length),y.length?s.walls=y:delete s.walls;const b=JSON.stringify({spans:s.open_spans||[],links:(s.rooms||[]).map(t=>[t.id,t.open_to||[]]),walls:s.walls||[]});b!==n&&p++}const _=JSON.stringify(i)!==s||JSON.stringify(c.layout)!==n;o<6&&_&&(i.model_version=6);const g=JSON.stringify(i)!==s||JSON.stringify(c.layout)!==n,m=Number.isInteger(Number(i.model_version))?Number(i.model_version):o;return{config:i,layout:c.layout,report:{...h,modelFrom:o,modelTo:m,migrated:r,glowSpacesMigrated:a.glowSpaces,glowRoomsMigrated:a.glowRooms,canonicalized:p,wallsMerged:d,spansMerged:u},changed:g}}class Uu{constructor(t=50){this._undo=[],this._redo=[],this._limit=Math.max(30,Math.floor(t))}get canUndo(){return this._undo.length>0}get canRedo(){return this._redo.length>0}get undoName(){return this._undo[this._undo.length-1]?.name??null}get redoName(){return this._redo[this._redo.length-1]?.name??null}get size(){return this._undo.length}push(t){this._undo.push(t),this._undo.length>this._limit&&this._undo.splice(0,this._undo.length-this._limit),this._redo=[]}undo(){const t=this._undo.pop()??null;return t&&this._redo.push(t),t}redo(){const t=this._redo.pop()??null;return t&&this._undo.push(t),t}clear(){this._undo=[],this._redo=[]}}const Gu=new WeakMap;const Vu=(t,e,i)=>255===t[i+3]&&e.every((e,s)=>Math.abs(t[i+s]-e)<=2);async function Ku(t){const e=t.defaultView;if(!e||!e.CSS?.supports?.("mix-blend-mode","screen"))return!1;const i=[128,32,16],s=[16,64,128],n=[9,19,29],o=`\n \n \n \n \n \n `,a=e.URL.createObjectURL(new Blob([o],{type:"image/svg+xml"}));try{const o=await new Promise((t,i)=>{const s=new e.Image,n=e.setTimeout(()=>i(new Error("SVG blend probe timeout")),1e3);s.onload=()=>{e.clearTimeout(n),t(s)},s.onerror=()=>{e.clearTimeout(n),i(new Error("SVG blend probe failed"))},s.src=a}),r=t.createElement("canvas");r.width=4,r.height=1;const l=r.getContext("2d",{willReadFrequently:!0});if(!l)return!1;l.drawImage(o,0,0,4,1);const c=l.getImageData(0,0,4,1).data;return Vu(c,i,0)&&Vu(c,function(t,e){return[0,1,2].map(i=>Math.round(255-(255-t[i])*(255-e[i])/255))}(i,s),4)&&Vu(c,s,8)&&Vu(c,n,12)}catch{return!1}finally{e.URL.revokeObjectURL(a)}}const Yu={now:()=>performance.now(),requestFrame:t=>requestAnimationFrame(t),cancelFrame:t=>cancelAnimationFrame(t)},Xu=t=>Math.max(0,Math.min(1,t)),Ju=(t,e,i)=>t+(e-t)*i,Zu=(t,e,i)=>{const s=1-t;return 3*s*s*t*e+3*s*t*t*i+t*t*t};function Qu(t,e){return{centerX:t.x+t.w/2,centerY:t.y+t.h/2,pixelsPerUnit:e>0&&t.w>0?e/t.w:1,viewBox:{...t}}}function tp(t,e,i){const s=Math.max(1e-9,t.pixelsPerUnit),n=Math.max(1e-9,e/s),o=Math.max(1e-9,i/s);return{x:t.centerX-n/2,y:t.centerY-o/2,w:n,h:o}}function ep(t){const e=t.trim(),i=/^rgba?\(\s*([\d.]+)[, ]+([\d.]+)[, ]+([\d.]+)(?:\s*[,/]\s*([\d.]+))?\s*\)$/i.exec(e);if(i)return[Number(i[1]),Number(i[2]),Number(i[3]),null==i[4]?1:Number(i[4])];const s=/^#([0-9a-f]{6}|[0-9a-f]{8})$/i.exec(e)?.[1];return s?[parseInt(s.slice(0,2),16),parseInt(s.slice(2,4),16),parseInt(s.slice(4,6),16),8===s.length?parseInt(s.slice(6,8),16)/255:1]:null}function ip(t,e,i){const s=ep(t),n=ep(e);if(!s||!n)return i<.5?t:e;const o=Xu(i);return`rgba(${Math.round(Ju(s[0],n[0],o))}, ${Math.round(Ju(s[1],n[1],o))}, ${Math.round(Ju(s[2],n[2],o))}, ${Ju(s[3],n[3],o).toFixed(3)})`}function sp(t,e,i){const s=(t=>{const e=Xu(t);if(0===e||1===e)return e;let i=0,s=1,n=e;for(let t=0;t<12;t++)n=(i+s)/2,Zu(n,.2,.2){const e=this._state;if(!e||e.token!==n)return;const i=Xu((t-e.startedAt)/e.duration);e.presented=i>=1?e.to:sp(e.from,e.to,i),e.phase=i>=1?"settling":"running",this._hooks.frame(e),i<1?this._raf=this._clock.requestFrame(a):(this._raf=0,this._hooks.settled(e),this._state?.token===n&&(this._state=null))};return this._raf=this._clock.requestFrame(a),n}cancel(t=!0){this._raf&&this._clock.cancelFrame(this._raf),this._raf=0;const e=this._state;this._state=null,this._token++,e&&t&&(e.phase="settling",e.presented=e.to,this._hooks.frame(e),this._hooks.settled(e))}dispose(){this.cancel(!1)}}const op="houseplan_card_labs_v1",ap=Object.freeze([Object.freeze({id:"iso",issue:89,since:"1.62.0",expires:"1.65.0",summary:"Volumetric plan renderer"})]);function rp(t){const e=/^(\d+)\.(\d+)\.(\d+)(?:-[0-9A-Za-z.-]+)?$/.exec(String(t||"").trim());if(!e)return null;const i=e.slice(1).map(Number);return i.every(t=>Number.isSafeInteger(t))?i:null}function lp(t,e){for(let i=0;i<3;i++)if(t[i]!==e[i])return t[i]t.split(",")).map(t=>t.trim()).filter(Boolean)}function _p(t,e,i,s=ap){const n=function(t,e=ap){const i=rp(t),s=new Map;if(!i||!hp(e))return s;for(const t of e){const e=rp(t.since),n=rp(t.expires);lp(i,e)>=0&&lp(i,n)<0&&s.set(t.id,t)}return s}(i,s),o=new Set(hp(s)?s.map(t=>t.id):[]),a=new Set(function(t){if(!t)return[];try{const e=JSON.parse(t);return Array.isArray(e)?e.filter(t=>"string"==typeof t):[]}catch{return[]}}(e).filter(t=>n.has(t)));let r=!1;const l=t=>{if("off"===t)return a.clear(),void(r=!0);const e=t.startsWith("-"),i=e?t.slice(1):t;o.has(i)&&(r=!0,e||!n.has(i)?a.delete(i):a.add(i))};for(const e of pp(new URLSearchParams(String(t.search||"").replace(/^\?/,""))))l(e);for(const e of pp(dp(t.hash)))l(e);const c=Object.freeze([...a].sort());return{active:c,space:up(t.hash),persist:r?JSON.stringify(c):void 0,knownUrlOperation:r}}let gp={active:Object.freeze([]),space:""},mp="",fp=!1,vp="";const yp=new Set;function bp(){if("undefined"==typeof window)return gp;const t=_p(window.location,function(){try{return window.localStorage.getItem(op)}catch{return null}}(),mp);void 0!==t.persist&&function(t){try{window.localStorage.setItem(op,t)}catch{}}(t.persist),gp={active:t.active,space:t.space},window.__hpLabs=t.active;for(const t of yp)t(gp);return gp}function wp(){bp()}function kp(t){return mp=t,"undefined"==typeof window?gp:(fp||(fp=!0,window.addEventListener("hashchange",wp),window.addEventListener("popstate",wp)),bp())}const $p=Object.freeze({rotDeg:0,tiltDeg:20,xyScale:1,zScale:1,origin:Object.freeze([500,500])}),xp=64;function Sp(t){return[t.rotDeg,t.tiltDeg,t.xyScale,t.zScale,t.origin[0],t.origin[1]].every(Number.isFinite)&&Math.abs(t.xyScale)>1e-12&&Math.abs(Math.cos(t.tiltDeg*Math.PI/180))>1e-12}function Mp(t,e,i=$p){if(!(Sp(i)&&Number.isFinite(t[0])&&Number.isFinite(t[1])&&Number.isFinite(e)))throw new Error("invalid isometric projection input");const s=i.rotDeg*Math.PI/180,n=i.tiltDeg*Math.PI/180,o=t[0]-i.origin[0],a=t[1]-i.origin[1],r=(o*Math.cos(s)-a*Math.sin(s))*i.xyScale,l=(o*Math.sin(s)+a*Math.cos(s))*i.xyScale;return[i.origin[0]+r,i.origin[1]+l*Math.cos(n)-e*i.zScale*Math.sin(n)]}function Cp(t,e=$p){if(!Sp(e)||!Number.isFinite(t[0])||!Number.isFinite(t[1]))throw new Error("invalid isometric projection input");const i=e.rotDeg*Math.PI/180,s=e.tiltDeg*Math.PI/180,n=(t[0]-e.origin[0])/e.xyScale,o=(t[1]-e.origin[1])/(e.xyScale*Math.cos(s));return[e.origin[0]+n*Math.cos(i)+o*Math.sin(i),e.origin[1]-n*Math.sin(i)+o*Math.cos(i)]}function Dp(t=$p){return`matrix(${function(t=$p){if(!Sp(t))throw new Error("invalid isometric camera");const e=t.rotDeg*Math.PI/180,i=t.tiltDeg*Math.PI/180,s=t.xyScale*Math.cos(e),n=-t.xyScale*Math.sin(e),o=t.xyScale*Math.sin(e)*Math.cos(i),a=t.xyScale*Math.cos(e)*Math.cos(i);return[s,o,n,a,t.origin[0]-s*t.origin[0]-n*t.origin[1],t.origin[1]-o*t.origin[0]-a*t.origin[1]]}(t).map(t=>Number(t.toFixed(12))).join(" ")})`}function Tp(t,e=$p){const{rect:i,wallHeight:s}=t,n=t.openingHeight??s,o=t.floorDepth??0;if(!(i.w>=0)||!(i.h>=0)||!Number.isFinite(s)||!Number.isFinite(n)||!Number.isFinite(o)||s<0||n<0||o<0)throw new Error("invalid isometric frame");const a=[[i.x,i.y],[i.x+i.w,i.y],[i.x+i.w,i.y+i.h],[i.x,i.y+i.h]],r=Math.max(s,n),l=a.flatMap(t=>[Mp(t,-o,e),Mp(t,r,e)]),c=l.map(t=>t[0]),h=l.map(t=>t[1]),d=Math.min(...c),u=Math.min(...h);return{x:d,y:u,w:Math.max(...c)-d,h:Math.max(...h)-u}}const Pp=t=>`${Number(t[0].toFixed(4))} ${Number(t[1].toFixed(4))}`;function Rp(t){let e=0;for(let i=0;iArray.isArray(t)&&Number.isFinite(t[0])&&Number.isFinite(t[1])).map(t=>[Number(t[0]),Number(t[1])]),i=e[e.length-1];return e.length>1&&e[0][0]===i[0]&&e[0][1]===i[1]&&e.pop(),e}(t);if(i.length<3)return[];const s=!e;return Rp(i)>0===s?i:[...i].reverse()}function Ip(t,e,i){return t.length?`M ${t.map(t=>Pp(Mp(t,i,e))).join(" L ")} Z`:""}function Ep(t,e,i){const s=e[1]-t[1],n=-(e[0]-t[0]),o=i.rotDeg*Math.PI/180;return s*Math.sin(o)+n*Math.cos(o)}function Fp(t,e,i=$p){if(!Number.isFinite(e)||e<0)throw new Error("invalid floor edge height");const s=(t||[]).map(t=>(t||[]).map((t,e)=>function(t,e){const i=Ap(t,e);if(!i.length)return i;let s=0;for(let t=1;t0)).filter(t=>t.length>=3&&Math.abs(Rp(t))>=1e-9)).filter(t=>t.length&&Rp(t[0])>0);s.sort((t,e)=>{const i=t[0][0],s=e[0][0];return i[0]-s[0]||i[1]-s[1]||Math.abs(Rp(e[0]))-Math.abs(Rp(t[0]))});const n=[],o=[];let a=0;for(let t=0;tt.depth-e.depth||t.component-e.component||t.edge-e.edge),{footprintPath:n.join(" "),sides:o,componentCount:s.length,edgeCount:a}}function zp(t,e){return t^=Math.round(64*(Number.isFinite(e)?e:0)),Math.imul(t,16777619)>>>0}const Op=t=>t.every(Number.isFinite);function Hp(t,e,i,s){const n=t[0]*i,o=t[1]*s,a=e*Math.PI/180;return[n*Math.cos(a)-o*Math.sin(a),n*Math.sin(a)+o*Math.cos(a)]}function Np(t,e,i,s,n,o,a){const r=t.flipH?-1:1,l=t.flipV?-1:1,c=function(t,e){return[t[0]+e[0],t[1]+e[1]]}([t.x+t.face.ox,t.y+t.face.oy],Hp(i,t.angle,r,l));return{leaf:e,hinge:c,closedVector:Hp(s,t.angle,r,l),quarterVector:Hp([-s[1],s[0]],t.angle,r,l),turnDeg:n,bottom:o,top:a}}const Lp=t=>`${Number(t[0].toFixed(4))} ${Number(t[1].toFixed(4))}`;function Bp(t,e,i=$p){const s=Math.max(0,Math.min(1,Number.isFinite(e)?e:0));return t.leaves.map(e=>{const n=function(t,e){const i=t.turnDeg*e*Math.PI/180;return[t.hinge[0]+t.closedVector[0]*Math.cos(i)+t.quarterVector[0]*Math.sin(i),t.hinge[1]+t.closedVector[1]*Math.cos(i)+t.quarterVector[1]*Math.sin(i)]}(e,s),o=Mp(e.hinge,e.bottom,i),a=Mp(n,e.bottom,i),r=Mp(n,e.top,i),l=Mp(e.hinge,e.top,i);return{id:t.id,sourceIndex:t.sourceIndex,type:t.type,leaf:e.leaf,d:`M ${Lp(o)} L ${Lp(a)} L ${Lp(r)} L ${Lp(l)} Z`,shadowD:`M ${Lp(Mp(e.hinge,0,i))} L ${Lp(Mp(n,0,i))}`,depth:Math.max(o[1],a[1])}})}const qp={window:120,door:90,passage:90,gate:300};function Wp(t){return qp[t]}function jp(t,e){const i=[t[0],t[1]],s=[e[0],e[1]];return function(t,e){return t[0]-e[0]||t[1]-e[1]}(i,s)<=0?{a:i,b:s}:{a:s,b:i}}function Up(t){const e=new Map;return t.forEach((t,i)=>{if(!t.kind||t.open)return;const s=jp(t.a,t.b);if(Math.hypot(s.b[0]-s.a[0],s.b[1]-s.a[1])<=1e-9)return;const n=function(t,e){const i=t=>(Math.abs(t)<=5e-10?0:Math.round(1e6*t)/1e6).toFixed(6);return`${i(t[0])},${i(t[1])}>${i(e[0])},${i(e[1])}`}(s.a,s.b),o=e.get(n);if(o)return o.physicalHalfWidth=Math.max(o.physicalHalfWidth,t.half||0),o.sourceOrder=Math.min(o.sourceOrder,i),void(t.partitionHost&&(o.partitionHost&&o.partitionHost.id!==t.partitionHost.id?o.ambiguousPartitionHost=!0:o.partitionHost=t.partitionHost));e.set(n,{segmentKey:n,a:s.a,b:s.b,physicalHalfWidth:Math.max(0,t.half||0),sourceOrder:i,...t.partitionHost?{partitionHost:t.partitionHost}:{}})}),[...e.values()]}function Gp(t,e){if(Math.abs(t.distance-e.distance)>1e-9)return t.distance-e.distance;if(Math.abs(t.perpendicular-e.perpendicular)>1e-9)return t.perpendicular-e.perpendicular;return(t.target.segmentKeye.target.segmentKey?1:0)||t.target.sourceOrder-e.target.sourceOrder}function Vp(t){const e=Up(t.intervals).map(e=>{const i=function(t,e){const i=e.b[0]-e.a[0],s=e.b[1]-e.a[1],n=Math.hypot(i,s),o=i/n,a=s/n,r=(t[0]-e.a[0])*o+(t[1]-e.a[1])*a,l=Math.max(0,Math.min(n,r)),c=e.a[0]+l*o,h=e.a[1]+l*a;return{along:l,length:n,x:c,y:h,distance:Math.hypot(t[0]-c,t[1]-h),perpendicular:Math.abs((t[0]-e.a[0])*a-(t[1]-e.a[1])*o)}}(t.pointer,e);return{target:e,...i,envelope:Math.max(t.baseTolerance,e.physicalHalfWidth+t.bodyPointerPadding)}}).filter(t=>t.distance<=t.envelope+1e-9).filter(e=>!e.target.partitionHost||t.renderedLength<=e.length+1e-9).filter(e=>!function(t,e,i,s,n){const o=e.b[0]-e.a[0],a=e.b[1]-e.a[1],r=Math.hypot(o,a);if(!(r>1e-9))return!1;const l=o/r,c=a/r;for(const o of i){if(!o.open&&o.kind)continue;const i=jp(o.a,o.b),a=i.b[0]-i.a[0],r=i.b[1]-i.a[1],h=Math.hypot(a,r);if(!(h>1e-9))continue;const d=a/h,u=r/h;if(Math.abs(l*u-c*d)>1e-6)continue;if(Math.abs((i.a[0]-e.a[0])*c-(i.a[1]-e.a[1])*l)>n)continue;const p=(t[0]-i.a[0])*d+(t[1]-i.a[1])*u,_=1e-9;if(!(p<=_||p>=h-_)&&Math.abs((t[0]-i.a[0])*u-(t[1]-i.a[1])*d)<=s+1e-9)return!0}return!1}(t.pointer,e.target,t.intervals,e.envelope,Math.max(1e-9,Math.min(t.baseTolerance,.04*t.gridStep)))).sort(Gp);let i=e[0];if(!i)return null;const s=e.filter(t=>Math.abs(t.distance-i.distance)<=1e-9&&Math.abs(t.perpendicular-i.perpendicular)<=1e-9),n=s.filter(t=>t.target.partitionHost);if(n.length){if(1!==new Set(n.map(t=>t.target.partitionHost.id)).size||n.some(t=>t.target.ambiguousPartitionHost))return null;const t=n[0],e=t.target.b[0]-t.target.a[0],o=t.target.b[1]-t.target.a[1],a=Math.hypot(e,o),r=e/a,l=o/a;if(!s.every(e=>{const i=e.target.b[0]-e.target.a[0],s=e.target.b[1]-e.target.a[1],n=Math.hypot(i,s),o=i/n,a=s/n,c=Math.abs(r*a-l*o)<=1e-6,h=Math.abs((e.target.a[0]-t.target.a[0])*l-(e.target.a[1]-t.target.a[1])*r);return c&&h<=1e-9}))return null;i=t}if(i.target.ambiguousPartitionHost)return null;const{target:o,length:a}=i,r=o.b[0]-o.a[0],l=o.b[1]-o.a[1],c=r/a,h=l/a,d=Math.min(Math.max(0,t.renderedLength)/2,a/2);let u=i.along;const p=Math.max(t.gridStep,1e-9),_=a/2;u=Math.abs(u-_)<=p/2?_:Math.round(u/p)*p,u=Math.max(d,Math.min(a-d,u));const g=o.a[0]+c*u,m=o.a[1]+h*u,f=Math.max(0,t.renderedLength)/2,v=u-f,y=u+f,b=Math.max(0,v),w=Math.max(0,a-y),k=[o.a[0]+c*(v-b/2),o.a[1]+h*(v-b/2)],$=[o.a[0]+c*(y+w/2),o.a[1]+h*(y+w/2)];let x=180*Math.atan2(l,r)/Math.PI;x>=90?x-=180:x<-90&&(x+=180);const S=Math.abs(u-_)<=1e-9;return{presetRevision:t.preset.revision,geometryRevision:t.geometryRevision,pointer:[t.pointer[0],t.pointer[1]],type:t.preset.type,lengthCm:t.preset.lengthCm,flipH:t.preset.flipH,flipV:t.preset.flipV,x:g,y:m,angle:x,renderedLength:t.renderedLength,target:o,...o.partitionHost?{host:{...o.partitionHost,t:a>0?u/a:0}}:{},measure:{labels:[{distance:b,midpoint:k},{distance:w,midpoint:$}],guide:S?{x:g,y:m,angle:x}:null}}}function Kp(t,e,i,s,n=1e-6){return t.presetRevision===i&&t.geometryRevision===s&&Math.hypot(t.pointer[0]-e[0],t.pointer[1]-e[1])<=n}const Yp="1.65.0-beta.2",Xp={badge:"display.badge",icon_ripple:"display.icon_ripple",value:"display.value",static_icon:"display.static_icon"},Jp={badge:"marker.display_hint_badge",icon_ripple:"marker.display_hint_icon_ripple",value:"marker.display_hint_value",static_icon:"marker.display_hint_static_icon"},Zp=2e3,Qp=1e3,t_=1500,e_=t=>{const e=String(t??"").trim().replace(",",".");if(!/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)$/.test(e))return null;const i=Number(e);return Number.isFinite(i)?i:null},i_=(t,e)=>{if(!t.has(e))return{hit:!1};const i=t.get(e);return t.delete(e),t.set(e,i),{hit:!0,value:i}},s_=(t,e,i,s)=>{for(t.delete(e),t.set(e,i);t.size>s;){const e=t.keys().next().value;if(void 0===e)break;t.delete(e)}},n_=new Map;let o_=0;const a_=t=>`${window.innerWidth}x${window.innerHeight}|${location.pathname}|${JSON.stringify(t??{})}`;let r_=1e4;const l_="houseplan_card_layout_v1",c_="houseplan_card_cfg_v1",h_="houseplan_card_zoom_v1",d_="houseplan_card_nav_v1",u_="houseplan_card_kiosk_v1",p_="houseplan_card_view_v1",__=1e3,g_=[[0,1],[45,.88],[70,.62],[86,.32],[100,0]],m_=(t,e)=>{const i=Math.min(t.x,e.x),s=Math.min(t.y,e.y);return{x:i,y:s,w:Math.max(t.x+t.w,e.x+e.w)-i,h:Math.max(t.y+t.h,e.y+e.h)-s}},f_=new Set(["select","draw","partition","column","merge","split","resize","opening","boundary","wallthick","delroom"]),v_=2e3,y_=(t,e,i)=>{const s=new Event(e,{bubbles:!0,composed:!0});s.detail=i??{},t.dispatchEvent(s)},b_=t=>{history.pushState(null,"",t),y_(window,"location-changed",{replace:!1})},w_=(t,e)=>{let i,s=null;const n=(...n)=>{clearTimeout(i),s=n,i=window.setTimeout(()=>{i=void 0;const e=s;s=null,e&&t(...e)},e)};return n.flush=()=>{if(void 0===i)return;clearTimeout(i),i=void 0;const e=s;s=null,e&&t(...e)},n.cancel=()=>{clearTimeout(i),i=void 0,s=null},n.pending=()=>void 0!==i,n},k_=t=>{try{t.target?.setPointerCapture?.(t.pointerId)}catch{}};class $_ extends ht{constructor(){super(...arguments),this._space="f1",this._layout={},this._serverStorage=!1,this._loadOk=!1,this._serverCanWrite=null,this._loading=!1,this._loadTries=0,this._serverCfg=null,this._cfgRev=0,this._cfgContentFingerprint="",this._unsubCfg=null,this._unsubLayout=null,this._unsubVirtual=null,this._liveSyncAttempt=null,this._liveSyncGeneration=0,this._liveSyncConnection=null,this._layoutRev=0,this._layoutContentFingerprint="",this._virtualLights=gn(null),this._canOptimizeUndo=!1,this._undoKind=null,this._devices=[],this._regSignature="",this._defPos={},this._newSyncKey="",this._tip=null,this._hoverRoom=null,this._selId=null,this._toast="",this._mode="view",this._pendingNavMode=null,this._decorTool="select",this._decorStyle={...er},this._decorDraft=null,this._decorMove=null,this._decorSel=null,this._decorEraseConfirm=null,this._decorTextDialog=null,this._decorShapeDialog=null,this._backdropDialog=null,this._decorTextSelection={start:0,end:0},this._furnPalette=null,this._dtBox=null,this._dtDrag=null,this._bdDrag=null,this._slide="",this._reducedMotion=!1,this._onMotionChange=t=>{this._reducedMotion=t.matches,t.matches&&this._modeTransitionPreparing?this._modeTransitionForceAtomic=!0:t.matches&&this._modeTransition.active&&this._cancelModeTransition(!0),this.requestUpdate()},this._editorChromeMode="plan",this._modeTransitionVisual=null,this._modeTransitionPreparing=!1,this._modeTransitionForceAtomic=!1,this._modeTransitionRequest=0,this._modeTransitionTargetZoom=1,this._modeTransitionEditorCamera=null,this._modeTransition=new np({frame:t=>this._applyModeTransitionFrame(t),settled:t=>this._settleModeTransition(t)}),this._editorSecondary=new Ru({root:()=>this.renderRoot,requestUpdate:()=>this.requestUpdate(),updateComplete:()=>this.updateComplete,clearTip:()=>{this._tip=null}}),this._editorSecondaryCopy={groupActive:(t,e)=>this._t("editor.group_active",{group:t,item:e}),openGroup:t=>this._t("editor.open_group",{group:t}),disabledAction:(t,e)=>this._t("editor.disabled_action",{action:t,reason:e})},this._tool="draw",this._geometryHistory=new Uu(50),this._wallDialog=null,this._drawWallField=null,this._activeDraftId=null,this._resumeDraftBySpace={},this._physicalSel=null,this._physicalDialog=null,this._partitionDeleteDialog=null,this._physicalDrag=null,this._physicalRotate=null,this._physicalLastTap=null,this._physicalPickCycle=null,this._wallUnionCache=null,this._isoGeometryCache=new Map,this._isoFallback=new Set,this._openingTunnelCache=null,this._openingWallIndexCache=new Map,this._openingPlacementIntervalsCache=null,this._planSnapGeometryCache=null,this._planStructuralGeometryCache=null,this._physicalBodiesCache=null,this._lightPhysicalBodiesCache=null,this._cleanFloorCache=new Map,this._glowClipCache=new Map,this._lightBarrierCache=null,this._glowFeatherUnits=null,this._glowRenderedSources=new Map,this._glowLastAppearance=new Map,this._glowEnteringSources=new Set,this._glowEnterRafs=new Map,this._glowFadeTimers=new Map,this._glowFeatherSuspendUntil=0,this._glowFeatherResumeTimer=0,this._glowSourceSeq=0,this._glowScreenBlend=!1,this._duplicateColumnId=null,this._duplicateColumnTimer=0,this._rszSel=null,this._rszDrag=null,this._rszPreview=null,this._rszLive=null,this._path=[],this._cursorPt=null,this._planSnapHover=null,this._mergeSel=null,this._openingPreset=null,this._openingRebindId=null,this._openingPresetRevision=0,this._openingHoverCandidate=null,this._openingDialog=null,this._openingInfo=null,this._opDrag=null,this._opMeasure=null,this._mergeDialog=null,this._openWallAnchor=null,this._boundaryPointerType="mouse",this._boundaryRestoreGuard=null,this._boundaryTargetMemo=null,this._boundaryPreviewMemo=null,this._splitSel=null,this._pendingSplit=null,this._wallFaceBatch=null,this._wallFaceGraphCache=[],this._areaSel="",this._nameSel="",this._roomDialog=!1,this._roomEditId=null,this._roomFill="",this._roomCustomFill=null,this._roomTempSrc="",this._roomHumSrc="",this._roomSrcOpen=null,this._roomSrcFilter="",this._roomNameScale=1,this._roomLabelScale=1,this._zoom=1,this._view=null,this._zoomBySpace={},this._viewModeSnap=null,this._pointers=new Map,this._panStart=null,this._panLock=null,this._pinchStart=null,this._suppressClick=!1,this._touchContacts=new Map,this._touchSequenceMultitouch=!1,this._touchClickBlockUntil=0,this._connectedPath="",this._routeDepartureHandled=!1,this._onLocationChanged=()=>{this._connectedPath&&location.pathname!==this._connectedPath?this._leaveCardRoute():location.pathname===this._connectedPath&&(this._routeDepartureHandled=!1)},this._touchGestureGuard={capture:!0,handleEvent:t=>this._guardTouchGesture(t)},this._hdrH=118,this._booting=!0,this._bootFading=!1,this._bootSettling=!1,this._bootSettleRaf=0,this._bootLastH=-1,this._bootStart=0,this._bootLastChange=0,this._bootSoft=!1,this._tapConfirm=null,this._onboardingShown=!1,this._rulesDialog=null,this._alignDialog=null,this._settingsDialog=null,this._backupExportDialog=null,this._backupImportDialog=null,this._sunRaysCache=null,this._dayCycleTimer=0,this._dayCycleClockKey="",this._compassDrag=!1,this._importDialog=null,this._importQueue=[],this._importTotal=0,this._rulesCompiledSrc="",this._infoCard=null,this._nativeMoreInfoEntity=null,this._markerDialog=null,this._spaceDialog=null,this._keyHandler=t=>this._onKey(t),this._warmVp=null,this._warmVpArmed=!1,this._warmLongReturn=!1,this._warmRevivePending=!1,this._warmGen=++o_,this._warmKey=null,this._warmSlot=null,this._hashApplied=!1,this._navApplied=!1,this._labs={active:Object.freeze([]),space:""},this._viewPreference={},this._renderProjection="flat",this._kioskScale={icon:1,font:1},this._kioskDialog=!1,this._activityRt=new Map,this._vacRt=new Map,this._vacViewKey="",this._vacLastView=null,this._vacRaf=0,this._vacSrvTrails={},this._vacJumpOnce=!1,this._continuity=this._newContinuityController(),this._continuityHistory=[],this._continuityEpoch=0,this._continuityDataReady=!0,this._continuityPaintToken=-1,this._continuityDisposed=!1,this._renderSnapshotAt=Date.now(),this._hassSequence=0,this._visibleDeviceSnapshot=null,this._candidateDeviceSnapshot=null,this._stagedDeviceSnapshotToken=-1,this._capturedSnapshotSequence=-1,this._capturedSnapshotDevices=null,this._capturedSnapshotLayout=null,this._capturedSnapshotActivity="",this._capturedSnapshotConfigEpoch=-1,this._capturedSnapshotVirtual="",this._lastValidStageSize=null,this._pendingRefitSize=null,this._refitRaf=0,this._pageVisibility=t=>{if(this._continuity.visibility(t),this._dayCycleVisibility(t),"hidden"!==t.kind){if(this._vacJumpOnce=!0,!t.long){const t=Date.now();let e=!1;for(const i of this._activityRt.values())!i.flashKind||(i.expiresAt||i.flashTs+wu)>t||(i.flashTs=0,i.flashKind=null,i.expiresAt=0,e=!0);return void(e&&this.requestUpdate())}Date.now()-this._renderSnapshotAt>1e3&&this._continuity.note("device-snapshot-stale"),this._continuityDataReady=!1,this._continuityPaintToken=-1,this._resumeSettling=!0,this._loading?this.requestUpdate():this._loadFromServer()}else this._modeTransitionPreparing?this._modeTransitionForceAtomic=!0:this._cancelModeTransition(!0)},this._resumeSettling=!1,this._viewportInvalidAt=0,this._vacFit=null,this._vacAllCamerasFor=null,this._vacAllCameraCache=null,this._vacCalConfirm=null,this._kioskDots=!1,this._cyclePausedUntil=0,this._swipeStart=null,this._lastTap=0,this._onLabsSnapshot=t=>{const e=this._effectiveProjection();this._labs=t;const i=this._effectiveProjection();this._convertProjectionView(e,i),this.requestUpdate()},this._onHashChange=()=>{const t=this._hashSpace();if(t&&this._model.find(e=>e.id===t)&&t!==this._space){if(this._wallFaceBatch&&this._roomDialogCancel(),"plan"===this._mode&&"draw"===this._tool&&!this._finishWallChain())return;this._activeDraftId&&(this._resumeDraftBySpace[this._space]=this._activeDraftId),this._space=t,this._selId=null,this._path=[],this._clearPlanSnapHover(),this._clearOpeningPlacement(!0),this._tool="draw",this._openWallAnchor=null,this._boundaryRestoreGuard=null,this._activeDraftId=null,this._draftSegmentCms=[],this._closingWallCm=null,"plan"===this._mode&&"draw"===this._tool&&this._resumeLastDraft(),this._restoreZoom(),this.requestUpdate()}},this._drag=null,this._rlResize=null,this._holdFired=!1,this._retryContinuity=()=>{this._continuityDataReady=!1,this._continuityPaintToken=-1,this._continuity.retry(this._continuity.recoveryReason||"plan"),this._loading||this._loadFromServer()},this._cfgEpoch=0,this._modelCache=null,this._emptySpaceStateActive=!1,this._decorSnapCache=null,this._markerPreviewMemo=null,this._markerPreviewDevicesMemo=null,this._showHidden=!1,this._connHooked=null,this._connectionWasLost=!1,this._haRegistryConnection=null,this._haRegistryRev=-1,this._haBindingCacheKey="",this._planHassMemo=null,this._onHaRegistryUpdate=()=>{const t=In(this.hass);t.revision===this._haRegistryRev&&this._devices.length||(this._haRegistryRev=t.revision,this._planHassMemo=null,this._regSignature="",this._maybeRebuildDevices(),this.requestUpdate())},this._onConnReady=()=>{if(this._loadTries=0,clearTimeout(this._loadRetryTimer),this._loadRetryTimer=void 0,function(t){const e=Cn(t);e&&(Pn(t,e),Rn(t,e))}(this.hass),this._saveConfigDebounced.pending()&&this._saveConfigDebounced.flush(),this._cfgWriting)return clearTimeout(this._reloadRetry),void(this._reloadRetry=window.setTimeout(this._onConnReady,400));!this._connectionWasLost&&this._continuity.hasCompleteFrame?this._beginContinuityCandidate("connection-ready",!1,"plan"):(this._continuityDataReady=!1,this._continuityPaintToken=-1),this._loading||this._loadFromServer()},this._onConnLost=()=>{this._booting&&!this._continuity.hasCompleteFrame||(this._connectionWasLost=!0,this._continuityDataReady=!1,this._continuityPaintToken=-1,this._continuity.connectionLost())},this._signer=new nh(()=>this.requestUpdate()),this._dirtyPos=new Set,this._sentPos=new Map,this._persistLayout=w_(()=>{if(this._serverStorage){const t=[...this._dirtyPos];this._dirtyPos.clear();for(const e of t){const t=this._layout[e];t&&(this._sentPos.set(e,t),this.hass.callWS({type:"houseplan/layout/update",device_id:e,pos:t}).then(t=>this._noteLayoutRev(t)).catch(t=>this._showToast(this._t("toast.pos_save_failed",{err:this._errText(t)}))).finally(()=>{this._sentPos.get(e)===t&&this._sentPos.delete(e)}))}this._cacheSnapshot()}else localStorage.setItem(l_,JSON.stringify(this._layout))},600),this._frame=null,this._showFar=!1,this._writesPending=0,this._writeChain=Promise.resolve(),this._undoGeometry=()=>{if(this._cancelBoundaryAnchor())return;if(this._physicalDrag||this._physicalRotate)return void this._cancelPhysicalGesture();if(this._decorDraft)return this._decorDraft=null,void this.requestUpdate();if(this._decorMove||this._dtDrag||this._bdDrag)return void this._cancelDecorGesture();if(this._rszDrag)return void this._rszCancelDrag();const t=this._geometryHistory.undo();t&&(this._applyGeometryState(t.before)?this._showToast(this._t("history.undone",{name:t.name})):this._geometryHistory.clear())},this._redoGeometry=()=>{if(this._cancelBoundaryAnchor())return;if(this._physicalDrag||this._physicalRotate)return void this._cancelPhysicalGesture();if(this._decorDraft)return this._decorDraft=null,void this.requestUpdate();if(this._decorMove||this._dtDrag||this._bdDrag)return void this._cancelDecorGesture();if(this._rszDrag)return void this._rszCancelDrag();const t=this._geometryHistory.redo();t&&(this._applyGeometryState(t.after)?this._showToast(this._t("history.redone",{name:t.name})):this._geometryHistory.clear())},this._saveConfigDebounced=w_(()=>{this._serverCfg&&this._writeConfig().catch(t=>{"conflict"===t?.code?(this._showToast(this._t("toast.conflict")),this._cancelPath(),this._reloadConfigOnly(!0)):this._showToast(this._t("toast.cfg_save_failed",{err:this._errText(t)}))})},500),this._draftSegmentCms=[],this._closingWallCm=null,this._savePhysicalDialog=()=>{const t=this._physicalDialog,e=this._curSpaceCfg,i=this._spaceModel();if(!t||!e||!i)return;const s=e_(t.cm);if(null==s)return void this._showPhysicalRange("column"===t.kind?kl:100);const n=this._imperial?2.54*s:s,o="column"===t.kind?kl:100;if(!Number.isFinite(n)||n<1||n>o)return void this._showPhysicalRange(o);if("column"===t.kind){const e=i.wall_columns.find(e=>e.id===t.id);if(!e)return;const s=e_(t.angle||"0");if("circle"!==t.shape&&(null==s||s<0||s>=90))return void this._showToast(this._t("toast.physical_angle"));const o="circle"===t.shape?{id:t.id,shape:"circle",center:e.center,cm:n}:{id:t.id,shape:"square",center:e.center,cm:n,angle:s};if(i.wall_columns.some(e=>e.id!==t.id&&Nl(e,o,.02*this._gridPitch)))return void this._showToast(this._t("toast.column_duplicate"))}const a=this._geometrySnapshot();if("partition"===t.kind){const i=(e.partitions||[]).find(e=>e.id===t.id);i&&(i.cm=n)}else if("column"===t.kind){const i=(e.wall_columns||[]).find(e=>e.id===t.id);i&&(i.cm=$l(n),i.shape="circle"===t.shape?"circle":"square","square"===i.shape?i.angle=e_(t.angle||"0"):delete i.angle)}else{const i=(e.room_drafts||[]).find(e=>e.id===t.id);i?.segments?.[t.segment||0]&&(i.segments[t.segment||0].cm=n)}this._recordGeometry(this._t("history.physical_edit"),a),this._physicalDialog=null,this._saveConfig()},this._deletePhysicalSelection=()=>{const t=this._physicalSel,e=this._curSpaceCfg;if(!t||!e)return;if("draft"===t.kind)return void this._deleteDraftWhole();const i=this._geometrySnapshot();if("partition"===t.kind){const i=(e.openings||[]).filter(e=>"partition"===e.host?.kind&&e.host.id===t.id).sort((t,e)=>(t.host?.t||0)-(e.host?.t||0));if(i.length)return void(this._partitionDeleteDialog={id:t.id,openings:i.map(t=>JSON.parse(JSON.stringify(t)))})}const s="partition"===t.kind?"partitions":"column"===t.kind?"wall_columns":"room_drafts";e[s]=(e[s]||[]).filter(e=>e.id!==t.id),e[s].length||delete e[s],this._activeDraftId===t.id&&this._cancelPath(),this._physicalSel=null,this._physicalDialog=null,this._recordGeometry(this._t("history.physical_delete"),i),this._saveConfig()},this._confirmPartitionDelete=()=>{const t=this._partitionDeleteDialog,e=this._curSpaceCfg;if(!t||!e)return;const i=this._geometrySnapshot();e.partitions=(e.partitions||[]).filter(e=>e.id!==t.id),e.partitions.length||delete e.partitions,e.openings=(e.openings||[]).filter(e=>"partition"!==e.host?.kind||e.host.id!==t.id),e.openings.length||delete e.openings,this._partitionDeleteDialog=null,this._physicalSel=null,this._physicalDialog=null,this._recordGeometry(this._t("history.physical_delete"),i),this._saveConfig()},this._deleteDraftWhole=()=>{const t="draft"===this._physicalDialog?.kind?this._physicalDialog.id:"draft"===this._physicalSel?.kind?this._physicalSel.id:null,e=this._curSpaceCfg;if(!t||!e||!confirm(this._t("confirm.delete_draft")))return;const i=this._geometrySnapshot();e.room_drafts=(e.room_drafts||[]).filter(e=>e.id!==t),e.room_drafts.length||delete e.room_drafts,this._activeDraftId===t&&this._cancelPath(),this._physicalSel=null,this._physicalDialog=null,this._recordGeometry(this._t("history.physical_delete"),i),this._saveConfig()},this._deleteDraftSegment=()=>{const t=this._physicalDialog,e=this._curSpaceCfg;if(!t||"draft"!==t.kind||!e)return;if(!confirm(this._t("confirm.delete_draft_segment")))return;const i=(e.room_drafts||[]).findIndex(e=>e.id===t.id);if(i<0)return;const s=e.room_drafts[i],n=Math.max(0,Math.min(s.segments.length-1,t.segment||0)),o=[],a=s.points.slice(0,n+1),r=s.points.slice(n+1);if(a.length>=2&&o.push({id:s.id,points:a,segments:s.segments.slice(0,n)}),r.length>=2&&o.push({id:o.length?`${s.id}-${Date.now().toString(36)}`:s.id,points:r,segments:s.segments.slice(n+1)}),2===o.length&&e.room_drafts.length>=200)return void this._showToast(this._t("toast.physical_limit"));const l=this._geometrySnapshot();e.room_drafts.splice(i,1,...o),e.room_drafts.length||delete e.room_drafts,this._activeDraftId===s.id&&this._cancelPath(),this._physicalDialog=null,this._physicalSel=o.length?{kind:"draft",id:o[0].id}:null,this._recordGeometry(this._t("history.draft_segment_delete"),l),this._saveConfig()},this._rebindPartitionOpening=()=>{const t=this._openingDialog;if(!t?.id)return;const e=t.id;this._activateMarkupTool("opening"),"opening"===this._tool&&(this._openingRebindId=e,this._openingPreset={type:t.type,lengthCm:t.lengthCm,flipH:t.flipH,flipV:t.flipV,revision:++this._openingPresetRevision},this._openingDialog=null,this._openingHoverCandidate=null)},this._keepClosedAsPartitions=()=>{if(this._wallFaceBatch)return void this._decideWallFace(!1);if(!this._contourClosed||this._pendingSplit||!this._curSpaceCfg)return;const t=this._curSpaceCfg,e=this._path.slice(0,-1);if((t.partitions||[]).length+e.length>v_)return void this._showToast(this._t("toast.physical_limit"));const i=this._geometrySnapshot(),s=[...this._draftSegmentCms,this._closingWallCm||this._drawWallCm||pr];t.partitions||=[];const n=Date.now().toString(36);for(let i=0;it.id!==this._activeDraftId),t.room_drafts.length||delete t.room_drafts),this._recordGeometry(this._t("history.contour_to_partitions"),i),this._saveConfig(),this._roomDialog=!1,this._path=[],delete this._resumeDraftBySpace[this._space],this._activeDraftId=null,this._draftSegmentCms=[],this._closingWallCm=null},this._toggleServerPlans=async()=>{const t=this._spaceDialog;if(t)if(t.pickSaved)this._spaceDialog={...t,pickSaved:!1};else{this._spaceDialog={...t,pickSaved:!0,savedBusy:!0};try{const t=await this.hass.callWS({type:"houseplan/plans/list"}),e=this._spaceDialog;e&&(this._spaceDialog={...e,saved:t?.plans||[],savedBusy:!1})}catch(t){const e=this._spaceDialog;e&&(this._spaceDialog={...e,saved:[],savedBusy:!1}),this._showToast(this._t("toast.plans_list_failed",{err:this._errText(t)}))}}},this._aspectJob=null,this._dayCycleTick=()=>{if(!this.isConnected||"hidden"===this.ownerDocument.visibilityState)return;const t=this._dayCycleState();if(!t)return this._dayCycleTimer&&(clearInterval(this._dayCycleTimer),this._dayCycleTimer=0),void(this._dayCycleClockKey="");const e=Na(t);e!==this._dayCycleClockKey&&(this._dayCycleClockKey=e,this.requestUpdate())},this._sunShown=!1,this._sunOut=!1,this._sunOutTimer=0,this._openSettingsDialog=()=>{if(!this._norm)return;const t=this._glowRadiusCm,e=this._imperial?Math.round(t/30.48*10)/10:Math.round(t)/100;this._settingsDialog={colors:JSON.parse(JSON.stringify(this._fillColors)),glowRadius:e,bgColor:hs(this._settings,{bgColor:null})||null,northDeg:Ka(this._settings,{}),bgMode:Ya(this._settings,{}),sunRays:Xa(this._settings,{}),busy:!1}},this._openAlignDialog=()=>{if(!this._norm||!this._serverCfg)return;const t=this._serverCfg.spaces||[],e=ju(this._serverCfg,this._layout||{}),i=Math.ceil(10*e.report.maxShiftCm)/10,s=t.find(t=>null!=t?.id&&String(t.id)===e.report.maxSpace),n=t.length>1&&s?String(s.title||s.id):"";this._alignDialog={report:e.report,config:e.config,layout:e.layout,cm:i,where:n,changed:e.changed,busy:!1}},this._optimizeUndoBusy=!1,this._openBackupExport=()=>{this._settingsDialog=null,this._backupExportDialog={kind:"full",planOnly:!1,busy:!1,error:""}},this._openRulesDialog=()=>{if(!this._norm)return;const t=this._settings.icon_rules,e=(t&&t.length?t:Xt).map(t=>({...t}));this._rulesDialog={rules:e,test:"",busy:!1}},this._climateCache=null,this._gearPtCache=new WeakMap}get _canEdit(){return!!this._norm&&(!0===this._serverCanWrite||!1!==this._serverCanWrite&&!0===this.hass?.user?.is_admin)}get _kiosk(){return!!this._config?.kiosk}_showKioskDots(){this._kioskDots=!0,clearTimeout(this._kioskDotsTimer),this._kioskDotsTimer=window.setTimeout(()=>this._kioskDots=!1,2500)}get _modeTransitionBusy(){return this._modeTransitionPreparing||this._modeTransition.active}_cssColor(t,e){const i=String(t||"").trim();if(!i)return e;const s=document.createElement("span");s.style.cssText=`position:absolute;visibility:hidden;color:${i}`,this.renderRoot.append(s);const n=getComputedStyle(s).color||e;return s.remove(),n}_currentModeVisual(t=this._mode){const e=this._modeTransition.presented||this._modeTransitionVisual;if(e)return{...e,viewport:{...e.viewport,viewBox:{...e.viewport.viewBox}}};const i=this._stageEl;if(!i||i.clientWidth<=0||i.clientHeight<=0)return null;const s=this.renderRoot.querySelector(".editorchrome"),n=this._viewOr(this._baseVb()),o=this.renderRoot.querySelector(".hp-paper"),a=this.renderRoot.querySelector(".hp-backdrop"),r=this.renderRoot.querySelector(".zoomwrap"),l=r?getComputedStyle(r).filter:"",c=Number(/brightness\(([^)]+)\)/.exec(l)?.[1]);return{presentedMode:t,editorChromeHeight:"view"===t?0:s?.getBoundingClientRect().height||0,stageWidth:i.clientWidth,stageHeight:i.clientHeight,viewport:Qu(n,i.clientWidth),stageColor:getComputedStyle(i).backgroundColor||"rgb(255, 255, 255)",paperColor:o?getComputedStyle(o).fill:"rgb(255, 255, 255)",sceneBrightness:Number.isFinite(c)?c:1,architectureOpacity:"decor"===t?.35:1,backdropOpacity:a&&Number(getComputedStyle(a).opacity)||1,viewWeight:"view"===t?1:0,editorWeight:"view"===t?0:1,toolbarContentOpacity:"view"===t?0:1}}_viewForModeTarget(t,e,i,s,n){const o=Oi(this._baseVb(),s/Math.max(1,n)),a=Math.min($_.ZOOM_MAX,Math.max($_.ZOOM_MIN,t)),r=o.w/a,l=o.h/a,c=e??o.x+o.w/2,h=i??o.y+o.h/2;return this._clampView({x:c-r/2,y:h-l/2,w:r,h:l},o)}_targetStageColor(t){return"view"!==t?"rgb(255, 255, 255)":this._cssColor(this._stageBg(this._spaceDisplayForRender()),this._cssColor("var(--ha-card-background, var(--card-background-color, #111))","rgb(17, 17, 17)"))}_targetPaperColor(t){return"view"===t&&this._spaceModel()?.bg?this._cssColor("var(--ha-card-background, var(--card-background-color, #111))","rgb(17, 17, 17)"):"rgb(255, 255, 255)"}_targetBrightness(t){return 1}_applyModeTransitionFrame(t){t.targetMode===this._mode&&(this._modeTransitionVisual=t.presented,this._view={...t.presented.viewport.viewBox},this.requestUpdate())}_settleModeTransition(t){if(t.targetMode!==this._mode)return;const e=this._modeTransitionRequest;this._view={...t.to.viewport.viewBox},this._zoom=this._modeTransitionTargetZoom,this._modeTransitionVisual=null,this._modeTransitionPreparing=!1,this._lastValidStageSize=[t.to.stageWidth,t.to.stageHeight],"view"===this._mode&&(this._saveZoom(),this._viewModeSnap=null,this._modeTransitionEditorCamera=null),this.requestUpdate(),this.updateComplete.then(()=>{if(!this.isConnected||e!==this._modeTransitionRequest||this._modeTransitionBusy||t.targetMode!==this._mode)return;const i=this._stageEl;if(i&&i.clientWidth>0&&i.clientHeight>0&&(Math.abs(i.clientWidth-t.to.stageWidth)>.5||Math.abs(i.clientHeight-t.to.stageHeight)>.5)){const t=this._view;this._lastValidStageSize=[i.clientWidth,i.clientHeight],this._applyView(this._zoom,t?t.x+t.w/2:void 0,t?t.y+t.h/2:void 0),this.requestUpdate()}const s=this.renderRoot.activeElement;(!s||!s.isConnected||!!s.closest?.(".editorchrome, .stage"))&&this.renderRoot.querySelector(".modetab.active")?.focus?.({preventScroll:!0})})}_cancelModeTransition(t=!0){const e=!!this._modeTransition.state;this._modeTransitionRequest++,this._modeTransitionPreparing=!1,this._modeTransitionForceAtomic=!1,this._modeTransition.cancel(t),t&&e||(this._modeTransitionVisual=null)}_adoptMode(t){this._cancelModeTransition(!1),this._mode=t,"view"!==t&&(this._editorChromeMode=t)}_commitViewModeAtomic(t,e,i,s){if(this._modeTransitionPreparing=!1,this._modeTransitionVisual=null,this._modeTransitionForceAtomic=!1,this._zoom=e,t){const n=this._stageEl?.clientWidth||t.stageWidth,o=Math.max(1,t.stageHeight+t.editorChromeHeight);this._view=this._viewForModeTarget(e,i,s,n,o),this._lastValidStageSize=[n,o]}else this._view=null;this._viewModeSnap=null,this._modeTransitionEditorCamera=null,this._saveZoom(),this.requestUpdate()}_prepareModeTransition(t,e,i,s,n,o){this.updateComplete.then(()=>{if(!this.isConnected||t!==this._modeTransitionRequest||this._mode!==i)return void(t===this._modeTransitionRequest&&(this._modeTransitionPreparing=!1,this._modeTransitionVisual=null,this._modeTransitionForceAtomic=!1,this.requestUpdate()));const a=this.renderRoot.querySelector(".editorchrome"),r=a?.querySelector(".editorchrome-inner"),l="view"===i?0:r?.scrollHeight||r?.getBoundingClientRect().height||0,c=Math.max(1,e.stageHeight+e.editorChromeHeight),h=Math.max(1,c-l),d=this._stageEl?.clientWidth||e.stageWidth;if(d<=0||h<=0)return this._modeTransitionPreparing=!1,this._modeTransitionVisual=null,this._applyView(s,n,o),void this.requestUpdate();const u=this._viewForModeTarget(s,n,o,d,h),p={presentedMode:i,editorChromeHeight:l,stageWidth:d,stageHeight:h,viewport:Qu(u,d),stageColor:this._targetStageColor(i),paperColor:this._targetPaperColor(i),sceneBrightness:this._targetBrightness(i),architectureOpacity:"decor"===i?.35:1,backdropOpacity:"decor"===i&&"backdrop"!==this._decorTool?.5:1,viewWeight:"view"===i?1:0,editorWeight:"view"===i?0:1,toolbarContentOpacity:"view"===i?0:1};this._modeTransitionPreparing=!1;const _=this._modeTransitionForceAtomic;this._modeTransitionForceAtomic=!1,this._modeTransition.start(e,p,i,this._reducedMotion||_?0:220)})}_slideTo(t,e){if(t===this._space)return;if(this._wallFaceBatch&&this._roomDialogCancel(),"plan"===this._mode&&"draw"===this._tool&&!this._finishWallChain())return;this._cancelModeTransition(!0);const i=window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches;this._activeDraftId&&(this._resumeDraftBySpace[this._space]=this._activeDraftId),this._space=t,this._path=[],this._clearPlanSnapHover(),this._clearOpeningPlacement(!0),this._tool="draw",this._openWallAnchor=null,this._boundaryRestoreGuard=null,this._activeDraftId=null,this._draftSegmentCms=[],this._closingWallCm=null,this._selId=null,this._physicalSel=null,this._editorSecondary.closeForNavigation(),this._physicalDialog=null,this._physicalDrag=null,"plan"===this._mode&&"draw"===this._tool&&this._resumeLastDraft(),this._restoreZoom(),i||(this._slide=e,clearTimeout(this._slideTimer),this._slideTimer=window.setTimeout(()=>{this._slideTimer=void 0,this._slide="",this.requestUpdate()},190),this.requestUpdate())}_pickSpace(t){if(t===this._space)return;const e=this._model.map(t=>t.id),i=e.indexOf(this._space),s=e.indexOf(t);this._navApplied=!0,this._showFar=!1,this._frame=null,this._slideTo(t,i>=0&&s0&&Date.now()>=this._cyclePausedUntil&&this._model.length>1&&this._zoom<=1.001){const t=this._model.map(t=>t.id),e=t.indexOf(this._space);this._slideTo(t[(e+1)%t.length],"left"),this._showKioskDots()}}get _editing(){return"plan"===this._mode||"devices"===this._mode||"decor"===this._mode}get _markup(){return"plan"===this._mode}_newContinuityController(){return new th(()=>{this._resumeSettling="steady"!==this._continuity.state,this._continuityEpoch++,this.isConnected&&this.requestUpdate()})}get _labsIso(){return this._labs.active.includes("iso")}get _desiredProjection(){return"view"===this._mode&&this._labsIso&&"iso"===this._viewPreference[this._space]?"iso":"flat"}_saveViewPreference(){try{localStorage.setItem(p_,JSON.stringify(this._viewPreference))}catch{}}_logicalViewCenter(t){const e=this._view;if(!e)return null;const i=[e.x+e.w/2,e.y+e.h/2],s="iso"===t?Cp(i):i;return{x:s[0],y:s[1]}}_convertProjectionView(t,e){if(t===e)return;const i=this._logicalViewCenter(t);this._view=null;const s=i?"iso"===e?Mp([i.x,i.y],0):[i.x,i.y]:null;this._applyView(this._zoom,s?.[0],s?.[1]),this._warmPatch({vp:this._warmViewportState()}),this.requestUpdate()}_setProjection(t){if(!this._labsIso||"view"!==this._mode)return;const e=this._effectiveProjection();if(this._viewPreference={...this._viewPreference,[this._space]:t},"iso"===t){const t=this._isoSceneKey();t&&this._isoFallback.delete(t)}this._saveViewPreference();const i=this._effectiveProjection();this._convertProjectionView(e,i)}_hashSpace(){return up(window.location.hash||"")}connectedCallback(){this._connectedPath=location.pathname,this._routeDepartureHandled=!1,window.addEventListener("location-changed",this._onLocationChanged),window.addEventListener("popstate",this._onLocationChanged),this._continuityDisposed&&(this._continuity=this._newContinuityController(),this._continuityDisposed=!1,this._continuityPaintToken=-1);const t=(e=this.ownerDocument,Gu.get(e)?.resolved);var e;void 0!==t&&(this._glowScreenBlend=t),this._continuityUnsub?.(),this._continuityUnsub=Zc(this.ownerDocument,this._pageVisibility),super.connectedCallback(),this._motionMedia=window.matchMedia?.("(prefers-reduced-motion: reduce)"),this._reducedMotion=!!this._motionMedia?.matches,this._motionMedia?.addEventListener?.("change",this._onMotionChange),function(t){const e=Gu.get(t);if(e)return e.promise;const i={promise:Promise.resolve(!1)};return i.promise=Ku(t).catch(()=>!1).then(t=>(i.resolved=t,t)),Gu.set(t,i),i.promise}(this.ownerDocument).then(t=>{t!==this._glowScreenBlend&&(this._glowScreenBlend=t,this.isConnected&&this.requestUpdate())}),this.hass&&this._ensureHaRegistryAuthority(),window.addEventListener("keydown",this._keyHandler),this._signer.start(()=>this.hass,()=>As(this._serverCfg)),this._config?.kiosk&&Number(this._config?.cycle)>0&&(clearInterval(this._cycleTimer),this._cycleTimer=window.setInterval(()=>this._cycleTick(),1e3*Number(this._config.cycle))),window.addEventListener("hashchange",this._onHashChange),this._labsUnsub?.(),this._labsUnsub=function(t,e){yp.add(e);const i=kp(t);return"undefined"==typeof window&&e(i),()=>{yp.delete(e)}}(Yp,this._onLabsSnapshot),this._booting?this._bootWatch():this._bootFading&&(clearTimeout(this._bootTimer),this._bootTimer=window.setTimeout(()=>{this._bootFading=!1},220)),this._bootSoft&&(clearTimeout(this._bootSoftTimer),this._bootSoftTimer=window.setTimeout(()=>{this._bootSoft=!1},t_)),!this._loadOk&&this._serverCfg&&this.hass&&this._scheduleLoadRetry(),!this._warmSlot&&this._config&&this._warmAdopt(),this._loadOk&&this._ensureLiveSyncSubscriptions(),this._warmVp&&!this._warmRevivePending&&void 0===this._warmReviveTimer&&(this._warmRevivePending=!0,this._warmReviveTimer=window.setTimeout(()=>this._warmReviveDialog(),0)),this._warmLongReturn&&this._beginResumeSettle(),this._warmLongReturn=!1,this.requestUpdate()}disconnectedCallback(){this._connectedPath&&location.pathname!==this._connectedPath&&this._leaveCardRoute(),window.removeEventListener("location-changed",this._onLocationChanged),window.removeEventListener("popstate",this._onLocationChanged),this._continuityUnsub?.(),this._continuityUnsub=void 0,this._motionMedia?.removeEventListener?.("change",this._onMotionChange),this._motionMedia=void 0,this._vacRaf&&(cancelAnimationFrame(this._vacRaf),this._vacRaf=0),this._refitRaf&&(cancelAnimationFrame(this._refitRaf),this._refitRaf=0),this._dayCycleTimer&&(clearInterval(this._dayCycleTimer),this._dayCycleTimer=0),this._dayCycleClockKey="",this._bootSettleRaf&&(cancelAnimationFrame(this._bootSettleRaf),this._bootSettleRaf=0),this._bootSettling=!1;for(const t of this._activityRt.values())clearTimeout(t.timer);window.removeEventListener("keydown",this._keyHandler),clearInterval(this._cycleTimer),clearTimeout(this._kioskDotsTimer),clearTimeout(this._kioskHoldTimer),clearTimeout(this._reloadRetry),clearTimeout(this._loadRetryTimer),this._loadRetryTimer=void 0,this._connHooked?.removeEventListener?.("ready",this._onConnReady),this._connHooked?.removeEventListener?.("disconnected",this._onConnLost),this._connHooked?.removeEventListener?.("reconnect-error",this._onConnLost),this._connHooked=null,this._haRegistryRelease?.(),this._haRegistryRelease=void 0,this._haRegistryConnection=null,this._signer.dispose(),clearTimeout(this._toastTimer),clearTimeout(this._slideTimer),this._modeTransition.dispose(),this._modeTransitionVisual=null,this._modeTransitionPreparing=!1,this._modeTransitionForceAtomic=!1,this._modeTransitionRequest++,this._slideTimer=void 0,this._slide="",clearTimeout(this._bootTimer),this._bootTimer=void 0,clearTimeout(this._bootSoftTimer),this._saveConfigDebounced.flush(),window.removeEventListener("hashchange",this._onHashChange),this._labsUnsub?.(),this._labsUnsub=void 0,clearTimeout(this._holdTimer),this._roViewport?.disconnect(),this._roViewport=void 0,this._roHdr?.disconnect(),this._roHdr=void 0,this._onWinResize&&(window.removeEventListener("resize",this._onWinResize),this._onWinResize=void 0),this._unsubCfg&&(this._unsubCfg(),this._unsubCfg=null),this._unsubLayout&&(this._unsubLayout(),this._unsubLayout=null),this._unsubVirtual&&(this._unsubVirtual(),this._unsubVirtual=null),this._unsubTrail&&(this._unsubTrail(),this._unsubTrail=void 0),this._liveSyncGeneration++,this._liveSyncAttempt=null,this._liveSyncConnection=null,clearTimeout(this._layoutSyncTimer),clearTimeout(this._duplicateColumnTimer);for(const t of this._glowFadeTimers.values())clearTimeout(t);for(const t of this._glowEnterRafs.values())cancelAnimationFrame(t);clearTimeout(this._glowFeatherResumeTimer),this._glowFeatherResumeTimer=0,this._glowFeatherSuspendUntil=0,this._glowFadeTimers.clear(),this._glowEnterRafs.clear(),this._glowEnteringSources.clear(),this._glowRenderedSources.clear(),this._glowLastAppearance.clear(),this._glowSourceSeq=0,this._warmSnapshot(),this._warmRevivePending=!1,clearTimeout(this._warmReviveTimer),this._warmReviveTimer=void 0,this._warmRelease(),this._openWallAnchor=null,this._boundaryRestoreGuard=null,this._clearPlanSnapHover(),this._clearOpeningPlacement(!0),this._touchContacts.clear(),this._touchSequenceMultitouch=!1,this._touchClickBlockUntil=0,this._editorSecondary.reset(),this._resumeSettling=!1,this._continuityHistory=[...this._continuityHistory,...this._continuity.trace].slice(-80),this._continuity.dispose(),this._continuityDisposed=!0,super.disconnectedCallback()}_onKey(t){if("Escape"===t.key&&this._vacFit)return this._vacFit=null,this._showToast(this._t("vac.cal_cancelled")),void t.stopPropagation();if("Escape"===t.key){if(this._tapConfirm)return void(this._tapConfirm=null);if(this._vacCalConfirm)return void(this._vacCalConfirm=null);if(this._decorEraseConfirm)return void(this._decorEraseConfirm=null);if(this._openingInfo)return void(this._openingInfo=null);if(this._infoCard)return void this._closeInfoCard();if(this._rulesDialog)return void(this._rulesDialog=null);if(this._alignDialog)return void(this._alignDialog=null);if(this._backupImportDialog)return void(this._backupImportDialog=null);if(this._backupExportDialog)return void(this._backupExportDialog=null);if(this._settingsDialog)return void(this._settingsDialog=null);if(this._markerDialog)return void(this._markerDialog=null);if(this._openingDialog)return void(this._openingDialog=null);if(this._physicalDialog)return void(this._physicalDialog=null);if(this._backdropDialog)return void(this._backdropDialog=null);if(this._decorShapeDialog)return void(this._decorShapeDialog=null);if(this._decorTextDialog)return void(this._decorTextDialog=null);if(this._spaceDialog&&!this._roomDialog)return this._spaceDialog=null,this._importQueue=[],void(this._importTotal=0);if(this._editorSecondary.hasOpenGroup)return t.preventDefault(),void this._editorSecondary.closeGroup(!0)}const e=t.composedPath?.()||[t.target],i=e.some(t=>t?.matches?.('input, textarea, select, [contenteditable="true"]')),s=e.some(t=>t?.classList?.contains?.("editor-secondary")),n=t.ctrlKey||t.metaKey,o=t.key.toLowerCase(),a=/^[a-z]$/.test(o),r="z"===o||!a&&"KeyZ"===t.code,l="y"===o||!a&&"KeyY"===t.code,c=n&&(r&&t.shiftKey||l),h=n&&r&&!t.shiftKey;if("decor"===this._mode){if((h||c)&&i)return;return c?(t.preventDefault(),void this._redoGeometry()):h?(t.preventDefault(),this._decorDraft?void(this._decorDraft=null):this._decorMove||this._dtDrag||this._bdDrag?void this._cancelDecorGesture():void this._undoGeometry()):"Delete"!==t.key&&"Backspace"!==t.key||!this._decorSel||i||s?void("Escape"===t.key&&(t.preventDefault(),this._decorDraft?this._decorDraft=null:this._decorMove||this._dtDrag||this._bdDrag?this._cancelDecorGesture():"furniture"===this._decorTool?(this._furnPalette=null,this._decorTool="select"):this._decorSel?this._decorSel=null:"select"!==this._decorTool?this._decorTool="select":this._setMode("view"))):(t.preventDefault(),void this._decorDeleteSel())}if(this._markup&&(!h&&!c||!i)){if(("Delete"===t.key||"Backspace"===t.key)&&this._physicalSel&&!i&&!s)return t.preventDefault(),void this._deletePhysicalSelection();if(c)return t.preventDefault(),void this._redoGeometry();if(h)return t.preventDefault(),this._rszDrag?void this._rszCancelDrag():this._wallFaceBatch?(this._roomDialogCancel(),void(this._activeDraftId&&this._path.length>1?this._undoActiveDraftPoint():this._undoPoint())):"draw"!==this._tool&&"partition"!==this._tool||!this._path.length?"split"===this._tool&&this._splitSel?.pts?.length?(this._splitSel={...this._splitSel,pts:this._splitSel.pts.slice(0,-1)},void(this._splitSel.pts.length||(this._cursorPt=null))):void this._undoGeometry():void(this._activeDraftId&&this._path.length>1?this._undoActiveDraftPoint():this._undoPoint());if("Escape"===t.key)return this._physicalDrag||this._physicalRotate?(t.preventDefault(),void this._cancelPhysicalGesture()):this._roomDialog?(t.preventDefault(),void this._roomDialogCancel()):"draw"===this._tool&&this._path.length||"partition"===this._tool&&this._path.length?(t.preventDefault(),void this._undoPoint()):this._physicalSel?(t.preventDefault(),void(this._physicalSel=null)):"resize"===this._tool?(t.preventDefault(),this._rszDrag?void this._rszCancelDrag():void(this._rszSel?this._rszSel=null:this._tool="draw")):"split"===this._tool?(t.preventDefault(),void(this._splitSel?.pts?.length?(this._splitSel={...this._splitSel,pts:this._splitSel.pts.slice(0,-1)},this._splitSel.pts.length||(this._cursorPt=null)):this._splitSel?this._splitSel=null:this._tool="draw")):"merge"===this._tool?(t.preventDefault(),void(this._mergeSel?this._mergeSel=null:this._tool="draw")):this._wallDialog?(t.preventDefault(),void(this._wallDialog=null)):"boundary"===this._tool?(t.preventDefault(),void(this._openWallAnchor?this._cancelBoundaryAnchor():this._tool="draw")):void("opening"!==this._tool&&"wallthick"!==this._tool&&"delroom"!==this._tool&&"partition"!==this._tool&&"column"!==this._tool||(t.preventDefault(),"opening"===this._tool&&this._clearOpeningPlacement(!0),this._tool="draw"))}}_undoPoint(){if(this._path.length){if(this._contourClosed)return this._path=this._path.slice(0,-1),void(this._closingWallCm=null);if(this._activeDraftId&&this._path.length>1&&this._curSpaceCfg){const t=this._geometrySnapshot();this._path=this._path.slice(0,-1),this._draftSegmentCms=this._draftSegmentCms.slice(0,-1);const e=this._curSpaceCfg,i=(e.room_drafts||[]).findIndex(t=>t.id===this._activeDraftId);return void(i>=0&&(this._path.length<2?(e.room_drafts.splice(i,1),e.room_drafts.length||delete e.room_drafts,this._activeDraftId=null):e.room_drafts[i]={id:this._activeDraftId,points:this._path.map(t=>[t[0]/__,t[1]/__]),segments:this._draftSegmentCms.map(t=>({cm:t}))},this._recordGeometry(this._t("history.draft_segment_delete"),t),this._saveConfig()))}this._path=this._path.slice(0,-1)}}_undoActiveDraftPoint(){const t=this._activeDraftId,e=this._path[0]?[...this._path[0]]:null,i=this._geometryHistory.undo();if(!i)return void this._undoPoint();if(!this._applyGeometryState(i.before))return void this._geometryHistory.clear();const s=t?this._spaceModel()?.room_drafts.find(e=>e.id===t):null;s?(this._activeDraftId=s.id,this._path=s.points.map(t=>[...t]),this._draftSegmentCms=s.segments.map(t=>t.cm),this._resumeDraftBySpace[this._space]=s.id):(this._activeDraftId=null,this._path=e?[e]:[],this._draftSegmentCms=[],t&&this._resumeDraftBySpace[this._space]===t&&delete this._resumeDraftBySpace[this._space]),this._clearPlanSnapHover(),this._showToast(this._t("history.undone",{name:i.name}))}static getConfigElement(){return document.createElement("houseplan-card-editor")}static getStubConfig(){return{type:"custom:houseplan-card"}}static _warmBootReset(t){for(const t of n_.values())for(const e of t)clearTimeout(e.evict);n_.clear(),r_=t&&t>0?t:1e4}static _warmBootStats(){let t=0,e=0;const i=[];for(const s of n_.values())for(const n of s)t++,n.dlg&&(e++,i.push(n.dlg.kind));return{keys:n_.size,slots:t,dlgs:e,drafts:i}}setConfig(t){this._config={icon_size:2.5,show_temperature:!0,live_states:!0,show_signal:!0,...t},this._config.kiosk&&(this._booting=!1,this._bootFading=!1),t.default_floor&&(this._space=t.default_floor);try{this._zoomBySpace=JSON.parse(localStorage.getItem(h_)||"{}")||{}}catch{this._zoomBySpace={}}try{const t=JSON.parse(localStorage.getItem(p_)||"{}")||{};this._viewPreference=Object.fromEntries(Object.entries(t).filter(t=>"flat"===t[1]||"iso"===t[1]))}catch{this._viewPreference={}}this._labs=kp(Yp);try{const t=JSON.parse(localStorage.getItem(u_)||"null");this._kioskScale={icon:zs(t?.icon),font:zs(t?.font)}}catch{}try{const t=JSON.parse(localStorage.getItem(c_)||"null");t&&t.config&&Array.isArray(t.config.spaces)&&(this._serverCfg=t.config,this._cfgEpoch++,this._cfgRev=t.rev||0,this._cfgContentFingerprint=t.config_fingerprint||eh(t.config),this._layout=t.layout||{},this._layoutRev=t.layout_rev||0,this._layoutContentFingerprint=t.layout_fingerprint||eh(this._layout),this._virtualLights=gn(t.virtual_lights,this._cfgRev),this._serverStorage=!0,this._adoptInitialSpace(this._model))}catch{}"view"!==this._mode||this._view||(this._zoom=this._zoomBySpace[this._space]||1),this.isConnected&&(this._warmAdopt(),this._warmLongReturn&&this._beginResumeSettle(),this._warmLongReturn=!1)}_warmAdopt(){if(this._config?.kiosk)return;const t=a_(this._config);if(this._warmKey===t&&this._warmSlot)return;this._warmSlot&&this._warmRelease();const e=this.parentNode,i=this._warmIdx(e),s=n_.get(t);if(!s||!s.length)return;const n=s.find(t=>t.owner===this._warmGen);if(n)return this._warmLongReturn=!!n.freed&&Date.now()-n.freed>=Yc,clearTimeout(n.evict),n.evict=0,n.freed=0,n.live=!0,this._warmSlot=n,this._warmKey=t,n.frameFingerprint&&this._continuity.adoptCompleteFrame(n.frameFingerprint),void(!this._devices.length&&n.devices?.length&&(this._devices=[...n.devices]));const{slot:o,sure:a}=((t,e,i,s)=>{const n=t=>{const e=!!i&&t.place?.deref()===i;return e&&t.idx===s?4:t.live?0:e?3:2};let o=null,a=0,r=0,l=null;for(const i of t){if(i.owner===e)continue;l=i;const t=n(i);t<=0||(t>a?(o=i,a=t,r=1):t===a&&r++)}return!o||r>1?{slot:o||l,sure:!1}:{slot:o,sure:!0}})(s,this._warmGen,e,i);o&&(this._warmLongReturn=!!o.freed&&Date.now()-o.freed>=Yc,this._booting=!1,this._bootFading=!1,this._hdrH=o.hdrH,this._bootSoft=!0,this.isConnected&&(clearTimeout(this._bootSoftTimer),this._bootSoftTimer=window.setTimeout(()=>{this._bootSoft=!1},t_)),this._warmKey=t,a?(clearTimeout(o.evict),o.evict=0,o.owner=this._warmGen,o.place=e?new WeakRef(e):null,o.idx=i,o.live=!0,this._warmSlot=o,this._warmVp=o.vp,o.frameFingerprint&&this._continuity.adoptCompleteFrame(o.frameFingerprint),!this._devices.length&&o.devices?.length&&(this._devices=[...o.devices]),this._warmAdoptViewport(this._config)):(this._warmSlot={owner:this._warmGen,path:location.pathname,place:e?new WeakRef(e):null,idx:i,live:!0,hdrH:o.hdrH,stageH:o.stageH,vp:null,frameFingerprint:"",devices:null,dlg:null,freed:0,evict:0},s.push(this._warmSlot),this._warmTrim(s)))}_warmIdx(t){const e=t?.children;if(!e)return-1;for(let t=0;t4;){const e=t.findIndex(t=>!t.live);if(e<0)break;clearTimeout(t[e].evict),t.splice(e,1)}}_warmScheduleEvict(t,e){if(clearTimeout(t.evict),!(t.dlg||t.vp&&"view"!==t.vp.mode))return;const i=t.freed,s=t.owner;t.evict=window.setTimeout(()=>{if(t.evict=0,t.freed!==i||t.owner!==s)return;var n;t.dlg=null,t.vp=(n=t.vp)&&"view"!==n.mode?{...n,mode:"view",zoom:n.snap?.space===n.space?n.snap.zoom:n.zoom,view:null,snap:null,tool:"draw",decorTool:"select",showHidden:!1,selId:null,rszSel:null,decorSel:null}:n,t.frameFingerprint="";const o=n_.get(e);if(!t.live&&o&&o.length>1){const e=o.indexOf(t);e>=0&&o.splice(e,1)}},r_+250)}_warmAdoptViewport(t){const e=this._warmVp;if(!e||this._warmSlot?.path!==location.pathname)return void(this._warmVp=null);if(this._hashApplied||!this._model.find(t=>t.id===e.space))return void(this._warmVp=null);this._space=e.space,this._navApplied=!0,this._adoptMode("view"!==e.mode&&this._canEdit&&!t.kiosk?e.mode:"view"),this._pendingNavMode="view"===e.mode||this._canEdit||t.kiosk?null:e.mode,this._zoom=e.zoom;const i=this._effectiveProjection(),s=i===e.projection&&this._labsIso===e.activeLabsIso;if(this._view=s&&e.view?{...e.view}:null,this._viewModeSnap=s&&e.snap?{...e.snap}:null,!s&&e.logicalCenter){const t="iso"===i?Mp([e.logicalCenter.x,e.logicalCenter.y],0):[e.logicalCenter.x,e.logicalCenter.y];this._applyView(e.zoom,t[0],t[1])}var n;this._tool="openwall"===(n=e.tool)||"closewall"===n?"boundary":"opening"===(n=function(t){return"partition"===t?"draw":t}(n))?"draw":"string"==typeof n&&f_.has(n)?n:"draw",this._decorTool=e.decorTool,this._showHidden=e.showHidden,this._showFar!==e.showFar&&(this._showFar=e.showFar,this._frame=null),this._selId=e.selId,this._rszSel=e.rszSel,this._decorSel=e.decorSel,this._warmVpArmed=!0}_warmPatch(t,e=!1){if(this._config?.kiosk)return;const i=a_(this._config);if(!this._warmSlot||this._warmKey===i){if(!this._warmSlot){if(!e)return;const t=this.parentNode;this._warmKey=i,this._warmSlot={owner:this._warmGen,path:location.pathname,place:t?new WeakRef(t):null,idx:this._warmIdx(t),live:!0,hdrH:this._hdrH,stageH:0,vp:null,frameFingerprint:"",devices:null,dlg:null,freed:0,evict:0};const s=n_.get(i)||[];for(s.push(this._warmSlot),n_.set(i,s),this._warmTrim(s);n_.size>8;){const t=n_.keys().next().value;if(void 0===t||t===i)break;for(const e of n_.get(t)||[])clearTimeout(e.evict);n_.delete(t)}}Object.assign(this._warmSlot,t)}}_warmViewportState(){const t=this._effectiveProjection();return{space:this._space,mode:this._mode,projection:t,activeLabsIso:this._labsIso,logicalCenter:this._logicalViewCenter(t),zoom:this._zoom,view:this._view?{...this._view}:null,snap:this._viewModeSnap?{...this._viewModeSnap}:null,tool:this._tool,decorTool:this._decorTool,showHidden:this._showHidden,showFar:this._showFar,selId:this._selId,rszSel:this._rszSel,decorSel:this._decorSel}}_warmDialogState(){const t=(t,e)=>({kind:t,space:this._space,mode:this._mode,data:e});return this._tapConfirm||this._alignDialog||this._mergeDialog||this._importDialog||this._backupExportDialog||this._backupImportDialog?null:this._openingInfo?t("openingInfo",this._openingInfo.id):this._infoCard?t("info",this._infoCard.id):this._rulesDialog?this._rulesDialog.busy?null:t("rules",this._rulesDialog):this._settingsDialog?this._settingsDialog.busy?null:t("settings",this._settingsDialog):this._markerDialog?this._markerDialog.busy?null:t("marker",this._markerDialog):this._openingDialog?t("opening",this._openingDialog):this._backdropDialog?t("backdrop",this._backdropDialog):this._decorShapeDialog?t("decorShape",this._decorShapeDialog):this._decorTextDialog?t("decorText",this._decorTextDialog):this._roomDialog?t("room",{editId:this._roomEditId,fill:this._roomFill,customFill:this._roomCustomFill,tempSrc:this._roomTempSrc,humSrc:this._roomHumSrc,srcOpen:this._roomSrcOpen,srcFilter:this._roomSrcFilter,nameScale:this._roomNameScale,labelScale:this._roomLabelScale,areaSel:this._areaSel,nameSel:this._nameSel,pendingSplit:this._pendingSplit,wallFaceBatch:this._wallFaceBatch,path:this._path}):this._spaceDialog?this._spaceDialog.busy?null:t("space",this._spaceDialog):null}_warmSnapshot(){if(this._booting||this._config?.kiosk||"steady"!==this._continuity.state)return;const t={vp:this._warmViewportState(),frameFingerprint:this._continuity.frameFingerprint,devices:this._devices};if(this._warmRevivePending||(t.dlg=this._warmDialogState()),this.isConnected&&this._warmSlot?.owner===this._warmGen){const e=this.parentNode;t.place=e?new WeakRef(e):null,t.idx=this._warmIdx(e)}this._warmPatch(t)}_warmReviveDialog(){this._warmRevivePending=!1;const t=this._warmSlot;if(this._warmReviveTimer=void 0,!t||!t.dlg)return;const e=t.dlg,i=t.freed;if(t.dlg=null,t.freed=0,clearTimeout(t.evict),t.evict=0,i&&!(Date.now()-i>r_)&&e.space===this._space&&e.mode===this._mode){switch(e.kind){case"space":this._spaceDialog={...e.data,busy:!1,savedBusy:!1};break;case"marker":this._markerDialog={...e.data,busy:!1};break;case"settings":this._settingsDialog={...e.data,busy:!1};break;case"rules":this._rulesDialog={...e.data,busy:!1};break;case"opening":this._openingDialog={...e.data};break;case"backdrop":this._backdropDialog={...e.data};break;case"decorShape":this._decorShapeDialog={...e.data};break;case"decorText":{this._decorTextDialog={...e.data};const t=String(this._decorTextDialog?.text??"").length;this._decorTextSelection={start:t,end:t};break}case"room":{const t=e.data;this._roomEditId=t.editId,this._roomFill=t.fill,this._roomCustomFill=t.customFill||null,this._roomTempSrc=t.tempSrc,this._roomHumSrc=t.humSrc,this._roomSrcOpen=t.srcOpen,this._roomSrcFilter=t.srcFilter,this._roomNameScale=t.nameScale,this._roomLabelScale=t.labelScale,this._areaSel=t.areaSel,this._nameSel=t.nameSel,this._pendingSplit=t.pendingSplit,this._wallFaceBatch=t.wallFaceBatch||null,this._path=t.path,this._wallFaceBatch&&(this._activeDraftId=this._wallFaceBatch.activeDraftId,this._draftSegmentCms=[...this._wallFaceBatch.activeCms]),this._roomDialog=!0;break}case"info":{const t=this._devices.find(t=>t.id===e.data);t&&(this._infoCard=t);break}case"openingInfo":{const t=(this._curSpaceCfg?.openings||[]).find(t=>t.id===e.data);t&&(this._openingInfo=t);break}}this.requestUpdate()}}_cacheSnapshot(){if(this._serverCfg)try{this._cfgContentFingerprint=eh(this._serverCfg),this._layoutContentFingerprint=eh(this._layout),this._virtualLights=function(t,e,i){if(t.configRev===i)return t;const s=new Set((Array.isArray(e?.markers)?e.markers:[]).filter(yn).map(t=>t.id));return{...t,configRev:i,off:new Set([...t.off].filter(t=>s.has(t)))}}(this._virtualLights,this._serverCfg,this._cfgRev),localStorage.setItem(c_,JSON.stringify({config:this._serverCfg,rev:this._cfgRev,config_fingerprint:this._cfgContentFingerprint,layout:this._layout,layout_rev:this._layoutRev,layout_fingerprint:this._layoutContentFingerprint,virtual_lights:fn(this._virtualLights)}))}catch{}}_beginContinuityCandidate(t,e,i="plan"){return this._booting&&!this._continuity.hasCompleteFrame?this._continuity.token:(this._continuityDataReady=e,this._continuityPaintToken=-1,this._stagedDeviceSnapshotToken=-1,this._resumeSettling=!0,this._continuity.beginCandidate(t,i))}_continuityStageValid(){const t=this._stageEl;return!!t&&t.clientWidth>0&&t.clientHeight>0}_continuityAssetsReady(){if(!this._model.length)return!1;const t=this._model.length?this._spaceModel():null;return!t?.bg?.href||this._signer.isReady(this.hass,t.bg.href)}_initialSpaceSelection(t){return function(t){const e=new Set(t.spaceIds.filter(t=>!!t));if(!e.size)return{id:null,source:"none"};const i=[["hash",!1===t.acceptHash?null:t.hashSpace],["current",t.preserveCurrent?t.currentSpace:null],["saved",t.savedSpace],["default",t.defaultSpace],["first",t.spaceIds[0]]];for(const[t,s]of i)if(s&&e.has(s))return{id:s,source:t};return{id:null,source:"none"}}({spaceIds:t.map(t=>t.id),hashSpace:this._hashSpace(),acceptHash:!this._hashApplied,currentSpace:this._space,preserveCurrent:this._hashApplied||this._navApplied||this._warmVpArmed,savedSpace:this._savedNav()?.space,defaultSpace:this._config?.default_floor})}_adoptInitialSpace(t){const e=this._initialSpaceSelection(t);return e.id?(this._space=e.id,"hash"===e.source&&(this._hashApplied=!0),"saved"===e.source&&(this._navApplied=!0),e):e}_candidateBackdrop(t,e=this._space){const i=Gl(t),s=this._initialSpaceSelection(i).id||(i.some(t=>t.id===e)?e:i[0]?.id);return i.find(t=>t.id===s)?.bg?.href||""}_visualFrameFingerprint(){const t=this._stageEl,e=t?[t.clientWidth,t.clientHeight]:[0,0];return ih([this._cfgRev,this._cfgContentFingerprint||eh(this._serverCfg),this._layoutRev,this._layoutContentFingerprint||eh(this._layout),this._space,this._mode,this._view,e,this._glowScreenBlend?"screen":"normal",this.hass?.themes?.darkMode??this.hass?.themes?.default_theme??""])}_settleContinuityFrame(){if(this._booting||!this._continuityStageValid())return;if(!this._continuity.hasCompleteFrame&&"steady"===this._continuity.state)return void(this._continuityAssetsReady()&&(this._renderSnapshotAt=Date.now(),this._continuity.markCompleteFrame(this._visualFrameFingerprint())));if(!this._continuityDataReady)return;if(!["holding","offline-stale","overlay-pending","overlay-visible","candidate-ready"].includes(this._continuity.state))return;const t=this._continuity.token;if(this._candidateDeviceSnapshot&&this._candidateDeviceSnapshot!==this._visibleDeviceSnapshot&&this._stagedDeviceSnapshotToken!==t)return this._stagedDeviceSnapshotToken=t,void this.requestUpdate();this._continuityPaintToken!==t&&(this._continuityPaintToken=t,this._continuity.candidateReady(t)&&this._continuity.commitAfterPaint(t,{updateComplete:()=>this.updateComplete,stageValid:()=>this.isConnected&&this._continuityStageValid(),assetsReady:()=>this._continuityAssetsReady(),frameFingerprint:()=>this._visualFrameFingerprint()}).then(e=>{e&&t===this._continuity.token?(this._resumeSettling=!1,this._renderSnapshotAt=Date.now(),this._candidateDeviceSnapshot&&(this._visibleDeviceSnapshot=this._candidateDeviceSnapshot),this._candidateDeviceSnapshot=null,this._stagedDeviceSnapshotToken=-1,this._warmSnapshot()):t===this._continuity.token&&(this._continuityPaintToken=-1,this._stagedDeviceSnapshotToken=-1,this._candidateDeviceSnapshot=null,this.requestUpdate())}))}_onBackdropLoaded(t,e){this._signer.markLoaded(this.hass,t,e),this._continuity.note("asset-ready"),this._continuityPaintToken=-1,"steady"!==this._continuity.state&&this.requestUpdate()}_renderRecoveryOverlay(){if(!this._continuity.overlayVisible&&"recovery-error"!==this._continuity.state)return G;const t="connection"===this._continuity.recoveryReason;return W`
`}afterRender(){const t=this.host.root();this._blocked&&(this._openGroupId?this.closeGroup(!1):"palette"===this._currentModel?.kind&&this._currentModel.dismiss?.()),this._syncGlobalDismissListener();const e=t.querySelector(".editor-secondary"),i=this._renderedContext,s=e?.dataset.contextId||"";if(s&&i&&s!==i&&!window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches&&(this._contentAnimation?.cancel(),this._contentAnimation=e?.querySelector(".editor-secondary-content")?.animate([{opacity:.35,transform:"translateY(-4px)"},{opacity:1,transform:"translateY(0)"}],{duration:100,easing:"ease-out"})),this._renderedContext=s,i&&s!==i&&this._focusOwned){const i=s?e?.querySelector('[tabindex="0"], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled])'):t.querySelector(".editbar-tools");i?.focus?.(),this._focusOwned=!!s}if("palette"===this._currentModel?.kind&&this._currentModel.launcherId){const e=[...t.querySelectorAll("[data-editor-palette]")].find(t=>t.dataset.editorPalette===this._currentModel?.launcherId);e&&null!==e.offsetParent||this._currentModel.dismiss?.()}if(!this._openGroupId)return;const n=[...t.querySelectorAll("[data-editor-group]")].find(t=>t.dataset.editorGroup===this._openGroupId);n&&null!==n.offsetParent||this.closeGroup(!0)}handleOutsideDismiss(t){if(Pu(t,t=>t.hasAttribute("data-editor-navigation")))return"pointerdown"===t.type?this.closeForNavigation():"click"===t.type&&this._dismissPointerTarget&&this._clearDismissClick(),!1;if("click"===t.type&&this._dismissPointerTarget){return!!(t.composedPath?.()||[t.target]).includes(this._dismissPointerTarget)&&(this._clearDismissClick(),t.preventDefault(),t.stopImmediatePropagation(),!0)}const e=this._openGroupId||this._blocked||"palette"!==this._currentModel?.kind?null:this._currentModel;if("pointerdown"===t.type&&(this._openGroupId||e)){const i=Pu(t,t=>t.classList.contains("editor-secondary")),s=Pu(t,t=>!!t.dataset.editorGroup),n=Pu(t,t=>!!t.dataset.editorPalette),o=Pu(t,t=>t.classList.contains("stage"));if(!(i||s||n||"stay-open-on-canvas"===e?.dismissPolicy&&o))return t.preventDefault(),t.stopImmediatePropagation(),this._dismissPointerTarget=t.target,clearTimeout(this._dismissTimer),this._dismissTimer=window.setTimeout(()=>{this._clearDismissClick()},800),this._openGroupId?this.closeGroup(!1):e?.dismiss?.(),this._syncGlobalDismissListener(),!0}return!1}_activateGroupItem(t,e,i){if(t.id!==this._openGroupId)return;const s=t.items.find(t=>t.id===e);if(!s||s.disabled)return;const n="toggle"===s.role&&"stay-open"===s.closePolicy,o=0===i.detail;n||(this._openGroupId=null,this.host.requestUpdate(),this._syncGlobalDismissListener()),s.invoke(),!n&&o&&this.host.updateComplete().then(()=>{const e=[...this.host.root().querySelectorAll("[data-editor-group]")].find(e=>e.dataset.editorGroup===t.id&&null!==e.offsetParent);e?.focus()})}_groupKeydown(t){if(!["ArrowLeft","ArrowRight","Home","End"].includes(t.key))return;const e=[...t.currentTarget.querySelectorAll(".editor-group-item:not([disabled])")];if(!e.length)return;t.preventDefault();const i=e.indexOf(this.host.root().activeElement),s="Home"===t.key?0:"End"===t.key?e.length-1:"ArrowLeft"===t.key?i<=0?e.length-1:i-1:(i+1)%e.length;e[s]?.focus()}_clearDismissClick(){this._dismissPointerTarget=null,clearTimeout(this._dismissTimer),this._dismissTimer=void 0,this._syncGlobalDismissListener()}_syncGlobalDismissListener(){const t=!this._blocked&&"palette"===this._currentModel?.kind,e=!!this._openGroupId||t||!!this._dismissPointerTarget;e!==this._globalDismissListening&&(this._globalDismissListening=e,e?(window.addEventListener("pointerdown",this._globalDismissGuard,!0),window.addEventListener("click",this._globalDismissGuard,!0)):(window.removeEventListener("pointerdown",this._globalDismissGuard,!0),window.removeEventListener("click",this._globalDismissGuard,!0)))}}const Au=t=>t.stopPropagation(),Iu=4.166666666666667e-9;function Eu(t){if(!Number.isFinite(t))return t;const e=Math.round(t/Jl)*Jl;return Math.abs(e-t)<=Iu?t:e}const Fu=(t,e,i,s)=>Math.hypot(i-t,s-e),zu=(t,e,i,s,n,o,a,r)=>Math.hypot(Math.max(Math.abs(n-t),Math.abs(n+a-(t+i))),Math.max(Math.abs(o-e),Math.abs(o+r-(e+s)))),Ou=(t,e,i,s,n,o,a)=>{const r=Math.max(Number(s)||0,0)/2,l=Math.PI/180,c=Math.cos(i*l)*r,h=Math.sin(i*l)*r,d=Math.cos(a*l)*r,u=Math.sin(a*l)*r,p=Math.max(Fu(t+c,e+h,n+d,o+u),Fu(t-c,e-h,n-d,o-u)),_=Math.max(Fu(t+c,e+h,n-d,o-u),Fu(t-c,e-h,n+d,o+u));return Math.min(p,_)},Hu=t=>{const e=Number(t?.cell_cm);return e>0?e:5};const Nu=t=>JSON.parse(JSON.stringify(t)),Lu=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),Bu=(t,e,i)=>Math.min(i,Math.max(e,t)),qu=t=>Gl({spaces:[t]})[0],Wu=t=>{const e=[];for(const i of t||[]){const t=hi(i);if(t?.length)for(let i=0;i{let e=0,i=0,s=0;for(const i of t.markers||[]){if("ripple"===i.display&&(i.display="icon_ripple",e++),Array.isArray(i.controls)){const t="string"==typeof i.binding&&i.binding.startsWith("entity:")?i.binding.slice(7):"",s=t?i.controls.filter(e=>e!==t):i.controls;JSON.stringify(s)!==JSON.stringify(i.controls)&&(i.controls=s.length?s:null,e++)}const t=i.vacuum;t&&Lu(t,"trail")&&(["never","cleaning","always"].includes(t.trail_mode)||(t.trail_mode=!1===t.trail?"never":"cleaning"),delete t.trail,e++)}for(const n of t.spaces||[]){const t=n.settings;"glow"===t?.fill_mode&&("boolean"!=typeof t.glow_enabled&&(t.glow_enabled=!0),t.fill_mode="none",e++,i++);for(const t of n.rooms||[]){const i=t.settings;"glow"===i?.fill_mode&&("boolean"!=typeof i.glow&&(i.glow=!0),delete i.fill_mode,e++,s++)}if(Lu(n,"segments")&&(delete n.segments,e++),Lu(n,"plan_scale")){const t=Number(n.plan_scale);Number.isFinite(t)&&t>=ql&&t<=Wl&&(Lu(n,"plan_scale_x")||(n.plan_scale_x=t),Lu(n,"plan_scale_y")||(n.plan_scale_y=t),delete n.plan_scale,e++)}const o=Number(n.cell_cm);Lu(n,"cell_cm")&&(!Number.isFinite(o)||o<.1||o>1e3)&&(n.cell_cm=Number.isFinite(o)&&o>0?Bu(o,.1,1e3):5,e++);const a=Number(n.cell_cm),r=Number.isFinite(a)&&a>0?a:5;for(const t of n.wall_columns||[])if("circle"===t.shape)Lu(t,"angle")&&(delete t.angle,e++);else if("square"===t.shape&&Lu(t,"angle")){const i=((Number(t.angle)||0)%90+90)%90;t.angle!==i&&(t.angle=i,e++)}for(const t of n.decor||[]){if(Lu(t,"width")){const i=Number(t.width);(Lu(t,"width_cm")||Number.isFinite(i))&&(Lu(t,"width_cm")||(t.width_cm=Number(Bu(i/Xl*r,.1,100).toFixed(6))),delete t.width,e++)}if("rect"!==t?.kind&&"ellipse"!==t?.kind||!0!==t.fill||(Lu(t,"fill_color")||(t.fill_color=t.color||"#607d8b",e++),Lu(t,"fill_opacity")||(t.fill_opacity=.25,e++)),"text"!==t?.kind)continue;void 0===t.size_cm?(t.size_cm=Number(Bu(es*is(t)/Xl*r,.1,2e3).toFixed(6)),delete t.scale,delete t.size,e++):(Lu(t,"scale")||Lu(t,"size"))&&(delete t.scale,delete t.size,e++);let i=String(t.text??"");const s=[...i.matchAll(/\{([^{}\r\n]+)\}/g)].some(t=>!!Yi(t[1]));if(!(Lu(t,"entity")||Lu(t,"attr")||Lu(t,"unit")))continue;const n=String(t.unit??"").trim(),o="state"===String(t.attr??"").trim().toLowerCase()?null:t.attr,a=s||n?"":Xi(t.entity,o);if(s||a){if(a){const e=i.indexOf("{}");i=e>=0?i.slice(0,e)+a+i.slice(e+2):`${i}${i?" ":""}${a}`,t.text=i}delete t.entity,delete t.attr,delete t.unit,e++}}}return{total:e,glowSpaces:i,glowRooms:s}})(i);let r=a.total;for(const t of i.spaces||[]){const e=qu(t);if(!e)continue;if(!Ec(t.open_spans).length){const i=Nc(e.rooms,null,Ll,.02*Xl,!0);i.length&&(t.open_spans=Lc(i,Ll),r++)}}const l=Nu(i.spaces||[]),c=function(t,e){const i=JSON.parse(JSON.stringify(t||[])),s=JSON.parse(JSON.stringify(e||{}));let n=0,o=0,a=0,r=0,l="",c=0,h=0;const d={};let u=5;for(const t of i){const e=Hu(t);null!=t?.id&&(d[String(t.id)]=e),e>u&&(u=e)}const p=(t,e,i,s=!1)=>{if(!(t>Iu||s))return;n++,t>a&&(a=t);const o=t*Yl*e;o>r&&(r=o,l=i)};for(const t of i){const e=Hu(t),i=null!=t?.id?String(t.id):"";for(const s of t.rooms||[]){o++;let t=0;if(s.poly?.length)s.poly=s.poly.map(e=>{const i=[Eu(e[0]),Eu(e[1])];return t=Math.max(t,Fu(e[0],e[1],i[0],i[1])),i});else if(null!=s.x&&null!=s.y){const e=s.x,i=s.y,n=s.w||0,o=s.h||0,a=Eu(e+n),r=Eu(i+o),l=Eu(e),c=Eu(i),h=Math.max(Jl,a-l),d=Math.max(Jl,r-c);t=zu(e,i,n,o,l,c,h,d),s.x=l,s.y=c,s.w=h,s.h=d}p(t,e,i)}for(const s of t.room_drafts||[]){o++;let t=0;const n=(s.points||[]).map(e=>{const i=[Eu(e[0]),Eu(e[1])];return t=Math.max(t,Fu(e[0],e[1],i[0],i[1])),i}),a=n.length?[n[0]]:[],r=[];for(let t=0;t+1t.points?.length>=2),h+=e-t.room_drafts.length,t.room_drafts.length||delete t.room_drafts}for(const s of t.partitions||[]){o++;const n=[Eu(s.a[0]),Eu(s.a[1])],a=[Eu(s.b[0]),Eu(s.b[1])];let r=Math.max(Fu(s.a[0],s.a[1],n[0],n[1]),Fu(s.b[0],s.b[1],a[0],a[1]));const l=Fu(n[0],n[1],a[0],a[1]),c=(t.openings||[]).filter(t=>"partition"===t.host?.kind&&t.host.id===s.id).every(t=>{const e=Number(t.length),i=Number(t.host.t),s=i*l;return Number.isFinite(e)&&e>0&&Number.isFinite(i)&&i>=0&&i<=1&&s-e/2>=-Iu&&s+e/2<=l+Iu});l>Iu&&c?(s.a=n,s.b=a):r=0,p(r,e,i)}for(const s of t.wall_columns||[]){o++;const t=[Eu(s.center[0]),Eu(s.center[1])],n=Fu(s.center[0],s.center[1],t[0],t[1]);s.center=t,p(n,e,i)}for(const s of t.decor||[]){o++;let t=0;if("line"===s.kind){const e=[Eu(s.x1),Eu(s.y1)],i=[Eu(s.x2),Eu(s.y2)];t=Math.max(Fu(s.x1,s.y1,e[0],e[1]),Fu(s.x2,s.y2,i[0],i[1])),s.x1=e[0],s.y1=e[1],s.x2=i[0],s.y2=i[1]}else{const e=Eu(s.x),i=Eu(s.y);if(null!=s.w&&null!=s.h){const n=Eu(s.x+s.w),o=Eu(s.y+s.h),a=Math.max(Jl,n-e),r=Math.max(Jl,o-i);t=zu(s.x,s.y,s.w,s.h,e,i,a,r),s.w=a,s.h=r}else t=Fu(s.x,s.y,e,i);s.x=e,s.y=i}p(t,e,i)}for(const s of t.openings||[]){if(o++,"partition"===s.host?.kind){const n=(t.partitions||[]).find(t=>t.id===s.host.id),o=Number(s.host.t);if(!n||!Number.isFinite(o)||o<0||o>1)continue;const a=n.b[0]-n.a[0],r=n.b[1]-n.a[1];if(Math.hypot(a,r)<=Iu)continue;const l=n.a[0]+a*o,h=n.a[1]+r*o;let d=180*Math.atan2(r,a)/Math.PI;d>=90?d-=180:d<-90&&(d+=180);const u=Number(s.angle),_=!(Number.isFinite(u)&&u===d),g=Ou(s.x,s.y,Number.isFinite(u)?u:d,Number(s.length)||0,l,h,d);s.x=l,s.y=h,s.angle=d,_&&c++,p(g,e,i,_);continue}const n=pi([s.x,s.y],t.rooms||[],.025,{step:Jl,length:Number(s.length)||0});if(!n)continue;const a=Number(s.angle),r=!(Number.isFinite(a)&&a===n.angle),l=Ou(s.x,s.y,Number.isFinite(a)?a:n.angle,Number(s.length)||0,n.x,n.y,n.angle);s.x=n.x,s.y=n.y,s.angle=n.angle,r&&c++,p(l,e,i,r)}}for(const[t,e]of Object.entries(s)){if(!e||"object"!=typeof e)continue;const i=e;if("number"!=typeof i.x||"number"!=typeof i.y)continue;o++;const n=Eu(i.x),a=Eu(i.y),r=Fu(i.x,i.y,n,a);s[t]={...i,x:n,y:a};const l="string"==typeof i.s?i.s:"";p(r,d[l]??u,l)}return{spaces:i,layout:s,report:{moved:n,total:o,maxShift:a,maxShiftCm:r,maxSpace:l,rotated:c,removedDrafts:h},changed:n>0}}(i.spaces||[],e||{});i.spaces=c.spaces;const h={...c.report};let d=0,u=0,p=0;for(let t=0;t[t.id,t.open_to||[]]),walls:e.walls||[]}),o=qu(e),a=qu(s);if(!o||!a)continue;const r=Wu(o.rooms),c=Wu(a.rooms),_=.02*Xl;let g=Kc(Ec(e.open_spans),r,c,Ll);const m=g.length;g=Vc(g,a.rooms,Ll,_),g=g.map(t=>{const e=Ac(t,Ll),i=[e[0],e[1]],n=[e[2],e[3]],o=[(e[0]+e[2])/2,(e[1]+e[3])/2],a=e[2]-e[0],r=e[3]-e[1],l=Math.hypot(a,r)||1,d=c.map(([t,e])=>[t[0],t[1],e[0],e[1]]).filter(t=>{const e=t[2]-t[0],s=t[3]-t[1],c=Math.hypot(e,s)||1;return Math.abs(a*s-r*e)/(l*c)<=1e-6&&Fc(o,t).d<=4*_&&Fc(i,t).d<=4*_&&Fc(n,t).d<=4*_}).sort((t,e)=>Math.hypot(e[2]-e[0],e[3]-e[1])-Math.hypot(t[2]-t[0],t[3]-t[1]))[0];if(h.total++,!d)return t;const u=[[d[0],d[1]],[d[2],d[3]]],p=Oc(i,d,u,Xl,2*_),g=Oc(n,d,u,Xl,2*_);if(Math.hypot(g[0]-p[0],g[1]-p[1])<.5*Xl)return t;const m=Math.max(Math.hypot(p[0]-i[0],p[1]-i[1]),Math.hypot(g[0]-n[0],g[1]-n[1]));if(m>1e-6*Xl){h.moved++;const t=m/Ll;t>h.maxShift&&(h.maxShift=t);const e=m/Xl*(Number(s.cell_cm)>0?Number(s.cell_cm):5);e>h.maxShiftCm&&(h.maxShiftCm=e,h.maxSpace=String(s.id||""))}return Rc(p,g,Ll)}),g=Vc(g,a.rooms,Ll,_),u+=Math.max(0,m-g.length);const f=g.map(t=>Ac(t,Ll));g.length?s.open_spans=g:delete s.open_spans,Bc(s.rooms||[],a.rooms,f,_);const v=Array.isArray(e.walls)?e.walls.length:0;let y=Rr(e.walls,r,c,Jl,Ll);y=el(a.rooms,y,f,Jl,Number(s.cell_cm)>0?Number(s.cell_cm):5,Xl,Ll),y=Tr(y,s.rooms||[],Jl,1,f.map(t=>[t[0]/Ll,t[1]/Ll,t[2]/Ll,t[3]/Ll])),d+=Math.max(0,v-y.length),y.length?s.walls=y:delete s.walls;const b=JSON.stringify({spans:s.open_spans||[],links:(s.rooms||[]).map(t=>[t.id,t.open_to||[]]),walls:s.walls||[]});b!==n&&p++}const _=JSON.stringify(i)!==s||JSON.stringify(c.layout)!==n;o<6&&_&&(i.model_version=6);const g=JSON.stringify(i)!==s||JSON.stringify(c.layout)!==n,m=Number.isInteger(Number(i.model_version))?Number(i.model_version):o;return{config:i,layout:c.layout,report:{...h,modelFrom:o,modelTo:m,migrated:r,glowSpacesMigrated:a.glowSpaces,glowRoomsMigrated:a.glowRooms,canonicalized:p,wallsMerged:d,spansMerged:u},changed:g}}class Uu{constructor(t=50){this._undo=[],this._redo=[],this._limit=Math.max(30,Math.floor(t))}get canUndo(){return this._undo.length>0}get canRedo(){return this._redo.length>0}get undoName(){return this._undo[this._undo.length-1]?.name??null}get redoName(){return this._redo[this._redo.length-1]?.name??null}get size(){return this._undo.length}push(t){this._undo.push(t),this._undo.length>this._limit&&this._undo.splice(0,this._undo.length-this._limit),this._redo=[]}undo(){const t=this._undo.pop()??null;return t&&this._redo.push(t),t}redo(){const t=this._redo.pop()??null;return t&&this._undo.push(t),t}clear(){this._undo=[],this._redo=[]}}const Gu=new WeakMap;const Vu=(t,e,i)=>255===t[i+3]&&e.every((e,s)=>Math.abs(t[i+s]-e)<=2);async function Ku(t){const e=t.defaultView;if(!e||!e.CSS?.supports?.("mix-blend-mode","screen"))return!1;const i=[128,32,16],s=[16,64,128],n=[9,19,29],o=`\n \n \n \n \n \n `,a=e.URL.createObjectURL(new Blob([o],{type:"image/svg+xml"}));try{const o=await new Promise((t,i)=>{const s=new e.Image,n=e.setTimeout(()=>i(new Error("SVG blend probe timeout")),1e3);s.onload=()=>{e.clearTimeout(n),t(s)},s.onerror=()=>{e.clearTimeout(n),i(new Error("SVG blend probe failed"))},s.src=a}),r=t.createElement("canvas");r.width=4,r.height=1;const l=r.getContext("2d",{willReadFrequently:!0});if(!l)return!1;l.drawImage(o,0,0,4,1);const c=l.getImageData(0,0,4,1).data;return Vu(c,i,0)&&Vu(c,function(t,e){return[0,1,2].map(i=>Math.round(255-(255-t[i])*(255-e[i])/255))}(i,s),4)&&Vu(c,s,8)&&Vu(c,n,12)}catch{return!1}finally{e.URL.revokeObjectURL(a)}}const Yu={now:()=>performance.now(),requestFrame:t=>requestAnimationFrame(t),cancelFrame:t=>cancelAnimationFrame(t)},Xu=t=>Math.max(0,Math.min(1,t)),Ju=(t,e,i)=>t+(e-t)*i,Zu=(t,e,i)=>{const s=1-t;return 3*s*s*t*e+3*s*t*t*i+t*t*t};function Qu(t,e){return{centerX:t.x+t.w/2,centerY:t.y+t.h/2,pixelsPerUnit:e>0&&t.w>0?e/t.w:1,viewBox:{...t}}}function tp(t,e,i){const s=Math.max(1e-9,t.pixelsPerUnit),n=Math.max(1e-9,e/s),o=Math.max(1e-9,i/s);return{x:t.centerX-n/2,y:t.centerY-o/2,w:n,h:o}}function ep(t){const e=t.trim(),i=/^rgba?\(\s*([\d.]+)[, ]+([\d.]+)[, ]+([\d.]+)(?:\s*[,/]\s*([\d.]+))?\s*\)$/i.exec(e);if(i)return[Number(i[1]),Number(i[2]),Number(i[3]),null==i[4]?1:Number(i[4])];const s=/^#([0-9a-f]{6}|[0-9a-f]{8})$/i.exec(e)?.[1];return s?[parseInt(s.slice(0,2),16),parseInt(s.slice(2,4),16),parseInt(s.slice(4,6),16),8===s.length?parseInt(s.slice(6,8),16)/255:1]:null}function ip(t,e,i){const s=ep(t),n=ep(e);if(!s||!n)return i<.5?t:e;const o=Xu(i);return`rgba(${Math.round(Ju(s[0],n[0],o))}, ${Math.round(Ju(s[1],n[1],o))}, ${Math.round(Ju(s[2],n[2],o))}, ${Ju(s[3],n[3],o).toFixed(3)})`}function sp(t,e,i){const s=(t=>{const e=Xu(t);if(0===e||1===e)return e;let i=0,s=1,n=e;for(let t=0;t<12;t++)n=(i+s)/2,Zu(n,.2,.2){const e=this._state;if(!e||e.token!==n)return;const i=Xu((t-e.startedAt)/e.duration);e.presented=i>=1?e.to:sp(e.from,e.to,i),e.phase=i>=1?"settling":"running",this._hooks.frame(e),i<1?this._raf=this._clock.requestFrame(a):(this._raf=0,this._hooks.settled(e),this._state?.token===n&&(this._state=null))};return this._raf=this._clock.requestFrame(a),n}cancel(t=!0){this._raf&&this._clock.cancelFrame(this._raf),this._raf=0;const e=this._state;this._state=null,this._token++,e&&t&&(e.phase="settling",e.presented=e.to,this._hooks.frame(e),this._hooks.settled(e))}dispose(){this.cancel(!1)}}const op="houseplan_card_labs_v1",ap=Object.freeze([Object.freeze({id:"iso",issue:89,since:"1.62.0",expires:"1.65.0",summary:"Volumetric plan renderer"})]);function rp(t){const e=/^(\d+)\.(\d+)\.(\d+)(?:-[0-9A-Za-z.-]+)?$/.exec(String(t||"").trim());if(!e)return null;const i=e.slice(1).map(Number);return i.every(t=>Number.isSafeInteger(t))?i:null}function lp(t,e){for(let i=0;i<3;i++)if(t[i]!==e[i])return t[i]t.split(",")).map(t=>t.trim()).filter(Boolean)}function _p(t,e,i,s=ap){const n=function(t,e=ap){const i=rp(t),s=new Map;if(!i||!hp(e))return s;for(const t of e){const e=rp(t.since),n=rp(t.expires);lp(i,e)>=0&&lp(i,n)<0&&s.set(t.id,t)}return s}(i,s),o=new Set(hp(s)?s.map(t=>t.id):[]),a=new Set(function(t){if(!t)return[];try{const e=JSON.parse(t);return Array.isArray(e)?e.filter(t=>"string"==typeof t):[]}catch{return[]}}(e).filter(t=>n.has(t)));let r=!1;const l=t=>{if("off"===t)return a.clear(),void(r=!0);const e=t.startsWith("-"),i=e?t.slice(1):t;o.has(i)&&(r=!0,e||!n.has(i)?a.delete(i):a.add(i))};for(const e of pp(new URLSearchParams(String(t.search||"").replace(/^\?/,""))))l(e);for(const e of pp(dp(t.hash)))l(e);const c=Object.freeze([...a].sort());return{active:c,space:up(t.hash),persist:r?JSON.stringify(c):void 0,knownUrlOperation:r}}let gp={active:Object.freeze([]),space:""},mp="",fp=!1,vp="";const yp=new Set;function bp(){if("undefined"==typeof window)return gp;const t=_p(window.location,function(){try{return window.localStorage.getItem(op)}catch{return null}}(),mp);void 0!==t.persist&&function(t){try{window.localStorage.setItem(op,t)}catch{}}(t.persist),gp={active:t.active,space:t.space},window.__hpLabs=t.active;for(const t of yp)t(gp);return gp}function wp(){bp()}function kp(t){return mp=t,"undefined"==typeof window?gp:(fp||(fp=!0,window.addEventListener("hashchange",wp),window.addEventListener("popstate",wp)),bp())}const $p=Object.freeze({rotDeg:0,tiltDeg:20,xyScale:1,zScale:1,origin:Object.freeze([500,500])}),xp=64;function Sp(t){return[t.rotDeg,t.tiltDeg,t.xyScale,t.zScale,t.origin[0],t.origin[1]].every(Number.isFinite)&&Math.abs(t.xyScale)>1e-12&&Math.abs(Math.cos(t.tiltDeg*Math.PI/180))>1e-12}function Mp(t,e,i=$p){if(!(Sp(i)&&Number.isFinite(t[0])&&Number.isFinite(t[1])&&Number.isFinite(e)))throw new Error("invalid isometric projection input");const s=i.rotDeg*Math.PI/180,n=i.tiltDeg*Math.PI/180,o=t[0]-i.origin[0],a=t[1]-i.origin[1],r=(o*Math.cos(s)-a*Math.sin(s))*i.xyScale,l=(o*Math.sin(s)+a*Math.cos(s))*i.xyScale;return[i.origin[0]+r,i.origin[1]+l*Math.cos(n)-e*i.zScale*Math.sin(n)]}function Cp(t,e=$p){if(!Sp(e)||!Number.isFinite(t[0])||!Number.isFinite(t[1]))throw new Error("invalid isometric projection input");const i=e.rotDeg*Math.PI/180,s=e.tiltDeg*Math.PI/180,n=(t[0]-e.origin[0])/e.xyScale,o=(t[1]-e.origin[1])/(e.xyScale*Math.cos(s));return[e.origin[0]+n*Math.cos(i)+o*Math.sin(i),e.origin[1]-n*Math.sin(i)+o*Math.cos(i)]}function Dp(t=$p){return`matrix(${function(t=$p){if(!Sp(t))throw new Error("invalid isometric camera");const e=t.rotDeg*Math.PI/180,i=t.tiltDeg*Math.PI/180,s=t.xyScale*Math.cos(e),n=-t.xyScale*Math.sin(e),o=t.xyScale*Math.sin(e)*Math.cos(i),a=t.xyScale*Math.cos(e)*Math.cos(i);return[s,o,n,a,t.origin[0]-s*t.origin[0]-n*t.origin[1],t.origin[1]-o*t.origin[0]-a*t.origin[1]]}(t).map(t=>Number(t.toFixed(12))).join(" ")})`}function Tp(t,e=$p){const{rect:i,wallHeight:s}=t,n=t.openingHeight??s,o=t.floorDepth??0;if(!(i.w>=0)||!(i.h>=0)||!Number.isFinite(s)||!Number.isFinite(n)||!Number.isFinite(o)||s<0||n<0||o<0)throw new Error("invalid isometric frame");const a=[[i.x,i.y],[i.x+i.w,i.y],[i.x+i.w,i.y+i.h],[i.x,i.y+i.h]],r=Math.max(s,n),l=a.flatMap(t=>[Mp(t,-o,e),Mp(t,r,e)]),c=l.map(t=>t[0]),h=l.map(t=>t[1]),d=Math.min(...c),u=Math.min(...h);return{x:d,y:u,w:Math.max(...c)-d,h:Math.max(...h)-u}}const Pp=t=>`${Number(t[0].toFixed(4))} ${Number(t[1].toFixed(4))}`;function Rp(t){let e=0;for(let i=0;iArray.isArray(t)&&Number.isFinite(t[0])&&Number.isFinite(t[1])).map(t=>[Number(t[0]),Number(t[1])]),i=e[e.length-1];return e.length>1&&e[0][0]===i[0]&&e[0][1]===i[1]&&e.pop(),e}(t);if(i.length<3)return[];const s=!e;return Rp(i)>0===s?i:[...i].reverse()}function Ip(t,e,i){return t.length?`M ${t.map(t=>Pp(Mp(t,i,e))).join(" L ")} Z`:""}function Ep(t,e,i){const s=e[1]-t[1],n=-(e[0]-t[0]),o=i.rotDeg*Math.PI/180;return s*Math.sin(o)+n*Math.cos(o)}function Fp(t,e,i=$p){if(!Number.isFinite(e)||e<0)throw new Error("invalid floor edge height");const s=(t||[]).map(t=>(t||[]).map((t,e)=>function(t,e){const i=Ap(t,e);if(!i.length)return i;let s=0;for(let t=1;t0)).filter(t=>t.length>=3&&Math.abs(Rp(t))>=1e-9)).filter(t=>t.length&&Rp(t[0])>0);s.sort((t,e)=>{const i=t[0][0],s=e[0][0];return i[0]-s[0]||i[1]-s[1]||Math.abs(Rp(e[0]))-Math.abs(Rp(t[0]))});const n=[],o=[];let a=0;for(let t=0;tt.depth-e.depth||t.component-e.component||t.edge-e.edge),{footprintPath:n.join(" "),sides:o,componentCount:s.length,edgeCount:a}}function zp(t,e){return t^=Math.round(64*(Number.isFinite(e)?e:0)),Math.imul(t,16777619)>>>0}const Op=t=>t.every(Number.isFinite);function Hp(t,e,i,s){const n=t[0]*i,o=t[1]*s,a=e*Math.PI/180;return[n*Math.cos(a)-o*Math.sin(a),n*Math.sin(a)+o*Math.cos(a)]}function Np(t,e,i,s,n,o,a){const r=t.flipH?-1:1,l=t.flipV?-1:1,c=function(t,e){return[t[0]+e[0],t[1]+e[1]]}([t.x+t.face.ox,t.y+t.face.oy],Hp(i,t.angle,r,l));return{leaf:e,hinge:c,closedVector:Hp(s,t.angle,r,l),quarterVector:Hp([-s[1],s[0]],t.angle,r,l),turnDeg:n,bottom:o,top:a}}const Lp=t=>`${Number(t[0].toFixed(4))} ${Number(t[1].toFixed(4))}`;function Bp(t,e,i=$p){const s=Math.max(0,Math.min(1,Number.isFinite(e)?e:0));return t.leaves.map(e=>{const n=function(t,e){const i=t.turnDeg*e*Math.PI/180;return[t.hinge[0]+t.closedVector[0]*Math.cos(i)+t.quarterVector[0]*Math.sin(i),t.hinge[1]+t.closedVector[1]*Math.cos(i)+t.quarterVector[1]*Math.sin(i)]}(e,s),o=Mp(e.hinge,e.bottom,i),a=Mp(n,e.bottom,i),r=Mp(n,e.top,i),l=Mp(e.hinge,e.top,i);return{id:t.id,sourceIndex:t.sourceIndex,type:t.type,leaf:e.leaf,d:`M ${Lp(o)} L ${Lp(a)} L ${Lp(r)} L ${Lp(l)} Z`,shadowD:`M ${Lp(Mp(e.hinge,0,i))} L ${Lp(Mp(n,0,i))}`,depth:Math.max(o[1],a[1])}})}const qp={window:120,door:90,passage:90,gate:300};function Wp(t){return qp[t]}function jp(t,e){const i=[t[0],t[1]],s=[e[0],e[1]];return function(t,e){return t[0]-e[0]||t[1]-e[1]}(i,s)<=0?{a:i,b:s}:{a:s,b:i}}function Up(t){const e=new Map;return t.forEach((t,i)=>{if(!t.kind||t.open)return;const s=jp(t.a,t.b);if(Math.hypot(s.b[0]-s.a[0],s.b[1]-s.a[1])<=1e-9)return;const n=function(t,e){const i=t=>(Math.abs(t)<=5e-10?0:Math.round(1e6*t)/1e6).toFixed(6);return`${i(t[0])},${i(t[1])}>${i(e[0])},${i(e[1])}`}(s.a,s.b),o=e.get(n);if(o)return o.physicalHalfWidth=Math.max(o.physicalHalfWidth,t.half||0),o.sourceOrder=Math.min(o.sourceOrder,i),void(t.partitionHost&&(o.partitionHost&&o.partitionHost.id!==t.partitionHost.id?o.ambiguousPartitionHost=!0:o.partitionHost=t.partitionHost));e.set(n,{segmentKey:n,a:s.a,b:s.b,physicalHalfWidth:Math.max(0,t.half||0),sourceOrder:i,...t.partitionHost?{partitionHost:t.partitionHost}:{}})}),[...e.values()]}function Gp(t,e){if(Math.abs(t.distance-e.distance)>1e-9)return t.distance-e.distance;if(Math.abs(t.perpendicular-e.perpendicular)>1e-9)return t.perpendicular-e.perpendicular;return(t.target.segmentKeye.target.segmentKey?1:0)||t.target.sourceOrder-e.target.sourceOrder}function Vp(t){const e=Up(t.intervals).map(e=>{const i=function(t,e){const i=e.b[0]-e.a[0],s=e.b[1]-e.a[1],n=Math.hypot(i,s),o=i/n,a=s/n,r=(t[0]-e.a[0])*o+(t[1]-e.a[1])*a,l=Math.max(0,Math.min(n,r)),c=e.a[0]+l*o,h=e.a[1]+l*a;return{along:l,length:n,x:c,y:h,distance:Math.hypot(t[0]-c,t[1]-h),perpendicular:Math.abs((t[0]-e.a[0])*a-(t[1]-e.a[1])*o)}}(t.pointer,e);return{target:e,...i,envelope:Math.max(t.baseTolerance,e.physicalHalfWidth+t.bodyPointerPadding)}}).filter(t=>t.distance<=t.envelope+1e-9).filter(e=>!e.target.partitionHost||t.renderedLength<=e.length+1e-9).filter(e=>!function(t,e,i,s,n){const o=e.b[0]-e.a[0],a=e.b[1]-e.a[1],r=Math.hypot(o,a);if(!(r>1e-9))return!1;const l=o/r,c=a/r;for(const o of i){if(!o.open&&o.kind)continue;const i=jp(o.a,o.b),a=i.b[0]-i.a[0],r=i.b[1]-i.a[1],h=Math.hypot(a,r);if(!(h>1e-9))continue;const d=a/h,u=r/h;if(Math.abs(l*u-c*d)>1e-6)continue;if(Math.abs((i.a[0]-e.a[0])*c-(i.a[1]-e.a[1])*l)>n)continue;const p=(t[0]-i.a[0])*d+(t[1]-i.a[1])*u,_=1e-9;if(!(p<=_||p>=h-_)&&Math.abs((t[0]-i.a[0])*u-(t[1]-i.a[1])*d)<=s+1e-9)return!0}return!1}(t.pointer,e.target,t.intervals,e.envelope,Math.max(1e-9,Math.min(t.baseTolerance,.04*t.gridStep)))).sort(Gp);let i=e[0];if(!i)return null;const s=e.filter(t=>Math.abs(t.distance-i.distance)<=1e-9&&Math.abs(t.perpendicular-i.perpendicular)<=1e-9),n=s.filter(t=>t.target.partitionHost);if(n.length){if(1!==new Set(n.map(t=>t.target.partitionHost.id)).size||n.some(t=>t.target.ambiguousPartitionHost))return null;const t=n[0],e=t.target.b[0]-t.target.a[0],o=t.target.b[1]-t.target.a[1],a=Math.hypot(e,o),r=e/a,l=o/a;if(!s.every(e=>{const i=e.target.b[0]-e.target.a[0],s=e.target.b[1]-e.target.a[1],n=Math.hypot(i,s),o=i/n,a=s/n,c=Math.abs(r*a-l*o)<=1e-6,h=Math.abs((e.target.a[0]-t.target.a[0])*l-(e.target.a[1]-t.target.a[1])*r);return c&&h<=1e-9}))return null;i=t}if(i.target.ambiguousPartitionHost)return null;const{target:o,length:a}=i,r=o.b[0]-o.a[0],l=o.b[1]-o.a[1],c=r/a,h=l/a,d=Math.min(Math.max(0,t.renderedLength)/2,a/2);let u=i.along;const p=Math.max(t.gridStep,1e-9),_=a/2;u=Math.abs(u-_)<=p/2?_:Math.round(u/p)*p,u=Math.max(d,Math.min(a-d,u));const g=o.a[0]+c*u,m=o.a[1]+h*u,f=Math.max(0,t.renderedLength)/2,v=u-f,y=u+f,b=Math.max(0,v),w=Math.max(0,a-y),k=[o.a[0]+c*(v-b/2),o.a[1]+h*(v-b/2)],$=[o.a[0]+c*(y+w/2),o.a[1]+h*(y+w/2)];let x=180*Math.atan2(l,r)/Math.PI;x>=90?x-=180:x<-90&&(x+=180);const S=Math.abs(u-_)<=1e-9;return{presetRevision:t.preset.revision,geometryRevision:t.geometryRevision,pointer:[t.pointer[0],t.pointer[1]],type:t.preset.type,lengthCm:t.preset.lengthCm,flipH:t.preset.flipH,flipV:t.preset.flipV,x:g,y:m,angle:x,renderedLength:t.renderedLength,target:o,...o.partitionHost?{host:{...o.partitionHost,t:a>0?u/a:0}}:{},measure:{labels:[{distance:b,midpoint:k},{distance:w,midpoint:$}],guide:S?{x:g,y:m,angle:x}:null}}}function Kp(t,e,i,s,n=1e-6){return t.presetRevision===i&&t.geometryRevision===s&&Math.hypot(t.pointer[0]-e[0],t.pointer[1]-e[1])<=n}const Yp="1.65.0-beta.3",Xp={badge:"display.badge",icon_ripple:"display.icon_ripple",value:"display.value",static_icon:"display.static_icon"},Jp={badge:"marker.display_hint_badge",icon_ripple:"marker.display_hint_icon_ripple",value:"marker.display_hint_value",static_icon:"marker.display_hint_static_icon"},Zp=2e3,Qp=1e3,t_=1500,e_=t=>{const e=String(t??"").trim().replace(",",".");if(!/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)$/.test(e))return null;const i=Number(e);return Number.isFinite(i)?i:null},i_=(t,e)=>{if(!t.has(e))return{hit:!1};const i=t.get(e);return t.delete(e),t.set(e,i),{hit:!0,value:i}},s_=(t,e,i,s)=>{for(t.delete(e),t.set(e,i);t.size>s;){const e=t.keys().next().value;if(void 0===e)break;t.delete(e)}},n_=new Map;let o_=0;const a_=t=>`${window.innerWidth}x${window.innerHeight}|${location.pathname}|${JSON.stringify(t??{})}`;let r_=1e4;const l_="houseplan_card_layout_v1",c_="houseplan_card_cfg_v1",h_="houseplan_card_zoom_v1",d_="houseplan_card_nav_v1",u_="houseplan_card_kiosk_v1",p_="houseplan_card_view_v1",__=1e3,g_=[[0,1],[45,.88],[70,.62],[86,.32],[100,0]],m_=(t,e)=>{const i=Math.min(t.x,e.x),s=Math.min(t.y,e.y);return{x:i,y:s,w:Math.max(t.x+t.w,e.x+e.w)-i,h:Math.max(t.y+t.h,e.y+e.h)-s}},f_=new Set(["select","draw","partition","column","merge","split","resize","opening","boundary","wallthick","delroom"]),v_=2e3,y_=(t,e,i)=>{const s=new Event(e,{bubbles:!0,composed:!0});s.detail=i??{},t.dispatchEvent(s)},b_=t=>{history.pushState(null,"",t),y_(window,"location-changed",{replace:!1})},w_=(t,e)=>{let i,s=null;const n=(...n)=>{clearTimeout(i),s=n,i=window.setTimeout(()=>{i=void 0;const e=s;s=null,e&&t(...e)},e)};return n.flush=()=>{if(void 0===i)return;clearTimeout(i),i=void 0;const e=s;s=null,e&&t(...e)},n.cancel=()=>{clearTimeout(i),i=void 0,s=null},n.pending=()=>void 0!==i,n},k_=t=>{try{t.target?.setPointerCapture?.(t.pointerId)}catch{}};class $_ extends ht{constructor(){super(...arguments),this._space="f1",this._layout={},this._serverStorage=!1,this._loadOk=!1,this._serverCanWrite=null,this._loading=!1,this._loadTries=0,this._serverCfg=null,this._cfgRev=0,this._cfgContentFingerprint="",this._unsubCfg=null,this._unsubLayout=null,this._unsubVirtual=null,this._liveSyncAttempt=null,this._liveSyncGeneration=0,this._liveSyncConnection=null,this._layoutRev=0,this._layoutContentFingerprint="",this._virtualLights=gn(null),this._canOptimizeUndo=!1,this._undoKind=null,this._devices=[],this._regSignature="",this._defPos={},this._newSyncKey="",this._tip=null,this._hoverRoom=null,this._selId=null,this._toast="",this._mode="view",this._pendingNavMode=null,this._decorTool="select",this._decorStyle={...er},this._decorDraft=null,this._decorMove=null,this._decorSel=null,this._decorEraseConfirm=null,this._decorTextDialog=null,this._decorShapeDialog=null,this._backdropDialog=null,this._decorTextSelection={start:0,end:0},this._furnPalette=null,this._dtBox=null,this._dtDrag=null,this._bdDrag=null,this._slide="",this._reducedMotion=!1,this._onMotionChange=t=>{this._reducedMotion=t.matches,t.matches&&this._modeTransitionPreparing?this._modeTransitionForceAtomic=!0:t.matches&&this._modeTransition.active&&this._cancelModeTransition(!0),this.requestUpdate()},this._editorChromeMode="plan",this._modeTransitionVisual=null,this._modeTransitionPreparing=!1,this._modeTransitionForceAtomic=!1,this._modeTransitionRequest=0,this._modeTransitionTargetZoom=1,this._modeTransitionEditorCamera=null,this._modeTransition=new np({frame:t=>this._applyModeTransitionFrame(t),settled:t=>this._settleModeTransition(t)}),this._editorSecondary=new Ru({root:()=>this.renderRoot,requestUpdate:()=>this.requestUpdate(),updateComplete:()=>this.updateComplete,clearTip:()=>{this._tip=null}}),this._editorSecondaryCopy={groupActive:(t,e)=>this._t("editor.group_active",{group:t,item:e}),openGroup:t=>this._t("editor.open_group",{group:t}),disabledAction:(t,e)=>this._t("editor.disabled_action",{action:t,reason:e})},this._tool="draw",this._geometryHistory=new Uu(50),this._wallDialog=null,this._drawWallField=null,this._activeDraftId=null,this._resumeDraftBySpace={},this._physicalSel=null,this._physicalDialog=null,this._partitionDeleteDialog=null,this._physicalDrag=null,this._physicalRotate=null,this._physicalLastTap=null,this._physicalPickCycle=null,this._wallUnionCache=null,this._isoGeometryCache=new Map,this._isoFallback=new Set,this._openingTunnelCache=null,this._openingWallIndexCache=new Map,this._openingPlacementIntervalsCache=null,this._planSnapGeometryCache=null,this._planStructuralGeometryCache=null,this._physicalBodiesCache=null,this._lightPhysicalBodiesCache=null,this._cleanFloorCache=new Map,this._glowClipCache=new Map,this._lightBarrierCache=null,this._glowFeatherUnits=null,this._glowRenderedSources=new Map,this._glowLastAppearance=new Map,this._glowEnteringSources=new Set,this._glowEnterRafs=new Map,this._glowFadeTimers=new Map,this._glowFeatherSuspendUntil=0,this._glowFeatherResumeTimer=0,this._glowSourceSeq=0,this._glowScreenBlend=!1,this._duplicateColumnId=null,this._duplicateColumnTimer=0,this._rszSel=null,this._rszDrag=null,this._rszPreview=null,this._rszLive=null,this._path=[],this._cursorPt=null,this._planSnapHover=null,this._mergeSel=null,this._openingPreset=null,this._openingRebindId=null,this._openingPresetRevision=0,this._openingHoverCandidate=null,this._openingDialog=null,this._openingInfo=null,this._opDrag=null,this._opMeasure=null,this._mergeDialog=null,this._openWallAnchor=null,this._boundaryPointerType="mouse",this._boundaryRestoreGuard=null,this._boundaryTargetMemo=null,this._boundaryPreviewMemo=null,this._splitSel=null,this._pendingSplit=null,this._wallFaceBatch=null,this._wallFaceGraphCache=[],this._areaSel="",this._nameSel="",this._roomDialog=!1,this._roomEditId=null,this._roomFill="",this._roomCustomFill=null,this._roomTempSrc="",this._roomHumSrc="",this._roomSrcOpen=null,this._roomSrcFilter="",this._roomNameScale=1,this._roomLabelScale=1,this._zoom=1,this._view=null,this._zoomBySpace={},this._viewModeSnap=null,this._pointers=new Map,this._panStart=null,this._panLock=null,this._pinchStart=null,this._suppressClick=!1,this._touchContacts=new Map,this._touchSequenceMultitouch=!1,this._touchClickBlockUntil=0,this._connectedPath="",this._routeDepartureHandled=!1,this._onLocationChanged=()=>{this._connectedPath&&location.pathname!==this._connectedPath?this._leaveCardRoute():location.pathname===this._connectedPath&&(this._routeDepartureHandled=!1)},this._touchGestureGuard={capture:!0,handleEvent:t=>this._guardTouchGesture(t)},this._hdrH=118,this._booting=!0,this._bootFading=!1,this._bootSettling=!1,this._bootSettleRaf=0,this._bootLastH=-1,this._bootStart=0,this._bootLastChange=0,this._bootSoft=!1,this._tapConfirm=null,this._onboardingShown=!1,this._rulesDialog=null,this._alignDialog=null,this._settingsDialog=null,this._backupExportDialog=null,this._backupImportDialog=null,this._sunRaysCache=null,this._dayCycleTimer=0,this._dayCycleClockKey="",this._compassDrag=!1,this._importDialog=null,this._importQueue=[],this._importTotal=0,this._rulesCompiledSrc="",this._infoCard=null,this._nativeMoreInfoEntity=null,this._markerDialog=null,this._spaceDialog=null,this._keyHandler=t=>this._onKey(t),this._warmVp=null,this._warmVpArmed=!1,this._warmLongReturn=!1,this._warmRevivePending=!1,this._warmGen=++o_,this._warmKey=null,this._warmSlot=null,this._hashApplied=!1,this._navApplied=!1,this._labs={active:Object.freeze([]),space:""},this._viewPreference={},this._renderProjection="flat",this._kioskScale={icon:1,font:1},this._kioskDialog=!1,this._activityRt=new Map,this._vacRt=new Map,this._vacViewKey="",this._vacLastView=null,this._vacRaf=0,this._vacSrvTrails={},this._vacJumpOnce=!1,this._continuity=this._newContinuityController(),this._continuityHistory=[],this._continuityEpoch=0,this._continuityDataReady=!0,this._continuityPaintToken=-1,this._continuityDisposed=!1,this._renderSnapshotAt=Date.now(),this._hassSequence=0,this._visibleDeviceSnapshot=null,this._candidateDeviceSnapshot=null,this._stagedDeviceSnapshotToken=-1,this._capturedSnapshotSequence=-1,this._capturedSnapshotDevices=null,this._capturedSnapshotLayout=null,this._capturedSnapshotActivity="",this._capturedSnapshotConfigEpoch=-1,this._capturedSnapshotVirtual="",this._lastValidStageSize=null,this._pendingRefitSize=null,this._refitRaf=0,this._pageVisibility=t=>{if(this._continuity.visibility(t),this._dayCycleVisibility(t),"hidden"!==t.kind){if(this._vacJumpOnce=!0,!t.long){const t=Date.now();let e=!1;for(const i of this._activityRt.values())!i.flashKind||(i.expiresAt||i.flashTs+wu)>t||(i.flashTs=0,i.flashKind=null,i.expiresAt=0,e=!0);return void(e&&this.requestUpdate())}Date.now()-this._renderSnapshotAt>1e3&&this._continuity.note("device-snapshot-stale"),this._continuityDataReady=!1,this._continuityPaintToken=-1,this._resumeSettling=!0,this._loading?this.requestUpdate():this._loadFromServer()}else this._modeTransitionPreparing?this._modeTransitionForceAtomic=!0:this._cancelModeTransition(!0)},this._resumeSettling=!1,this._viewportInvalidAt=0,this._vacFit=null,this._vacAllCamerasFor=null,this._vacAllCameraCache=null,this._vacCalConfirm=null,this._kioskDots=!1,this._cyclePausedUntil=0,this._swipeStart=null,this._lastTap=0,this._onLabsSnapshot=t=>{const e=this._effectiveProjection();this._labs=t;const i=this._effectiveProjection();this._convertProjectionView(e,i),this.requestUpdate()},this._onHashChange=()=>{const t=this._hashSpace();if(t&&this._model.find(e=>e.id===t)&&t!==this._space){if(this._wallFaceBatch&&this._roomDialogCancel(),"plan"===this._mode&&"draw"===this._tool&&!this._finishWallChain())return;this._activeDraftId&&(this._resumeDraftBySpace[this._space]=this._activeDraftId),this._space=t,this._selId=null,this._path=[],this._clearPlanSnapHover(),this._clearOpeningPlacement(!0),this._tool="draw",this._openWallAnchor=null,this._boundaryRestoreGuard=null,this._activeDraftId=null,this._draftSegmentCms=[],this._closingWallCm=null,"plan"===this._mode&&"draw"===this._tool&&this._resumeLastDraft(),this._restoreZoom(),this.requestUpdate()}},this._drag=null,this._rlResize=null,this._holdFired=!1,this._retryContinuity=()=>{this._continuityDataReady=!1,this._continuityPaintToken=-1,this._continuity.retry(this._continuity.recoveryReason||"plan"),this._loading||this._loadFromServer()},this._cfgEpoch=0,this._modelCache=null,this._emptySpaceStateActive=!1,this._decorSnapCache=null,this._markerPreviewMemo=null,this._markerPreviewDevicesMemo=null,this._showHidden=!1,this._connHooked=null,this._connectionWasLost=!1,this._haRegistryConnection=null,this._haRegistryRev=-1,this._haBindingCacheKey="",this._planHassMemo=null,this._onHaRegistryUpdate=()=>{const t=In(this.hass);t.revision===this._haRegistryRev&&this._devices.length||(this._haRegistryRev=t.revision,this._planHassMemo=null,this._regSignature="",this._maybeRebuildDevices(),this.requestUpdate())},this._onConnReady=()=>{if(this._loadTries=0,clearTimeout(this._loadRetryTimer),this._loadRetryTimer=void 0,function(t){const e=Cn(t);e&&(Pn(t,e),Rn(t,e))}(this.hass),this._saveConfigDebounced.pending()&&this._saveConfigDebounced.flush(),this._cfgWriting)return clearTimeout(this._reloadRetry),void(this._reloadRetry=window.setTimeout(this._onConnReady,400));!this._connectionWasLost&&this._continuity.hasCompleteFrame?this._beginContinuityCandidate("connection-ready",!1,"plan"):(this._continuityDataReady=!1,this._continuityPaintToken=-1),this._loading||this._loadFromServer()},this._onConnLost=()=>{this._booting&&!this._continuity.hasCompleteFrame||(this._connectionWasLost=!0,this._continuityDataReady=!1,this._continuityPaintToken=-1,this._continuity.connectionLost())},this._signer=new nh(()=>this.requestUpdate()),this._dirtyPos=new Set,this._sentPos=new Map,this._persistLayout=w_(()=>{if(this._serverStorage){const t=[...this._dirtyPos];this._dirtyPos.clear();for(const e of t){const t=this._layout[e];t&&(this._sentPos.set(e,t),this.hass.callWS({type:"houseplan/layout/update",device_id:e,pos:t}).then(t=>this._noteLayoutRev(t)).catch(t=>this._showToast(this._t("toast.pos_save_failed",{err:this._errText(t)}))).finally(()=>{this._sentPos.get(e)===t&&this._sentPos.delete(e)}))}this._cacheSnapshot()}else localStorage.setItem(l_,JSON.stringify(this._layout))},600),this._frame=null,this._showFar=!1,this._writesPending=0,this._writeChain=Promise.resolve(),this._undoGeometry=()=>{if(this._cancelBoundaryAnchor())return;if(this._physicalDrag||this._physicalRotate)return void this._cancelPhysicalGesture();if(this._decorDraft)return this._decorDraft=null,void this.requestUpdate();if(this._decorMove||this._dtDrag||this._bdDrag)return void this._cancelDecorGesture();if(this._rszDrag)return void this._rszCancelDrag();const t=this._geometryHistory.undo();t&&(this._applyGeometryState(t.before)?this._showToast(this._t("history.undone",{name:t.name})):this._geometryHistory.clear())},this._redoGeometry=()=>{if(this._cancelBoundaryAnchor())return;if(this._physicalDrag||this._physicalRotate)return void this._cancelPhysicalGesture();if(this._decorDraft)return this._decorDraft=null,void this.requestUpdate();if(this._decorMove||this._dtDrag||this._bdDrag)return void this._cancelDecorGesture();if(this._rszDrag)return void this._rszCancelDrag();const t=this._geometryHistory.redo();t&&(this._applyGeometryState(t.after)?this._showToast(this._t("history.redone",{name:t.name})):this._geometryHistory.clear())},this._saveConfigDebounced=w_(()=>{this._serverCfg&&this._writeConfig().catch(t=>{"conflict"===t?.code?(this._showToast(this._t("toast.conflict")),this._cancelPath(),this._reloadConfigOnly(!0)):this._showToast(this._t("toast.cfg_save_failed",{err:this._errText(t)}))})},500),this._draftSegmentCms=[],this._closingWallCm=null,this._savePhysicalDialog=()=>{const t=this._physicalDialog,e=this._curSpaceCfg,i=this._spaceModel();if(!t||!e||!i)return;const s=e_(t.cm);if(null==s)return void this._showPhysicalRange("column"===t.kind?kl:100);const n=this._imperial?2.54*s:s,o="column"===t.kind?kl:100;if(!Number.isFinite(n)||n<1||n>o)return void this._showPhysicalRange(o);if("column"===t.kind){const e=i.wall_columns.find(e=>e.id===t.id);if(!e)return;const s=e_(t.angle||"0");if("circle"!==t.shape&&(null==s||s<0||s>=90))return void this._showToast(this._t("toast.physical_angle"));const o="circle"===t.shape?{id:t.id,shape:"circle",center:e.center,cm:n}:{id:t.id,shape:"square",center:e.center,cm:n,angle:s};if(i.wall_columns.some(e=>e.id!==t.id&&Nl(e,o,.02*this._gridPitch)))return void this._showToast(this._t("toast.column_duplicate"))}const a=this._geometrySnapshot();if("partition"===t.kind){const i=(e.partitions||[]).find(e=>e.id===t.id);i&&(i.cm=n)}else if("column"===t.kind){const i=(e.wall_columns||[]).find(e=>e.id===t.id);i&&(i.cm=$l(n),i.shape="circle"===t.shape?"circle":"square","square"===i.shape?i.angle=e_(t.angle||"0"):delete i.angle)}else{const i=(e.room_drafts||[]).find(e=>e.id===t.id);i?.segments?.[t.segment||0]&&(i.segments[t.segment||0].cm=n)}this._recordGeometry(this._t("history.physical_edit"),a),this._physicalDialog=null,this._saveConfig()},this._deletePhysicalSelection=()=>{const t=this._physicalSel,e=this._curSpaceCfg;if(!t||!e)return;if("draft"===t.kind)return void this._deleteDraftWhole();const i=this._geometrySnapshot();if("partition"===t.kind){const i=(e.openings||[]).filter(e=>"partition"===e.host?.kind&&e.host.id===t.id).sort((t,e)=>(t.host?.t||0)-(e.host?.t||0));if(i.length)return void(this._partitionDeleteDialog={id:t.id,openings:i.map(t=>JSON.parse(JSON.stringify(t)))})}const s="partition"===t.kind?"partitions":"column"===t.kind?"wall_columns":"room_drafts";e[s]=(e[s]||[]).filter(e=>e.id!==t.id),e[s].length||delete e[s],this._activeDraftId===t.id&&this._cancelPath(),this._physicalSel=null,this._physicalDialog=null,this._recordGeometry(this._t("history.physical_delete"),i),this._saveConfig()},this._confirmPartitionDelete=()=>{const t=this._partitionDeleteDialog,e=this._curSpaceCfg;if(!t||!e)return;const i=this._geometrySnapshot();e.partitions=(e.partitions||[]).filter(e=>e.id!==t.id),e.partitions.length||delete e.partitions,e.openings=(e.openings||[]).filter(e=>"partition"!==e.host?.kind||e.host.id!==t.id),e.openings.length||delete e.openings,this._partitionDeleteDialog=null,this._physicalSel=null,this._physicalDialog=null,this._recordGeometry(this._t("history.physical_delete"),i),this._saveConfig()},this._deleteDraftWhole=()=>{const t="draft"===this._physicalDialog?.kind?this._physicalDialog.id:"draft"===this._physicalSel?.kind?this._physicalSel.id:null,e=this._curSpaceCfg;if(!t||!e||!confirm(this._t("confirm.delete_draft")))return;const i=this._geometrySnapshot();e.room_drafts=(e.room_drafts||[]).filter(e=>e.id!==t),e.room_drafts.length||delete e.room_drafts,this._activeDraftId===t&&this._cancelPath(),this._physicalSel=null,this._physicalDialog=null,this._recordGeometry(this._t("history.physical_delete"),i),this._saveConfig()},this._deleteDraftSegment=()=>{const t=this._physicalDialog,e=this._curSpaceCfg;if(!t||"draft"!==t.kind||!e)return;if(!confirm(this._t("confirm.delete_draft_segment")))return;const i=(e.room_drafts||[]).findIndex(e=>e.id===t.id);if(i<0)return;const s=e.room_drafts[i],n=Math.max(0,Math.min(s.segments.length-1,t.segment||0)),o=[],a=s.points.slice(0,n+1),r=s.points.slice(n+1);if(a.length>=2&&o.push({id:s.id,points:a,segments:s.segments.slice(0,n)}),r.length>=2&&o.push({id:o.length?`${s.id}-${Date.now().toString(36)}`:s.id,points:r,segments:s.segments.slice(n+1)}),2===o.length&&e.room_drafts.length>=200)return void this._showToast(this._t("toast.physical_limit"));const l=this._geometrySnapshot();e.room_drafts.splice(i,1,...o),e.room_drafts.length||delete e.room_drafts,this._activeDraftId===s.id&&this._cancelPath(),this._physicalDialog=null,this._physicalSel=o.length?{kind:"draft",id:o[0].id}:null,this._recordGeometry(this._t("history.draft_segment_delete"),l),this._saveConfig()},this._rebindPartitionOpening=()=>{const t=this._openingDialog;if(!t?.id)return;const e=t.id;this._activateMarkupTool("opening"),"opening"===this._tool&&(this._openingRebindId=e,this._openingPreset={type:t.type,lengthCm:t.lengthCm,flipH:t.flipH,flipV:t.flipV,revision:++this._openingPresetRevision},this._openingDialog=null,this._openingHoverCandidate=null)},this._keepClosedAsPartitions=()=>{if(this._wallFaceBatch)return void this._decideWallFace(!1);if(!this._contourClosed||this._pendingSplit||!this._curSpaceCfg)return;const t=this._curSpaceCfg,e=this._path.slice(0,-1);if((t.partitions||[]).length+e.length>v_)return void this._showToast(this._t("toast.physical_limit"));const i=this._geometrySnapshot(),s=[...this._draftSegmentCms,this._closingWallCm||this._drawWallCm||pr];t.partitions||=[];const n=Date.now().toString(36);for(let i=0;it.id!==this._activeDraftId),t.room_drafts.length||delete t.room_drafts),this._recordGeometry(this._t("history.contour_to_partitions"),i),this._saveConfig(),this._roomDialog=!1,this._path=[],delete this._resumeDraftBySpace[this._space],this._activeDraftId=null,this._draftSegmentCms=[],this._closingWallCm=null},this._toggleServerPlans=async()=>{const t=this._spaceDialog;if(t)if(t.pickSaved)this._spaceDialog={...t,pickSaved:!1};else{this._spaceDialog={...t,pickSaved:!0,savedBusy:!0};try{const t=await this.hass.callWS({type:"houseplan/plans/list"}),e=this._spaceDialog;e&&(this._spaceDialog={...e,saved:t?.plans||[],savedBusy:!1})}catch(t){const e=this._spaceDialog;e&&(this._spaceDialog={...e,saved:[],savedBusy:!1}),this._showToast(this._t("toast.plans_list_failed",{err:this._errText(t)}))}}},this._aspectJob=null,this._dayCycleTick=()=>{if(!this.isConnected||"hidden"===this.ownerDocument.visibilityState)return;const t=this._dayCycleState();if(!t)return this._dayCycleTimer&&(clearInterval(this._dayCycleTimer),this._dayCycleTimer=0),void(this._dayCycleClockKey="");const e=Na(t);e!==this._dayCycleClockKey&&(this._dayCycleClockKey=e,this.requestUpdate())},this._sunShown=!1,this._sunOut=!1,this._sunOutTimer=0,this._openSettingsDialog=()=>{if(!this._norm)return;const t=this._glowRadiusCm,e=this._imperial?Math.round(t/30.48*10)/10:Math.round(t)/100;this._settingsDialog={colors:JSON.parse(JSON.stringify(this._fillColors)),glowRadius:e,bgColor:hs(this._settings,{bgColor:null})||null,northDeg:Ka(this._settings,{}),bgMode:Ya(this._settings,{}),sunRays:Xa(this._settings,{}),busy:!1}},this._openAlignDialog=()=>{if(!this._norm||!this._serverCfg)return;const t=this._serverCfg.spaces||[],e=ju(this._serverCfg,this._layout||{}),i=Math.ceil(10*e.report.maxShiftCm)/10,s=t.find(t=>null!=t?.id&&String(t.id)===e.report.maxSpace),n=t.length>1&&s?String(s.title||s.id):"";this._alignDialog={report:e.report,config:e.config,layout:e.layout,cm:i,where:n,changed:e.changed,busy:!1}},this._optimizeUndoBusy=!1,this._openBackupExport=()=>{this._settingsDialog=null,this._backupExportDialog={kind:"full",planOnly:!1,busy:!1,error:""}},this._openRulesDialog=()=>{if(!this._norm)return;const t=this._settings.icon_rules,e=(t&&t.length?t:Xt).map(t=>({...t}));this._rulesDialog={rules:e,test:"",busy:!1}},this._climateCache=null,this._gearPtCache=new WeakMap}get _canEdit(){return!!this._norm&&(!0===this._serverCanWrite||!1!==this._serverCanWrite&&!0===this.hass?.user?.is_admin)}get _kiosk(){return!!this._config?.kiosk}_showKioskDots(){this._kioskDots=!0,clearTimeout(this._kioskDotsTimer),this._kioskDotsTimer=window.setTimeout(()=>this._kioskDots=!1,2500)}get _modeTransitionBusy(){return this._modeTransitionPreparing||this._modeTransition.active}_cssColor(t,e){const i=String(t||"").trim();if(!i)return e;const s=document.createElement("span");s.style.cssText=`position:absolute;visibility:hidden;color:${i}`,this.renderRoot.append(s);const n=getComputedStyle(s).color||e;return s.remove(),n}_currentModeVisual(t=this._mode){const e=this._modeTransition.presented||this._modeTransitionVisual;if(e)return{...e,viewport:{...e.viewport,viewBox:{...e.viewport.viewBox}}};const i=this._stageEl;if(!i||i.clientWidth<=0||i.clientHeight<=0)return null;const s=this.renderRoot.querySelector(".editorchrome"),n=this._viewOr(this._baseVb()),o=this.renderRoot.querySelector(".hp-paper"),a=this.renderRoot.querySelector(".hp-backdrop"),r=this.renderRoot.querySelector(".zoomwrap"),l=r?getComputedStyle(r).filter:"",c=Number(/brightness\(([^)]+)\)/.exec(l)?.[1]);return{presentedMode:t,editorChromeHeight:"view"===t?0:s?.getBoundingClientRect().height||0,stageWidth:i.clientWidth,stageHeight:i.clientHeight,viewport:Qu(n,i.clientWidth),stageColor:getComputedStyle(i).backgroundColor||"rgb(255, 255, 255)",paperColor:o?getComputedStyle(o).fill:"rgb(255, 255, 255)",sceneBrightness:Number.isFinite(c)?c:1,architectureOpacity:"decor"===t?.35:1,backdropOpacity:a&&Number(getComputedStyle(a).opacity)||1,viewWeight:"view"===t?1:0,editorWeight:"view"===t?0:1,toolbarContentOpacity:"view"===t?0:1}}_viewForModeTarget(t,e,i,s,n){const o=Oi(this._baseVb(),s/Math.max(1,n)),a=Math.min($_.ZOOM_MAX,Math.max($_.ZOOM_MIN,t)),r=o.w/a,l=o.h/a,c=e??o.x+o.w/2,h=i??o.y+o.h/2;return this._clampView({x:c-r/2,y:h-l/2,w:r,h:l},o)}_targetStageColor(t){return"view"!==t?"rgb(255, 255, 255)":this._cssColor(this._stageBg(this._spaceDisplayForRender()),this._cssColor("var(--ha-card-background, var(--card-background-color, #111))","rgb(17, 17, 17)"))}_targetPaperColor(t){return"view"===t&&this._spaceModel()?.bg?this._cssColor("var(--ha-card-background, var(--card-background-color, #111))","rgb(17, 17, 17)"):"rgb(255, 255, 255)"}_targetBrightness(t){return 1}_applyModeTransitionFrame(t){t.targetMode===this._mode&&(this._modeTransitionVisual=t.presented,this._view={...t.presented.viewport.viewBox},this.requestUpdate())}_settleModeTransition(t){if(t.targetMode!==this._mode)return;const e=this._modeTransitionRequest;this._view={...t.to.viewport.viewBox},this._zoom=this._modeTransitionTargetZoom,this._modeTransitionVisual=null,this._modeTransitionPreparing=!1,this._lastValidStageSize=[t.to.stageWidth,t.to.stageHeight],"view"===this._mode&&(this._saveZoom(),this._viewModeSnap=null,this._modeTransitionEditorCamera=null),this.requestUpdate(),this.updateComplete.then(()=>{if(!this.isConnected||e!==this._modeTransitionRequest||this._modeTransitionBusy||t.targetMode!==this._mode)return;const i=this._stageEl;if(i&&i.clientWidth>0&&i.clientHeight>0&&(Math.abs(i.clientWidth-t.to.stageWidth)>.5||Math.abs(i.clientHeight-t.to.stageHeight)>.5)){const t=this._view;this._lastValidStageSize=[i.clientWidth,i.clientHeight],this._applyView(this._zoom,t?t.x+t.w/2:void 0,t?t.y+t.h/2:void 0),this.requestUpdate()}const s=this.renderRoot.activeElement;(!s||!s.isConnected||!!s.closest?.(".editorchrome, .stage"))&&this.renderRoot.querySelector(".modetab.active")?.focus?.({preventScroll:!0})})}_cancelModeTransition(t=!0){const e=!!this._modeTransition.state;this._modeTransitionRequest++,this._modeTransitionPreparing=!1,this._modeTransitionForceAtomic=!1,this._modeTransition.cancel(t),t&&e||(this._modeTransitionVisual=null)}_adoptMode(t){this._cancelModeTransition(!1),this._mode=t,"view"!==t&&(this._editorChromeMode=t)}_commitViewModeAtomic(t,e,i,s){if(this._modeTransitionPreparing=!1,this._modeTransitionVisual=null,this._modeTransitionForceAtomic=!1,this._zoom=e,t){const n=this._stageEl?.clientWidth||t.stageWidth,o=Math.max(1,t.stageHeight+t.editorChromeHeight);this._view=this._viewForModeTarget(e,i,s,n,o),this._lastValidStageSize=[n,o]}else this._view=null;this._viewModeSnap=null,this._modeTransitionEditorCamera=null,this._saveZoom(),this.requestUpdate()}_prepareModeTransition(t,e,i,s,n,o){this.updateComplete.then(()=>{if(!this.isConnected||t!==this._modeTransitionRequest||this._mode!==i)return void(t===this._modeTransitionRequest&&(this._modeTransitionPreparing=!1,this._modeTransitionVisual=null,this._modeTransitionForceAtomic=!1,this.requestUpdate()));const a=this.renderRoot.querySelector(".editorchrome"),r=a?.querySelector(".editorchrome-inner"),l="view"===i?0:r?.scrollHeight||r?.getBoundingClientRect().height||0,c=Math.max(1,e.stageHeight+e.editorChromeHeight),h=Math.max(1,c-l),d=this._stageEl?.clientWidth||e.stageWidth;if(d<=0||h<=0)return this._modeTransitionPreparing=!1,this._modeTransitionVisual=null,this._applyView(s,n,o),void this.requestUpdate();const u=this._viewForModeTarget(s,n,o,d,h),p={presentedMode:i,editorChromeHeight:l,stageWidth:d,stageHeight:h,viewport:Qu(u,d),stageColor:this._targetStageColor(i),paperColor:this._targetPaperColor(i),sceneBrightness:this._targetBrightness(i),architectureOpacity:"decor"===i?.35:1,backdropOpacity:"decor"===i&&"backdrop"!==this._decorTool?.5:1,viewWeight:"view"===i?1:0,editorWeight:"view"===i?0:1,toolbarContentOpacity:"view"===i?0:1};this._modeTransitionPreparing=!1;const _=this._modeTransitionForceAtomic;this._modeTransitionForceAtomic=!1,this._modeTransition.start(e,p,i,this._reducedMotion||_?0:220)})}_slideTo(t,e){if(t===this._space)return;if(this._wallFaceBatch&&this._roomDialogCancel(),"plan"===this._mode&&"draw"===this._tool&&!this._finishWallChain())return;this._cancelModeTransition(!0);const i=window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches;this._activeDraftId&&(this._resumeDraftBySpace[this._space]=this._activeDraftId),this._space=t,this._path=[],this._clearPlanSnapHover(),this._clearOpeningPlacement(!0),this._tool="draw",this._openWallAnchor=null,this._boundaryRestoreGuard=null,this._activeDraftId=null,this._draftSegmentCms=[],this._closingWallCm=null,this._selId=null,this._physicalSel=null,this._editorSecondary.closeForNavigation(),this._physicalDialog=null,this._physicalDrag=null,"plan"===this._mode&&"draw"===this._tool&&this._resumeLastDraft(),this._restoreZoom(),i||(this._slide=e,clearTimeout(this._slideTimer),this._slideTimer=window.setTimeout(()=>{this._slideTimer=void 0,this._slide="",this.requestUpdate()},190),this.requestUpdate())}_pickSpace(t){if(t===this._space)return;const e=this._model.map(t=>t.id),i=e.indexOf(this._space),s=e.indexOf(t);this._navApplied=!0,this._showFar=!1,this._frame=null,this._slideTo(t,i>=0&&s0&&Date.now()>=this._cyclePausedUntil&&this._model.length>1&&this._zoom<=1.001){const t=this._model.map(t=>t.id),e=t.indexOf(this._space);this._slideTo(t[(e+1)%t.length],"left"),this._showKioskDots()}}get _editing(){return"plan"===this._mode||"devices"===this._mode||"decor"===this._mode}get _markup(){return"plan"===this._mode}_newContinuityController(){return new th(()=>{this._resumeSettling="steady"!==this._continuity.state,this._continuityEpoch++,this.isConnected&&this.requestUpdate()})}get _labsIso(){return this._labs.active.includes("iso")}get _desiredProjection(){return"view"===this._mode&&this._labsIso&&"iso"===this._viewPreference[this._space]?"iso":"flat"}_saveViewPreference(){try{localStorage.setItem(p_,JSON.stringify(this._viewPreference))}catch{}}_logicalViewCenter(t){const e=this._view;if(!e)return null;const i=[e.x+e.w/2,e.y+e.h/2],s="iso"===t?Cp(i):i;return{x:s[0],y:s[1]}}_convertProjectionView(t,e){if(t===e)return;const i=this._logicalViewCenter(t);this._view=null;const s=i?"iso"===e?Mp([i.x,i.y],0):[i.x,i.y]:null;this._applyView(this._zoom,s?.[0],s?.[1]),this._warmPatch({vp:this._warmViewportState()}),this.requestUpdate()}_setProjection(t){if(!this._labsIso||"view"!==this._mode)return;const e=this._effectiveProjection();if(this._viewPreference={...this._viewPreference,[this._space]:t},"iso"===t){const t=this._isoSceneKey();t&&this._isoFallback.delete(t)}this._saveViewPreference();const i=this._effectiveProjection();this._convertProjectionView(e,i)}_hashSpace(){return up(window.location.hash||"")}connectedCallback(){this._connectedPath=location.pathname,this._routeDepartureHandled=!1,window.addEventListener("location-changed",this._onLocationChanged),window.addEventListener("popstate",this._onLocationChanged),this._continuityDisposed&&(this._continuity=this._newContinuityController(),this._continuityDisposed=!1,this._continuityPaintToken=-1);const t=(e=this.ownerDocument,Gu.get(e)?.resolved);var e;void 0!==t&&(this._glowScreenBlend=t),this._continuityUnsub?.(),this._continuityUnsub=Zc(this.ownerDocument,this._pageVisibility),super.connectedCallback(),this._motionMedia=window.matchMedia?.("(prefers-reduced-motion: reduce)"),this._reducedMotion=!!this._motionMedia?.matches,this._motionMedia?.addEventListener?.("change",this._onMotionChange),function(t){const e=Gu.get(t);if(e)return e.promise;const i={promise:Promise.resolve(!1)};return i.promise=Ku(t).catch(()=>!1).then(t=>(i.resolved=t,t)),Gu.set(t,i),i.promise}(this.ownerDocument).then(t=>{t!==this._glowScreenBlend&&(this._glowScreenBlend=t,this.isConnected&&this.requestUpdate())}),this.hass&&this._ensureHaRegistryAuthority(),window.addEventListener("keydown",this._keyHandler),this._signer.start(()=>this.hass,()=>As(this._serverCfg)),this._config?.kiosk&&Number(this._config?.cycle)>0&&(clearInterval(this._cycleTimer),this._cycleTimer=window.setInterval(()=>this._cycleTick(),1e3*Number(this._config.cycle))),window.addEventListener("hashchange",this._onHashChange),this._labsUnsub?.(),this._labsUnsub=function(t,e){yp.add(e);const i=kp(t);return"undefined"==typeof window&&e(i),()=>{yp.delete(e)}}(Yp,this._onLabsSnapshot),this._booting?this._bootWatch():this._bootFading&&(clearTimeout(this._bootTimer),this._bootTimer=window.setTimeout(()=>{this._bootFading=!1},220)),this._bootSoft&&(clearTimeout(this._bootSoftTimer),this._bootSoftTimer=window.setTimeout(()=>{this._bootSoft=!1},t_)),!this._loadOk&&this._serverCfg&&this.hass&&this._scheduleLoadRetry(),!this._warmSlot&&this._config&&this._warmAdopt(),this._loadOk&&this._ensureLiveSyncSubscriptions(),this._warmVp&&!this._warmRevivePending&&void 0===this._warmReviveTimer&&(this._warmRevivePending=!0,this._warmReviveTimer=window.setTimeout(()=>this._warmReviveDialog(),0)),this._warmLongReturn&&this._beginResumeSettle(),this._warmLongReturn=!1,this.requestUpdate()}disconnectedCallback(){this._connectedPath&&location.pathname!==this._connectedPath&&this._leaveCardRoute(),window.removeEventListener("location-changed",this._onLocationChanged),window.removeEventListener("popstate",this._onLocationChanged),this._continuityUnsub?.(),this._continuityUnsub=void 0,this._motionMedia?.removeEventListener?.("change",this._onMotionChange),this._motionMedia=void 0,this._vacRaf&&(cancelAnimationFrame(this._vacRaf),this._vacRaf=0),this._refitRaf&&(cancelAnimationFrame(this._refitRaf),this._refitRaf=0),this._dayCycleTimer&&(clearInterval(this._dayCycleTimer),this._dayCycleTimer=0),this._dayCycleClockKey="",this._bootSettleRaf&&(cancelAnimationFrame(this._bootSettleRaf),this._bootSettleRaf=0),this._bootSettling=!1;for(const t of this._activityRt.values())clearTimeout(t.timer);window.removeEventListener("keydown",this._keyHandler),clearInterval(this._cycleTimer),clearTimeout(this._kioskDotsTimer),clearTimeout(this._kioskHoldTimer),clearTimeout(this._reloadRetry),clearTimeout(this._loadRetryTimer),this._loadRetryTimer=void 0,this._connHooked?.removeEventListener?.("ready",this._onConnReady),this._connHooked?.removeEventListener?.("disconnected",this._onConnLost),this._connHooked?.removeEventListener?.("reconnect-error",this._onConnLost),this._connHooked=null,this._haRegistryRelease?.(),this._haRegistryRelease=void 0,this._haRegistryConnection=null,this._signer.dispose(),clearTimeout(this._toastTimer),clearTimeout(this._slideTimer),this._modeTransition.dispose(),this._modeTransitionVisual=null,this._modeTransitionPreparing=!1,this._modeTransitionForceAtomic=!1,this._modeTransitionRequest++,this._slideTimer=void 0,this._slide="",clearTimeout(this._bootTimer),this._bootTimer=void 0,clearTimeout(this._bootSoftTimer),this._saveConfigDebounced.flush(),window.removeEventListener("hashchange",this._onHashChange),this._labsUnsub?.(),this._labsUnsub=void 0,clearTimeout(this._holdTimer),this._roViewport?.disconnect(),this._roViewport=void 0,this._roHdr?.disconnect(),this._roHdr=void 0,this._onWinResize&&(window.removeEventListener("resize",this._onWinResize),this._onWinResize=void 0),this._unsubCfg&&(this._unsubCfg(),this._unsubCfg=null),this._unsubLayout&&(this._unsubLayout(),this._unsubLayout=null),this._unsubVirtual&&(this._unsubVirtual(),this._unsubVirtual=null),this._unsubTrail&&(this._unsubTrail(),this._unsubTrail=void 0),this._liveSyncGeneration++,this._liveSyncAttempt=null,this._liveSyncConnection=null,clearTimeout(this._layoutSyncTimer),clearTimeout(this._duplicateColumnTimer);for(const t of this._glowFadeTimers.values())clearTimeout(t);for(const t of this._glowEnterRafs.values())cancelAnimationFrame(t);clearTimeout(this._glowFeatherResumeTimer),this._glowFeatherResumeTimer=0,this._glowFeatherSuspendUntil=0,this._glowFadeTimers.clear(),this._glowEnterRafs.clear(),this._glowEnteringSources.clear(),this._glowRenderedSources.clear(),this._glowLastAppearance.clear(),this._glowSourceSeq=0,this._warmSnapshot(),this._warmRevivePending=!1,clearTimeout(this._warmReviveTimer),this._warmReviveTimer=void 0,this._warmRelease(),this._openWallAnchor=null,this._boundaryRestoreGuard=null,this._clearPlanSnapHover(),this._clearOpeningPlacement(!0),this._touchContacts.clear(),this._touchSequenceMultitouch=!1,this._touchClickBlockUntil=0,this._editorSecondary.reset(),this._resumeSettling=!1,this._continuityHistory=[...this._continuityHistory,...this._continuity.trace].slice(-80),this._continuity.dispose(),this._continuityDisposed=!0,super.disconnectedCallback()}_onKey(t){if("Escape"===t.key&&this._vacFit)return this._vacFit=null,this._showToast(this._t("vac.cal_cancelled")),void t.stopPropagation();if("Escape"===t.key){if(this._tapConfirm)return void(this._tapConfirm=null);if(this._vacCalConfirm)return void(this._vacCalConfirm=null);if(this._decorEraseConfirm)return void(this._decorEraseConfirm=null);if(this._openingInfo)return void(this._openingInfo=null);if(this._infoCard)return void this._closeInfoCard();if(this._rulesDialog)return void(this._rulesDialog=null);if(this._alignDialog)return void(this._alignDialog=null);if(this._backupImportDialog)return void(this._backupImportDialog=null);if(this._backupExportDialog)return void(this._backupExportDialog=null);if(this._settingsDialog)return void(this._settingsDialog=null);if(this._markerDialog)return void(this._markerDialog=null);if(this._openingDialog)return void(this._openingDialog=null);if(this._physicalDialog)return void(this._physicalDialog=null);if(this._backdropDialog)return void(this._backdropDialog=null);if(this._decorShapeDialog)return void(this._decorShapeDialog=null);if(this._decorTextDialog)return void(this._decorTextDialog=null);if(this._spaceDialog&&!this._roomDialog)return this._spaceDialog=null,this._importQueue=[],void(this._importTotal=0);if(this._editorSecondary.hasOpenGroup)return t.preventDefault(),void this._editorSecondary.closeGroup(!0)}const e=t.composedPath?.()||[t.target],i=e.some(t=>t?.matches?.('input, textarea, select, [contenteditable="true"]')),s=e.some(t=>t?.classList?.contains?.("editor-secondary")),n=t.ctrlKey||t.metaKey,o=t.key.toLowerCase(),a=/^[a-z]$/.test(o),r="z"===o||!a&&"KeyZ"===t.code,l="y"===o||!a&&"KeyY"===t.code,c=n&&(r&&t.shiftKey||l),h=n&&r&&!t.shiftKey;if("decor"===this._mode){if((h||c)&&i)return;return c?(t.preventDefault(),void this._redoGeometry()):h?(t.preventDefault(),this._decorDraft?void(this._decorDraft=null):this._decorMove||this._dtDrag||this._bdDrag?void this._cancelDecorGesture():void this._undoGeometry()):"Delete"!==t.key&&"Backspace"!==t.key||!this._decorSel||i||s?void("Escape"===t.key&&(t.preventDefault(),this._decorDraft?this._decorDraft=null:this._decorMove||this._dtDrag||this._bdDrag?this._cancelDecorGesture():"furniture"===this._decorTool?(this._furnPalette=null,this._decorTool="select"):this._decorSel?this._decorSel=null:"select"!==this._decorTool?this._decorTool="select":this._setMode("view"))):(t.preventDefault(),void this._decorDeleteSel())}if(this._markup&&(!h&&!c||!i)){if(("Delete"===t.key||"Backspace"===t.key)&&this._physicalSel&&!i&&!s)return t.preventDefault(),void this._deletePhysicalSelection();if(c)return t.preventDefault(),void this._redoGeometry();if(h)return t.preventDefault(),this._rszDrag?void this._rszCancelDrag():this._wallFaceBatch?(this._roomDialogCancel(),void(this._activeDraftId&&this._path.length>1?this._undoActiveDraftPoint():this._undoPoint())):"draw"!==this._tool&&"partition"!==this._tool||!this._path.length?"split"===this._tool&&this._splitSel?.pts?.length?(this._splitSel={...this._splitSel,pts:this._splitSel.pts.slice(0,-1)},void(this._splitSel.pts.length||(this._cursorPt=null))):void this._undoGeometry():void(this._activeDraftId&&this._path.length>1?this._undoActiveDraftPoint():this._undoPoint());if("Escape"===t.key)return this._physicalDrag||this._physicalRotate?(t.preventDefault(),void this._cancelPhysicalGesture()):this._roomDialog?(t.preventDefault(),void this._roomDialogCancel()):"draw"===this._tool&&this._path.length||"partition"===this._tool&&this._path.length?(t.preventDefault(),void this._undoPoint()):this._physicalSel?(t.preventDefault(),void(this._physicalSel=null)):"resize"===this._tool?(t.preventDefault(),this._rszDrag?void this._rszCancelDrag():void(this._rszSel?this._rszSel=null:this._tool="draw")):"split"===this._tool?(t.preventDefault(),void(this._splitSel?.pts?.length?(this._splitSel={...this._splitSel,pts:this._splitSel.pts.slice(0,-1)},this._splitSel.pts.length||(this._cursorPt=null)):this._splitSel?this._splitSel=null:this._tool="draw")):"merge"===this._tool?(t.preventDefault(),void(this._mergeSel?this._mergeSel=null:this._tool="draw")):this._wallDialog?(t.preventDefault(),void(this._wallDialog=null)):"boundary"===this._tool?(t.preventDefault(),void(this._openWallAnchor?this._cancelBoundaryAnchor():this._tool="draw")):void("opening"!==this._tool&&"wallthick"!==this._tool&&"delroom"!==this._tool&&"partition"!==this._tool&&"column"!==this._tool||(t.preventDefault(),"opening"===this._tool&&this._clearOpeningPlacement(!0),this._tool="draw"))}}_undoPoint(){if(this._path.length){if(this._contourClosed)return this._path=this._path.slice(0,-1),void(this._closingWallCm=null);if(this._activeDraftId&&this._path.length>1&&this._curSpaceCfg){const t=this._geometrySnapshot();this._path=this._path.slice(0,-1),this._draftSegmentCms=this._draftSegmentCms.slice(0,-1);const e=this._curSpaceCfg,i=(e.room_drafts||[]).findIndex(t=>t.id===this._activeDraftId);return void(i>=0&&(this._path.length<2?(e.room_drafts.splice(i,1),e.room_drafts.length||delete e.room_drafts,this._activeDraftId=null):e.room_drafts[i]={id:this._activeDraftId,points:this._path.map(t=>[t[0]/__,t[1]/__]),segments:this._draftSegmentCms.map(t=>({cm:t}))},this._recordGeometry(this._t("history.draft_segment_delete"),t),this._saveConfig()))}this._path=this._path.slice(0,-1)}}_undoActiveDraftPoint(){const t=this._activeDraftId,e=this._path[0]?[...this._path[0]]:null,i=this._geometryHistory.undo();if(!i)return void this._undoPoint();if(!this._applyGeometryState(i.before))return void this._geometryHistory.clear();const s=t?this._spaceModel()?.room_drafts.find(e=>e.id===t):null;s?(this._activeDraftId=s.id,this._path=s.points.map(t=>[...t]),this._draftSegmentCms=s.segments.map(t=>t.cm),this._resumeDraftBySpace[this._space]=s.id):(this._activeDraftId=null,this._path=e?[e]:[],this._draftSegmentCms=[],t&&this._resumeDraftBySpace[this._space]===t&&delete this._resumeDraftBySpace[this._space]),this._clearPlanSnapHover(),this._showToast(this._t("history.undone",{name:i.name}))}static getConfigElement(){return document.createElement("houseplan-card-editor")}static getStubConfig(){return{type:"custom:houseplan-card"}}static _warmBootReset(t){for(const t of n_.values())for(const e of t)clearTimeout(e.evict);n_.clear(),r_=t&&t>0?t:1e4}static _warmBootStats(){let t=0,e=0;const i=[];for(const s of n_.values())for(const n of s)t++,n.dlg&&(e++,i.push(n.dlg.kind));return{keys:n_.size,slots:t,dlgs:e,drafts:i}}setConfig(t){this._config={icon_size:2.5,show_temperature:!0,live_states:!0,show_signal:!0,...t},this._config.kiosk&&(this._booting=!1,this._bootFading=!1),t.default_floor&&(this._space=t.default_floor);try{this._zoomBySpace=JSON.parse(localStorage.getItem(h_)||"{}")||{}}catch{this._zoomBySpace={}}try{const t=JSON.parse(localStorage.getItem(p_)||"{}")||{};this._viewPreference=Object.fromEntries(Object.entries(t).filter(t=>"flat"===t[1]||"iso"===t[1]))}catch{this._viewPreference={}}this._labs=kp(Yp);try{const t=JSON.parse(localStorage.getItem(u_)||"null");this._kioskScale={icon:zs(t?.icon),font:zs(t?.font)}}catch{}try{const t=JSON.parse(localStorage.getItem(c_)||"null");t&&t.config&&Array.isArray(t.config.spaces)&&(this._serverCfg=t.config,this._cfgEpoch++,this._cfgRev=t.rev||0,this._cfgContentFingerprint=t.config_fingerprint||eh(t.config),this._layout=t.layout||{},this._layoutRev=t.layout_rev||0,this._layoutContentFingerprint=t.layout_fingerprint||eh(this._layout),this._virtualLights=gn(t.virtual_lights,this._cfgRev),this._serverStorage=!0,this._adoptInitialSpace(this._model))}catch{}"view"!==this._mode||this._view||(this._zoom=this._zoomBySpace[this._space]||1),this.isConnected&&(this._warmAdopt(),this._warmLongReturn&&this._beginResumeSettle(),this._warmLongReturn=!1)}_warmAdopt(){if(this._config?.kiosk)return;const t=a_(this._config);if(this._warmKey===t&&this._warmSlot)return;this._warmSlot&&this._warmRelease();const e=this.parentNode,i=this._warmIdx(e),s=n_.get(t);if(!s||!s.length)return;const n=s.find(t=>t.owner===this._warmGen);if(n)return this._warmLongReturn=!!n.freed&&Date.now()-n.freed>=Yc,clearTimeout(n.evict),n.evict=0,n.freed=0,n.live=!0,this._warmSlot=n,this._warmKey=t,n.frameFingerprint&&this._continuity.adoptCompleteFrame(n.frameFingerprint),void(!this._devices.length&&n.devices?.length&&(this._devices=[...n.devices]));const{slot:o,sure:a}=((t,e,i,s)=>{const n=t=>{const e=!!i&&t.place?.deref()===i;return e&&t.idx===s?4:t.live?0:e?3:2};let o=null,a=0,r=0,l=null;for(const i of t){if(i.owner===e)continue;l=i;const t=n(i);t<=0||(t>a?(o=i,a=t,r=1):t===a&&r++)}return!o||r>1?{slot:o||l,sure:!1}:{slot:o,sure:!0}})(s,this._warmGen,e,i);o&&(this._warmLongReturn=!!o.freed&&Date.now()-o.freed>=Yc,this._booting=!1,this._bootFading=!1,this._hdrH=o.hdrH,this._bootSoft=!0,this.isConnected&&(clearTimeout(this._bootSoftTimer),this._bootSoftTimer=window.setTimeout(()=>{this._bootSoft=!1},t_)),this._warmKey=t,a?(clearTimeout(o.evict),o.evict=0,o.owner=this._warmGen,o.place=e?new WeakRef(e):null,o.idx=i,o.live=!0,this._warmSlot=o,this._warmVp=o.vp,o.frameFingerprint&&this._continuity.adoptCompleteFrame(o.frameFingerprint),!this._devices.length&&o.devices?.length&&(this._devices=[...o.devices]),this._warmAdoptViewport(this._config)):(this._warmSlot={owner:this._warmGen,path:location.pathname,place:e?new WeakRef(e):null,idx:i,live:!0,hdrH:o.hdrH,stageH:o.stageH,vp:null,frameFingerprint:"",devices:null,dlg:null,freed:0,evict:0},s.push(this._warmSlot),this._warmTrim(s)))}_warmIdx(t){const e=t?.children;if(!e)return-1;for(let t=0;t4;){const e=t.findIndex(t=>!t.live);if(e<0)break;clearTimeout(t[e].evict),t.splice(e,1)}}_warmScheduleEvict(t,e){if(clearTimeout(t.evict),!(t.dlg||t.vp&&"view"!==t.vp.mode))return;const i=t.freed,s=t.owner;t.evict=window.setTimeout(()=>{if(t.evict=0,t.freed!==i||t.owner!==s)return;var n;t.dlg=null,t.vp=(n=t.vp)&&"view"!==n.mode?{...n,mode:"view",zoom:n.snap?.space===n.space?n.snap.zoom:n.zoom,view:null,snap:null,tool:"draw",decorTool:"select",showHidden:!1,selId:null,rszSel:null,decorSel:null}:n,t.frameFingerprint="";const o=n_.get(e);if(!t.live&&o&&o.length>1){const e=o.indexOf(t);e>=0&&o.splice(e,1)}},r_+250)}_warmAdoptViewport(t){const e=this._warmVp;if(!e||this._warmSlot?.path!==location.pathname)return void(this._warmVp=null);if(this._hashApplied||!this._model.find(t=>t.id===e.space))return void(this._warmVp=null);this._space=e.space,this._navApplied=!0,this._adoptMode("view"!==e.mode&&this._canEdit&&!t.kiosk?e.mode:"view"),this._pendingNavMode="view"===e.mode||this._canEdit||t.kiosk?null:e.mode,this._zoom=e.zoom;const i=this._effectiveProjection(),s=i===e.projection&&this._labsIso===e.activeLabsIso;if(this._view=s&&e.view?{...e.view}:null,this._viewModeSnap=s&&e.snap?{...e.snap}:null,!s&&e.logicalCenter){const t="iso"===i?Mp([e.logicalCenter.x,e.logicalCenter.y],0):[e.logicalCenter.x,e.logicalCenter.y];this._applyView(e.zoom,t[0],t[1])}var n;this._tool="openwall"===(n=e.tool)||"closewall"===n?"boundary":"opening"===(n=function(t){return"partition"===t?"draw":t}(n))?"draw":"string"==typeof n&&f_.has(n)?n:"draw",this._decorTool=e.decorTool,this._showHidden=e.showHidden,this._showFar!==e.showFar&&(this._showFar=e.showFar,this._frame=null),this._selId=e.selId,this._rszSel=e.rszSel,this._decorSel=e.decorSel,this._warmVpArmed=!0}_warmPatch(t,e=!1){if(this._config?.kiosk)return;const i=a_(this._config);if(!this._warmSlot||this._warmKey===i){if(!this._warmSlot){if(!e)return;const t=this.parentNode;this._warmKey=i,this._warmSlot={owner:this._warmGen,path:location.pathname,place:t?new WeakRef(t):null,idx:this._warmIdx(t),live:!0,hdrH:this._hdrH,stageH:0,vp:null,frameFingerprint:"",devices:null,dlg:null,freed:0,evict:0};const s=n_.get(i)||[];for(s.push(this._warmSlot),n_.set(i,s),this._warmTrim(s);n_.size>8;){const t=n_.keys().next().value;if(void 0===t||t===i)break;for(const e of n_.get(t)||[])clearTimeout(e.evict);n_.delete(t)}}Object.assign(this._warmSlot,t)}}_warmViewportState(){const t=this._effectiveProjection();return{space:this._space,mode:this._mode,projection:t,activeLabsIso:this._labsIso,logicalCenter:this._logicalViewCenter(t),zoom:this._zoom,view:this._view?{...this._view}:null,snap:this._viewModeSnap?{...this._viewModeSnap}:null,tool:this._tool,decorTool:this._decorTool,showHidden:this._showHidden,showFar:this._showFar,selId:this._selId,rszSel:this._rszSel,decorSel:this._decorSel}}_warmDialogState(){const t=(t,e)=>({kind:t,space:this._space,mode:this._mode,data:e});return this._tapConfirm||this._alignDialog||this._mergeDialog||this._importDialog||this._backupExportDialog||this._backupImportDialog?null:this._openingInfo?t("openingInfo",this._openingInfo.id):this._infoCard?t("info",this._infoCard.id):this._rulesDialog?this._rulesDialog.busy?null:t("rules",this._rulesDialog):this._settingsDialog?this._settingsDialog.busy?null:t("settings",this._settingsDialog):this._markerDialog?this._markerDialog.busy?null:t("marker",this._markerDialog):this._openingDialog?t("opening",this._openingDialog):this._backdropDialog?t("backdrop",this._backdropDialog):this._decorShapeDialog?t("decorShape",this._decorShapeDialog):this._decorTextDialog?t("decorText",this._decorTextDialog):this._roomDialog?t("room",{editId:this._roomEditId,fill:this._roomFill,customFill:this._roomCustomFill,tempSrc:this._roomTempSrc,humSrc:this._roomHumSrc,srcOpen:this._roomSrcOpen,srcFilter:this._roomSrcFilter,nameScale:this._roomNameScale,labelScale:this._roomLabelScale,areaSel:this._areaSel,nameSel:this._nameSel,pendingSplit:this._pendingSplit,wallFaceBatch:this._wallFaceBatch,path:this._path}):this._spaceDialog?this._spaceDialog.busy?null:t("space",this._spaceDialog):null}_warmSnapshot(){if(this._booting||this._config?.kiosk||"steady"!==this._continuity.state)return;const t={vp:this._warmViewportState(),frameFingerprint:this._continuity.frameFingerprint,devices:this._devices};if(this._warmRevivePending||(t.dlg=this._warmDialogState()),this.isConnected&&this._warmSlot?.owner===this._warmGen){const e=this.parentNode;t.place=e?new WeakRef(e):null,t.idx=this._warmIdx(e)}this._warmPatch(t)}_warmReviveDialog(){this._warmRevivePending=!1;const t=this._warmSlot;if(this._warmReviveTimer=void 0,!t||!t.dlg)return;const e=t.dlg,i=t.freed;if(t.dlg=null,t.freed=0,clearTimeout(t.evict),t.evict=0,i&&!(Date.now()-i>r_)&&e.space===this._space&&e.mode===this._mode){switch(e.kind){case"space":this._spaceDialog={...e.data,busy:!1,savedBusy:!1};break;case"marker":this._markerDialog={...e.data,busy:!1};break;case"settings":this._settingsDialog={...e.data,busy:!1};break;case"rules":this._rulesDialog={...e.data,busy:!1};break;case"opening":this._openingDialog={...e.data};break;case"backdrop":this._backdropDialog={...e.data};break;case"decorShape":this._decorShapeDialog={...e.data};break;case"decorText":{this._decorTextDialog={...e.data};const t=String(this._decorTextDialog?.text??"").length;this._decorTextSelection={start:t,end:t};break}case"room":{const t=e.data;this._roomEditId=t.editId,this._roomFill=t.fill,this._roomCustomFill=t.customFill||null,this._roomTempSrc=t.tempSrc,this._roomHumSrc=t.humSrc,this._roomSrcOpen=t.srcOpen,this._roomSrcFilter=t.srcFilter,this._roomNameScale=t.nameScale,this._roomLabelScale=t.labelScale,this._areaSel=t.areaSel,this._nameSel=t.nameSel,this._pendingSplit=t.pendingSplit,this._wallFaceBatch=t.wallFaceBatch||null,this._path=t.path,this._wallFaceBatch&&(this._activeDraftId=this._wallFaceBatch.activeDraftId,this._draftSegmentCms=[...this._wallFaceBatch.activeCms]),this._roomDialog=!0;break}case"info":{const t=this._devices.find(t=>t.id===e.data);t&&(this._infoCard=t);break}case"openingInfo":{const t=(this._curSpaceCfg?.openings||[]).find(t=>t.id===e.data);t&&(this._openingInfo=t);break}}this.requestUpdate()}}_cacheSnapshot(){if(this._serverCfg)try{this._cfgContentFingerprint=eh(this._serverCfg),this._layoutContentFingerprint=eh(this._layout),this._virtualLights=function(t,e,i){if(t.configRev===i)return t;const s=new Set((Array.isArray(e?.markers)?e.markers:[]).filter(yn).map(t=>t.id));return{...t,configRev:i,off:new Set([...t.off].filter(t=>s.has(t)))}}(this._virtualLights,this._serverCfg,this._cfgRev),localStorage.setItem(c_,JSON.stringify({config:this._serverCfg,rev:this._cfgRev,config_fingerprint:this._cfgContentFingerprint,layout:this._layout,layout_rev:this._layoutRev,layout_fingerprint:this._layoutContentFingerprint,virtual_lights:fn(this._virtualLights)}))}catch{}}_beginContinuityCandidate(t,e,i="plan"){return this._booting&&!this._continuity.hasCompleteFrame?this._continuity.token:(this._continuityDataReady=e,this._continuityPaintToken=-1,this._stagedDeviceSnapshotToken=-1,this._resumeSettling=!0,this._continuity.beginCandidate(t,i))}_continuityStageValid(){const t=this._stageEl;return!!t&&t.clientWidth>0&&t.clientHeight>0}_continuityAssetsReady(){if(!this._model.length)return!1;const t=this._model.length?this._spaceModel():null;return!t?.bg?.href||this._signer.isReady(this.hass,t.bg.href)}_initialSpaceSelection(t){return function(t){const e=new Set(t.spaceIds.filter(t=>!!t));if(!e.size)return{id:null,source:"none"};const i=[["hash",!1===t.acceptHash?null:t.hashSpace],["current",t.preserveCurrent?t.currentSpace:null],["saved",t.savedSpace],["default",t.defaultSpace],["first",t.spaceIds[0]]];for(const[t,s]of i)if(s&&e.has(s))return{id:s,source:t};return{id:null,source:"none"}}({spaceIds:t.map(t=>t.id),hashSpace:this._hashSpace(),acceptHash:!this._hashApplied,currentSpace:this._space,preserveCurrent:this._hashApplied||this._navApplied||this._warmVpArmed,savedSpace:this._savedNav()?.space,defaultSpace:this._config?.default_floor})}_adoptInitialSpace(t){const e=this._initialSpaceSelection(t);return e.id?(this._space=e.id,"hash"===e.source&&(this._hashApplied=!0),"saved"===e.source&&(this._navApplied=!0),e):e}_candidateBackdrop(t,e=this._space){const i=Gl(t),s=this._initialSpaceSelection(i).id||(i.some(t=>t.id===e)?e:i[0]?.id);return i.find(t=>t.id===s)?.bg?.href||""}_visualFrameFingerprint(){const t=this._stageEl,e=t?[t.clientWidth,t.clientHeight]:[0,0];return ih([this._cfgRev,this._cfgContentFingerprint||eh(this._serverCfg),this._layoutRev,this._layoutContentFingerprint||eh(this._layout),this._space,this._mode,this._view,e,this._glowScreenBlend?"screen":"normal",this.hass?.themes?.darkMode??this.hass?.themes?.default_theme??""])}_settleContinuityFrame(){if(this._booting||!this._continuityStageValid())return;if(!this._continuity.hasCompleteFrame&&"steady"===this._continuity.state)return void(this._continuityAssetsReady()&&(this._renderSnapshotAt=Date.now(),this._continuity.markCompleteFrame(this._visualFrameFingerprint())));if(!this._continuityDataReady)return;if(!["holding","offline-stale","overlay-pending","overlay-visible","candidate-ready"].includes(this._continuity.state))return;const t=this._continuity.token;if(this._candidateDeviceSnapshot&&this._candidateDeviceSnapshot!==this._visibleDeviceSnapshot&&this._stagedDeviceSnapshotToken!==t)return this._stagedDeviceSnapshotToken=t,void this.requestUpdate();this._continuityPaintToken!==t&&(this._continuityPaintToken=t,this._continuity.candidateReady(t)&&this._continuity.commitAfterPaint(t,{updateComplete:()=>this.updateComplete,stageValid:()=>this.isConnected&&this._continuityStageValid(),assetsReady:()=>this._continuityAssetsReady(),frameFingerprint:()=>this._visualFrameFingerprint()}).then(e=>{e&&t===this._continuity.token?(this._resumeSettling=!1,this._renderSnapshotAt=Date.now(),this._candidateDeviceSnapshot&&(this._visibleDeviceSnapshot=this._candidateDeviceSnapshot),this._candidateDeviceSnapshot=null,this._stagedDeviceSnapshotToken=-1,this._warmSnapshot()):t===this._continuity.token&&(this._continuityPaintToken=-1,this._stagedDeviceSnapshotToken=-1,this._candidateDeviceSnapshot=null,this.requestUpdate())}))}_onBackdropLoaded(t,e){this._signer.markLoaded(this.hass,t,e),this._continuity.note("asset-ready"),this._continuityPaintToken=-1,"steady"!==this._continuity.state&&this.requestUpdate()}_renderRecoveryOverlay(){if(!this._continuity.overlayVisible&&"recovery-error"!==this._continuity.state)return G;const t="connection"===this._continuity.recoveryReason;return W`
t.stopPropagation()} @click=${t=>t.stopPropagation()} diff --git a/custom_components/houseplan/manifest.json b/custom_components/houseplan/manifest.json index ccd0dee5..f3654aa2 100755 --- a/custom_components/houseplan/manifest.json +++ b/custom_components/houseplan/manifest.json @@ -16,5 +16,5 @@ "issue_tracker": "https://github.com/Matysh/houseplan-card/issues", "requirements": [], "single_config_entry": true, - "version": "1.65.0-beta.2" + "version": "1.65.0-beta.3" } diff --git a/demo/srv/assets/houseplan-card.js b/demo/srv/assets/houseplan-card.js index 8fba902e..d5fecdc8 100755 --- a/demo/srv/assets/houseplan-card.js +++ b/demo/srv/assets/houseplan-card.js @@ -1,4 +1,4 @@ -globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="b324ee6d7896c4c2aaef51f5681b4818a6ffae5d779bf9d38faaf85a0d998903";const t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,i=Symbol(),s=new WeakMap;let n=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==i)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const i=this.t;if(e&&void 0===t){const e=void 0!==i&&1===i.length;e&&(t=s.get(i)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&s.set(i,t))}return t}toString(){return this.cssText}};const o=(t,...e)=>{const s=1===t.length?t[0]:e.reduce((e,i,s)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[s+1],t[0]);return new n(s,t,i)},a=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return(t=>new n("string"==typeof t?t:t+"",void 0,i))(e)})(t):t,{is:r,defineProperty:l,getOwnPropertyDescriptor:c,getOwnPropertyNames:h,getOwnPropertySymbols:d,getPrototypeOf:u}=Object,p=globalThis,_=p.trustedTypes,g=_?_.emptyScript:"",m=p.reactiveElementPolyfillSupport,f=(t,e)=>t,v={toAttribute(t,e){switch(e){case Boolean:t=t?g:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},y=(t,e)=>!r(t,e),b={attribute:!0,type:String,converter:v,reflect:!1,useDefault:!1,hasChanged:y};Symbol.metadata??=Symbol("metadata"),p.litPropertyMetadata??=new WeakMap;let w=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=b){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){const i=Symbol(),s=this.getPropertyDescriptor(t,i,e);void 0!==s&&l(this.prototype,t,s)}}static getPropertyDescriptor(t,e,i){const{get:s,set:n}=c(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get:s,set(e){const o=s?.call(this);n?.call(this,e),this.requestUpdate(t,o,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(f("elementProperties")))return;const t=u(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(f("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(f("properties"))){const t=this.properties,e=[...h(t),...d(t)];for(const i of e)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,i]of e)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const i=this._$Eu(t,e);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(a(t))}else void 0!==t&&e.push(a(t));return e}static _$Eu(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const i of e.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const i=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((i,s)=>{if(e)i.adoptedStyleSheets=s.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const e of s){const s=document.createElement("style"),n=t.litNonce;void 0!==n&&s.setAttribute("nonce",n),s.textContent=e.cssText,i.appendChild(s)}})(i,this.constructor.elementStyles),i}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$ET(t,e){const i=this.constructor.elementProperties.get(t),s=this.constructor._$Eu(t,i);if(void 0!==s&&!0===i.reflect){const n=(void 0!==i.converter?.toAttribute?i.converter:v).toAttribute(e,i.type);this._$Em=t,null==n?this.removeAttribute(s):this.setAttribute(s,n),this._$Em=null}}_$AK(t,e){const i=this.constructor,s=i._$Eh.get(t);if(void 0!==s&&this._$Em!==s){const t=i.getPropertyOptions(s),n="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:v;this._$Em=s;const o=n.fromAttribute(e,t.type);this[s]=o??this._$Ej?.get(s)??o,this._$Em=null}}requestUpdate(t,e,i,s=!1,n){if(void 0!==t){const o=this.constructor;if(!1===s&&(n=this[t]),i??=o.getPropertyOptions(t),!((i.hasChanged??y)(n,e)||i.useDefault&&i.reflect&&n===this._$Ej?.get(t)&&!this.hasAttribute(o._$Eu(t,i))))return;this.C(t,e,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,e,{useDefault:i,reflect:s,wrapped:n},o){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,o??e??this[t]),!0!==n||void 0!==o)||(this._$AL.has(t)||(this.hasUpdated||i||(e=void 0),this._$AL.set(t,e)),!0===s&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,i]of t){const{wrapped:t}=i,s=this[e];!0!==t||this._$AL.has(e)||void 0===s||this.C(e,void 0,i,s)}}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(e)):this._$EM()}catch(e){throw t=!1,this._$EM(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}};w.elementStyles=[],w.shadowRootOptions={mode:"open"},w[f("elementProperties")]=new Map,w[f("finalized")]=new Map,m?.({ReactiveElement:w}),(p.reactiveElementVersions??=[]).push("2.1.2");const k=globalThis,$=t=>t,x=k.trustedTypes,S=x?x.createPolicy("lit-html",{createHTML:t=>t}):void 0,M="$lit$",C=`lit$${Math.random().toFixed(9).slice(2)}$`,D="?"+C,T=`<${D}>`,P=document,R=()=>P.createComment(""),A=t=>null===t||"object"!=typeof t&&"function"!=typeof t,I=Array.isArray,E="[ \t\n\f\r]",F=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,z=/-->/g,O=/>/g,H=RegExp(`>|${E}(?:([^\\s"'>=/]+)(${E}*=${E}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),N=/'/g,L=/"/g,B=/^(?:script|style|textarea|title)$/i,q=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),W=q(1),j=q(2),U=Symbol.for("lit-noChange"),G=Symbol.for("lit-nothing"),V=new WeakMap,K=P.createTreeWalker(P,129);function Y(t,e){if(!I(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==S?S.createHTML(e):e}const X=(t,e)=>{const i=t.length-1,s=[];let n,o=2===e?"":3===e?"":"",a=F;for(let e=0;e"===l[0]?(a=n??F,c=-1):void 0===l[1]?c=-2:(c=a.lastIndex-l[2].length,r=l[1],a=void 0===l[3]?H:'"'===l[3]?L:N):a===L||a===N?a=H:a===z||a===O?a=F:(a=H,n=void 0);const d=a===H&&t[e+1].startsWith("/>")?" ":"";o+=a===F?i+T:c>=0?(s.push(r),i.slice(0,c)+M+i.slice(c)+C+d):i+C+(-2===c?e:d)}return[Y(t,o+(t[i]||"")+(2===e?"":3===e?"":"")),s]};class J{constructor({strings:t,_$litType$:e},i){let s;this.parts=[];let n=0,o=0;const a=t.length-1,r=this.parts,[l,c]=X(t,e);if(this.el=J.createElement(l,i),K.currentNode=this.el.content,2===e||3===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(s=K.nextNode())&&r.length0){s.textContent=x?x.emptyScript:"";for(let i=0;iI(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==G&&A(this._$AH)?this._$AA.nextSibling.data=t:this.T(P.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:i}=t,s="number"==typeof i?this._$AC(t):(void 0===i.el&&(i.el=J.createElement(Y(i.h,i.h[0]),this.options)),i);if(this._$AH?._$AD===s)this._$AH.p(e);else{const t=new Q(s,this),i=t.u(this.options);t.p(e),this.T(i),this._$AH=t}}_$AC(t){let e=V.get(t.strings);return void 0===e&&V.set(t.strings,e=new J(t)),e}k(t){I(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,s=0;for(const n of t)s===e.length?e.push(i=new tt(this.O(R()),this.O(R()),this,this.options)):i=e[s],i._$AI(n),s++;s2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=G}_$AI(t,e=this,i,s){const n=this.strings;let o=!1;if(void 0===n)t=Z(this,t,e,0),o=!A(t)||t!==this._$AH&&t!==U,o&&(this._$AH=t);else{const s=t;let a,r;for(t=n[0],a=0;a{const s=i?.renderBefore??e;let n=s._$litPart$;if(void 0===n){const t=i?.renderBefore??null;s._$litPart$=n=new tt(e.insertBefore(R(),t),t,void 0,i??{})}return n._$AI(t),n},ct=globalThis;let ht=class extends w{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=lt(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return U}};ht._$litElement$=!0,ht.finalized=!0,ct.litElementHydrateSupport?.({LitElement:ht});const dt=ct.litElementPolyfillSupport;dt?.({LitElement:ht}),(ct.litElementVersions??=[]).push("4.2.2");const ut=2,pt=t=>(...e)=>({_$litDirective$:t,values:e});let _t=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};const gt={},mt=pt(class extends _t{constructor(){super(...arguments),this.ot=gt}render(t,e){return e()}update(t,[e,i]){if(Array.isArray(e)){if(Array.isArray(this.ot)&&this.ot.length===e.length&&e.every((t,e)=>t===this.ot[e]))return U}else if(this.ot===e)return U;return this.ot=Array.isArray(e)?Array.from(e):e,this.render(e,i)}}),{I:ft}=at,vt=t=>t,yt=()=>document.createComment(""),bt=(t,e,i)=>{const s=t._$AA.parentNode,n=void 0===e?t._$AB:e._$AA;if(void 0===i){const e=s.insertBefore(yt(),n),o=s.insertBefore(yt(),n);i=new ft(e,o,t,t.options)}else{const e=i._$AB.nextSibling,o=i._$AM,a=o!==t;if(a){let e;i._$AQ?.(t),i._$AM=t,void 0!==i._$AP&&(e=t._$AU)!==o._$AU&&i._$AP(e)}if(e!==n||a){let t=i._$AA;for(;t!==e;){const e=vt(t).nextSibling;vt(s).insertBefore(t,n),t=e}}}return i},wt=(t,e,i=t)=>(t._$AI(e,i),t),kt={},$t=(t,e=kt)=>t._$AH=e,xt=t=>{t._$AR(),t._$AA.remove()},St=(t,e,i)=>{const s=new Map;for(let n=e;n<=i;n++)s.set(t[n],n);return s},Mt=pt(class extends _t{constructor(t){if(super(t),t.type!==ut)throw Error("repeat() can only be used in text expressions")}dt(t,e,i){let s;void 0===i?i=e:void 0!==e&&(s=e);const n=[],o=[];let a=0;for(const e of t)n[a]=s?s(e,a):a,o[a]=i(e,a),a++;return{values:o,keys:n}}render(t,e,i){return this.dt(t,e,i).values}update(t,[e,i,s]){const n=(t=>t._$AH)(t),{values:o,keys:a}=this.dt(e,i,s);if(!Array.isArray(n))return this.ut=a,o;const r=this.ut??=[],l=[];let c,h,d=0,u=n.length-1,p=0,_=o.length-1;for(;d<=u&&p<=_;)if(null===n[d])d++;else if(null===n[u])u--;else if(r[d]===a[p])l[p]=wt(n[d],o[p]),d++,p++;else if(r[u]===a[_])l[_]=wt(n[u],o[_]),u--,_--;else if(r[d]===a[_])l[_]=wt(n[d],o[_]),bt(t,l[_+1],n[d]),d++,_--;else if(r[u]===a[p])l[p]=wt(n[u],o[p]),bt(t,n[d],n[u]),u--,p++;else if(void 0===c&&(c=St(a,p,_),h=St(r,d,u)),c.has(r[d]))if(c.has(r[u])){const e=h.get(a[p]),i=void 0!==e?n[e]:null;if(null===i){const e=bt(t,n[d]);wt(e,o[p]),l[p]=e}else l[p]=wt(i,o[p]),bt(t,n[d],i),n[e]=null;p++}else xt(n[u]),u--;else xt(n[d]),d++;for(;p<=_;){const e=bt(t,l[_+1]);wt(e,o[p]),l[p++]=e}for(;d<=u;){const t=n[d++];null!==t&&xt(t)}return this.ut=a,$t(t,l),U}}),Ct=new WeakMap;let Dt=0;class Tt extends ht{constructor(){super(...arguments),this.title="",this.icon="",this.wide=!1,this.dismissOnScrim=!1,this.hass=null,this._opener=null,this._focusRoot=null,this._useHaDialog=!1,this._closing=!1,this._overlays=[],this._titleId="hp-dialog-title-"+ ++Dt,this._focusInitial=()=>{const t=this._focusableElements(),e=t.find(t=>t.hasAttribute("autofocus"))||t[0]||(this._useHaDialog?null:this.renderRoot.querySelector(".close"))||this.renderRoot.querySelector(".surface")||this.renderRoot.querySelector("ha-dialog");e?.focus({preventScroll:!0})},this._requestClose=()=>{this._closing||(this._closing=!0,this.dispatchEvent(new CustomEvent("hp-close",{bubbles:!0,composed:!0})))},this._onKeyDown=t=>{if("Escape"===t.key){t.preventDefault(),t.stopImmediatePropagation(),this._pruneOverlays();const e=this._overlays[this._overlays.length-1];return e?void this._closeOverlay(e,"escape"):void this._requestClose()}if("Tab"!==t.key||this._useHaDialog)return;const e=this.renderRoot.querySelector(".close"),i=e?[e,...this._focusableElements()]:this._focusableElements();if(!i.length)return t.preventDefault(),void this.renderRoot.querySelector(".surface")?.focus({preventScroll:!0});const s=this._deepActiveElement(),n=i[0],o=i[i.length-1];!t.shiftKey||s!==n&&i.includes(s)?t.shiftKey||s!==o||(t.preventDefault(),n.focus()):(t.preventDefault(),o.focus())},this._onFallbackCancel=t=>{t.preventDefault(),this._requestClose()},this._onFallbackClick=t=>{this.dismissOnScrim&&t.target===t.currentTarget&&this._requestClose()}}connectedCallback(){super.connectedCallback(),this._opener=this._deepActiveElement();const t=this.getRootNode();this._focusRoot=t;const e=Ct.get(t)||{dialogs:new Set,opener:this._opener};e.dialogs.add(this),Ct.set(t,e),this._useHaDialog=!!customElements.get("ha-dialog"),this.addEventListener("keydown",this._onKeyDown,!0)}disconnectedCallback(){this.removeEventListener("keydown",this._onKeyDown,!0);const t=[...this._overlays];this._overlays=[];for(const e of t.reverse())e.close("disconnect");const e=this._focusRoot,i=this._opener;this._opener=null,this._focusRoot=null;const s=e?Ct.get(e):void 0;s?.dialogs.delete(this),super.disconnectedCallback(),e&&s&&requestAnimationFrame(()=>{const t=Ct.get(e);if(!t)return;if(!t.dialogs.size)return t.opener?.isConnected&&t.opener.focus({preventScroll:!0}),void Ct.delete(e);const s=i?.closest("hp-dialog");i?.isConnected&&s&&t.dialogs.has(s)&&i.focus({preventScroll:!0})})}firstUpdated(t){if(super.firstUpdated(t),!this._useHaDialog){const t=this.renderRoot.querySelector("dialog");t&&!t.open&&t.showModal()}queueMicrotask(()=>this._focusInitial())}_deepActiveElement(){let t=document.activeElement;for(;t?.shadowRoot?.activeElement;)t=t.shadowRoot.activeElement;return t&&t!==document.body?t:null}_focusableElements(){const t=["[autofocus]","a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])",'[contenteditable="true"]','[tabindex]:not([tabindex="-1"])'].join(","),e=[],i=new Set,s=n=>{if(!i.has(n)){if(i.add(n),n instanceof HTMLElement){if(n.matches(t)&&e.push(n),n instanceof HTMLSlotElement){for(const t of n.assignedNodes({flatten:!0}))s(t);return}if(n.shadowRoot){for(const t of n.shadowRoot.childNodes)s(t);return}}for(const t of n.childNodes)s(t)}};for(const t of this.childNodes)s(t);const n=this.overlayPortal();return n&&s(n),e.filter(t=>{let e=t;for(;e;){const t=getComputedStyle(e);if(e.hidden||e.inert||"true"===e.getAttribute("aria-hidden")||"none"===t.display||"hidden"===t.visibility)return!1;if(e=e.assignedSlot||e.parentElement||(e.getRootNode()instanceof ShadowRoot?e.getRootNode().host:null),e===this)break}return!0})}_pruneOverlays(){this._overlays=this._overlays.filter(t=>t.owner.isConnected)}_closeOverlay(t,e){const i=this._overlays.findIndex(e=>e.token===t.token);i>=0&&this._overlays.splice(i,1),t.close(e)}registerOverlay(t){this._pruneOverlays();const e=this._overlays.find(e=>e.owner===t.owner);e&&this._overlays.splice(this._overlays.indexOf(e),1);const i=t.group||"transient";for(const t of[...this._overlays].reverse())t.group===i&&this._closeOverlay(t,"exclusive");const s={...t,group:i,token:Symbol("hp-overlay")};this._overlays.push(s);let n=!1;return()=>{if(n)return;n=!0;const t=this._overlays.findIndex(t=>t.token===s.token);t>=0&&this._overlays.splice(t,1)}}closeTransientOverlays(t="outside"){this._pruneOverlays();const e=[...this._overlays].filter(t=>"transient"===(t.group||"transient"));for(const i of e.reverse())this._closeOverlay(i,t);return e.length>0}overlayPortal(){return this.renderRoot.querySelector(".overlay-portal")}render(){const t=W` +globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="9cf7a16bbc4f0bde8ec29d7b58b52e0f616fc14601a183ea1df347477321a5da";const t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,i=Symbol(),s=new WeakMap;let n=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==i)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const i=this.t;if(e&&void 0===t){const e=void 0!==i&&1===i.length;e&&(t=s.get(i)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&s.set(i,t))}return t}toString(){return this.cssText}};const o=(t,...e)=>{const s=1===t.length?t[0]:e.reduce((e,i,s)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[s+1],t[0]);return new n(s,t,i)},a=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return(t=>new n("string"==typeof t?t:t+"",void 0,i))(e)})(t):t,{is:r,defineProperty:l,getOwnPropertyDescriptor:c,getOwnPropertyNames:h,getOwnPropertySymbols:d,getPrototypeOf:u}=Object,p=globalThis,_=p.trustedTypes,g=_?_.emptyScript:"",m=p.reactiveElementPolyfillSupport,f=(t,e)=>t,v={toAttribute(t,e){switch(e){case Boolean:t=t?g:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},y=(t,e)=>!r(t,e),b={attribute:!0,type:String,converter:v,reflect:!1,useDefault:!1,hasChanged:y};Symbol.metadata??=Symbol("metadata"),p.litPropertyMetadata??=new WeakMap;let w=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=b){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){const i=Symbol(),s=this.getPropertyDescriptor(t,i,e);void 0!==s&&l(this.prototype,t,s)}}static getPropertyDescriptor(t,e,i){const{get:s,set:n}=c(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get:s,set(e){const o=s?.call(this);n?.call(this,e),this.requestUpdate(t,o,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(f("elementProperties")))return;const t=u(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(f("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(f("properties"))){const t=this.properties,e=[...h(t),...d(t)];for(const i of e)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,i]of e)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const i=this._$Eu(t,e);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(a(t))}else void 0!==t&&e.push(a(t));return e}static _$Eu(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const i of e.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const i=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((i,s)=>{if(e)i.adoptedStyleSheets=s.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const e of s){const s=document.createElement("style"),n=t.litNonce;void 0!==n&&s.setAttribute("nonce",n),s.textContent=e.cssText,i.appendChild(s)}})(i,this.constructor.elementStyles),i}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$ET(t,e){const i=this.constructor.elementProperties.get(t),s=this.constructor._$Eu(t,i);if(void 0!==s&&!0===i.reflect){const n=(void 0!==i.converter?.toAttribute?i.converter:v).toAttribute(e,i.type);this._$Em=t,null==n?this.removeAttribute(s):this.setAttribute(s,n),this._$Em=null}}_$AK(t,e){const i=this.constructor,s=i._$Eh.get(t);if(void 0!==s&&this._$Em!==s){const t=i.getPropertyOptions(s),n="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:v;this._$Em=s;const o=n.fromAttribute(e,t.type);this[s]=o??this._$Ej?.get(s)??o,this._$Em=null}}requestUpdate(t,e,i,s=!1,n){if(void 0!==t){const o=this.constructor;if(!1===s&&(n=this[t]),i??=o.getPropertyOptions(t),!((i.hasChanged??y)(n,e)||i.useDefault&&i.reflect&&n===this._$Ej?.get(t)&&!this.hasAttribute(o._$Eu(t,i))))return;this.C(t,e,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,e,{useDefault:i,reflect:s,wrapped:n},o){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,o??e??this[t]),!0!==n||void 0!==o)||(this._$AL.has(t)||(this.hasUpdated||i||(e=void 0),this._$AL.set(t,e)),!0===s&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,i]of t){const{wrapped:t}=i,s=this[e];!0!==t||this._$AL.has(e)||void 0===s||this.C(e,void 0,i,s)}}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(e)):this._$EM()}catch(e){throw t=!1,this._$EM(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}};w.elementStyles=[],w.shadowRootOptions={mode:"open"},w[f("elementProperties")]=new Map,w[f("finalized")]=new Map,m?.({ReactiveElement:w}),(p.reactiveElementVersions??=[]).push("2.1.2");const k=globalThis,$=t=>t,x=k.trustedTypes,S=x?x.createPolicy("lit-html",{createHTML:t=>t}):void 0,M="$lit$",C=`lit$${Math.random().toFixed(9).slice(2)}$`,D="?"+C,T=`<${D}>`,P=document,R=()=>P.createComment(""),A=t=>null===t||"object"!=typeof t&&"function"!=typeof t,I=Array.isArray,E="[ \t\n\f\r]",F=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,z=/-->/g,O=/>/g,H=RegExp(`>|${E}(?:([^\\s"'>=/]+)(${E}*=${E}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),N=/'/g,L=/"/g,B=/^(?:script|style|textarea|title)$/i,q=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),W=q(1),j=q(2),U=Symbol.for("lit-noChange"),G=Symbol.for("lit-nothing"),V=new WeakMap,K=P.createTreeWalker(P,129);function Y(t,e){if(!I(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==S?S.createHTML(e):e}const X=(t,e)=>{const i=t.length-1,s=[];let n,o=2===e?"":3===e?"":"",a=F;for(let e=0;e"===l[0]?(a=n??F,c=-1):void 0===l[1]?c=-2:(c=a.lastIndex-l[2].length,r=l[1],a=void 0===l[3]?H:'"'===l[3]?L:N):a===L||a===N?a=H:a===z||a===O?a=F:(a=H,n=void 0);const d=a===H&&t[e+1].startsWith("/>")?" ":"";o+=a===F?i+T:c>=0?(s.push(r),i.slice(0,c)+M+i.slice(c)+C+d):i+C+(-2===c?e:d)}return[Y(t,o+(t[i]||"")+(2===e?"":3===e?"":"")),s]};class J{constructor({strings:t,_$litType$:e},i){let s;this.parts=[];let n=0,o=0;const a=t.length-1,r=this.parts,[l,c]=X(t,e);if(this.el=J.createElement(l,i),K.currentNode=this.el.content,2===e||3===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(s=K.nextNode())&&r.length0){s.textContent=x?x.emptyScript:"";for(let i=0;iI(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==G&&A(this._$AH)?this._$AA.nextSibling.data=t:this.T(P.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:i}=t,s="number"==typeof i?this._$AC(t):(void 0===i.el&&(i.el=J.createElement(Y(i.h,i.h[0]),this.options)),i);if(this._$AH?._$AD===s)this._$AH.p(e);else{const t=new Q(s,this),i=t.u(this.options);t.p(e),this.T(i),this._$AH=t}}_$AC(t){let e=V.get(t.strings);return void 0===e&&V.set(t.strings,e=new J(t)),e}k(t){I(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,s=0;for(const n of t)s===e.length?e.push(i=new tt(this.O(R()),this.O(R()),this,this.options)):i=e[s],i._$AI(n),s++;s2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=G}_$AI(t,e=this,i,s){const n=this.strings;let o=!1;if(void 0===n)t=Z(this,t,e,0),o=!A(t)||t!==this._$AH&&t!==U,o&&(this._$AH=t);else{const s=t;let a,r;for(t=n[0],a=0;a{const s=i?.renderBefore??e;let n=s._$litPart$;if(void 0===n){const t=i?.renderBefore??null;s._$litPart$=n=new tt(e.insertBefore(R(),t),t,void 0,i??{})}return n._$AI(t),n},ct=globalThis;let ht=class extends w{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=lt(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return U}};ht._$litElement$=!0,ht.finalized=!0,ct.litElementHydrateSupport?.({LitElement:ht});const dt=ct.litElementPolyfillSupport;dt?.({LitElement:ht}),(ct.litElementVersions??=[]).push("4.2.2");const ut=2,pt=t=>(...e)=>({_$litDirective$:t,values:e});let _t=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};const gt={},mt=pt(class extends _t{constructor(){super(...arguments),this.ot=gt}render(t,e){return e()}update(t,[e,i]){if(Array.isArray(e)){if(Array.isArray(this.ot)&&this.ot.length===e.length&&e.every((t,e)=>t===this.ot[e]))return U}else if(this.ot===e)return U;return this.ot=Array.isArray(e)?Array.from(e):e,this.render(e,i)}}),{I:ft}=at,vt=t=>t,yt=()=>document.createComment(""),bt=(t,e,i)=>{const s=t._$AA.parentNode,n=void 0===e?t._$AB:e._$AA;if(void 0===i){const e=s.insertBefore(yt(),n),o=s.insertBefore(yt(),n);i=new ft(e,o,t,t.options)}else{const e=i._$AB.nextSibling,o=i._$AM,a=o!==t;if(a){let e;i._$AQ?.(t),i._$AM=t,void 0!==i._$AP&&(e=t._$AU)!==o._$AU&&i._$AP(e)}if(e!==n||a){let t=i._$AA;for(;t!==e;){const e=vt(t).nextSibling;vt(s).insertBefore(t,n),t=e}}}return i},wt=(t,e,i=t)=>(t._$AI(e,i),t),kt={},$t=(t,e=kt)=>t._$AH=e,xt=t=>{t._$AR(),t._$AA.remove()},St=(t,e,i)=>{const s=new Map;for(let n=e;n<=i;n++)s.set(t[n],n);return s},Mt=pt(class extends _t{constructor(t){if(super(t),t.type!==ut)throw Error("repeat() can only be used in text expressions")}dt(t,e,i){let s;void 0===i?i=e:void 0!==e&&(s=e);const n=[],o=[];let a=0;for(const e of t)n[a]=s?s(e,a):a,o[a]=i(e,a),a++;return{values:o,keys:n}}render(t,e,i){return this.dt(t,e,i).values}update(t,[e,i,s]){const n=(t=>t._$AH)(t),{values:o,keys:a}=this.dt(e,i,s);if(!Array.isArray(n))return this.ut=a,o;const r=this.ut??=[],l=[];let c,h,d=0,u=n.length-1,p=0,_=o.length-1;for(;d<=u&&p<=_;)if(null===n[d])d++;else if(null===n[u])u--;else if(r[d]===a[p])l[p]=wt(n[d],o[p]),d++,p++;else if(r[u]===a[_])l[_]=wt(n[u],o[_]),u--,_--;else if(r[d]===a[_])l[_]=wt(n[d],o[_]),bt(t,l[_+1],n[d]),d++,_--;else if(r[u]===a[p])l[p]=wt(n[u],o[p]),bt(t,n[d],n[u]),u--,p++;else if(void 0===c&&(c=St(a,p,_),h=St(r,d,u)),c.has(r[d]))if(c.has(r[u])){const e=h.get(a[p]),i=void 0!==e?n[e]:null;if(null===i){const e=bt(t,n[d]);wt(e,o[p]),l[p]=e}else l[p]=wt(i,o[p]),bt(t,n[d],i),n[e]=null;p++}else xt(n[u]),u--;else xt(n[d]),d++;for(;p<=_;){const e=bt(t,l[_+1]);wt(e,o[p]),l[p++]=e}for(;d<=u;){const t=n[d++];null!==t&&xt(t)}return this.ut=a,$t(t,l),U}}),Ct=new WeakMap;let Dt=0;class Tt extends ht{constructor(){super(...arguments),this.title="",this.icon="",this.wide=!1,this.dismissOnScrim=!1,this.hass=null,this._opener=null,this._focusRoot=null,this._useHaDialog=!1,this._closing=!1,this._overlays=[],this._titleId="hp-dialog-title-"+ ++Dt,this._focusInitial=()=>{const t=this._focusableElements(),e=t.find(t=>t.hasAttribute("autofocus"))||t[0]||(this._useHaDialog?null:this.renderRoot.querySelector(".close"))||this.renderRoot.querySelector(".surface")||this.renderRoot.querySelector("ha-dialog");e?.focus({preventScroll:!0})},this._requestClose=()=>{this._closing||(this._closing=!0,this.dispatchEvent(new CustomEvent("hp-close",{bubbles:!0,composed:!0})))},this._onKeyDown=t=>{if("Escape"===t.key){t.preventDefault(),t.stopImmediatePropagation(),this._pruneOverlays();const e=this._overlays[this._overlays.length-1];return e?void this._closeOverlay(e,"escape"):void this._requestClose()}if("Tab"!==t.key||this._useHaDialog)return;const e=this.renderRoot.querySelector(".close"),i=e?[e,...this._focusableElements()]:this._focusableElements();if(!i.length)return t.preventDefault(),void this.renderRoot.querySelector(".surface")?.focus({preventScroll:!0});const s=this._deepActiveElement(),n=i[0],o=i[i.length-1];!t.shiftKey||s!==n&&i.includes(s)?t.shiftKey||s!==o||(t.preventDefault(),n.focus()):(t.preventDefault(),o.focus())},this._onFallbackCancel=t=>{t.preventDefault(),this._requestClose()},this._onFallbackClick=t=>{this.dismissOnScrim&&t.target===t.currentTarget&&this._requestClose()}}connectedCallback(){super.connectedCallback(),this._opener=this._deepActiveElement();const t=this.getRootNode();this._focusRoot=t;const e=Ct.get(t)||{dialogs:new Set,opener:this._opener};e.dialogs.add(this),Ct.set(t,e),this._useHaDialog=!!customElements.get("ha-dialog"),this.addEventListener("keydown",this._onKeyDown,!0)}disconnectedCallback(){this.removeEventListener("keydown",this._onKeyDown,!0);const t=[...this._overlays];this._overlays=[];for(const e of t.reverse())e.close("disconnect");const e=this._focusRoot,i=this._opener;this._opener=null,this._focusRoot=null;const s=e?Ct.get(e):void 0;s?.dialogs.delete(this),super.disconnectedCallback(),e&&s&&requestAnimationFrame(()=>{const t=Ct.get(e);if(!t)return;if(!t.dialogs.size)return t.opener?.isConnected&&t.opener.focus({preventScroll:!0}),void Ct.delete(e);const s=i?.closest("hp-dialog");i?.isConnected&&s&&t.dialogs.has(s)&&i.focus({preventScroll:!0})})}firstUpdated(t){if(super.firstUpdated(t),!this._useHaDialog){const t=this.renderRoot.querySelector("dialog");t&&!t.open&&t.showModal()}queueMicrotask(()=>this._focusInitial())}_deepActiveElement(){let t=document.activeElement;for(;t?.shadowRoot?.activeElement;)t=t.shadowRoot.activeElement;return t&&t!==document.body?t:null}_focusableElements(){const t=["[autofocus]","a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])",'[contenteditable="true"]','[tabindex]:not([tabindex="-1"])'].join(","),e=[],i=new Set,s=n=>{if(!i.has(n)){if(i.add(n),n instanceof HTMLElement){if(n.matches(t)&&e.push(n),n instanceof HTMLSlotElement){for(const t of n.assignedNodes({flatten:!0}))s(t);return}if(n.shadowRoot){for(const t of n.shadowRoot.childNodes)s(t);return}}for(const t of n.childNodes)s(t)}};for(const t of this.childNodes)s(t);const n=this.overlayPortal();return n&&s(n),e.filter(t=>{let e=t;for(;e;){const t=getComputedStyle(e);if(e.hidden||e.inert||"true"===e.getAttribute("aria-hidden")||"none"===t.display||"hidden"===t.visibility)return!1;if(e=e.assignedSlot||e.parentElement||(e.getRootNode()instanceof ShadowRoot?e.getRootNode().host:null),e===this)break}return!0})}_pruneOverlays(){this._overlays=this._overlays.filter(t=>t.owner.isConnected)}_closeOverlay(t,e){const i=this._overlays.findIndex(e=>e.token===t.token);i>=0&&this._overlays.splice(i,1),t.close(e)}registerOverlay(t){this._pruneOverlays();const e=this._overlays.find(e=>e.owner===t.owner);e&&this._overlays.splice(this._overlays.indexOf(e),1);const i=t.group||"transient";for(const t of[...this._overlays].reverse())t.group===i&&this._closeOverlay(t,"exclusive");const s={...t,group:i,token:Symbol("hp-overlay")};this._overlays.push(s);let n=!1;return()=>{if(n)return;n=!0;const t=this._overlays.findIndex(t=>t.token===s.token);t>=0&&this._overlays.splice(t,1)}}closeTransientOverlays(t="outside"){this._pruneOverlays();const e=[...this._overlays].filter(t=>"transient"===(t.group||"transient"));for(const i of e.reverse())this._closeOverlay(i,t);return e.length>0}overlayPortal(){return this.renderRoot.querySelector(".overlay-portal")}render(){const t=W` ${this.icon?W``:G} ${this.title} `;return this._useHaDialog?W`${t.visibleLabel}`:G}
${t?.content||G}
-
`}afterRender(){const t=this.host.root();this._blocked&&(this._openGroupId?this.closeGroup(!1):"palette"===this._currentModel?.kind&&this._currentModel.dismiss?.()),this._syncGlobalDismissListener();const e=t.querySelector(".editor-secondary"),i=this._renderedContext,s=e?.dataset.contextId||"";if(s&&i&&s!==i&&!window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches&&(this._contentAnimation?.cancel(),this._contentAnimation=e?.querySelector(".editor-secondary-content")?.animate([{opacity:.35,transform:"translateY(-4px)"},{opacity:1,transform:"translateY(0)"}],{duration:100,easing:"ease-out"})),this._renderedContext=s,i&&s!==i&&this._focusOwned){const i=s?e?.querySelector('[tabindex="0"], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled])'):t.querySelector(".editbar-tools");i?.focus?.(),this._focusOwned=!!s}if("palette"===this._currentModel?.kind&&this._currentModel.launcherId){const e=[...t.querySelectorAll("[data-editor-palette]")].find(t=>t.dataset.editorPalette===this._currentModel?.launcherId);e&&null!==e.offsetParent||this._currentModel.dismiss?.()}if(!this._openGroupId)return;const n=[...t.querySelectorAll("[data-editor-group]")].find(t=>t.dataset.editorGroup===this._openGroupId);n&&null!==n.offsetParent||this.closeGroup(!0)}handleOutsideDismiss(t){if(Pu(t,t=>t.hasAttribute("data-editor-navigation")))return"pointerdown"===t.type?this.closeForNavigation():"click"===t.type&&this._dismissPointerTarget&&this._clearDismissClick(),!1;if("click"===t.type&&this._dismissPointerTarget){return!!(t.composedPath?.()||[t.target]).includes(this._dismissPointerTarget)&&(this._clearDismissClick(),t.preventDefault(),t.stopImmediatePropagation(),!0)}const e=this._openGroupId||this._blocked||"palette"!==this._currentModel?.kind?null:this._currentModel;if("pointerdown"===t.type&&(this._openGroupId||e)){const i=Pu(t,t=>t.classList.contains("editor-secondary")),s=Pu(t,t=>!!t.dataset.editorGroup),n=Pu(t,t=>!!t.dataset.editorPalette),o=Pu(t,t=>t.classList.contains("stage"));if(!(i||s||n||"stay-open-on-canvas"===e?.dismissPolicy&&o))return t.preventDefault(),t.stopImmediatePropagation(),this._dismissPointerTarget=t.target,clearTimeout(this._dismissTimer),this._dismissTimer=window.setTimeout(()=>{this._clearDismissClick()},800),this._openGroupId?this.closeGroup(!1):e?.dismiss?.(),this._syncGlobalDismissListener(),!0}return!1}_activateGroupItem(t,e,i){if(t.id!==this._openGroupId)return;const s=t.items.find(t=>t.id===e);if(!s||s.disabled)return;const n="toggle"===s.role&&"stay-open"===s.closePolicy,o=0===i.detail;n||(this._openGroupId=null,this.host.requestUpdate(),this._syncGlobalDismissListener()),s.invoke(),!n&&o&&this.host.updateComplete().then(()=>{const e=[...this.host.root().querySelectorAll("[data-editor-group]")].find(e=>e.dataset.editorGroup===t.id&&null!==e.offsetParent);e?.focus()})}_groupKeydown(t){if(!["ArrowLeft","ArrowRight","Home","End"].includes(t.key))return;const e=[...t.currentTarget.querySelectorAll(".editor-group-item:not([disabled])")];if(!e.length)return;t.preventDefault();const i=e.indexOf(this.host.root().activeElement),s="Home"===t.key?0:"End"===t.key?e.length-1:"ArrowLeft"===t.key?i<=0?e.length-1:i-1:(i+1)%e.length;e[s]?.focus()}_clearDismissClick(){this._dismissPointerTarget=null,clearTimeout(this._dismissTimer),this._dismissTimer=void 0,this._syncGlobalDismissListener()}_syncGlobalDismissListener(){const t=!this._blocked&&"palette"===this._currentModel?.kind,e=!!this._openGroupId||t||!!this._dismissPointerTarget;e!==this._globalDismissListening&&(this._globalDismissListening=e,e?(window.addEventListener("pointerdown",this._globalDismissGuard,!0),window.addEventListener("click",this._globalDismissGuard,!0)):(window.removeEventListener("pointerdown",this._globalDismissGuard,!0),window.removeEventListener("click",this._globalDismissGuard,!0)))}}const Au=t=>t.stopPropagation(),Iu=4.166666666666667e-9;function Eu(t){if(!Number.isFinite(t))return t;const e=Math.round(t/Jl)*Jl;return Math.abs(e-t)<=Iu?t:e}const Fu=(t,e,i,s)=>Math.hypot(i-t,s-e),zu=(t,e,i,s,n,o,a,r)=>Math.hypot(Math.max(Math.abs(n-t),Math.abs(n+a-(t+i))),Math.max(Math.abs(o-e),Math.abs(o+r-(e+s)))),Ou=(t,e,i,s,n,o,a)=>{const r=Math.max(Number(s)||0,0)/2,l=Math.PI/180,c=Math.cos(i*l)*r,h=Math.sin(i*l)*r,d=Math.cos(a*l)*r,u=Math.sin(a*l)*r,p=Math.max(Fu(t+c,e+h,n+d,o+u),Fu(t-c,e-h,n-d,o-u)),_=Math.max(Fu(t+c,e+h,n-d,o-u),Fu(t-c,e-h,n+d,o+u));return Math.min(p,_)},Hu=t=>{const e=Number(t?.cell_cm);return e>0?e:5};const Nu=t=>JSON.parse(JSON.stringify(t)),Lu=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),Bu=(t,e,i)=>Math.min(i,Math.max(e,t)),qu=t=>Gl({spaces:[t]})[0],Wu=t=>{const e=[];for(const i of t||[]){const t=hi(i);if(t?.length)for(let i=0;i{let e=0,i=0,s=0;for(const i of t.markers||[]){if("ripple"===i.display&&(i.display="icon_ripple",e++),Array.isArray(i.controls)){const t="string"==typeof i.binding&&i.binding.startsWith("entity:")?i.binding.slice(7):"",s=t?i.controls.filter(e=>e!==t):i.controls;JSON.stringify(s)!==JSON.stringify(i.controls)&&(i.controls=s.length?s:null,e++)}const t=i.vacuum;t&&Lu(t,"trail")&&(["never","cleaning","always"].includes(t.trail_mode)||(t.trail_mode=!1===t.trail?"never":"cleaning"),delete t.trail,e++)}for(const n of t.spaces||[]){const t=n.settings;"glow"===t?.fill_mode&&("boolean"!=typeof t.glow_enabled&&(t.glow_enabled=!0),t.fill_mode="none",e++,i++);for(const t of n.rooms||[]){const i=t.settings;"glow"===i?.fill_mode&&("boolean"!=typeof i.glow&&(i.glow=!0),delete i.fill_mode,e++,s++)}if(Lu(n,"segments")&&(delete n.segments,e++),Lu(n,"plan_scale")){const t=Number(n.plan_scale);Number.isFinite(t)&&t>=ql&&t<=Wl&&(Lu(n,"plan_scale_x")||(n.plan_scale_x=t),Lu(n,"plan_scale_y")||(n.plan_scale_y=t),delete n.plan_scale,e++)}const o=Number(n.cell_cm);Lu(n,"cell_cm")&&(!Number.isFinite(o)||o<.1||o>1e3)&&(n.cell_cm=Number.isFinite(o)&&o>0?Bu(o,.1,1e3):5,e++);const a=Number(n.cell_cm),r=Number.isFinite(a)&&a>0?a:5;for(const t of n.wall_columns||[])if("circle"===t.shape)Lu(t,"angle")&&(delete t.angle,e++);else if("square"===t.shape&&Lu(t,"angle")){const i=((Number(t.angle)||0)%90+90)%90;t.angle!==i&&(t.angle=i,e++)}for(const t of n.decor||[]){if(Lu(t,"width")){const i=Number(t.width);(Lu(t,"width_cm")||Number.isFinite(i))&&(Lu(t,"width_cm")||(t.width_cm=Number(Bu(i/Xl*r,.1,100).toFixed(6))),delete t.width,e++)}if("rect"!==t?.kind&&"ellipse"!==t?.kind||!0!==t.fill||(Lu(t,"fill_color")||(t.fill_color=t.color||"#607d8b",e++),Lu(t,"fill_opacity")||(t.fill_opacity=.25,e++)),"text"!==t?.kind)continue;void 0===t.size_cm?(t.size_cm=Number(Bu(es*is(t)/Xl*r,.1,2e3).toFixed(6)),delete t.scale,delete t.size,e++):(Lu(t,"scale")||Lu(t,"size"))&&(delete t.scale,delete t.size,e++);let i=String(t.text??"");const s=[...i.matchAll(/\{([^{}\r\n]+)\}/g)].some(t=>!!Yi(t[1]));if(!(Lu(t,"entity")||Lu(t,"attr")||Lu(t,"unit")))continue;const n=String(t.unit??"").trim(),o="state"===String(t.attr??"").trim().toLowerCase()?null:t.attr,a=s||n?"":Xi(t.entity,o);if(s||a){if(a){const e=i.indexOf("{}");i=e>=0?i.slice(0,e)+a+i.slice(e+2):`${i}${i?" ":""}${a}`,t.text=i}delete t.entity,delete t.attr,delete t.unit,e++}}}return{total:e,glowSpaces:i,glowRooms:s}})(i);let r=a.total;for(const t of i.spaces||[]){const e=qu(t);if(!e)continue;if(!Ec(t.open_spans).length){const i=Nc(e.rooms,null,Ll,.02*Xl,!0);i.length&&(t.open_spans=Lc(i,Ll),r++)}}const l=Nu(i.spaces||[]),c=function(t,e){const i=JSON.parse(JSON.stringify(t||[])),s=JSON.parse(JSON.stringify(e||{}));let n=0,o=0,a=0,r=0,l="",c=0,h=0;const d={};let u=5;for(const t of i){const e=Hu(t);null!=t?.id&&(d[String(t.id)]=e),e>u&&(u=e)}const p=(t,e,i,s=!1)=>{if(!(t>Iu||s))return;n++,t>a&&(a=t);const o=t*Yl*e;o>r&&(r=o,l=i)};for(const t of i){const e=Hu(t),i=null!=t?.id?String(t.id):"";for(const s of t.rooms||[]){o++;let t=0;if(s.poly?.length)s.poly=s.poly.map(e=>{const i=[Eu(e[0]),Eu(e[1])];return t=Math.max(t,Fu(e[0],e[1],i[0],i[1])),i});else if(null!=s.x&&null!=s.y){const e=s.x,i=s.y,n=s.w||0,o=s.h||0,a=Eu(e+n),r=Eu(i+o),l=Eu(e),c=Eu(i),h=Math.max(Jl,a-l),d=Math.max(Jl,r-c);t=zu(e,i,n,o,l,c,h,d),s.x=l,s.y=c,s.w=h,s.h=d}p(t,e,i)}for(const s of t.room_drafts||[]){o++;let t=0;const n=(s.points||[]).map(e=>{const i=[Eu(e[0]),Eu(e[1])];return t=Math.max(t,Fu(e[0],e[1],i[0],i[1])),i}),a=n.length?[n[0]]:[],r=[];for(let t=0;t+1t.points?.length>=2),h+=e-t.room_drafts.length,t.room_drafts.length||delete t.room_drafts}for(const s of t.partitions||[]){o++;const n=[Eu(s.a[0]),Eu(s.a[1])],a=[Eu(s.b[0]),Eu(s.b[1])];let r=Math.max(Fu(s.a[0],s.a[1],n[0],n[1]),Fu(s.b[0],s.b[1],a[0],a[1]));const l=Fu(n[0],n[1],a[0],a[1]),c=(t.openings||[]).filter(t=>"partition"===t.host?.kind&&t.host.id===s.id).every(t=>{const e=Number(t.length),i=Number(t.host.t),s=i*l;return Number.isFinite(e)&&e>0&&Number.isFinite(i)&&i>=0&&i<=1&&s-e/2>=-Iu&&s+e/2<=l+Iu});l>Iu&&c?(s.a=n,s.b=a):r=0,p(r,e,i)}for(const s of t.wall_columns||[]){o++;const t=[Eu(s.center[0]),Eu(s.center[1])],n=Fu(s.center[0],s.center[1],t[0],t[1]);s.center=t,p(n,e,i)}for(const s of t.decor||[]){o++;let t=0;if("line"===s.kind){const e=[Eu(s.x1),Eu(s.y1)],i=[Eu(s.x2),Eu(s.y2)];t=Math.max(Fu(s.x1,s.y1,e[0],e[1]),Fu(s.x2,s.y2,i[0],i[1])),s.x1=e[0],s.y1=e[1],s.x2=i[0],s.y2=i[1]}else{const e=Eu(s.x),i=Eu(s.y);if(null!=s.w&&null!=s.h){const n=Eu(s.x+s.w),o=Eu(s.y+s.h),a=Math.max(Jl,n-e),r=Math.max(Jl,o-i);t=zu(s.x,s.y,s.w,s.h,e,i,a,r),s.w=a,s.h=r}else t=Fu(s.x,s.y,e,i);s.x=e,s.y=i}p(t,e,i)}for(const s of t.openings||[]){if(o++,"partition"===s.host?.kind){const n=(t.partitions||[]).find(t=>t.id===s.host.id),o=Number(s.host.t);if(!n||!Number.isFinite(o)||o<0||o>1)continue;const a=n.b[0]-n.a[0],r=n.b[1]-n.a[1];if(Math.hypot(a,r)<=Iu)continue;const l=n.a[0]+a*o,h=n.a[1]+r*o;let d=180*Math.atan2(r,a)/Math.PI;d>=90?d-=180:d<-90&&(d+=180);const u=Number(s.angle),_=!(Number.isFinite(u)&&u===d),g=Ou(s.x,s.y,Number.isFinite(u)?u:d,Number(s.length)||0,l,h,d);s.x=l,s.y=h,s.angle=d,_&&c++,p(g,e,i,_);continue}const n=pi([s.x,s.y],t.rooms||[],.025,{step:Jl,length:Number(s.length)||0});if(!n)continue;const a=Number(s.angle),r=!(Number.isFinite(a)&&a===n.angle),l=Ou(s.x,s.y,Number.isFinite(a)?a:n.angle,Number(s.length)||0,n.x,n.y,n.angle);s.x=n.x,s.y=n.y,s.angle=n.angle,r&&c++,p(l,e,i,r)}}for(const[t,e]of Object.entries(s)){if(!e||"object"!=typeof e)continue;const i=e;if("number"!=typeof i.x||"number"!=typeof i.y)continue;o++;const n=Eu(i.x),a=Eu(i.y),r=Fu(i.x,i.y,n,a);s[t]={...i,x:n,y:a};const l="string"==typeof i.s?i.s:"";p(r,d[l]??u,l)}return{spaces:i,layout:s,report:{moved:n,total:o,maxShift:a,maxShiftCm:r,maxSpace:l,rotated:c,removedDrafts:h},changed:n>0}}(i.spaces||[],e||{});i.spaces=c.spaces;const h={...c.report};let d=0,u=0,p=0;for(let t=0;t[t.id,t.open_to||[]]),walls:e.walls||[]}),o=qu(e),a=qu(s);if(!o||!a)continue;const r=Wu(o.rooms),c=Wu(a.rooms),_=.02*Xl;let g=Kc(Ec(e.open_spans),r,c,Ll);const m=g.length;g=Vc(g,a.rooms,Ll,_),g=g.map(t=>{const e=Ac(t,Ll),i=[e[0],e[1]],n=[e[2],e[3]],o=[(e[0]+e[2])/2,(e[1]+e[3])/2],a=e[2]-e[0],r=e[3]-e[1],l=Math.hypot(a,r)||1,d=c.map(([t,e])=>[t[0],t[1],e[0],e[1]]).filter(t=>{const e=t[2]-t[0],s=t[3]-t[1],c=Math.hypot(e,s)||1;return Math.abs(a*s-r*e)/(l*c)<=1e-6&&Fc(o,t).d<=4*_&&Fc(i,t).d<=4*_&&Fc(n,t).d<=4*_}).sort((t,e)=>Math.hypot(e[2]-e[0],e[3]-e[1])-Math.hypot(t[2]-t[0],t[3]-t[1]))[0];if(h.total++,!d)return t;const u=[[d[0],d[1]],[d[2],d[3]]],p=Oc(i,d,u,Xl,2*_),g=Oc(n,d,u,Xl,2*_);if(Math.hypot(g[0]-p[0],g[1]-p[1])<.5*Xl)return t;const m=Math.max(Math.hypot(p[0]-i[0],p[1]-i[1]),Math.hypot(g[0]-n[0],g[1]-n[1]));if(m>1e-6*Xl){h.moved++;const t=m/Ll;t>h.maxShift&&(h.maxShift=t);const e=m/Xl*(Number(s.cell_cm)>0?Number(s.cell_cm):5);e>h.maxShiftCm&&(h.maxShiftCm=e,h.maxSpace=String(s.id||""))}return Rc(p,g,Ll)}),g=Vc(g,a.rooms,Ll,_),u+=Math.max(0,m-g.length);const f=g.map(t=>Ac(t,Ll));g.length?s.open_spans=g:delete s.open_spans,Bc(s.rooms||[],a.rooms,f,_);const v=Array.isArray(e.walls)?e.walls.length:0;let y=Rr(e.walls,r,c,Jl,Ll);y=el(a.rooms,y,f,Jl,Number(s.cell_cm)>0?Number(s.cell_cm):5,Xl,Ll),y=Tr(y,s.rooms||[],Jl,1,f.map(t=>[t[0]/Ll,t[1]/Ll,t[2]/Ll,t[3]/Ll])),d+=Math.max(0,v-y.length),y.length?s.walls=y:delete s.walls;const b=JSON.stringify({spans:s.open_spans||[],links:(s.rooms||[]).map(t=>[t.id,t.open_to||[]]),walls:s.walls||[]});b!==n&&p++}const _=JSON.stringify(i)!==s||JSON.stringify(c.layout)!==n;o<6&&_&&(i.model_version=6);const g=JSON.stringify(i)!==s||JSON.stringify(c.layout)!==n,m=Number.isInteger(Number(i.model_version))?Number(i.model_version):o;return{config:i,layout:c.layout,report:{...h,modelFrom:o,modelTo:m,migrated:r,glowSpacesMigrated:a.glowSpaces,glowRoomsMigrated:a.glowRooms,canonicalized:p,wallsMerged:d,spansMerged:u},changed:g}}class Uu{constructor(t=50){this._undo=[],this._redo=[],this._limit=Math.max(30,Math.floor(t))}get canUndo(){return this._undo.length>0}get canRedo(){return this._redo.length>0}get undoName(){return this._undo[this._undo.length-1]?.name??null}get redoName(){return this._redo[this._redo.length-1]?.name??null}get size(){return this._undo.length}push(t){this._undo.push(t),this._undo.length>this._limit&&this._undo.splice(0,this._undo.length-this._limit),this._redo=[]}undo(){const t=this._undo.pop()??null;return t&&this._redo.push(t),t}redo(){const t=this._redo.pop()??null;return t&&this._undo.push(t),t}clear(){this._undo=[],this._redo=[]}}const Gu=new WeakMap;const Vu=(t,e,i)=>255===t[i+3]&&e.every((e,s)=>Math.abs(t[i+s]-e)<=2);async function Ku(t){const e=t.defaultView;if(!e||!e.CSS?.supports?.("mix-blend-mode","screen"))return!1;const i=[128,32,16],s=[16,64,128],n=[9,19,29],o=`\n \n \n \n \n \n `,a=e.URL.createObjectURL(new Blob([o],{type:"image/svg+xml"}));try{const o=await new Promise((t,i)=>{const s=new e.Image,n=e.setTimeout(()=>i(new Error("SVG blend probe timeout")),1e3);s.onload=()=>{e.clearTimeout(n),t(s)},s.onerror=()=>{e.clearTimeout(n),i(new Error("SVG blend probe failed"))},s.src=a}),r=t.createElement("canvas");r.width=4,r.height=1;const l=r.getContext("2d",{willReadFrequently:!0});if(!l)return!1;l.drawImage(o,0,0,4,1);const c=l.getImageData(0,0,4,1).data;return Vu(c,i,0)&&Vu(c,function(t,e){return[0,1,2].map(i=>Math.round(255-(255-t[i])*(255-e[i])/255))}(i,s),4)&&Vu(c,s,8)&&Vu(c,n,12)}catch{return!1}finally{e.URL.revokeObjectURL(a)}}const Yu={now:()=>performance.now(),requestFrame:t=>requestAnimationFrame(t),cancelFrame:t=>cancelAnimationFrame(t)},Xu=t=>Math.max(0,Math.min(1,t)),Ju=(t,e,i)=>t+(e-t)*i,Zu=(t,e,i)=>{const s=1-t;return 3*s*s*t*e+3*s*t*t*i+t*t*t};function Qu(t,e){return{centerX:t.x+t.w/2,centerY:t.y+t.h/2,pixelsPerUnit:e>0&&t.w>0?e/t.w:1,viewBox:{...t}}}function tp(t,e,i){const s=Math.max(1e-9,t.pixelsPerUnit),n=Math.max(1e-9,e/s),o=Math.max(1e-9,i/s);return{x:t.centerX-n/2,y:t.centerY-o/2,w:n,h:o}}function ep(t){const e=t.trim(),i=/^rgba?\(\s*([\d.]+)[, ]+([\d.]+)[, ]+([\d.]+)(?:\s*[,/]\s*([\d.]+))?\s*\)$/i.exec(e);if(i)return[Number(i[1]),Number(i[2]),Number(i[3]),null==i[4]?1:Number(i[4])];const s=/^#([0-9a-f]{6}|[0-9a-f]{8})$/i.exec(e)?.[1];return s?[parseInt(s.slice(0,2),16),parseInt(s.slice(2,4),16),parseInt(s.slice(4,6),16),8===s.length?parseInt(s.slice(6,8),16)/255:1]:null}function ip(t,e,i){const s=ep(t),n=ep(e);if(!s||!n)return i<.5?t:e;const o=Xu(i);return`rgba(${Math.round(Ju(s[0],n[0],o))}, ${Math.round(Ju(s[1],n[1],o))}, ${Math.round(Ju(s[2],n[2],o))}, ${Ju(s[3],n[3],o).toFixed(3)})`}function sp(t,e,i){const s=(t=>{const e=Xu(t);if(0===e||1===e)return e;let i=0,s=1,n=e;for(let t=0;t<12;t++)n=(i+s)/2,Zu(n,.2,.2){const e=this._state;if(!e||e.token!==n)return;const i=Xu((t-e.startedAt)/e.duration);e.presented=i>=1?e.to:sp(e.from,e.to,i),e.phase=i>=1?"settling":"running",this._hooks.frame(e),i<1?this._raf=this._clock.requestFrame(a):(this._raf=0,this._hooks.settled(e),this._state?.token===n&&(this._state=null))};return this._raf=this._clock.requestFrame(a),n}cancel(t=!0){this._raf&&this._clock.cancelFrame(this._raf),this._raf=0;const e=this._state;this._state=null,this._token++,e&&t&&(e.phase="settling",e.presented=e.to,this._hooks.frame(e),this._hooks.settled(e))}dispose(){this.cancel(!1)}}const op="houseplan_card_labs_v1",ap=Object.freeze([Object.freeze({id:"iso",issue:89,since:"1.62.0",expires:"1.65.0",summary:"Volumetric plan renderer"})]);function rp(t){const e=/^(\d+)\.(\d+)\.(\d+)(?:-[0-9A-Za-z.-]+)?$/.exec(String(t||"").trim());if(!e)return null;const i=e.slice(1).map(Number);return i.every(t=>Number.isSafeInteger(t))?i:null}function lp(t,e){for(let i=0;i<3;i++)if(t[i]!==e[i])return t[i]t.split(",")).map(t=>t.trim()).filter(Boolean)}function _p(t,e,i,s=ap){const n=function(t,e=ap){const i=rp(t),s=new Map;if(!i||!hp(e))return s;for(const t of e){const e=rp(t.since),n=rp(t.expires);lp(i,e)>=0&&lp(i,n)<0&&s.set(t.id,t)}return s}(i,s),o=new Set(hp(s)?s.map(t=>t.id):[]),a=new Set(function(t){if(!t)return[];try{const e=JSON.parse(t);return Array.isArray(e)?e.filter(t=>"string"==typeof t):[]}catch{return[]}}(e).filter(t=>n.has(t)));let r=!1;const l=t=>{if("off"===t)return a.clear(),void(r=!0);const e=t.startsWith("-"),i=e?t.slice(1):t;o.has(i)&&(r=!0,e||!n.has(i)?a.delete(i):a.add(i))};for(const e of pp(new URLSearchParams(String(t.search||"").replace(/^\?/,""))))l(e);for(const e of pp(dp(t.hash)))l(e);const c=Object.freeze([...a].sort());return{active:c,space:up(t.hash),persist:r?JSON.stringify(c):void 0,knownUrlOperation:r}}let gp={active:Object.freeze([]),space:""},mp="",fp=!1,vp="";const yp=new Set;function bp(){if("undefined"==typeof window)return gp;const t=_p(window.location,function(){try{return window.localStorage.getItem(op)}catch{return null}}(),mp);void 0!==t.persist&&function(t){try{window.localStorage.setItem(op,t)}catch{}}(t.persist),gp={active:t.active,space:t.space},window.__hpLabs=t.active;for(const t of yp)t(gp);return gp}function wp(){bp()}function kp(t){return mp=t,"undefined"==typeof window?gp:(fp||(fp=!0,window.addEventListener("hashchange",wp),window.addEventListener("popstate",wp)),bp())}const $p=Object.freeze({rotDeg:0,tiltDeg:20,xyScale:1,zScale:1,origin:Object.freeze([500,500])}),xp=64;function Sp(t){return[t.rotDeg,t.tiltDeg,t.xyScale,t.zScale,t.origin[0],t.origin[1]].every(Number.isFinite)&&Math.abs(t.xyScale)>1e-12&&Math.abs(Math.cos(t.tiltDeg*Math.PI/180))>1e-12}function Mp(t,e,i=$p){if(!(Sp(i)&&Number.isFinite(t[0])&&Number.isFinite(t[1])&&Number.isFinite(e)))throw new Error("invalid isometric projection input");const s=i.rotDeg*Math.PI/180,n=i.tiltDeg*Math.PI/180,o=t[0]-i.origin[0],a=t[1]-i.origin[1],r=(o*Math.cos(s)-a*Math.sin(s))*i.xyScale,l=(o*Math.sin(s)+a*Math.cos(s))*i.xyScale;return[i.origin[0]+r,i.origin[1]+l*Math.cos(n)-e*i.zScale*Math.sin(n)]}function Cp(t,e=$p){if(!Sp(e)||!Number.isFinite(t[0])||!Number.isFinite(t[1]))throw new Error("invalid isometric projection input");const i=e.rotDeg*Math.PI/180,s=e.tiltDeg*Math.PI/180,n=(t[0]-e.origin[0])/e.xyScale,o=(t[1]-e.origin[1])/(e.xyScale*Math.cos(s));return[e.origin[0]+n*Math.cos(i)+o*Math.sin(i),e.origin[1]-n*Math.sin(i)+o*Math.cos(i)]}function Dp(t=$p){return`matrix(${function(t=$p){if(!Sp(t))throw new Error("invalid isometric camera");const e=t.rotDeg*Math.PI/180,i=t.tiltDeg*Math.PI/180,s=t.xyScale*Math.cos(e),n=-t.xyScale*Math.sin(e),o=t.xyScale*Math.sin(e)*Math.cos(i),a=t.xyScale*Math.cos(e)*Math.cos(i);return[s,o,n,a,t.origin[0]-s*t.origin[0]-n*t.origin[1],t.origin[1]-o*t.origin[0]-a*t.origin[1]]}(t).map(t=>Number(t.toFixed(12))).join(" ")})`}function Tp(t,e=$p){const{rect:i,wallHeight:s}=t,n=t.openingHeight??s,o=t.floorDepth??0;if(!(i.w>=0)||!(i.h>=0)||!Number.isFinite(s)||!Number.isFinite(n)||!Number.isFinite(o)||s<0||n<0||o<0)throw new Error("invalid isometric frame");const a=[[i.x,i.y],[i.x+i.w,i.y],[i.x+i.w,i.y+i.h],[i.x,i.y+i.h]],r=Math.max(s,n),l=a.flatMap(t=>[Mp(t,-o,e),Mp(t,r,e)]),c=l.map(t=>t[0]),h=l.map(t=>t[1]),d=Math.min(...c),u=Math.min(...h);return{x:d,y:u,w:Math.max(...c)-d,h:Math.max(...h)-u}}const Pp=t=>`${Number(t[0].toFixed(4))} ${Number(t[1].toFixed(4))}`;function Rp(t){let e=0;for(let i=0;iArray.isArray(t)&&Number.isFinite(t[0])&&Number.isFinite(t[1])).map(t=>[Number(t[0]),Number(t[1])]),i=e[e.length-1];return e.length>1&&e[0][0]===i[0]&&e[0][1]===i[1]&&e.pop(),e}(t);if(i.length<3)return[];const s=!e;return Rp(i)>0===s?i:[...i].reverse()}function Ip(t,e,i){return t.length?`M ${t.map(t=>Pp(Mp(t,i,e))).join(" L ")} Z`:""}function Ep(t,e,i){const s=e[1]-t[1],n=-(e[0]-t[0]),o=i.rotDeg*Math.PI/180;return s*Math.sin(o)+n*Math.cos(o)}function Fp(t,e,i=$p){if(!Number.isFinite(e)||e<0)throw new Error("invalid floor edge height");const s=(t||[]).map(t=>(t||[]).map((t,e)=>function(t,e){const i=Ap(t,e);if(!i.length)return i;let s=0;for(let t=1;t0)).filter(t=>t.length>=3&&Math.abs(Rp(t))>=1e-9)).filter(t=>t.length&&Rp(t[0])>0);s.sort((t,e)=>{const i=t[0][0],s=e[0][0];return i[0]-s[0]||i[1]-s[1]||Math.abs(Rp(e[0]))-Math.abs(Rp(t[0]))});const n=[],o=[];let a=0;for(let t=0;tt.depth-e.depth||t.component-e.component||t.edge-e.edge),{footprintPath:n.join(" "),sides:o,componentCount:s.length,edgeCount:a}}function zp(t,e){return t^=Math.round(64*(Number.isFinite(e)?e:0)),Math.imul(t,16777619)>>>0}const Op=t=>t.every(Number.isFinite);function Hp(t,e,i,s){const n=t[0]*i,o=t[1]*s,a=e*Math.PI/180;return[n*Math.cos(a)-o*Math.sin(a),n*Math.sin(a)+o*Math.cos(a)]}function Np(t,e,i,s,n,o,a){const r=t.flipH?-1:1,l=t.flipV?-1:1,c=function(t,e){return[t[0]+e[0],t[1]+e[1]]}([t.x+t.face.ox,t.y+t.face.oy],Hp(i,t.angle,r,l));return{leaf:e,hinge:c,closedVector:Hp(s,t.angle,r,l),quarterVector:Hp([-s[1],s[0]],t.angle,r,l),turnDeg:n,bottom:o,top:a}}const Lp=t=>`${Number(t[0].toFixed(4))} ${Number(t[1].toFixed(4))}`;function Bp(t,e,i=$p){const s=Math.max(0,Math.min(1,Number.isFinite(e)?e:0));return t.leaves.map(e=>{const n=function(t,e){const i=t.turnDeg*e*Math.PI/180;return[t.hinge[0]+t.closedVector[0]*Math.cos(i)+t.quarterVector[0]*Math.sin(i),t.hinge[1]+t.closedVector[1]*Math.cos(i)+t.quarterVector[1]*Math.sin(i)]}(e,s),o=Mp(e.hinge,e.bottom,i),a=Mp(n,e.bottom,i),r=Mp(n,e.top,i),l=Mp(e.hinge,e.top,i);return{id:t.id,sourceIndex:t.sourceIndex,type:t.type,leaf:e.leaf,d:`M ${Lp(o)} L ${Lp(a)} L ${Lp(r)} L ${Lp(l)} Z`,shadowD:`M ${Lp(Mp(e.hinge,0,i))} L ${Lp(Mp(n,0,i))}`,depth:Math.max(o[1],a[1])}})}const qp={window:120,door:90,passage:90,gate:300};function Wp(t){return qp[t]}function jp(t,e){const i=[t[0],t[1]],s=[e[0],e[1]];return function(t,e){return t[0]-e[0]||t[1]-e[1]}(i,s)<=0?{a:i,b:s}:{a:s,b:i}}function Up(t){const e=new Map;return t.forEach((t,i)=>{if(!t.kind||t.open)return;const s=jp(t.a,t.b);if(Math.hypot(s.b[0]-s.a[0],s.b[1]-s.a[1])<=1e-9)return;const n=function(t,e){const i=t=>(Math.abs(t)<=5e-10?0:Math.round(1e6*t)/1e6).toFixed(6);return`${i(t[0])},${i(t[1])}>${i(e[0])},${i(e[1])}`}(s.a,s.b),o=e.get(n);if(o)return o.physicalHalfWidth=Math.max(o.physicalHalfWidth,t.half||0),o.sourceOrder=Math.min(o.sourceOrder,i),void(t.partitionHost&&(o.partitionHost&&o.partitionHost.id!==t.partitionHost.id?o.ambiguousPartitionHost=!0:o.partitionHost=t.partitionHost));e.set(n,{segmentKey:n,a:s.a,b:s.b,physicalHalfWidth:Math.max(0,t.half||0),sourceOrder:i,...t.partitionHost?{partitionHost:t.partitionHost}:{}})}),[...e.values()]}function Gp(t,e){if(Math.abs(t.distance-e.distance)>1e-9)return t.distance-e.distance;if(Math.abs(t.perpendicular-e.perpendicular)>1e-9)return t.perpendicular-e.perpendicular;return(t.target.segmentKeye.target.segmentKey?1:0)||t.target.sourceOrder-e.target.sourceOrder}function Vp(t){const e=Up(t.intervals).map(e=>{const i=function(t,e){const i=e.b[0]-e.a[0],s=e.b[1]-e.a[1],n=Math.hypot(i,s),o=i/n,a=s/n,r=(t[0]-e.a[0])*o+(t[1]-e.a[1])*a,l=Math.max(0,Math.min(n,r)),c=e.a[0]+l*o,h=e.a[1]+l*a;return{along:l,length:n,x:c,y:h,distance:Math.hypot(t[0]-c,t[1]-h),perpendicular:Math.abs((t[0]-e.a[0])*a-(t[1]-e.a[1])*o)}}(t.pointer,e);return{target:e,...i,envelope:Math.max(t.baseTolerance,e.physicalHalfWidth+t.bodyPointerPadding)}}).filter(t=>t.distance<=t.envelope+1e-9).filter(e=>!e.target.partitionHost||t.renderedLength<=e.length+1e-9).filter(e=>!function(t,e,i,s,n){const o=e.b[0]-e.a[0],a=e.b[1]-e.a[1],r=Math.hypot(o,a);if(!(r>1e-9))return!1;const l=o/r,c=a/r;for(const o of i){if(!o.open&&o.kind)continue;const i=jp(o.a,o.b),a=i.b[0]-i.a[0],r=i.b[1]-i.a[1],h=Math.hypot(a,r);if(!(h>1e-9))continue;const d=a/h,u=r/h;if(Math.abs(l*u-c*d)>1e-6)continue;if(Math.abs((i.a[0]-e.a[0])*c-(i.a[1]-e.a[1])*l)>n)continue;const p=(t[0]-i.a[0])*d+(t[1]-i.a[1])*u,_=1e-9;if(!(p<=_||p>=h-_)&&Math.abs((t[0]-i.a[0])*u-(t[1]-i.a[1])*d)<=s+1e-9)return!0}return!1}(t.pointer,e.target,t.intervals,e.envelope,Math.max(1e-9,Math.min(t.baseTolerance,.04*t.gridStep)))).sort(Gp);let i=e[0];if(!i)return null;const s=e.filter(t=>Math.abs(t.distance-i.distance)<=1e-9&&Math.abs(t.perpendicular-i.perpendicular)<=1e-9),n=s.filter(t=>t.target.partitionHost);if(n.length){if(1!==new Set(n.map(t=>t.target.partitionHost.id)).size||n.some(t=>t.target.ambiguousPartitionHost))return null;const t=n[0],e=t.target.b[0]-t.target.a[0],o=t.target.b[1]-t.target.a[1],a=Math.hypot(e,o),r=e/a,l=o/a;if(!s.every(e=>{const i=e.target.b[0]-e.target.a[0],s=e.target.b[1]-e.target.a[1],n=Math.hypot(i,s),o=i/n,a=s/n,c=Math.abs(r*a-l*o)<=1e-6,h=Math.abs((e.target.a[0]-t.target.a[0])*l-(e.target.a[1]-t.target.a[1])*r);return c&&h<=1e-9}))return null;i=t}if(i.target.ambiguousPartitionHost)return null;const{target:o,length:a}=i,r=o.b[0]-o.a[0],l=o.b[1]-o.a[1],c=r/a,h=l/a,d=Math.min(Math.max(0,t.renderedLength)/2,a/2);let u=i.along;const p=Math.max(t.gridStep,1e-9),_=a/2;u=Math.abs(u-_)<=p/2?_:Math.round(u/p)*p,u=Math.max(d,Math.min(a-d,u));const g=o.a[0]+c*u,m=o.a[1]+h*u,f=Math.max(0,t.renderedLength)/2,v=u-f,y=u+f,b=Math.max(0,v),w=Math.max(0,a-y),k=[o.a[0]+c*(v-b/2),o.a[1]+h*(v-b/2)],$=[o.a[0]+c*(y+w/2),o.a[1]+h*(y+w/2)];let x=180*Math.atan2(l,r)/Math.PI;x>=90?x-=180:x<-90&&(x+=180);const S=Math.abs(u-_)<=1e-9;return{presetRevision:t.preset.revision,geometryRevision:t.geometryRevision,pointer:[t.pointer[0],t.pointer[1]],type:t.preset.type,lengthCm:t.preset.lengthCm,flipH:t.preset.flipH,flipV:t.preset.flipV,x:g,y:m,angle:x,renderedLength:t.renderedLength,target:o,...o.partitionHost?{host:{...o.partitionHost,t:a>0?u/a:0}}:{},measure:{labels:[{distance:b,midpoint:k},{distance:w,midpoint:$}],guide:S?{x:g,y:m,angle:x}:null}}}function Kp(t,e,i,s,n=1e-6){return t.presetRevision===i&&t.geometryRevision===s&&Math.hypot(t.pointer[0]-e[0],t.pointer[1]-e[1])<=n}const Yp="1.65.0-beta.2",Xp={badge:"display.badge",icon_ripple:"display.icon_ripple",value:"display.value",static_icon:"display.static_icon"},Jp={badge:"marker.display_hint_badge",icon_ripple:"marker.display_hint_icon_ripple",value:"marker.display_hint_value",static_icon:"marker.display_hint_static_icon"},Zp=2e3,Qp=1e3,t_=1500,e_=t=>{const e=String(t??"").trim().replace(",",".");if(!/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)$/.test(e))return null;const i=Number(e);return Number.isFinite(i)?i:null},i_=(t,e)=>{if(!t.has(e))return{hit:!1};const i=t.get(e);return t.delete(e),t.set(e,i),{hit:!0,value:i}},s_=(t,e,i,s)=>{for(t.delete(e),t.set(e,i);t.size>s;){const e=t.keys().next().value;if(void 0===e)break;t.delete(e)}},n_=new Map;let o_=0;const a_=t=>`${window.innerWidth}x${window.innerHeight}|${location.pathname}|${JSON.stringify(t??{})}`;let r_=1e4;const l_="houseplan_card_layout_v1",c_="houseplan_card_cfg_v1",h_="houseplan_card_zoom_v1",d_="houseplan_card_nav_v1",u_="houseplan_card_kiosk_v1",p_="houseplan_card_view_v1",__=1e3,g_=[[0,1],[45,.88],[70,.62],[86,.32],[100,0]],m_=(t,e)=>{const i=Math.min(t.x,e.x),s=Math.min(t.y,e.y);return{x:i,y:s,w:Math.max(t.x+t.w,e.x+e.w)-i,h:Math.max(t.y+t.h,e.y+e.h)-s}},f_=new Set(["select","draw","partition","column","merge","split","resize","opening","boundary","wallthick","delroom"]),v_=2e3,y_=(t,e,i)=>{const s=new Event(e,{bubbles:!0,composed:!0});s.detail=i??{},t.dispatchEvent(s)},b_=t=>{history.pushState(null,"",t),y_(window,"location-changed",{replace:!1})},w_=(t,e)=>{let i,s=null;const n=(...n)=>{clearTimeout(i),s=n,i=window.setTimeout(()=>{i=void 0;const e=s;s=null,e&&t(...e)},e)};return n.flush=()=>{if(void 0===i)return;clearTimeout(i),i=void 0;const e=s;s=null,e&&t(...e)},n.cancel=()=>{clearTimeout(i),i=void 0,s=null},n.pending=()=>void 0!==i,n},k_=t=>{try{t.target?.setPointerCapture?.(t.pointerId)}catch{}};class $_ extends ht{constructor(){super(...arguments),this._space="f1",this._layout={},this._serverStorage=!1,this._loadOk=!1,this._serverCanWrite=null,this._loading=!1,this._loadTries=0,this._serverCfg=null,this._cfgRev=0,this._cfgContentFingerprint="",this._unsubCfg=null,this._unsubLayout=null,this._unsubVirtual=null,this._liveSyncAttempt=null,this._liveSyncGeneration=0,this._liveSyncConnection=null,this._layoutRev=0,this._layoutContentFingerprint="",this._virtualLights=gn(null),this._canOptimizeUndo=!1,this._undoKind=null,this._devices=[],this._regSignature="",this._defPos={},this._newSyncKey="",this._tip=null,this._hoverRoom=null,this._selId=null,this._toast="",this._mode="view",this._pendingNavMode=null,this._decorTool="select",this._decorStyle={...er},this._decorDraft=null,this._decorMove=null,this._decorSel=null,this._decorEraseConfirm=null,this._decorTextDialog=null,this._decorShapeDialog=null,this._backdropDialog=null,this._decorTextSelection={start:0,end:0},this._furnPalette=null,this._dtBox=null,this._dtDrag=null,this._bdDrag=null,this._slide="",this._reducedMotion=!1,this._onMotionChange=t=>{this._reducedMotion=t.matches,t.matches&&this._modeTransitionPreparing?this._modeTransitionForceAtomic=!0:t.matches&&this._modeTransition.active&&this._cancelModeTransition(!0),this.requestUpdate()},this._editorChromeMode="plan",this._modeTransitionVisual=null,this._modeTransitionPreparing=!1,this._modeTransitionForceAtomic=!1,this._modeTransitionRequest=0,this._modeTransitionTargetZoom=1,this._modeTransitionEditorCamera=null,this._modeTransition=new np({frame:t=>this._applyModeTransitionFrame(t),settled:t=>this._settleModeTransition(t)}),this._editorSecondary=new Ru({root:()=>this.renderRoot,requestUpdate:()=>this.requestUpdate(),updateComplete:()=>this.updateComplete,clearTip:()=>{this._tip=null}}),this._editorSecondaryCopy={groupActive:(t,e)=>this._t("editor.group_active",{group:t,item:e}),openGroup:t=>this._t("editor.open_group",{group:t}),disabledAction:(t,e)=>this._t("editor.disabled_action",{action:t,reason:e})},this._tool="draw",this._geometryHistory=new Uu(50),this._wallDialog=null,this._drawWallField=null,this._activeDraftId=null,this._resumeDraftBySpace={},this._physicalSel=null,this._physicalDialog=null,this._partitionDeleteDialog=null,this._physicalDrag=null,this._physicalRotate=null,this._physicalLastTap=null,this._physicalPickCycle=null,this._wallUnionCache=null,this._isoGeometryCache=new Map,this._isoFallback=new Set,this._openingTunnelCache=null,this._openingWallIndexCache=new Map,this._openingPlacementIntervalsCache=null,this._planSnapGeometryCache=null,this._planStructuralGeometryCache=null,this._physicalBodiesCache=null,this._lightPhysicalBodiesCache=null,this._cleanFloorCache=new Map,this._glowClipCache=new Map,this._lightBarrierCache=null,this._glowFeatherUnits=null,this._glowRenderedSources=new Map,this._glowLastAppearance=new Map,this._glowEnteringSources=new Set,this._glowEnterRafs=new Map,this._glowFadeTimers=new Map,this._glowFeatherSuspendUntil=0,this._glowFeatherResumeTimer=0,this._glowSourceSeq=0,this._glowScreenBlend=!1,this._duplicateColumnId=null,this._duplicateColumnTimer=0,this._rszSel=null,this._rszDrag=null,this._rszPreview=null,this._rszLive=null,this._path=[],this._cursorPt=null,this._planSnapHover=null,this._mergeSel=null,this._openingPreset=null,this._openingRebindId=null,this._openingPresetRevision=0,this._openingHoverCandidate=null,this._openingDialog=null,this._openingInfo=null,this._opDrag=null,this._opMeasure=null,this._mergeDialog=null,this._openWallAnchor=null,this._boundaryPointerType="mouse",this._boundaryRestoreGuard=null,this._boundaryTargetMemo=null,this._boundaryPreviewMemo=null,this._splitSel=null,this._pendingSplit=null,this._wallFaceBatch=null,this._wallFaceGraphCache=[],this._areaSel="",this._nameSel="",this._roomDialog=!1,this._roomEditId=null,this._roomFill="",this._roomCustomFill=null,this._roomTempSrc="",this._roomHumSrc="",this._roomSrcOpen=null,this._roomSrcFilter="",this._roomNameScale=1,this._roomLabelScale=1,this._zoom=1,this._view=null,this._zoomBySpace={},this._viewModeSnap=null,this._pointers=new Map,this._panStart=null,this._panLock=null,this._pinchStart=null,this._suppressClick=!1,this._touchContacts=new Map,this._touchSequenceMultitouch=!1,this._touchClickBlockUntil=0,this._connectedPath="",this._routeDepartureHandled=!1,this._onLocationChanged=()=>{this._connectedPath&&location.pathname!==this._connectedPath?this._leaveCardRoute():location.pathname===this._connectedPath&&(this._routeDepartureHandled=!1)},this._touchGestureGuard={capture:!0,handleEvent:t=>this._guardTouchGesture(t)},this._hdrH=118,this._booting=!0,this._bootFading=!1,this._bootSettling=!1,this._bootSettleRaf=0,this._bootLastH=-1,this._bootStart=0,this._bootLastChange=0,this._bootSoft=!1,this._tapConfirm=null,this._onboardingShown=!1,this._rulesDialog=null,this._alignDialog=null,this._settingsDialog=null,this._backupExportDialog=null,this._backupImportDialog=null,this._sunRaysCache=null,this._dayCycleTimer=0,this._dayCycleClockKey="",this._compassDrag=!1,this._importDialog=null,this._importQueue=[],this._importTotal=0,this._rulesCompiledSrc="",this._infoCard=null,this._nativeMoreInfoEntity=null,this._markerDialog=null,this._spaceDialog=null,this._keyHandler=t=>this._onKey(t),this._warmVp=null,this._warmVpArmed=!1,this._warmLongReturn=!1,this._warmRevivePending=!1,this._warmGen=++o_,this._warmKey=null,this._warmSlot=null,this._hashApplied=!1,this._navApplied=!1,this._labs={active:Object.freeze([]),space:""},this._viewPreference={},this._renderProjection="flat",this._kioskScale={icon:1,font:1},this._kioskDialog=!1,this._activityRt=new Map,this._vacRt=new Map,this._vacViewKey="",this._vacLastView=null,this._vacRaf=0,this._vacSrvTrails={},this._vacJumpOnce=!1,this._continuity=this._newContinuityController(),this._continuityHistory=[],this._continuityEpoch=0,this._continuityDataReady=!0,this._continuityPaintToken=-1,this._continuityDisposed=!1,this._renderSnapshotAt=Date.now(),this._hassSequence=0,this._visibleDeviceSnapshot=null,this._candidateDeviceSnapshot=null,this._stagedDeviceSnapshotToken=-1,this._capturedSnapshotSequence=-1,this._capturedSnapshotDevices=null,this._capturedSnapshotLayout=null,this._capturedSnapshotActivity="",this._capturedSnapshotConfigEpoch=-1,this._capturedSnapshotVirtual="",this._lastValidStageSize=null,this._pendingRefitSize=null,this._refitRaf=0,this._pageVisibility=t=>{if(this._continuity.visibility(t),this._dayCycleVisibility(t),"hidden"!==t.kind){if(this._vacJumpOnce=!0,!t.long){const t=Date.now();let e=!1;for(const i of this._activityRt.values())!i.flashKind||(i.expiresAt||i.flashTs+wu)>t||(i.flashTs=0,i.flashKind=null,i.expiresAt=0,e=!0);return void(e&&this.requestUpdate())}Date.now()-this._renderSnapshotAt>1e3&&this._continuity.note("device-snapshot-stale"),this._continuityDataReady=!1,this._continuityPaintToken=-1,this._resumeSettling=!0,this._loading?this.requestUpdate():this._loadFromServer()}else this._modeTransitionPreparing?this._modeTransitionForceAtomic=!0:this._cancelModeTransition(!0)},this._resumeSettling=!1,this._viewportInvalidAt=0,this._vacFit=null,this._vacAllCamerasFor=null,this._vacAllCameraCache=null,this._vacCalConfirm=null,this._kioskDots=!1,this._cyclePausedUntil=0,this._swipeStart=null,this._lastTap=0,this._onLabsSnapshot=t=>{const e=this._effectiveProjection();this._labs=t;const i=this._effectiveProjection();this._convertProjectionView(e,i),this.requestUpdate()},this._onHashChange=()=>{const t=this._hashSpace();if(t&&this._model.find(e=>e.id===t)&&t!==this._space){if(this._wallFaceBatch&&this._roomDialogCancel(),"plan"===this._mode&&"draw"===this._tool&&!this._finishWallChain())return;this._activeDraftId&&(this._resumeDraftBySpace[this._space]=this._activeDraftId),this._space=t,this._selId=null,this._path=[],this._clearPlanSnapHover(),this._clearOpeningPlacement(!0),this._tool="draw",this._openWallAnchor=null,this._boundaryRestoreGuard=null,this._activeDraftId=null,this._draftSegmentCms=[],this._closingWallCm=null,"plan"===this._mode&&"draw"===this._tool&&this._resumeLastDraft(),this._restoreZoom(),this.requestUpdate()}},this._drag=null,this._rlResize=null,this._holdFired=!1,this._retryContinuity=()=>{this._continuityDataReady=!1,this._continuityPaintToken=-1,this._continuity.retry(this._continuity.recoveryReason||"plan"),this._loading||this._loadFromServer()},this._cfgEpoch=0,this._modelCache=null,this._emptySpaceStateActive=!1,this._decorSnapCache=null,this._markerPreviewMemo=null,this._markerPreviewDevicesMemo=null,this._showHidden=!1,this._connHooked=null,this._connectionWasLost=!1,this._haRegistryConnection=null,this._haRegistryRev=-1,this._haBindingCacheKey="",this._planHassMemo=null,this._onHaRegistryUpdate=()=>{const t=In(this.hass);t.revision===this._haRegistryRev&&this._devices.length||(this._haRegistryRev=t.revision,this._planHassMemo=null,this._regSignature="",this._maybeRebuildDevices(),this.requestUpdate())},this._onConnReady=()=>{if(this._loadTries=0,clearTimeout(this._loadRetryTimer),this._loadRetryTimer=void 0,function(t){const e=Cn(t);e&&(Pn(t,e),Rn(t,e))}(this.hass),this._saveConfigDebounced.pending()&&this._saveConfigDebounced.flush(),this._cfgWriting)return clearTimeout(this._reloadRetry),void(this._reloadRetry=window.setTimeout(this._onConnReady,400));!this._connectionWasLost&&this._continuity.hasCompleteFrame?this._beginContinuityCandidate("connection-ready",!1,"plan"):(this._continuityDataReady=!1,this._continuityPaintToken=-1),this._loading||this._loadFromServer()},this._onConnLost=()=>{this._booting&&!this._continuity.hasCompleteFrame||(this._connectionWasLost=!0,this._continuityDataReady=!1,this._continuityPaintToken=-1,this._continuity.connectionLost())},this._signer=new nh(()=>this.requestUpdate()),this._dirtyPos=new Set,this._sentPos=new Map,this._persistLayout=w_(()=>{if(this._serverStorage){const t=[...this._dirtyPos];this._dirtyPos.clear();for(const e of t){const t=this._layout[e];t&&(this._sentPos.set(e,t),this.hass.callWS({type:"houseplan/layout/update",device_id:e,pos:t}).then(t=>this._noteLayoutRev(t)).catch(t=>this._showToast(this._t("toast.pos_save_failed",{err:this._errText(t)}))).finally(()=>{this._sentPos.get(e)===t&&this._sentPos.delete(e)}))}this._cacheSnapshot()}else localStorage.setItem(l_,JSON.stringify(this._layout))},600),this._frame=null,this._showFar=!1,this._writesPending=0,this._writeChain=Promise.resolve(),this._undoGeometry=()=>{if(this._cancelBoundaryAnchor())return;if(this._physicalDrag||this._physicalRotate)return void this._cancelPhysicalGesture();if(this._decorDraft)return this._decorDraft=null,void this.requestUpdate();if(this._decorMove||this._dtDrag||this._bdDrag)return void this._cancelDecorGesture();if(this._rszDrag)return void this._rszCancelDrag();const t=this._geometryHistory.undo();t&&(this._applyGeometryState(t.before)?this._showToast(this._t("history.undone",{name:t.name})):this._geometryHistory.clear())},this._redoGeometry=()=>{if(this._cancelBoundaryAnchor())return;if(this._physicalDrag||this._physicalRotate)return void this._cancelPhysicalGesture();if(this._decorDraft)return this._decorDraft=null,void this.requestUpdate();if(this._decorMove||this._dtDrag||this._bdDrag)return void this._cancelDecorGesture();if(this._rszDrag)return void this._rszCancelDrag();const t=this._geometryHistory.redo();t&&(this._applyGeometryState(t.after)?this._showToast(this._t("history.redone",{name:t.name})):this._geometryHistory.clear())},this._saveConfigDebounced=w_(()=>{this._serverCfg&&this._writeConfig().catch(t=>{"conflict"===t?.code?(this._showToast(this._t("toast.conflict")),this._cancelPath(),this._reloadConfigOnly(!0)):this._showToast(this._t("toast.cfg_save_failed",{err:this._errText(t)}))})},500),this._draftSegmentCms=[],this._closingWallCm=null,this._savePhysicalDialog=()=>{const t=this._physicalDialog,e=this._curSpaceCfg,i=this._spaceModel();if(!t||!e||!i)return;const s=e_(t.cm);if(null==s)return void this._showPhysicalRange("column"===t.kind?kl:100);const n=this._imperial?2.54*s:s,o="column"===t.kind?kl:100;if(!Number.isFinite(n)||n<1||n>o)return void this._showPhysicalRange(o);if("column"===t.kind){const e=i.wall_columns.find(e=>e.id===t.id);if(!e)return;const s=e_(t.angle||"0");if("circle"!==t.shape&&(null==s||s<0||s>=90))return void this._showToast(this._t("toast.physical_angle"));const o="circle"===t.shape?{id:t.id,shape:"circle",center:e.center,cm:n}:{id:t.id,shape:"square",center:e.center,cm:n,angle:s};if(i.wall_columns.some(e=>e.id!==t.id&&Nl(e,o,.02*this._gridPitch)))return void this._showToast(this._t("toast.column_duplicate"))}const a=this._geometrySnapshot();if("partition"===t.kind){const i=(e.partitions||[]).find(e=>e.id===t.id);i&&(i.cm=n)}else if("column"===t.kind){const i=(e.wall_columns||[]).find(e=>e.id===t.id);i&&(i.cm=$l(n),i.shape="circle"===t.shape?"circle":"square","square"===i.shape?i.angle=e_(t.angle||"0"):delete i.angle)}else{const i=(e.room_drafts||[]).find(e=>e.id===t.id);i?.segments?.[t.segment||0]&&(i.segments[t.segment||0].cm=n)}this._recordGeometry(this._t("history.physical_edit"),a),this._physicalDialog=null,this._saveConfig()},this._deletePhysicalSelection=()=>{const t=this._physicalSel,e=this._curSpaceCfg;if(!t||!e)return;if("draft"===t.kind)return void this._deleteDraftWhole();const i=this._geometrySnapshot();if("partition"===t.kind){const i=(e.openings||[]).filter(e=>"partition"===e.host?.kind&&e.host.id===t.id).sort((t,e)=>(t.host?.t||0)-(e.host?.t||0));if(i.length)return void(this._partitionDeleteDialog={id:t.id,openings:i.map(t=>JSON.parse(JSON.stringify(t)))})}const s="partition"===t.kind?"partitions":"column"===t.kind?"wall_columns":"room_drafts";e[s]=(e[s]||[]).filter(e=>e.id!==t.id),e[s].length||delete e[s],this._activeDraftId===t.id&&this._cancelPath(),this._physicalSel=null,this._physicalDialog=null,this._recordGeometry(this._t("history.physical_delete"),i),this._saveConfig()},this._confirmPartitionDelete=()=>{const t=this._partitionDeleteDialog,e=this._curSpaceCfg;if(!t||!e)return;const i=this._geometrySnapshot();e.partitions=(e.partitions||[]).filter(e=>e.id!==t.id),e.partitions.length||delete e.partitions,e.openings=(e.openings||[]).filter(e=>"partition"!==e.host?.kind||e.host.id!==t.id),e.openings.length||delete e.openings,this._partitionDeleteDialog=null,this._physicalSel=null,this._physicalDialog=null,this._recordGeometry(this._t("history.physical_delete"),i),this._saveConfig()},this._deleteDraftWhole=()=>{const t="draft"===this._physicalDialog?.kind?this._physicalDialog.id:"draft"===this._physicalSel?.kind?this._physicalSel.id:null,e=this._curSpaceCfg;if(!t||!e||!confirm(this._t("confirm.delete_draft")))return;const i=this._geometrySnapshot();e.room_drafts=(e.room_drafts||[]).filter(e=>e.id!==t),e.room_drafts.length||delete e.room_drafts,this._activeDraftId===t&&this._cancelPath(),this._physicalSel=null,this._physicalDialog=null,this._recordGeometry(this._t("history.physical_delete"),i),this._saveConfig()},this._deleteDraftSegment=()=>{const t=this._physicalDialog,e=this._curSpaceCfg;if(!t||"draft"!==t.kind||!e)return;if(!confirm(this._t("confirm.delete_draft_segment")))return;const i=(e.room_drafts||[]).findIndex(e=>e.id===t.id);if(i<0)return;const s=e.room_drafts[i],n=Math.max(0,Math.min(s.segments.length-1,t.segment||0)),o=[],a=s.points.slice(0,n+1),r=s.points.slice(n+1);if(a.length>=2&&o.push({id:s.id,points:a,segments:s.segments.slice(0,n)}),r.length>=2&&o.push({id:o.length?`${s.id}-${Date.now().toString(36)}`:s.id,points:r,segments:s.segments.slice(n+1)}),2===o.length&&e.room_drafts.length>=200)return void this._showToast(this._t("toast.physical_limit"));const l=this._geometrySnapshot();e.room_drafts.splice(i,1,...o),e.room_drafts.length||delete e.room_drafts,this._activeDraftId===s.id&&this._cancelPath(),this._physicalDialog=null,this._physicalSel=o.length?{kind:"draft",id:o[0].id}:null,this._recordGeometry(this._t("history.draft_segment_delete"),l),this._saveConfig()},this._rebindPartitionOpening=()=>{const t=this._openingDialog;if(!t?.id)return;const e=t.id;this._activateMarkupTool("opening"),"opening"===this._tool&&(this._openingRebindId=e,this._openingPreset={type:t.type,lengthCm:t.lengthCm,flipH:t.flipH,flipV:t.flipV,revision:++this._openingPresetRevision},this._openingDialog=null,this._openingHoverCandidate=null)},this._keepClosedAsPartitions=()=>{if(this._wallFaceBatch)return void this._decideWallFace(!1);if(!this._contourClosed||this._pendingSplit||!this._curSpaceCfg)return;const t=this._curSpaceCfg,e=this._path.slice(0,-1);if((t.partitions||[]).length+e.length>v_)return void this._showToast(this._t("toast.physical_limit"));const i=this._geometrySnapshot(),s=[...this._draftSegmentCms,this._closingWallCm||this._drawWallCm||pr];t.partitions||=[];const n=Date.now().toString(36);for(let i=0;it.id!==this._activeDraftId),t.room_drafts.length||delete t.room_drafts),this._recordGeometry(this._t("history.contour_to_partitions"),i),this._saveConfig(),this._roomDialog=!1,this._path=[],delete this._resumeDraftBySpace[this._space],this._activeDraftId=null,this._draftSegmentCms=[],this._closingWallCm=null},this._toggleServerPlans=async()=>{const t=this._spaceDialog;if(t)if(t.pickSaved)this._spaceDialog={...t,pickSaved:!1};else{this._spaceDialog={...t,pickSaved:!0,savedBusy:!0};try{const t=await this.hass.callWS({type:"houseplan/plans/list"}),e=this._spaceDialog;e&&(this._spaceDialog={...e,saved:t?.plans||[],savedBusy:!1})}catch(t){const e=this._spaceDialog;e&&(this._spaceDialog={...e,saved:[],savedBusy:!1}),this._showToast(this._t("toast.plans_list_failed",{err:this._errText(t)}))}}},this._aspectJob=null,this._dayCycleTick=()=>{if(!this.isConnected||"hidden"===this.ownerDocument.visibilityState)return;const t=this._dayCycleState();if(!t)return this._dayCycleTimer&&(clearInterval(this._dayCycleTimer),this._dayCycleTimer=0),void(this._dayCycleClockKey="");const e=Na(t);e!==this._dayCycleClockKey&&(this._dayCycleClockKey=e,this.requestUpdate())},this._sunShown=!1,this._sunOut=!1,this._sunOutTimer=0,this._openSettingsDialog=()=>{if(!this._norm)return;const t=this._glowRadiusCm,e=this._imperial?Math.round(t/30.48*10)/10:Math.round(t)/100;this._settingsDialog={colors:JSON.parse(JSON.stringify(this._fillColors)),glowRadius:e,bgColor:hs(this._settings,{bgColor:null})||null,northDeg:Ka(this._settings,{}),bgMode:Ya(this._settings,{}),sunRays:Xa(this._settings,{}),busy:!1}},this._openAlignDialog=()=>{if(!this._norm||!this._serverCfg)return;const t=this._serverCfg.spaces||[],e=ju(this._serverCfg,this._layout||{}),i=Math.ceil(10*e.report.maxShiftCm)/10,s=t.find(t=>null!=t?.id&&String(t.id)===e.report.maxSpace),n=t.length>1&&s?String(s.title||s.id):"";this._alignDialog={report:e.report,config:e.config,layout:e.layout,cm:i,where:n,changed:e.changed,busy:!1}},this._optimizeUndoBusy=!1,this._openBackupExport=()=>{this._settingsDialog=null,this._backupExportDialog={kind:"full",planOnly:!1,busy:!1,error:""}},this._openRulesDialog=()=>{if(!this._norm)return;const t=this._settings.icon_rules,e=(t&&t.length?t:Xt).map(t=>({...t}));this._rulesDialog={rules:e,test:"",busy:!1}},this._climateCache=null,this._gearPtCache=new WeakMap}get _canEdit(){return!!this._norm&&(!0===this._serverCanWrite||!1!==this._serverCanWrite&&!0===this.hass?.user?.is_admin)}get _kiosk(){return!!this._config?.kiosk}_showKioskDots(){this._kioskDots=!0,clearTimeout(this._kioskDotsTimer),this._kioskDotsTimer=window.setTimeout(()=>this._kioskDots=!1,2500)}get _modeTransitionBusy(){return this._modeTransitionPreparing||this._modeTransition.active}_cssColor(t,e){const i=String(t||"").trim();if(!i)return e;const s=document.createElement("span");s.style.cssText=`position:absolute;visibility:hidden;color:${i}`,this.renderRoot.append(s);const n=getComputedStyle(s).color||e;return s.remove(),n}_currentModeVisual(t=this._mode){const e=this._modeTransition.presented||this._modeTransitionVisual;if(e)return{...e,viewport:{...e.viewport,viewBox:{...e.viewport.viewBox}}};const i=this._stageEl;if(!i||i.clientWidth<=0||i.clientHeight<=0)return null;const s=this.renderRoot.querySelector(".editorchrome"),n=this._viewOr(this._baseVb()),o=this.renderRoot.querySelector(".hp-paper"),a=this.renderRoot.querySelector(".hp-backdrop"),r=this.renderRoot.querySelector(".zoomwrap"),l=r?getComputedStyle(r).filter:"",c=Number(/brightness\(([^)]+)\)/.exec(l)?.[1]);return{presentedMode:t,editorChromeHeight:"view"===t?0:s?.getBoundingClientRect().height||0,stageWidth:i.clientWidth,stageHeight:i.clientHeight,viewport:Qu(n,i.clientWidth),stageColor:getComputedStyle(i).backgroundColor||"rgb(255, 255, 255)",paperColor:o?getComputedStyle(o).fill:"rgb(255, 255, 255)",sceneBrightness:Number.isFinite(c)?c:1,architectureOpacity:"decor"===t?.35:1,backdropOpacity:a&&Number(getComputedStyle(a).opacity)||1,viewWeight:"view"===t?1:0,editorWeight:"view"===t?0:1,toolbarContentOpacity:"view"===t?0:1}}_viewForModeTarget(t,e,i,s,n){const o=Oi(this._baseVb(),s/Math.max(1,n)),a=Math.min($_.ZOOM_MAX,Math.max($_.ZOOM_MIN,t)),r=o.w/a,l=o.h/a,c=e??o.x+o.w/2,h=i??o.y+o.h/2;return this._clampView({x:c-r/2,y:h-l/2,w:r,h:l},o)}_targetStageColor(t){return"view"!==t?"rgb(255, 255, 255)":this._cssColor(this._stageBg(this._spaceDisplayForRender()),this._cssColor("var(--ha-card-background, var(--card-background-color, #111))","rgb(17, 17, 17)"))}_targetPaperColor(t){return"view"===t&&this._spaceModel()?.bg?this._cssColor("var(--ha-card-background, var(--card-background-color, #111))","rgb(17, 17, 17)"):"rgb(255, 255, 255)"}_targetBrightness(t){return 1}_applyModeTransitionFrame(t){t.targetMode===this._mode&&(this._modeTransitionVisual=t.presented,this._view={...t.presented.viewport.viewBox},this.requestUpdate())}_settleModeTransition(t){if(t.targetMode!==this._mode)return;const e=this._modeTransitionRequest;this._view={...t.to.viewport.viewBox},this._zoom=this._modeTransitionTargetZoom,this._modeTransitionVisual=null,this._modeTransitionPreparing=!1,this._lastValidStageSize=[t.to.stageWidth,t.to.stageHeight],"view"===this._mode&&(this._saveZoom(),this._viewModeSnap=null,this._modeTransitionEditorCamera=null),this.requestUpdate(),this.updateComplete.then(()=>{if(!this.isConnected||e!==this._modeTransitionRequest||this._modeTransitionBusy||t.targetMode!==this._mode)return;const i=this._stageEl;if(i&&i.clientWidth>0&&i.clientHeight>0&&(Math.abs(i.clientWidth-t.to.stageWidth)>.5||Math.abs(i.clientHeight-t.to.stageHeight)>.5)){const t=this._view;this._lastValidStageSize=[i.clientWidth,i.clientHeight],this._applyView(this._zoom,t?t.x+t.w/2:void 0,t?t.y+t.h/2:void 0),this.requestUpdate()}const s=this.renderRoot.activeElement;(!s||!s.isConnected||!!s.closest?.(".editorchrome, .stage"))&&this.renderRoot.querySelector(".modetab.active")?.focus?.({preventScroll:!0})})}_cancelModeTransition(t=!0){const e=!!this._modeTransition.state;this._modeTransitionRequest++,this._modeTransitionPreparing=!1,this._modeTransitionForceAtomic=!1,this._modeTransition.cancel(t),t&&e||(this._modeTransitionVisual=null)}_adoptMode(t){this._cancelModeTransition(!1),this._mode=t,"view"!==t&&(this._editorChromeMode=t)}_commitViewModeAtomic(t,e,i,s){if(this._modeTransitionPreparing=!1,this._modeTransitionVisual=null,this._modeTransitionForceAtomic=!1,this._zoom=e,t){const n=this._stageEl?.clientWidth||t.stageWidth,o=Math.max(1,t.stageHeight+t.editorChromeHeight);this._view=this._viewForModeTarget(e,i,s,n,o),this._lastValidStageSize=[n,o]}else this._view=null;this._viewModeSnap=null,this._modeTransitionEditorCamera=null,this._saveZoom(),this.requestUpdate()}_prepareModeTransition(t,e,i,s,n,o){this.updateComplete.then(()=>{if(!this.isConnected||t!==this._modeTransitionRequest||this._mode!==i)return void(t===this._modeTransitionRequest&&(this._modeTransitionPreparing=!1,this._modeTransitionVisual=null,this._modeTransitionForceAtomic=!1,this.requestUpdate()));const a=this.renderRoot.querySelector(".editorchrome"),r=a?.querySelector(".editorchrome-inner"),l="view"===i?0:r?.scrollHeight||r?.getBoundingClientRect().height||0,c=Math.max(1,e.stageHeight+e.editorChromeHeight),h=Math.max(1,c-l),d=this._stageEl?.clientWidth||e.stageWidth;if(d<=0||h<=0)return this._modeTransitionPreparing=!1,this._modeTransitionVisual=null,this._applyView(s,n,o),void this.requestUpdate();const u=this._viewForModeTarget(s,n,o,d,h),p={presentedMode:i,editorChromeHeight:l,stageWidth:d,stageHeight:h,viewport:Qu(u,d),stageColor:this._targetStageColor(i),paperColor:this._targetPaperColor(i),sceneBrightness:this._targetBrightness(i),architectureOpacity:"decor"===i?.35:1,backdropOpacity:"decor"===i&&"backdrop"!==this._decorTool?.5:1,viewWeight:"view"===i?1:0,editorWeight:"view"===i?0:1,toolbarContentOpacity:"view"===i?0:1};this._modeTransitionPreparing=!1;const _=this._modeTransitionForceAtomic;this._modeTransitionForceAtomic=!1,this._modeTransition.start(e,p,i,this._reducedMotion||_?0:220)})}_slideTo(t,e){if(t===this._space)return;if(this._wallFaceBatch&&this._roomDialogCancel(),"plan"===this._mode&&"draw"===this._tool&&!this._finishWallChain())return;this._cancelModeTransition(!0);const i=window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches;this._activeDraftId&&(this._resumeDraftBySpace[this._space]=this._activeDraftId),this._space=t,this._path=[],this._clearPlanSnapHover(),this._clearOpeningPlacement(!0),this._tool="draw",this._openWallAnchor=null,this._boundaryRestoreGuard=null,this._activeDraftId=null,this._draftSegmentCms=[],this._closingWallCm=null,this._selId=null,this._physicalSel=null,this._editorSecondary.closeForNavigation(),this._physicalDialog=null,this._physicalDrag=null,"plan"===this._mode&&"draw"===this._tool&&this._resumeLastDraft(),this._restoreZoom(),i||(this._slide=e,clearTimeout(this._slideTimer),this._slideTimer=window.setTimeout(()=>{this._slideTimer=void 0,this._slide="",this.requestUpdate()},190),this.requestUpdate())}_pickSpace(t){if(t===this._space)return;const e=this._model.map(t=>t.id),i=e.indexOf(this._space),s=e.indexOf(t);this._navApplied=!0,this._showFar=!1,this._frame=null,this._slideTo(t,i>=0&&s0&&Date.now()>=this._cyclePausedUntil&&this._model.length>1&&this._zoom<=1.001){const t=this._model.map(t=>t.id),e=t.indexOf(this._space);this._slideTo(t[(e+1)%t.length],"left"),this._showKioskDots()}}get _editing(){return"plan"===this._mode||"devices"===this._mode||"decor"===this._mode}get _markup(){return"plan"===this._mode}_newContinuityController(){return new th(()=>{this._resumeSettling="steady"!==this._continuity.state,this._continuityEpoch++,this.isConnected&&this.requestUpdate()})}get _labsIso(){return this._labs.active.includes("iso")}get _desiredProjection(){return"view"===this._mode&&this._labsIso&&"iso"===this._viewPreference[this._space]?"iso":"flat"}_saveViewPreference(){try{localStorage.setItem(p_,JSON.stringify(this._viewPreference))}catch{}}_logicalViewCenter(t){const e=this._view;if(!e)return null;const i=[e.x+e.w/2,e.y+e.h/2],s="iso"===t?Cp(i):i;return{x:s[0],y:s[1]}}_convertProjectionView(t,e){if(t===e)return;const i=this._logicalViewCenter(t);this._view=null;const s=i?"iso"===e?Mp([i.x,i.y],0):[i.x,i.y]:null;this._applyView(this._zoom,s?.[0],s?.[1]),this._warmPatch({vp:this._warmViewportState()}),this.requestUpdate()}_setProjection(t){if(!this._labsIso||"view"!==this._mode)return;const e=this._effectiveProjection();if(this._viewPreference={...this._viewPreference,[this._space]:t},"iso"===t){const t=this._isoSceneKey();t&&this._isoFallback.delete(t)}this._saveViewPreference();const i=this._effectiveProjection();this._convertProjectionView(e,i)}_hashSpace(){return up(window.location.hash||"")}connectedCallback(){this._connectedPath=location.pathname,this._routeDepartureHandled=!1,window.addEventListener("location-changed",this._onLocationChanged),window.addEventListener("popstate",this._onLocationChanged),this._continuityDisposed&&(this._continuity=this._newContinuityController(),this._continuityDisposed=!1,this._continuityPaintToken=-1);const t=(e=this.ownerDocument,Gu.get(e)?.resolved);var e;void 0!==t&&(this._glowScreenBlend=t),this._continuityUnsub?.(),this._continuityUnsub=Zc(this.ownerDocument,this._pageVisibility),super.connectedCallback(),this._motionMedia=window.matchMedia?.("(prefers-reduced-motion: reduce)"),this._reducedMotion=!!this._motionMedia?.matches,this._motionMedia?.addEventListener?.("change",this._onMotionChange),function(t){const e=Gu.get(t);if(e)return e.promise;const i={promise:Promise.resolve(!1)};return i.promise=Ku(t).catch(()=>!1).then(t=>(i.resolved=t,t)),Gu.set(t,i),i.promise}(this.ownerDocument).then(t=>{t!==this._glowScreenBlend&&(this._glowScreenBlend=t,this.isConnected&&this.requestUpdate())}),this.hass&&this._ensureHaRegistryAuthority(),window.addEventListener("keydown",this._keyHandler),this._signer.start(()=>this.hass,()=>As(this._serverCfg)),this._config?.kiosk&&Number(this._config?.cycle)>0&&(clearInterval(this._cycleTimer),this._cycleTimer=window.setInterval(()=>this._cycleTick(),1e3*Number(this._config.cycle))),window.addEventListener("hashchange",this._onHashChange),this._labsUnsub?.(),this._labsUnsub=function(t,e){yp.add(e);const i=kp(t);return"undefined"==typeof window&&e(i),()=>{yp.delete(e)}}(Yp,this._onLabsSnapshot),this._booting?this._bootWatch():this._bootFading&&(clearTimeout(this._bootTimer),this._bootTimer=window.setTimeout(()=>{this._bootFading=!1},220)),this._bootSoft&&(clearTimeout(this._bootSoftTimer),this._bootSoftTimer=window.setTimeout(()=>{this._bootSoft=!1},t_)),!this._loadOk&&this._serverCfg&&this.hass&&this._scheduleLoadRetry(),!this._warmSlot&&this._config&&this._warmAdopt(),this._loadOk&&this._ensureLiveSyncSubscriptions(),this._warmVp&&!this._warmRevivePending&&void 0===this._warmReviveTimer&&(this._warmRevivePending=!0,this._warmReviveTimer=window.setTimeout(()=>this._warmReviveDialog(),0)),this._warmLongReturn&&this._beginResumeSettle(),this._warmLongReturn=!1,this.requestUpdate()}disconnectedCallback(){this._connectedPath&&location.pathname!==this._connectedPath&&this._leaveCardRoute(),window.removeEventListener("location-changed",this._onLocationChanged),window.removeEventListener("popstate",this._onLocationChanged),this._continuityUnsub?.(),this._continuityUnsub=void 0,this._motionMedia?.removeEventListener?.("change",this._onMotionChange),this._motionMedia=void 0,this._vacRaf&&(cancelAnimationFrame(this._vacRaf),this._vacRaf=0),this._refitRaf&&(cancelAnimationFrame(this._refitRaf),this._refitRaf=0),this._dayCycleTimer&&(clearInterval(this._dayCycleTimer),this._dayCycleTimer=0),this._dayCycleClockKey="",this._bootSettleRaf&&(cancelAnimationFrame(this._bootSettleRaf),this._bootSettleRaf=0),this._bootSettling=!1;for(const t of this._activityRt.values())clearTimeout(t.timer);window.removeEventListener("keydown",this._keyHandler),clearInterval(this._cycleTimer),clearTimeout(this._kioskDotsTimer),clearTimeout(this._kioskHoldTimer),clearTimeout(this._reloadRetry),clearTimeout(this._loadRetryTimer),this._loadRetryTimer=void 0,this._connHooked?.removeEventListener?.("ready",this._onConnReady),this._connHooked?.removeEventListener?.("disconnected",this._onConnLost),this._connHooked?.removeEventListener?.("reconnect-error",this._onConnLost),this._connHooked=null,this._haRegistryRelease?.(),this._haRegistryRelease=void 0,this._haRegistryConnection=null,this._signer.dispose(),clearTimeout(this._toastTimer),clearTimeout(this._slideTimer),this._modeTransition.dispose(),this._modeTransitionVisual=null,this._modeTransitionPreparing=!1,this._modeTransitionForceAtomic=!1,this._modeTransitionRequest++,this._slideTimer=void 0,this._slide="",clearTimeout(this._bootTimer),this._bootTimer=void 0,clearTimeout(this._bootSoftTimer),this._saveConfigDebounced.flush(),window.removeEventListener("hashchange",this._onHashChange),this._labsUnsub?.(),this._labsUnsub=void 0,clearTimeout(this._holdTimer),this._roViewport?.disconnect(),this._roViewport=void 0,this._roHdr?.disconnect(),this._roHdr=void 0,this._onWinResize&&(window.removeEventListener("resize",this._onWinResize),this._onWinResize=void 0),this._unsubCfg&&(this._unsubCfg(),this._unsubCfg=null),this._unsubLayout&&(this._unsubLayout(),this._unsubLayout=null),this._unsubVirtual&&(this._unsubVirtual(),this._unsubVirtual=null),this._unsubTrail&&(this._unsubTrail(),this._unsubTrail=void 0),this._liveSyncGeneration++,this._liveSyncAttempt=null,this._liveSyncConnection=null,clearTimeout(this._layoutSyncTimer),clearTimeout(this._duplicateColumnTimer);for(const t of this._glowFadeTimers.values())clearTimeout(t);for(const t of this._glowEnterRafs.values())cancelAnimationFrame(t);clearTimeout(this._glowFeatherResumeTimer),this._glowFeatherResumeTimer=0,this._glowFeatherSuspendUntil=0,this._glowFadeTimers.clear(),this._glowEnterRafs.clear(),this._glowEnteringSources.clear(),this._glowRenderedSources.clear(),this._glowLastAppearance.clear(),this._glowSourceSeq=0,this._warmSnapshot(),this._warmRevivePending=!1,clearTimeout(this._warmReviveTimer),this._warmReviveTimer=void 0,this._warmRelease(),this._openWallAnchor=null,this._boundaryRestoreGuard=null,this._clearPlanSnapHover(),this._clearOpeningPlacement(!0),this._touchContacts.clear(),this._touchSequenceMultitouch=!1,this._touchClickBlockUntil=0,this._editorSecondary.reset(),this._resumeSettling=!1,this._continuityHistory=[...this._continuityHistory,...this._continuity.trace].slice(-80),this._continuity.dispose(),this._continuityDisposed=!0,super.disconnectedCallback()}_onKey(t){if("Escape"===t.key&&this._vacFit)return this._vacFit=null,this._showToast(this._t("vac.cal_cancelled")),void t.stopPropagation();if("Escape"===t.key){if(this._tapConfirm)return void(this._tapConfirm=null);if(this._vacCalConfirm)return void(this._vacCalConfirm=null);if(this._decorEraseConfirm)return void(this._decorEraseConfirm=null);if(this._openingInfo)return void(this._openingInfo=null);if(this._infoCard)return void this._closeInfoCard();if(this._rulesDialog)return void(this._rulesDialog=null);if(this._alignDialog)return void(this._alignDialog=null);if(this._backupImportDialog)return void(this._backupImportDialog=null);if(this._backupExportDialog)return void(this._backupExportDialog=null);if(this._settingsDialog)return void(this._settingsDialog=null);if(this._markerDialog)return void(this._markerDialog=null);if(this._openingDialog)return void(this._openingDialog=null);if(this._physicalDialog)return void(this._physicalDialog=null);if(this._backdropDialog)return void(this._backdropDialog=null);if(this._decorShapeDialog)return void(this._decorShapeDialog=null);if(this._decorTextDialog)return void(this._decorTextDialog=null);if(this._spaceDialog&&!this._roomDialog)return this._spaceDialog=null,this._importQueue=[],void(this._importTotal=0);if(this._editorSecondary.hasOpenGroup)return t.preventDefault(),void this._editorSecondary.closeGroup(!0)}const e=t.composedPath?.()||[t.target],i=e.some(t=>t?.matches?.('input, textarea, select, [contenteditable="true"]')),s=e.some(t=>t?.classList?.contains?.("editor-secondary")),n=t.ctrlKey||t.metaKey,o=t.key.toLowerCase(),a=/^[a-z]$/.test(o),r="z"===o||!a&&"KeyZ"===t.code,l="y"===o||!a&&"KeyY"===t.code,c=n&&(r&&t.shiftKey||l),h=n&&r&&!t.shiftKey;if("decor"===this._mode){if((h||c)&&i)return;return c?(t.preventDefault(),void this._redoGeometry()):h?(t.preventDefault(),this._decorDraft?void(this._decorDraft=null):this._decorMove||this._dtDrag||this._bdDrag?void this._cancelDecorGesture():void this._undoGeometry()):"Delete"!==t.key&&"Backspace"!==t.key||!this._decorSel||i||s?void("Escape"===t.key&&(t.preventDefault(),this._decorDraft?this._decorDraft=null:this._decorMove||this._dtDrag||this._bdDrag?this._cancelDecorGesture():"furniture"===this._decorTool?(this._furnPalette=null,this._decorTool="select"):this._decorSel?this._decorSel=null:"select"!==this._decorTool?this._decorTool="select":this._setMode("view"))):(t.preventDefault(),void this._decorDeleteSel())}if(this._markup&&(!h&&!c||!i)){if(("Delete"===t.key||"Backspace"===t.key)&&this._physicalSel&&!i&&!s)return t.preventDefault(),void this._deletePhysicalSelection();if(c)return t.preventDefault(),void this._redoGeometry();if(h)return t.preventDefault(),this._rszDrag?void this._rszCancelDrag():this._wallFaceBatch?(this._roomDialogCancel(),void(this._activeDraftId&&this._path.length>1?this._undoActiveDraftPoint():this._undoPoint())):"draw"!==this._tool&&"partition"!==this._tool||!this._path.length?"split"===this._tool&&this._splitSel?.pts?.length?(this._splitSel={...this._splitSel,pts:this._splitSel.pts.slice(0,-1)},void(this._splitSel.pts.length||(this._cursorPt=null))):void this._undoGeometry():void(this._activeDraftId&&this._path.length>1?this._undoActiveDraftPoint():this._undoPoint());if("Escape"===t.key)return this._physicalDrag||this._physicalRotate?(t.preventDefault(),void this._cancelPhysicalGesture()):this._roomDialog?(t.preventDefault(),void this._roomDialogCancel()):"draw"===this._tool&&this._path.length||"partition"===this._tool&&this._path.length?(t.preventDefault(),void this._undoPoint()):this._physicalSel?(t.preventDefault(),void(this._physicalSel=null)):"resize"===this._tool?(t.preventDefault(),this._rszDrag?void this._rszCancelDrag():void(this._rszSel?this._rszSel=null:this._tool="draw")):"split"===this._tool?(t.preventDefault(),void(this._splitSel?.pts?.length?(this._splitSel={...this._splitSel,pts:this._splitSel.pts.slice(0,-1)},this._splitSel.pts.length||(this._cursorPt=null)):this._splitSel?this._splitSel=null:this._tool="draw")):"merge"===this._tool?(t.preventDefault(),void(this._mergeSel?this._mergeSel=null:this._tool="draw")):this._wallDialog?(t.preventDefault(),void(this._wallDialog=null)):"boundary"===this._tool?(t.preventDefault(),void(this._openWallAnchor?this._cancelBoundaryAnchor():this._tool="draw")):void("opening"!==this._tool&&"wallthick"!==this._tool&&"delroom"!==this._tool&&"partition"!==this._tool&&"column"!==this._tool||(t.preventDefault(),"opening"===this._tool&&this._clearOpeningPlacement(!0),this._tool="draw"))}}_undoPoint(){if(this._path.length){if(this._contourClosed)return this._path=this._path.slice(0,-1),void(this._closingWallCm=null);if(this._activeDraftId&&this._path.length>1&&this._curSpaceCfg){const t=this._geometrySnapshot();this._path=this._path.slice(0,-1),this._draftSegmentCms=this._draftSegmentCms.slice(0,-1);const e=this._curSpaceCfg,i=(e.room_drafts||[]).findIndex(t=>t.id===this._activeDraftId);return void(i>=0&&(this._path.length<2?(e.room_drafts.splice(i,1),e.room_drafts.length||delete e.room_drafts,this._activeDraftId=null):e.room_drafts[i]={id:this._activeDraftId,points:this._path.map(t=>[t[0]/__,t[1]/__]),segments:this._draftSegmentCms.map(t=>({cm:t}))},this._recordGeometry(this._t("history.draft_segment_delete"),t),this._saveConfig()))}this._path=this._path.slice(0,-1)}}_undoActiveDraftPoint(){const t=this._activeDraftId,e=this._path[0]?[...this._path[0]]:null,i=this._geometryHistory.undo();if(!i)return void this._undoPoint();if(!this._applyGeometryState(i.before))return void this._geometryHistory.clear();const s=t?this._spaceModel()?.room_drafts.find(e=>e.id===t):null;s?(this._activeDraftId=s.id,this._path=s.points.map(t=>[...t]),this._draftSegmentCms=s.segments.map(t=>t.cm),this._resumeDraftBySpace[this._space]=s.id):(this._activeDraftId=null,this._path=e?[e]:[],this._draftSegmentCms=[],t&&this._resumeDraftBySpace[this._space]===t&&delete this._resumeDraftBySpace[this._space]),this._clearPlanSnapHover(),this._showToast(this._t("history.undone",{name:i.name}))}static getConfigElement(){return document.createElement("houseplan-card-editor")}static getStubConfig(){return{type:"custom:houseplan-card"}}static _warmBootReset(t){for(const t of n_.values())for(const e of t)clearTimeout(e.evict);n_.clear(),r_=t&&t>0?t:1e4}static _warmBootStats(){let t=0,e=0;const i=[];for(const s of n_.values())for(const n of s)t++,n.dlg&&(e++,i.push(n.dlg.kind));return{keys:n_.size,slots:t,dlgs:e,drafts:i}}setConfig(t){this._config={icon_size:2.5,show_temperature:!0,live_states:!0,show_signal:!0,...t},this._config.kiosk&&(this._booting=!1,this._bootFading=!1),t.default_floor&&(this._space=t.default_floor);try{this._zoomBySpace=JSON.parse(localStorage.getItem(h_)||"{}")||{}}catch{this._zoomBySpace={}}try{const t=JSON.parse(localStorage.getItem(p_)||"{}")||{};this._viewPreference=Object.fromEntries(Object.entries(t).filter(t=>"flat"===t[1]||"iso"===t[1]))}catch{this._viewPreference={}}this._labs=kp(Yp);try{const t=JSON.parse(localStorage.getItem(u_)||"null");this._kioskScale={icon:zs(t?.icon),font:zs(t?.font)}}catch{}try{const t=JSON.parse(localStorage.getItem(c_)||"null");t&&t.config&&Array.isArray(t.config.spaces)&&(this._serverCfg=t.config,this._cfgEpoch++,this._cfgRev=t.rev||0,this._cfgContentFingerprint=t.config_fingerprint||eh(t.config),this._layout=t.layout||{},this._layoutRev=t.layout_rev||0,this._layoutContentFingerprint=t.layout_fingerprint||eh(this._layout),this._virtualLights=gn(t.virtual_lights,this._cfgRev),this._serverStorage=!0,this._adoptInitialSpace(this._model))}catch{}"view"!==this._mode||this._view||(this._zoom=this._zoomBySpace[this._space]||1),this.isConnected&&(this._warmAdopt(),this._warmLongReturn&&this._beginResumeSettle(),this._warmLongReturn=!1)}_warmAdopt(){if(this._config?.kiosk)return;const t=a_(this._config);if(this._warmKey===t&&this._warmSlot)return;this._warmSlot&&this._warmRelease();const e=this.parentNode,i=this._warmIdx(e),s=n_.get(t);if(!s||!s.length)return;const n=s.find(t=>t.owner===this._warmGen);if(n)return this._warmLongReturn=!!n.freed&&Date.now()-n.freed>=Yc,clearTimeout(n.evict),n.evict=0,n.freed=0,n.live=!0,this._warmSlot=n,this._warmKey=t,n.frameFingerprint&&this._continuity.adoptCompleteFrame(n.frameFingerprint),void(!this._devices.length&&n.devices?.length&&(this._devices=[...n.devices]));const{slot:o,sure:a}=((t,e,i,s)=>{const n=t=>{const e=!!i&&t.place?.deref()===i;return e&&t.idx===s?4:t.live?0:e?3:2};let o=null,a=0,r=0,l=null;for(const i of t){if(i.owner===e)continue;l=i;const t=n(i);t<=0||(t>a?(o=i,a=t,r=1):t===a&&r++)}return!o||r>1?{slot:o||l,sure:!1}:{slot:o,sure:!0}})(s,this._warmGen,e,i);o&&(this._warmLongReturn=!!o.freed&&Date.now()-o.freed>=Yc,this._booting=!1,this._bootFading=!1,this._hdrH=o.hdrH,this._bootSoft=!0,this.isConnected&&(clearTimeout(this._bootSoftTimer),this._bootSoftTimer=window.setTimeout(()=>{this._bootSoft=!1},t_)),this._warmKey=t,a?(clearTimeout(o.evict),o.evict=0,o.owner=this._warmGen,o.place=e?new WeakRef(e):null,o.idx=i,o.live=!0,this._warmSlot=o,this._warmVp=o.vp,o.frameFingerprint&&this._continuity.adoptCompleteFrame(o.frameFingerprint),!this._devices.length&&o.devices?.length&&(this._devices=[...o.devices]),this._warmAdoptViewport(this._config)):(this._warmSlot={owner:this._warmGen,path:location.pathname,place:e?new WeakRef(e):null,idx:i,live:!0,hdrH:o.hdrH,stageH:o.stageH,vp:null,frameFingerprint:"",devices:null,dlg:null,freed:0,evict:0},s.push(this._warmSlot),this._warmTrim(s)))}_warmIdx(t){const e=t?.children;if(!e)return-1;for(let t=0;t4;){const e=t.findIndex(t=>!t.live);if(e<0)break;clearTimeout(t[e].evict),t.splice(e,1)}}_warmScheduleEvict(t,e){if(clearTimeout(t.evict),!(t.dlg||t.vp&&"view"!==t.vp.mode))return;const i=t.freed,s=t.owner;t.evict=window.setTimeout(()=>{if(t.evict=0,t.freed!==i||t.owner!==s)return;var n;t.dlg=null,t.vp=(n=t.vp)&&"view"!==n.mode?{...n,mode:"view",zoom:n.snap?.space===n.space?n.snap.zoom:n.zoom,view:null,snap:null,tool:"draw",decorTool:"select",showHidden:!1,selId:null,rszSel:null,decorSel:null}:n,t.frameFingerprint="";const o=n_.get(e);if(!t.live&&o&&o.length>1){const e=o.indexOf(t);e>=0&&o.splice(e,1)}},r_+250)}_warmAdoptViewport(t){const e=this._warmVp;if(!e||this._warmSlot?.path!==location.pathname)return void(this._warmVp=null);if(this._hashApplied||!this._model.find(t=>t.id===e.space))return void(this._warmVp=null);this._space=e.space,this._navApplied=!0,this._adoptMode("view"!==e.mode&&this._canEdit&&!t.kiosk?e.mode:"view"),this._pendingNavMode="view"===e.mode||this._canEdit||t.kiosk?null:e.mode,this._zoom=e.zoom;const i=this._effectiveProjection(),s=i===e.projection&&this._labsIso===e.activeLabsIso;if(this._view=s&&e.view?{...e.view}:null,this._viewModeSnap=s&&e.snap?{...e.snap}:null,!s&&e.logicalCenter){const t="iso"===i?Mp([e.logicalCenter.x,e.logicalCenter.y],0):[e.logicalCenter.x,e.logicalCenter.y];this._applyView(e.zoom,t[0],t[1])}var n;this._tool="openwall"===(n=e.tool)||"closewall"===n?"boundary":"opening"===(n=function(t){return"partition"===t?"draw":t}(n))?"draw":"string"==typeof n&&f_.has(n)?n:"draw",this._decorTool=e.decorTool,this._showHidden=e.showHidden,this._showFar!==e.showFar&&(this._showFar=e.showFar,this._frame=null),this._selId=e.selId,this._rszSel=e.rszSel,this._decorSel=e.decorSel,this._warmVpArmed=!0}_warmPatch(t,e=!1){if(this._config?.kiosk)return;const i=a_(this._config);if(!this._warmSlot||this._warmKey===i){if(!this._warmSlot){if(!e)return;const t=this.parentNode;this._warmKey=i,this._warmSlot={owner:this._warmGen,path:location.pathname,place:t?new WeakRef(t):null,idx:this._warmIdx(t),live:!0,hdrH:this._hdrH,stageH:0,vp:null,frameFingerprint:"",devices:null,dlg:null,freed:0,evict:0};const s=n_.get(i)||[];for(s.push(this._warmSlot),n_.set(i,s),this._warmTrim(s);n_.size>8;){const t=n_.keys().next().value;if(void 0===t||t===i)break;for(const e of n_.get(t)||[])clearTimeout(e.evict);n_.delete(t)}}Object.assign(this._warmSlot,t)}}_warmViewportState(){const t=this._effectiveProjection();return{space:this._space,mode:this._mode,projection:t,activeLabsIso:this._labsIso,logicalCenter:this._logicalViewCenter(t),zoom:this._zoom,view:this._view?{...this._view}:null,snap:this._viewModeSnap?{...this._viewModeSnap}:null,tool:this._tool,decorTool:this._decorTool,showHidden:this._showHidden,showFar:this._showFar,selId:this._selId,rszSel:this._rszSel,decorSel:this._decorSel}}_warmDialogState(){const t=(t,e)=>({kind:t,space:this._space,mode:this._mode,data:e});return this._tapConfirm||this._alignDialog||this._mergeDialog||this._importDialog||this._backupExportDialog||this._backupImportDialog?null:this._openingInfo?t("openingInfo",this._openingInfo.id):this._infoCard?t("info",this._infoCard.id):this._rulesDialog?this._rulesDialog.busy?null:t("rules",this._rulesDialog):this._settingsDialog?this._settingsDialog.busy?null:t("settings",this._settingsDialog):this._markerDialog?this._markerDialog.busy?null:t("marker",this._markerDialog):this._openingDialog?t("opening",this._openingDialog):this._backdropDialog?t("backdrop",this._backdropDialog):this._decorShapeDialog?t("decorShape",this._decorShapeDialog):this._decorTextDialog?t("decorText",this._decorTextDialog):this._roomDialog?t("room",{editId:this._roomEditId,fill:this._roomFill,customFill:this._roomCustomFill,tempSrc:this._roomTempSrc,humSrc:this._roomHumSrc,srcOpen:this._roomSrcOpen,srcFilter:this._roomSrcFilter,nameScale:this._roomNameScale,labelScale:this._roomLabelScale,areaSel:this._areaSel,nameSel:this._nameSel,pendingSplit:this._pendingSplit,wallFaceBatch:this._wallFaceBatch,path:this._path}):this._spaceDialog?this._spaceDialog.busy?null:t("space",this._spaceDialog):null}_warmSnapshot(){if(this._booting||this._config?.kiosk||"steady"!==this._continuity.state)return;const t={vp:this._warmViewportState(),frameFingerprint:this._continuity.frameFingerprint,devices:this._devices};if(this._warmRevivePending||(t.dlg=this._warmDialogState()),this.isConnected&&this._warmSlot?.owner===this._warmGen){const e=this.parentNode;t.place=e?new WeakRef(e):null,t.idx=this._warmIdx(e)}this._warmPatch(t)}_warmReviveDialog(){this._warmRevivePending=!1;const t=this._warmSlot;if(this._warmReviveTimer=void 0,!t||!t.dlg)return;const e=t.dlg,i=t.freed;if(t.dlg=null,t.freed=0,clearTimeout(t.evict),t.evict=0,i&&!(Date.now()-i>r_)&&e.space===this._space&&e.mode===this._mode){switch(e.kind){case"space":this._spaceDialog={...e.data,busy:!1,savedBusy:!1};break;case"marker":this._markerDialog={...e.data,busy:!1};break;case"settings":this._settingsDialog={...e.data,busy:!1};break;case"rules":this._rulesDialog={...e.data,busy:!1};break;case"opening":this._openingDialog={...e.data};break;case"backdrop":this._backdropDialog={...e.data};break;case"decorShape":this._decorShapeDialog={...e.data};break;case"decorText":{this._decorTextDialog={...e.data};const t=String(this._decorTextDialog?.text??"").length;this._decorTextSelection={start:t,end:t};break}case"room":{const t=e.data;this._roomEditId=t.editId,this._roomFill=t.fill,this._roomCustomFill=t.customFill||null,this._roomTempSrc=t.tempSrc,this._roomHumSrc=t.humSrc,this._roomSrcOpen=t.srcOpen,this._roomSrcFilter=t.srcFilter,this._roomNameScale=t.nameScale,this._roomLabelScale=t.labelScale,this._areaSel=t.areaSel,this._nameSel=t.nameSel,this._pendingSplit=t.pendingSplit,this._wallFaceBatch=t.wallFaceBatch||null,this._path=t.path,this._wallFaceBatch&&(this._activeDraftId=this._wallFaceBatch.activeDraftId,this._draftSegmentCms=[...this._wallFaceBatch.activeCms]),this._roomDialog=!0;break}case"info":{const t=this._devices.find(t=>t.id===e.data);t&&(this._infoCard=t);break}case"openingInfo":{const t=(this._curSpaceCfg?.openings||[]).find(t=>t.id===e.data);t&&(this._openingInfo=t);break}}this.requestUpdate()}}_cacheSnapshot(){if(this._serverCfg)try{this._cfgContentFingerprint=eh(this._serverCfg),this._layoutContentFingerprint=eh(this._layout),this._virtualLights=function(t,e,i){if(t.configRev===i)return t;const s=new Set((Array.isArray(e?.markers)?e.markers:[]).filter(yn).map(t=>t.id));return{...t,configRev:i,off:new Set([...t.off].filter(t=>s.has(t)))}}(this._virtualLights,this._serverCfg,this._cfgRev),localStorage.setItem(c_,JSON.stringify({config:this._serverCfg,rev:this._cfgRev,config_fingerprint:this._cfgContentFingerprint,layout:this._layout,layout_rev:this._layoutRev,layout_fingerprint:this._layoutContentFingerprint,virtual_lights:fn(this._virtualLights)}))}catch{}}_beginContinuityCandidate(t,e,i="plan"){return this._booting&&!this._continuity.hasCompleteFrame?this._continuity.token:(this._continuityDataReady=e,this._continuityPaintToken=-1,this._stagedDeviceSnapshotToken=-1,this._resumeSettling=!0,this._continuity.beginCandidate(t,i))}_continuityStageValid(){const t=this._stageEl;return!!t&&t.clientWidth>0&&t.clientHeight>0}_continuityAssetsReady(){if(!this._model.length)return!1;const t=this._model.length?this._spaceModel():null;return!t?.bg?.href||this._signer.isReady(this.hass,t.bg.href)}_initialSpaceSelection(t){return function(t){const e=new Set(t.spaceIds.filter(t=>!!t));if(!e.size)return{id:null,source:"none"};const i=[["hash",!1===t.acceptHash?null:t.hashSpace],["current",t.preserveCurrent?t.currentSpace:null],["saved",t.savedSpace],["default",t.defaultSpace],["first",t.spaceIds[0]]];for(const[t,s]of i)if(s&&e.has(s))return{id:s,source:t};return{id:null,source:"none"}}({spaceIds:t.map(t=>t.id),hashSpace:this._hashSpace(),acceptHash:!this._hashApplied,currentSpace:this._space,preserveCurrent:this._hashApplied||this._navApplied||this._warmVpArmed,savedSpace:this._savedNav()?.space,defaultSpace:this._config?.default_floor})}_adoptInitialSpace(t){const e=this._initialSpaceSelection(t);return e.id?(this._space=e.id,"hash"===e.source&&(this._hashApplied=!0),"saved"===e.source&&(this._navApplied=!0),e):e}_candidateBackdrop(t,e=this._space){const i=Gl(t),s=this._initialSpaceSelection(i).id||(i.some(t=>t.id===e)?e:i[0]?.id);return i.find(t=>t.id===s)?.bg?.href||""}_visualFrameFingerprint(){const t=this._stageEl,e=t?[t.clientWidth,t.clientHeight]:[0,0];return ih([this._cfgRev,this._cfgContentFingerprint||eh(this._serverCfg),this._layoutRev,this._layoutContentFingerprint||eh(this._layout),this._space,this._mode,this._view,e,this._glowScreenBlend?"screen":"normal",this.hass?.themes?.darkMode??this.hass?.themes?.default_theme??""])}_settleContinuityFrame(){if(this._booting||!this._continuityStageValid())return;if(!this._continuity.hasCompleteFrame&&"steady"===this._continuity.state)return void(this._continuityAssetsReady()&&(this._renderSnapshotAt=Date.now(),this._continuity.markCompleteFrame(this._visualFrameFingerprint())));if(!this._continuityDataReady)return;if(!["holding","offline-stale","overlay-pending","overlay-visible","candidate-ready"].includes(this._continuity.state))return;const t=this._continuity.token;if(this._candidateDeviceSnapshot&&this._candidateDeviceSnapshot!==this._visibleDeviceSnapshot&&this._stagedDeviceSnapshotToken!==t)return this._stagedDeviceSnapshotToken=t,void this.requestUpdate();this._continuityPaintToken!==t&&(this._continuityPaintToken=t,this._continuity.candidateReady(t)&&this._continuity.commitAfterPaint(t,{updateComplete:()=>this.updateComplete,stageValid:()=>this.isConnected&&this._continuityStageValid(),assetsReady:()=>this._continuityAssetsReady(),frameFingerprint:()=>this._visualFrameFingerprint()}).then(e=>{e&&t===this._continuity.token?(this._resumeSettling=!1,this._renderSnapshotAt=Date.now(),this._candidateDeviceSnapshot&&(this._visibleDeviceSnapshot=this._candidateDeviceSnapshot),this._candidateDeviceSnapshot=null,this._stagedDeviceSnapshotToken=-1,this._warmSnapshot()):t===this._continuity.token&&(this._continuityPaintToken=-1,this._stagedDeviceSnapshotToken=-1,this._candidateDeviceSnapshot=null,this.requestUpdate())}))}_onBackdropLoaded(t,e){this._signer.markLoaded(this.hass,t,e),this._continuity.note("asset-ready"),this._continuityPaintToken=-1,"steady"!==this._continuity.state&&this.requestUpdate()}_renderRecoveryOverlay(){if(!this._continuity.overlayVisible&&"recovery-error"!==this._continuity.state)return G;const t="connection"===this._continuity.recoveryReason;return W`
`}afterRender(){const t=this.host.root();this._blocked&&(this._openGroupId?this.closeGroup(!1):"palette"===this._currentModel?.kind&&this._currentModel.dismiss?.()),this._syncGlobalDismissListener();const e=t.querySelector(".editor-secondary"),i=this._renderedContext,s=e?.dataset.contextId||"";if(s&&i&&s!==i&&!window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches&&(this._contentAnimation?.cancel(),this._contentAnimation=e?.querySelector(".editor-secondary-content")?.animate([{opacity:.35,transform:"translateY(-4px)"},{opacity:1,transform:"translateY(0)"}],{duration:100,easing:"ease-out"})),this._renderedContext=s,i&&s!==i&&this._focusOwned){const i=s?e?.querySelector('[tabindex="0"], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled])'):t.querySelector(".editbar-tools");i?.focus?.(),this._focusOwned=!!s}if("palette"===this._currentModel?.kind&&this._currentModel.launcherId){const e=[...t.querySelectorAll("[data-editor-palette]")].find(t=>t.dataset.editorPalette===this._currentModel?.launcherId);e&&null!==e.offsetParent||this._currentModel.dismiss?.()}if(!this._openGroupId)return;const n=[...t.querySelectorAll("[data-editor-group]")].find(t=>t.dataset.editorGroup===this._openGroupId);n&&null!==n.offsetParent||this.closeGroup(!0)}handleOutsideDismiss(t){if(Pu(t,t=>t.hasAttribute("data-editor-navigation")))return"pointerdown"===t.type?this.closeForNavigation():"click"===t.type&&this._dismissPointerTarget&&this._clearDismissClick(),!1;if("click"===t.type&&this._dismissPointerTarget){return!!(t.composedPath?.()||[t.target]).includes(this._dismissPointerTarget)&&(this._clearDismissClick(),t.preventDefault(),t.stopImmediatePropagation(),!0)}const e=this._openGroupId||this._blocked||"palette"!==this._currentModel?.kind?null:this._currentModel;if("pointerdown"===t.type&&(this._openGroupId||e)){const i=Pu(t,t=>t.classList.contains("editor-secondary")),s=Pu(t,t=>!!t.dataset.editorGroup),n=Pu(t,t=>!!t.dataset.editorPalette),o=Pu(t,t=>t.classList.contains("stage"));if(!(i||s||n||"stay-open-on-canvas"===e?.dismissPolicy&&o))return t.preventDefault(),t.stopImmediatePropagation(),this._dismissPointerTarget=t.target,clearTimeout(this._dismissTimer),this._dismissTimer=window.setTimeout(()=>{this._clearDismissClick()},800),this._openGroupId?this.closeGroup(!1):e?.dismiss?.(),this._syncGlobalDismissListener(),!0}return!1}_activateGroupItem(t,e,i){if(t.id!==this._openGroupId)return;const s=t.items.find(t=>t.id===e);if(!s||s.disabled)return;const n="toggle"===s.role&&"stay-open"===s.closePolicy,o=0===i.detail;n||(this._openGroupId=null,this.host.requestUpdate(),this._syncGlobalDismissListener()),s.invoke(),!n&&o&&this.host.updateComplete().then(()=>{const e=[...this.host.root().querySelectorAll("[data-editor-group]")].find(e=>e.dataset.editorGroup===t.id&&null!==e.offsetParent);e?.focus()})}_groupKeydown(t){if(!["ArrowLeft","ArrowRight","Home","End"].includes(t.key))return;const e=[...t.currentTarget.querySelectorAll(".editor-group-item:not([disabled])")];if(!e.length)return;t.preventDefault();const i=e.indexOf(this.host.root().activeElement),s="Home"===t.key?0:"End"===t.key?e.length-1:"ArrowLeft"===t.key?i<=0?e.length-1:i-1:(i+1)%e.length;e[s]?.focus()}_clearDismissClick(){this._dismissPointerTarget=null,clearTimeout(this._dismissTimer),this._dismissTimer=void 0,this._syncGlobalDismissListener()}_syncGlobalDismissListener(){const t=!this._blocked&&"palette"===this._currentModel?.kind,e=!!this._openGroupId||t||!!this._dismissPointerTarget;e!==this._globalDismissListening&&(this._globalDismissListening=e,e?(window.addEventListener("pointerdown",this._globalDismissGuard,!0),window.addEventListener("click",this._globalDismissGuard,!0)):(window.removeEventListener("pointerdown",this._globalDismissGuard,!0),window.removeEventListener("click",this._globalDismissGuard,!0)))}}const Au=t=>t.stopPropagation(),Iu=4.166666666666667e-9;function Eu(t){if(!Number.isFinite(t))return t;const e=Math.round(t/Jl)*Jl;return Math.abs(e-t)<=Iu?t:e}const Fu=(t,e,i,s)=>Math.hypot(i-t,s-e),zu=(t,e,i,s,n,o,a,r)=>Math.hypot(Math.max(Math.abs(n-t),Math.abs(n+a-(t+i))),Math.max(Math.abs(o-e),Math.abs(o+r-(e+s)))),Ou=(t,e,i,s,n,o,a)=>{const r=Math.max(Number(s)||0,0)/2,l=Math.PI/180,c=Math.cos(i*l)*r,h=Math.sin(i*l)*r,d=Math.cos(a*l)*r,u=Math.sin(a*l)*r,p=Math.max(Fu(t+c,e+h,n+d,o+u),Fu(t-c,e-h,n-d,o-u)),_=Math.max(Fu(t+c,e+h,n-d,o-u),Fu(t-c,e-h,n+d,o+u));return Math.min(p,_)},Hu=t=>{const e=Number(t?.cell_cm);return e>0?e:5};const Nu=t=>JSON.parse(JSON.stringify(t)),Lu=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),Bu=(t,e,i)=>Math.min(i,Math.max(e,t)),qu=t=>Gl({spaces:[t]})[0],Wu=t=>{const e=[];for(const i of t||[]){const t=hi(i);if(t?.length)for(let i=0;i{let e=0,i=0,s=0;for(const i of t.markers||[]){if("ripple"===i.display&&(i.display="icon_ripple",e++),Array.isArray(i.controls)){const t="string"==typeof i.binding&&i.binding.startsWith("entity:")?i.binding.slice(7):"",s=t?i.controls.filter(e=>e!==t):i.controls;JSON.stringify(s)!==JSON.stringify(i.controls)&&(i.controls=s.length?s:null,e++)}const t=i.vacuum;t&&Lu(t,"trail")&&(["never","cleaning","always"].includes(t.trail_mode)||(t.trail_mode=!1===t.trail?"never":"cleaning"),delete t.trail,e++)}for(const n of t.spaces||[]){const t=n.settings;"glow"===t?.fill_mode&&("boolean"!=typeof t.glow_enabled&&(t.glow_enabled=!0),t.fill_mode="none",e++,i++);for(const t of n.rooms||[]){const i=t.settings;"glow"===i?.fill_mode&&("boolean"!=typeof i.glow&&(i.glow=!0),delete i.fill_mode,e++,s++)}if(Lu(n,"segments")&&(delete n.segments,e++),Lu(n,"plan_scale")){const t=Number(n.plan_scale);Number.isFinite(t)&&t>=ql&&t<=Wl&&(Lu(n,"plan_scale_x")||(n.plan_scale_x=t),Lu(n,"plan_scale_y")||(n.plan_scale_y=t),delete n.plan_scale,e++)}const o=Number(n.cell_cm);Lu(n,"cell_cm")&&(!Number.isFinite(o)||o<.1||o>1e3)&&(n.cell_cm=Number.isFinite(o)&&o>0?Bu(o,.1,1e3):5,e++);const a=Number(n.cell_cm),r=Number.isFinite(a)&&a>0?a:5;for(const t of n.wall_columns||[])if("circle"===t.shape)Lu(t,"angle")&&(delete t.angle,e++);else if("square"===t.shape&&Lu(t,"angle")){const i=((Number(t.angle)||0)%90+90)%90;t.angle!==i&&(t.angle=i,e++)}for(const t of n.decor||[]){if(Lu(t,"width")){const i=Number(t.width);(Lu(t,"width_cm")||Number.isFinite(i))&&(Lu(t,"width_cm")||(t.width_cm=Number(Bu(i/Xl*r,.1,100).toFixed(6))),delete t.width,e++)}if("rect"!==t?.kind&&"ellipse"!==t?.kind||!0!==t.fill||(Lu(t,"fill_color")||(t.fill_color=t.color||"#607d8b",e++),Lu(t,"fill_opacity")||(t.fill_opacity=.25,e++)),"text"!==t?.kind)continue;void 0===t.size_cm?(t.size_cm=Number(Bu(es*is(t)/Xl*r,.1,2e3).toFixed(6)),delete t.scale,delete t.size,e++):(Lu(t,"scale")||Lu(t,"size"))&&(delete t.scale,delete t.size,e++);let i=String(t.text??"");const s=[...i.matchAll(/\{([^{}\r\n]+)\}/g)].some(t=>!!Yi(t[1]));if(!(Lu(t,"entity")||Lu(t,"attr")||Lu(t,"unit")))continue;const n=String(t.unit??"").trim(),o="state"===String(t.attr??"").trim().toLowerCase()?null:t.attr,a=s||n?"":Xi(t.entity,o);if(s||a){if(a){const e=i.indexOf("{}");i=e>=0?i.slice(0,e)+a+i.slice(e+2):`${i}${i?" ":""}${a}`,t.text=i}delete t.entity,delete t.attr,delete t.unit,e++}}}return{total:e,glowSpaces:i,glowRooms:s}})(i);let r=a.total;for(const t of i.spaces||[]){const e=qu(t);if(!e)continue;if(!Ec(t.open_spans).length){const i=Nc(e.rooms,null,Ll,.02*Xl,!0);i.length&&(t.open_spans=Lc(i,Ll),r++)}}const l=Nu(i.spaces||[]),c=function(t,e){const i=JSON.parse(JSON.stringify(t||[])),s=JSON.parse(JSON.stringify(e||{}));let n=0,o=0,a=0,r=0,l="",c=0,h=0;const d={};let u=5;for(const t of i){const e=Hu(t);null!=t?.id&&(d[String(t.id)]=e),e>u&&(u=e)}const p=(t,e,i,s=!1)=>{if(!(t>Iu||s))return;n++,t>a&&(a=t);const o=t*Yl*e;o>r&&(r=o,l=i)};for(const t of i){const e=Hu(t),i=null!=t?.id?String(t.id):"";for(const s of t.rooms||[]){o++;let t=0;if(s.poly?.length)s.poly=s.poly.map(e=>{const i=[Eu(e[0]),Eu(e[1])];return t=Math.max(t,Fu(e[0],e[1],i[0],i[1])),i});else if(null!=s.x&&null!=s.y){const e=s.x,i=s.y,n=s.w||0,o=s.h||0,a=Eu(e+n),r=Eu(i+o),l=Eu(e),c=Eu(i),h=Math.max(Jl,a-l),d=Math.max(Jl,r-c);t=zu(e,i,n,o,l,c,h,d),s.x=l,s.y=c,s.w=h,s.h=d}p(t,e,i)}for(const s of t.room_drafts||[]){o++;let t=0;const n=(s.points||[]).map(e=>{const i=[Eu(e[0]),Eu(e[1])];return t=Math.max(t,Fu(e[0],e[1],i[0],i[1])),i}),a=n.length?[n[0]]:[],r=[];for(let t=0;t+1t.points?.length>=2),h+=e-t.room_drafts.length,t.room_drafts.length||delete t.room_drafts}for(const s of t.partitions||[]){o++;const n=[Eu(s.a[0]),Eu(s.a[1])],a=[Eu(s.b[0]),Eu(s.b[1])];let r=Math.max(Fu(s.a[0],s.a[1],n[0],n[1]),Fu(s.b[0],s.b[1],a[0],a[1]));const l=Fu(n[0],n[1],a[0],a[1]),c=(t.openings||[]).filter(t=>"partition"===t.host?.kind&&t.host.id===s.id).every(t=>{const e=Number(t.length),i=Number(t.host.t),s=i*l;return Number.isFinite(e)&&e>0&&Number.isFinite(i)&&i>=0&&i<=1&&s-e/2>=-Iu&&s+e/2<=l+Iu});l>Iu&&c?(s.a=n,s.b=a):r=0,p(r,e,i)}for(const s of t.wall_columns||[]){o++;const t=[Eu(s.center[0]),Eu(s.center[1])],n=Fu(s.center[0],s.center[1],t[0],t[1]);s.center=t,p(n,e,i)}for(const s of t.decor||[]){o++;let t=0;if("line"===s.kind){const e=[Eu(s.x1),Eu(s.y1)],i=[Eu(s.x2),Eu(s.y2)];t=Math.max(Fu(s.x1,s.y1,e[0],e[1]),Fu(s.x2,s.y2,i[0],i[1])),s.x1=e[0],s.y1=e[1],s.x2=i[0],s.y2=i[1]}else{const e=Eu(s.x),i=Eu(s.y);if(null!=s.w&&null!=s.h){const n=Eu(s.x+s.w),o=Eu(s.y+s.h),a=Math.max(Jl,n-e),r=Math.max(Jl,o-i);t=zu(s.x,s.y,s.w,s.h,e,i,a,r),s.w=a,s.h=r}else t=Fu(s.x,s.y,e,i);s.x=e,s.y=i}p(t,e,i)}for(const s of t.openings||[]){if(o++,"partition"===s.host?.kind){const n=(t.partitions||[]).find(t=>t.id===s.host.id),o=Number(s.host.t);if(!n||!Number.isFinite(o)||o<0||o>1)continue;const a=n.b[0]-n.a[0],r=n.b[1]-n.a[1];if(Math.hypot(a,r)<=Iu)continue;const l=n.a[0]+a*o,h=n.a[1]+r*o;let d=180*Math.atan2(r,a)/Math.PI;d>=90?d-=180:d<-90&&(d+=180);const u=Number(s.angle),_=!(Number.isFinite(u)&&u===d),g=Ou(s.x,s.y,Number.isFinite(u)?u:d,Number(s.length)||0,l,h,d);s.x=l,s.y=h,s.angle=d,_&&c++,p(g,e,i,_);continue}const n=pi([s.x,s.y],t.rooms||[],.025,{step:Jl,length:Number(s.length)||0});if(!n)continue;const a=Number(s.angle),r=!(Number.isFinite(a)&&a===n.angle),l=Ou(s.x,s.y,Number.isFinite(a)?a:n.angle,Number(s.length)||0,n.x,n.y,n.angle);s.x=n.x,s.y=n.y,s.angle=n.angle,r&&c++,p(l,e,i,r)}}for(const[t,e]of Object.entries(s)){if(!e||"object"!=typeof e)continue;const i=e;if("number"!=typeof i.x||"number"!=typeof i.y)continue;o++;const n=Eu(i.x),a=Eu(i.y),r=Fu(i.x,i.y,n,a);s[t]={...i,x:n,y:a};const l="string"==typeof i.s?i.s:"";p(r,d[l]??u,l)}return{spaces:i,layout:s,report:{moved:n,total:o,maxShift:a,maxShiftCm:r,maxSpace:l,rotated:c,removedDrafts:h},changed:n>0}}(i.spaces||[],e||{});i.spaces=c.spaces;const h={...c.report};let d=0,u=0,p=0;for(let t=0;t[t.id,t.open_to||[]]),walls:e.walls||[]}),o=qu(e),a=qu(s);if(!o||!a)continue;const r=Wu(o.rooms),c=Wu(a.rooms),_=.02*Xl;let g=Kc(Ec(e.open_spans),r,c,Ll);const m=g.length;g=Vc(g,a.rooms,Ll,_),g=g.map(t=>{const e=Ac(t,Ll),i=[e[0],e[1]],n=[e[2],e[3]],o=[(e[0]+e[2])/2,(e[1]+e[3])/2],a=e[2]-e[0],r=e[3]-e[1],l=Math.hypot(a,r)||1,d=c.map(([t,e])=>[t[0],t[1],e[0],e[1]]).filter(t=>{const e=t[2]-t[0],s=t[3]-t[1],c=Math.hypot(e,s)||1;return Math.abs(a*s-r*e)/(l*c)<=1e-6&&Fc(o,t).d<=4*_&&Fc(i,t).d<=4*_&&Fc(n,t).d<=4*_}).sort((t,e)=>Math.hypot(e[2]-e[0],e[3]-e[1])-Math.hypot(t[2]-t[0],t[3]-t[1]))[0];if(h.total++,!d)return t;const u=[[d[0],d[1]],[d[2],d[3]]],p=Oc(i,d,u,Xl,2*_),g=Oc(n,d,u,Xl,2*_);if(Math.hypot(g[0]-p[0],g[1]-p[1])<.5*Xl)return t;const m=Math.max(Math.hypot(p[0]-i[0],p[1]-i[1]),Math.hypot(g[0]-n[0],g[1]-n[1]));if(m>1e-6*Xl){h.moved++;const t=m/Ll;t>h.maxShift&&(h.maxShift=t);const e=m/Xl*(Number(s.cell_cm)>0?Number(s.cell_cm):5);e>h.maxShiftCm&&(h.maxShiftCm=e,h.maxSpace=String(s.id||""))}return Rc(p,g,Ll)}),g=Vc(g,a.rooms,Ll,_),u+=Math.max(0,m-g.length);const f=g.map(t=>Ac(t,Ll));g.length?s.open_spans=g:delete s.open_spans,Bc(s.rooms||[],a.rooms,f,_);const v=Array.isArray(e.walls)?e.walls.length:0;let y=Rr(e.walls,r,c,Jl,Ll);y=el(a.rooms,y,f,Jl,Number(s.cell_cm)>0?Number(s.cell_cm):5,Xl,Ll),y=Tr(y,s.rooms||[],Jl,1,f.map(t=>[t[0]/Ll,t[1]/Ll,t[2]/Ll,t[3]/Ll])),d+=Math.max(0,v-y.length),y.length?s.walls=y:delete s.walls;const b=JSON.stringify({spans:s.open_spans||[],links:(s.rooms||[]).map(t=>[t.id,t.open_to||[]]),walls:s.walls||[]});b!==n&&p++}const _=JSON.stringify(i)!==s||JSON.stringify(c.layout)!==n;o<6&&_&&(i.model_version=6);const g=JSON.stringify(i)!==s||JSON.stringify(c.layout)!==n,m=Number.isInteger(Number(i.model_version))?Number(i.model_version):o;return{config:i,layout:c.layout,report:{...h,modelFrom:o,modelTo:m,migrated:r,glowSpacesMigrated:a.glowSpaces,glowRoomsMigrated:a.glowRooms,canonicalized:p,wallsMerged:d,spansMerged:u},changed:g}}class Uu{constructor(t=50){this._undo=[],this._redo=[],this._limit=Math.max(30,Math.floor(t))}get canUndo(){return this._undo.length>0}get canRedo(){return this._redo.length>0}get undoName(){return this._undo[this._undo.length-1]?.name??null}get redoName(){return this._redo[this._redo.length-1]?.name??null}get size(){return this._undo.length}push(t){this._undo.push(t),this._undo.length>this._limit&&this._undo.splice(0,this._undo.length-this._limit),this._redo=[]}undo(){const t=this._undo.pop()??null;return t&&this._redo.push(t),t}redo(){const t=this._redo.pop()??null;return t&&this._undo.push(t),t}clear(){this._undo=[],this._redo=[]}}const Gu=new WeakMap;const Vu=(t,e,i)=>255===t[i+3]&&e.every((e,s)=>Math.abs(t[i+s]-e)<=2);async function Ku(t){const e=t.defaultView;if(!e||!e.CSS?.supports?.("mix-blend-mode","screen"))return!1;const i=[128,32,16],s=[16,64,128],n=[9,19,29],o=`\n \n \n \n \n \n `,a=e.URL.createObjectURL(new Blob([o],{type:"image/svg+xml"}));try{const o=await new Promise((t,i)=>{const s=new e.Image,n=e.setTimeout(()=>i(new Error("SVG blend probe timeout")),1e3);s.onload=()=>{e.clearTimeout(n),t(s)},s.onerror=()=>{e.clearTimeout(n),i(new Error("SVG blend probe failed"))},s.src=a}),r=t.createElement("canvas");r.width=4,r.height=1;const l=r.getContext("2d",{willReadFrequently:!0});if(!l)return!1;l.drawImage(o,0,0,4,1);const c=l.getImageData(0,0,4,1).data;return Vu(c,i,0)&&Vu(c,function(t,e){return[0,1,2].map(i=>Math.round(255-(255-t[i])*(255-e[i])/255))}(i,s),4)&&Vu(c,s,8)&&Vu(c,n,12)}catch{return!1}finally{e.URL.revokeObjectURL(a)}}const Yu={now:()=>performance.now(),requestFrame:t=>requestAnimationFrame(t),cancelFrame:t=>cancelAnimationFrame(t)},Xu=t=>Math.max(0,Math.min(1,t)),Ju=(t,e,i)=>t+(e-t)*i,Zu=(t,e,i)=>{const s=1-t;return 3*s*s*t*e+3*s*t*t*i+t*t*t};function Qu(t,e){return{centerX:t.x+t.w/2,centerY:t.y+t.h/2,pixelsPerUnit:e>0&&t.w>0?e/t.w:1,viewBox:{...t}}}function tp(t,e,i){const s=Math.max(1e-9,t.pixelsPerUnit),n=Math.max(1e-9,e/s),o=Math.max(1e-9,i/s);return{x:t.centerX-n/2,y:t.centerY-o/2,w:n,h:o}}function ep(t){const e=t.trim(),i=/^rgba?\(\s*([\d.]+)[, ]+([\d.]+)[, ]+([\d.]+)(?:\s*[,/]\s*([\d.]+))?\s*\)$/i.exec(e);if(i)return[Number(i[1]),Number(i[2]),Number(i[3]),null==i[4]?1:Number(i[4])];const s=/^#([0-9a-f]{6}|[0-9a-f]{8})$/i.exec(e)?.[1];return s?[parseInt(s.slice(0,2),16),parseInt(s.slice(2,4),16),parseInt(s.slice(4,6),16),8===s.length?parseInt(s.slice(6,8),16)/255:1]:null}function ip(t,e,i){const s=ep(t),n=ep(e);if(!s||!n)return i<.5?t:e;const o=Xu(i);return`rgba(${Math.round(Ju(s[0],n[0],o))}, ${Math.round(Ju(s[1],n[1],o))}, ${Math.round(Ju(s[2],n[2],o))}, ${Ju(s[3],n[3],o).toFixed(3)})`}function sp(t,e,i){const s=(t=>{const e=Xu(t);if(0===e||1===e)return e;let i=0,s=1,n=e;for(let t=0;t<12;t++)n=(i+s)/2,Zu(n,.2,.2){const e=this._state;if(!e||e.token!==n)return;const i=Xu((t-e.startedAt)/e.duration);e.presented=i>=1?e.to:sp(e.from,e.to,i),e.phase=i>=1?"settling":"running",this._hooks.frame(e),i<1?this._raf=this._clock.requestFrame(a):(this._raf=0,this._hooks.settled(e),this._state?.token===n&&(this._state=null))};return this._raf=this._clock.requestFrame(a),n}cancel(t=!0){this._raf&&this._clock.cancelFrame(this._raf),this._raf=0;const e=this._state;this._state=null,this._token++,e&&t&&(e.phase="settling",e.presented=e.to,this._hooks.frame(e),this._hooks.settled(e))}dispose(){this.cancel(!1)}}const op="houseplan_card_labs_v1",ap=Object.freeze([Object.freeze({id:"iso",issue:89,since:"1.62.0",expires:"1.65.0",summary:"Volumetric plan renderer"})]);function rp(t){const e=/^(\d+)\.(\d+)\.(\d+)(?:-[0-9A-Za-z.-]+)?$/.exec(String(t||"").trim());if(!e)return null;const i=e.slice(1).map(Number);return i.every(t=>Number.isSafeInteger(t))?i:null}function lp(t,e){for(let i=0;i<3;i++)if(t[i]!==e[i])return t[i]t.split(",")).map(t=>t.trim()).filter(Boolean)}function _p(t,e,i,s=ap){const n=function(t,e=ap){const i=rp(t),s=new Map;if(!i||!hp(e))return s;for(const t of e){const e=rp(t.since),n=rp(t.expires);lp(i,e)>=0&&lp(i,n)<0&&s.set(t.id,t)}return s}(i,s),o=new Set(hp(s)?s.map(t=>t.id):[]),a=new Set(function(t){if(!t)return[];try{const e=JSON.parse(t);return Array.isArray(e)?e.filter(t=>"string"==typeof t):[]}catch{return[]}}(e).filter(t=>n.has(t)));let r=!1;const l=t=>{if("off"===t)return a.clear(),void(r=!0);const e=t.startsWith("-"),i=e?t.slice(1):t;o.has(i)&&(r=!0,e||!n.has(i)?a.delete(i):a.add(i))};for(const e of pp(new URLSearchParams(String(t.search||"").replace(/^\?/,""))))l(e);for(const e of pp(dp(t.hash)))l(e);const c=Object.freeze([...a].sort());return{active:c,space:up(t.hash),persist:r?JSON.stringify(c):void 0,knownUrlOperation:r}}let gp={active:Object.freeze([]),space:""},mp="",fp=!1,vp="";const yp=new Set;function bp(){if("undefined"==typeof window)return gp;const t=_p(window.location,function(){try{return window.localStorage.getItem(op)}catch{return null}}(),mp);void 0!==t.persist&&function(t){try{window.localStorage.setItem(op,t)}catch{}}(t.persist),gp={active:t.active,space:t.space},window.__hpLabs=t.active;for(const t of yp)t(gp);return gp}function wp(){bp()}function kp(t){return mp=t,"undefined"==typeof window?gp:(fp||(fp=!0,window.addEventListener("hashchange",wp),window.addEventListener("popstate",wp)),bp())}const $p=Object.freeze({rotDeg:0,tiltDeg:20,xyScale:1,zScale:1,origin:Object.freeze([500,500])}),xp=64;function Sp(t){return[t.rotDeg,t.tiltDeg,t.xyScale,t.zScale,t.origin[0],t.origin[1]].every(Number.isFinite)&&Math.abs(t.xyScale)>1e-12&&Math.abs(Math.cos(t.tiltDeg*Math.PI/180))>1e-12}function Mp(t,e,i=$p){if(!(Sp(i)&&Number.isFinite(t[0])&&Number.isFinite(t[1])&&Number.isFinite(e)))throw new Error("invalid isometric projection input");const s=i.rotDeg*Math.PI/180,n=i.tiltDeg*Math.PI/180,o=t[0]-i.origin[0],a=t[1]-i.origin[1],r=(o*Math.cos(s)-a*Math.sin(s))*i.xyScale,l=(o*Math.sin(s)+a*Math.cos(s))*i.xyScale;return[i.origin[0]+r,i.origin[1]+l*Math.cos(n)-e*i.zScale*Math.sin(n)]}function Cp(t,e=$p){if(!Sp(e)||!Number.isFinite(t[0])||!Number.isFinite(t[1]))throw new Error("invalid isometric projection input");const i=e.rotDeg*Math.PI/180,s=e.tiltDeg*Math.PI/180,n=(t[0]-e.origin[0])/e.xyScale,o=(t[1]-e.origin[1])/(e.xyScale*Math.cos(s));return[e.origin[0]+n*Math.cos(i)+o*Math.sin(i),e.origin[1]-n*Math.sin(i)+o*Math.cos(i)]}function Dp(t=$p){return`matrix(${function(t=$p){if(!Sp(t))throw new Error("invalid isometric camera");const e=t.rotDeg*Math.PI/180,i=t.tiltDeg*Math.PI/180,s=t.xyScale*Math.cos(e),n=-t.xyScale*Math.sin(e),o=t.xyScale*Math.sin(e)*Math.cos(i),a=t.xyScale*Math.cos(e)*Math.cos(i);return[s,o,n,a,t.origin[0]-s*t.origin[0]-n*t.origin[1],t.origin[1]-o*t.origin[0]-a*t.origin[1]]}(t).map(t=>Number(t.toFixed(12))).join(" ")})`}function Tp(t,e=$p){const{rect:i,wallHeight:s}=t,n=t.openingHeight??s,o=t.floorDepth??0;if(!(i.w>=0)||!(i.h>=0)||!Number.isFinite(s)||!Number.isFinite(n)||!Number.isFinite(o)||s<0||n<0||o<0)throw new Error("invalid isometric frame");const a=[[i.x,i.y],[i.x+i.w,i.y],[i.x+i.w,i.y+i.h],[i.x,i.y+i.h]],r=Math.max(s,n),l=a.flatMap(t=>[Mp(t,-o,e),Mp(t,r,e)]),c=l.map(t=>t[0]),h=l.map(t=>t[1]),d=Math.min(...c),u=Math.min(...h);return{x:d,y:u,w:Math.max(...c)-d,h:Math.max(...h)-u}}const Pp=t=>`${Number(t[0].toFixed(4))} ${Number(t[1].toFixed(4))}`;function Rp(t){let e=0;for(let i=0;iArray.isArray(t)&&Number.isFinite(t[0])&&Number.isFinite(t[1])).map(t=>[Number(t[0]),Number(t[1])]),i=e[e.length-1];return e.length>1&&e[0][0]===i[0]&&e[0][1]===i[1]&&e.pop(),e}(t);if(i.length<3)return[];const s=!e;return Rp(i)>0===s?i:[...i].reverse()}function Ip(t,e,i){return t.length?`M ${t.map(t=>Pp(Mp(t,i,e))).join(" L ")} Z`:""}function Ep(t,e,i){const s=e[1]-t[1],n=-(e[0]-t[0]),o=i.rotDeg*Math.PI/180;return s*Math.sin(o)+n*Math.cos(o)}function Fp(t,e,i=$p){if(!Number.isFinite(e)||e<0)throw new Error("invalid floor edge height");const s=(t||[]).map(t=>(t||[]).map((t,e)=>function(t,e){const i=Ap(t,e);if(!i.length)return i;let s=0;for(let t=1;t0)).filter(t=>t.length>=3&&Math.abs(Rp(t))>=1e-9)).filter(t=>t.length&&Rp(t[0])>0);s.sort((t,e)=>{const i=t[0][0],s=e[0][0];return i[0]-s[0]||i[1]-s[1]||Math.abs(Rp(e[0]))-Math.abs(Rp(t[0]))});const n=[],o=[];let a=0;for(let t=0;tt.depth-e.depth||t.component-e.component||t.edge-e.edge),{footprintPath:n.join(" "),sides:o,componentCount:s.length,edgeCount:a}}function zp(t,e){return t^=Math.round(64*(Number.isFinite(e)?e:0)),Math.imul(t,16777619)>>>0}const Op=t=>t.every(Number.isFinite);function Hp(t,e,i,s){const n=t[0]*i,o=t[1]*s,a=e*Math.PI/180;return[n*Math.cos(a)-o*Math.sin(a),n*Math.sin(a)+o*Math.cos(a)]}function Np(t,e,i,s,n,o,a){const r=t.flipH?-1:1,l=t.flipV?-1:1,c=function(t,e){return[t[0]+e[0],t[1]+e[1]]}([t.x+t.face.ox,t.y+t.face.oy],Hp(i,t.angle,r,l));return{leaf:e,hinge:c,closedVector:Hp(s,t.angle,r,l),quarterVector:Hp([-s[1],s[0]],t.angle,r,l),turnDeg:n,bottom:o,top:a}}const Lp=t=>`${Number(t[0].toFixed(4))} ${Number(t[1].toFixed(4))}`;function Bp(t,e,i=$p){const s=Math.max(0,Math.min(1,Number.isFinite(e)?e:0));return t.leaves.map(e=>{const n=function(t,e){const i=t.turnDeg*e*Math.PI/180;return[t.hinge[0]+t.closedVector[0]*Math.cos(i)+t.quarterVector[0]*Math.sin(i),t.hinge[1]+t.closedVector[1]*Math.cos(i)+t.quarterVector[1]*Math.sin(i)]}(e,s),o=Mp(e.hinge,e.bottom,i),a=Mp(n,e.bottom,i),r=Mp(n,e.top,i),l=Mp(e.hinge,e.top,i);return{id:t.id,sourceIndex:t.sourceIndex,type:t.type,leaf:e.leaf,d:`M ${Lp(o)} L ${Lp(a)} L ${Lp(r)} L ${Lp(l)} Z`,shadowD:`M ${Lp(Mp(e.hinge,0,i))} L ${Lp(Mp(n,0,i))}`,depth:Math.max(o[1],a[1])}})}const qp={window:120,door:90,passage:90,gate:300};function Wp(t){return qp[t]}function jp(t,e){const i=[t[0],t[1]],s=[e[0],e[1]];return function(t,e){return t[0]-e[0]||t[1]-e[1]}(i,s)<=0?{a:i,b:s}:{a:s,b:i}}function Up(t){const e=new Map;return t.forEach((t,i)=>{if(!t.kind||t.open)return;const s=jp(t.a,t.b);if(Math.hypot(s.b[0]-s.a[0],s.b[1]-s.a[1])<=1e-9)return;const n=function(t,e){const i=t=>(Math.abs(t)<=5e-10?0:Math.round(1e6*t)/1e6).toFixed(6);return`${i(t[0])},${i(t[1])}>${i(e[0])},${i(e[1])}`}(s.a,s.b),o=e.get(n);if(o)return o.physicalHalfWidth=Math.max(o.physicalHalfWidth,t.half||0),o.sourceOrder=Math.min(o.sourceOrder,i),void(t.partitionHost&&(o.partitionHost&&o.partitionHost.id!==t.partitionHost.id?o.ambiguousPartitionHost=!0:o.partitionHost=t.partitionHost));e.set(n,{segmentKey:n,a:s.a,b:s.b,physicalHalfWidth:Math.max(0,t.half||0),sourceOrder:i,...t.partitionHost?{partitionHost:t.partitionHost}:{}})}),[...e.values()]}function Gp(t,e){if(Math.abs(t.distance-e.distance)>1e-9)return t.distance-e.distance;if(Math.abs(t.perpendicular-e.perpendicular)>1e-9)return t.perpendicular-e.perpendicular;return(t.target.segmentKeye.target.segmentKey?1:0)||t.target.sourceOrder-e.target.sourceOrder}function Vp(t){const e=Up(t.intervals).map(e=>{const i=function(t,e){const i=e.b[0]-e.a[0],s=e.b[1]-e.a[1],n=Math.hypot(i,s),o=i/n,a=s/n,r=(t[0]-e.a[0])*o+(t[1]-e.a[1])*a,l=Math.max(0,Math.min(n,r)),c=e.a[0]+l*o,h=e.a[1]+l*a;return{along:l,length:n,x:c,y:h,distance:Math.hypot(t[0]-c,t[1]-h),perpendicular:Math.abs((t[0]-e.a[0])*a-(t[1]-e.a[1])*o)}}(t.pointer,e);return{target:e,...i,envelope:Math.max(t.baseTolerance,e.physicalHalfWidth+t.bodyPointerPadding)}}).filter(t=>t.distance<=t.envelope+1e-9).filter(e=>!e.target.partitionHost||t.renderedLength<=e.length+1e-9).filter(e=>!function(t,e,i,s,n){const o=e.b[0]-e.a[0],a=e.b[1]-e.a[1],r=Math.hypot(o,a);if(!(r>1e-9))return!1;const l=o/r,c=a/r;for(const o of i){if(!o.open&&o.kind)continue;const i=jp(o.a,o.b),a=i.b[0]-i.a[0],r=i.b[1]-i.a[1],h=Math.hypot(a,r);if(!(h>1e-9))continue;const d=a/h,u=r/h;if(Math.abs(l*u-c*d)>1e-6)continue;if(Math.abs((i.a[0]-e.a[0])*c-(i.a[1]-e.a[1])*l)>n)continue;const p=(t[0]-i.a[0])*d+(t[1]-i.a[1])*u,_=1e-9;if(!(p<=_||p>=h-_)&&Math.abs((t[0]-i.a[0])*u-(t[1]-i.a[1])*d)<=s+1e-9)return!0}return!1}(t.pointer,e.target,t.intervals,e.envelope,Math.max(1e-9,Math.min(t.baseTolerance,.04*t.gridStep)))).sort(Gp);let i=e[0];if(!i)return null;const s=e.filter(t=>Math.abs(t.distance-i.distance)<=1e-9&&Math.abs(t.perpendicular-i.perpendicular)<=1e-9),n=s.filter(t=>t.target.partitionHost);if(n.length){if(1!==new Set(n.map(t=>t.target.partitionHost.id)).size||n.some(t=>t.target.ambiguousPartitionHost))return null;const t=n[0],e=t.target.b[0]-t.target.a[0],o=t.target.b[1]-t.target.a[1],a=Math.hypot(e,o),r=e/a,l=o/a;if(!s.every(e=>{const i=e.target.b[0]-e.target.a[0],s=e.target.b[1]-e.target.a[1],n=Math.hypot(i,s),o=i/n,a=s/n,c=Math.abs(r*a-l*o)<=1e-6,h=Math.abs((e.target.a[0]-t.target.a[0])*l-(e.target.a[1]-t.target.a[1])*r);return c&&h<=1e-9}))return null;i=t}if(i.target.ambiguousPartitionHost)return null;const{target:o,length:a}=i,r=o.b[0]-o.a[0],l=o.b[1]-o.a[1],c=r/a,h=l/a,d=Math.min(Math.max(0,t.renderedLength)/2,a/2);let u=i.along;const p=Math.max(t.gridStep,1e-9),_=a/2;u=Math.abs(u-_)<=p/2?_:Math.round(u/p)*p,u=Math.max(d,Math.min(a-d,u));const g=o.a[0]+c*u,m=o.a[1]+h*u,f=Math.max(0,t.renderedLength)/2,v=u-f,y=u+f,b=Math.max(0,v),w=Math.max(0,a-y),k=[o.a[0]+c*(v-b/2),o.a[1]+h*(v-b/2)],$=[o.a[0]+c*(y+w/2),o.a[1]+h*(y+w/2)];let x=180*Math.atan2(l,r)/Math.PI;x>=90?x-=180:x<-90&&(x+=180);const S=Math.abs(u-_)<=1e-9;return{presetRevision:t.preset.revision,geometryRevision:t.geometryRevision,pointer:[t.pointer[0],t.pointer[1]],type:t.preset.type,lengthCm:t.preset.lengthCm,flipH:t.preset.flipH,flipV:t.preset.flipV,x:g,y:m,angle:x,renderedLength:t.renderedLength,target:o,...o.partitionHost?{host:{...o.partitionHost,t:a>0?u/a:0}}:{},measure:{labels:[{distance:b,midpoint:k},{distance:w,midpoint:$}],guide:S?{x:g,y:m,angle:x}:null}}}function Kp(t,e,i,s,n=1e-6){return t.presetRevision===i&&t.geometryRevision===s&&Math.hypot(t.pointer[0]-e[0],t.pointer[1]-e[1])<=n}const Yp="1.65.0-beta.3",Xp={badge:"display.badge",icon_ripple:"display.icon_ripple",value:"display.value",static_icon:"display.static_icon"},Jp={badge:"marker.display_hint_badge",icon_ripple:"marker.display_hint_icon_ripple",value:"marker.display_hint_value",static_icon:"marker.display_hint_static_icon"},Zp=2e3,Qp=1e3,t_=1500,e_=t=>{const e=String(t??"").trim().replace(",",".");if(!/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)$/.test(e))return null;const i=Number(e);return Number.isFinite(i)?i:null},i_=(t,e)=>{if(!t.has(e))return{hit:!1};const i=t.get(e);return t.delete(e),t.set(e,i),{hit:!0,value:i}},s_=(t,e,i,s)=>{for(t.delete(e),t.set(e,i);t.size>s;){const e=t.keys().next().value;if(void 0===e)break;t.delete(e)}},n_=new Map;let o_=0;const a_=t=>`${window.innerWidth}x${window.innerHeight}|${location.pathname}|${JSON.stringify(t??{})}`;let r_=1e4;const l_="houseplan_card_layout_v1",c_="houseplan_card_cfg_v1",h_="houseplan_card_zoom_v1",d_="houseplan_card_nav_v1",u_="houseplan_card_kiosk_v1",p_="houseplan_card_view_v1",__=1e3,g_=[[0,1],[45,.88],[70,.62],[86,.32],[100,0]],m_=(t,e)=>{const i=Math.min(t.x,e.x),s=Math.min(t.y,e.y);return{x:i,y:s,w:Math.max(t.x+t.w,e.x+e.w)-i,h:Math.max(t.y+t.h,e.y+e.h)-s}},f_=new Set(["select","draw","partition","column","merge","split","resize","opening","boundary","wallthick","delroom"]),v_=2e3,y_=(t,e,i)=>{const s=new Event(e,{bubbles:!0,composed:!0});s.detail=i??{},t.dispatchEvent(s)},b_=t=>{history.pushState(null,"",t),y_(window,"location-changed",{replace:!1})},w_=(t,e)=>{let i,s=null;const n=(...n)=>{clearTimeout(i),s=n,i=window.setTimeout(()=>{i=void 0;const e=s;s=null,e&&t(...e)},e)};return n.flush=()=>{if(void 0===i)return;clearTimeout(i),i=void 0;const e=s;s=null,e&&t(...e)},n.cancel=()=>{clearTimeout(i),i=void 0,s=null},n.pending=()=>void 0!==i,n},k_=t=>{try{t.target?.setPointerCapture?.(t.pointerId)}catch{}};class $_ extends ht{constructor(){super(...arguments),this._space="f1",this._layout={},this._serverStorage=!1,this._loadOk=!1,this._serverCanWrite=null,this._loading=!1,this._loadTries=0,this._serverCfg=null,this._cfgRev=0,this._cfgContentFingerprint="",this._unsubCfg=null,this._unsubLayout=null,this._unsubVirtual=null,this._liveSyncAttempt=null,this._liveSyncGeneration=0,this._liveSyncConnection=null,this._layoutRev=0,this._layoutContentFingerprint="",this._virtualLights=gn(null),this._canOptimizeUndo=!1,this._undoKind=null,this._devices=[],this._regSignature="",this._defPos={},this._newSyncKey="",this._tip=null,this._hoverRoom=null,this._selId=null,this._toast="",this._mode="view",this._pendingNavMode=null,this._decorTool="select",this._decorStyle={...er},this._decorDraft=null,this._decorMove=null,this._decorSel=null,this._decorEraseConfirm=null,this._decorTextDialog=null,this._decorShapeDialog=null,this._backdropDialog=null,this._decorTextSelection={start:0,end:0},this._furnPalette=null,this._dtBox=null,this._dtDrag=null,this._bdDrag=null,this._slide="",this._reducedMotion=!1,this._onMotionChange=t=>{this._reducedMotion=t.matches,t.matches&&this._modeTransitionPreparing?this._modeTransitionForceAtomic=!0:t.matches&&this._modeTransition.active&&this._cancelModeTransition(!0),this.requestUpdate()},this._editorChromeMode="plan",this._modeTransitionVisual=null,this._modeTransitionPreparing=!1,this._modeTransitionForceAtomic=!1,this._modeTransitionRequest=0,this._modeTransitionTargetZoom=1,this._modeTransitionEditorCamera=null,this._modeTransition=new np({frame:t=>this._applyModeTransitionFrame(t),settled:t=>this._settleModeTransition(t)}),this._editorSecondary=new Ru({root:()=>this.renderRoot,requestUpdate:()=>this.requestUpdate(),updateComplete:()=>this.updateComplete,clearTip:()=>{this._tip=null}}),this._editorSecondaryCopy={groupActive:(t,e)=>this._t("editor.group_active",{group:t,item:e}),openGroup:t=>this._t("editor.open_group",{group:t}),disabledAction:(t,e)=>this._t("editor.disabled_action",{action:t,reason:e})},this._tool="draw",this._geometryHistory=new Uu(50),this._wallDialog=null,this._drawWallField=null,this._activeDraftId=null,this._resumeDraftBySpace={},this._physicalSel=null,this._physicalDialog=null,this._partitionDeleteDialog=null,this._physicalDrag=null,this._physicalRotate=null,this._physicalLastTap=null,this._physicalPickCycle=null,this._wallUnionCache=null,this._isoGeometryCache=new Map,this._isoFallback=new Set,this._openingTunnelCache=null,this._openingWallIndexCache=new Map,this._openingPlacementIntervalsCache=null,this._planSnapGeometryCache=null,this._planStructuralGeometryCache=null,this._physicalBodiesCache=null,this._lightPhysicalBodiesCache=null,this._cleanFloorCache=new Map,this._glowClipCache=new Map,this._lightBarrierCache=null,this._glowFeatherUnits=null,this._glowRenderedSources=new Map,this._glowLastAppearance=new Map,this._glowEnteringSources=new Set,this._glowEnterRafs=new Map,this._glowFadeTimers=new Map,this._glowFeatherSuspendUntil=0,this._glowFeatherResumeTimer=0,this._glowSourceSeq=0,this._glowScreenBlend=!1,this._duplicateColumnId=null,this._duplicateColumnTimer=0,this._rszSel=null,this._rszDrag=null,this._rszPreview=null,this._rszLive=null,this._path=[],this._cursorPt=null,this._planSnapHover=null,this._mergeSel=null,this._openingPreset=null,this._openingRebindId=null,this._openingPresetRevision=0,this._openingHoverCandidate=null,this._openingDialog=null,this._openingInfo=null,this._opDrag=null,this._opMeasure=null,this._mergeDialog=null,this._openWallAnchor=null,this._boundaryPointerType="mouse",this._boundaryRestoreGuard=null,this._boundaryTargetMemo=null,this._boundaryPreviewMemo=null,this._splitSel=null,this._pendingSplit=null,this._wallFaceBatch=null,this._wallFaceGraphCache=[],this._areaSel="",this._nameSel="",this._roomDialog=!1,this._roomEditId=null,this._roomFill="",this._roomCustomFill=null,this._roomTempSrc="",this._roomHumSrc="",this._roomSrcOpen=null,this._roomSrcFilter="",this._roomNameScale=1,this._roomLabelScale=1,this._zoom=1,this._view=null,this._zoomBySpace={},this._viewModeSnap=null,this._pointers=new Map,this._panStart=null,this._panLock=null,this._pinchStart=null,this._suppressClick=!1,this._touchContacts=new Map,this._touchSequenceMultitouch=!1,this._touchClickBlockUntil=0,this._connectedPath="",this._routeDepartureHandled=!1,this._onLocationChanged=()=>{this._connectedPath&&location.pathname!==this._connectedPath?this._leaveCardRoute():location.pathname===this._connectedPath&&(this._routeDepartureHandled=!1)},this._touchGestureGuard={capture:!0,handleEvent:t=>this._guardTouchGesture(t)},this._hdrH=118,this._booting=!0,this._bootFading=!1,this._bootSettling=!1,this._bootSettleRaf=0,this._bootLastH=-1,this._bootStart=0,this._bootLastChange=0,this._bootSoft=!1,this._tapConfirm=null,this._onboardingShown=!1,this._rulesDialog=null,this._alignDialog=null,this._settingsDialog=null,this._backupExportDialog=null,this._backupImportDialog=null,this._sunRaysCache=null,this._dayCycleTimer=0,this._dayCycleClockKey="",this._compassDrag=!1,this._importDialog=null,this._importQueue=[],this._importTotal=0,this._rulesCompiledSrc="",this._infoCard=null,this._nativeMoreInfoEntity=null,this._markerDialog=null,this._spaceDialog=null,this._keyHandler=t=>this._onKey(t),this._warmVp=null,this._warmVpArmed=!1,this._warmLongReturn=!1,this._warmRevivePending=!1,this._warmGen=++o_,this._warmKey=null,this._warmSlot=null,this._hashApplied=!1,this._navApplied=!1,this._labs={active:Object.freeze([]),space:""},this._viewPreference={},this._renderProjection="flat",this._kioskScale={icon:1,font:1},this._kioskDialog=!1,this._activityRt=new Map,this._vacRt=new Map,this._vacViewKey="",this._vacLastView=null,this._vacRaf=0,this._vacSrvTrails={},this._vacJumpOnce=!1,this._continuity=this._newContinuityController(),this._continuityHistory=[],this._continuityEpoch=0,this._continuityDataReady=!0,this._continuityPaintToken=-1,this._continuityDisposed=!1,this._renderSnapshotAt=Date.now(),this._hassSequence=0,this._visibleDeviceSnapshot=null,this._candidateDeviceSnapshot=null,this._stagedDeviceSnapshotToken=-1,this._capturedSnapshotSequence=-1,this._capturedSnapshotDevices=null,this._capturedSnapshotLayout=null,this._capturedSnapshotActivity="",this._capturedSnapshotConfigEpoch=-1,this._capturedSnapshotVirtual="",this._lastValidStageSize=null,this._pendingRefitSize=null,this._refitRaf=0,this._pageVisibility=t=>{if(this._continuity.visibility(t),this._dayCycleVisibility(t),"hidden"!==t.kind){if(this._vacJumpOnce=!0,!t.long){const t=Date.now();let e=!1;for(const i of this._activityRt.values())!i.flashKind||(i.expiresAt||i.flashTs+wu)>t||(i.flashTs=0,i.flashKind=null,i.expiresAt=0,e=!0);return void(e&&this.requestUpdate())}Date.now()-this._renderSnapshotAt>1e3&&this._continuity.note("device-snapshot-stale"),this._continuityDataReady=!1,this._continuityPaintToken=-1,this._resumeSettling=!0,this._loading?this.requestUpdate():this._loadFromServer()}else this._modeTransitionPreparing?this._modeTransitionForceAtomic=!0:this._cancelModeTransition(!0)},this._resumeSettling=!1,this._viewportInvalidAt=0,this._vacFit=null,this._vacAllCamerasFor=null,this._vacAllCameraCache=null,this._vacCalConfirm=null,this._kioskDots=!1,this._cyclePausedUntil=0,this._swipeStart=null,this._lastTap=0,this._onLabsSnapshot=t=>{const e=this._effectiveProjection();this._labs=t;const i=this._effectiveProjection();this._convertProjectionView(e,i),this.requestUpdate()},this._onHashChange=()=>{const t=this._hashSpace();if(t&&this._model.find(e=>e.id===t)&&t!==this._space){if(this._wallFaceBatch&&this._roomDialogCancel(),"plan"===this._mode&&"draw"===this._tool&&!this._finishWallChain())return;this._activeDraftId&&(this._resumeDraftBySpace[this._space]=this._activeDraftId),this._space=t,this._selId=null,this._path=[],this._clearPlanSnapHover(),this._clearOpeningPlacement(!0),this._tool="draw",this._openWallAnchor=null,this._boundaryRestoreGuard=null,this._activeDraftId=null,this._draftSegmentCms=[],this._closingWallCm=null,"plan"===this._mode&&"draw"===this._tool&&this._resumeLastDraft(),this._restoreZoom(),this.requestUpdate()}},this._drag=null,this._rlResize=null,this._holdFired=!1,this._retryContinuity=()=>{this._continuityDataReady=!1,this._continuityPaintToken=-1,this._continuity.retry(this._continuity.recoveryReason||"plan"),this._loading||this._loadFromServer()},this._cfgEpoch=0,this._modelCache=null,this._emptySpaceStateActive=!1,this._decorSnapCache=null,this._markerPreviewMemo=null,this._markerPreviewDevicesMemo=null,this._showHidden=!1,this._connHooked=null,this._connectionWasLost=!1,this._haRegistryConnection=null,this._haRegistryRev=-1,this._haBindingCacheKey="",this._planHassMemo=null,this._onHaRegistryUpdate=()=>{const t=In(this.hass);t.revision===this._haRegistryRev&&this._devices.length||(this._haRegistryRev=t.revision,this._planHassMemo=null,this._regSignature="",this._maybeRebuildDevices(),this.requestUpdate())},this._onConnReady=()=>{if(this._loadTries=0,clearTimeout(this._loadRetryTimer),this._loadRetryTimer=void 0,function(t){const e=Cn(t);e&&(Pn(t,e),Rn(t,e))}(this.hass),this._saveConfigDebounced.pending()&&this._saveConfigDebounced.flush(),this._cfgWriting)return clearTimeout(this._reloadRetry),void(this._reloadRetry=window.setTimeout(this._onConnReady,400));!this._connectionWasLost&&this._continuity.hasCompleteFrame?this._beginContinuityCandidate("connection-ready",!1,"plan"):(this._continuityDataReady=!1,this._continuityPaintToken=-1),this._loading||this._loadFromServer()},this._onConnLost=()=>{this._booting&&!this._continuity.hasCompleteFrame||(this._connectionWasLost=!0,this._continuityDataReady=!1,this._continuityPaintToken=-1,this._continuity.connectionLost())},this._signer=new nh(()=>this.requestUpdate()),this._dirtyPos=new Set,this._sentPos=new Map,this._persistLayout=w_(()=>{if(this._serverStorage){const t=[...this._dirtyPos];this._dirtyPos.clear();for(const e of t){const t=this._layout[e];t&&(this._sentPos.set(e,t),this.hass.callWS({type:"houseplan/layout/update",device_id:e,pos:t}).then(t=>this._noteLayoutRev(t)).catch(t=>this._showToast(this._t("toast.pos_save_failed",{err:this._errText(t)}))).finally(()=>{this._sentPos.get(e)===t&&this._sentPos.delete(e)}))}this._cacheSnapshot()}else localStorage.setItem(l_,JSON.stringify(this._layout))},600),this._frame=null,this._showFar=!1,this._writesPending=0,this._writeChain=Promise.resolve(),this._undoGeometry=()=>{if(this._cancelBoundaryAnchor())return;if(this._physicalDrag||this._physicalRotate)return void this._cancelPhysicalGesture();if(this._decorDraft)return this._decorDraft=null,void this.requestUpdate();if(this._decorMove||this._dtDrag||this._bdDrag)return void this._cancelDecorGesture();if(this._rszDrag)return void this._rszCancelDrag();const t=this._geometryHistory.undo();t&&(this._applyGeometryState(t.before)?this._showToast(this._t("history.undone",{name:t.name})):this._geometryHistory.clear())},this._redoGeometry=()=>{if(this._cancelBoundaryAnchor())return;if(this._physicalDrag||this._physicalRotate)return void this._cancelPhysicalGesture();if(this._decorDraft)return this._decorDraft=null,void this.requestUpdate();if(this._decorMove||this._dtDrag||this._bdDrag)return void this._cancelDecorGesture();if(this._rszDrag)return void this._rszCancelDrag();const t=this._geometryHistory.redo();t&&(this._applyGeometryState(t.after)?this._showToast(this._t("history.redone",{name:t.name})):this._geometryHistory.clear())},this._saveConfigDebounced=w_(()=>{this._serverCfg&&this._writeConfig().catch(t=>{"conflict"===t?.code?(this._showToast(this._t("toast.conflict")),this._cancelPath(),this._reloadConfigOnly(!0)):this._showToast(this._t("toast.cfg_save_failed",{err:this._errText(t)}))})},500),this._draftSegmentCms=[],this._closingWallCm=null,this._savePhysicalDialog=()=>{const t=this._physicalDialog,e=this._curSpaceCfg,i=this._spaceModel();if(!t||!e||!i)return;const s=e_(t.cm);if(null==s)return void this._showPhysicalRange("column"===t.kind?kl:100);const n=this._imperial?2.54*s:s,o="column"===t.kind?kl:100;if(!Number.isFinite(n)||n<1||n>o)return void this._showPhysicalRange(o);if("column"===t.kind){const e=i.wall_columns.find(e=>e.id===t.id);if(!e)return;const s=e_(t.angle||"0");if("circle"!==t.shape&&(null==s||s<0||s>=90))return void this._showToast(this._t("toast.physical_angle"));const o="circle"===t.shape?{id:t.id,shape:"circle",center:e.center,cm:n}:{id:t.id,shape:"square",center:e.center,cm:n,angle:s};if(i.wall_columns.some(e=>e.id!==t.id&&Nl(e,o,.02*this._gridPitch)))return void this._showToast(this._t("toast.column_duplicate"))}const a=this._geometrySnapshot();if("partition"===t.kind){const i=(e.partitions||[]).find(e=>e.id===t.id);i&&(i.cm=n)}else if("column"===t.kind){const i=(e.wall_columns||[]).find(e=>e.id===t.id);i&&(i.cm=$l(n),i.shape="circle"===t.shape?"circle":"square","square"===i.shape?i.angle=e_(t.angle||"0"):delete i.angle)}else{const i=(e.room_drafts||[]).find(e=>e.id===t.id);i?.segments?.[t.segment||0]&&(i.segments[t.segment||0].cm=n)}this._recordGeometry(this._t("history.physical_edit"),a),this._physicalDialog=null,this._saveConfig()},this._deletePhysicalSelection=()=>{const t=this._physicalSel,e=this._curSpaceCfg;if(!t||!e)return;if("draft"===t.kind)return void this._deleteDraftWhole();const i=this._geometrySnapshot();if("partition"===t.kind){const i=(e.openings||[]).filter(e=>"partition"===e.host?.kind&&e.host.id===t.id).sort((t,e)=>(t.host?.t||0)-(e.host?.t||0));if(i.length)return void(this._partitionDeleteDialog={id:t.id,openings:i.map(t=>JSON.parse(JSON.stringify(t)))})}const s="partition"===t.kind?"partitions":"column"===t.kind?"wall_columns":"room_drafts";e[s]=(e[s]||[]).filter(e=>e.id!==t.id),e[s].length||delete e[s],this._activeDraftId===t.id&&this._cancelPath(),this._physicalSel=null,this._physicalDialog=null,this._recordGeometry(this._t("history.physical_delete"),i),this._saveConfig()},this._confirmPartitionDelete=()=>{const t=this._partitionDeleteDialog,e=this._curSpaceCfg;if(!t||!e)return;const i=this._geometrySnapshot();e.partitions=(e.partitions||[]).filter(e=>e.id!==t.id),e.partitions.length||delete e.partitions,e.openings=(e.openings||[]).filter(e=>"partition"!==e.host?.kind||e.host.id!==t.id),e.openings.length||delete e.openings,this._partitionDeleteDialog=null,this._physicalSel=null,this._physicalDialog=null,this._recordGeometry(this._t("history.physical_delete"),i),this._saveConfig()},this._deleteDraftWhole=()=>{const t="draft"===this._physicalDialog?.kind?this._physicalDialog.id:"draft"===this._physicalSel?.kind?this._physicalSel.id:null,e=this._curSpaceCfg;if(!t||!e||!confirm(this._t("confirm.delete_draft")))return;const i=this._geometrySnapshot();e.room_drafts=(e.room_drafts||[]).filter(e=>e.id!==t),e.room_drafts.length||delete e.room_drafts,this._activeDraftId===t&&this._cancelPath(),this._physicalSel=null,this._physicalDialog=null,this._recordGeometry(this._t("history.physical_delete"),i),this._saveConfig()},this._deleteDraftSegment=()=>{const t=this._physicalDialog,e=this._curSpaceCfg;if(!t||"draft"!==t.kind||!e)return;if(!confirm(this._t("confirm.delete_draft_segment")))return;const i=(e.room_drafts||[]).findIndex(e=>e.id===t.id);if(i<0)return;const s=e.room_drafts[i],n=Math.max(0,Math.min(s.segments.length-1,t.segment||0)),o=[],a=s.points.slice(0,n+1),r=s.points.slice(n+1);if(a.length>=2&&o.push({id:s.id,points:a,segments:s.segments.slice(0,n)}),r.length>=2&&o.push({id:o.length?`${s.id}-${Date.now().toString(36)}`:s.id,points:r,segments:s.segments.slice(n+1)}),2===o.length&&e.room_drafts.length>=200)return void this._showToast(this._t("toast.physical_limit"));const l=this._geometrySnapshot();e.room_drafts.splice(i,1,...o),e.room_drafts.length||delete e.room_drafts,this._activeDraftId===s.id&&this._cancelPath(),this._physicalDialog=null,this._physicalSel=o.length?{kind:"draft",id:o[0].id}:null,this._recordGeometry(this._t("history.draft_segment_delete"),l),this._saveConfig()},this._rebindPartitionOpening=()=>{const t=this._openingDialog;if(!t?.id)return;const e=t.id;this._activateMarkupTool("opening"),"opening"===this._tool&&(this._openingRebindId=e,this._openingPreset={type:t.type,lengthCm:t.lengthCm,flipH:t.flipH,flipV:t.flipV,revision:++this._openingPresetRevision},this._openingDialog=null,this._openingHoverCandidate=null)},this._keepClosedAsPartitions=()=>{if(this._wallFaceBatch)return void this._decideWallFace(!1);if(!this._contourClosed||this._pendingSplit||!this._curSpaceCfg)return;const t=this._curSpaceCfg,e=this._path.slice(0,-1);if((t.partitions||[]).length+e.length>v_)return void this._showToast(this._t("toast.physical_limit"));const i=this._geometrySnapshot(),s=[...this._draftSegmentCms,this._closingWallCm||this._drawWallCm||pr];t.partitions||=[];const n=Date.now().toString(36);for(let i=0;it.id!==this._activeDraftId),t.room_drafts.length||delete t.room_drafts),this._recordGeometry(this._t("history.contour_to_partitions"),i),this._saveConfig(),this._roomDialog=!1,this._path=[],delete this._resumeDraftBySpace[this._space],this._activeDraftId=null,this._draftSegmentCms=[],this._closingWallCm=null},this._toggleServerPlans=async()=>{const t=this._spaceDialog;if(t)if(t.pickSaved)this._spaceDialog={...t,pickSaved:!1};else{this._spaceDialog={...t,pickSaved:!0,savedBusy:!0};try{const t=await this.hass.callWS({type:"houseplan/plans/list"}),e=this._spaceDialog;e&&(this._spaceDialog={...e,saved:t?.plans||[],savedBusy:!1})}catch(t){const e=this._spaceDialog;e&&(this._spaceDialog={...e,saved:[],savedBusy:!1}),this._showToast(this._t("toast.plans_list_failed",{err:this._errText(t)}))}}},this._aspectJob=null,this._dayCycleTick=()=>{if(!this.isConnected||"hidden"===this.ownerDocument.visibilityState)return;const t=this._dayCycleState();if(!t)return this._dayCycleTimer&&(clearInterval(this._dayCycleTimer),this._dayCycleTimer=0),void(this._dayCycleClockKey="");const e=Na(t);e!==this._dayCycleClockKey&&(this._dayCycleClockKey=e,this.requestUpdate())},this._sunShown=!1,this._sunOut=!1,this._sunOutTimer=0,this._openSettingsDialog=()=>{if(!this._norm)return;const t=this._glowRadiusCm,e=this._imperial?Math.round(t/30.48*10)/10:Math.round(t)/100;this._settingsDialog={colors:JSON.parse(JSON.stringify(this._fillColors)),glowRadius:e,bgColor:hs(this._settings,{bgColor:null})||null,northDeg:Ka(this._settings,{}),bgMode:Ya(this._settings,{}),sunRays:Xa(this._settings,{}),busy:!1}},this._openAlignDialog=()=>{if(!this._norm||!this._serverCfg)return;const t=this._serverCfg.spaces||[],e=ju(this._serverCfg,this._layout||{}),i=Math.ceil(10*e.report.maxShiftCm)/10,s=t.find(t=>null!=t?.id&&String(t.id)===e.report.maxSpace),n=t.length>1&&s?String(s.title||s.id):"";this._alignDialog={report:e.report,config:e.config,layout:e.layout,cm:i,where:n,changed:e.changed,busy:!1}},this._optimizeUndoBusy=!1,this._openBackupExport=()=>{this._settingsDialog=null,this._backupExportDialog={kind:"full",planOnly:!1,busy:!1,error:""}},this._openRulesDialog=()=>{if(!this._norm)return;const t=this._settings.icon_rules,e=(t&&t.length?t:Xt).map(t=>({...t}));this._rulesDialog={rules:e,test:"",busy:!1}},this._climateCache=null,this._gearPtCache=new WeakMap}get _canEdit(){return!!this._norm&&(!0===this._serverCanWrite||!1!==this._serverCanWrite&&!0===this.hass?.user?.is_admin)}get _kiosk(){return!!this._config?.kiosk}_showKioskDots(){this._kioskDots=!0,clearTimeout(this._kioskDotsTimer),this._kioskDotsTimer=window.setTimeout(()=>this._kioskDots=!1,2500)}get _modeTransitionBusy(){return this._modeTransitionPreparing||this._modeTransition.active}_cssColor(t,e){const i=String(t||"").trim();if(!i)return e;const s=document.createElement("span");s.style.cssText=`position:absolute;visibility:hidden;color:${i}`,this.renderRoot.append(s);const n=getComputedStyle(s).color||e;return s.remove(),n}_currentModeVisual(t=this._mode){const e=this._modeTransition.presented||this._modeTransitionVisual;if(e)return{...e,viewport:{...e.viewport,viewBox:{...e.viewport.viewBox}}};const i=this._stageEl;if(!i||i.clientWidth<=0||i.clientHeight<=0)return null;const s=this.renderRoot.querySelector(".editorchrome"),n=this._viewOr(this._baseVb()),o=this.renderRoot.querySelector(".hp-paper"),a=this.renderRoot.querySelector(".hp-backdrop"),r=this.renderRoot.querySelector(".zoomwrap"),l=r?getComputedStyle(r).filter:"",c=Number(/brightness\(([^)]+)\)/.exec(l)?.[1]);return{presentedMode:t,editorChromeHeight:"view"===t?0:s?.getBoundingClientRect().height||0,stageWidth:i.clientWidth,stageHeight:i.clientHeight,viewport:Qu(n,i.clientWidth),stageColor:getComputedStyle(i).backgroundColor||"rgb(255, 255, 255)",paperColor:o?getComputedStyle(o).fill:"rgb(255, 255, 255)",sceneBrightness:Number.isFinite(c)?c:1,architectureOpacity:"decor"===t?.35:1,backdropOpacity:a&&Number(getComputedStyle(a).opacity)||1,viewWeight:"view"===t?1:0,editorWeight:"view"===t?0:1,toolbarContentOpacity:"view"===t?0:1}}_viewForModeTarget(t,e,i,s,n){const o=Oi(this._baseVb(),s/Math.max(1,n)),a=Math.min($_.ZOOM_MAX,Math.max($_.ZOOM_MIN,t)),r=o.w/a,l=o.h/a,c=e??o.x+o.w/2,h=i??o.y+o.h/2;return this._clampView({x:c-r/2,y:h-l/2,w:r,h:l},o)}_targetStageColor(t){return"view"!==t?"rgb(255, 255, 255)":this._cssColor(this._stageBg(this._spaceDisplayForRender()),this._cssColor("var(--ha-card-background, var(--card-background-color, #111))","rgb(17, 17, 17)"))}_targetPaperColor(t){return"view"===t&&this._spaceModel()?.bg?this._cssColor("var(--ha-card-background, var(--card-background-color, #111))","rgb(17, 17, 17)"):"rgb(255, 255, 255)"}_targetBrightness(t){return 1}_applyModeTransitionFrame(t){t.targetMode===this._mode&&(this._modeTransitionVisual=t.presented,this._view={...t.presented.viewport.viewBox},this.requestUpdate())}_settleModeTransition(t){if(t.targetMode!==this._mode)return;const e=this._modeTransitionRequest;this._view={...t.to.viewport.viewBox},this._zoom=this._modeTransitionTargetZoom,this._modeTransitionVisual=null,this._modeTransitionPreparing=!1,this._lastValidStageSize=[t.to.stageWidth,t.to.stageHeight],"view"===this._mode&&(this._saveZoom(),this._viewModeSnap=null,this._modeTransitionEditorCamera=null),this.requestUpdate(),this.updateComplete.then(()=>{if(!this.isConnected||e!==this._modeTransitionRequest||this._modeTransitionBusy||t.targetMode!==this._mode)return;const i=this._stageEl;if(i&&i.clientWidth>0&&i.clientHeight>0&&(Math.abs(i.clientWidth-t.to.stageWidth)>.5||Math.abs(i.clientHeight-t.to.stageHeight)>.5)){const t=this._view;this._lastValidStageSize=[i.clientWidth,i.clientHeight],this._applyView(this._zoom,t?t.x+t.w/2:void 0,t?t.y+t.h/2:void 0),this.requestUpdate()}const s=this.renderRoot.activeElement;(!s||!s.isConnected||!!s.closest?.(".editorchrome, .stage"))&&this.renderRoot.querySelector(".modetab.active")?.focus?.({preventScroll:!0})})}_cancelModeTransition(t=!0){const e=!!this._modeTransition.state;this._modeTransitionRequest++,this._modeTransitionPreparing=!1,this._modeTransitionForceAtomic=!1,this._modeTransition.cancel(t),t&&e||(this._modeTransitionVisual=null)}_adoptMode(t){this._cancelModeTransition(!1),this._mode=t,"view"!==t&&(this._editorChromeMode=t)}_commitViewModeAtomic(t,e,i,s){if(this._modeTransitionPreparing=!1,this._modeTransitionVisual=null,this._modeTransitionForceAtomic=!1,this._zoom=e,t){const n=this._stageEl?.clientWidth||t.stageWidth,o=Math.max(1,t.stageHeight+t.editorChromeHeight);this._view=this._viewForModeTarget(e,i,s,n,o),this._lastValidStageSize=[n,o]}else this._view=null;this._viewModeSnap=null,this._modeTransitionEditorCamera=null,this._saveZoom(),this.requestUpdate()}_prepareModeTransition(t,e,i,s,n,o){this.updateComplete.then(()=>{if(!this.isConnected||t!==this._modeTransitionRequest||this._mode!==i)return void(t===this._modeTransitionRequest&&(this._modeTransitionPreparing=!1,this._modeTransitionVisual=null,this._modeTransitionForceAtomic=!1,this.requestUpdate()));const a=this.renderRoot.querySelector(".editorchrome"),r=a?.querySelector(".editorchrome-inner"),l="view"===i?0:r?.scrollHeight||r?.getBoundingClientRect().height||0,c=Math.max(1,e.stageHeight+e.editorChromeHeight),h=Math.max(1,c-l),d=this._stageEl?.clientWidth||e.stageWidth;if(d<=0||h<=0)return this._modeTransitionPreparing=!1,this._modeTransitionVisual=null,this._applyView(s,n,o),void this.requestUpdate();const u=this._viewForModeTarget(s,n,o,d,h),p={presentedMode:i,editorChromeHeight:l,stageWidth:d,stageHeight:h,viewport:Qu(u,d),stageColor:this._targetStageColor(i),paperColor:this._targetPaperColor(i),sceneBrightness:this._targetBrightness(i),architectureOpacity:"decor"===i?.35:1,backdropOpacity:"decor"===i&&"backdrop"!==this._decorTool?.5:1,viewWeight:"view"===i?1:0,editorWeight:"view"===i?0:1,toolbarContentOpacity:"view"===i?0:1};this._modeTransitionPreparing=!1;const _=this._modeTransitionForceAtomic;this._modeTransitionForceAtomic=!1,this._modeTransition.start(e,p,i,this._reducedMotion||_?0:220)})}_slideTo(t,e){if(t===this._space)return;if(this._wallFaceBatch&&this._roomDialogCancel(),"plan"===this._mode&&"draw"===this._tool&&!this._finishWallChain())return;this._cancelModeTransition(!0);const i=window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches;this._activeDraftId&&(this._resumeDraftBySpace[this._space]=this._activeDraftId),this._space=t,this._path=[],this._clearPlanSnapHover(),this._clearOpeningPlacement(!0),this._tool="draw",this._openWallAnchor=null,this._boundaryRestoreGuard=null,this._activeDraftId=null,this._draftSegmentCms=[],this._closingWallCm=null,this._selId=null,this._physicalSel=null,this._editorSecondary.closeForNavigation(),this._physicalDialog=null,this._physicalDrag=null,"plan"===this._mode&&"draw"===this._tool&&this._resumeLastDraft(),this._restoreZoom(),i||(this._slide=e,clearTimeout(this._slideTimer),this._slideTimer=window.setTimeout(()=>{this._slideTimer=void 0,this._slide="",this.requestUpdate()},190),this.requestUpdate())}_pickSpace(t){if(t===this._space)return;const e=this._model.map(t=>t.id),i=e.indexOf(this._space),s=e.indexOf(t);this._navApplied=!0,this._showFar=!1,this._frame=null,this._slideTo(t,i>=0&&s0&&Date.now()>=this._cyclePausedUntil&&this._model.length>1&&this._zoom<=1.001){const t=this._model.map(t=>t.id),e=t.indexOf(this._space);this._slideTo(t[(e+1)%t.length],"left"),this._showKioskDots()}}get _editing(){return"plan"===this._mode||"devices"===this._mode||"decor"===this._mode}get _markup(){return"plan"===this._mode}_newContinuityController(){return new th(()=>{this._resumeSettling="steady"!==this._continuity.state,this._continuityEpoch++,this.isConnected&&this.requestUpdate()})}get _labsIso(){return this._labs.active.includes("iso")}get _desiredProjection(){return"view"===this._mode&&this._labsIso&&"iso"===this._viewPreference[this._space]?"iso":"flat"}_saveViewPreference(){try{localStorage.setItem(p_,JSON.stringify(this._viewPreference))}catch{}}_logicalViewCenter(t){const e=this._view;if(!e)return null;const i=[e.x+e.w/2,e.y+e.h/2],s="iso"===t?Cp(i):i;return{x:s[0],y:s[1]}}_convertProjectionView(t,e){if(t===e)return;const i=this._logicalViewCenter(t);this._view=null;const s=i?"iso"===e?Mp([i.x,i.y],0):[i.x,i.y]:null;this._applyView(this._zoom,s?.[0],s?.[1]),this._warmPatch({vp:this._warmViewportState()}),this.requestUpdate()}_setProjection(t){if(!this._labsIso||"view"!==this._mode)return;const e=this._effectiveProjection();if(this._viewPreference={...this._viewPreference,[this._space]:t},"iso"===t){const t=this._isoSceneKey();t&&this._isoFallback.delete(t)}this._saveViewPreference();const i=this._effectiveProjection();this._convertProjectionView(e,i)}_hashSpace(){return up(window.location.hash||"")}connectedCallback(){this._connectedPath=location.pathname,this._routeDepartureHandled=!1,window.addEventListener("location-changed",this._onLocationChanged),window.addEventListener("popstate",this._onLocationChanged),this._continuityDisposed&&(this._continuity=this._newContinuityController(),this._continuityDisposed=!1,this._continuityPaintToken=-1);const t=(e=this.ownerDocument,Gu.get(e)?.resolved);var e;void 0!==t&&(this._glowScreenBlend=t),this._continuityUnsub?.(),this._continuityUnsub=Zc(this.ownerDocument,this._pageVisibility),super.connectedCallback(),this._motionMedia=window.matchMedia?.("(prefers-reduced-motion: reduce)"),this._reducedMotion=!!this._motionMedia?.matches,this._motionMedia?.addEventListener?.("change",this._onMotionChange),function(t){const e=Gu.get(t);if(e)return e.promise;const i={promise:Promise.resolve(!1)};return i.promise=Ku(t).catch(()=>!1).then(t=>(i.resolved=t,t)),Gu.set(t,i),i.promise}(this.ownerDocument).then(t=>{t!==this._glowScreenBlend&&(this._glowScreenBlend=t,this.isConnected&&this.requestUpdate())}),this.hass&&this._ensureHaRegistryAuthority(),window.addEventListener("keydown",this._keyHandler),this._signer.start(()=>this.hass,()=>As(this._serverCfg)),this._config?.kiosk&&Number(this._config?.cycle)>0&&(clearInterval(this._cycleTimer),this._cycleTimer=window.setInterval(()=>this._cycleTick(),1e3*Number(this._config.cycle))),window.addEventListener("hashchange",this._onHashChange),this._labsUnsub?.(),this._labsUnsub=function(t,e){yp.add(e);const i=kp(t);return"undefined"==typeof window&&e(i),()=>{yp.delete(e)}}(Yp,this._onLabsSnapshot),this._booting?this._bootWatch():this._bootFading&&(clearTimeout(this._bootTimer),this._bootTimer=window.setTimeout(()=>{this._bootFading=!1},220)),this._bootSoft&&(clearTimeout(this._bootSoftTimer),this._bootSoftTimer=window.setTimeout(()=>{this._bootSoft=!1},t_)),!this._loadOk&&this._serverCfg&&this.hass&&this._scheduleLoadRetry(),!this._warmSlot&&this._config&&this._warmAdopt(),this._loadOk&&this._ensureLiveSyncSubscriptions(),this._warmVp&&!this._warmRevivePending&&void 0===this._warmReviveTimer&&(this._warmRevivePending=!0,this._warmReviveTimer=window.setTimeout(()=>this._warmReviveDialog(),0)),this._warmLongReturn&&this._beginResumeSettle(),this._warmLongReturn=!1,this.requestUpdate()}disconnectedCallback(){this._connectedPath&&location.pathname!==this._connectedPath&&this._leaveCardRoute(),window.removeEventListener("location-changed",this._onLocationChanged),window.removeEventListener("popstate",this._onLocationChanged),this._continuityUnsub?.(),this._continuityUnsub=void 0,this._motionMedia?.removeEventListener?.("change",this._onMotionChange),this._motionMedia=void 0,this._vacRaf&&(cancelAnimationFrame(this._vacRaf),this._vacRaf=0),this._refitRaf&&(cancelAnimationFrame(this._refitRaf),this._refitRaf=0),this._dayCycleTimer&&(clearInterval(this._dayCycleTimer),this._dayCycleTimer=0),this._dayCycleClockKey="",this._bootSettleRaf&&(cancelAnimationFrame(this._bootSettleRaf),this._bootSettleRaf=0),this._bootSettling=!1;for(const t of this._activityRt.values())clearTimeout(t.timer);window.removeEventListener("keydown",this._keyHandler),clearInterval(this._cycleTimer),clearTimeout(this._kioskDotsTimer),clearTimeout(this._kioskHoldTimer),clearTimeout(this._reloadRetry),clearTimeout(this._loadRetryTimer),this._loadRetryTimer=void 0,this._connHooked?.removeEventListener?.("ready",this._onConnReady),this._connHooked?.removeEventListener?.("disconnected",this._onConnLost),this._connHooked?.removeEventListener?.("reconnect-error",this._onConnLost),this._connHooked=null,this._haRegistryRelease?.(),this._haRegistryRelease=void 0,this._haRegistryConnection=null,this._signer.dispose(),clearTimeout(this._toastTimer),clearTimeout(this._slideTimer),this._modeTransition.dispose(),this._modeTransitionVisual=null,this._modeTransitionPreparing=!1,this._modeTransitionForceAtomic=!1,this._modeTransitionRequest++,this._slideTimer=void 0,this._slide="",clearTimeout(this._bootTimer),this._bootTimer=void 0,clearTimeout(this._bootSoftTimer),this._saveConfigDebounced.flush(),window.removeEventListener("hashchange",this._onHashChange),this._labsUnsub?.(),this._labsUnsub=void 0,clearTimeout(this._holdTimer),this._roViewport?.disconnect(),this._roViewport=void 0,this._roHdr?.disconnect(),this._roHdr=void 0,this._onWinResize&&(window.removeEventListener("resize",this._onWinResize),this._onWinResize=void 0),this._unsubCfg&&(this._unsubCfg(),this._unsubCfg=null),this._unsubLayout&&(this._unsubLayout(),this._unsubLayout=null),this._unsubVirtual&&(this._unsubVirtual(),this._unsubVirtual=null),this._unsubTrail&&(this._unsubTrail(),this._unsubTrail=void 0),this._liveSyncGeneration++,this._liveSyncAttempt=null,this._liveSyncConnection=null,clearTimeout(this._layoutSyncTimer),clearTimeout(this._duplicateColumnTimer);for(const t of this._glowFadeTimers.values())clearTimeout(t);for(const t of this._glowEnterRafs.values())cancelAnimationFrame(t);clearTimeout(this._glowFeatherResumeTimer),this._glowFeatherResumeTimer=0,this._glowFeatherSuspendUntil=0,this._glowFadeTimers.clear(),this._glowEnterRafs.clear(),this._glowEnteringSources.clear(),this._glowRenderedSources.clear(),this._glowLastAppearance.clear(),this._glowSourceSeq=0,this._warmSnapshot(),this._warmRevivePending=!1,clearTimeout(this._warmReviveTimer),this._warmReviveTimer=void 0,this._warmRelease(),this._openWallAnchor=null,this._boundaryRestoreGuard=null,this._clearPlanSnapHover(),this._clearOpeningPlacement(!0),this._touchContacts.clear(),this._touchSequenceMultitouch=!1,this._touchClickBlockUntil=0,this._editorSecondary.reset(),this._resumeSettling=!1,this._continuityHistory=[...this._continuityHistory,...this._continuity.trace].slice(-80),this._continuity.dispose(),this._continuityDisposed=!0,super.disconnectedCallback()}_onKey(t){if("Escape"===t.key&&this._vacFit)return this._vacFit=null,this._showToast(this._t("vac.cal_cancelled")),void t.stopPropagation();if("Escape"===t.key){if(this._tapConfirm)return void(this._tapConfirm=null);if(this._vacCalConfirm)return void(this._vacCalConfirm=null);if(this._decorEraseConfirm)return void(this._decorEraseConfirm=null);if(this._openingInfo)return void(this._openingInfo=null);if(this._infoCard)return void this._closeInfoCard();if(this._rulesDialog)return void(this._rulesDialog=null);if(this._alignDialog)return void(this._alignDialog=null);if(this._backupImportDialog)return void(this._backupImportDialog=null);if(this._backupExportDialog)return void(this._backupExportDialog=null);if(this._settingsDialog)return void(this._settingsDialog=null);if(this._markerDialog)return void(this._markerDialog=null);if(this._openingDialog)return void(this._openingDialog=null);if(this._physicalDialog)return void(this._physicalDialog=null);if(this._backdropDialog)return void(this._backdropDialog=null);if(this._decorShapeDialog)return void(this._decorShapeDialog=null);if(this._decorTextDialog)return void(this._decorTextDialog=null);if(this._spaceDialog&&!this._roomDialog)return this._spaceDialog=null,this._importQueue=[],void(this._importTotal=0);if(this._editorSecondary.hasOpenGroup)return t.preventDefault(),void this._editorSecondary.closeGroup(!0)}const e=t.composedPath?.()||[t.target],i=e.some(t=>t?.matches?.('input, textarea, select, [contenteditable="true"]')),s=e.some(t=>t?.classList?.contains?.("editor-secondary")),n=t.ctrlKey||t.metaKey,o=t.key.toLowerCase(),a=/^[a-z]$/.test(o),r="z"===o||!a&&"KeyZ"===t.code,l="y"===o||!a&&"KeyY"===t.code,c=n&&(r&&t.shiftKey||l),h=n&&r&&!t.shiftKey;if("decor"===this._mode){if((h||c)&&i)return;return c?(t.preventDefault(),void this._redoGeometry()):h?(t.preventDefault(),this._decorDraft?void(this._decorDraft=null):this._decorMove||this._dtDrag||this._bdDrag?void this._cancelDecorGesture():void this._undoGeometry()):"Delete"!==t.key&&"Backspace"!==t.key||!this._decorSel||i||s?void("Escape"===t.key&&(t.preventDefault(),this._decorDraft?this._decorDraft=null:this._decorMove||this._dtDrag||this._bdDrag?this._cancelDecorGesture():"furniture"===this._decorTool?(this._furnPalette=null,this._decorTool="select"):this._decorSel?this._decorSel=null:"select"!==this._decorTool?this._decorTool="select":this._setMode("view"))):(t.preventDefault(),void this._decorDeleteSel())}if(this._markup&&(!h&&!c||!i)){if(("Delete"===t.key||"Backspace"===t.key)&&this._physicalSel&&!i&&!s)return t.preventDefault(),void this._deletePhysicalSelection();if(c)return t.preventDefault(),void this._redoGeometry();if(h)return t.preventDefault(),this._rszDrag?void this._rszCancelDrag():this._wallFaceBatch?(this._roomDialogCancel(),void(this._activeDraftId&&this._path.length>1?this._undoActiveDraftPoint():this._undoPoint())):"draw"!==this._tool&&"partition"!==this._tool||!this._path.length?"split"===this._tool&&this._splitSel?.pts?.length?(this._splitSel={...this._splitSel,pts:this._splitSel.pts.slice(0,-1)},void(this._splitSel.pts.length||(this._cursorPt=null))):void this._undoGeometry():void(this._activeDraftId&&this._path.length>1?this._undoActiveDraftPoint():this._undoPoint());if("Escape"===t.key)return this._physicalDrag||this._physicalRotate?(t.preventDefault(),void this._cancelPhysicalGesture()):this._roomDialog?(t.preventDefault(),void this._roomDialogCancel()):"draw"===this._tool&&this._path.length||"partition"===this._tool&&this._path.length?(t.preventDefault(),void this._undoPoint()):this._physicalSel?(t.preventDefault(),void(this._physicalSel=null)):"resize"===this._tool?(t.preventDefault(),this._rszDrag?void this._rszCancelDrag():void(this._rszSel?this._rszSel=null:this._tool="draw")):"split"===this._tool?(t.preventDefault(),void(this._splitSel?.pts?.length?(this._splitSel={...this._splitSel,pts:this._splitSel.pts.slice(0,-1)},this._splitSel.pts.length||(this._cursorPt=null)):this._splitSel?this._splitSel=null:this._tool="draw")):"merge"===this._tool?(t.preventDefault(),void(this._mergeSel?this._mergeSel=null:this._tool="draw")):this._wallDialog?(t.preventDefault(),void(this._wallDialog=null)):"boundary"===this._tool?(t.preventDefault(),void(this._openWallAnchor?this._cancelBoundaryAnchor():this._tool="draw")):void("opening"!==this._tool&&"wallthick"!==this._tool&&"delroom"!==this._tool&&"partition"!==this._tool&&"column"!==this._tool||(t.preventDefault(),"opening"===this._tool&&this._clearOpeningPlacement(!0),this._tool="draw"))}}_undoPoint(){if(this._path.length){if(this._contourClosed)return this._path=this._path.slice(0,-1),void(this._closingWallCm=null);if(this._activeDraftId&&this._path.length>1&&this._curSpaceCfg){const t=this._geometrySnapshot();this._path=this._path.slice(0,-1),this._draftSegmentCms=this._draftSegmentCms.slice(0,-1);const e=this._curSpaceCfg,i=(e.room_drafts||[]).findIndex(t=>t.id===this._activeDraftId);return void(i>=0&&(this._path.length<2?(e.room_drafts.splice(i,1),e.room_drafts.length||delete e.room_drafts,this._activeDraftId=null):e.room_drafts[i]={id:this._activeDraftId,points:this._path.map(t=>[t[0]/__,t[1]/__]),segments:this._draftSegmentCms.map(t=>({cm:t}))},this._recordGeometry(this._t("history.draft_segment_delete"),t),this._saveConfig()))}this._path=this._path.slice(0,-1)}}_undoActiveDraftPoint(){const t=this._activeDraftId,e=this._path[0]?[...this._path[0]]:null,i=this._geometryHistory.undo();if(!i)return void this._undoPoint();if(!this._applyGeometryState(i.before))return void this._geometryHistory.clear();const s=t?this._spaceModel()?.room_drafts.find(e=>e.id===t):null;s?(this._activeDraftId=s.id,this._path=s.points.map(t=>[...t]),this._draftSegmentCms=s.segments.map(t=>t.cm),this._resumeDraftBySpace[this._space]=s.id):(this._activeDraftId=null,this._path=e?[e]:[],this._draftSegmentCms=[],t&&this._resumeDraftBySpace[this._space]===t&&delete this._resumeDraftBySpace[this._space]),this._clearPlanSnapHover(),this._showToast(this._t("history.undone",{name:i.name}))}static getConfigElement(){return document.createElement("houseplan-card-editor")}static getStubConfig(){return{type:"custom:houseplan-card"}}static _warmBootReset(t){for(const t of n_.values())for(const e of t)clearTimeout(e.evict);n_.clear(),r_=t&&t>0?t:1e4}static _warmBootStats(){let t=0,e=0;const i=[];for(const s of n_.values())for(const n of s)t++,n.dlg&&(e++,i.push(n.dlg.kind));return{keys:n_.size,slots:t,dlgs:e,drafts:i}}setConfig(t){this._config={icon_size:2.5,show_temperature:!0,live_states:!0,show_signal:!0,...t},this._config.kiosk&&(this._booting=!1,this._bootFading=!1),t.default_floor&&(this._space=t.default_floor);try{this._zoomBySpace=JSON.parse(localStorage.getItem(h_)||"{}")||{}}catch{this._zoomBySpace={}}try{const t=JSON.parse(localStorage.getItem(p_)||"{}")||{};this._viewPreference=Object.fromEntries(Object.entries(t).filter(t=>"flat"===t[1]||"iso"===t[1]))}catch{this._viewPreference={}}this._labs=kp(Yp);try{const t=JSON.parse(localStorage.getItem(u_)||"null");this._kioskScale={icon:zs(t?.icon),font:zs(t?.font)}}catch{}try{const t=JSON.parse(localStorage.getItem(c_)||"null");t&&t.config&&Array.isArray(t.config.spaces)&&(this._serverCfg=t.config,this._cfgEpoch++,this._cfgRev=t.rev||0,this._cfgContentFingerprint=t.config_fingerprint||eh(t.config),this._layout=t.layout||{},this._layoutRev=t.layout_rev||0,this._layoutContentFingerprint=t.layout_fingerprint||eh(this._layout),this._virtualLights=gn(t.virtual_lights,this._cfgRev),this._serverStorage=!0,this._adoptInitialSpace(this._model))}catch{}"view"!==this._mode||this._view||(this._zoom=this._zoomBySpace[this._space]||1),this.isConnected&&(this._warmAdopt(),this._warmLongReturn&&this._beginResumeSettle(),this._warmLongReturn=!1)}_warmAdopt(){if(this._config?.kiosk)return;const t=a_(this._config);if(this._warmKey===t&&this._warmSlot)return;this._warmSlot&&this._warmRelease();const e=this.parentNode,i=this._warmIdx(e),s=n_.get(t);if(!s||!s.length)return;const n=s.find(t=>t.owner===this._warmGen);if(n)return this._warmLongReturn=!!n.freed&&Date.now()-n.freed>=Yc,clearTimeout(n.evict),n.evict=0,n.freed=0,n.live=!0,this._warmSlot=n,this._warmKey=t,n.frameFingerprint&&this._continuity.adoptCompleteFrame(n.frameFingerprint),void(!this._devices.length&&n.devices?.length&&(this._devices=[...n.devices]));const{slot:o,sure:a}=((t,e,i,s)=>{const n=t=>{const e=!!i&&t.place?.deref()===i;return e&&t.idx===s?4:t.live?0:e?3:2};let o=null,a=0,r=0,l=null;for(const i of t){if(i.owner===e)continue;l=i;const t=n(i);t<=0||(t>a?(o=i,a=t,r=1):t===a&&r++)}return!o||r>1?{slot:o||l,sure:!1}:{slot:o,sure:!0}})(s,this._warmGen,e,i);o&&(this._warmLongReturn=!!o.freed&&Date.now()-o.freed>=Yc,this._booting=!1,this._bootFading=!1,this._hdrH=o.hdrH,this._bootSoft=!0,this.isConnected&&(clearTimeout(this._bootSoftTimer),this._bootSoftTimer=window.setTimeout(()=>{this._bootSoft=!1},t_)),this._warmKey=t,a?(clearTimeout(o.evict),o.evict=0,o.owner=this._warmGen,o.place=e?new WeakRef(e):null,o.idx=i,o.live=!0,this._warmSlot=o,this._warmVp=o.vp,o.frameFingerprint&&this._continuity.adoptCompleteFrame(o.frameFingerprint),!this._devices.length&&o.devices?.length&&(this._devices=[...o.devices]),this._warmAdoptViewport(this._config)):(this._warmSlot={owner:this._warmGen,path:location.pathname,place:e?new WeakRef(e):null,idx:i,live:!0,hdrH:o.hdrH,stageH:o.stageH,vp:null,frameFingerprint:"",devices:null,dlg:null,freed:0,evict:0},s.push(this._warmSlot),this._warmTrim(s)))}_warmIdx(t){const e=t?.children;if(!e)return-1;for(let t=0;t4;){const e=t.findIndex(t=>!t.live);if(e<0)break;clearTimeout(t[e].evict),t.splice(e,1)}}_warmScheduleEvict(t,e){if(clearTimeout(t.evict),!(t.dlg||t.vp&&"view"!==t.vp.mode))return;const i=t.freed,s=t.owner;t.evict=window.setTimeout(()=>{if(t.evict=0,t.freed!==i||t.owner!==s)return;var n;t.dlg=null,t.vp=(n=t.vp)&&"view"!==n.mode?{...n,mode:"view",zoom:n.snap?.space===n.space?n.snap.zoom:n.zoom,view:null,snap:null,tool:"draw",decorTool:"select",showHidden:!1,selId:null,rszSel:null,decorSel:null}:n,t.frameFingerprint="";const o=n_.get(e);if(!t.live&&o&&o.length>1){const e=o.indexOf(t);e>=0&&o.splice(e,1)}},r_+250)}_warmAdoptViewport(t){const e=this._warmVp;if(!e||this._warmSlot?.path!==location.pathname)return void(this._warmVp=null);if(this._hashApplied||!this._model.find(t=>t.id===e.space))return void(this._warmVp=null);this._space=e.space,this._navApplied=!0,this._adoptMode("view"!==e.mode&&this._canEdit&&!t.kiosk?e.mode:"view"),this._pendingNavMode="view"===e.mode||this._canEdit||t.kiosk?null:e.mode,this._zoom=e.zoom;const i=this._effectiveProjection(),s=i===e.projection&&this._labsIso===e.activeLabsIso;if(this._view=s&&e.view?{...e.view}:null,this._viewModeSnap=s&&e.snap?{...e.snap}:null,!s&&e.logicalCenter){const t="iso"===i?Mp([e.logicalCenter.x,e.logicalCenter.y],0):[e.logicalCenter.x,e.logicalCenter.y];this._applyView(e.zoom,t[0],t[1])}var n;this._tool="openwall"===(n=e.tool)||"closewall"===n?"boundary":"opening"===(n=function(t){return"partition"===t?"draw":t}(n))?"draw":"string"==typeof n&&f_.has(n)?n:"draw",this._decorTool=e.decorTool,this._showHidden=e.showHidden,this._showFar!==e.showFar&&(this._showFar=e.showFar,this._frame=null),this._selId=e.selId,this._rszSel=e.rszSel,this._decorSel=e.decorSel,this._warmVpArmed=!0}_warmPatch(t,e=!1){if(this._config?.kiosk)return;const i=a_(this._config);if(!this._warmSlot||this._warmKey===i){if(!this._warmSlot){if(!e)return;const t=this.parentNode;this._warmKey=i,this._warmSlot={owner:this._warmGen,path:location.pathname,place:t?new WeakRef(t):null,idx:this._warmIdx(t),live:!0,hdrH:this._hdrH,stageH:0,vp:null,frameFingerprint:"",devices:null,dlg:null,freed:0,evict:0};const s=n_.get(i)||[];for(s.push(this._warmSlot),n_.set(i,s),this._warmTrim(s);n_.size>8;){const t=n_.keys().next().value;if(void 0===t||t===i)break;for(const e of n_.get(t)||[])clearTimeout(e.evict);n_.delete(t)}}Object.assign(this._warmSlot,t)}}_warmViewportState(){const t=this._effectiveProjection();return{space:this._space,mode:this._mode,projection:t,activeLabsIso:this._labsIso,logicalCenter:this._logicalViewCenter(t),zoom:this._zoom,view:this._view?{...this._view}:null,snap:this._viewModeSnap?{...this._viewModeSnap}:null,tool:this._tool,decorTool:this._decorTool,showHidden:this._showHidden,showFar:this._showFar,selId:this._selId,rszSel:this._rszSel,decorSel:this._decorSel}}_warmDialogState(){const t=(t,e)=>({kind:t,space:this._space,mode:this._mode,data:e});return this._tapConfirm||this._alignDialog||this._mergeDialog||this._importDialog||this._backupExportDialog||this._backupImportDialog?null:this._openingInfo?t("openingInfo",this._openingInfo.id):this._infoCard?t("info",this._infoCard.id):this._rulesDialog?this._rulesDialog.busy?null:t("rules",this._rulesDialog):this._settingsDialog?this._settingsDialog.busy?null:t("settings",this._settingsDialog):this._markerDialog?this._markerDialog.busy?null:t("marker",this._markerDialog):this._openingDialog?t("opening",this._openingDialog):this._backdropDialog?t("backdrop",this._backdropDialog):this._decorShapeDialog?t("decorShape",this._decorShapeDialog):this._decorTextDialog?t("decorText",this._decorTextDialog):this._roomDialog?t("room",{editId:this._roomEditId,fill:this._roomFill,customFill:this._roomCustomFill,tempSrc:this._roomTempSrc,humSrc:this._roomHumSrc,srcOpen:this._roomSrcOpen,srcFilter:this._roomSrcFilter,nameScale:this._roomNameScale,labelScale:this._roomLabelScale,areaSel:this._areaSel,nameSel:this._nameSel,pendingSplit:this._pendingSplit,wallFaceBatch:this._wallFaceBatch,path:this._path}):this._spaceDialog?this._spaceDialog.busy?null:t("space",this._spaceDialog):null}_warmSnapshot(){if(this._booting||this._config?.kiosk||"steady"!==this._continuity.state)return;const t={vp:this._warmViewportState(),frameFingerprint:this._continuity.frameFingerprint,devices:this._devices};if(this._warmRevivePending||(t.dlg=this._warmDialogState()),this.isConnected&&this._warmSlot?.owner===this._warmGen){const e=this.parentNode;t.place=e?new WeakRef(e):null,t.idx=this._warmIdx(e)}this._warmPatch(t)}_warmReviveDialog(){this._warmRevivePending=!1;const t=this._warmSlot;if(this._warmReviveTimer=void 0,!t||!t.dlg)return;const e=t.dlg,i=t.freed;if(t.dlg=null,t.freed=0,clearTimeout(t.evict),t.evict=0,i&&!(Date.now()-i>r_)&&e.space===this._space&&e.mode===this._mode){switch(e.kind){case"space":this._spaceDialog={...e.data,busy:!1,savedBusy:!1};break;case"marker":this._markerDialog={...e.data,busy:!1};break;case"settings":this._settingsDialog={...e.data,busy:!1};break;case"rules":this._rulesDialog={...e.data,busy:!1};break;case"opening":this._openingDialog={...e.data};break;case"backdrop":this._backdropDialog={...e.data};break;case"decorShape":this._decorShapeDialog={...e.data};break;case"decorText":{this._decorTextDialog={...e.data};const t=String(this._decorTextDialog?.text??"").length;this._decorTextSelection={start:t,end:t};break}case"room":{const t=e.data;this._roomEditId=t.editId,this._roomFill=t.fill,this._roomCustomFill=t.customFill||null,this._roomTempSrc=t.tempSrc,this._roomHumSrc=t.humSrc,this._roomSrcOpen=t.srcOpen,this._roomSrcFilter=t.srcFilter,this._roomNameScale=t.nameScale,this._roomLabelScale=t.labelScale,this._areaSel=t.areaSel,this._nameSel=t.nameSel,this._pendingSplit=t.pendingSplit,this._wallFaceBatch=t.wallFaceBatch||null,this._path=t.path,this._wallFaceBatch&&(this._activeDraftId=this._wallFaceBatch.activeDraftId,this._draftSegmentCms=[...this._wallFaceBatch.activeCms]),this._roomDialog=!0;break}case"info":{const t=this._devices.find(t=>t.id===e.data);t&&(this._infoCard=t);break}case"openingInfo":{const t=(this._curSpaceCfg?.openings||[]).find(t=>t.id===e.data);t&&(this._openingInfo=t);break}}this.requestUpdate()}}_cacheSnapshot(){if(this._serverCfg)try{this._cfgContentFingerprint=eh(this._serverCfg),this._layoutContentFingerprint=eh(this._layout),this._virtualLights=function(t,e,i){if(t.configRev===i)return t;const s=new Set((Array.isArray(e?.markers)?e.markers:[]).filter(yn).map(t=>t.id));return{...t,configRev:i,off:new Set([...t.off].filter(t=>s.has(t)))}}(this._virtualLights,this._serverCfg,this._cfgRev),localStorage.setItem(c_,JSON.stringify({config:this._serverCfg,rev:this._cfgRev,config_fingerprint:this._cfgContentFingerprint,layout:this._layout,layout_rev:this._layoutRev,layout_fingerprint:this._layoutContentFingerprint,virtual_lights:fn(this._virtualLights)}))}catch{}}_beginContinuityCandidate(t,e,i="plan"){return this._booting&&!this._continuity.hasCompleteFrame?this._continuity.token:(this._continuityDataReady=e,this._continuityPaintToken=-1,this._stagedDeviceSnapshotToken=-1,this._resumeSettling=!0,this._continuity.beginCandidate(t,i))}_continuityStageValid(){const t=this._stageEl;return!!t&&t.clientWidth>0&&t.clientHeight>0}_continuityAssetsReady(){if(!this._model.length)return!1;const t=this._model.length?this._spaceModel():null;return!t?.bg?.href||this._signer.isReady(this.hass,t.bg.href)}_initialSpaceSelection(t){return function(t){const e=new Set(t.spaceIds.filter(t=>!!t));if(!e.size)return{id:null,source:"none"};const i=[["hash",!1===t.acceptHash?null:t.hashSpace],["current",t.preserveCurrent?t.currentSpace:null],["saved",t.savedSpace],["default",t.defaultSpace],["first",t.spaceIds[0]]];for(const[t,s]of i)if(s&&e.has(s))return{id:s,source:t};return{id:null,source:"none"}}({spaceIds:t.map(t=>t.id),hashSpace:this._hashSpace(),acceptHash:!this._hashApplied,currentSpace:this._space,preserveCurrent:this._hashApplied||this._navApplied||this._warmVpArmed,savedSpace:this._savedNav()?.space,defaultSpace:this._config?.default_floor})}_adoptInitialSpace(t){const e=this._initialSpaceSelection(t);return e.id?(this._space=e.id,"hash"===e.source&&(this._hashApplied=!0),"saved"===e.source&&(this._navApplied=!0),e):e}_candidateBackdrop(t,e=this._space){const i=Gl(t),s=this._initialSpaceSelection(i).id||(i.some(t=>t.id===e)?e:i[0]?.id);return i.find(t=>t.id===s)?.bg?.href||""}_visualFrameFingerprint(){const t=this._stageEl,e=t?[t.clientWidth,t.clientHeight]:[0,0];return ih([this._cfgRev,this._cfgContentFingerprint||eh(this._serverCfg),this._layoutRev,this._layoutContentFingerprint||eh(this._layout),this._space,this._mode,this._view,e,this._glowScreenBlend?"screen":"normal",this.hass?.themes?.darkMode??this.hass?.themes?.default_theme??""])}_settleContinuityFrame(){if(this._booting||!this._continuityStageValid())return;if(!this._continuity.hasCompleteFrame&&"steady"===this._continuity.state)return void(this._continuityAssetsReady()&&(this._renderSnapshotAt=Date.now(),this._continuity.markCompleteFrame(this._visualFrameFingerprint())));if(!this._continuityDataReady)return;if(!["holding","offline-stale","overlay-pending","overlay-visible","candidate-ready"].includes(this._continuity.state))return;const t=this._continuity.token;if(this._candidateDeviceSnapshot&&this._candidateDeviceSnapshot!==this._visibleDeviceSnapshot&&this._stagedDeviceSnapshotToken!==t)return this._stagedDeviceSnapshotToken=t,void this.requestUpdate();this._continuityPaintToken!==t&&(this._continuityPaintToken=t,this._continuity.candidateReady(t)&&this._continuity.commitAfterPaint(t,{updateComplete:()=>this.updateComplete,stageValid:()=>this.isConnected&&this._continuityStageValid(),assetsReady:()=>this._continuityAssetsReady(),frameFingerprint:()=>this._visualFrameFingerprint()}).then(e=>{e&&t===this._continuity.token?(this._resumeSettling=!1,this._renderSnapshotAt=Date.now(),this._candidateDeviceSnapshot&&(this._visibleDeviceSnapshot=this._candidateDeviceSnapshot),this._candidateDeviceSnapshot=null,this._stagedDeviceSnapshotToken=-1,this._warmSnapshot()):t===this._continuity.token&&(this._continuityPaintToken=-1,this._stagedDeviceSnapshotToken=-1,this._candidateDeviceSnapshot=null,this.requestUpdate())}))}_onBackdropLoaded(t,e){this._signer.markLoaded(this.hass,t,e),this._continuity.note("asset-ready"),this._continuityPaintToken=-1,"steady"!==this._continuity.state&&this.requestUpdate()}_renderRecoveryOverlay(){if(!this._continuity.overlayVisible&&"recovery-error"!==this._continuity.state)return G;const t="connection"===this._continuity.recoveryReason;return W`
t.stopPropagation()} @click=${t=>t.stopPropagation()} diff --git a/dist/houseplan-card.js b/dist/houseplan-card.js index 8fba902e..d5fecdc8 100755 --- a/dist/houseplan-card.js +++ b/dist/houseplan-card.js @@ -1,4 +1,4 @@ -globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="b324ee6d7896c4c2aaef51f5681b4818a6ffae5d779bf9d38faaf85a0d998903";const t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,i=Symbol(),s=new WeakMap;let n=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==i)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const i=this.t;if(e&&void 0===t){const e=void 0!==i&&1===i.length;e&&(t=s.get(i)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&s.set(i,t))}return t}toString(){return this.cssText}};const o=(t,...e)=>{const s=1===t.length?t[0]:e.reduce((e,i,s)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[s+1],t[0]);return new n(s,t,i)},a=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return(t=>new n("string"==typeof t?t:t+"",void 0,i))(e)})(t):t,{is:r,defineProperty:l,getOwnPropertyDescriptor:c,getOwnPropertyNames:h,getOwnPropertySymbols:d,getPrototypeOf:u}=Object,p=globalThis,_=p.trustedTypes,g=_?_.emptyScript:"",m=p.reactiveElementPolyfillSupport,f=(t,e)=>t,v={toAttribute(t,e){switch(e){case Boolean:t=t?g:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},y=(t,e)=>!r(t,e),b={attribute:!0,type:String,converter:v,reflect:!1,useDefault:!1,hasChanged:y};Symbol.metadata??=Symbol("metadata"),p.litPropertyMetadata??=new WeakMap;let w=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=b){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){const i=Symbol(),s=this.getPropertyDescriptor(t,i,e);void 0!==s&&l(this.prototype,t,s)}}static getPropertyDescriptor(t,e,i){const{get:s,set:n}=c(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get:s,set(e){const o=s?.call(this);n?.call(this,e),this.requestUpdate(t,o,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(f("elementProperties")))return;const t=u(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(f("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(f("properties"))){const t=this.properties,e=[...h(t),...d(t)];for(const i of e)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,i]of e)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const i=this._$Eu(t,e);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(a(t))}else void 0!==t&&e.push(a(t));return e}static _$Eu(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const i of e.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const i=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((i,s)=>{if(e)i.adoptedStyleSheets=s.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const e of s){const s=document.createElement("style"),n=t.litNonce;void 0!==n&&s.setAttribute("nonce",n),s.textContent=e.cssText,i.appendChild(s)}})(i,this.constructor.elementStyles),i}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$ET(t,e){const i=this.constructor.elementProperties.get(t),s=this.constructor._$Eu(t,i);if(void 0!==s&&!0===i.reflect){const n=(void 0!==i.converter?.toAttribute?i.converter:v).toAttribute(e,i.type);this._$Em=t,null==n?this.removeAttribute(s):this.setAttribute(s,n),this._$Em=null}}_$AK(t,e){const i=this.constructor,s=i._$Eh.get(t);if(void 0!==s&&this._$Em!==s){const t=i.getPropertyOptions(s),n="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:v;this._$Em=s;const o=n.fromAttribute(e,t.type);this[s]=o??this._$Ej?.get(s)??o,this._$Em=null}}requestUpdate(t,e,i,s=!1,n){if(void 0!==t){const o=this.constructor;if(!1===s&&(n=this[t]),i??=o.getPropertyOptions(t),!((i.hasChanged??y)(n,e)||i.useDefault&&i.reflect&&n===this._$Ej?.get(t)&&!this.hasAttribute(o._$Eu(t,i))))return;this.C(t,e,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,e,{useDefault:i,reflect:s,wrapped:n},o){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,o??e??this[t]),!0!==n||void 0!==o)||(this._$AL.has(t)||(this.hasUpdated||i||(e=void 0),this._$AL.set(t,e)),!0===s&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,i]of t){const{wrapped:t}=i,s=this[e];!0!==t||this._$AL.has(e)||void 0===s||this.C(e,void 0,i,s)}}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(e)):this._$EM()}catch(e){throw t=!1,this._$EM(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}};w.elementStyles=[],w.shadowRootOptions={mode:"open"},w[f("elementProperties")]=new Map,w[f("finalized")]=new Map,m?.({ReactiveElement:w}),(p.reactiveElementVersions??=[]).push("2.1.2");const k=globalThis,$=t=>t,x=k.trustedTypes,S=x?x.createPolicy("lit-html",{createHTML:t=>t}):void 0,M="$lit$",C=`lit$${Math.random().toFixed(9).slice(2)}$`,D="?"+C,T=`<${D}>`,P=document,R=()=>P.createComment(""),A=t=>null===t||"object"!=typeof t&&"function"!=typeof t,I=Array.isArray,E="[ \t\n\f\r]",F=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,z=/-->/g,O=/>/g,H=RegExp(`>|${E}(?:([^\\s"'>=/]+)(${E}*=${E}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),N=/'/g,L=/"/g,B=/^(?:script|style|textarea|title)$/i,q=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),W=q(1),j=q(2),U=Symbol.for("lit-noChange"),G=Symbol.for("lit-nothing"),V=new WeakMap,K=P.createTreeWalker(P,129);function Y(t,e){if(!I(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==S?S.createHTML(e):e}const X=(t,e)=>{const i=t.length-1,s=[];let n,o=2===e?"":3===e?"":"",a=F;for(let e=0;e"===l[0]?(a=n??F,c=-1):void 0===l[1]?c=-2:(c=a.lastIndex-l[2].length,r=l[1],a=void 0===l[3]?H:'"'===l[3]?L:N):a===L||a===N?a=H:a===z||a===O?a=F:(a=H,n=void 0);const d=a===H&&t[e+1].startsWith("/>")?" ":"";o+=a===F?i+T:c>=0?(s.push(r),i.slice(0,c)+M+i.slice(c)+C+d):i+C+(-2===c?e:d)}return[Y(t,o+(t[i]||"")+(2===e?"":3===e?"":"")),s]};class J{constructor({strings:t,_$litType$:e},i){let s;this.parts=[];let n=0,o=0;const a=t.length-1,r=this.parts,[l,c]=X(t,e);if(this.el=J.createElement(l,i),K.currentNode=this.el.content,2===e||3===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(s=K.nextNode())&&r.length0){s.textContent=x?x.emptyScript:"";for(let i=0;iI(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==G&&A(this._$AH)?this._$AA.nextSibling.data=t:this.T(P.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:i}=t,s="number"==typeof i?this._$AC(t):(void 0===i.el&&(i.el=J.createElement(Y(i.h,i.h[0]),this.options)),i);if(this._$AH?._$AD===s)this._$AH.p(e);else{const t=new Q(s,this),i=t.u(this.options);t.p(e),this.T(i),this._$AH=t}}_$AC(t){let e=V.get(t.strings);return void 0===e&&V.set(t.strings,e=new J(t)),e}k(t){I(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,s=0;for(const n of t)s===e.length?e.push(i=new tt(this.O(R()),this.O(R()),this,this.options)):i=e[s],i._$AI(n),s++;s2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=G}_$AI(t,e=this,i,s){const n=this.strings;let o=!1;if(void 0===n)t=Z(this,t,e,0),o=!A(t)||t!==this._$AH&&t!==U,o&&(this._$AH=t);else{const s=t;let a,r;for(t=n[0],a=0;a{const s=i?.renderBefore??e;let n=s._$litPart$;if(void 0===n){const t=i?.renderBefore??null;s._$litPart$=n=new tt(e.insertBefore(R(),t),t,void 0,i??{})}return n._$AI(t),n},ct=globalThis;let ht=class extends w{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=lt(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return U}};ht._$litElement$=!0,ht.finalized=!0,ct.litElementHydrateSupport?.({LitElement:ht});const dt=ct.litElementPolyfillSupport;dt?.({LitElement:ht}),(ct.litElementVersions??=[]).push("4.2.2");const ut=2,pt=t=>(...e)=>({_$litDirective$:t,values:e});let _t=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};const gt={},mt=pt(class extends _t{constructor(){super(...arguments),this.ot=gt}render(t,e){return e()}update(t,[e,i]){if(Array.isArray(e)){if(Array.isArray(this.ot)&&this.ot.length===e.length&&e.every((t,e)=>t===this.ot[e]))return U}else if(this.ot===e)return U;return this.ot=Array.isArray(e)?Array.from(e):e,this.render(e,i)}}),{I:ft}=at,vt=t=>t,yt=()=>document.createComment(""),bt=(t,e,i)=>{const s=t._$AA.parentNode,n=void 0===e?t._$AB:e._$AA;if(void 0===i){const e=s.insertBefore(yt(),n),o=s.insertBefore(yt(),n);i=new ft(e,o,t,t.options)}else{const e=i._$AB.nextSibling,o=i._$AM,a=o!==t;if(a){let e;i._$AQ?.(t),i._$AM=t,void 0!==i._$AP&&(e=t._$AU)!==o._$AU&&i._$AP(e)}if(e!==n||a){let t=i._$AA;for(;t!==e;){const e=vt(t).nextSibling;vt(s).insertBefore(t,n),t=e}}}return i},wt=(t,e,i=t)=>(t._$AI(e,i),t),kt={},$t=(t,e=kt)=>t._$AH=e,xt=t=>{t._$AR(),t._$AA.remove()},St=(t,e,i)=>{const s=new Map;for(let n=e;n<=i;n++)s.set(t[n],n);return s},Mt=pt(class extends _t{constructor(t){if(super(t),t.type!==ut)throw Error("repeat() can only be used in text expressions")}dt(t,e,i){let s;void 0===i?i=e:void 0!==e&&(s=e);const n=[],o=[];let a=0;for(const e of t)n[a]=s?s(e,a):a,o[a]=i(e,a),a++;return{values:o,keys:n}}render(t,e,i){return this.dt(t,e,i).values}update(t,[e,i,s]){const n=(t=>t._$AH)(t),{values:o,keys:a}=this.dt(e,i,s);if(!Array.isArray(n))return this.ut=a,o;const r=this.ut??=[],l=[];let c,h,d=0,u=n.length-1,p=0,_=o.length-1;for(;d<=u&&p<=_;)if(null===n[d])d++;else if(null===n[u])u--;else if(r[d]===a[p])l[p]=wt(n[d],o[p]),d++,p++;else if(r[u]===a[_])l[_]=wt(n[u],o[_]),u--,_--;else if(r[d]===a[_])l[_]=wt(n[d],o[_]),bt(t,l[_+1],n[d]),d++,_--;else if(r[u]===a[p])l[p]=wt(n[u],o[p]),bt(t,n[d],n[u]),u--,p++;else if(void 0===c&&(c=St(a,p,_),h=St(r,d,u)),c.has(r[d]))if(c.has(r[u])){const e=h.get(a[p]),i=void 0!==e?n[e]:null;if(null===i){const e=bt(t,n[d]);wt(e,o[p]),l[p]=e}else l[p]=wt(i,o[p]),bt(t,n[d],i),n[e]=null;p++}else xt(n[u]),u--;else xt(n[d]),d++;for(;p<=_;){const e=bt(t,l[_+1]);wt(e,o[p]),l[p++]=e}for(;d<=u;){const t=n[d++];null!==t&&xt(t)}return this.ut=a,$t(t,l),U}}),Ct=new WeakMap;let Dt=0;class Tt extends ht{constructor(){super(...arguments),this.title="",this.icon="",this.wide=!1,this.dismissOnScrim=!1,this.hass=null,this._opener=null,this._focusRoot=null,this._useHaDialog=!1,this._closing=!1,this._overlays=[],this._titleId="hp-dialog-title-"+ ++Dt,this._focusInitial=()=>{const t=this._focusableElements(),e=t.find(t=>t.hasAttribute("autofocus"))||t[0]||(this._useHaDialog?null:this.renderRoot.querySelector(".close"))||this.renderRoot.querySelector(".surface")||this.renderRoot.querySelector("ha-dialog");e?.focus({preventScroll:!0})},this._requestClose=()=>{this._closing||(this._closing=!0,this.dispatchEvent(new CustomEvent("hp-close",{bubbles:!0,composed:!0})))},this._onKeyDown=t=>{if("Escape"===t.key){t.preventDefault(),t.stopImmediatePropagation(),this._pruneOverlays();const e=this._overlays[this._overlays.length-1];return e?void this._closeOverlay(e,"escape"):void this._requestClose()}if("Tab"!==t.key||this._useHaDialog)return;const e=this.renderRoot.querySelector(".close"),i=e?[e,...this._focusableElements()]:this._focusableElements();if(!i.length)return t.preventDefault(),void this.renderRoot.querySelector(".surface")?.focus({preventScroll:!0});const s=this._deepActiveElement(),n=i[0],o=i[i.length-1];!t.shiftKey||s!==n&&i.includes(s)?t.shiftKey||s!==o||(t.preventDefault(),n.focus()):(t.preventDefault(),o.focus())},this._onFallbackCancel=t=>{t.preventDefault(),this._requestClose()},this._onFallbackClick=t=>{this.dismissOnScrim&&t.target===t.currentTarget&&this._requestClose()}}connectedCallback(){super.connectedCallback(),this._opener=this._deepActiveElement();const t=this.getRootNode();this._focusRoot=t;const e=Ct.get(t)||{dialogs:new Set,opener:this._opener};e.dialogs.add(this),Ct.set(t,e),this._useHaDialog=!!customElements.get("ha-dialog"),this.addEventListener("keydown",this._onKeyDown,!0)}disconnectedCallback(){this.removeEventListener("keydown",this._onKeyDown,!0);const t=[...this._overlays];this._overlays=[];for(const e of t.reverse())e.close("disconnect");const e=this._focusRoot,i=this._opener;this._opener=null,this._focusRoot=null;const s=e?Ct.get(e):void 0;s?.dialogs.delete(this),super.disconnectedCallback(),e&&s&&requestAnimationFrame(()=>{const t=Ct.get(e);if(!t)return;if(!t.dialogs.size)return t.opener?.isConnected&&t.opener.focus({preventScroll:!0}),void Ct.delete(e);const s=i?.closest("hp-dialog");i?.isConnected&&s&&t.dialogs.has(s)&&i.focus({preventScroll:!0})})}firstUpdated(t){if(super.firstUpdated(t),!this._useHaDialog){const t=this.renderRoot.querySelector("dialog");t&&!t.open&&t.showModal()}queueMicrotask(()=>this._focusInitial())}_deepActiveElement(){let t=document.activeElement;for(;t?.shadowRoot?.activeElement;)t=t.shadowRoot.activeElement;return t&&t!==document.body?t:null}_focusableElements(){const t=["[autofocus]","a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])",'[contenteditable="true"]','[tabindex]:not([tabindex="-1"])'].join(","),e=[],i=new Set,s=n=>{if(!i.has(n)){if(i.add(n),n instanceof HTMLElement){if(n.matches(t)&&e.push(n),n instanceof HTMLSlotElement){for(const t of n.assignedNodes({flatten:!0}))s(t);return}if(n.shadowRoot){for(const t of n.shadowRoot.childNodes)s(t);return}}for(const t of n.childNodes)s(t)}};for(const t of this.childNodes)s(t);const n=this.overlayPortal();return n&&s(n),e.filter(t=>{let e=t;for(;e;){const t=getComputedStyle(e);if(e.hidden||e.inert||"true"===e.getAttribute("aria-hidden")||"none"===t.display||"hidden"===t.visibility)return!1;if(e=e.assignedSlot||e.parentElement||(e.getRootNode()instanceof ShadowRoot?e.getRootNode().host:null),e===this)break}return!0})}_pruneOverlays(){this._overlays=this._overlays.filter(t=>t.owner.isConnected)}_closeOverlay(t,e){const i=this._overlays.findIndex(e=>e.token===t.token);i>=0&&this._overlays.splice(i,1),t.close(e)}registerOverlay(t){this._pruneOverlays();const e=this._overlays.find(e=>e.owner===t.owner);e&&this._overlays.splice(this._overlays.indexOf(e),1);const i=t.group||"transient";for(const t of[...this._overlays].reverse())t.group===i&&this._closeOverlay(t,"exclusive");const s={...t,group:i,token:Symbol("hp-overlay")};this._overlays.push(s);let n=!1;return()=>{if(n)return;n=!0;const t=this._overlays.findIndex(t=>t.token===s.token);t>=0&&this._overlays.splice(t,1)}}closeTransientOverlays(t="outside"){this._pruneOverlays();const e=[...this._overlays].filter(t=>"transient"===(t.group||"transient"));for(const i of e.reverse())this._closeOverlay(i,t);return e.length>0}overlayPortal(){return this.renderRoot.querySelector(".overlay-portal")}render(){const t=W` +globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="9cf7a16bbc4f0bde8ec29d7b58b52e0f616fc14601a183ea1df347477321a5da";const t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,i=Symbol(),s=new WeakMap;let n=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==i)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const i=this.t;if(e&&void 0===t){const e=void 0!==i&&1===i.length;e&&(t=s.get(i)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&s.set(i,t))}return t}toString(){return this.cssText}};const o=(t,...e)=>{const s=1===t.length?t[0]:e.reduce((e,i,s)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[s+1],t[0]);return new n(s,t,i)},a=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return(t=>new n("string"==typeof t?t:t+"",void 0,i))(e)})(t):t,{is:r,defineProperty:l,getOwnPropertyDescriptor:c,getOwnPropertyNames:h,getOwnPropertySymbols:d,getPrototypeOf:u}=Object,p=globalThis,_=p.trustedTypes,g=_?_.emptyScript:"",m=p.reactiveElementPolyfillSupport,f=(t,e)=>t,v={toAttribute(t,e){switch(e){case Boolean:t=t?g:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},y=(t,e)=>!r(t,e),b={attribute:!0,type:String,converter:v,reflect:!1,useDefault:!1,hasChanged:y};Symbol.metadata??=Symbol("metadata"),p.litPropertyMetadata??=new WeakMap;let w=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=b){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){const i=Symbol(),s=this.getPropertyDescriptor(t,i,e);void 0!==s&&l(this.prototype,t,s)}}static getPropertyDescriptor(t,e,i){const{get:s,set:n}=c(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get:s,set(e){const o=s?.call(this);n?.call(this,e),this.requestUpdate(t,o,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(f("elementProperties")))return;const t=u(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(f("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(f("properties"))){const t=this.properties,e=[...h(t),...d(t)];for(const i of e)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,i]of e)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const i=this._$Eu(t,e);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(a(t))}else void 0!==t&&e.push(a(t));return e}static _$Eu(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const i of e.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const i=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((i,s)=>{if(e)i.adoptedStyleSheets=s.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const e of s){const s=document.createElement("style"),n=t.litNonce;void 0!==n&&s.setAttribute("nonce",n),s.textContent=e.cssText,i.appendChild(s)}})(i,this.constructor.elementStyles),i}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$ET(t,e){const i=this.constructor.elementProperties.get(t),s=this.constructor._$Eu(t,i);if(void 0!==s&&!0===i.reflect){const n=(void 0!==i.converter?.toAttribute?i.converter:v).toAttribute(e,i.type);this._$Em=t,null==n?this.removeAttribute(s):this.setAttribute(s,n),this._$Em=null}}_$AK(t,e){const i=this.constructor,s=i._$Eh.get(t);if(void 0!==s&&this._$Em!==s){const t=i.getPropertyOptions(s),n="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:v;this._$Em=s;const o=n.fromAttribute(e,t.type);this[s]=o??this._$Ej?.get(s)??o,this._$Em=null}}requestUpdate(t,e,i,s=!1,n){if(void 0!==t){const o=this.constructor;if(!1===s&&(n=this[t]),i??=o.getPropertyOptions(t),!((i.hasChanged??y)(n,e)||i.useDefault&&i.reflect&&n===this._$Ej?.get(t)&&!this.hasAttribute(o._$Eu(t,i))))return;this.C(t,e,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,e,{useDefault:i,reflect:s,wrapped:n},o){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,o??e??this[t]),!0!==n||void 0!==o)||(this._$AL.has(t)||(this.hasUpdated||i||(e=void 0),this._$AL.set(t,e)),!0===s&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,i]of t){const{wrapped:t}=i,s=this[e];!0!==t||this._$AL.has(e)||void 0===s||this.C(e,void 0,i,s)}}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(e)):this._$EM()}catch(e){throw t=!1,this._$EM(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}};w.elementStyles=[],w.shadowRootOptions={mode:"open"},w[f("elementProperties")]=new Map,w[f("finalized")]=new Map,m?.({ReactiveElement:w}),(p.reactiveElementVersions??=[]).push("2.1.2");const k=globalThis,$=t=>t,x=k.trustedTypes,S=x?x.createPolicy("lit-html",{createHTML:t=>t}):void 0,M="$lit$",C=`lit$${Math.random().toFixed(9).slice(2)}$`,D="?"+C,T=`<${D}>`,P=document,R=()=>P.createComment(""),A=t=>null===t||"object"!=typeof t&&"function"!=typeof t,I=Array.isArray,E="[ \t\n\f\r]",F=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,z=/-->/g,O=/>/g,H=RegExp(`>|${E}(?:([^\\s"'>=/]+)(${E}*=${E}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),N=/'/g,L=/"/g,B=/^(?:script|style|textarea|title)$/i,q=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),W=q(1),j=q(2),U=Symbol.for("lit-noChange"),G=Symbol.for("lit-nothing"),V=new WeakMap,K=P.createTreeWalker(P,129);function Y(t,e){if(!I(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==S?S.createHTML(e):e}const X=(t,e)=>{const i=t.length-1,s=[];let n,o=2===e?"":3===e?"":"",a=F;for(let e=0;e"===l[0]?(a=n??F,c=-1):void 0===l[1]?c=-2:(c=a.lastIndex-l[2].length,r=l[1],a=void 0===l[3]?H:'"'===l[3]?L:N):a===L||a===N?a=H:a===z||a===O?a=F:(a=H,n=void 0);const d=a===H&&t[e+1].startsWith("/>")?" ":"";o+=a===F?i+T:c>=0?(s.push(r),i.slice(0,c)+M+i.slice(c)+C+d):i+C+(-2===c?e:d)}return[Y(t,o+(t[i]||"")+(2===e?"":3===e?"":"")),s]};class J{constructor({strings:t,_$litType$:e},i){let s;this.parts=[];let n=0,o=0;const a=t.length-1,r=this.parts,[l,c]=X(t,e);if(this.el=J.createElement(l,i),K.currentNode=this.el.content,2===e||3===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(s=K.nextNode())&&r.length0){s.textContent=x?x.emptyScript:"";for(let i=0;iI(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==G&&A(this._$AH)?this._$AA.nextSibling.data=t:this.T(P.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:i}=t,s="number"==typeof i?this._$AC(t):(void 0===i.el&&(i.el=J.createElement(Y(i.h,i.h[0]),this.options)),i);if(this._$AH?._$AD===s)this._$AH.p(e);else{const t=new Q(s,this),i=t.u(this.options);t.p(e),this.T(i),this._$AH=t}}_$AC(t){let e=V.get(t.strings);return void 0===e&&V.set(t.strings,e=new J(t)),e}k(t){I(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,s=0;for(const n of t)s===e.length?e.push(i=new tt(this.O(R()),this.O(R()),this,this.options)):i=e[s],i._$AI(n),s++;s2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=G}_$AI(t,e=this,i,s){const n=this.strings;let o=!1;if(void 0===n)t=Z(this,t,e,0),o=!A(t)||t!==this._$AH&&t!==U,o&&(this._$AH=t);else{const s=t;let a,r;for(t=n[0],a=0;a{const s=i?.renderBefore??e;let n=s._$litPart$;if(void 0===n){const t=i?.renderBefore??null;s._$litPart$=n=new tt(e.insertBefore(R(),t),t,void 0,i??{})}return n._$AI(t),n},ct=globalThis;let ht=class extends w{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=lt(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return U}};ht._$litElement$=!0,ht.finalized=!0,ct.litElementHydrateSupport?.({LitElement:ht});const dt=ct.litElementPolyfillSupport;dt?.({LitElement:ht}),(ct.litElementVersions??=[]).push("4.2.2");const ut=2,pt=t=>(...e)=>({_$litDirective$:t,values:e});let _t=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};const gt={},mt=pt(class extends _t{constructor(){super(...arguments),this.ot=gt}render(t,e){return e()}update(t,[e,i]){if(Array.isArray(e)){if(Array.isArray(this.ot)&&this.ot.length===e.length&&e.every((t,e)=>t===this.ot[e]))return U}else if(this.ot===e)return U;return this.ot=Array.isArray(e)?Array.from(e):e,this.render(e,i)}}),{I:ft}=at,vt=t=>t,yt=()=>document.createComment(""),bt=(t,e,i)=>{const s=t._$AA.parentNode,n=void 0===e?t._$AB:e._$AA;if(void 0===i){const e=s.insertBefore(yt(),n),o=s.insertBefore(yt(),n);i=new ft(e,o,t,t.options)}else{const e=i._$AB.nextSibling,o=i._$AM,a=o!==t;if(a){let e;i._$AQ?.(t),i._$AM=t,void 0!==i._$AP&&(e=t._$AU)!==o._$AU&&i._$AP(e)}if(e!==n||a){let t=i._$AA;for(;t!==e;){const e=vt(t).nextSibling;vt(s).insertBefore(t,n),t=e}}}return i},wt=(t,e,i=t)=>(t._$AI(e,i),t),kt={},$t=(t,e=kt)=>t._$AH=e,xt=t=>{t._$AR(),t._$AA.remove()},St=(t,e,i)=>{const s=new Map;for(let n=e;n<=i;n++)s.set(t[n],n);return s},Mt=pt(class extends _t{constructor(t){if(super(t),t.type!==ut)throw Error("repeat() can only be used in text expressions")}dt(t,e,i){let s;void 0===i?i=e:void 0!==e&&(s=e);const n=[],o=[];let a=0;for(const e of t)n[a]=s?s(e,a):a,o[a]=i(e,a),a++;return{values:o,keys:n}}render(t,e,i){return this.dt(t,e,i).values}update(t,[e,i,s]){const n=(t=>t._$AH)(t),{values:o,keys:a}=this.dt(e,i,s);if(!Array.isArray(n))return this.ut=a,o;const r=this.ut??=[],l=[];let c,h,d=0,u=n.length-1,p=0,_=o.length-1;for(;d<=u&&p<=_;)if(null===n[d])d++;else if(null===n[u])u--;else if(r[d]===a[p])l[p]=wt(n[d],o[p]),d++,p++;else if(r[u]===a[_])l[_]=wt(n[u],o[_]),u--,_--;else if(r[d]===a[_])l[_]=wt(n[d],o[_]),bt(t,l[_+1],n[d]),d++,_--;else if(r[u]===a[p])l[p]=wt(n[u],o[p]),bt(t,n[d],n[u]),u--,p++;else if(void 0===c&&(c=St(a,p,_),h=St(r,d,u)),c.has(r[d]))if(c.has(r[u])){const e=h.get(a[p]),i=void 0!==e?n[e]:null;if(null===i){const e=bt(t,n[d]);wt(e,o[p]),l[p]=e}else l[p]=wt(i,o[p]),bt(t,n[d],i),n[e]=null;p++}else xt(n[u]),u--;else xt(n[d]),d++;for(;p<=_;){const e=bt(t,l[_+1]);wt(e,o[p]),l[p++]=e}for(;d<=u;){const t=n[d++];null!==t&&xt(t)}return this.ut=a,$t(t,l),U}}),Ct=new WeakMap;let Dt=0;class Tt extends ht{constructor(){super(...arguments),this.title="",this.icon="",this.wide=!1,this.dismissOnScrim=!1,this.hass=null,this._opener=null,this._focusRoot=null,this._useHaDialog=!1,this._closing=!1,this._overlays=[],this._titleId="hp-dialog-title-"+ ++Dt,this._focusInitial=()=>{const t=this._focusableElements(),e=t.find(t=>t.hasAttribute("autofocus"))||t[0]||(this._useHaDialog?null:this.renderRoot.querySelector(".close"))||this.renderRoot.querySelector(".surface")||this.renderRoot.querySelector("ha-dialog");e?.focus({preventScroll:!0})},this._requestClose=()=>{this._closing||(this._closing=!0,this.dispatchEvent(new CustomEvent("hp-close",{bubbles:!0,composed:!0})))},this._onKeyDown=t=>{if("Escape"===t.key){t.preventDefault(),t.stopImmediatePropagation(),this._pruneOverlays();const e=this._overlays[this._overlays.length-1];return e?void this._closeOverlay(e,"escape"):void this._requestClose()}if("Tab"!==t.key||this._useHaDialog)return;const e=this.renderRoot.querySelector(".close"),i=e?[e,...this._focusableElements()]:this._focusableElements();if(!i.length)return t.preventDefault(),void this.renderRoot.querySelector(".surface")?.focus({preventScroll:!0});const s=this._deepActiveElement(),n=i[0],o=i[i.length-1];!t.shiftKey||s!==n&&i.includes(s)?t.shiftKey||s!==o||(t.preventDefault(),n.focus()):(t.preventDefault(),o.focus())},this._onFallbackCancel=t=>{t.preventDefault(),this._requestClose()},this._onFallbackClick=t=>{this.dismissOnScrim&&t.target===t.currentTarget&&this._requestClose()}}connectedCallback(){super.connectedCallback(),this._opener=this._deepActiveElement();const t=this.getRootNode();this._focusRoot=t;const e=Ct.get(t)||{dialogs:new Set,opener:this._opener};e.dialogs.add(this),Ct.set(t,e),this._useHaDialog=!!customElements.get("ha-dialog"),this.addEventListener("keydown",this._onKeyDown,!0)}disconnectedCallback(){this.removeEventListener("keydown",this._onKeyDown,!0);const t=[...this._overlays];this._overlays=[];for(const e of t.reverse())e.close("disconnect");const e=this._focusRoot,i=this._opener;this._opener=null,this._focusRoot=null;const s=e?Ct.get(e):void 0;s?.dialogs.delete(this),super.disconnectedCallback(),e&&s&&requestAnimationFrame(()=>{const t=Ct.get(e);if(!t)return;if(!t.dialogs.size)return t.opener?.isConnected&&t.opener.focus({preventScroll:!0}),void Ct.delete(e);const s=i?.closest("hp-dialog");i?.isConnected&&s&&t.dialogs.has(s)&&i.focus({preventScroll:!0})})}firstUpdated(t){if(super.firstUpdated(t),!this._useHaDialog){const t=this.renderRoot.querySelector("dialog");t&&!t.open&&t.showModal()}queueMicrotask(()=>this._focusInitial())}_deepActiveElement(){let t=document.activeElement;for(;t?.shadowRoot?.activeElement;)t=t.shadowRoot.activeElement;return t&&t!==document.body?t:null}_focusableElements(){const t=["[autofocus]","a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])",'[contenteditable="true"]','[tabindex]:not([tabindex="-1"])'].join(","),e=[],i=new Set,s=n=>{if(!i.has(n)){if(i.add(n),n instanceof HTMLElement){if(n.matches(t)&&e.push(n),n instanceof HTMLSlotElement){for(const t of n.assignedNodes({flatten:!0}))s(t);return}if(n.shadowRoot){for(const t of n.shadowRoot.childNodes)s(t);return}}for(const t of n.childNodes)s(t)}};for(const t of this.childNodes)s(t);const n=this.overlayPortal();return n&&s(n),e.filter(t=>{let e=t;for(;e;){const t=getComputedStyle(e);if(e.hidden||e.inert||"true"===e.getAttribute("aria-hidden")||"none"===t.display||"hidden"===t.visibility)return!1;if(e=e.assignedSlot||e.parentElement||(e.getRootNode()instanceof ShadowRoot?e.getRootNode().host:null),e===this)break}return!0})}_pruneOverlays(){this._overlays=this._overlays.filter(t=>t.owner.isConnected)}_closeOverlay(t,e){const i=this._overlays.findIndex(e=>e.token===t.token);i>=0&&this._overlays.splice(i,1),t.close(e)}registerOverlay(t){this._pruneOverlays();const e=this._overlays.find(e=>e.owner===t.owner);e&&this._overlays.splice(this._overlays.indexOf(e),1);const i=t.group||"transient";for(const t of[...this._overlays].reverse())t.group===i&&this._closeOverlay(t,"exclusive");const s={...t,group:i,token:Symbol("hp-overlay")};this._overlays.push(s);let n=!1;return()=>{if(n)return;n=!0;const t=this._overlays.findIndex(t=>t.token===s.token);t>=0&&this._overlays.splice(t,1)}}closeTransientOverlays(t="outside"){this._pruneOverlays();const e=[...this._overlays].filter(t=>"transient"===(t.group||"transient"));for(const i of e.reverse())this._closeOverlay(i,t);return e.length>0}overlayPortal(){return this.renderRoot.querySelector(".overlay-portal")}render(){const t=W` ${this.icon?W``:G} ${this.title} `;return this._useHaDialog?W`${t.visibleLabel}`:G}
${t?.content||G}
-
`}afterRender(){const t=this.host.root();this._blocked&&(this._openGroupId?this.closeGroup(!1):"palette"===this._currentModel?.kind&&this._currentModel.dismiss?.()),this._syncGlobalDismissListener();const e=t.querySelector(".editor-secondary"),i=this._renderedContext,s=e?.dataset.contextId||"";if(s&&i&&s!==i&&!window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches&&(this._contentAnimation?.cancel(),this._contentAnimation=e?.querySelector(".editor-secondary-content")?.animate([{opacity:.35,transform:"translateY(-4px)"},{opacity:1,transform:"translateY(0)"}],{duration:100,easing:"ease-out"})),this._renderedContext=s,i&&s!==i&&this._focusOwned){const i=s?e?.querySelector('[tabindex="0"], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled])'):t.querySelector(".editbar-tools");i?.focus?.(),this._focusOwned=!!s}if("palette"===this._currentModel?.kind&&this._currentModel.launcherId){const e=[...t.querySelectorAll("[data-editor-palette]")].find(t=>t.dataset.editorPalette===this._currentModel?.launcherId);e&&null!==e.offsetParent||this._currentModel.dismiss?.()}if(!this._openGroupId)return;const n=[...t.querySelectorAll("[data-editor-group]")].find(t=>t.dataset.editorGroup===this._openGroupId);n&&null!==n.offsetParent||this.closeGroup(!0)}handleOutsideDismiss(t){if(Pu(t,t=>t.hasAttribute("data-editor-navigation")))return"pointerdown"===t.type?this.closeForNavigation():"click"===t.type&&this._dismissPointerTarget&&this._clearDismissClick(),!1;if("click"===t.type&&this._dismissPointerTarget){return!!(t.composedPath?.()||[t.target]).includes(this._dismissPointerTarget)&&(this._clearDismissClick(),t.preventDefault(),t.stopImmediatePropagation(),!0)}const e=this._openGroupId||this._blocked||"palette"!==this._currentModel?.kind?null:this._currentModel;if("pointerdown"===t.type&&(this._openGroupId||e)){const i=Pu(t,t=>t.classList.contains("editor-secondary")),s=Pu(t,t=>!!t.dataset.editorGroup),n=Pu(t,t=>!!t.dataset.editorPalette),o=Pu(t,t=>t.classList.contains("stage"));if(!(i||s||n||"stay-open-on-canvas"===e?.dismissPolicy&&o))return t.preventDefault(),t.stopImmediatePropagation(),this._dismissPointerTarget=t.target,clearTimeout(this._dismissTimer),this._dismissTimer=window.setTimeout(()=>{this._clearDismissClick()},800),this._openGroupId?this.closeGroup(!1):e?.dismiss?.(),this._syncGlobalDismissListener(),!0}return!1}_activateGroupItem(t,e,i){if(t.id!==this._openGroupId)return;const s=t.items.find(t=>t.id===e);if(!s||s.disabled)return;const n="toggle"===s.role&&"stay-open"===s.closePolicy,o=0===i.detail;n||(this._openGroupId=null,this.host.requestUpdate(),this._syncGlobalDismissListener()),s.invoke(),!n&&o&&this.host.updateComplete().then(()=>{const e=[...this.host.root().querySelectorAll("[data-editor-group]")].find(e=>e.dataset.editorGroup===t.id&&null!==e.offsetParent);e?.focus()})}_groupKeydown(t){if(!["ArrowLeft","ArrowRight","Home","End"].includes(t.key))return;const e=[...t.currentTarget.querySelectorAll(".editor-group-item:not([disabled])")];if(!e.length)return;t.preventDefault();const i=e.indexOf(this.host.root().activeElement),s="Home"===t.key?0:"End"===t.key?e.length-1:"ArrowLeft"===t.key?i<=0?e.length-1:i-1:(i+1)%e.length;e[s]?.focus()}_clearDismissClick(){this._dismissPointerTarget=null,clearTimeout(this._dismissTimer),this._dismissTimer=void 0,this._syncGlobalDismissListener()}_syncGlobalDismissListener(){const t=!this._blocked&&"palette"===this._currentModel?.kind,e=!!this._openGroupId||t||!!this._dismissPointerTarget;e!==this._globalDismissListening&&(this._globalDismissListening=e,e?(window.addEventListener("pointerdown",this._globalDismissGuard,!0),window.addEventListener("click",this._globalDismissGuard,!0)):(window.removeEventListener("pointerdown",this._globalDismissGuard,!0),window.removeEventListener("click",this._globalDismissGuard,!0)))}}const Au=t=>t.stopPropagation(),Iu=4.166666666666667e-9;function Eu(t){if(!Number.isFinite(t))return t;const e=Math.round(t/Jl)*Jl;return Math.abs(e-t)<=Iu?t:e}const Fu=(t,e,i,s)=>Math.hypot(i-t,s-e),zu=(t,e,i,s,n,o,a,r)=>Math.hypot(Math.max(Math.abs(n-t),Math.abs(n+a-(t+i))),Math.max(Math.abs(o-e),Math.abs(o+r-(e+s)))),Ou=(t,e,i,s,n,o,a)=>{const r=Math.max(Number(s)||0,0)/2,l=Math.PI/180,c=Math.cos(i*l)*r,h=Math.sin(i*l)*r,d=Math.cos(a*l)*r,u=Math.sin(a*l)*r,p=Math.max(Fu(t+c,e+h,n+d,o+u),Fu(t-c,e-h,n-d,o-u)),_=Math.max(Fu(t+c,e+h,n-d,o-u),Fu(t-c,e-h,n+d,o+u));return Math.min(p,_)},Hu=t=>{const e=Number(t?.cell_cm);return e>0?e:5};const Nu=t=>JSON.parse(JSON.stringify(t)),Lu=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),Bu=(t,e,i)=>Math.min(i,Math.max(e,t)),qu=t=>Gl({spaces:[t]})[0],Wu=t=>{const e=[];for(const i of t||[]){const t=hi(i);if(t?.length)for(let i=0;i{let e=0,i=0,s=0;for(const i of t.markers||[]){if("ripple"===i.display&&(i.display="icon_ripple",e++),Array.isArray(i.controls)){const t="string"==typeof i.binding&&i.binding.startsWith("entity:")?i.binding.slice(7):"",s=t?i.controls.filter(e=>e!==t):i.controls;JSON.stringify(s)!==JSON.stringify(i.controls)&&(i.controls=s.length?s:null,e++)}const t=i.vacuum;t&&Lu(t,"trail")&&(["never","cleaning","always"].includes(t.trail_mode)||(t.trail_mode=!1===t.trail?"never":"cleaning"),delete t.trail,e++)}for(const n of t.spaces||[]){const t=n.settings;"glow"===t?.fill_mode&&("boolean"!=typeof t.glow_enabled&&(t.glow_enabled=!0),t.fill_mode="none",e++,i++);for(const t of n.rooms||[]){const i=t.settings;"glow"===i?.fill_mode&&("boolean"!=typeof i.glow&&(i.glow=!0),delete i.fill_mode,e++,s++)}if(Lu(n,"segments")&&(delete n.segments,e++),Lu(n,"plan_scale")){const t=Number(n.plan_scale);Number.isFinite(t)&&t>=ql&&t<=Wl&&(Lu(n,"plan_scale_x")||(n.plan_scale_x=t),Lu(n,"plan_scale_y")||(n.plan_scale_y=t),delete n.plan_scale,e++)}const o=Number(n.cell_cm);Lu(n,"cell_cm")&&(!Number.isFinite(o)||o<.1||o>1e3)&&(n.cell_cm=Number.isFinite(o)&&o>0?Bu(o,.1,1e3):5,e++);const a=Number(n.cell_cm),r=Number.isFinite(a)&&a>0?a:5;for(const t of n.wall_columns||[])if("circle"===t.shape)Lu(t,"angle")&&(delete t.angle,e++);else if("square"===t.shape&&Lu(t,"angle")){const i=((Number(t.angle)||0)%90+90)%90;t.angle!==i&&(t.angle=i,e++)}for(const t of n.decor||[]){if(Lu(t,"width")){const i=Number(t.width);(Lu(t,"width_cm")||Number.isFinite(i))&&(Lu(t,"width_cm")||(t.width_cm=Number(Bu(i/Xl*r,.1,100).toFixed(6))),delete t.width,e++)}if("rect"!==t?.kind&&"ellipse"!==t?.kind||!0!==t.fill||(Lu(t,"fill_color")||(t.fill_color=t.color||"#607d8b",e++),Lu(t,"fill_opacity")||(t.fill_opacity=.25,e++)),"text"!==t?.kind)continue;void 0===t.size_cm?(t.size_cm=Number(Bu(es*is(t)/Xl*r,.1,2e3).toFixed(6)),delete t.scale,delete t.size,e++):(Lu(t,"scale")||Lu(t,"size"))&&(delete t.scale,delete t.size,e++);let i=String(t.text??"");const s=[...i.matchAll(/\{([^{}\r\n]+)\}/g)].some(t=>!!Yi(t[1]));if(!(Lu(t,"entity")||Lu(t,"attr")||Lu(t,"unit")))continue;const n=String(t.unit??"").trim(),o="state"===String(t.attr??"").trim().toLowerCase()?null:t.attr,a=s||n?"":Xi(t.entity,o);if(s||a){if(a){const e=i.indexOf("{}");i=e>=0?i.slice(0,e)+a+i.slice(e+2):`${i}${i?" ":""}${a}`,t.text=i}delete t.entity,delete t.attr,delete t.unit,e++}}}return{total:e,glowSpaces:i,glowRooms:s}})(i);let r=a.total;for(const t of i.spaces||[]){const e=qu(t);if(!e)continue;if(!Ec(t.open_spans).length){const i=Nc(e.rooms,null,Ll,.02*Xl,!0);i.length&&(t.open_spans=Lc(i,Ll),r++)}}const l=Nu(i.spaces||[]),c=function(t,e){const i=JSON.parse(JSON.stringify(t||[])),s=JSON.parse(JSON.stringify(e||{}));let n=0,o=0,a=0,r=0,l="",c=0,h=0;const d={};let u=5;for(const t of i){const e=Hu(t);null!=t?.id&&(d[String(t.id)]=e),e>u&&(u=e)}const p=(t,e,i,s=!1)=>{if(!(t>Iu||s))return;n++,t>a&&(a=t);const o=t*Yl*e;o>r&&(r=o,l=i)};for(const t of i){const e=Hu(t),i=null!=t?.id?String(t.id):"";for(const s of t.rooms||[]){o++;let t=0;if(s.poly?.length)s.poly=s.poly.map(e=>{const i=[Eu(e[0]),Eu(e[1])];return t=Math.max(t,Fu(e[0],e[1],i[0],i[1])),i});else if(null!=s.x&&null!=s.y){const e=s.x,i=s.y,n=s.w||0,o=s.h||0,a=Eu(e+n),r=Eu(i+o),l=Eu(e),c=Eu(i),h=Math.max(Jl,a-l),d=Math.max(Jl,r-c);t=zu(e,i,n,o,l,c,h,d),s.x=l,s.y=c,s.w=h,s.h=d}p(t,e,i)}for(const s of t.room_drafts||[]){o++;let t=0;const n=(s.points||[]).map(e=>{const i=[Eu(e[0]),Eu(e[1])];return t=Math.max(t,Fu(e[0],e[1],i[0],i[1])),i}),a=n.length?[n[0]]:[],r=[];for(let t=0;t+1t.points?.length>=2),h+=e-t.room_drafts.length,t.room_drafts.length||delete t.room_drafts}for(const s of t.partitions||[]){o++;const n=[Eu(s.a[0]),Eu(s.a[1])],a=[Eu(s.b[0]),Eu(s.b[1])];let r=Math.max(Fu(s.a[0],s.a[1],n[0],n[1]),Fu(s.b[0],s.b[1],a[0],a[1]));const l=Fu(n[0],n[1],a[0],a[1]),c=(t.openings||[]).filter(t=>"partition"===t.host?.kind&&t.host.id===s.id).every(t=>{const e=Number(t.length),i=Number(t.host.t),s=i*l;return Number.isFinite(e)&&e>0&&Number.isFinite(i)&&i>=0&&i<=1&&s-e/2>=-Iu&&s+e/2<=l+Iu});l>Iu&&c?(s.a=n,s.b=a):r=0,p(r,e,i)}for(const s of t.wall_columns||[]){o++;const t=[Eu(s.center[0]),Eu(s.center[1])],n=Fu(s.center[0],s.center[1],t[0],t[1]);s.center=t,p(n,e,i)}for(const s of t.decor||[]){o++;let t=0;if("line"===s.kind){const e=[Eu(s.x1),Eu(s.y1)],i=[Eu(s.x2),Eu(s.y2)];t=Math.max(Fu(s.x1,s.y1,e[0],e[1]),Fu(s.x2,s.y2,i[0],i[1])),s.x1=e[0],s.y1=e[1],s.x2=i[0],s.y2=i[1]}else{const e=Eu(s.x),i=Eu(s.y);if(null!=s.w&&null!=s.h){const n=Eu(s.x+s.w),o=Eu(s.y+s.h),a=Math.max(Jl,n-e),r=Math.max(Jl,o-i);t=zu(s.x,s.y,s.w,s.h,e,i,a,r),s.w=a,s.h=r}else t=Fu(s.x,s.y,e,i);s.x=e,s.y=i}p(t,e,i)}for(const s of t.openings||[]){if(o++,"partition"===s.host?.kind){const n=(t.partitions||[]).find(t=>t.id===s.host.id),o=Number(s.host.t);if(!n||!Number.isFinite(o)||o<0||o>1)continue;const a=n.b[0]-n.a[0],r=n.b[1]-n.a[1];if(Math.hypot(a,r)<=Iu)continue;const l=n.a[0]+a*o,h=n.a[1]+r*o;let d=180*Math.atan2(r,a)/Math.PI;d>=90?d-=180:d<-90&&(d+=180);const u=Number(s.angle),_=!(Number.isFinite(u)&&u===d),g=Ou(s.x,s.y,Number.isFinite(u)?u:d,Number(s.length)||0,l,h,d);s.x=l,s.y=h,s.angle=d,_&&c++,p(g,e,i,_);continue}const n=pi([s.x,s.y],t.rooms||[],.025,{step:Jl,length:Number(s.length)||0});if(!n)continue;const a=Number(s.angle),r=!(Number.isFinite(a)&&a===n.angle),l=Ou(s.x,s.y,Number.isFinite(a)?a:n.angle,Number(s.length)||0,n.x,n.y,n.angle);s.x=n.x,s.y=n.y,s.angle=n.angle,r&&c++,p(l,e,i,r)}}for(const[t,e]of Object.entries(s)){if(!e||"object"!=typeof e)continue;const i=e;if("number"!=typeof i.x||"number"!=typeof i.y)continue;o++;const n=Eu(i.x),a=Eu(i.y),r=Fu(i.x,i.y,n,a);s[t]={...i,x:n,y:a};const l="string"==typeof i.s?i.s:"";p(r,d[l]??u,l)}return{spaces:i,layout:s,report:{moved:n,total:o,maxShift:a,maxShiftCm:r,maxSpace:l,rotated:c,removedDrafts:h},changed:n>0}}(i.spaces||[],e||{});i.spaces=c.spaces;const h={...c.report};let d=0,u=0,p=0;for(let t=0;t[t.id,t.open_to||[]]),walls:e.walls||[]}),o=qu(e),a=qu(s);if(!o||!a)continue;const r=Wu(o.rooms),c=Wu(a.rooms),_=.02*Xl;let g=Kc(Ec(e.open_spans),r,c,Ll);const m=g.length;g=Vc(g,a.rooms,Ll,_),g=g.map(t=>{const e=Ac(t,Ll),i=[e[0],e[1]],n=[e[2],e[3]],o=[(e[0]+e[2])/2,(e[1]+e[3])/2],a=e[2]-e[0],r=e[3]-e[1],l=Math.hypot(a,r)||1,d=c.map(([t,e])=>[t[0],t[1],e[0],e[1]]).filter(t=>{const e=t[2]-t[0],s=t[3]-t[1],c=Math.hypot(e,s)||1;return Math.abs(a*s-r*e)/(l*c)<=1e-6&&Fc(o,t).d<=4*_&&Fc(i,t).d<=4*_&&Fc(n,t).d<=4*_}).sort((t,e)=>Math.hypot(e[2]-e[0],e[3]-e[1])-Math.hypot(t[2]-t[0],t[3]-t[1]))[0];if(h.total++,!d)return t;const u=[[d[0],d[1]],[d[2],d[3]]],p=Oc(i,d,u,Xl,2*_),g=Oc(n,d,u,Xl,2*_);if(Math.hypot(g[0]-p[0],g[1]-p[1])<.5*Xl)return t;const m=Math.max(Math.hypot(p[0]-i[0],p[1]-i[1]),Math.hypot(g[0]-n[0],g[1]-n[1]));if(m>1e-6*Xl){h.moved++;const t=m/Ll;t>h.maxShift&&(h.maxShift=t);const e=m/Xl*(Number(s.cell_cm)>0?Number(s.cell_cm):5);e>h.maxShiftCm&&(h.maxShiftCm=e,h.maxSpace=String(s.id||""))}return Rc(p,g,Ll)}),g=Vc(g,a.rooms,Ll,_),u+=Math.max(0,m-g.length);const f=g.map(t=>Ac(t,Ll));g.length?s.open_spans=g:delete s.open_spans,Bc(s.rooms||[],a.rooms,f,_);const v=Array.isArray(e.walls)?e.walls.length:0;let y=Rr(e.walls,r,c,Jl,Ll);y=el(a.rooms,y,f,Jl,Number(s.cell_cm)>0?Number(s.cell_cm):5,Xl,Ll),y=Tr(y,s.rooms||[],Jl,1,f.map(t=>[t[0]/Ll,t[1]/Ll,t[2]/Ll,t[3]/Ll])),d+=Math.max(0,v-y.length),y.length?s.walls=y:delete s.walls;const b=JSON.stringify({spans:s.open_spans||[],links:(s.rooms||[]).map(t=>[t.id,t.open_to||[]]),walls:s.walls||[]});b!==n&&p++}const _=JSON.stringify(i)!==s||JSON.stringify(c.layout)!==n;o<6&&_&&(i.model_version=6);const g=JSON.stringify(i)!==s||JSON.stringify(c.layout)!==n,m=Number.isInteger(Number(i.model_version))?Number(i.model_version):o;return{config:i,layout:c.layout,report:{...h,modelFrom:o,modelTo:m,migrated:r,glowSpacesMigrated:a.glowSpaces,glowRoomsMigrated:a.glowRooms,canonicalized:p,wallsMerged:d,spansMerged:u},changed:g}}class Uu{constructor(t=50){this._undo=[],this._redo=[],this._limit=Math.max(30,Math.floor(t))}get canUndo(){return this._undo.length>0}get canRedo(){return this._redo.length>0}get undoName(){return this._undo[this._undo.length-1]?.name??null}get redoName(){return this._redo[this._redo.length-1]?.name??null}get size(){return this._undo.length}push(t){this._undo.push(t),this._undo.length>this._limit&&this._undo.splice(0,this._undo.length-this._limit),this._redo=[]}undo(){const t=this._undo.pop()??null;return t&&this._redo.push(t),t}redo(){const t=this._redo.pop()??null;return t&&this._undo.push(t),t}clear(){this._undo=[],this._redo=[]}}const Gu=new WeakMap;const Vu=(t,e,i)=>255===t[i+3]&&e.every((e,s)=>Math.abs(t[i+s]-e)<=2);async function Ku(t){const e=t.defaultView;if(!e||!e.CSS?.supports?.("mix-blend-mode","screen"))return!1;const i=[128,32,16],s=[16,64,128],n=[9,19,29],o=`\n \n \n \n \n \n `,a=e.URL.createObjectURL(new Blob([o],{type:"image/svg+xml"}));try{const o=await new Promise((t,i)=>{const s=new e.Image,n=e.setTimeout(()=>i(new Error("SVG blend probe timeout")),1e3);s.onload=()=>{e.clearTimeout(n),t(s)},s.onerror=()=>{e.clearTimeout(n),i(new Error("SVG blend probe failed"))},s.src=a}),r=t.createElement("canvas");r.width=4,r.height=1;const l=r.getContext("2d",{willReadFrequently:!0});if(!l)return!1;l.drawImage(o,0,0,4,1);const c=l.getImageData(0,0,4,1).data;return Vu(c,i,0)&&Vu(c,function(t,e){return[0,1,2].map(i=>Math.round(255-(255-t[i])*(255-e[i])/255))}(i,s),4)&&Vu(c,s,8)&&Vu(c,n,12)}catch{return!1}finally{e.URL.revokeObjectURL(a)}}const Yu={now:()=>performance.now(),requestFrame:t=>requestAnimationFrame(t),cancelFrame:t=>cancelAnimationFrame(t)},Xu=t=>Math.max(0,Math.min(1,t)),Ju=(t,e,i)=>t+(e-t)*i,Zu=(t,e,i)=>{const s=1-t;return 3*s*s*t*e+3*s*t*t*i+t*t*t};function Qu(t,e){return{centerX:t.x+t.w/2,centerY:t.y+t.h/2,pixelsPerUnit:e>0&&t.w>0?e/t.w:1,viewBox:{...t}}}function tp(t,e,i){const s=Math.max(1e-9,t.pixelsPerUnit),n=Math.max(1e-9,e/s),o=Math.max(1e-9,i/s);return{x:t.centerX-n/2,y:t.centerY-o/2,w:n,h:o}}function ep(t){const e=t.trim(),i=/^rgba?\(\s*([\d.]+)[, ]+([\d.]+)[, ]+([\d.]+)(?:\s*[,/]\s*([\d.]+))?\s*\)$/i.exec(e);if(i)return[Number(i[1]),Number(i[2]),Number(i[3]),null==i[4]?1:Number(i[4])];const s=/^#([0-9a-f]{6}|[0-9a-f]{8})$/i.exec(e)?.[1];return s?[parseInt(s.slice(0,2),16),parseInt(s.slice(2,4),16),parseInt(s.slice(4,6),16),8===s.length?parseInt(s.slice(6,8),16)/255:1]:null}function ip(t,e,i){const s=ep(t),n=ep(e);if(!s||!n)return i<.5?t:e;const o=Xu(i);return`rgba(${Math.round(Ju(s[0],n[0],o))}, ${Math.round(Ju(s[1],n[1],o))}, ${Math.round(Ju(s[2],n[2],o))}, ${Ju(s[3],n[3],o).toFixed(3)})`}function sp(t,e,i){const s=(t=>{const e=Xu(t);if(0===e||1===e)return e;let i=0,s=1,n=e;for(let t=0;t<12;t++)n=(i+s)/2,Zu(n,.2,.2){const e=this._state;if(!e||e.token!==n)return;const i=Xu((t-e.startedAt)/e.duration);e.presented=i>=1?e.to:sp(e.from,e.to,i),e.phase=i>=1?"settling":"running",this._hooks.frame(e),i<1?this._raf=this._clock.requestFrame(a):(this._raf=0,this._hooks.settled(e),this._state?.token===n&&(this._state=null))};return this._raf=this._clock.requestFrame(a),n}cancel(t=!0){this._raf&&this._clock.cancelFrame(this._raf),this._raf=0;const e=this._state;this._state=null,this._token++,e&&t&&(e.phase="settling",e.presented=e.to,this._hooks.frame(e),this._hooks.settled(e))}dispose(){this.cancel(!1)}}const op="houseplan_card_labs_v1",ap=Object.freeze([Object.freeze({id:"iso",issue:89,since:"1.62.0",expires:"1.65.0",summary:"Volumetric plan renderer"})]);function rp(t){const e=/^(\d+)\.(\d+)\.(\d+)(?:-[0-9A-Za-z.-]+)?$/.exec(String(t||"").trim());if(!e)return null;const i=e.slice(1).map(Number);return i.every(t=>Number.isSafeInteger(t))?i:null}function lp(t,e){for(let i=0;i<3;i++)if(t[i]!==e[i])return t[i]t.split(",")).map(t=>t.trim()).filter(Boolean)}function _p(t,e,i,s=ap){const n=function(t,e=ap){const i=rp(t),s=new Map;if(!i||!hp(e))return s;for(const t of e){const e=rp(t.since),n=rp(t.expires);lp(i,e)>=0&&lp(i,n)<0&&s.set(t.id,t)}return s}(i,s),o=new Set(hp(s)?s.map(t=>t.id):[]),a=new Set(function(t){if(!t)return[];try{const e=JSON.parse(t);return Array.isArray(e)?e.filter(t=>"string"==typeof t):[]}catch{return[]}}(e).filter(t=>n.has(t)));let r=!1;const l=t=>{if("off"===t)return a.clear(),void(r=!0);const e=t.startsWith("-"),i=e?t.slice(1):t;o.has(i)&&(r=!0,e||!n.has(i)?a.delete(i):a.add(i))};for(const e of pp(new URLSearchParams(String(t.search||"").replace(/^\?/,""))))l(e);for(const e of pp(dp(t.hash)))l(e);const c=Object.freeze([...a].sort());return{active:c,space:up(t.hash),persist:r?JSON.stringify(c):void 0,knownUrlOperation:r}}let gp={active:Object.freeze([]),space:""},mp="",fp=!1,vp="";const yp=new Set;function bp(){if("undefined"==typeof window)return gp;const t=_p(window.location,function(){try{return window.localStorage.getItem(op)}catch{return null}}(),mp);void 0!==t.persist&&function(t){try{window.localStorage.setItem(op,t)}catch{}}(t.persist),gp={active:t.active,space:t.space},window.__hpLabs=t.active;for(const t of yp)t(gp);return gp}function wp(){bp()}function kp(t){return mp=t,"undefined"==typeof window?gp:(fp||(fp=!0,window.addEventListener("hashchange",wp),window.addEventListener("popstate",wp)),bp())}const $p=Object.freeze({rotDeg:0,tiltDeg:20,xyScale:1,zScale:1,origin:Object.freeze([500,500])}),xp=64;function Sp(t){return[t.rotDeg,t.tiltDeg,t.xyScale,t.zScale,t.origin[0],t.origin[1]].every(Number.isFinite)&&Math.abs(t.xyScale)>1e-12&&Math.abs(Math.cos(t.tiltDeg*Math.PI/180))>1e-12}function Mp(t,e,i=$p){if(!(Sp(i)&&Number.isFinite(t[0])&&Number.isFinite(t[1])&&Number.isFinite(e)))throw new Error("invalid isometric projection input");const s=i.rotDeg*Math.PI/180,n=i.tiltDeg*Math.PI/180,o=t[0]-i.origin[0],a=t[1]-i.origin[1],r=(o*Math.cos(s)-a*Math.sin(s))*i.xyScale,l=(o*Math.sin(s)+a*Math.cos(s))*i.xyScale;return[i.origin[0]+r,i.origin[1]+l*Math.cos(n)-e*i.zScale*Math.sin(n)]}function Cp(t,e=$p){if(!Sp(e)||!Number.isFinite(t[0])||!Number.isFinite(t[1]))throw new Error("invalid isometric projection input");const i=e.rotDeg*Math.PI/180,s=e.tiltDeg*Math.PI/180,n=(t[0]-e.origin[0])/e.xyScale,o=(t[1]-e.origin[1])/(e.xyScale*Math.cos(s));return[e.origin[0]+n*Math.cos(i)+o*Math.sin(i),e.origin[1]-n*Math.sin(i)+o*Math.cos(i)]}function Dp(t=$p){return`matrix(${function(t=$p){if(!Sp(t))throw new Error("invalid isometric camera");const e=t.rotDeg*Math.PI/180,i=t.tiltDeg*Math.PI/180,s=t.xyScale*Math.cos(e),n=-t.xyScale*Math.sin(e),o=t.xyScale*Math.sin(e)*Math.cos(i),a=t.xyScale*Math.cos(e)*Math.cos(i);return[s,o,n,a,t.origin[0]-s*t.origin[0]-n*t.origin[1],t.origin[1]-o*t.origin[0]-a*t.origin[1]]}(t).map(t=>Number(t.toFixed(12))).join(" ")})`}function Tp(t,e=$p){const{rect:i,wallHeight:s}=t,n=t.openingHeight??s,o=t.floorDepth??0;if(!(i.w>=0)||!(i.h>=0)||!Number.isFinite(s)||!Number.isFinite(n)||!Number.isFinite(o)||s<0||n<0||o<0)throw new Error("invalid isometric frame");const a=[[i.x,i.y],[i.x+i.w,i.y],[i.x+i.w,i.y+i.h],[i.x,i.y+i.h]],r=Math.max(s,n),l=a.flatMap(t=>[Mp(t,-o,e),Mp(t,r,e)]),c=l.map(t=>t[0]),h=l.map(t=>t[1]),d=Math.min(...c),u=Math.min(...h);return{x:d,y:u,w:Math.max(...c)-d,h:Math.max(...h)-u}}const Pp=t=>`${Number(t[0].toFixed(4))} ${Number(t[1].toFixed(4))}`;function Rp(t){let e=0;for(let i=0;iArray.isArray(t)&&Number.isFinite(t[0])&&Number.isFinite(t[1])).map(t=>[Number(t[0]),Number(t[1])]),i=e[e.length-1];return e.length>1&&e[0][0]===i[0]&&e[0][1]===i[1]&&e.pop(),e}(t);if(i.length<3)return[];const s=!e;return Rp(i)>0===s?i:[...i].reverse()}function Ip(t,e,i){return t.length?`M ${t.map(t=>Pp(Mp(t,i,e))).join(" L ")} Z`:""}function Ep(t,e,i){const s=e[1]-t[1],n=-(e[0]-t[0]),o=i.rotDeg*Math.PI/180;return s*Math.sin(o)+n*Math.cos(o)}function Fp(t,e,i=$p){if(!Number.isFinite(e)||e<0)throw new Error("invalid floor edge height");const s=(t||[]).map(t=>(t||[]).map((t,e)=>function(t,e){const i=Ap(t,e);if(!i.length)return i;let s=0;for(let t=1;t0)).filter(t=>t.length>=3&&Math.abs(Rp(t))>=1e-9)).filter(t=>t.length&&Rp(t[0])>0);s.sort((t,e)=>{const i=t[0][0],s=e[0][0];return i[0]-s[0]||i[1]-s[1]||Math.abs(Rp(e[0]))-Math.abs(Rp(t[0]))});const n=[],o=[];let a=0;for(let t=0;tt.depth-e.depth||t.component-e.component||t.edge-e.edge),{footprintPath:n.join(" "),sides:o,componentCount:s.length,edgeCount:a}}function zp(t,e){return t^=Math.round(64*(Number.isFinite(e)?e:0)),Math.imul(t,16777619)>>>0}const Op=t=>t.every(Number.isFinite);function Hp(t,e,i,s){const n=t[0]*i,o=t[1]*s,a=e*Math.PI/180;return[n*Math.cos(a)-o*Math.sin(a),n*Math.sin(a)+o*Math.cos(a)]}function Np(t,e,i,s,n,o,a){const r=t.flipH?-1:1,l=t.flipV?-1:1,c=function(t,e){return[t[0]+e[0],t[1]+e[1]]}([t.x+t.face.ox,t.y+t.face.oy],Hp(i,t.angle,r,l));return{leaf:e,hinge:c,closedVector:Hp(s,t.angle,r,l),quarterVector:Hp([-s[1],s[0]],t.angle,r,l),turnDeg:n,bottom:o,top:a}}const Lp=t=>`${Number(t[0].toFixed(4))} ${Number(t[1].toFixed(4))}`;function Bp(t,e,i=$p){const s=Math.max(0,Math.min(1,Number.isFinite(e)?e:0));return t.leaves.map(e=>{const n=function(t,e){const i=t.turnDeg*e*Math.PI/180;return[t.hinge[0]+t.closedVector[0]*Math.cos(i)+t.quarterVector[0]*Math.sin(i),t.hinge[1]+t.closedVector[1]*Math.cos(i)+t.quarterVector[1]*Math.sin(i)]}(e,s),o=Mp(e.hinge,e.bottom,i),a=Mp(n,e.bottom,i),r=Mp(n,e.top,i),l=Mp(e.hinge,e.top,i);return{id:t.id,sourceIndex:t.sourceIndex,type:t.type,leaf:e.leaf,d:`M ${Lp(o)} L ${Lp(a)} L ${Lp(r)} L ${Lp(l)} Z`,shadowD:`M ${Lp(Mp(e.hinge,0,i))} L ${Lp(Mp(n,0,i))}`,depth:Math.max(o[1],a[1])}})}const qp={window:120,door:90,passage:90,gate:300};function Wp(t){return qp[t]}function jp(t,e){const i=[t[0],t[1]],s=[e[0],e[1]];return function(t,e){return t[0]-e[0]||t[1]-e[1]}(i,s)<=0?{a:i,b:s}:{a:s,b:i}}function Up(t){const e=new Map;return t.forEach((t,i)=>{if(!t.kind||t.open)return;const s=jp(t.a,t.b);if(Math.hypot(s.b[0]-s.a[0],s.b[1]-s.a[1])<=1e-9)return;const n=function(t,e){const i=t=>(Math.abs(t)<=5e-10?0:Math.round(1e6*t)/1e6).toFixed(6);return`${i(t[0])},${i(t[1])}>${i(e[0])},${i(e[1])}`}(s.a,s.b),o=e.get(n);if(o)return o.physicalHalfWidth=Math.max(o.physicalHalfWidth,t.half||0),o.sourceOrder=Math.min(o.sourceOrder,i),void(t.partitionHost&&(o.partitionHost&&o.partitionHost.id!==t.partitionHost.id?o.ambiguousPartitionHost=!0:o.partitionHost=t.partitionHost));e.set(n,{segmentKey:n,a:s.a,b:s.b,physicalHalfWidth:Math.max(0,t.half||0),sourceOrder:i,...t.partitionHost?{partitionHost:t.partitionHost}:{}})}),[...e.values()]}function Gp(t,e){if(Math.abs(t.distance-e.distance)>1e-9)return t.distance-e.distance;if(Math.abs(t.perpendicular-e.perpendicular)>1e-9)return t.perpendicular-e.perpendicular;return(t.target.segmentKeye.target.segmentKey?1:0)||t.target.sourceOrder-e.target.sourceOrder}function Vp(t){const e=Up(t.intervals).map(e=>{const i=function(t,e){const i=e.b[0]-e.a[0],s=e.b[1]-e.a[1],n=Math.hypot(i,s),o=i/n,a=s/n,r=(t[0]-e.a[0])*o+(t[1]-e.a[1])*a,l=Math.max(0,Math.min(n,r)),c=e.a[0]+l*o,h=e.a[1]+l*a;return{along:l,length:n,x:c,y:h,distance:Math.hypot(t[0]-c,t[1]-h),perpendicular:Math.abs((t[0]-e.a[0])*a-(t[1]-e.a[1])*o)}}(t.pointer,e);return{target:e,...i,envelope:Math.max(t.baseTolerance,e.physicalHalfWidth+t.bodyPointerPadding)}}).filter(t=>t.distance<=t.envelope+1e-9).filter(e=>!e.target.partitionHost||t.renderedLength<=e.length+1e-9).filter(e=>!function(t,e,i,s,n){const o=e.b[0]-e.a[0],a=e.b[1]-e.a[1],r=Math.hypot(o,a);if(!(r>1e-9))return!1;const l=o/r,c=a/r;for(const o of i){if(!o.open&&o.kind)continue;const i=jp(o.a,o.b),a=i.b[0]-i.a[0],r=i.b[1]-i.a[1],h=Math.hypot(a,r);if(!(h>1e-9))continue;const d=a/h,u=r/h;if(Math.abs(l*u-c*d)>1e-6)continue;if(Math.abs((i.a[0]-e.a[0])*c-(i.a[1]-e.a[1])*l)>n)continue;const p=(t[0]-i.a[0])*d+(t[1]-i.a[1])*u,_=1e-9;if(!(p<=_||p>=h-_)&&Math.abs((t[0]-i.a[0])*u-(t[1]-i.a[1])*d)<=s+1e-9)return!0}return!1}(t.pointer,e.target,t.intervals,e.envelope,Math.max(1e-9,Math.min(t.baseTolerance,.04*t.gridStep)))).sort(Gp);let i=e[0];if(!i)return null;const s=e.filter(t=>Math.abs(t.distance-i.distance)<=1e-9&&Math.abs(t.perpendicular-i.perpendicular)<=1e-9),n=s.filter(t=>t.target.partitionHost);if(n.length){if(1!==new Set(n.map(t=>t.target.partitionHost.id)).size||n.some(t=>t.target.ambiguousPartitionHost))return null;const t=n[0],e=t.target.b[0]-t.target.a[0],o=t.target.b[1]-t.target.a[1],a=Math.hypot(e,o),r=e/a,l=o/a;if(!s.every(e=>{const i=e.target.b[0]-e.target.a[0],s=e.target.b[1]-e.target.a[1],n=Math.hypot(i,s),o=i/n,a=s/n,c=Math.abs(r*a-l*o)<=1e-6,h=Math.abs((e.target.a[0]-t.target.a[0])*l-(e.target.a[1]-t.target.a[1])*r);return c&&h<=1e-9}))return null;i=t}if(i.target.ambiguousPartitionHost)return null;const{target:o,length:a}=i,r=o.b[0]-o.a[0],l=o.b[1]-o.a[1],c=r/a,h=l/a,d=Math.min(Math.max(0,t.renderedLength)/2,a/2);let u=i.along;const p=Math.max(t.gridStep,1e-9),_=a/2;u=Math.abs(u-_)<=p/2?_:Math.round(u/p)*p,u=Math.max(d,Math.min(a-d,u));const g=o.a[0]+c*u,m=o.a[1]+h*u,f=Math.max(0,t.renderedLength)/2,v=u-f,y=u+f,b=Math.max(0,v),w=Math.max(0,a-y),k=[o.a[0]+c*(v-b/2),o.a[1]+h*(v-b/2)],$=[o.a[0]+c*(y+w/2),o.a[1]+h*(y+w/2)];let x=180*Math.atan2(l,r)/Math.PI;x>=90?x-=180:x<-90&&(x+=180);const S=Math.abs(u-_)<=1e-9;return{presetRevision:t.preset.revision,geometryRevision:t.geometryRevision,pointer:[t.pointer[0],t.pointer[1]],type:t.preset.type,lengthCm:t.preset.lengthCm,flipH:t.preset.flipH,flipV:t.preset.flipV,x:g,y:m,angle:x,renderedLength:t.renderedLength,target:o,...o.partitionHost?{host:{...o.partitionHost,t:a>0?u/a:0}}:{},measure:{labels:[{distance:b,midpoint:k},{distance:w,midpoint:$}],guide:S?{x:g,y:m,angle:x}:null}}}function Kp(t,e,i,s,n=1e-6){return t.presetRevision===i&&t.geometryRevision===s&&Math.hypot(t.pointer[0]-e[0],t.pointer[1]-e[1])<=n}const Yp="1.65.0-beta.2",Xp={badge:"display.badge",icon_ripple:"display.icon_ripple",value:"display.value",static_icon:"display.static_icon"},Jp={badge:"marker.display_hint_badge",icon_ripple:"marker.display_hint_icon_ripple",value:"marker.display_hint_value",static_icon:"marker.display_hint_static_icon"},Zp=2e3,Qp=1e3,t_=1500,e_=t=>{const e=String(t??"").trim().replace(",",".");if(!/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)$/.test(e))return null;const i=Number(e);return Number.isFinite(i)?i:null},i_=(t,e)=>{if(!t.has(e))return{hit:!1};const i=t.get(e);return t.delete(e),t.set(e,i),{hit:!0,value:i}},s_=(t,e,i,s)=>{for(t.delete(e),t.set(e,i);t.size>s;){const e=t.keys().next().value;if(void 0===e)break;t.delete(e)}},n_=new Map;let o_=0;const a_=t=>`${window.innerWidth}x${window.innerHeight}|${location.pathname}|${JSON.stringify(t??{})}`;let r_=1e4;const l_="houseplan_card_layout_v1",c_="houseplan_card_cfg_v1",h_="houseplan_card_zoom_v1",d_="houseplan_card_nav_v1",u_="houseplan_card_kiosk_v1",p_="houseplan_card_view_v1",__=1e3,g_=[[0,1],[45,.88],[70,.62],[86,.32],[100,0]],m_=(t,e)=>{const i=Math.min(t.x,e.x),s=Math.min(t.y,e.y);return{x:i,y:s,w:Math.max(t.x+t.w,e.x+e.w)-i,h:Math.max(t.y+t.h,e.y+e.h)-s}},f_=new Set(["select","draw","partition","column","merge","split","resize","opening","boundary","wallthick","delroom"]),v_=2e3,y_=(t,e,i)=>{const s=new Event(e,{bubbles:!0,composed:!0});s.detail=i??{},t.dispatchEvent(s)},b_=t=>{history.pushState(null,"",t),y_(window,"location-changed",{replace:!1})},w_=(t,e)=>{let i,s=null;const n=(...n)=>{clearTimeout(i),s=n,i=window.setTimeout(()=>{i=void 0;const e=s;s=null,e&&t(...e)},e)};return n.flush=()=>{if(void 0===i)return;clearTimeout(i),i=void 0;const e=s;s=null,e&&t(...e)},n.cancel=()=>{clearTimeout(i),i=void 0,s=null},n.pending=()=>void 0!==i,n},k_=t=>{try{t.target?.setPointerCapture?.(t.pointerId)}catch{}};class $_ extends ht{constructor(){super(...arguments),this._space="f1",this._layout={},this._serverStorage=!1,this._loadOk=!1,this._serverCanWrite=null,this._loading=!1,this._loadTries=0,this._serverCfg=null,this._cfgRev=0,this._cfgContentFingerprint="",this._unsubCfg=null,this._unsubLayout=null,this._unsubVirtual=null,this._liveSyncAttempt=null,this._liveSyncGeneration=0,this._liveSyncConnection=null,this._layoutRev=0,this._layoutContentFingerprint="",this._virtualLights=gn(null),this._canOptimizeUndo=!1,this._undoKind=null,this._devices=[],this._regSignature="",this._defPos={},this._newSyncKey="",this._tip=null,this._hoverRoom=null,this._selId=null,this._toast="",this._mode="view",this._pendingNavMode=null,this._decorTool="select",this._decorStyle={...er},this._decorDraft=null,this._decorMove=null,this._decorSel=null,this._decorEraseConfirm=null,this._decorTextDialog=null,this._decorShapeDialog=null,this._backdropDialog=null,this._decorTextSelection={start:0,end:0},this._furnPalette=null,this._dtBox=null,this._dtDrag=null,this._bdDrag=null,this._slide="",this._reducedMotion=!1,this._onMotionChange=t=>{this._reducedMotion=t.matches,t.matches&&this._modeTransitionPreparing?this._modeTransitionForceAtomic=!0:t.matches&&this._modeTransition.active&&this._cancelModeTransition(!0),this.requestUpdate()},this._editorChromeMode="plan",this._modeTransitionVisual=null,this._modeTransitionPreparing=!1,this._modeTransitionForceAtomic=!1,this._modeTransitionRequest=0,this._modeTransitionTargetZoom=1,this._modeTransitionEditorCamera=null,this._modeTransition=new np({frame:t=>this._applyModeTransitionFrame(t),settled:t=>this._settleModeTransition(t)}),this._editorSecondary=new Ru({root:()=>this.renderRoot,requestUpdate:()=>this.requestUpdate(),updateComplete:()=>this.updateComplete,clearTip:()=>{this._tip=null}}),this._editorSecondaryCopy={groupActive:(t,e)=>this._t("editor.group_active",{group:t,item:e}),openGroup:t=>this._t("editor.open_group",{group:t}),disabledAction:(t,e)=>this._t("editor.disabled_action",{action:t,reason:e})},this._tool="draw",this._geometryHistory=new Uu(50),this._wallDialog=null,this._drawWallField=null,this._activeDraftId=null,this._resumeDraftBySpace={},this._physicalSel=null,this._physicalDialog=null,this._partitionDeleteDialog=null,this._physicalDrag=null,this._physicalRotate=null,this._physicalLastTap=null,this._physicalPickCycle=null,this._wallUnionCache=null,this._isoGeometryCache=new Map,this._isoFallback=new Set,this._openingTunnelCache=null,this._openingWallIndexCache=new Map,this._openingPlacementIntervalsCache=null,this._planSnapGeometryCache=null,this._planStructuralGeometryCache=null,this._physicalBodiesCache=null,this._lightPhysicalBodiesCache=null,this._cleanFloorCache=new Map,this._glowClipCache=new Map,this._lightBarrierCache=null,this._glowFeatherUnits=null,this._glowRenderedSources=new Map,this._glowLastAppearance=new Map,this._glowEnteringSources=new Set,this._glowEnterRafs=new Map,this._glowFadeTimers=new Map,this._glowFeatherSuspendUntil=0,this._glowFeatherResumeTimer=0,this._glowSourceSeq=0,this._glowScreenBlend=!1,this._duplicateColumnId=null,this._duplicateColumnTimer=0,this._rszSel=null,this._rszDrag=null,this._rszPreview=null,this._rszLive=null,this._path=[],this._cursorPt=null,this._planSnapHover=null,this._mergeSel=null,this._openingPreset=null,this._openingRebindId=null,this._openingPresetRevision=0,this._openingHoverCandidate=null,this._openingDialog=null,this._openingInfo=null,this._opDrag=null,this._opMeasure=null,this._mergeDialog=null,this._openWallAnchor=null,this._boundaryPointerType="mouse",this._boundaryRestoreGuard=null,this._boundaryTargetMemo=null,this._boundaryPreviewMemo=null,this._splitSel=null,this._pendingSplit=null,this._wallFaceBatch=null,this._wallFaceGraphCache=[],this._areaSel="",this._nameSel="",this._roomDialog=!1,this._roomEditId=null,this._roomFill="",this._roomCustomFill=null,this._roomTempSrc="",this._roomHumSrc="",this._roomSrcOpen=null,this._roomSrcFilter="",this._roomNameScale=1,this._roomLabelScale=1,this._zoom=1,this._view=null,this._zoomBySpace={},this._viewModeSnap=null,this._pointers=new Map,this._panStart=null,this._panLock=null,this._pinchStart=null,this._suppressClick=!1,this._touchContacts=new Map,this._touchSequenceMultitouch=!1,this._touchClickBlockUntil=0,this._connectedPath="",this._routeDepartureHandled=!1,this._onLocationChanged=()=>{this._connectedPath&&location.pathname!==this._connectedPath?this._leaveCardRoute():location.pathname===this._connectedPath&&(this._routeDepartureHandled=!1)},this._touchGestureGuard={capture:!0,handleEvent:t=>this._guardTouchGesture(t)},this._hdrH=118,this._booting=!0,this._bootFading=!1,this._bootSettling=!1,this._bootSettleRaf=0,this._bootLastH=-1,this._bootStart=0,this._bootLastChange=0,this._bootSoft=!1,this._tapConfirm=null,this._onboardingShown=!1,this._rulesDialog=null,this._alignDialog=null,this._settingsDialog=null,this._backupExportDialog=null,this._backupImportDialog=null,this._sunRaysCache=null,this._dayCycleTimer=0,this._dayCycleClockKey="",this._compassDrag=!1,this._importDialog=null,this._importQueue=[],this._importTotal=0,this._rulesCompiledSrc="",this._infoCard=null,this._nativeMoreInfoEntity=null,this._markerDialog=null,this._spaceDialog=null,this._keyHandler=t=>this._onKey(t),this._warmVp=null,this._warmVpArmed=!1,this._warmLongReturn=!1,this._warmRevivePending=!1,this._warmGen=++o_,this._warmKey=null,this._warmSlot=null,this._hashApplied=!1,this._navApplied=!1,this._labs={active:Object.freeze([]),space:""},this._viewPreference={},this._renderProjection="flat",this._kioskScale={icon:1,font:1},this._kioskDialog=!1,this._activityRt=new Map,this._vacRt=new Map,this._vacViewKey="",this._vacLastView=null,this._vacRaf=0,this._vacSrvTrails={},this._vacJumpOnce=!1,this._continuity=this._newContinuityController(),this._continuityHistory=[],this._continuityEpoch=0,this._continuityDataReady=!0,this._continuityPaintToken=-1,this._continuityDisposed=!1,this._renderSnapshotAt=Date.now(),this._hassSequence=0,this._visibleDeviceSnapshot=null,this._candidateDeviceSnapshot=null,this._stagedDeviceSnapshotToken=-1,this._capturedSnapshotSequence=-1,this._capturedSnapshotDevices=null,this._capturedSnapshotLayout=null,this._capturedSnapshotActivity="",this._capturedSnapshotConfigEpoch=-1,this._capturedSnapshotVirtual="",this._lastValidStageSize=null,this._pendingRefitSize=null,this._refitRaf=0,this._pageVisibility=t=>{if(this._continuity.visibility(t),this._dayCycleVisibility(t),"hidden"!==t.kind){if(this._vacJumpOnce=!0,!t.long){const t=Date.now();let e=!1;for(const i of this._activityRt.values())!i.flashKind||(i.expiresAt||i.flashTs+wu)>t||(i.flashTs=0,i.flashKind=null,i.expiresAt=0,e=!0);return void(e&&this.requestUpdate())}Date.now()-this._renderSnapshotAt>1e3&&this._continuity.note("device-snapshot-stale"),this._continuityDataReady=!1,this._continuityPaintToken=-1,this._resumeSettling=!0,this._loading?this.requestUpdate():this._loadFromServer()}else this._modeTransitionPreparing?this._modeTransitionForceAtomic=!0:this._cancelModeTransition(!0)},this._resumeSettling=!1,this._viewportInvalidAt=0,this._vacFit=null,this._vacAllCamerasFor=null,this._vacAllCameraCache=null,this._vacCalConfirm=null,this._kioskDots=!1,this._cyclePausedUntil=0,this._swipeStart=null,this._lastTap=0,this._onLabsSnapshot=t=>{const e=this._effectiveProjection();this._labs=t;const i=this._effectiveProjection();this._convertProjectionView(e,i),this.requestUpdate()},this._onHashChange=()=>{const t=this._hashSpace();if(t&&this._model.find(e=>e.id===t)&&t!==this._space){if(this._wallFaceBatch&&this._roomDialogCancel(),"plan"===this._mode&&"draw"===this._tool&&!this._finishWallChain())return;this._activeDraftId&&(this._resumeDraftBySpace[this._space]=this._activeDraftId),this._space=t,this._selId=null,this._path=[],this._clearPlanSnapHover(),this._clearOpeningPlacement(!0),this._tool="draw",this._openWallAnchor=null,this._boundaryRestoreGuard=null,this._activeDraftId=null,this._draftSegmentCms=[],this._closingWallCm=null,"plan"===this._mode&&"draw"===this._tool&&this._resumeLastDraft(),this._restoreZoom(),this.requestUpdate()}},this._drag=null,this._rlResize=null,this._holdFired=!1,this._retryContinuity=()=>{this._continuityDataReady=!1,this._continuityPaintToken=-1,this._continuity.retry(this._continuity.recoveryReason||"plan"),this._loading||this._loadFromServer()},this._cfgEpoch=0,this._modelCache=null,this._emptySpaceStateActive=!1,this._decorSnapCache=null,this._markerPreviewMemo=null,this._markerPreviewDevicesMemo=null,this._showHidden=!1,this._connHooked=null,this._connectionWasLost=!1,this._haRegistryConnection=null,this._haRegistryRev=-1,this._haBindingCacheKey="",this._planHassMemo=null,this._onHaRegistryUpdate=()=>{const t=In(this.hass);t.revision===this._haRegistryRev&&this._devices.length||(this._haRegistryRev=t.revision,this._planHassMemo=null,this._regSignature="",this._maybeRebuildDevices(),this.requestUpdate())},this._onConnReady=()=>{if(this._loadTries=0,clearTimeout(this._loadRetryTimer),this._loadRetryTimer=void 0,function(t){const e=Cn(t);e&&(Pn(t,e),Rn(t,e))}(this.hass),this._saveConfigDebounced.pending()&&this._saveConfigDebounced.flush(),this._cfgWriting)return clearTimeout(this._reloadRetry),void(this._reloadRetry=window.setTimeout(this._onConnReady,400));!this._connectionWasLost&&this._continuity.hasCompleteFrame?this._beginContinuityCandidate("connection-ready",!1,"plan"):(this._continuityDataReady=!1,this._continuityPaintToken=-1),this._loading||this._loadFromServer()},this._onConnLost=()=>{this._booting&&!this._continuity.hasCompleteFrame||(this._connectionWasLost=!0,this._continuityDataReady=!1,this._continuityPaintToken=-1,this._continuity.connectionLost())},this._signer=new nh(()=>this.requestUpdate()),this._dirtyPos=new Set,this._sentPos=new Map,this._persistLayout=w_(()=>{if(this._serverStorage){const t=[...this._dirtyPos];this._dirtyPos.clear();for(const e of t){const t=this._layout[e];t&&(this._sentPos.set(e,t),this.hass.callWS({type:"houseplan/layout/update",device_id:e,pos:t}).then(t=>this._noteLayoutRev(t)).catch(t=>this._showToast(this._t("toast.pos_save_failed",{err:this._errText(t)}))).finally(()=>{this._sentPos.get(e)===t&&this._sentPos.delete(e)}))}this._cacheSnapshot()}else localStorage.setItem(l_,JSON.stringify(this._layout))},600),this._frame=null,this._showFar=!1,this._writesPending=0,this._writeChain=Promise.resolve(),this._undoGeometry=()=>{if(this._cancelBoundaryAnchor())return;if(this._physicalDrag||this._physicalRotate)return void this._cancelPhysicalGesture();if(this._decorDraft)return this._decorDraft=null,void this.requestUpdate();if(this._decorMove||this._dtDrag||this._bdDrag)return void this._cancelDecorGesture();if(this._rszDrag)return void this._rszCancelDrag();const t=this._geometryHistory.undo();t&&(this._applyGeometryState(t.before)?this._showToast(this._t("history.undone",{name:t.name})):this._geometryHistory.clear())},this._redoGeometry=()=>{if(this._cancelBoundaryAnchor())return;if(this._physicalDrag||this._physicalRotate)return void this._cancelPhysicalGesture();if(this._decorDraft)return this._decorDraft=null,void this.requestUpdate();if(this._decorMove||this._dtDrag||this._bdDrag)return void this._cancelDecorGesture();if(this._rszDrag)return void this._rszCancelDrag();const t=this._geometryHistory.redo();t&&(this._applyGeometryState(t.after)?this._showToast(this._t("history.redone",{name:t.name})):this._geometryHistory.clear())},this._saveConfigDebounced=w_(()=>{this._serverCfg&&this._writeConfig().catch(t=>{"conflict"===t?.code?(this._showToast(this._t("toast.conflict")),this._cancelPath(),this._reloadConfigOnly(!0)):this._showToast(this._t("toast.cfg_save_failed",{err:this._errText(t)}))})},500),this._draftSegmentCms=[],this._closingWallCm=null,this._savePhysicalDialog=()=>{const t=this._physicalDialog,e=this._curSpaceCfg,i=this._spaceModel();if(!t||!e||!i)return;const s=e_(t.cm);if(null==s)return void this._showPhysicalRange("column"===t.kind?kl:100);const n=this._imperial?2.54*s:s,o="column"===t.kind?kl:100;if(!Number.isFinite(n)||n<1||n>o)return void this._showPhysicalRange(o);if("column"===t.kind){const e=i.wall_columns.find(e=>e.id===t.id);if(!e)return;const s=e_(t.angle||"0");if("circle"!==t.shape&&(null==s||s<0||s>=90))return void this._showToast(this._t("toast.physical_angle"));const o="circle"===t.shape?{id:t.id,shape:"circle",center:e.center,cm:n}:{id:t.id,shape:"square",center:e.center,cm:n,angle:s};if(i.wall_columns.some(e=>e.id!==t.id&&Nl(e,o,.02*this._gridPitch)))return void this._showToast(this._t("toast.column_duplicate"))}const a=this._geometrySnapshot();if("partition"===t.kind){const i=(e.partitions||[]).find(e=>e.id===t.id);i&&(i.cm=n)}else if("column"===t.kind){const i=(e.wall_columns||[]).find(e=>e.id===t.id);i&&(i.cm=$l(n),i.shape="circle"===t.shape?"circle":"square","square"===i.shape?i.angle=e_(t.angle||"0"):delete i.angle)}else{const i=(e.room_drafts||[]).find(e=>e.id===t.id);i?.segments?.[t.segment||0]&&(i.segments[t.segment||0].cm=n)}this._recordGeometry(this._t("history.physical_edit"),a),this._physicalDialog=null,this._saveConfig()},this._deletePhysicalSelection=()=>{const t=this._physicalSel,e=this._curSpaceCfg;if(!t||!e)return;if("draft"===t.kind)return void this._deleteDraftWhole();const i=this._geometrySnapshot();if("partition"===t.kind){const i=(e.openings||[]).filter(e=>"partition"===e.host?.kind&&e.host.id===t.id).sort((t,e)=>(t.host?.t||0)-(e.host?.t||0));if(i.length)return void(this._partitionDeleteDialog={id:t.id,openings:i.map(t=>JSON.parse(JSON.stringify(t)))})}const s="partition"===t.kind?"partitions":"column"===t.kind?"wall_columns":"room_drafts";e[s]=(e[s]||[]).filter(e=>e.id!==t.id),e[s].length||delete e[s],this._activeDraftId===t.id&&this._cancelPath(),this._physicalSel=null,this._physicalDialog=null,this._recordGeometry(this._t("history.physical_delete"),i),this._saveConfig()},this._confirmPartitionDelete=()=>{const t=this._partitionDeleteDialog,e=this._curSpaceCfg;if(!t||!e)return;const i=this._geometrySnapshot();e.partitions=(e.partitions||[]).filter(e=>e.id!==t.id),e.partitions.length||delete e.partitions,e.openings=(e.openings||[]).filter(e=>"partition"!==e.host?.kind||e.host.id!==t.id),e.openings.length||delete e.openings,this._partitionDeleteDialog=null,this._physicalSel=null,this._physicalDialog=null,this._recordGeometry(this._t("history.physical_delete"),i),this._saveConfig()},this._deleteDraftWhole=()=>{const t="draft"===this._physicalDialog?.kind?this._physicalDialog.id:"draft"===this._physicalSel?.kind?this._physicalSel.id:null,e=this._curSpaceCfg;if(!t||!e||!confirm(this._t("confirm.delete_draft")))return;const i=this._geometrySnapshot();e.room_drafts=(e.room_drafts||[]).filter(e=>e.id!==t),e.room_drafts.length||delete e.room_drafts,this._activeDraftId===t&&this._cancelPath(),this._physicalSel=null,this._physicalDialog=null,this._recordGeometry(this._t("history.physical_delete"),i),this._saveConfig()},this._deleteDraftSegment=()=>{const t=this._physicalDialog,e=this._curSpaceCfg;if(!t||"draft"!==t.kind||!e)return;if(!confirm(this._t("confirm.delete_draft_segment")))return;const i=(e.room_drafts||[]).findIndex(e=>e.id===t.id);if(i<0)return;const s=e.room_drafts[i],n=Math.max(0,Math.min(s.segments.length-1,t.segment||0)),o=[],a=s.points.slice(0,n+1),r=s.points.slice(n+1);if(a.length>=2&&o.push({id:s.id,points:a,segments:s.segments.slice(0,n)}),r.length>=2&&o.push({id:o.length?`${s.id}-${Date.now().toString(36)}`:s.id,points:r,segments:s.segments.slice(n+1)}),2===o.length&&e.room_drafts.length>=200)return void this._showToast(this._t("toast.physical_limit"));const l=this._geometrySnapshot();e.room_drafts.splice(i,1,...o),e.room_drafts.length||delete e.room_drafts,this._activeDraftId===s.id&&this._cancelPath(),this._physicalDialog=null,this._physicalSel=o.length?{kind:"draft",id:o[0].id}:null,this._recordGeometry(this._t("history.draft_segment_delete"),l),this._saveConfig()},this._rebindPartitionOpening=()=>{const t=this._openingDialog;if(!t?.id)return;const e=t.id;this._activateMarkupTool("opening"),"opening"===this._tool&&(this._openingRebindId=e,this._openingPreset={type:t.type,lengthCm:t.lengthCm,flipH:t.flipH,flipV:t.flipV,revision:++this._openingPresetRevision},this._openingDialog=null,this._openingHoverCandidate=null)},this._keepClosedAsPartitions=()=>{if(this._wallFaceBatch)return void this._decideWallFace(!1);if(!this._contourClosed||this._pendingSplit||!this._curSpaceCfg)return;const t=this._curSpaceCfg,e=this._path.slice(0,-1);if((t.partitions||[]).length+e.length>v_)return void this._showToast(this._t("toast.physical_limit"));const i=this._geometrySnapshot(),s=[...this._draftSegmentCms,this._closingWallCm||this._drawWallCm||pr];t.partitions||=[];const n=Date.now().toString(36);for(let i=0;it.id!==this._activeDraftId),t.room_drafts.length||delete t.room_drafts),this._recordGeometry(this._t("history.contour_to_partitions"),i),this._saveConfig(),this._roomDialog=!1,this._path=[],delete this._resumeDraftBySpace[this._space],this._activeDraftId=null,this._draftSegmentCms=[],this._closingWallCm=null},this._toggleServerPlans=async()=>{const t=this._spaceDialog;if(t)if(t.pickSaved)this._spaceDialog={...t,pickSaved:!1};else{this._spaceDialog={...t,pickSaved:!0,savedBusy:!0};try{const t=await this.hass.callWS({type:"houseplan/plans/list"}),e=this._spaceDialog;e&&(this._spaceDialog={...e,saved:t?.plans||[],savedBusy:!1})}catch(t){const e=this._spaceDialog;e&&(this._spaceDialog={...e,saved:[],savedBusy:!1}),this._showToast(this._t("toast.plans_list_failed",{err:this._errText(t)}))}}},this._aspectJob=null,this._dayCycleTick=()=>{if(!this.isConnected||"hidden"===this.ownerDocument.visibilityState)return;const t=this._dayCycleState();if(!t)return this._dayCycleTimer&&(clearInterval(this._dayCycleTimer),this._dayCycleTimer=0),void(this._dayCycleClockKey="");const e=Na(t);e!==this._dayCycleClockKey&&(this._dayCycleClockKey=e,this.requestUpdate())},this._sunShown=!1,this._sunOut=!1,this._sunOutTimer=0,this._openSettingsDialog=()=>{if(!this._norm)return;const t=this._glowRadiusCm,e=this._imperial?Math.round(t/30.48*10)/10:Math.round(t)/100;this._settingsDialog={colors:JSON.parse(JSON.stringify(this._fillColors)),glowRadius:e,bgColor:hs(this._settings,{bgColor:null})||null,northDeg:Ka(this._settings,{}),bgMode:Ya(this._settings,{}),sunRays:Xa(this._settings,{}),busy:!1}},this._openAlignDialog=()=>{if(!this._norm||!this._serverCfg)return;const t=this._serverCfg.spaces||[],e=ju(this._serverCfg,this._layout||{}),i=Math.ceil(10*e.report.maxShiftCm)/10,s=t.find(t=>null!=t?.id&&String(t.id)===e.report.maxSpace),n=t.length>1&&s?String(s.title||s.id):"";this._alignDialog={report:e.report,config:e.config,layout:e.layout,cm:i,where:n,changed:e.changed,busy:!1}},this._optimizeUndoBusy=!1,this._openBackupExport=()=>{this._settingsDialog=null,this._backupExportDialog={kind:"full",planOnly:!1,busy:!1,error:""}},this._openRulesDialog=()=>{if(!this._norm)return;const t=this._settings.icon_rules,e=(t&&t.length?t:Xt).map(t=>({...t}));this._rulesDialog={rules:e,test:"",busy:!1}},this._climateCache=null,this._gearPtCache=new WeakMap}get _canEdit(){return!!this._norm&&(!0===this._serverCanWrite||!1!==this._serverCanWrite&&!0===this.hass?.user?.is_admin)}get _kiosk(){return!!this._config?.kiosk}_showKioskDots(){this._kioskDots=!0,clearTimeout(this._kioskDotsTimer),this._kioskDotsTimer=window.setTimeout(()=>this._kioskDots=!1,2500)}get _modeTransitionBusy(){return this._modeTransitionPreparing||this._modeTransition.active}_cssColor(t,e){const i=String(t||"").trim();if(!i)return e;const s=document.createElement("span");s.style.cssText=`position:absolute;visibility:hidden;color:${i}`,this.renderRoot.append(s);const n=getComputedStyle(s).color||e;return s.remove(),n}_currentModeVisual(t=this._mode){const e=this._modeTransition.presented||this._modeTransitionVisual;if(e)return{...e,viewport:{...e.viewport,viewBox:{...e.viewport.viewBox}}};const i=this._stageEl;if(!i||i.clientWidth<=0||i.clientHeight<=0)return null;const s=this.renderRoot.querySelector(".editorchrome"),n=this._viewOr(this._baseVb()),o=this.renderRoot.querySelector(".hp-paper"),a=this.renderRoot.querySelector(".hp-backdrop"),r=this.renderRoot.querySelector(".zoomwrap"),l=r?getComputedStyle(r).filter:"",c=Number(/brightness\(([^)]+)\)/.exec(l)?.[1]);return{presentedMode:t,editorChromeHeight:"view"===t?0:s?.getBoundingClientRect().height||0,stageWidth:i.clientWidth,stageHeight:i.clientHeight,viewport:Qu(n,i.clientWidth),stageColor:getComputedStyle(i).backgroundColor||"rgb(255, 255, 255)",paperColor:o?getComputedStyle(o).fill:"rgb(255, 255, 255)",sceneBrightness:Number.isFinite(c)?c:1,architectureOpacity:"decor"===t?.35:1,backdropOpacity:a&&Number(getComputedStyle(a).opacity)||1,viewWeight:"view"===t?1:0,editorWeight:"view"===t?0:1,toolbarContentOpacity:"view"===t?0:1}}_viewForModeTarget(t,e,i,s,n){const o=Oi(this._baseVb(),s/Math.max(1,n)),a=Math.min($_.ZOOM_MAX,Math.max($_.ZOOM_MIN,t)),r=o.w/a,l=o.h/a,c=e??o.x+o.w/2,h=i??o.y+o.h/2;return this._clampView({x:c-r/2,y:h-l/2,w:r,h:l},o)}_targetStageColor(t){return"view"!==t?"rgb(255, 255, 255)":this._cssColor(this._stageBg(this._spaceDisplayForRender()),this._cssColor("var(--ha-card-background, var(--card-background-color, #111))","rgb(17, 17, 17)"))}_targetPaperColor(t){return"view"===t&&this._spaceModel()?.bg?this._cssColor("var(--ha-card-background, var(--card-background-color, #111))","rgb(17, 17, 17)"):"rgb(255, 255, 255)"}_targetBrightness(t){return 1}_applyModeTransitionFrame(t){t.targetMode===this._mode&&(this._modeTransitionVisual=t.presented,this._view={...t.presented.viewport.viewBox},this.requestUpdate())}_settleModeTransition(t){if(t.targetMode!==this._mode)return;const e=this._modeTransitionRequest;this._view={...t.to.viewport.viewBox},this._zoom=this._modeTransitionTargetZoom,this._modeTransitionVisual=null,this._modeTransitionPreparing=!1,this._lastValidStageSize=[t.to.stageWidth,t.to.stageHeight],"view"===this._mode&&(this._saveZoom(),this._viewModeSnap=null,this._modeTransitionEditorCamera=null),this.requestUpdate(),this.updateComplete.then(()=>{if(!this.isConnected||e!==this._modeTransitionRequest||this._modeTransitionBusy||t.targetMode!==this._mode)return;const i=this._stageEl;if(i&&i.clientWidth>0&&i.clientHeight>0&&(Math.abs(i.clientWidth-t.to.stageWidth)>.5||Math.abs(i.clientHeight-t.to.stageHeight)>.5)){const t=this._view;this._lastValidStageSize=[i.clientWidth,i.clientHeight],this._applyView(this._zoom,t?t.x+t.w/2:void 0,t?t.y+t.h/2:void 0),this.requestUpdate()}const s=this.renderRoot.activeElement;(!s||!s.isConnected||!!s.closest?.(".editorchrome, .stage"))&&this.renderRoot.querySelector(".modetab.active")?.focus?.({preventScroll:!0})})}_cancelModeTransition(t=!0){const e=!!this._modeTransition.state;this._modeTransitionRequest++,this._modeTransitionPreparing=!1,this._modeTransitionForceAtomic=!1,this._modeTransition.cancel(t),t&&e||(this._modeTransitionVisual=null)}_adoptMode(t){this._cancelModeTransition(!1),this._mode=t,"view"!==t&&(this._editorChromeMode=t)}_commitViewModeAtomic(t,e,i,s){if(this._modeTransitionPreparing=!1,this._modeTransitionVisual=null,this._modeTransitionForceAtomic=!1,this._zoom=e,t){const n=this._stageEl?.clientWidth||t.stageWidth,o=Math.max(1,t.stageHeight+t.editorChromeHeight);this._view=this._viewForModeTarget(e,i,s,n,o),this._lastValidStageSize=[n,o]}else this._view=null;this._viewModeSnap=null,this._modeTransitionEditorCamera=null,this._saveZoom(),this.requestUpdate()}_prepareModeTransition(t,e,i,s,n,o){this.updateComplete.then(()=>{if(!this.isConnected||t!==this._modeTransitionRequest||this._mode!==i)return void(t===this._modeTransitionRequest&&(this._modeTransitionPreparing=!1,this._modeTransitionVisual=null,this._modeTransitionForceAtomic=!1,this.requestUpdate()));const a=this.renderRoot.querySelector(".editorchrome"),r=a?.querySelector(".editorchrome-inner"),l="view"===i?0:r?.scrollHeight||r?.getBoundingClientRect().height||0,c=Math.max(1,e.stageHeight+e.editorChromeHeight),h=Math.max(1,c-l),d=this._stageEl?.clientWidth||e.stageWidth;if(d<=0||h<=0)return this._modeTransitionPreparing=!1,this._modeTransitionVisual=null,this._applyView(s,n,o),void this.requestUpdate();const u=this._viewForModeTarget(s,n,o,d,h),p={presentedMode:i,editorChromeHeight:l,stageWidth:d,stageHeight:h,viewport:Qu(u,d),stageColor:this._targetStageColor(i),paperColor:this._targetPaperColor(i),sceneBrightness:this._targetBrightness(i),architectureOpacity:"decor"===i?.35:1,backdropOpacity:"decor"===i&&"backdrop"!==this._decorTool?.5:1,viewWeight:"view"===i?1:0,editorWeight:"view"===i?0:1,toolbarContentOpacity:"view"===i?0:1};this._modeTransitionPreparing=!1;const _=this._modeTransitionForceAtomic;this._modeTransitionForceAtomic=!1,this._modeTransition.start(e,p,i,this._reducedMotion||_?0:220)})}_slideTo(t,e){if(t===this._space)return;if(this._wallFaceBatch&&this._roomDialogCancel(),"plan"===this._mode&&"draw"===this._tool&&!this._finishWallChain())return;this._cancelModeTransition(!0);const i=window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches;this._activeDraftId&&(this._resumeDraftBySpace[this._space]=this._activeDraftId),this._space=t,this._path=[],this._clearPlanSnapHover(),this._clearOpeningPlacement(!0),this._tool="draw",this._openWallAnchor=null,this._boundaryRestoreGuard=null,this._activeDraftId=null,this._draftSegmentCms=[],this._closingWallCm=null,this._selId=null,this._physicalSel=null,this._editorSecondary.closeForNavigation(),this._physicalDialog=null,this._physicalDrag=null,"plan"===this._mode&&"draw"===this._tool&&this._resumeLastDraft(),this._restoreZoom(),i||(this._slide=e,clearTimeout(this._slideTimer),this._slideTimer=window.setTimeout(()=>{this._slideTimer=void 0,this._slide="",this.requestUpdate()},190),this.requestUpdate())}_pickSpace(t){if(t===this._space)return;const e=this._model.map(t=>t.id),i=e.indexOf(this._space),s=e.indexOf(t);this._navApplied=!0,this._showFar=!1,this._frame=null,this._slideTo(t,i>=0&&s0&&Date.now()>=this._cyclePausedUntil&&this._model.length>1&&this._zoom<=1.001){const t=this._model.map(t=>t.id),e=t.indexOf(this._space);this._slideTo(t[(e+1)%t.length],"left"),this._showKioskDots()}}get _editing(){return"plan"===this._mode||"devices"===this._mode||"decor"===this._mode}get _markup(){return"plan"===this._mode}_newContinuityController(){return new th(()=>{this._resumeSettling="steady"!==this._continuity.state,this._continuityEpoch++,this.isConnected&&this.requestUpdate()})}get _labsIso(){return this._labs.active.includes("iso")}get _desiredProjection(){return"view"===this._mode&&this._labsIso&&"iso"===this._viewPreference[this._space]?"iso":"flat"}_saveViewPreference(){try{localStorage.setItem(p_,JSON.stringify(this._viewPreference))}catch{}}_logicalViewCenter(t){const e=this._view;if(!e)return null;const i=[e.x+e.w/2,e.y+e.h/2],s="iso"===t?Cp(i):i;return{x:s[0],y:s[1]}}_convertProjectionView(t,e){if(t===e)return;const i=this._logicalViewCenter(t);this._view=null;const s=i?"iso"===e?Mp([i.x,i.y],0):[i.x,i.y]:null;this._applyView(this._zoom,s?.[0],s?.[1]),this._warmPatch({vp:this._warmViewportState()}),this.requestUpdate()}_setProjection(t){if(!this._labsIso||"view"!==this._mode)return;const e=this._effectiveProjection();if(this._viewPreference={...this._viewPreference,[this._space]:t},"iso"===t){const t=this._isoSceneKey();t&&this._isoFallback.delete(t)}this._saveViewPreference();const i=this._effectiveProjection();this._convertProjectionView(e,i)}_hashSpace(){return up(window.location.hash||"")}connectedCallback(){this._connectedPath=location.pathname,this._routeDepartureHandled=!1,window.addEventListener("location-changed",this._onLocationChanged),window.addEventListener("popstate",this._onLocationChanged),this._continuityDisposed&&(this._continuity=this._newContinuityController(),this._continuityDisposed=!1,this._continuityPaintToken=-1);const t=(e=this.ownerDocument,Gu.get(e)?.resolved);var e;void 0!==t&&(this._glowScreenBlend=t),this._continuityUnsub?.(),this._continuityUnsub=Zc(this.ownerDocument,this._pageVisibility),super.connectedCallback(),this._motionMedia=window.matchMedia?.("(prefers-reduced-motion: reduce)"),this._reducedMotion=!!this._motionMedia?.matches,this._motionMedia?.addEventListener?.("change",this._onMotionChange),function(t){const e=Gu.get(t);if(e)return e.promise;const i={promise:Promise.resolve(!1)};return i.promise=Ku(t).catch(()=>!1).then(t=>(i.resolved=t,t)),Gu.set(t,i),i.promise}(this.ownerDocument).then(t=>{t!==this._glowScreenBlend&&(this._glowScreenBlend=t,this.isConnected&&this.requestUpdate())}),this.hass&&this._ensureHaRegistryAuthority(),window.addEventListener("keydown",this._keyHandler),this._signer.start(()=>this.hass,()=>As(this._serverCfg)),this._config?.kiosk&&Number(this._config?.cycle)>0&&(clearInterval(this._cycleTimer),this._cycleTimer=window.setInterval(()=>this._cycleTick(),1e3*Number(this._config.cycle))),window.addEventListener("hashchange",this._onHashChange),this._labsUnsub?.(),this._labsUnsub=function(t,e){yp.add(e);const i=kp(t);return"undefined"==typeof window&&e(i),()=>{yp.delete(e)}}(Yp,this._onLabsSnapshot),this._booting?this._bootWatch():this._bootFading&&(clearTimeout(this._bootTimer),this._bootTimer=window.setTimeout(()=>{this._bootFading=!1},220)),this._bootSoft&&(clearTimeout(this._bootSoftTimer),this._bootSoftTimer=window.setTimeout(()=>{this._bootSoft=!1},t_)),!this._loadOk&&this._serverCfg&&this.hass&&this._scheduleLoadRetry(),!this._warmSlot&&this._config&&this._warmAdopt(),this._loadOk&&this._ensureLiveSyncSubscriptions(),this._warmVp&&!this._warmRevivePending&&void 0===this._warmReviveTimer&&(this._warmRevivePending=!0,this._warmReviveTimer=window.setTimeout(()=>this._warmReviveDialog(),0)),this._warmLongReturn&&this._beginResumeSettle(),this._warmLongReturn=!1,this.requestUpdate()}disconnectedCallback(){this._connectedPath&&location.pathname!==this._connectedPath&&this._leaveCardRoute(),window.removeEventListener("location-changed",this._onLocationChanged),window.removeEventListener("popstate",this._onLocationChanged),this._continuityUnsub?.(),this._continuityUnsub=void 0,this._motionMedia?.removeEventListener?.("change",this._onMotionChange),this._motionMedia=void 0,this._vacRaf&&(cancelAnimationFrame(this._vacRaf),this._vacRaf=0),this._refitRaf&&(cancelAnimationFrame(this._refitRaf),this._refitRaf=0),this._dayCycleTimer&&(clearInterval(this._dayCycleTimer),this._dayCycleTimer=0),this._dayCycleClockKey="",this._bootSettleRaf&&(cancelAnimationFrame(this._bootSettleRaf),this._bootSettleRaf=0),this._bootSettling=!1;for(const t of this._activityRt.values())clearTimeout(t.timer);window.removeEventListener("keydown",this._keyHandler),clearInterval(this._cycleTimer),clearTimeout(this._kioskDotsTimer),clearTimeout(this._kioskHoldTimer),clearTimeout(this._reloadRetry),clearTimeout(this._loadRetryTimer),this._loadRetryTimer=void 0,this._connHooked?.removeEventListener?.("ready",this._onConnReady),this._connHooked?.removeEventListener?.("disconnected",this._onConnLost),this._connHooked?.removeEventListener?.("reconnect-error",this._onConnLost),this._connHooked=null,this._haRegistryRelease?.(),this._haRegistryRelease=void 0,this._haRegistryConnection=null,this._signer.dispose(),clearTimeout(this._toastTimer),clearTimeout(this._slideTimer),this._modeTransition.dispose(),this._modeTransitionVisual=null,this._modeTransitionPreparing=!1,this._modeTransitionForceAtomic=!1,this._modeTransitionRequest++,this._slideTimer=void 0,this._slide="",clearTimeout(this._bootTimer),this._bootTimer=void 0,clearTimeout(this._bootSoftTimer),this._saveConfigDebounced.flush(),window.removeEventListener("hashchange",this._onHashChange),this._labsUnsub?.(),this._labsUnsub=void 0,clearTimeout(this._holdTimer),this._roViewport?.disconnect(),this._roViewport=void 0,this._roHdr?.disconnect(),this._roHdr=void 0,this._onWinResize&&(window.removeEventListener("resize",this._onWinResize),this._onWinResize=void 0),this._unsubCfg&&(this._unsubCfg(),this._unsubCfg=null),this._unsubLayout&&(this._unsubLayout(),this._unsubLayout=null),this._unsubVirtual&&(this._unsubVirtual(),this._unsubVirtual=null),this._unsubTrail&&(this._unsubTrail(),this._unsubTrail=void 0),this._liveSyncGeneration++,this._liveSyncAttempt=null,this._liveSyncConnection=null,clearTimeout(this._layoutSyncTimer),clearTimeout(this._duplicateColumnTimer);for(const t of this._glowFadeTimers.values())clearTimeout(t);for(const t of this._glowEnterRafs.values())cancelAnimationFrame(t);clearTimeout(this._glowFeatherResumeTimer),this._glowFeatherResumeTimer=0,this._glowFeatherSuspendUntil=0,this._glowFadeTimers.clear(),this._glowEnterRafs.clear(),this._glowEnteringSources.clear(),this._glowRenderedSources.clear(),this._glowLastAppearance.clear(),this._glowSourceSeq=0,this._warmSnapshot(),this._warmRevivePending=!1,clearTimeout(this._warmReviveTimer),this._warmReviveTimer=void 0,this._warmRelease(),this._openWallAnchor=null,this._boundaryRestoreGuard=null,this._clearPlanSnapHover(),this._clearOpeningPlacement(!0),this._touchContacts.clear(),this._touchSequenceMultitouch=!1,this._touchClickBlockUntil=0,this._editorSecondary.reset(),this._resumeSettling=!1,this._continuityHistory=[...this._continuityHistory,...this._continuity.trace].slice(-80),this._continuity.dispose(),this._continuityDisposed=!0,super.disconnectedCallback()}_onKey(t){if("Escape"===t.key&&this._vacFit)return this._vacFit=null,this._showToast(this._t("vac.cal_cancelled")),void t.stopPropagation();if("Escape"===t.key){if(this._tapConfirm)return void(this._tapConfirm=null);if(this._vacCalConfirm)return void(this._vacCalConfirm=null);if(this._decorEraseConfirm)return void(this._decorEraseConfirm=null);if(this._openingInfo)return void(this._openingInfo=null);if(this._infoCard)return void this._closeInfoCard();if(this._rulesDialog)return void(this._rulesDialog=null);if(this._alignDialog)return void(this._alignDialog=null);if(this._backupImportDialog)return void(this._backupImportDialog=null);if(this._backupExportDialog)return void(this._backupExportDialog=null);if(this._settingsDialog)return void(this._settingsDialog=null);if(this._markerDialog)return void(this._markerDialog=null);if(this._openingDialog)return void(this._openingDialog=null);if(this._physicalDialog)return void(this._physicalDialog=null);if(this._backdropDialog)return void(this._backdropDialog=null);if(this._decorShapeDialog)return void(this._decorShapeDialog=null);if(this._decorTextDialog)return void(this._decorTextDialog=null);if(this._spaceDialog&&!this._roomDialog)return this._spaceDialog=null,this._importQueue=[],void(this._importTotal=0);if(this._editorSecondary.hasOpenGroup)return t.preventDefault(),void this._editorSecondary.closeGroup(!0)}const e=t.composedPath?.()||[t.target],i=e.some(t=>t?.matches?.('input, textarea, select, [contenteditable="true"]')),s=e.some(t=>t?.classList?.contains?.("editor-secondary")),n=t.ctrlKey||t.metaKey,o=t.key.toLowerCase(),a=/^[a-z]$/.test(o),r="z"===o||!a&&"KeyZ"===t.code,l="y"===o||!a&&"KeyY"===t.code,c=n&&(r&&t.shiftKey||l),h=n&&r&&!t.shiftKey;if("decor"===this._mode){if((h||c)&&i)return;return c?(t.preventDefault(),void this._redoGeometry()):h?(t.preventDefault(),this._decorDraft?void(this._decorDraft=null):this._decorMove||this._dtDrag||this._bdDrag?void this._cancelDecorGesture():void this._undoGeometry()):"Delete"!==t.key&&"Backspace"!==t.key||!this._decorSel||i||s?void("Escape"===t.key&&(t.preventDefault(),this._decorDraft?this._decorDraft=null:this._decorMove||this._dtDrag||this._bdDrag?this._cancelDecorGesture():"furniture"===this._decorTool?(this._furnPalette=null,this._decorTool="select"):this._decorSel?this._decorSel=null:"select"!==this._decorTool?this._decorTool="select":this._setMode("view"))):(t.preventDefault(),void this._decorDeleteSel())}if(this._markup&&(!h&&!c||!i)){if(("Delete"===t.key||"Backspace"===t.key)&&this._physicalSel&&!i&&!s)return t.preventDefault(),void this._deletePhysicalSelection();if(c)return t.preventDefault(),void this._redoGeometry();if(h)return t.preventDefault(),this._rszDrag?void this._rszCancelDrag():this._wallFaceBatch?(this._roomDialogCancel(),void(this._activeDraftId&&this._path.length>1?this._undoActiveDraftPoint():this._undoPoint())):"draw"!==this._tool&&"partition"!==this._tool||!this._path.length?"split"===this._tool&&this._splitSel?.pts?.length?(this._splitSel={...this._splitSel,pts:this._splitSel.pts.slice(0,-1)},void(this._splitSel.pts.length||(this._cursorPt=null))):void this._undoGeometry():void(this._activeDraftId&&this._path.length>1?this._undoActiveDraftPoint():this._undoPoint());if("Escape"===t.key)return this._physicalDrag||this._physicalRotate?(t.preventDefault(),void this._cancelPhysicalGesture()):this._roomDialog?(t.preventDefault(),void this._roomDialogCancel()):"draw"===this._tool&&this._path.length||"partition"===this._tool&&this._path.length?(t.preventDefault(),void this._undoPoint()):this._physicalSel?(t.preventDefault(),void(this._physicalSel=null)):"resize"===this._tool?(t.preventDefault(),this._rszDrag?void this._rszCancelDrag():void(this._rszSel?this._rszSel=null:this._tool="draw")):"split"===this._tool?(t.preventDefault(),void(this._splitSel?.pts?.length?(this._splitSel={...this._splitSel,pts:this._splitSel.pts.slice(0,-1)},this._splitSel.pts.length||(this._cursorPt=null)):this._splitSel?this._splitSel=null:this._tool="draw")):"merge"===this._tool?(t.preventDefault(),void(this._mergeSel?this._mergeSel=null:this._tool="draw")):this._wallDialog?(t.preventDefault(),void(this._wallDialog=null)):"boundary"===this._tool?(t.preventDefault(),void(this._openWallAnchor?this._cancelBoundaryAnchor():this._tool="draw")):void("opening"!==this._tool&&"wallthick"!==this._tool&&"delroom"!==this._tool&&"partition"!==this._tool&&"column"!==this._tool||(t.preventDefault(),"opening"===this._tool&&this._clearOpeningPlacement(!0),this._tool="draw"))}}_undoPoint(){if(this._path.length){if(this._contourClosed)return this._path=this._path.slice(0,-1),void(this._closingWallCm=null);if(this._activeDraftId&&this._path.length>1&&this._curSpaceCfg){const t=this._geometrySnapshot();this._path=this._path.slice(0,-1),this._draftSegmentCms=this._draftSegmentCms.slice(0,-1);const e=this._curSpaceCfg,i=(e.room_drafts||[]).findIndex(t=>t.id===this._activeDraftId);return void(i>=0&&(this._path.length<2?(e.room_drafts.splice(i,1),e.room_drafts.length||delete e.room_drafts,this._activeDraftId=null):e.room_drafts[i]={id:this._activeDraftId,points:this._path.map(t=>[t[0]/__,t[1]/__]),segments:this._draftSegmentCms.map(t=>({cm:t}))},this._recordGeometry(this._t("history.draft_segment_delete"),t),this._saveConfig()))}this._path=this._path.slice(0,-1)}}_undoActiveDraftPoint(){const t=this._activeDraftId,e=this._path[0]?[...this._path[0]]:null,i=this._geometryHistory.undo();if(!i)return void this._undoPoint();if(!this._applyGeometryState(i.before))return void this._geometryHistory.clear();const s=t?this._spaceModel()?.room_drafts.find(e=>e.id===t):null;s?(this._activeDraftId=s.id,this._path=s.points.map(t=>[...t]),this._draftSegmentCms=s.segments.map(t=>t.cm),this._resumeDraftBySpace[this._space]=s.id):(this._activeDraftId=null,this._path=e?[e]:[],this._draftSegmentCms=[],t&&this._resumeDraftBySpace[this._space]===t&&delete this._resumeDraftBySpace[this._space]),this._clearPlanSnapHover(),this._showToast(this._t("history.undone",{name:i.name}))}static getConfigElement(){return document.createElement("houseplan-card-editor")}static getStubConfig(){return{type:"custom:houseplan-card"}}static _warmBootReset(t){for(const t of n_.values())for(const e of t)clearTimeout(e.evict);n_.clear(),r_=t&&t>0?t:1e4}static _warmBootStats(){let t=0,e=0;const i=[];for(const s of n_.values())for(const n of s)t++,n.dlg&&(e++,i.push(n.dlg.kind));return{keys:n_.size,slots:t,dlgs:e,drafts:i}}setConfig(t){this._config={icon_size:2.5,show_temperature:!0,live_states:!0,show_signal:!0,...t},this._config.kiosk&&(this._booting=!1,this._bootFading=!1),t.default_floor&&(this._space=t.default_floor);try{this._zoomBySpace=JSON.parse(localStorage.getItem(h_)||"{}")||{}}catch{this._zoomBySpace={}}try{const t=JSON.parse(localStorage.getItem(p_)||"{}")||{};this._viewPreference=Object.fromEntries(Object.entries(t).filter(t=>"flat"===t[1]||"iso"===t[1]))}catch{this._viewPreference={}}this._labs=kp(Yp);try{const t=JSON.parse(localStorage.getItem(u_)||"null");this._kioskScale={icon:zs(t?.icon),font:zs(t?.font)}}catch{}try{const t=JSON.parse(localStorage.getItem(c_)||"null");t&&t.config&&Array.isArray(t.config.spaces)&&(this._serverCfg=t.config,this._cfgEpoch++,this._cfgRev=t.rev||0,this._cfgContentFingerprint=t.config_fingerprint||eh(t.config),this._layout=t.layout||{},this._layoutRev=t.layout_rev||0,this._layoutContentFingerprint=t.layout_fingerprint||eh(this._layout),this._virtualLights=gn(t.virtual_lights,this._cfgRev),this._serverStorage=!0,this._adoptInitialSpace(this._model))}catch{}"view"!==this._mode||this._view||(this._zoom=this._zoomBySpace[this._space]||1),this.isConnected&&(this._warmAdopt(),this._warmLongReturn&&this._beginResumeSettle(),this._warmLongReturn=!1)}_warmAdopt(){if(this._config?.kiosk)return;const t=a_(this._config);if(this._warmKey===t&&this._warmSlot)return;this._warmSlot&&this._warmRelease();const e=this.parentNode,i=this._warmIdx(e),s=n_.get(t);if(!s||!s.length)return;const n=s.find(t=>t.owner===this._warmGen);if(n)return this._warmLongReturn=!!n.freed&&Date.now()-n.freed>=Yc,clearTimeout(n.evict),n.evict=0,n.freed=0,n.live=!0,this._warmSlot=n,this._warmKey=t,n.frameFingerprint&&this._continuity.adoptCompleteFrame(n.frameFingerprint),void(!this._devices.length&&n.devices?.length&&(this._devices=[...n.devices]));const{slot:o,sure:a}=((t,e,i,s)=>{const n=t=>{const e=!!i&&t.place?.deref()===i;return e&&t.idx===s?4:t.live?0:e?3:2};let o=null,a=0,r=0,l=null;for(const i of t){if(i.owner===e)continue;l=i;const t=n(i);t<=0||(t>a?(o=i,a=t,r=1):t===a&&r++)}return!o||r>1?{slot:o||l,sure:!1}:{slot:o,sure:!0}})(s,this._warmGen,e,i);o&&(this._warmLongReturn=!!o.freed&&Date.now()-o.freed>=Yc,this._booting=!1,this._bootFading=!1,this._hdrH=o.hdrH,this._bootSoft=!0,this.isConnected&&(clearTimeout(this._bootSoftTimer),this._bootSoftTimer=window.setTimeout(()=>{this._bootSoft=!1},t_)),this._warmKey=t,a?(clearTimeout(o.evict),o.evict=0,o.owner=this._warmGen,o.place=e?new WeakRef(e):null,o.idx=i,o.live=!0,this._warmSlot=o,this._warmVp=o.vp,o.frameFingerprint&&this._continuity.adoptCompleteFrame(o.frameFingerprint),!this._devices.length&&o.devices?.length&&(this._devices=[...o.devices]),this._warmAdoptViewport(this._config)):(this._warmSlot={owner:this._warmGen,path:location.pathname,place:e?new WeakRef(e):null,idx:i,live:!0,hdrH:o.hdrH,stageH:o.stageH,vp:null,frameFingerprint:"",devices:null,dlg:null,freed:0,evict:0},s.push(this._warmSlot),this._warmTrim(s)))}_warmIdx(t){const e=t?.children;if(!e)return-1;for(let t=0;t4;){const e=t.findIndex(t=>!t.live);if(e<0)break;clearTimeout(t[e].evict),t.splice(e,1)}}_warmScheduleEvict(t,e){if(clearTimeout(t.evict),!(t.dlg||t.vp&&"view"!==t.vp.mode))return;const i=t.freed,s=t.owner;t.evict=window.setTimeout(()=>{if(t.evict=0,t.freed!==i||t.owner!==s)return;var n;t.dlg=null,t.vp=(n=t.vp)&&"view"!==n.mode?{...n,mode:"view",zoom:n.snap?.space===n.space?n.snap.zoom:n.zoom,view:null,snap:null,tool:"draw",decorTool:"select",showHidden:!1,selId:null,rszSel:null,decorSel:null}:n,t.frameFingerprint="";const o=n_.get(e);if(!t.live&&o&&o.length>1){const e=o.indexOf(t);e>=0&&o.splice(e,1)}},r_+250)}_warmAdoptViewport(t){const e=this._warmVp;if(!e||this._warmSlot?.path!==location.pathname)return void(this._warmVp=null);if(this._hashApplied||!this._model.find(t=>t.id===e.space))return void(this._warmVp=null);this._space=e.space,this._navApplied=!0,this._adoptMode("view"!==e.mode&&this._canEdit&&!t.kiosk?e.mode:"view"),this._pendingNavMode="view"===e.mode||this._canEdit||t.kiosk?null:e.mode,this._zoom=e.zoom;const i=this._effectiveProjection(),s=i===e.projection&&this._labsIso===e.activeLabsIso;if(this._view=s&&e.view?{...e.view}:null,this._viewModeSnap=s&&e.snap?{...e.snap}:null,!s&&e.logicalCenter){const t="iso"===i?Mp([e.logicalCenter.x,e.logicalCenter.y],0):[e.logicalCenter.x,e.logicalCenter.y];this._applyView(e.zoom,t[0],t[1])}var n;this._tool="openwall"===(n=e.tool)||"closewall"===n?"boundary":"opening"===(n=function(t){return"partition"===t?"draw":t}(n))?"draw":"string"==typeof n&&f_.has(n)?n:"draw",this._decorTool=e.decorTool,this._showHidden=e.showHidden,this._showFar!==e.showFar&&(this._showFar=e.showFar,this._frame=null),this._selId=e.selId,this._rszSel=e.rszSel,this._decorSel=e.decorSel,this._warmVpArmed=!0}_warmPatch(t,e=!1){if(this._config?.kiosk)return;const i=a_(this._config);if(!this._warmSlot||this._warmKey===i){if(!this._warmSlot){if(!e)return;const t=this.parentNode;this._warmKey=i,this._warmSlot={owner:this._warmGen,path:location.pathname,place:t?new WeakRef(t):null,idx:this._warmIdx(t),live:!0,hdrH:this._hdrH,stageH:0,vp:null,frameFingerprint:"",devices:null,dlg:null,freed:0,evict:0};const s=n_.get(i)||[];for(s.push(this._warmSlot),n_.set(i,s),this._warmTrim(s);n_.size>8;){const t=n_.keys().next().value;if(void 0===t||t===i)break;for(const e of n_.get(t)||[])clearTimeout(e.evict);n_.delete(t)}}Object.assign(this._warmSlot,t)}}_warmViewportState(){const t=this._effectiveProjection();return{space:this._space,mode:this._mode,projection:t,activeLabsIso:this._labsIso,logicalCenter:this._logicalViewCenter(t),zoom:this._zoom,view:this._view?{...this._view}:null,snap:this._viewModeSnap?{...this._viewModeSnap}:null,tool:this._tool,decorTool:this._decorTool,showHidden:this._showHidden,showFar:this._showFar,selId:this._selId,rszSel:this._rszSel,decorSel:this._decorSel}}_warmDialogState(){const t=(t,e)=>({kind:t,space:this._space,mode:this._mode,data:e});return this._tapConfirm||this._alignDialog||this._mergeDialog||this._importDialog||this._backupExportDialog||this._backupImportDialog?null:this._openingInfo?t("openingInfo",this._openingInfo.id):this._infoCard?t("info",this._infoCard.id):this._rulesDialog?this._rulesDialog.busy?null:t("rules",this._rulesDialog):this._settingsDialog?this._settingsDialog.busy?null:t("settings",this._settingsDialog):this._markerDialog?this._markerDialog.busy?null:t("marker",this._markerDialog):this._openingDialog?t("opening",this._openingDialog):this._backdropDialog?t("backdrop",this._backdropDialog):this._decorShapeDialog?t("decorShape",this._decorShapeDialog):this._decorTextDialog?t("decorText",this._decorTextDialog):this._roomDialog?t("room",{editId:this._roomEditId,fill:this._roomFill,customFill:this._roomCustomFill,tempSrc:this._roomTempSrc,humSrc:this._roomHumSrc,srcOpen:this._roomSrcOpen,srcFilter:this._roomSrcFilter,nameScale:this._roomNameScale,labelScale:this._roomLabelScale,areaSel:this._areaSel,nameSel:this._nameSel,pendingSplit:this._pendingSplit,wallFaceBatch:this._wallFaceBatch,path:this._path}):this._spaceDialog?this._spaceDialog.busy?null:t("space",this._spaceDialog):null}_warmSnapshot(){if(this._booting||this._config?.kiosk||"steady"!==this._continuity.state)return;const t={vp:this._warmViewportState(),frameFingerprint:this._continuity.frameFingerprint,devices:this._devices};if(this._warmRevivePending||(t.dlg=this._warmDialogState()),this.isConnected&&this._warmSlot?.owner===this._warmGen){const e=this.parentNode;t.place=e?new WeakRef(e):null,t.idx=this._warmIdx(e)}this._warmPatch(t)}_warmReviveDialog(){this._warmRevivePending=!1;const t=this._warmSlot;if(this._warmReviveTimer=void 0,!t||!t.dlg)return;const e=t.dlg,i=t.freed;if(t.dlg=null,t.freed=0,clearTimeout(t.evict),t.evict=0,i&&!(Date.now()-i>r_)&&e.space===this._space&&e.mode===this._mode){switch(e.kind){case"space":this._spaceDialog={...e.data,busy:!1,savedBusy:!1};break;case"marker":this._markerDialog={...e.data,busy:!1};break;case"settings":this._settingsDialog={...e.data,busy:!1};break;case"rules":this._rulesDialog={...e.data,busy:!1};break;case"opening":this._openingDialog={...e.data};break;case"backdrop":this._backdropDialog={...e.data};break;case"decorShape":this._decorShapeDialog={...e.data};break;case"decorText":{this._decorTextDialog={...e.data};const t=String(this._decorTextDialog?.text??"").length;this._decorTextSelection={start:t,end:t};break}case"room":{const t=e.data;this._roomEditId=t.editId,this._roomFill=t.fill,this._roomCustomFill=t.customFill||null,this._roomTempSrc=t.tempSrc,this._roomHumSrc=t.humSrc,this._roomSrcOpen=t.srcOpen,this._roomSrcFilter=t.srcFilter,this._roomNameScale=t.nameScale,this._roomLabelScale=t.labelScale,this._areaSel=t.areaSel,this._nameSel=t.nameSel,this._pendingSplit=t.pendingSplit,this._wallFaceBatch=t.wallFaceBatch||null,this._path=t.path,this._wallFaceBatch&&(this._activeDraftId=this._wallFaceBatch.activeDraftId,this._draftSegmentCms=[...this._wallFaceBatch.activeCms]),this._roomDialog=!0;break}case"info":{const t=this._devices.find(t=>t.id===e.data);t&&(this._infoCard=t);break}case"openingInfo":{const t=(this._curSpaceCfg?.openings||[]).find(t=>t.id===e.data);t&&(this._openingInfo=t);break}}this.requestUpdate()}}_cacheSnapshot(){if(this._serverCfg)try{this._cfgContentFingerprint=eh(this._serverCfg),this._layoutContentFingerprint=eh(this._layout),this._virtualLights=function(t,e,i){if(t.configRev===i)return t;const s=new Set((Array.isArray(e?.markers)?e.markers:[]).filter(yn).map(t=>t.id));return{...t,configRev:i,off:new Set([...t.off].filter(t=>s.has(t)))}}(this._virtualLights,this._serverCfg,this._cfgRev),localStorage.setItem(c_,JSON.stringify({config:this._serverCfg,rev:this._cfgRev,config_fingerprint:this._cfgContentFingerprint,layout:this._layout,layout_rev:this._layoutRev,layout_fingerprint:this._layoutContentFingerprint,virtual_lights:fn(this._virtualLights)}))}catch{}}_beginContinuityCandidate(t,e,i="plan"){return this._booting&&!this._continuity.hasCompleteFrame?this._continuity.token:(this._continuityDataReady=e,this._continuityPaintToken=-1,this._stagedDeviceSnapshotToken=-1,this._resumeSettling=!0,this._continuity.beginCandidate(t,i))}_continuityStageValid(){const t=this._stageEl;return!!t&&t.clientWidth>0&&t.clientHeight>0}_continuityAssetsReady(){if(!this._model.length)return!1;const t=this._model.length?this._spaceModel():null;return!t?.bg?.href||this._signer.isReady(this.hass,t.bg.href)}_initialSpaceSelection(t){return function(t){const e=new Set(t.spaceIds.filter(t=>!!t));if(!e.size)return{id:null,source:"none"};const i=[["hash",!1===t.acceptHash?null:t.hashSpace],["current",t.preserveCurrent?t.currentSpace:null],["saved",t.savedSpace],["default",t.defaultSpace],["first",t.spaceIds[0]]];for(const[t,s]of i)if(s&&e.has(s))return{id:s,source:t};return{id:null,source:"none"}}({spaceIds:t.map(t=>t.id),hashSpace:this._hashSpace(),acceptHash:!this._hashApplied,currentSpace:this._space,preserveCurrent:this._hashApplied||this._navApplied||this._warmVpArmed,savedSpace:this._savedNav()?.space,defaultSpace:this._config?.default_floor})}_adoptInitialSpace(t){const e=this._initialSpaceSelection(t);return e.id?(this._space=e.id,"hash"===e.source&&(this._hashApplied=!0),"saved"===e.source&&(this._navApplied=!0),e):e}_candidateBackdrop(t,e=this._space){const i=Gl(t),s=this._initialSpaceSelection(i).id||(i.some(t=>t.id===e)?e:i[0]?.id);return i.find(t=>t.id===s)?.bg?.href||""}_visualFrameFingerprint(){const t=this._stageEl,e=t?[t.clientWidth,t.clientHeight]:[0,0];return ih([this._cfgRev,this._cfgContentFingerprint||eh(this._serverCfg),this._layoutRev,this._layoutContentFingerprint||eh(this._layout),this._space,this._mode,this._view,e,this._glowScreenBlend?"screen":"normal",this.hass?.themes?.darkMode??this.hass?.themes?.default_theme??""])}_settleContinuityFrame(){if(this._booting||!this._continuityStageValid())return;if(!this._continuity.hasCompleteFrame&&"steady"===this._continuity.state)return void(this._continuityAssetsReady()&&(this._renderSnapshotAt=Date.now(),this._continuity.markCompleteFrame(this._visualFrameFingerprint())));if(!this._continuityDataReady)return;if(!["holding","offline-stale","overlay-pending","overlay-visible","candidate-ready"].includes(this._continuity.state))return;const t=this._continuity.token;if(this._candidateDeviceSnapshot&&this._candidateDeviceSnapshot!==this._visibleDeviceSnapshot&&this._stagedDeviceSnapshotToken!==t)return this._stagedDeviceSnapshotToken=t,void this.requestUpdate();this._continuityPaintToken!==t&&(this._continuityPaintToken=t,this._continuity.candidateReady(t)&&this._continuity.commitAfterPaint(t,{updateComplete:()=>this.updateComplete,stageValid:()=>this.isConnected&&this._continuityStageValid(),assetsReady:()=>this._continuityAssetsReady(),frameFingerprint:()=>this._visualFrameFingerprint()}).then(e=>{e&&t===this._continuity.token?(this._resumeSettling=!1,this._renderSnapshotAt=Date.now(),this._candidateDeviceSnapshot&&(this._visibleDeviceSnapshot=this._candidateDeviceSnapshot),this._candidateDeviceSnapshot=null,this._stagedDeviceSnapshotToken=-1,this._warmSnapshot()):t===this._continuity.token&&(this._continuityPaintToken=-1,this._stagedDeviceSnapshotToken=-1,this._candidateDeviceSnapshot=null,this.requestUpdate())}))}_onBackdropLoaded(t,e){this._signer.markLoaded(this.hass,t,e),this._continuity.note("asset-ready"),this._continuityPaintToken=-1,"steady"!==this._continuity.state&&this.requestUpdate()}_renderRecoveryOverlay(){if(!this._continuity.overlayVisible&&"recovery-error"!==this._continuity.state)return G;const t="connection"===this._continuity.recoveryReason;return W`
`}afterRender(){const t=this.host.root();this._blocked&&(this._openGroupId?this.closeGroup(!1):"palette"===this._currentModel?.kind&&this._currentModel.dismiss?.()),this._syncGlobalDismissListener();const e=t.querySelector(".editor-secondary"),i=this._renderedContext,s=e?.dataset.contextId||"";if(s&&i&&s!==i&&!window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches&&(this._contentAnimation?.cancel(),this._contentAnimation=e?.querySelector(".editor-secondary-content")?.animate([{opacity:.35,transform:"translateY(-4px)"},{opacity:1,transform:"translateY(0)"}],{duration:100,easing:"ease-out"})),this._renderedContext=s,i&&s!==i&&this._focusOwned){const i=s?e?.querySelector('[tabindex="0"], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled])'):t.querySelector(".editbar-tools");i?.focus?.(),this._focusOwned=!!s}if("palette"===this._currentModel?.kind&&this._currentModel.launcherId){const e=[...t.querySelectorAll("[data-editor-palette]")].find(t=>t.dataset.editorPalette===this._currentModel?.launcherId);e&&null!==e.offsetParent||this._currentModel.dismiss?.()}if(!this._openGroupId)return;const n=[...t.querySelectorAll("[data-editor-group]")].find(t=>t.dataset.editorGroup===this._openGroupId);n&&null!==n.offsetParent||this.closeGroup(!0)}handleOutsideDismiss(t){if(Pu(t,t=>t.hasAttribute("data-editor-navigation")))return"pointerdown"===t.type?this.closeForNavigation():"click"===t.type&&this._dismissPointerTarget&&this._clearDismissClick(),!1;if("click"===t.type&&this._dismissPointerTarget){return!!(t.composedPath?.()||[t.target]).includes(this._dismissPointerTarget)&&(this._clearDismissClick(),t.preventDefault(),t.stopImmediatePropagation(),!0)}const e=this._openGroupId||this._blocked||"palette"!==this._currentModel?.kind?null:this._currentModel;if("pointerdown"===t.type&&(this._openGroupId||e)){const i=Pu(t,t=>t.classList.contains("editor-secondary")),s=Pu(t,t=>!!t.dataset.editorGroup),n=Pu(t,t=>!!t.dataset.editorPalette),o=Pu(t,t=>t.classList.contains("stage"));if(!(i||s||n||"stay-open-on-canvas"===e?.dismissPolicy&&o))return t.preventDefault(),t.stopImmediatePropagation(),this._dismissPointerTarget=t.target,clearTimeout(this._dismissTimer),this._dismissTimer=window.setTimeout(()=>{this._clearDismissClick()},800),this._openGroupId?this.closeGroup(!1):e?.dismiss?.(),this._syncGlobalDismissListener(),!0}return!1}_activateGroupItem(t,e,i){if(t.id!==this._openGroupId)return;const s=t.items.find(t=>t.id===e);if(!s||s.disabled)return;const n="toggle"===s.role&&"stay-open"===s.closePolicy,o=0===i.detail;n||(this._openGroupId=null,this.host.requestUpdate(),this._syncGlobalDismissListener()),s.invoke(),!n&&o&&this.host.updateComplete().then(()=>{const e=[...this.host.root().querySelectorAll("[data-editor-group]")].find(e=>e.dataset.editorGroup===t.id&&null!==e.offsetParent);e?.focus()})}_groupKeydown(t){if(!["ArrowLeft","ArrowRight","Home","End"].includes(t.key))return;const e=[...t.currentTarget.querySelectorAll(".editor-group-item:not([disabled])")];if(!e.length)return;t.preventDefault();const i=e.indexOf(this.host.root().activeElement),s="Home"===t.key?0:"End"===t.key?e.length-1:"ArrowLeft"===t.key?i<=0?e.length-1:i-1:(i+1)%e.length;e[s]?.focus()}_clearDismissClick(){this._dismissPointerTarget=null,clearTimeout(this._dismissTimer),this._dismissTimer=void 0,this._syncGlobalDismissListener()}_syncGlobalDismissListener(){const t=!this._blocked&&"palette"===this._currentModel?.kind,e=!!this._openGroupId||t||!!this._dismissPointerTarget;e!==this._globalDismissListening&&(this._globalDismissListening=e,e?(window.addEventListener("pointerdown",this._globalDismissGuard,!0),window.addEventListener("click",this._globalDismissGuard,!0)):(window.removeEventListener("pointerdown",this._globalDismissGuard,!0),window.removeEventListener("click",this._globalDismissGuard,!0)))}}const Au=t=>t.stopPropagation(),Iu=4.166666666666667e-9;function Eu(t){if(!Number.isFinite(t))return t;const e=Math.round(t/Jl)*Jl;return Math.abs(e-t)<=Iu?t:e}const Fu=(t,e,i,s)=>Math.hypot(i-t,s-e),zu=(t,e,i,s,n,o,a,r)=>Math.hypot(Math.max(Math.abs(n-t),Math.abs(n+a-(t+i))),Math.max(Math.abs(o-e),Math.abs(o+r-(e+s)))),Ou=(t,e,i,s,n,o,a)=>{const r=Math.max(Number(s)||0,0)/2,l=Math.PI/180,c=Math.cos(i*l)*r,h=Math.sin(i*l)*r,d=Math.cos(a*l)*r,u=Math.sin(a*l)*r,p=Math.max(Fu(t+c,e+h,n+d,o+u),Fu(t-c,e-h,n-d,o-u)),_=Math.max(Fu(t+c,e+h,n-d,o-u),Fu(t-c,e-h,n+d,o+u));return Math.min(p,_)},Hu=t=>{const e=Number(t?.cell_cm);return e>0?e:5};const Nu=t=>JSON.parse(JSON.stringify(t)),Lu=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),Bu=(t,e,i)=>Math.min(i,Math.max(e,t)),qu=t=>Gl({spaces:[t]})[0],Wu=t=>{const e=[];for(const i of t||[]){const t=hi(i);if(t?.length)for(let i=0;i{let e=0,i=0,s=0;for(const i of t.markers||[]){if("ripple"===i.display&&(i.display="icon_ripple",e++),Array.isArray(i.controls)){const t="string"==typeof i.binding&&i.binding.startsWith("entity:")?i.binding.slice(7):"",s=t?i.controls.filter(e=>e!==t):i.controls;JSON.stringify(s)!==JSON.stringify(i.controls)&&(i.controls=s.length?s:null,e++)}const t=i.vacuum;t&&Lu(t,"trail")&&(["never","cleaning","always"].includes(t.trail_mode)||(t.trail_mode=!1===t.trail?"never":"cleaning"),delete t.trail,e++)}for(const n of t.spaces||[]){const t=n.settings;"glow"===t?.fill_mode&&("boolean"!=typeof t.glow_enabled&&(t.glow_enabled=!0),t.fill_mode="none",e++,i++);for(const t of n.rooms||[]){const i=t.settings;"glow"===i?.fill_mode&&("boolean"!=typeof i.glow&&(i.glow=!0),delete i.fill_mode,e++,s++)}if(Lu(n,"segments")&&(delete n.segments,e++),Lu(n,"plan_scale")){const t=Number(n.plan_scale);Number.isFinite(t)&&t>=ql&&t<=Wl&&(Lu(n,"plan_scale_x")||(n.plan_scale_x=t),Lu(n,"plan_scale_y")||(n.plan_scale_y=t),delete n.plan_scale,e++)}const o=Number(n.cell_cm);Lu(n,"cell_cm")&&(!Number.isFinite(o)||o<.1||o>1e3)&&(n.cell_cm=Number.isFinite(o)&&o>0?Bu(o,.1,1e3):5,e++);const a=Number(n.cell_cm),r=Number.isFinite(a)&&a>0?a:5;for(const t of n.wall_columns||[])if("circle"===t.shape)Lu(t,"angle")&&(delete t.angle,e++);else if("square"===t.shape&&Lu(t,"angle")){const i=((Number(t.angle)||0)%90+90)%90;t.angle!==i&&(t.angle=i,e++)}for(const t of n.decor||[]){if(Lu(t,"width")){const i=Number(t.width);(Lu(t,"width_cm")||Number.isFinite(i))&&(Lu(t,"width_cm")||(t.width_cm=Number(Bu(i/Xl*r,.1,100).toFixed(6))),delete t.width,e++)}if("rect"!==t?.kind&&"ellipse"!==t?.kind||!0!==t.fill||(Lu(t,"fill_color")||(t.fill_color=t.color||"#607d8b",e++),Lu(t,"fill_opacity")||(t.fill_opacity=.25,e++)),"text"!==t?.kind)continue;void 0===t.size_cm?(t.size_cm=Number(Bu(es*is(t)/Xl*r,.1,2e3).toFixed(6)),delete t.scale,delete t.size,e++):(Lu(t,"scale")||Lu(t,"size"))&&(delete t.scale,delete t.size,e++);let i=String(t.text??"");const s=[...i.matchAll(/\{([^{}\r\n]+)\}/g)].some(t=>!!Yi(t[1]));if(!(Lu(t,"entity")||Lu(t,"attr")||Lu(t,"unit")))continue;const n=String(t.unit??"").trim(),o="state"===String(t.attr??"").trim().toLowerCase()?null:t.attr,a=s||n?"":Xi(t.entity,o);if(s||a){if(a){const e=i.indexOf("{}");i=e>=0?i.slice(0,e)+a+i.slice(e+2):`${i}${i?" ":""}${a}`,t.text=i}delete t.entity,delete t.attr,delete t.unit,e++}}}return{total:e,glowSpaces:i,glowRooms:s}})(i);let r=a.total;for(const t of i.spaces||[]){const e=qu(t);if(!e)continue;if(!Ec(t.open_spans).length){const i=Nc(e.rooms,null,Ll,.02*Xl,!0);i.length&&(t.open_spans=Lc(i,Ll),r++)}}const l=Nu(i.spaces||[]),c=function(t,e){const i=JSON.parse(JSON.stringify(t||[])),s=JSON.parse(JSON.stringify(e||{}));let n=0,o=0,a=0,r=0,l="",c=0,h=0;const d={};let u=5;for(const t of i){const e=Hu(t);null!=t?.id&&(d[String(t.id)]=e),e>u&&(u=e)}const p=(t,e,i,s=!1)=>{if(!(t>Iu||s))return;n++,t>a&&(a=t);const o=t*Yl*e;o>r&&(r=o,l=i)};for(const t of i){const e=Hu(t),i=null!=t?.id?String(t.id):"";for(const s of t.rooms||[]){o++;let t=0;if(s.poly?.length)s.poly=s.poly.map(e=>{const i=[Eu(e[0]),Eu(e[1])];return t=Math.max(t,Fu(e[0],e[1],i[0],i[1])),i});else if(null!=s.x&&null!=s.y){const e=s.x,i=s.y,n=s.w||0,o=s.h||0,a=Eu(e+n),r=Eu(i+o),l=Eu(e),c=Eu(i),h=Math.max(Jl,a-l),d=Math.max(Jl,r-c);t=zu(e,i,n,o,l,c,h,d),s.x=l,s.y=c,s.w=h,s.h=d}p(t,e,i)}for(const s of t.room_drafts||[]){o++;let t=0;const n=(s.points||[]).map(e=>{const i=[Eu(e[0]),Eu(e[1])];return t=Math.max(t,Fu(e[0],e[1],i[0],i[1])),i}),a=n.length?[n[0]]:[],r=[];for(let t=0;t+1t.points?.length>=2),h+=e-t.room_drafts.length,t.room_drafts.length||delete t.room_drafts}for(const s of t.partitions||[]){o++;const n=[Eu(s.a[0]),Eu(s.a[1])],a=[Eu(s.b[0]),Eu(s.b[1])];let r=Math.max(Fu(s.a[0],s.a[1],n[0],n[1]),Fu(s.b[0],s.b[1],a[0],a[1]));const l=Fu(n[0],n[1],a[0],a[1]),c=(t.openings||[]).filter(t=>"partition"===t.host?.kind&&t.host.id===s.id).every(t=>{const e=Number(t.length),i=Number(t.host.t),s=i*l;return Number.isFinite(e)&&e>0&&Number.isFinite(i)&&i>=0&&i<=1&&s-e/2>=-Iu&&s+e/2<=l+Iu});l>Iu&&c?(s.a=n,s.b=a):r=0,p(r,e,i)}for(const s of t.wall_columns||[]){o++;const t=[Eu(s.center[0]),Eu(s.center[1])],n=Fu(s.center[0],s.center[1],t[0],t[1]);s.center=t,p(n,e,i)}for(const s of t.decor||[]){o++;let t=0;if("line"===s.kind){const e=[Eu(s.x1),Eu(s.y1)],i=[Eu(s.x2),Eu(s.y2)];t=Math.max(Fu(s.x1,s.y1,e[0],e[1]),Fu(s.x2,s.y2,i[0],i[1])),s.x1=e[0],s.y1=e[1],s.x2=i[0],s.y2=i[1]}else{const e=Eu(s.x),i=Eu(s.y);if(null!=s.w&&null!=s.h){const n=Eu(s.x+s.w),o=Eu(s.y+s.h),a=Math.max(Jl,n-e),r=Math.max(Jl,o-i);t=zu(s.x,s.y,s.w,s.h,e,i,a,r),s.w=a,s.h=r}else t=Fu(s.x,s.y,e,i);s.x=e,s.y=i}p(t,e,i)}for(const s of t.openings||[]){if(o++,"partition"===s.host?.kind){const n=(t.partitions||[]).find(t=>t.id===s.host.id),o=Number(s.host.t);if(!n||!Number.isFinite(o)||o<0||o>1)continue;const a=n.b[0]-n.a[0],r=n.b[1]-n.a[1];if(Math.hypot(a,r)<=Iu)continue;const l=n.a[0]+a*o,h=n.a[1]+r*o;let d=180*Math.atan2(r,a)/Math.PI;d>=90?d-=180:d<-90&&(d+=180);const u=Number(s.angle),_=!(Number.isFinite(u)&&u===d),g=Ou(s.x,s.y,Number.isFinite(u)?u:d,Number(s.length)||0,l,h,d);s.x=l,s.y=h,s.angle=d,_&&c++,p(g,e,i,_);continue}const n=pi([s.x,s.y],t.rooms||[],.025,{step:Jl,length:Number(s.length)||0});if(!n)continue;const a=Number(s.angle),r=!(Number.isFinite(a)&&a===n.angle),l=Ou(s.x,s.y,Number.isFinite(a)?a:n.angle,Number(s.length)||0,n.x,n.y,n.angle);s.x=n.x,s.y=n.y,s.angle=n.angle,r&&c++,p(l,e,i,r)}}for(const[t,e]of Object.entries(s)){if(!e||"object"!=typeof e)continue;const i=e;if("number"!=typeof i.x||"number"!=typeof i.y)continue;o++;const n=Eu(i.x),a=Eu(i.y),r=Fu(i.x,i.y,n,a);s[t]={...i,x:n,y:a};const l="string"==typeof i.s?i.s:"";p(r,d[l]??u,l)}return{spaces:i,layout:s,report:{moved:n,total:o,maxShift:a,maxShiftCm:r,maxSpace:l,rotated:c,removedDrafts:h},changed:n>0}}(i.spaces||[],e||{});i.spaces=c.spaces;const h={...c.report};let d=0,u=0,p=0;for(let t=0;t[t.id,t.open_to||[]]),walls:e.walls||[]}),o=qu(e),a=qu(s);if(!o||!a)continue;const r=Wu(o.rooms),c=Wu(a.rooms),_=.02*Xl;let g=Kc(Ec(e.open_spans),r,c,Ll);const m=g.length;g=Vc(g,a.rooms,Ll,_),g=g.map(t=>{const e=Ac(t,Ll),i=[e[0],e[1]],n=[e[2],e[3]],o=[(e[0]+e[2])/2,(e[1]+e[3])/2],a=e[2]-e[0],r=e[3]-e[1],l=Math.hypot(a,r)||1,d=c.map(([t,e])=>[t[0],t[1],e[0],e[1]]).filter(t=>{const e=t[2]-t[0],s=t[3]-t[1],c=Math.hypot(e,s)||1;return Math.abs(a*s-r*e)/(l*c)<=1e-6&&Fc(o,t).d<=4*_&&Fc(i,t).d<=4*_&&Fc(n,t).d<=4*_}).sort((t,e)=>Math.hypot(e[2]-e[0],e[3]-e[1])-Math.hypot(t[2]-t[0],t[3]-t[1]))[0];if(h.total++,!d)return t;const u=[[d[0],d[1]],[d[2],d[3]]],p=Oc(i,d,u,Xl,2*_),g=Oc(n,d,u,Xl,2*_);if(Math.hypot(g[0]-p[0],g[1]-p[1])<.5*Xl)return t;const m=Math.max(Math.hypot(p[0]-i[0],p[1]-i[1]),Math.hypot(g[0]-n[0],g[1]-n[1]));if(m>1e-6*Xl){h.moved++;const t=m/Ll;t>h.maxShift&&(h.maxShift=t);const e=m/Xl*(Number(s.cell_cm)>0?Number(s.cell_cm):5);e>h.maxShiftCm&&(h.maxShiftCm=e,h.maxSpace=String(s.id||""))}return Rc(p,g,Ll)}),g=Vc(g,a.rooms,Ll,_),u+=Math.max(0,m-g.length);const f=g.map(t=>Ac(t,Ll));g.length?s.open_spans=g:delete s.open_spans,Bc(s.rooms||[],a.rooms,f,_);const v=Array.isArray(e.walls)?e.walls.length:0;let y=Rr(e.walls,r,c,Jl,Ll);y=el(a.rooms,y,f,Jl,Number(s.cell_cm)>0?Number(s.cell_cm):5,Xl,Ll),y=Tr(y,s.rooms||[],Jl,1,f.map(t=>[t[0]/Ll,t[1]/Ll,t[2]/Ll,t[3]/Ll])),d+=Math.max(0,v-y.length),y.length?s.walls=y:delete s.walls;const b=JSON.stringify({spans:s.open_spans||[],links:(s.rooms||[]).map(t=>[t.id,t.open_to||[]]),walls:s.walls||[]});b!==n&&p++}const _=JSON.stringify(i)!==s||JSON.stringify(c.layout)!==n;o<6&&_&&(i.model_version=6);const g=JSON.stringify(i)!==s||JSON.stringify(c.layout)!==n,m=Number.isInteger(Number(i.model_version))?Number(i.model_version):o;return{config:i,layout:c.layout,report:{...h,modelFrom:o,modelTo:m,migrated:r,glowSpacesMigrated:a.glowSpaces,glowRoomsMigrated:a.glowRooms,canonicalized:p,wallsMerged:d,spansMerged:u},changed:g}}class Uu{constructor(t=50){this._undo=[],this._redo=[],this._limit=Math.max(30,Math.floor(t))}get canUndo(){return this._undo.length>0}get canRedo(){return this._redo.length>0}get undoName(){return this._undo[this._undo.length-1]?.name??null}get redoName(){return this._redo[this._redo.length-1]?.name??null}get size(){return this._undo.length}push(t){this._undo.push(t),this._undo.length>this._limit&&this._undo.splice(0,this._undo.length-this._limit),this._redo=[]}undo(){const t=this._undo.pop()??null;return t&&this._redo.push(t),t}redo(){const t=this._redo.pop()??null;return t&&this._undo.push(t),t}clear(){this._undo=[],this._redo=[]}}const Gu=new WeakMap;const Vu=(t,e,i)=>255===t[i+3]&&e.every((e,s)=>Math.abs(t[i+s]-e)<=2);async function Ku(t){const e=t.defaultView;if(!e||!e.CSS?.supports?.("mix-blend-mode","screen"))return!1;const i=[128,32,16],s=[16,64,128],n=[9,19,29],o=`\n \n \n \n \n \n `,a=e.URL.createObjectURL(new Blob([o],{type:"image/svg+xml"}));try{const o=await new Promise((t,i)=>{const s=new e.Image,n=e.setTimeout(()=>i(new Error("SVG blend probe timeout")),1e3);s.onload=()=>{e.clearTimeout(n),t(s)},s.onerror=()=>{e.clearTimeout(n),i(new Error("SVG blend probe failed"))},s.src=a}),r=t.createElement("canvas");r.width=4,r.height=1;const l=r.getContext("2d",{willReadFrequently:!0});if(!l)return!1;l.drawImage(o,0,0,4,1);const c=l.getImageData(0,0,4,1).data;return Vu(c,i,0)&&Vu(c,function(t,e){return[0,1,2].map(i=>Math.round(255-(255-t[i])*(255-e[i])/255))}(i,s),4)&&Vu(c,s,8)&&Vu(c,n,12)}catch{return!1}finally{e.URL.revokeObjectURL(a)}}const Yu={now:()=>performance.now(),requestFrame:t=>requestAnimationFrame(t),cancelFrame:t=>cancelAnimationFrame(t)},Xu=t=>Math.max(0,Math.min(1,t)),Ju=(t,e,i)=>t+(e-t)*i,Zu=(t,e,i)=>{const s=1-t;return 3*s*s*t*e+3*s*t*t*i+t*t*t};function Qu(t,e){return{centerX:t.x+t.w/2,centerY:t.y+t.h/2,pixelsPerUnit:e>0&&t.w>0?e/t.w:1,viewBox:{...t}}}function tp(t,e,i){const s=Math.max(1e-9,t.pixelsPerUnit),n=Math.max(1e-9,e/s),o=Math.max(1e-9,i/s);return{x:t.centerX-n/2,y:t.centerY-o/2,w:n,h:o}}function ep(t){const e=t.trim(),i=/^rgba?\(\s*([\d.]+)[, ]+([\d.]+)[, ]+([\d.]+)(?:\s*[,/]\s*([\d.]+))?\s*\)$/i.exec(e);if(i)return[Number(i[1]),Number(i[2]),Number(i[3]),null==i[4]?1:Number(i[4])];const s=/^#([0-9a-f]{6}|[0-9a-f]{8})$/i.exec(e)?.[1];return s?[parseInt(s.slice(0,2),16),parseInt(s.slice(2,4),16),parseInt(s.slice(4,6),16),8===s.length?parseInt(s.slice(6,8),16)/255:1]:null}function ip(t,e,i){const s=ep(t),n=ep(e);if(!s||!n)return i<.5?t:e;const o=Xu(i);return`rgba(${Math.round(Ju(s[0],n[0],o))}, ${Math.round(Ju(s[1],n[1],o))}, ${Math.round(Ju(s[2],n[2],o))}, ${Ju(s[3],n[3],o).toFixed(3)})`}function sp(t,e,i){const s=(t=>{const e=Xu(t);if(0===e||1===e)return e;let i=0,s=1,n=e;for(let t=0;t<12;t++)n=(i+s)/2,Zu(n,.2,.2){const e=this._state;if(!e||e.token!==n)return;const i=Xu((t-e.startedAt)/e.duration);e.presented=i>=1?e.to:sp(e.from,e.to,i),e.phase=i>=1?"settling":"running",this._hooks.frame(e),i<1?this._raf=this._clock.requestFrame(a):(this._raf=0,this._hooks.settled(e),this._state?.token===n&&(this._state=null))};return this._raf=this._clock.requestFrame(a),n}cancel(t=!0){this._raf&&this._clock.cancelFrame(this._raf),this._raf=0;const e=this._state;this._state=null,this._token++,e&&t&&(e.phase="settling",e.presented=e.to,this._hooks.frame(e),this._hooks.settled(e))}dispose(){this.cancel(!1)}}const op="houseplan_card_labs_v1",ap=Object.freeze([Object.freeze({id:"iso",issue:89,since:"1.62.0",expires:"1.65.0",summary:"Volumetric plan renderer"})]);function rp(t){const e=/^(\d+)\.(\d+)\.(\d+)(?:-[0-9A-Za-z.-]+)?$/.exec(String(t||"").trim());if(!e)return null;const i=e.slice(1).map(Number);return i.every(t=>Number.isSafeInteger(t))?i:null}function lp(t,e){for(let i=0;i<3;i++)if(t[i]!==e[i])return t[i]t.split(",")).map(t=>t.trim()).filter(Boolean)}function _p(t,e,i,s=ap){const n=function(t,e=ap){const i=rp(t),s=new Map;if(!i||!hp(e))return s;for(const t of e){const e=rp(t.since),n=rp(t.expires);lp(i,e)>=0&&lp(i,n)<0&&s.set(t.id,t)}return s}(i,s),o=new Set(hp(s)?s.map(t=>t.id):[]),a=new Set(function(t){if(!t)return[];try{const e=JSON.parse(t);return Array.isArray(e)?e.filter(t=>"string"==typeof t):[]}catch{return[]}}(e).filter(t=>n.has(t)));let r=!1;const l=t=>{if("off"===t)return a.clear(),void(r=!0);const e=t.startsWith("-"),i=e?t.slice(1):t;o.has(i)&&(r=!0,e||!n.has(i)?a.delete(i):a.add(i))};for(const e of pp(new URLSearchParams(String(t.search||"").replace(/^\?/,""))))l(e);for(const e of pp(dp(t.hash)))l(e);const c=Object.freeze([...a].sort());return{active:c,space:up(t.hash),persist:r?JSON.stringify(c):void 0,knownUrlOperation:r}}let gp={active:Object.freeze([]),space:""},mp="",fp=!1,vp="";const yp=new Set;function bp(){if("undefined"==typeof window)return gp;const t=_p(window.location,function(){try{return window.localStorage.getItem(op)}catch{return null}}(),mp);void 0!==t.persist&&function(t){try{window.localStorage.setItem(op,t)}catch{}}(t.persist),gp={active:t.active,space:t.space},window.__hpLabs=t.active;for(const t of yp)t(gp);return gp}function wp(){bp()}function kp(t){return mp=t,"undefined"==typeof window?gp:(fp||(fp=!0,window.addEventListener("hashchange",wp),window.addEventListener("popstate",wp)),bp())}const $p=Object.freeze({rotDeg:0,tiltDeg:20,xyScale:1,zScale:1,origin:Object.freeze([500,500])}),xp=64;function Sp(t){return[t.rotDeg,t.tiltDeg,t.xyScale,t.zScale,t.origin[0],t.origin[1]].every(Number.isFinite)&&Math.abs(t.xyScale)>1e-12&&Math.abs(Math.cos(t.tiltDeg*Math.PI/180))>1e-12}function Mp(t,e,i=$p){if(!(Sp(i)&&Number.isFinite(t[0])&&Number.isFinite(t[1])&&Number.isFinite(e)))throw new Error("invalid isometric projection input");const s=i.rotDeg*Math.PI/180,n=i.tiltDeg*Math.PI/180,o=t[0]-i.origin[0],a=t[1]-i.origin[1],r=(o*Math.cos(s)-a*Math.sin(s))*i.xyScale,l=(o*Math.sin(s)+a*Math.cos(s))*i.xyScale;return[i.origin[0]+r,i.origin[1]+l*Math.cos(n)-e*i.zScale*Math.sin(n)]}function Cp(t,e=$p){if(!Sp(e)||!Number.isFinite(t[0])||!Number.isFinite(t[1]))throw new Error("invalid isometric projection input");const i=e.rotDeg*Math.PI/180,s=e.tiltDeg*Math.PI/180,n=(t[0]-e.origin[0])/e.xyScale,o=(t[1]-e.origin[1])/(e.xyScale*Math.cos(s));return[e.origin[0]+n*Math.cos(i)+o*Math.sin(i),e.origin[1]-n*Math.sin(i)+o*Math.cos(i)]}function Dp(t=$p){return`matrix(${function(t=$p){if(!Sp(t))throw new Error("invalid isometric camera");const e=t.rotDeg*Math.PI/180,i=t.tiltDeg*Math.PI/180,s=t.xyScale*Math.cos(e),n=-t.xyScale*Math.sin(e),o=t.xyScale*Math.sin(e)*Math.cos(i),a=t.xyScale*Math.cos(e)*Math.cos(i);return[s,o,n,a,t.origin[0]-s*t.origin[0]-n*t.origin[1],t.origin[1]-o*t.origin[0]-a*t.origin[1]]}(t).map(t=>Number(t.toFixed(12))).join(" ")})`}function Tp(t,e=$p){const{rect:i,wallHeight:s}=t,n=t.openingHeight??s,o=t.floorDepth??0;if(!(i.w>=0)||!(i.h>=0)||!Number.isFinite(s)||!Number.isFinite(n)||!Number.isFinite(o)||s<0||n<0||o<0)throw new Error("invalid isometric frame");const a=[[i.x,i.y],[i.x+i.w,i.y],[i.x+i.w,i.y+i.h],[i.x,i.y+i.h]],r=Math.max(s,n),l=a.flatMap(t=>[Mp(t,-o,e),Mp(t,r,e)]),c=l.map(t=>t[0]),h=l.map(t=>t[1]),d=Math.min(...c),u=Math.min(...h);return{x:d,y:u,w:Math.max(...c)-d,h:Math.max(...h)-u}}const Pp=t=>`${Number(t[0].toFixed(4))} ${Number(t[1].toFixed(4))}`;function Rp(t){let e=0;for(let i=0;iArray.isArray(t)&&Number.isFinite(t[0])&&Number.isFinite(t[1])).map(t=>[Number(t[0]),Number(t[1])]),i=e[e.length-1];return e.length>1&&e[0][0]===i[0]&&e[0][1]===i[1]&&e.pop(),e}(t);if(i.length<3)return[];const s=!e;return Rp(i)>0===s?i:[...i].reverse()}function Ip(t,e,i){return t.length?`M ${t.map(t=>Pp(Mp(t,i,e))).join(" L ")} Z`:""}function Ep(t,e,i){const s=e[1]-t[1],n=-(e[0]-t[0]),o=i.rotDeg*Math.PI/180;return s*Math.sin(o)+n*Math.cos(o)}function Fp(t,e,i=$p){if(!Number.isFinite(e)||e<0)throw new Error("invalid floor edge height");const s=(t||[]).map(t=>(t||[]).map((t,e)=>function(t,e){const i=Ap(t,e);if(!i.length)return i;let s=0;for(let t=1;t0)).filter(t=>t.length>=3&&Math.abs(Rp(t))>=1e-9)).filter(t=>t.length&&Rp(t[0])>0);s.sort((t,e)=>{const i=t[0][0],s=e[0][0];return i[0]-s[0]||i[1]-s[1]||Math.abs(Rp(e[0]))-Math.abs(Rp(t[0]))});const n=[],o=[];let a=0;for(let t=0;tt.depth-e.depth||t.component-e.component||t.edge-e.edge),{footprintPath:n.join(" "),sides:o,componentCount:s.length,edgeCount:a}}function zp(t,e){return t^=Math.round(64*(Number.isFinite(e)?e:0)),Math.imul(t,16777619)>>>0}const Op=t=>t.every(Number.isFinite);function Hp(t,e,i,s){const n=t[0]*i,o=t[1]*s,a=e*Math.PI/180;return[n*Math.cos(a)-o*Math.sin(a),n*Math.sin(a)+o*Math.cos(a)]}function Np(t,e,i,s,n,o,a){const r=t.flipH?-1:1,l=t.flipV?-1:1,c=function(t,e){return[t[0]+e[0],t[1]+e[1]]}([t.x+t.face.ox,t.y+t.face.oy],Hp(i,t.angle,r,l));return{leaf:e,hinge:c,closedVector:Hp(s,t.angle,r,l),quarterVector:Hp([-s[1],s[0]],t.angle,r,l),turnDeg:n,bottom:o,top:a}}const Lp=t=>`${Number(t[0].toFixed(4))} ${Number(t[1].toFixed(4))}`;function Bp(t,e,i=$p){const s=Math.max(0,Math.min(1,Number.isFinite(e)?e:0));return t.leaves.map(e=>{const n=function(t,e){const i=t.turnDeg*e*Math.PI/180;return[t.hinge[0]+t.closedVector[0]*Math.cos(i)+t.quarterVector[0]*Math.sin(i),t.hinge[1]+t.closedVector[1]*Math.cos(i)+t.quarterVector[1]*Math.sin(i)]}(e,s),o=Mp(e.hinge,e.bottom,i),a=Mp(n,e.bottom,i),r=Mp(n,e.top,i),l=Mp(e.hinge,e.top,i);return{id:t.id,sourceIndex:t.sourceIndex,type:t.type,leaf:e.leaf,d:`M ${Lp(o)} L ${Lp(a)} L ${Lp(r)} L ${Lp(l)} Z`,shadowD:`M ${Lp(Mp(e.hinge,0,i))} L ${Lp(Mp(n,0,i))}`,depth:Math.max(o[1],a[1])}})}const qp={window:120,door:90,passage:90,gate:300};function Wp(t){return qp[t]}function jp(t,e){const i=[t[0],t[1]],s=[e[0],e[1]];return function(t,e){return t[0]-e[0]||t[1]-e[1]}(i,s)<=0?{a:i,b:s}:{a:s,b:i}}function Up(t){const e=new Map;return t.forEach((t,i)=>{if(!t.kind||t.open)return;const s=jp(t.a,t.b);if(Math.hypot(s.b[0]-s.a[0],s.b[1]-s.a[1])<=1e-9)return;const n=function(t,e){const i=t=>(Math.abs(t)<=5e-10?0:Math.round(1e6*t)/1e6).toFixed(6);return`${i(t[0])},${i(t[1])}>${i(e[0])},${i(e[1])}`}(s.a,s.b),o=e.get(n);if(o)return o.physicalHalfWidth=Math.max(o.physicalHalfWidth,t.half||0),o.sourceOrder=Math.min(o.sourceOrder,i),void(t.partitionHost&&(o.partitionHost&&o.partitionHost.id!==t.partitionHost.id?o.ambiguousPartitionHost=!0:o.partitionHost=t.partitionHost));e.set(n,{segmentKey:n,a:s.a,b:s.b,physicalHalfWidth:Math.max(0,t.half||0),sourceOrder:i,...t.partitionHost?{partitionHost:t.partitionHost}:{}})}),[...e.values()]}function Gp(t,e){if(Math.abs(t.distance-e.distance)>1e-9)return t.distance-e.distance;if(Math.abs(t.perpendicular-e.perpendicular)>1e-9)return t.perpendicular-e.perpendicular;return(t.target.segmentKeye.target.segmentKey?1:0)||t.target.sourceOrder-e.target.sourceOrder}function Vp(t){const e=Up(t.intervals).map(e=>{const i=function(t,e){const i=e.b[0]-e.a[0],s=e.b[1]-e.a[1],n=Math.hypot(i,s),o=i/n,a=s/n,r=(t[0]-e.a[0])*o+(t[1]-e.a[1])*a,l=Math.max(0,Math.min(n,r)),c=e.a[0]+l*o,h=e.a[1]+l*a;return{along:l,length:n,x:c,y:h,distance:Math.hypot(t[0]-c,t[1]-h),perpendicular:Math.abs((t[0]-e.a[0])*a-(t[1]-e.a[1])*o)}}(t.pointer,e);return{target:e,...i,envelope:Math.max(t.baseTolerance,e.physicalHalfWidth+t.bodyPointerPadding)}}).filter(t=>t.distance<=t.envelope+1e-9).filter(e=>!e.target.partitionHost||t.renderedLength<=e.length+1e-9).filter(e=>!function(t,e,i,s,n){const o=e.b[0]-e.a[0],a=e.b[1]-e.a[1],r=Math.hypot(o,a);if(!(r>1e-9))return!1;const l=o/r,c=a/r;for(const o of i){if(!o.open&&o.kind)continue;const i=jp(o.a,o.b),a=i.b[0]-i.a[0],r=i.b[1]-i.a[1],h=Math.hypot(a,r);if(!(h>1e-9))continue;const d=a/h,u=r/h;if(Math.abs(l*u-c*d)>1e-6)continue;if(Math.abs((i.a[0]-e.a[0])*c-(i.a[1]-e.a[1])*l)>n)continue;const p=(t[0]-i.a[0])*d+(t[1]-i.a[1])*u,_=1e-9;if(!(p<=_||p>=h-_)&&Math.abs((t[0]-i.a[0])*u-(t[1]-i.a[1])*d)<=s+1e-9)return!0}return!1}(t.pointer,e.target,t.intervals,e.envelope,Math.max(1e-9,Math.min(t.baseTolerance,.04*t.gridStep)))).sort(Gp);let i=e[0];if(!i)return null;const s=e.filter(t=>Math.abs(t.distance-i.distance)<=1e-9&&Math.abs(t.perpendicular-i.perpendicular)<=1e-9),n=s.filter(t=>t.target.partitionHost);if(n.length){if(1!==new Set(n.map(t=>t.target.partitionHost.id)).size||n.some(t=>t.target.ambiguousPartitionHost))return null;const t=n[0],e=t.target.b[0]-t.target.a[0],o=t.target.b[1]-t.target.a[1],a=Math.hypot(e,o),r=e/a,l=o/a;if(!s.every(e=>{const i=e.target.b[0]-e.target.a[0],s=e.target.b[1]-e.target.a[1],n=Math.hypot(i,s),o=i/n,a=s/n,c=Math.abs(r*a-l*o)<=1e-6,h=Math.abs((e.target.a[0]-t.target.a[0])*l-(e.target.a[1]-t.target.a[1])*r);return c&&h<=1e-9}))return null;i=t}if(i.target.ambiguousPartitionHost)return null;const{target:o,length:a}=i,r=o.b[0]-o.a[0],l=o.b[1]-o.a[1],c=r/a,h=l/a,d=Math.min(Math.max(0,t.renderedLength)/2,a/2);let u=i.along;const p=Math.max(t.gridStep,1e-9),_=a/2;u=Math.abs(u-_)<=p/2?_:Math.round(u/p)*p,u=Math.max(d,Math.min(a-d,u));const g=o.a[0]+c*u,m=o.a[1]+h*u,f=Math.max(0,t.renderedLength)/2,v=u-f,y=u+f,b=Math.max(0,v),w=Math.max(0,a-y),k=[o.a[0]+c*(v-b/2),o.a[1]+h*(v-b/2)],$=[o.a[0]+c*(y+w/2),o.a[1]+h*(y+w/2)];let x=180*Math.atan2(l,r)/Math.PI;x>=90?x-=180:x<-90&&(x+=180);const S=Math.abs(u-_)<=1e-9;return{presetRevision:t.preset.revision,geometryRevision:t.geometryRevision,pointer:[t.pointer[0],t.pointer[1]],type:t.preset.type,lengthCm:t.preset.lengthCm,flipH:t.preset.flipH,flipV:t.preset.flipV,x:g,y:m,angle:x,renderedLength:t.renderedLength,target:o,...o.partitionHost?{host:{...o.partitionHost,t:a>0?u/a:0}}:{},measure:{labels:[{distance:b,midpoint:k},{distance:w,midpoint:$}],guide:S?{x:g,y:m,angle:x}:null}}}function Kp(t,e,i,s,n=1e-6){return t.presetRevision===i&&t.geometryRevision===s&&Math.hypot(t.pointer[0]-e[0],t.pointer[1]-e[1])<=n}const Yp="1.65.0-beta.3",Xp={badge:"display.badge",icon_ripple:"display.icon_ripple",value:"display.value",static_icon:"display.static_icon"},Jp={badge:"marker.display_hint_badge",icon_ripple:"marker.display_hint_icon_ripple",value:"marker.display_hint_value",static_icon:"marker.display_hint_static_icon"},Zp=2e3,Qp=1e3,t_=1500,e_=t=>{const e=String(t??"").trim().replace(",",".");if(!/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)$/.test(e))return null;const i=Number(e);return Number.isFinite(i)?i:null},i_=(t,e)=>{if(!t.has(e))return{hit:!1};const i=t.get(e);return t.delete(e),t.set(e,i),{hit:!0,value:i}},s_=(t,e,i,s)=>{for(t.delete(e),t.set(e,i);t.size>s;){const e=t.keys().next().value;if(void 0===e)break;t.delete(e)}},n_=new Map;let o_=0;const a_=t=>`${window.innerWidth}x${window.innerHeight}|${location.pathname}|${JSON.stringify(t??{})}`;let r_=1e4;const l_="houseplan_card_layout_v1",c_="houseplan_card_cfg_v1",h_="houseplan_card_zoom_v1",d_="houseplan_card_nav_v1",u_="houseplan_card_kiosk_v1",p_="houseplan_card_view_v1",__=1e3,g_=[[0,1],[45,.88],[70,.62],[86,.32],[100,0]],m_=(t,e)=>{const i=Math.min(t.x,e.x),s=Math.min(t.y,e.y);return{x:i,y:s,w:Math.max(t.x+t.w,e.x+e.w)-i,h:Math.max(t.y+t.h,e.y+e.h)-s}},f_=new Set(["select","draw","partition","column","merge","split","resize","opening","boundary","wallthick","delroom"]),v_=2e3,y_=(t,e,i)=>{const s=new Event(e,{bubbles:!0,composed:!0});s.detail=i??{},t.dispatchEvent(s)},b_=t=>{history.pushState(null,"",t),y_(window,"location-changed",{replace:!1})},w_=(t,e)=>{let i,s=null;const n=(...n)=>{clearTimeout(i),s=n,i=window.setTimeout(()=>{i=void 0;const e=s;s=null,e&&t(...e)},e)};return n.flush=()=>{if(void 0===i)return;clearTimeout(i),i=void 0;const e=s;s=null,e&&t(...e)},n.cancel=()=>{clearTimeout(i),i=void 0,s=null},n.pending=()=>void 0!==i,n},k_=t=>{try{t.target?.setPointerCapture?.(t.pointerId)}catch{}};class $_ extends ht{constructor(){super(...arguments),this._space="f1",this._layout={},this._serverStorage=!1,this._loadOk=!1,this._serverCanWrite=null,this._loading=!1,this._loadTries=0,this._serverCfg=null,this._cfgRev=0,this._cfgContentFingerprint="",this._unsubCfg=null,this._unsubLayout=null,this._unsubVirtual=null,this._liveSyncAttempt=null,this._liveSyncGeneration=0,this._liveSyncConnection=null,this._layoutRev=0,this._layoutContentFingerprint="",this._virtualLights=gn(null),this._canOptimizeUndo=!1,this._undoKind=null,this._devices=[],this._regSignature="",this._defPos={},this._newSyncKey="",this._tip=null,this._hoverRoom=null,this._selId=null,this._toast="",this._mode="view",this._pendingNavMode=null,this._decorTool="select",this._decorStyle={...er},this._decorDraft=null,this._decorMove=null,this._decorSel=null,this._decorEraseConfirm=null,this._decorTextDialog=null,this._decorShapeDialog=null,this._backdropDialog=null,this._decorTextSelection={start:0,end:0},this._furnPalette=null,this._dtBox=null,this._dtDrag=null,this._bdDrag=null,this._slide="",this._reducedMotion=!1,this._onMotionChange=t=>{this._reducedMotion=t.matches,t.matches&&this._modeTransitionPreparing?this._modeTransitionForceAtomic=!0:t.matches&&this._modeTransition.active&&this._cancelModeTransition(!0),this.requestUpdate()},this._editorChromeMode="plan",this._modeTransitionVisual=null,this._modeTransitionPreparing=!1,this._modeTransitionForceAtomic=!1,this._modeTransitionRequest=0,this._modeTransitionTargetZoom=1,this._modeTransitionEditorCamera=null,this._modeTransition=new np({frame:t=>this._applyModeTransitionFrame(t),settled:t=>this._settleModeTransition(t)}),this._editorSecondary=new Ru({root:()=>this.renderRoot,requestUpdate:()=>this.requestUpdate(),updateComplete:()=>this.updateComplete,clearTip:()=>{this._tip=null}}),this._editorSecondaryCopy={groupActive:(t,e)=>this._t("editor.group_active",{group:t,item:e}),openGroup:t=>this._t("editor.open_group",{group:t}),disabledAction:(t,e)=>this._t("editor.disabled_action",{action:t,reason:e})},this._tool="draw",this._geometryHistory=new Uu(50),this._wallDialog=null,this._drawWallField=null,this._activeDraftId=null,this._resumeDraftBySpace={},this._physicalSel=null,this._physicalDialog=null,this._partitionDeleteDialog=null,this._physicalDrag=null,this._physicalRotate=null,this._physicalLastTap=null,this._physicalPickCycle=null,this._wallUnionCache=null,this._isoGeometryCache=new Map,this._isoFallback=new Set,this._openingTunnelCache=null,this._openingWallIndexCache=new Map,this._openingPlacementIntervalsCache=null,this._planSnapGeometryCache=null,this._planStructuralGeometryCache=null,this._physicalBodiesCache=null,this._lightPhysicalBodiesCache=null,this._cleanFloorCache=new Map,this._glowClipCache=new Map,this._lightBarrierCache=null,this._glowFeatherUnits=null,this._glowRenderedSources=new Map,this._glowLastAppearance=new Map,this._glowEnteringSources=new Set,this._glowEnterRafs=new Map,this._glowFadeTimers=new Map,this._glowFeatherSuspendUntil=0,this._glowFeatherResumeTimer=0,this._glowSourceSeq=0,this._glowScreenBlend=!1,this._duplicateColumnId=null,this._duplicateColumnTimer=0,this._rszSel=null,this._rszDrag=null,this._rszPreview=null,this._rszLive=null,this._path=[],this._cursorPt=null,this._planSnapHover=null,this._mergeSel=null,this._openingPreset=null,this._openingRebindId=null,this._openingPresetRevision=0,this._openingHoverCandidate=null,this._openingDialog=null,this._openingInfo=null,this._opDrag=null,this._opMeasure=null,this._mergeDialog=null,this._openWallAnchor=null,this._boundaryPointerType="mouse",this._boundaryRestoreGuard=null,this._boundaryTargetMemo=null,this._boundaryPreviewMemo=null,this._splitSel=null,this._pendingSplit=null,this._wallFaceBatch=null,this._wallFaceGraphCache=[],this._areaSel="",this._nameSel="",this._roomDialog=!1,this._roomEditId=null,this._roomFill="",this._roomCustomFill=null,this._roomTempSrc="",this._roomHumSrc="",this._roomSrcOpen=null,this._roomSrcFilter="",this._roomNameScale=1,this._roomLabelScale=1,this._zoom=1,this._view=null,this._zoomBySpace={},this._viewModeSnap=null,this._pointers=new Map,this._panStart=null,this._panLock=null,this._pinchStart=null,this._suppressClick=!1,this._touchContacts=new Map,this._touchSequenceMultitouch=!1,this._touchClickBlockUntil=0,this._connectedPath="",this._routeDepartureHandled=!1,this._onLocationChanged=()=>{this._connectedPath&&location.pathname!==this._connectedPath?this._leaveCardRoute():location.pathname===this._connectedPath&&(this._routeDepartureHandled=!1)},this._touchGestureGuard={capture:!0,handleEvent:t=>this._guardTouchGesture(t)},this._hdrH=118,this._booting=!0,this._bootFading=!1,this._bootSettling=!1,this._bootSettleRaf=0,this._bootLastH=-1,this._bootStart=0,this._bootLastChange=0,this._bootSoft=!1,this._tapConfirm=null,this._onboardingShown=!1,this._rulesDialog=null,this._alignDialog=null,this._settingsDialog=null,this._backupExportDialog=null,this._backupImportDialog=null,this._sunRaysCache=null,this._dayCycleTimer=0,this._dayCycleClockKey="",this._compassDrag=!1,this._importDialog=null,this._importQueue=[],this._importTotal=0,this._rulesCompiledSrc="",this._infoCard=null,this._nativeMoreInfoEntity=null,this._markerDialog=null,this._spaceDialog=null,this._keyHandler=t=>this._onKey(t),this._warmVp=null,this._warmVpArmed=!1,this._warmLongReturn=!1,this._warmRevivePending=!1,this._warmGen=++o_,this._warmKey=null,this._warmSlot=null,this._hashApplied=!1,this._navApplied=!1,this._labs={active:Object.freeze([]),space:""},this._viewPreference={},this._renderProjection="flat",this._kioskScale={icon:1,font:1},this._kioskDialog=!1,this._activityRt=new Map,this._vacRt=new Map,this._vacViewKey="",this._vacLastView=null,this._vacRaf=0,this._vacSrvTrails={},this._vacJumpOnce=!1,this._continuity=this._newContinuityController(),this._continuityHistory=[],this._continuityEpoch=0,this._continuityDataReady=!0,this._continuityPaintToken=-1,this._continuityDisposed=!1,this._renderSnapshotAt=Date.now(),this._hassSequence=0,this._visibleDeviceSnapshot=null,this._candidateDeviceSnapshot=null,this._stagedDeviceSnapshotToken=-1,this._capturedSnapshotSequence=-1,this._capturedSnapshotDevices=null,this._capturedSnapshotLayout=null,this._capturedSnapshotActivity="",this._capturedSnapshotConfigEpoch=-1,this._capturedSnapshotVirtual="",this._lastValidStageSize=null,this._pendingRefitSize=null,this._refitRaf=0,this._pageVisibility=t=>{if(this._continuity.visibility(t),this._dayCycleVisibility(t),"hidden"!==t.kind){if(this._vacJumpOnce=!0,!t.long){const t=Date.now();let e=!1;for(const i of this._activityRt.values())!i.flashKind||(i.expiresAt||i.flashTs+wu)>t||(i.flashTs=0,i.flashKind=null,i.expiresAt=0,e=!0);return void(e&&this.requestUpdate())}Date.now()-this._renderSnapshotAt>1e3&&this._continuity.note("device-snapshot-stale"),this._continuityDataReady=!1,this._continuityPaintToken=-1,this._resumeSettling=!0,this._loading?this.requestUpdate():this._loadFromServer()}else this._modeTransitionPreparing?this._modeTransitionForceAtomic=!0:this._cancelModeTransition(!0)},this._resumeSettling=!1,this._viewportInvalidAt=0,this._vacFit=null,this._vacAllCamerasFor=null,this._vacAllCameraCache=null,this._vacCalConfirm=null,this._kioskDots=!1,this._cyclePausedUntil=0,this._swipeStart=null,this._lastTap=0,this._onLabsSnapshot=t=>{const e=this._effectiveProjection();this._labs=t;const i=this._effectiveProjection();this._convertProjectionView(e,i),this.requestUpdate()},this._onHashChange=()=>{const t=this._hashSpace();if(t&&this._model.find(e=>e.id===t)&&t!==this._space){if(this._wallFaceBatch&&this._roomDialogCancel(),"plan"===this._mode&&"draw"===this._tool&&!this._finishWallChain())return;this._activeDraftId&&(this._resumeDraftBySpace[this._space]=this._activeDraftId),this._space=t,this._selId=null,this._path=[],this._clearPlanSnapHover(),this._clearOpeningPlacement(!0),this._tool="draw",this._openWallAnchor=null,this._boundaryRestoreGuard=null,this._activeDraftId=null,this._draftSegmentCms=[],this._closingWallCm=null,"plan"===this._mode&&"draw"===this._tool&&this._resumeLastDraft(),this._restoreZoom(),this.requestUpdate()}},this._drag=null,this._rlResize=null,this._holdFired=!1,this._retryContinuity=()=>{this._continuityDataReady=!1,this._continuityPaintToken=-1,this._continuity.retry(this._continuity.recoveryReason||"plan"),this._loading||this._loadFromServer()},this._cfgEpoch=0,this._modelCache=null,this._emptySpaceStateActive=!1,this._decorSnapCache=null,this._markerPreviewMemo=null,this._markerPreviewDevicesMemo=null,this._showHidden=!1,this._connHooked=null,this._connectionWasLost=!1,this._haRegistryConnection=null,this._haRegistryRev=-1,this._haBindingCacheKey="",this._planHassMemo=null,this._onHaRegistryUpdate=()=>{const t=In(this.hass);t.revision===this._haRegistryRev&&this._devices.length||(this._haRegistryRev=t.revision,this._planHassMemo=null,this._regSignature="",this._maybeRebuildDevices(),this.requestUpdate())},this._onConnReady=()=>{if(this._loadTries=0,clearTimeout(this._loadRetryTimer),this._loadRetryTimer=void 0,function(t){const e=Cn(t);e&&(Pn(t,e),Rn(t,e))}(this.hass),this._saveConfigDebounced.pending()&&this._saveConfigDebounced.flush(),this._cfgWriting)return clearTimeout(this._reloadRetry),void(this._reloadRetry=window.setTimeout(this._onConnReady,400));!this._connectionWasLost&&this._continuity.hasCompleteFrame?this._beginContinuityCandidate("connection-ready",!1,"plan"):(this._continuityDataReady=!1,this._continuityPaintToken=-1),this._loading||this._loadFromServer()},this._onConnLost=()=>{this._booting&&!this._continuity.hasCompleteFrame||(this._connectionWasLost=!0,this._continuityDataReady=!1,this._continuityPaintToken=-1,this._continuity.connectionLost())},this._signer=new nh(()=>this.requestUpdate()),this._dirtyPos=new Set,this._sentPos=new Map,this._persistLayout=w_(()=>{if(this._serverStorage){const t=[...this._dirtyPos];this._dirtyPos.clear();for(const e of t){const t=this._layout[e];t&&(this._sentPos.set(e,t),this.hass.callWS({type:"houseplan/layout/update",device_id:e,pos:t}).then(t=>this._noteLayoutRev(t)).catch(t=>this._showToast(this._t("toast.pos_save_failed",{err:this._errText(t)}))).finally(()=>{this._sentPos.get(e)===t&&this._sentPos.delete(e)}))}this._cacheSnapshot()}else localStorage.setItem(l_,JSON.stringify(this._layout))},600),this._frame=null,this._showFar=!1,this._writesPending=0,this._writeChain=Promise.resolve(),this._undoGeometry=()=>{if(this._cancelBoundaryAnchor())return;if(this._physicalDrag||this._physicalRotate)return void this._cancelPhysicalGesture();if(this._decorDraft)return this._decorDraft=null,void this.requestUpdate();if(this._decorMove||this._dtDrag||this._bdDrag)return void this._cancelDecorGesture();if(this._rszDrag)return void this._rszCancelDrag();const t=this._geometryHistory.undo();t&&(this._applyGeometryState(t.before)?this._showToast(this._t("history.undone",{name:t.name})):this._geometryHistory.clear())},this._redoGeometry=()=>{if(this._cancelBoundaryAnchor())return;if(this._physicalDrag||this._physicalRotate)return void this._cancelPhysicalGesture();if(this._decorDraft)return this._decorDraft=null,void this.requestUpdate();if(this._decorMove||this._dtDrag||this._bdDrag)return void this._cancelDecorGesture();if(this._rszDrag)return void this._rszCancelDrag();const t=this._geometryHistory.redo();t&&(this._applyGeometryState(t.after)?this._showToast(this._t("history.redone",{name:t.name})):this._geometryHistory.clear())},this._saveConfigDebounced=w_(()=>{this._serverCfg&&this._writeConfig().catch(t=>{"conflict"===t?.code?(this._showToast(this._t("toast.conflict")),this._cancelPath(),this._reloadConfigOnly(!0)):this._showToast(this._t("toast.cfg_save_failed",{err:this._errText(t)}))})},500),this._draftSegmentCms=[],this._closingWallCm=null,this._savePhysicalDialog=()=>{const t=this._physicalDialog,e=this._curSpaceCfg,i=this._spaceModel();if(!t||!e||!i)return;const s=e_(t.cm);if(null==s)return void this._showPhysicalRange("column"===t.kind?kl:100);const n=this._imperial?2.54*s:s,o="column"===t.kind?kl:100;if(!Number.isFinite(n)||n<1||n>o)return void this._showPhysicalRange(o);if("column"===t.kind){const e=i.wall_columns.find(e=>e.id===t.id);if(!e)return;const s=e_(t.angle||"0");if("circle"!==t.shape&&(null==s||s<0||s>=90))return void this._showToast(this._t("toast.physical_angle"));const o="circle"===t.shape?{id:t.id,shape:"circle",center:e.center,cm:n}:{id:t.id,shape:"square",center:e.center,cm:n,angle:s};if(i.wall_columns.some(e=>e.id!==t.id&&Nl(e,o,.02*this._gridPitch)))return void this._showToast(this._t("toast.column_duplicate"))}const a=this._geometrySnapshot();if("partition"===t.kind){const i=(e.partitions||[]).find(e=>e.id===t.id);i&&(i.cm=n)}else if("column"===t.kind){const i=(e.wall_columns||[]).find(e=>e.id===t.id);i&&(i.cm=$l(n),i.shape="circle"===t.shape?"circle":"square","square"===i.shape?i.angle=e_(t.angle||"0"):delete i.angle)}else{const i=(e.room_drafts||[]).find(e=>e.id===t.id);i?.segments?.[t.segment||0]&&(i.segments[t.segment||0].cm=n)}this._recordGeometry(this._t("history.physical_edit"),a),this._physicalDialog=null,this._saveConfig()},this._deletePhysicalSelection=()=>{const t=this._physicalSel,e=this._curSpaceCfg;if(!t||!e)return;if("draft"===t.kind)return void this._deleteDraftWhole();const i=this._geometrySnapshot();if("partition"===t.kind){const i=(e.openings||[]).filter(e=>"partition"===e.host?.kind&&e.host.id===t.id).sort((t,e)=>(t.host?.t||0)-(e.host?.t||0));if(i.length)return void(this._partitionDeleteDialog={id:t.id,openings:i.map(t=>JSON.parse(JSON.stringify(t)))})}const s="partition"===t.kind?"partitions":"column"===t.kind?"wall_columns":"room_drafts";e[s]=(e[s]||[]).filter(e=>e.id!==t.id),e[s].length||delete e[s],this._activeDraftId===t.id&&this._cancelPath(),this._physicalSel=null,this._physicalDialog=null,this._recordGeometry(this._t("history.physical_delete"),i),this._saveConfig()},this._confirmPartitionDelete=()=>{const t=this._partitionDeleteDialog,e=this._curSpaceCfg;if(!t||!e)return;const i=this._geometrySnapshot();e.partitions=(e.partitions||[]).filter(e=>e.id!==t.id),e.partitions.length||delete e.partitions,e.openings=(e.openings||[]).filter(e=>"partition"!==e.host?.kind||e.host.id!==t.id),e.openings.length||delete e.openings,this._partitionDeleteDialog=null,this._physicalSel=null,this._physicalDialog=null,this._recordGeometry(this._t("history.physical_delete"),i),this._saveConfig()},this._deleteDraftWhole=()=>{const t="draft"===this._physicalDialog?.kind?this._physicalDialog.id:"draft"===this._physicalSel?.kind?this._physicalSel.id:null,e=this._curSpaceCfg;if(!t||!e||!confirm(this._t("confirm.delete_draft")))return;const i=this._geometrySnapshot();e.room_drafts=(e.room_drafts||[]).filter(e=>e.id!==t),e.room_drafts.length||delete e.room_drafts,this._activeDraftId===t&&this._cancelPath(),this._physicalSel=null,this._physicalDialog=null,this._recordGeometry(this._t("history.physical_delete"),i),this._saveConfig()},this._deleteDraftSegment=()=>{const t=this._physicalDialog,e=this._curSpaceCfg;if(!t||"draft"!==t.kind||!e)return;if(!confirm(this._t("confirm.delete_draft_segment")))return;const i=(e.room_drafts||[]).findIndex(e=>e.id===t.id);if(i<0)return;const s=e.room_drafts[i],n=Math.max(0,Math.min(s.segments.length-1,t.segment||0)),o=[],a=s.points.slice(0,n+1),r=s.points.slice(n+1);if(a.length>=2&&o.push({id:s.id,points:a,segments:s.segments.slice(0,n)}),r.length>=2&&o.push({id:o.length?`${s.id}-${Date.now().toString(36)}`:s.id,points:r,segments:s.segments.slice(n+1)}),2===o.length&&e.room_drafts.length>=200)return void this._showToast(this._t("toast.physical_limit"));const l=this._geometrySnapshot();e.room_drafts.splice(i,1,...o),e.room_drafts.length||delete e.room_drafts,this._activeDraftId===s.id&&this._cancelPath(),this._physicalDialog=null,this._physicalSel=o.length?{kind:"draft",id:o[0].id}:null,this._recordGeometry(this._t("history.draft_segment_delete"),l),this._saveConfig()},this._rebindPartitionOpening=()=>{const t=this._openingDialog;if(!t?.id)return;const e=t.id;this._activateMarkupTool("opening"),"opening"===this._tool&&(this._openingRebindId=e,this._openingPreset={type:t.type,lengthCm:t.lengthCm,flipH:t.flipH,flipV:t.flipV,revision:++this._openingPresetRevision},this._openingDialog=null,this._openingHoverCandidate=null)},this._keepClosedAsPartitions=()=>{if(this._wallFaceBatch)return void this._decideWallFace(!1);if(!this._contourClosed||this._pendingSplit||!this._curSpaceCfg)return;const t=this._curSpaceCfg,e=this._path.slice(0,-1);if((t.partitions||[]).length+e.length>v_)return void this._showToast(this._t("toast.physical_limit"));const i=this._geometrySnapshot(),s=[...this._draftSegmentCms,this._closingWallCm||this._drawWallCm||pr];t.partitions||=[];const n=Date.now().toString(36);for(let i=0;it.id!==this._activeDraftId),t.room_drafts.length||delete t.room_drafts),this._recordGeometry(this._t("history.contour_to_partitions"),i),this._saveConfig(),this._roomDialog=!1,this._path=[],delete this._resumeDraftBySpace[this._space],this._activeDraftId=null,this._draftSegmentCms=[],this._closingWallCm=null},this._toggleServerPlans=async()=>{const t=this._spaceDialog;if(t)if(t.pickSaved)this._spaceDialog={...t,pickSaved:!1};else{this._spaceDialog={...t,pickSaved:!0,savedBusy:!0};try{const t=await this.hass.callWS({type:"houseplan/plans/list"}),e=this._spaceDialog;e&&(this._spaceDialog={...e,saved:t?.plans||[],savedBusy:!1})}catch(t){const e=this._spaceDialog;e&&(this._spaceDialog={...e,saved:[],savedBusy:!1}),this._showToast(this._t("toast.plans_list_failed",{err:this._errText(t)}))}}},this._aspectJob=null,this._dayCycleTick=()=>{if(!this.isConnected||"hidden"===this.ownerDocument.visibilityState)return;const t=this._dayCycleState();if(!t)return this._dayCycleTimer&&(clearInterval(this._dayCycleTimer),this._dayCycleTimer=0),void(this._dayCycleClockKey="");const e=Na(t);e!==this._dayCycleClockKey&&(this._dayCycleClockKey=e,this.requestUpdate())},this._sunShown=!1,this._sunOut=!1,this._sunOutTimer=0,this._openSettingsDialog=()=>{if(!this._norm)return;const t=this._glowRadiusCm,e=this._imperial?Math.round(t/30.48*10)/10:Math.round(t)/100;this._settingsDialog={colors:JSON.parse(JSON.stringify(this._fillColors)),glowRadius:e,bgColor:hs(this._settings,{bgColor:null})||null,northDeg:Ka(this._settings,{}),bgMode:Ya(this._settings,{}),sunRays:Xa(this._settings,{}),busy:!1}},this._openAlignDialog=()=>{if(!this._norm||!this._serverCfg)return;const t=this._serverCfg.spaces||[],e=ju(this._serverCfg,this._layout||{}),i=Math.ceil(10*e.report.maxShiftCm)/10,s=t.find(t=>null!=t?.id&&String(t.id)===e.report.maxSpace),n=t.length>1&&s?String(s.title||s.id):"";this._alignDialog={report:e.report,config:e.config,layout:e.layout,cm:i,where:n,changed:e.changed,busy:!1}},this._optimizeUndoBusy=!1,this._openBackupExport=()=>{this._settingsDialog=null,this._backupExportDialog={kind:"full",planOnly:!1,busy:!1,error:""}},this._openRulesDialog=()=>{if(!this._norm)return;const t=this._settings.icon_rules,e=(t&&t.length?t:Xt).map(t=>({...t}));this._rulesDialog={rules:e,test:"",busy:!1}},this._climateCache=null,this._gearPtCache=new WeakMap}get _canEdit(){return!!this._norm&&(!0===this._serverCanWrite||!1!==this._serverCanWrite&&!0===this.hass?.user?.is_admin)}get _kiosk(){return!!this._config?.kiosk}_showKioskDots(){this._kioskDots=!0,clearTimeout(this._kioskDotsTimer),this._kioskDotsTimer=window.setTimeout(()=>this._kioskDots=!1,2500)}get _modeTransitionBusy(){return this._modeTransitionPreparing||this._modeTransition.active}_cssColor(t,e){const i=String(t||"").trim();if(!i)return e;const s=document.createElement("span");s.style.cssText=`position:absolute;visibility:hidden;color:${i}`,this.renderRoot.append(s);const n=getComputedStyle(s).color||e;return s.remove(),n}_currentModeVisual(t=this._mode){const e=this._modeTransition.presented||this._modeTransitionVisual;if(e)return{...e,viewport:{...e.viewport,viewBox:{...e.viewport.viewBox}}};const i=this._stageEl;if(!i||i.clientWidth<=0||i.clientHeight<=0)return null;const s=this.renderRoot.querySelector(".editorchrome"),n=this._viewOr(this._baseVb()),o=this.renderRoot.querySelector(".hp-paper"),a=this.renderRoot.querySelector(".hp-backdrop"),r=this.renderRoot.querySelector(".zoomwrap"),l=r?getComputedStyle(r).filter:"",c=Number(/brightness\(([^)]+)\)/.exec(l)?.[1]);return{presentedMode:t,editorChromeHeight:"view"===t?0:s?.getBoundingClientRect().height||0,stageWidth:i.clientWidth,stageHeight:i.clientHeight,viewport:Qu(n,i.clientWidth),stageColor:getComputedStyle(i).backgroundColor||"rgb(255, 255, 255)",paperColor:o?getComputedStyle(o).fill:"rgb(255, 255, 255)",sceneBrightness:Number.isFinite(c)?c:1,architectureOpacity:"decor"===t?.35:1,backdropOpacity:a&&Number(getComputedStyle(a).opacity)||1,viewWeight:"view"===t?1:0,editorWeight:"view"===t?0:1,toolbarContentOpacity:"view"===t?0:1}}_viewForModeTarget(t,e,i,s,n){const o=Oi(this._baseVb(),s/Math.max(1,n)),a=Math.min($_.ZOOM_MAX,Math.max($_.ZOOM_MIN,t)),r=o.w/a,l=o.h/a,c=e??o.x+o.w/2,h=i??o.y+o.h/2;return this._clampView({x:c-r/2,y:h-l/2,w:r,h:l},o)}_targetStageColor(t){return"view"!==t?"rgb(255, 255, 255)":this._cssColor(this._stageBg(this._spaceDisplayForRender()),this._cssColor("var(--ha-card-background, var(--card-background-color, #111))","rgb(17, 17, 17)"))}_targetPaperColor(t){return"view"===t&&this._spaceModel()?.bg?this._cssColor("var(--ha-card-background, var(--card-background-color, #111))","rgb(17, 17, 17)"):"rgb(255, 255, 255)"}_targetBrightness(t){return 1}_applyModeTransitionFrame(t){t.targetMode===this._mode&&(this._modeTransitionVisual=t.presented,this._view={...t.presented.viewport.viewBox},this.requestUpdate())}_settleModeTransition(t){if(t.targetMode!==this._mode)return;const e=this._modeTransitionRequest;this._view={...t.to.viewport.viewBox},this._zoom=this._modeTransitionTargetZoom,this._modeTransitionVisual=null,this._modeTransitionPreparing=!1,this._lastValidStageSize=[t.to.stageWidth,t.to.stageHeight],"view"===this._mode&&(this._saveZoom(),this._viewModeSnap=null,this._modeTransitionEditorCamera=null),this.requestUpdate(),this.updateComplete.then(()=>{if(!this.isConnected||e!==this._modeTransitionRequest||this._modeTransitionBusy||t.targetMode!==this._mode)return;const i=this._stageEl;if(i&&i.clientWidth>0&&i.clientHeight>0&&(Math.abs(i.clientWidth-t.to.stageWidth)>.5||Math.abs(i.clientHeight-t.to.stageHeight)>.5)){const t=this._view;this._lastValidStageSize=[i.clientWidth,i.clientHeight],this._applyView(this._zoom,t?t.x+t.w/2:void 0,t?t.y+t.h/2:void 0),this.requestUpdate()}const s=this.renderRoot.activeElement;(!s||!s.isConnected||!!s.closest?.(".editorchrome, .stage"))&&this.renderRoot.querySelector(".modetab.active")?.focus?.({preventScroll:!0})})}_cancelModeTransition(t=!0){const e=!!this._modeTransition.state;this._modeTransitionRequest++,this._modeTransitionPreparing=!1,this._modeTransitionForceAtomic=!1,this._modeTransition.cancel(t),t&&e||(this._modeTransitionVisual=null)}_adoptMode(t){this._cancelModeTransition(!1),this._mode=t,"view"!==t&&(this._editorChromeMode=t)}_commitViewModeAtomic(t,e,i,s){if(this._modeTransitionPreparing=!1,this._modeTransitionVisual=null,this._modeTransitionForceAtomic=!1,this._zoom=e,t){const n=this._stageEl?.clientWidth||t.stageWidth,o=Math.max(1,t.stageHeight+t.editorChromeHeight);this._view=this._viewForModeTarget(e,i,s,n,o),this._lastValidStageSize=[n,o]}else this._view=null;this._viewModeSnap=null,this._modeTransitionEditorCamera=null,this._saveZoom(),this.requestUpdate()}_prepareModeTransition(t,e,i,s,n,o){this.updateComplete.then(()=>{if(!this.isConnected||t!==this._modeTransitionRequest||this._mode!==i)return void(t===this._modeTransitionRequest&&(this._modeTransitionPreparing=!1,this._modeTransitionVisual=null,this._modeTransitionForceAtomic=!1,this.requestUpdate()));const a=this.renderRoot.querySelector(".editorchrome"),r=a?.querySelector(".editorchrome-inner"),l="view"===i?0:r?.scrollHeight||r?.getBoundingClientRect().height||0,c=Math.max(1,e.stageHeight+e.editorChromeHeight),h=Math.max(1,c-l),d=this._stageEl?.clientWidth||e.stageWidth;if(d<=0||h<=0)return this._modeTransitionPreparing=!1,this._modeTransitionVisual=null,this._applyView(s,n,o),void this.requestUpdate();const u=this._viewForModeTarget(s,n,o,d,h),p={presentedMode:i,editorChromeHeight:l,stageWidth:d,stageHeight:h,viewport:Qu(u,d),stageColor:this._targetStageColor(i),paperColor:this._targetPaperColor(i),sceneBrightness:this._targetBrightness(i),architectureOpacity:"decor"===i?.35:1,backdropOpacity:"decor"===i&&"backdrop"!==this._decorTool?.5:1,viewWeight:"view"===i?1:0,editorWeight:"view"===i?0:1,toolbarContentOpacity:"view"===i?0:1};this._modeTransitionPreparing=!1;const _=this._modeTransitionForceAtomic;this._modeTransitionForceAtomic=!1,this._modeTransition.start(e,p,i,this._reducedMotion||_?0:220)})}_slideTo(t,e){if(t===this._space)return;if(this._wallFaceBatch&&this._roomDialogCancel(),"plan"===this._mode&&"draw"===this._tool&&!this._finishWallChain())return;this._cancelModeTransition(!0);const i=window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches;this._activeDraftId&&(this._resumeDraftBySpace[this._space]=this._activeDraftId),this._space=t,this._path=[],this._clearPlanSnapHover(),this._clearOpeningPlacement(!0),this._tool="draw",this._openWallAnchor=null,this._boundaryRestoreGuard=null,this._activeDraftId=null,this._draftSegmentCms=[],this._closingWallCm=null,this._selId=null,this._physicalSel=null,this._editorSecondary.closeForNavigation(),this._physicalDialog=null,this._physicalDrag=null,"plan"===this._mode&&"draw"===this._tool&&this._resumeLastDraft(),this._restoreZoom(),i||(this._slide=e,clearTimeout(this._slideTimer),this._slideTimer=window.setTimeout(()=>{this._slideTimer=void 0,this._slide="",this.requestUpdate()},190),this.requestUpdate())}_pickSpace(t){if(t===this._space)return;const e=this._model.map(t=>t.id),i=e.indexOf(this._space),s=e.indexOf(t);this._navApplied=!0,this._showFar=!1,this._frame=null,this._slideTo(t,i>=0&&s0&&Date.now()>=this._cyclePausedUntil&&this._model.length>1&&this._zoom<=1.001){const t=this._model.map(t=>t.id),e=t.indexOf(this._space);this._slideTo(t[(e+1)%t.length],"left"),this._showKioskDots()}}get _editing(){return"plan"===this._mode||"devices"===this._mode||"decor"===this._mode}get _markup(){return"plan"===this._mode}_newContinuityController(){return new th(()=>{this._resumeSettling="steady"!==this._continuity.state,this._continuityEpoch++,this.isConnected&&this.requestUpdate()})}get _labsIso(){return this._labs.active.includes("iso")}get _desiredProjection(){return"view"===this._mode&&this._labsIso&&"iso"===this._viewPreference[this._space]?"iso":"flat"}_saveViewPreference(){try{localStorage.setItem(p_,JSON.stringify(this._viewPreference))}catch{}}_logicalViewCenter(t){const e=this._view;if(!e)return null;const i=[e.x+e.w/2,e.y+e.h/2],s="iso"===t?Cp(i):i;return{x:s[0],y:s[1]}}_convertProjectionView(t,e){if(t===e)return;const i=this._logicalViewCenter(t);this._view=null;const s=i?"iso"===e?Mp([i.x,i.y],0):[i.x,i.y]:null;this._applyView(this._zoom,s?.[0],s?.[1]),this._warmPatch({vp:this._warmViewportState()}),this.requestUpdate()}_setProjection(t){if(!this._labsIso||"view"!==this._mode)return;const e=this._effectiveProjection();if(this._viewPreference={...this._viewPreference,[this._space]:t},"iso"===t){const t=this._isoSceneKey();t&&this._isoFallback.delete(t)}this._saveViewPreference();const i=this._effectiveProjection();this._convertProjectionView(e,i)}_hashSpace(){return up(window.location.hash||"")}connectedCallback(){this._connectedPath=location.pathname,this._routeDepartureHandled=!1,window.addEventListener("location-changed",this._onLocationChanged),window.addEventListener("popstate",this._onLocationChanged),this._continuityDisposed&&(this._continuity=this._newContinuityController(),this._continuityDisposed=!1,this._continuityPaintToken=-1);const t=(e=this.ownerDocument,Gu.get(e)?.resolved);var e;void 0!==t&&(this._glowScreenBlend=t),this._continuityUnsub?.(),this._continuityUnsub=Zc(this.ownerDocument,this._pageVisibility),super.connectedCallback(),this._motionMedia=window.matchMedia?.("(prefers-reduced-motion: reduce)"),this._reducedMotion=!!this._motionMedia?.matches,this._motionMedia?.addEventListener?.("change",this._onMotionChange),function(t){const e=Gu.get(t);if(e)return e.promise;const i={promise:Promise.resolve(!1)};return i.promise=Ku(t).catch(()=>!1).then(t=>(i.resolved=t,t)),Gu.set(t,i),i.promise}(this.ownerDocument).then(t=>{t!==this._glowScreenBlend&&(this._glowScreenBlend=t,this.isConnected&&this.requestUpdate())}),this.hass&&this._ensureHaRegistryAuthority(),window.addEventListener("keydown",this._keyHandler),this._signer.start(()=>this.hass,()=>As(this._serverCfg)),this._config?.kiosk&&Number(this._config?.cycle)>0&&(clearInterval(this._cycleTimer),this._cycleTimer=window.setInterval(()=>this._cycleTick(),1e3*Number(this._config.cycle))),window.addEventListener("hashchange",this._onHashChange),this._labsUnsub?.(),this._labsUnsub=function(t,e){yp.add(e);const i=kp(t);return"undefined"==typeof window&&e(i),()=>{yp.delete(e)}}(Yp,this._onLabsSnapshot),this._booting?this._bootWatch():this._bootFading&&(clearTimeout(this._bootTimer),this._bootTimer=window.setTimeout(()=>{this._bootFading=!1},220)),this._bootSoft&&(clearTimeout(this._bootSoftTimer),this._bootSoftTimer=window.setTimeout(()=>{this._bootSoft=!1},t_)),!this._loadOk&&this._serverCfg&&this.hass&&this._scheduleLoadRetry(),!this._warmSlot&&this._config&&this._warmAdopt(),this._loadOk&&this._ensureLiveSyncSubscriptions(),this._warmVp&&!this._warmRevivePending&&void 0===this._warmReviveTimer&&(this._warmRevivePending=!0,this._warmReviveTimer=window.setTimeout(()=>this._warmReviveDialog(),0)),this._warmLongReturn&&this._beginResumeSettle(),this._warmLongReturn=!1,this.requestUpdate()}disconnectedCallback(){this._connectedPath&&location.pathname!==this._connectedPath&&this._leaveCardRoute(),window.removeEventListener("location-changed",this._onLocationChanged),window.removeEventListener("popstate",this._onLocationChanged),this._continuityUnsub?.(),this._continuityUnsub=void 0,this._motionMedia?.removeEventListener?.("change",this._onMotionChange),this._motionMedia=void 0,this._vacRaf&&(cancelAnimationFrame(this._vacRaf),this._vacRaf=0),this._refitRaf&&(cancelAnimationFrame(this._refitRaf),this._refitRaf=0),this._dayCycleTimer&&(clearInterval(this._dayCycleTimer),this._dayCycleTimer=0),this._dayCycleClockKey="",this._bootSettleRaf&&(cancelAnimationFrame(this._bootSettleRaf),this._bootSettleRaf=0),this._bootSettling=!1;for(const t of this._activityRt.values())clearTimeout(t.timer);window.removeEventListener("keydown",this._keyHandler),clearInterval(this._cycleTimer),clearTimeout(this._kioskDotsTimer),clearTimeout(this._kioskHoldTimer),clearTimeout(this._reloadRetry),clearTimeout(this._loadRetryTimer),this._loadRetryTimer=void 0,this._connHooked?.removeEventListener?.("ready",this._onConnReady),this._connHooked?.removeEventListener?.("disconnected",this._onConnLost),this._connHooked?.removeEventListener?.("reconnect-error",this._onConnLost),this._connHooked=null,this._haRegistryRelease?.(),this._haRegistryRelease=void 0,this._haRegistryConnection=null,this._signer.dispose(),clearTimeout(this._toastTimer),clearTimeout(this._slideTimer),this._modeTransition.dispose(),this._modeTransitionVisual=null,this._modeTransitionPreparing=!1,this._modeTransitionForceAtomic=!1,this._modeTransitionRequest++,this._slideTimer=void 0,this._slide="",clearTimeout(this._bootTimer),this._bootTimer=void 0,clearTimeout(this._bootSoftTimer),this._saveConfigDebounced.flush(),window.removeEventListener("hashchange",this._onHashChange),this._labsUnsub?.(),this._labsUnsub=void 0,clearTimeout(this._holdTimer),this._roViewport?.disconnect(),this._roViewport=void 0,this._roHdr?.disconnect(),this._roHdr=void 0,this._onWinResize&&(window.removeEventListener("resize",this._onWinResize),this._onWinResize=void 0),this._unsubCfg&&(this._unsubCfg(),this._unsubCfg=null),this._unsubLayout&&(this._unsubLayout(),this._unsubLayout=null),this._unsubVirtual&&(this._unsubVirtual(),this._unsubVirtual=null),this._unsubTrail&&(this._unsubTrail(),this._unsubTrail=void 0),this._liveSyncGeneration++,this._liveSyncAttempt=null,this._liveSyncConnection=null,clearTimeout(this._layoutSyncTimer),clearTimeout(this._duplicateColumnTimer);for(const t of this._glowFadeTimers.values())clearTimeout(t);for(const t of this._glowEnterRafs.values())cancelAnimationFrame(t);clearTimeout(this._glowFeatherResumeTimer),this._glowFeatherResumeTimer=0,this._glowFeatherSuspendUntil=0,this._glowFadeTimers.clear(),this._glowEnterRafs.clear(),this._glowEnteringSources.clear(),this._glowRenderedSources.clear(),this._glowLastAppearance.clear(),this._glowSourceSeq=0,this._warmSnapshot(),this._warmRevivePending=!1,clearTimeout(this._warmReviveTimer),this._warmReviveTimer=void 0,this._warmRelease(),this._openWallAnchor=null,this._boundaryRestoreGuard=null,this._clearPlanSnapHover(),this._clearOpeningPlacement(!0),this._touchContacts.clear(),this._touchSequenceMultitouch=!1,this._touchClickBlockUntil=0,this._editorSecondary.reset(),this._resumeSettling=!1,this._continuityHistory=[...this._continuityHistory,...this._continuity.trace].slice(-80),this._continuity.dispose(),this._continuityDisposed=!0,super.disconnectedCallback()}_onKey(t){if("Escape"===t.key&&this._vacFit)return this._vacFit=null,this._showToast(this._t("vac.cal_cancelled")),void t.stopPropagation();if("Escape"===t.key){if(this._tapConfirm)return void(this._tapConfirm=null);if(this._vacCalConfirm)return void(this._vacCalConfirm=null);if(this._decorEraseConfirm)return void(this._decorEraseConfirm=null);if(this._openingInfo)return void(this._openingInfo=null);if(this._infoCard)return void this._closeInfoCard();if(this._rulesDialog)return void(this._rulesDialog=null);if(this._alignDialog)return void(this._alignDialog=null);if(this._backupImportDialog)return void(this._backupImportDialog=null);if(this._backupExportDialog)return void(this._backupExportDialog=null);if(this._settingsDialog)return void(this._settingsDialog=null);if(this._markerDialog)return void(this._markerDialog=null);if(this._openingDialog)return void(this._openingDialog=null);if(this._physicalDialog)return void(this._physicalDialog=null);if(this._backdropDialog)return void(this._backdropDialog=null);if(this._decorShapeDialog)return void(this._decorShapeDialog=null);if(this._decorTextDialog)return void(this._decorTextDialog=null);if(this._spaceDialog&&!this._roomDialog)return this._spaceDialog=null,this._importQueue=[],void(this._importTotal=0);if(this._editorSecondary.hasOpenGroup)return t.preventDefault(),void this._editorSecondary.closeGroup(!0)}const e=t.composedPath?.()||[t.target],i=e.some(t=>t?.matches?.('input, textarea, select, [contenteditable="true"]')),s=e.some(t=>t?.classList?.contains?.("editor-secondary")),n=t.ctrlKey||t.metaKey,o=t.key.toLowerCase(),a=/^[a-z]$/.test(o),r="z"===o||!a&&"KeyZ"===t.code,l="y"===o||!a&&"KeyY"===t.code,c=n&&(r&&t.shiftKey||l),h=n&&r&&!t.shiftKey;if("decor"===this._mode){if((h||c)&&i)return;return c?(t.preventDefault(),void this._redoGeometry()):h?(t.preventDefault(),this._decorDraft?void(this._decorDraft=null):this._decorMove||this._dtDrag||this._bdDrag?void this._cancelDecorGesture():void this._undoGeometry()):"Delete"!==t.key&&"Backspace"!==t.key||!this._decorSel||i||s?void("Escape"===t.key&&(t.preventDefault(),this._decorDraft?this._decorDraft=null:this._decorMove||this._dtDrag||this._bdDrag?this._cancelDecorGesture():"furniture"===this._decorTool?(this._furnPalette=null,this._decorTool="select"):this._decorSel?this._decorSel=null:"select"!==this._decorTool?this._decorTool="select":this._setMode("view"))):(t.preventDefault(),void this._decorDeleteSel())}if(this._markup&&(!h&&!c||!i)){if(("Delete"===t.key||"Backspace"===t.key)&&this._physicalSel&&!i&&!s)return t.preventDefault(),void this._deletePhysicalSelection();if(c)return t.preventDefault(),void this._redoGeometry();if(h)return t.preventDefault(),this._rszDrag?void this._rszCancelDrag():this._wallFaceBatch?(this._roomDialogCancel(),void(this._activeDraftId&&this._path.length>1?this._undoActiveDraftPoint():this._undoPoint())):"draw"!==this._tool&&"partition"!==this._tool||!this._path.length?"split"===this._tool&&this._splitSel?.pts?.length?(this._splitSel={...this._splitSel,pts:this._splitSel.pts.slice(0,-1)},void(this._splitSel.pts.length||(this._cursorPt=null))):void this._undoGeometry():void(this._activeDraftId&&this._path.length>1?this._undoActiveDraftPoint():this._undoPoint());if("Escape"===t.key)return this._physicalDrag||this._physicalRotate?(t.preventDefault(),void this._cancelPhysicalGesture()):this._roomDialog?(t.preventDefault(),void this._roomDialogCancel()):"draw"===this._tool&&this._path.length||"partition"===this._tool&&this._path.length?(t.preventDefault(),void this._undoPoint()):this._physicalSel?(t.preventDefault(),void(this._physicalSel=null)):"resize"===this._tool?(t.preventDefault(),this._rszDrag?void this._rszCancelDrag():void(this._rszSel?this._rszSel=null:this._tool="draw")):"split"===this._tool?(t.preventDefault(),void(this._splitSel?.pts?.length?(this._splitSel={...this._splitSel,pts:this._splitSel.pts.slice(0,-1)},this._splitSel.pts.length||(this._cursorPt=null)):this._splitSel?this._splitSel=null:this._tool="draw")):"merge"===this._tool?(t.preventDefault(),void(this._mergeSel?this._mergeSel=null:this._tool="draw")):this._wallDialog?(t.preventDefault(),void(this._wallDialog=null)):"boundary"===this._tool?(t.preventDefault(),void(this._openWallAnchor?this._cancelBoundaryAnchor():this._tool="draw")):void("opening"!==this._tool&&"wallthick"!==this._tool&&"delroom"!==this._tool&&"partition"!==this._tool&&"column"!==this._tool||(t.preventDefault(),"opening"===this._tool&&this._clearOpeningPlacement(!0),this._tool="draw"))}}_undoPoint(){if(this._path.length){if(this._contourClosed)return this._path=this._path.slice(0,-1),void(this._closingWallCm=null);if(this._activeDraftId&&this._path.length>1&&this._curSpaceCfg){const t=this._geometrySnapshot();this._path=this._path.slice(0,-1),this._draftSegmentCms=this._draftSegmentCms.slice(0,-1);const e=this._curSpaceCfg,i=(e.room_drafts||[]).findIndex(t=>t.id===this._activeDraftId);return void(i>=0&&(this._path.length<2?(e.room_drafts.splice(i,1),e.room_drafts.length||delete e.room_drafts,this._activeDraftId=null):e.room_drafts[i]={id:this._activeDraftId,points:this._path.map(t=>[t[0]/__,t[1]/__]),segments:this._draftSegmentCms.map(t=>({cm:t}))},this._recordGeometry(this._t("history.draft_segment_delete"),t),this._saveConfig()))}this._path=this._path.slice(0,-1)}}_undoActiveDraftPoint(){const t=this._activeDraftId,e=this._path[0]?[...this._path[0]]:null,i=this._geometryHistory.undo();if(!i)return void this._undoPoint();if(!this._applyGeometryState(i.before))return void this._geometryHistory.clear();const s=t?this._spaceModel()?.room_drafts.find(e=>e.id===t):null;s?(this._activeDraftId=s.id,this._path=s.points.map(t=>[...t]),this._draftSegmentCms=s.segments.map(t=>t.cm),this._resumeDraftBySpace[this._space]=s.id):(this._activeDraftId=null,this._path=e?[e]:[],this._draftSegmentCms=[],t&&this._resumeDraftBySpace[this._space]===t&&delete this._resumeDraftBySpace[this._space]),this._clearPlanSnapHover(),this._showToast(this._t("history.undone",{name:i.name}))}static getConfigElement(){return document.createElement("houseplan-card-editor")}static getStubConfig(){return{type:"custom:houseplan-card"}}static _warmBootReset(t){for(const t of n_.values())for(const e of t)clearTimeout(e.evict);n_.clear(),r_=t&&t>0?t:1e4}static _warmBootStats(){let t=0,e=0;const i=[];for(const s of n_.values())for(const n of s)t++,n.dlg&&(e++,i.push(n.dlg.kind));return{keys:n_.size,slots:t,dlgs:e,drafts:i}}setConfig(t){this._config={icon_size:2.5,show_temperature:!0,live_states:!0,show_signal:!0,...t},this._config.kiosk&&(this._booting=!1,this._bootFading=!1),t.default_floor&&(this._space=t.default_floor);try{this._zoomBySpace=JSON.parse(localStorage.getItem(h_)||"{}")||{}}catch{this._zoomBySpace={}}try{const t=JSON.parse(localStorage.getItem(p_)||"{}")||{};this._viewPreference=Object.fromEntries(Object.entries(t).filter(t=>"flat"===t[1]||"iso"===t[1]))}catch{this._viewPreference={}}this._labs=kp(Yp);try{const t=JSON.parse(localStorage.getItem(u_)||"null");this._kioskScale={icon:zs(t?.icon),font:zs(t?.font)}}catch{}try{const t=JSON.parse(localStorage.getItem(c_)||"null");t&&t.config&&Array.isArray(t.config.spaces)&&(this._serverCfg=t.config,this._cfgEpoch++,this._cfgRev=t.rev||0,this._cfgContentFingerprint=t.config_fingerprint||eh(t.config),this._layout=t.layout||{},this._layoutRev=t.layout_rev||0,this._layoutContentFingerprint=t.layout_fingerprint||eh(this._layout),this._virtualLights=gn(t.virtual_lights,this._cfgRev),this._serverStorage=!0,this._adoptInitialSpace(this._model))}catch{}"view"!==this._mode||this._view||(this._zoom=this._zoomBySpace[this._space]||1),this.isConnected&&(this._warmAdopt(),this._warmLongReturn&&this._beginResumeSettle(),this._warmLongReturn=!1)}_warmAdopt(){if(this._config?.kiosk)return;const t=a_(this._config);if(this._warmKey===t&&this._warmSlot)return;this._warmSlot&&this._warmRelease();const e=this.parentNode,i=this._warmIdx(e),s=n_.get(t);if(!s||!s.length)return;const n=s.find(t=>t.owner===this._warmGen);if(n)return this._warmLongReturn=!!n.freed&&Date.now()-n.freed>=Yc,clearTimeout(n.evict),n.evict=0,n.freed=0,n.live=!0,this._warmSlot=n,this._warmKey=t,n.frameFingerprint&&this._continuity.adoptCompleteFrame(n.frameFingerprint),void(!this._devices.length&&n.devices?.length&&(this._devices=[...n.devices]));const{slot:o,sure:a}=((t,e,i,s)=>{const n=t=>{const e=!!i&&t.place?.deref()===i;return e&&t.idx===s?4:t.live?0:e?3:2};let o=null,a=0,r=0,l=null;for(const i of t){if(i.owner===e)continue;l=i;const t=n(i);t<=0||(t>a?(o=i,a=t,r=1):t===a&&r++)}return!o||r>1?{slot:o||l,sure:!1}:{slot:o,sure:!0}})(s,this._warmGen,e,i);o&&(this._warmLongReturn=!!o.freed&&Date.now()-o.freed>=Yc,this._booting=!1,this._bootFading=!1,this._hdrH=o.hdrH,this._bootSoft=!0,this.isConnected&&(clearTimeout(this._bootSoftTimer),this._bootSoftTimer=window.setTimeout(()=>{this._bootSoft=!1},t_)),this._warmKey=t,a?(clearTimeout(o.evict),o.evict=0,o.owner=this._warmGen,o.place=e?new WeakRef(e):null,o.idx=i,o.live=!0,this._warmSlot=o,this._warmVp=o.vp,o.frameFingerprint&&this._continuity.adoptCompleteFrame(o.frameFingerprint),!this._devices.length&&o.devices?.length&&(this._devices=[...o.devices]),this._warmAdoptViewport(this._config)):(this._warmSlot={owner:this._warmGen,path:location.pathname,place:e?new WeakRef(e):null,idx:i,live:!0,hdrH:o.hdrH,stageH:o.stageH,vp:null,frameFingerprint:"",devices:null,dlg:null,freed:0,evict:0},s.push(this._warmSlot),this._warmTrim(s)))}_warmIdx(t){const e=t?.children;if(!e)return-1;for(let t=0;t4;){const e=t.findIndex(t=>!t.live);if(e<0)break;clearTimeout(t[e].evict),t.splice(e,1)}}_warmScheduleEvict(t,e){if(clearTimeout(t.evict),!(t.dlg||t.vp&&"view"!==t.vp.mode))return;const i=t.freed,s=t.owner;t.evict=window.setTimeout(()=>{if(t.evict=0,t.freed!==i||t.owner!==s)return;var n;t.dlg=null,t.vp=(n=t.vp)&&"view"!==n.mode?{...n,mode:"view",zoom:n.snap?.space===n.space?n.snap.zoom:n.zoom,view:null,snap:null,tool:"draw",decorTool:"select",showHidden:!1,selId:null,rszSel:null,decorSel:null}:n,t.frameFingerprint="";const o=n_.get(e);if(!t.live&&o&&o.length>1){const e=o.indexOf(t);e>=0&&o.splice(e,1)}},r_+250)}_warmAdoptViewport(t){const e=this._warmVp;if(!e||this._warmSlot?.path!==location.pathname)return void(this._warmVp=null);if(this._hashApplied||!this._model.find(t=>t.id===e.space))return void(this._warmVp=null);this._space=e.space,this._navApplied=!0,this._adoptMode("view"!==e.mode&&this._canEdit&&!t.kiosk?e.mode:"view"),this._pendingNavMode="view"===e.mode||this._canEdit||t.kiosk?null:e.mode,this._zoom=e.zoom;const i=this._effectiveProjection(),s=i===e.projection&&this._labsIso===e.activeLabsIso;if(this._view=s&&e.view?{...e.view}:null,this._viewModeSnap=s&&e.snap?{...e.snap}:null,!s&&e.logicalCenter){const t="iso"===i?Mp([e.logicalCenter.x,e.logicalCenter.y],0):[e.logicalCenter.x,e.logicalCenter.y];this._applyView(e.zoom,t[0],t[1])}var n;this._tool="openwall"===(n=e.tool)||"closewall"===n?"boundary":"opening"===(n=function(t){return"partition"===t?"draw":t}(n))?"draw":"string"==typeof n&&f_.has(n)?n:"draw",this._decorTool=e.decorTool,this._showHidden=e.showHidden,this._showFar!==e.showFar&&(this._showFar=e.showFar,this._frame=null),this._selId=e.selId,this._rszSel=e.rszSel,this._decorSel=e.decorSel,this._warmVpArmed=!0}_warmPatch(t,e=!1){if(this._config?.kiosk)return;const i=a_(this._config);if(!this._warmSlot||this._warmKey===i){if(!this._warmSlot){if(!e)return;const t=this.parentNode;this._warmKey=i,this._warmSlot={owner:this._warmGen,path:location.pathname,place:t?new WeakRef(t):null,idx:this._warmIdx(t),live:!0,hdrH:this._hdrH,stageH:0,vp:null,frameFingerprint:"",devices:null,dlg:null,freed:0,evict:0};const s=n_.get(i)||[];for(s.push(this._warmSlot),n_.set(i,s),this._warmTrim(s);n_.size>8;){const t=n_.keys().next().value;if(void 0===t||t===i)break;for(const e of n_.get(t)||[])clearTimeout(e.evict);n_.delete(t)}}Object.assign(this._warmSlot,t)}}_warmViewportState(){const t=this._effectiveProjection();return{space:this._space,mode:this._mode,projection:t,activeLabsIso:this._labsIso,logicalCenter:this._logicalViewCenter(t),zoom:this._zoom,view:this._view?{...this._view}:null,snap:this._viewModeSnap?{...this._viewModeSnap}:null,tool:this._tool,decorTool:this._decorTool,showHidden:this._showHidden,showFar:this._showFar,selId:this._selId,rszSel:this._rszSel,decorSel:this._decorSel}}_warmDialogState(){const t=(t,e)=>({kind:t,space:this._space,mode:this._mode,data:e});return this._tapConfirm||this._alignDialog||this._mergeDialog||this._importDialog||this._backupExportDialog||this._backupImportDialog?null:this._openingInfo?t("openingInfo",this._openingInfo.id):this._infoCard?t("info",this._infoCard.id):this._rulesDialog?this._rulesDialog.busy?null:t("rules",this._rulesDialog):this._settingsDialog?this._settingsDialog.busy?null:t("settings",this._settingsDialog):this._markerDialog?this._markerDialog.busy?null:t("marker",this._markerDialog):this._openingDialog?t("opening",this._openingDialog):this._backdropDialog?t("backdrop",this._backdropDialog):this._decorShapeDialog?t("decorShape",this._decorShapeDialog):this._decorTextDialog?t("decorText",this._decorTextDialog):this._roomDialog?t("room",{editId:this._roomEditId,fill:this._roomFill,customFill:this._roomCustomFill,tempSrc:this._roomTempSrc,humSrc:this._roomHumSrc,srcOpen:this._roomSrcOpen,srcFilter:this._roomSrcFilter,nameScale:this._roomNameScale,labelScale:this._roomLabelScale,areaSel:this._areaSel,nameSel:this._nameSel,pendingSplit:this._pendingSplit,wallFaceBatch:this._wallFaceBatch,path:this._path}):this._spaceDialog?this._spaceDialog.busy?null:t("space",this._spaceDialog):null}_warmSnapshot(){if(this._booting||this._config?.kiosk||"steady"!==this._continuity.state)return;const t={vp:this._warmViewportState(),frameFingerprint:this._continuity.frameFingerprint,devices:this._devices};if(this._warmRevivePending||(t.dlg=this._warmDialogState()),this.isConnected&&this._warmSlot?.owner===this._warmGen){const e=this.parentNode;t.place=e?new WeakRef(e):null,t.idx=this._warmIdx(e)}this._warmPatch(t)}_warmReviveDialog(){this._warmRevivePending=!1;const t=this._warmSlot;if(this._warmReviveTimer=void 0,!t||!t.dlg)return;const e=t.dlg,i=t.freed;if(t.dlg=null,t.freed=0,clearTimeout(t.evict),t.evict=0,i&&!(Date.now()-i>r_)&&e.space===this._space&&e.mode===this._mode){switch(e.kind){case"space":this._spaceDialog={...e.data,busy:!1,savedBusy:!1};break;case"marker":this._markerDialog={...e.data,busy:!1};break;case"settings":this._settingsDialog={...e.data,busy:!1};break;case"rules":this._rulesDialog={...e.data,busy:!1};break;case"opening":this._openingDialog={...e.data};break;case"backdrop":this._backdropDialog={...e.data};break;case"decorShape":this._decorShapeDialog={...e.data};break;case"decorText":{this._decorTextDialog={...e.data};const t=String(this._decorTextDialog?.text??"").length;this._decorTextSelection={start:t,end:t};break}case"room":{const t=e.data;this._roomEditId=t.editId,this._roomFill=t.fill,this._roomCustomFill=t.customFill||null,this._roomTempSrc=t.tempSrc,this._roomHumSrc=t.humSrc,this._roomSrcOpen=t.srcOpen,this._roomSrcFilter=t.srcFilter,this._roomNameScale=t.nameScale,this._roomLabelScale=t.labelScale,this._areaSel=t.areaSel,this._nameSel=t.nameSel,this._pendingSplit=t.pendingSplit,this._wallFaceBatch=t.wallFaceBatch||null,this._path=t.path,this._wallFaceBatch&&(this._activeDraftId=this._wallFaceBatch.activeDraftId,this._draftSegmentCms=[...this._wallFaceBatch.activeCms]),this._roomDialog=!0;break}case"info":{const t=this._devices.find(t=>t.id===e.data);t&&(this._infoCard=t);break}case"openingInfo":{const t=(this._curSpaceCfg?.openings||[]).find(t=>t.id===e.data);t&&(this._openingInfo=t);break}}this.requestUpdate()}}_cacheSnapshot(){if(this._serverCfg)try{this._cfgContentFingerprint=eh(this._serverCfg),this._layoutContentFingerprint=eh(this._layout),this._virtualLights=function(t,e,i){if(t.configRev===i)return t;const s=new Set((Array.isArray(e?.markers)?e.markers:[]).filter(yn).map(t=>t.id));return{...t,configRev:i,off:new Set([...t.off].filter(t=>s.has(t)))}}(this._virtualLights,this._serverCfg,this._cfgRev),localStorage.setItem(c_,JSON.stringify({config:this._serverCfg,rev:this._cfgRev,config_fingerprint:this._cfgContentFingerprint,layout:this._layout,layout_rev:this._layoutRev,layout_fingerprint:this._layoutContentFingerprint,virtual_lights:fn(this._virtualLights)}))}catch{}}_beginContinuityCandidate(t,e,i="plan"){return this._booting&&!this._continuity.hasCompleteFrame?this._continuity.token:(this._continuityDataReady=e,this._continuityPaintToken=-1,this._stagedDeviceSnapshotToken=-1,this._resumeSettling=!0,this._continuity.beginCandidate(t,i))}_continuityStageValid(){const t=this._stageEl;return!!t&&t.clientWidth>0&&t.clientHeight>0}_continuityAssetsReady(){if(!this._model.length)return!1;const t=this._model.length?this._spaceModel():null;return!t?.bg?.href||this._signer.isReady(this.hass,t.bg.href)}_initialSpaceSelection(t){return function(t){const e=new Set(t.spaceIds.filter(t=>!!t));if(!e.size)return{id:null,source:"none"};const i=[["hash",!1===t.acceptHash?null:t.hashSpace],["current",t.preserveCurrent?t.currentSpace:null],["saved",t.savedSpace],["default",t.defaultSpace],["first",t.spaceIds[0]]];for(const[t,s]of i)if(s&&e.has(s))return{id:s,source:t};return{id:null,source:"none"}}({spaceIds:t.map(t=>t.id),hashSpace:this._hashSpace(),acceptHash:!this._hashApplied,currentSpace:this._space,preserveCurrent:this._hashApplied||this._navApplied||this._warmVpArmed,savedSpace:this._savedNav()?.space,defaultSpace:this._config?.default_floor})}_adoptInitialSpace(t){const e=this._initialSpaceSelection(t);return e.id?(this._space=e.id,"hash"===e.source&&(this._hashApplied=!0),"saved"===e.source&&(this._navApplied=!0),e):e}_candidateBackdrop(t,e=this._space){const i=Gl(t),s=this._initialSpaceSelection(i).id||(i.some(t=>t.id===e)?e:i[0]?.id);return i.find(t=>t.id===s)?.bg?.href||""}_visualFrameFingerprint(){const t=this._stageEl,e=t?[t.clientWidth,t.clientHeight]:[0,0];return ih([this._cfgRev,this._cfgContentFingerprint||eh(this._serverCfg),this._layoutRev,this._layoutContentFingerprint||eh(this._layout),this._space,this._mode,this._view,e,this._glowScreenBlend?"screen":"normal",this.hass?.themes?.darkMode??this.hass?.themes?.default_theme??""])}_settleContinuityFrame(){if(this._booting||!this._continuityStageValid())return;if(!this._continuity.hasCompleteFrame&&"steady"===this._continuity.state)return void(this._continuityAssetsReady()&&(this._renderSnapshotAt=Date.now(),this._continuity.markCompleteFrame(this._visualFrameFingerprint())));if(!this._continuityDataReady)return;if(!["holding","offline-stale","overlay-pending","overlay-visible","candidate-ready"].includes(this._continuity.state))return;const t=this._continuity.token;if(this._candidateDeviceSnapshot&&this._candidateDeviceSnapshot!==this._visibleDeviceSnapshot&&this._stagedDeviceSnapshotToken!==t)return this._stagedDeviceSnapshotToken=t,void this.requestUpdate();this._continuityPaintToken!==t&&(this._continuityPaintToken=t,this._continuity.candidateReady(t)&&this._continuity.commitAfterPaint(t,{updateComplete:()=>this.updateComplete,stageValid:()=>this.isConnected&&this._continuityStageValid(),assetsReady:()=>this._continuityAssetsReady(),frameFingerprint:()=>this._visualFrameFingerprint()}).then(e=>{e&&t===this._continuity.token?(this._resumeSettling=!1,this._renderSnapshotAt=Date.now(),this._candidateDeviceSnapshot&&(this._visibleDeviceSnapshot=this._candidateDeviceSnapshot),this._candidateDeviceSnapshot=null,this._stagedDeviceSnapshotToken=-1,this._warmSnapshot()):t===this._continuity.token&&(this._continuityPaintToken=-1,this._stagedDeviceSnapshotToken=-1,this._candidateDeviceSnapshot=null,this.requestUpdate())}))}_onBackdropLoaded(t,e){this._signer.markLoaded(this.hass,t,e),this._continuity.note("asset-ready"),this._continuityPaintToken=-1,"steady"!==this._continuity.state&&this.requestUpdate()}_renderRecoveryOverlay(){if(!this._continuity.overlayVisible&&"recovery-error"!==this._continuity.state)return G;const t="connection"===this._continuity.recoveryReason;return W`
t.stopPropagation()} @click=${t=>t.stopPropagation()} diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 8c13d815..0b864b06 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## v1.65.0-beta.2 — 2026-08-18 +## v1.65.0-beta.3 — 2026-08-19 - Editor color controls now open a single House Plan picker with saturation, brightness, hue, exact HEX and opacity together. The nested browser color @@ -11,6 +11,33 @@ unavailable targets separately, while confirmation still re-resolves the live state and cancels if the target set changed ([#103](https://github.com/Matysh/houseplan-card/issues/103)). +- Doors, windows, gates and open passages can now be placed in finished + independent Walls segments. They cut the full wall depth, move with their + host, keep the same Home Assistant state/actions as room-wall openings and + are removed only through an explicit cascade confirmation. Openings no + longer break the structural wall axis, so drawing a closed contour still + offers the room even when one of its walls already contains an opening. + Space backups preserve the opening-to-wall binding when imported, while the + editor's visual snap guide keeps its physical gap across the opening + ([#132](https://github.com/Matysh/houseplan-card/issues/132), + [#185](https://github.com/Matysh/houseplan-card/issues/185)). +- Door, window and gate contacts and locks now keep working when they are live + YAML entities without a `unique_id` and therefore have no Entity Registry + row. The picker, View animation, lock badge and opening info card now follow + the same exact reference, while disabled, orphaned and missing entities + remain unavailable ([#117](https://github.com/Matysh/houseplan-card/issues/117)). +- Glow now remains fail-dark if wall boolean geometry cannot be built: a light + source inside a partition-hosted window or exterior opening stays suppressed, + while valid interior passages remain transparent + ([#187](https://github.com/Matysh/houseplan-card/issues/187)). +- The Plan editor's snap guide now leaves a real gap across openings hosted by + independent Walls segments, so hover and clicks inside a door, window, gate + or passage no longer snap to wall material that is not there + ([#189](https://github.com/Matysh/houseplan-card/issues/189)). +- Small fixes and improvements. + +## v1.65.0-beta.2 — 2026-08-18 + - Composite Home Assistant devices with several light/switch entities now let you choose the exact entity operated by **Toggle state**. The dialog previews the selected target immediately, preserves missing choices with a warning, @@ -28,24 +55,6 @@ Create/Keep/Cancel decisions. Ctrl/Cmd+click no longer adds an extra point while the chain is still too short to close ([#173](https://github.com/Matysh/houseplan-card/issues/173)). -- Doors, windows, gates and open passages can now be placed in finished - independent Walls segments. They cut the full wall depth, move with their - host, keep the same Home Assistant state/actions as room-wall openings and - are removed only through an explicit cascade confirmation. Openings no - longer break the structural wall axis, so drawing a closed contour still - offers the room even when one of its walls already contains an opening. - Space backups preserve the opening-to-wall binding when imported, while the - editor's visual snap guide keeps its physical gap across the opening - ([#132](https://github.com/Matysh/houseplan-card/issues/132), - [#185](https://github.com/Matysh/houseplan-card/issues/185)). -- Glow now remains fail-dark if wall boolean geometry cannot be built: a light - source inside a partition-hosted window or exterior opening stays suppressed, - while valid interior passages remain transparent - ([#187](https://github.com/Matysh/houseplan-card/issues/187)). -- The Plan editor's snap guide now leaves a real gap across openings hosted by - independent Walls segments, so hover and clicks inside a door, window, gate - or passage no longer snap to wall material that is not there - ([#189](https://github.com/Matysh/houseplan-card/issues/189)). - Collinear exterior walls now change thickness exactly at their saved breakpoint. After splitting a room, a 10 cm wall therefore keeps its full depth up to the divider without leaking onto an adjacent zero-thickness @@ -86,12 +95,6 @@ ([#166](https://github.com/Matysh/houseplan-card/issues/166)). - Small fixes and improvements. -- Door, window and gate contacts and locks now keep working when they are live - YAML entities without a `unique_id` and therefore have no Entity Registry - row. The picker, View animation, lock badge and opening info card now follow - the same exact reference, while disabled, orphaned and missing entities - remain unavailable ([#117](https://github.com/Matysh/houseplan-card/issues/117)). - ## v1.64.0-beta.3 — 2026-08-14 - Large plans no longer recompute an unused physical-wall union on every floor diff --git a/docs/CHANGELOG.ru.md b/docs/CHANGELOG.ru.md index 2c84be39..cad4c7cb 100755 --- a/docs/CHANGELOG.ru.md +++ b/docs/CHANGELOG.ru.md @@ -6,7 +6,7 @@ > **Правило проекта:** оба файла пополняются в одном коммите с самим > изменением — как и остальная документация (см. docs/STATUS.md). -## v1.65.0-beta.2 — 2026-08-18 +## v1.65.0-beta.3 — 2026-08-19 - Выбор цвета в редакторах теперь сразу открывает единую палитру House Plan с насыщенностью, яркостью, оттенком, точным HEX и прозрачностью. Вложенный @@ -18,6 +18,34 @@ включённых целей и недоступные цели; перед выполнением состояние по-прежнему вычисляется заново, а смена набора целей отменяет команду ([#103](https://github.com/Matysh/houseplan-card/issues/103)). +- Дверь, окно, ворота и открытый проём теперь можно поставить в законченный + независимый отрезок «Стен». Проём прорезает его на всю глубину, движется + вместе со своей стеной, сохраняет обычные состояния и действия Home + Assistant, а при удалении стены удаляется только после отдельного + подтверждения. Проём больше не разрывает структурную ось стены: замкнутый + контур предлагает создать комнату, даже если в одной из стен уже есть проём. + Импорт резервной копии этажа сохраняет привязку проёма к стене, а визуальная + направляющая привязки по-прежнему показывает физический разрыв в месте проёма + ([#132](https://github.com/Matysh/houseplan-card/issues/132), + [#185](https://github.com/Matysh/houseplan-card/issues/185)). +- Датчики и замки дверей, окон и ворот теперь работают и для живых + YAML-сущностей без `unique_id`, у которых поэтому нет строки в Entity + Registry. Список выбора, анимация в Просмотре, значок замка и карточка проёма + используют одну точную ссылку; отключённые, потерянные и отсутствующие + сущности по-прежнему недоступны + ([#117](https://github.com/Matysh/houseplan-card/issues/117)). +- Glow теперь остаётся непрозрачным при сбое построения объединённой геометрии + стен: источник света внутри окна или внешнего проёма в независимой стене + подавляется, а корректный внутренний проход по-прежнему пропускает свет + ([#187](https://github.com/Matysh/houseplan-card/issues/187)). +- Визуальная направляющая привязки в редакторе Плана теперь сохраняет реальный + разрыв в проёме независимого отрезка «Стены»: ховер и клик внутри двери, + окна, ворот или прохода больше не привязываются к отсутствующей кладке + ([#189](https://github.com/Matysh/houseplan-card/issues/189)). +- Мелкие исправления и улучшения. + +## v1.65.0-beta.2 — 2026-08-18 + - У составных устройств Home Assistant с несколькими сущностями света/реле теперь можно выбрать точную сущность для действия **«Переключить состояние»**. Диалог сразу показывает новую цель, сохраняет пропавший выбор с @@ -37,24 +65,6 @@ Create/«Оставить стенами»/Cancel применяются атомарно. Ctrl/Cmd+клик не добавляет лишнюю точку, пока для замыкания ещё недостаточно рёбер ([#173](https://github.com/Matysh/houseplan-card/issues/173)). -- Дверь, окно, ворота и открытый проём теперь можно поставить в законченный - независимый отрезок «Стен». Проём прорезает его на всю глубину, движется - вместе со своей стеной, сохраняет обычные состояния и действия Home - Assistant, а при удалении стены удаляется только после отдельного - подтверждения. Проём больше не разрывает структурную ось стены: замкнутый - контур предлагает создать комнату, даже если в одной из стен уже есть проём. - Импорт резервной копии этажа сохраняет привязку проёма к стене, а визуальная - направляющая привязки по-прежнему показывает физический разрыв в месте проёма - ([#132](https://github.com/Matysh/houseplan-card/issues/132), - [#185](https://github.com/Matysh/houseplan-card/issues/185)). -- Glow теперь остаётся непрозрачным при сбое построения объединённой геометрии - стен: источник света внутри окна или внешнего проёма в независимой стене - подавляется, а корректный внутренний проход по-прежнему пропускает свет - ([#187](https://github.com/Matysh/houseplan-card/issues/187)). -- Визуальная направляющая привязки в редакторе Плана теперь сохраняет реальный - разрыв в проёме независимого отрезка «Стены»: ховер и клик внутри двери, - окна, ворот или прохода больше не привязываются к отсутствующей кладке - ([#189](https://github.com/Matysh/houseplan-card/issues/189)). - Коллинеарные внешние стены теперь меняют толщину точно в сохранённой точке перехода. После разделения комнаты стена 10 см сохраняет полную толщину до перегородки и не продолжается по соседнему фасаду с нулевой толщиной; План, @@ -98,13 +108,6 @@ ([#166](https://github.com/Matysh/houseplan-card/issues/166)). - Мелкие исправления и улучшения. -- Датчики и замки дверей, окон и ворот теперь работают и для живых - YAML-сущностей без `unique_id`, у которых поэтому нет строки в Entity - Registry. Список выбора, анимация в Просмотре, значок замка и карточка проёма - используют одну точную ссылку; отключённые, потерянные и отсутствующие - сущности по-прежнему недоступны - ([#117](https://github.com/Matysh/houseplan-card/issues/117)). - ## v1.64.0-beta.3 — 2026-08-14 - Большие планы больше не пересчитывают неиспользуемое объединение физических diff --git a/docs/RELEASE-NOTES.md b/docs/RELEASE-NOTES.md index 92fc7a59..30fe0dfb 100644 --- a/docs/RELEASE-NOTES.md +++ b/docs/RELEASE-NOTES.md @@ -1,16 +1,18 @@ - + ## Основное -- Редактор Плана получил единый инструмент «Стены», открытые проёмы и исправленную геометрию стыков и переходов толщины. -- Управление составными устройствами стало точнее: выбор сущности для переключения, связанные виртуальные источники и назначения комнат без HA-зон работают согласованно. +- Двери, окна, ворота и открытые проёмы теперь можно размещать в независимых отрезках «Стен»; структурное замыкание комнат и физические разрывы привязки остаются согласованными. +- Выбор цвета и прозрачности открывается одной палитрой House Plan, а подтверждение «Переключить состояние» показывает текущее и ожидаемое состояние. +- YAML-сущности проёмов без `unique_id` теперь корректно работают в Просмотре, карточке проёма и действиях замка. - Мелкие исправления и улучшения. ## Highlights -- The Plan editor now has one Walls tool, open passages and corrected junction and thickness-transition geometry. -- Composite-device control is more precise: exact toggle targets, linked virtual sources and room assignments without HA Areas now stay consistent. +- Doors, windows, gates and open passages can now be placed in independent Walls segments, while structural room closure and physical snap gaps stay consistent. +- Color and opacity now open in one House Plan picker, while **Toggle state** confirmation shows the current and expected state. +- Opening YAML entities without a `unique_id` now work correctly in View, the opening card and lock actions. - Small fixes and improvements. -[Полный список изменений на русском](https://github.com/Matysh/houseplan-card/blob/v1.65.0-beta.2/docs/CHANGELOG.ru.md) -· [Full changelog in English](https://github.com/Matysh/houseplan-card/blob/v1.65.0-beta.2/docs/CHANGELOG.md) +[Полный список изменений на русском](https://github.com/Matysh/houseplan-card/blob/v1.65.0-beta.3/docs/CHANGELOG.ru.md) +· [Full changelog in English](https://github.com/Matysh/houseplan-card/blob/v1.65.0-beta.3/docs/CHANGELOG.md) diff --git a/docs/STATUS.md b/docs/STATUS.md index 2ea6af62..2d7577bb 100644 --- a/docs/STATUS.md +++ b/docs/STATUS.md @@ -17,12 +17,12 @@ change must pass through a published beta/RC before stable. Stable release commits are promotion-only (versions, generated bundles and release/changelog metadata). Only an explicit owner-approved emergency hotfix may skip this gate. -## Snapshot (2026-08-18) +## Snapshot (2026-08-19) | Item | State | |---|---| -| Version | **v1.65.0-beta.2** everywhere (manifest, const.py, package.json, CARD_VERSION) — prerelease candidate for the current `S8-merged` queue | -| Current local cycle | v1.65.0-beta.2 candidate carries #150, #157, #170, #172, #173, #174 and #178: the Plan editor has one continuous Walls tool plus open passages and corrected wall-thickness junctions; room bindings without HA Areas, linked virtual sources and exact toggle targets now retain their intended ownership. Publication waits for a green exact-SHA Validate and fail-closed prerelease preflight; stable v1.64.0 remains unchanged. | +| Version | **v1.65.0-beta.3** everywhere (manifest, const.py, package.json, CARD_VERSION) — prerelease candidate for the current `S8-merged` queue | +| Current local cycle | v1.65.0-beta.3 candidate carries #57, #103, #113, #117, #132, #184, #185, #187 and #189: color and opacity share one picker, toggle confirmations expose their exact result, independent Walls support openings with consistent snap/light geometry, and registry-less opening entities stay operable. Stale space/model references now fail safely. Publication waits for a green exact-SHA Validate and fail-closed prerelease preflight; stable v1.64.0 remains unchanged. | | Hidden Labs Stage | #89 Stage 1 ships in v1.63.0-beta.1. #122 Stage 2 ships in v1.64.0 and evolves the same hidden, expiring `iso` experiment with matte walls, a low exterior floor edge, restrained shared shadows and live vertical door/window/gate panels. Flat remains default; editors and `houseplan-space-card` remain flat; live floor effects and HA actions remain unchanged. Public activation remains a separate task. | | Workflow | Superseded 2026-08-12: the pre-1.62 rule of "local edits without tests or commits" is **dead** — since release 1.62 every product change follows `PROCESS.md` (issue in `S5-ready`+, branch `issue/-slug`, trailers on every commit, review pipeline; `AGENTS.md` is the summary). Release mechanics below remain current. A requested pre-release gets a production build plus the smallest targeted unit/smoke set covering the changed surfaces, one tested `dev` commit/tag and a GitHub Release with `prerelease=true`; `main` stays untouched. The complete local frontend/backend/smoke gate runs only before a stable release, after which `main` is fast-forwarded to the exact tested `dev` SHA and the GitHub Release uses `prerelease=false`. Release bodies are short and bilingual (Russian first): only significant user changes get individual bullets, while minor/code-only work is grouped as `Мелкие исправления и улучшения` / `Small fixes and improvements`; every body ends with separate links to the Russian and English changelogs. Detailed RU/EN changelog bullets may link the corresponding closed GitHub Issues; open or partially delivered issues are never presented as shipped. Telegram announcements are sent only for stable releases; beta and RC publication is silent. `docs/RELEASE-NOTES.md` is the current canonical body instance; `npm run release:prerelease -- --issues=… --yes` is the primary local publication path and the manual `Publish prerelease` workflow is its GitHub-only equivalent once present on `main`. Nothing is copied to the home instance by hand | | GitHub | https://github.com/Matysh/houseplan-card — [Issues](https://github.com/Matysh/houseplan-card/issues) are the canonical task records; their labels carry priority and workflow status (`PROCESS.md` §9). GitHub Projects is no longer used. `main` carries stable releases; pre-release tags may point directly at `dev`. Work lands on `dev` and is merged into `main` for a stable release, so `dev` is normally equal to or ahead of `main`, never behind. Push via SSH key `ha_jb` (remote git@github.com:…); API releases via the fine-grained PAT in `~/.git-credentials` (Contents R/W, issued 2026-07-23) | diff --git a/docs/images/06-device-display-preview.png b/docs/images/06-device-display-preview.png index eb84528193c85323b789cbdb0025f65310761143..5d53977d313e2e9ade9989cbe066431d57fd7859 100644 GIT binary patch literal 288221 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%0DI2+F?h}F{M6kjc-(&WxGPt~ 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 r+-QI^7I5p-_ZxuEa2&pXP?f~yg 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 z zWcCC|v!~qc`oY_gEcrFK#=>Ee{p)VW`w@+)9Jary5a!pI$9b+Tq{u&M4lJ6`Q!v$x z|2q3o(a;=C`BUf;f&NN>KcV5 zr7(Q&wC{y-R|r?*@mV^mg<+$j`x5~uvEh-|30Uxq?2T%zg>)B!>U zZMFqjV#c~|+7JPX>W|#yzjb+a*5ix9%uSKZL4amQ*U~M7ehK{l@rZHYujY)H&IMnC z*-JO^FKeWN*=5AKy=TMU4#HP#`w5S~_Jy__FHC0J9_h2pk8zqW+mG|G%12&%oo?p8 zbsOrqD(VlvpdjH-!-BE0lfUa^b{ld3-qVV!88XN%W`$)-6+g6knLt#Qktm$z+QWp> z#z;zlFCZ!wUk32AQ&&Oxl&#Ra$dIxXZYkDQR!*wQTRWW&M^ma7Grsa_-^4iEVjTq4 zy{!mKn0A@?Z05T;yk5=A7oEq5%Bu$tfL{H~>mo8<%PkOa4maU$ta|>B$Lf=w0}9Vg zD}LMi=*dXMj}!GQ?h9FL=C(=(rYI648v9s^HH+0pjLc6=C) zmV<8Gt#F|9T*p^lBl|wn8WRi_G$aKoIZD=1QHfAQNsCg7Wh5#@hCZDxX5uO*-wH|l zwIIb5nTI3POt)^Eleh{c=JlX9wT}T1ajf3D4xkM6(S;yshe4+GnBlpz)TUwSMyMTo zv!UHWWss(RLk{%WuxyA`^&QOe1$d#)I1pLy-DbmJ3hiW68u1Y23@ z)Uyxc=L9H}>7z6-CGjHDE|2ZcCS^vyx}z6Bxoc2z8s=B){x4Q#p>ky&Sc6 zy#{Xn=hu6eiUH*R)dj4!huLS7gb z@6C~WtW?-y0Cr(VVo7WlxlVi~H=WTZqY%U#)h{Qsqk9u79C~xJ`&lUR@oQH=1D5{}>D{J=@3VSBNOX{tv|5;vF`!zR$FNiM1nRSSX2ye8=AATfnz zk)`D(fjx4C#7mL6^L-Jb5*rKCb6p)IZC#p>h>n{b-I}^tm~0V`72*J^WJd|e&cQC7 zBgB5)8u|PQ{M*Edqc0-+?ns><(mw+`9q&x6KG-G)^$pdKWr#nRRF65j7iipObh;Il zpjA8Vn<_oF-Re|Hw>UNxlDH=k2Apd`zGy&&C~;|93GQx|*o_)Qa0ldvd(CO`G`}kG z0El&z<*pw6#*y*DGr=60ckNtGm^8XKM>x-tDASNdW7yrOwFh&VK`@)(Fk+$|@ezs+ z)d`|JaU(sSi~(h=)S*F_2`d~KX+9_{X+AScYgYqZ(m`n`I48O>S`SUN` zTZv%IKy-i9JR!PM&9HF9YvhPzO34?Y;r)+)5gezx(IovAPd=rlS3htf`=`i_hDRWT7o>zVQ+^KrJ7GDRYYL8RTNseX|` zpSu`!;FJ-j-O<=sCmajGNN|X$?f@EcU^ifLLV&oa)Ctseent7!Oj|7Ap5&KqD;9Ps z+%&eYY&+Vrd-iJ#Y=@3xCBtH?&~P@at_@|8MujihgcAbNm6Yu`|VrdAV zs?WYMAQ>$|So<-Fm5D*7`e|arT*o1F>frh3|4X0z2Z;X}X9(={xh1ryJ2AI*%qmxm zd!P`=hSKn@ca!;x~Z`MZ}Oe3`9rq0=fchf;PGfEZhWKXb4Ne2AR1hLfCu00%Z_2 z>&6i*y`gGmIURcOO+!YhBJP59%#{6y7Ayq*Z?by6A_LHta3Tx4=k#Fy?^=%^HzRLq za$D#TyR{L1t9)|j3y}5t+d+usB=~@ccry6~nP{QDK6UbS`WK3_nZjcthRihwb*7Z?|8vud{KJI+4^O6EFg*nQp5J{2!w>q<&fY*hzp|HsyunEyWq0sOth4NOnJM3f7gUt?H`r>SG2$p(UeF4y&k>f}D| z)pznt5~fkqC(|>!7q3&`N*M5dW`EMXaAU0dwLI4ug1m5Y5<(Ycx4<>LZ&&!FiO5X3 zM8Q?4vAEq-F>|NdMuDSw_`AtGjA5tOBA<_tb<<;+Hu)Hn*)$hPR-M^{{?;VpSiX?B zuTGV(Tvt(wqH0DcKZ1Evm+-#?Gr*!y2Tym=7E5$JDwlCUDX;8ESy(dh!N^rH8>zHa zwglco5=MHO6RZ@7SFWEG^6aBUH1END=AU|^Zh&EKzvbv}Q)T4)JMQBVb%_d?*#-akV(r<@o2l z$czvFn*}$^NhAd4+~4C4OlmGQlCeb}C{uZWg1XP%5AAHtaSl+ZEmGj{-t`F9vl)E* zC}?BHSZ*!~v--O%(Ywp#r$-Ak3=p0@iOR$ljV$k+n%Da+=AR40i89$^ep#uSo;%R( zyx15ecF%RO7&oTEedgz!wwDy|h9bnswUGkrZu(}SIqGdwvWUhSOlWIuw9+xJfr%As zd?39$rvWlxo5Y|FbXZF5obRyXlx!cqp(3_>&usA3`d6zNly&t>iOtQvK9R^fOtK) zbL>Dbd|(H>ofx$U*}={aN&k~j1JK&>_M?UeU%q|-jACQ;rTl;1tYhbEE10}^%@A@h zZ1G97jFC}gR6`|MXf7|fm=6_pp|LPC)RiS2?B;SaM#zpWJECORW23g@z020MW2pcc zybi!R*#w~0MAg5J=QuV(>jr6=nj9+|@&N1$fXe!8ucu{a>KU-7MJbe9NuS;tn`iVKUW_+c-RroHa%L5`!m~^rnvmKeTq>kp+4n!5OmRUsf$kyDwq@& z6n~71+oWMq`)708U%{4ST1LJWn>dJ+p{mV&VX5NG^F%&q+2SprNP zdJVt&Xbe$gCrgL~TcC?h6Ms;SJqTW*63iGj=GeiS z^uQqyl?Mns6%OgDpA3d8bxUd=9)5!RaEPr#4q)Q&6!y6^NY;MrpRTi$XG=|EO03TG z^uJP1T@_DGi1OvGf$&8I;ypYrZP#6E&CRMWmD*J;?fxhX*=y-d6|Lh#iH`aM{?MOi zI445nqwL_`Ft3?(# z{W6Rh3jXSz{{L|!D}E0OK}>&WK>xd~ap4<}!7#g>pOKI}6S^IuggHJG^HoMCg!6{h zhpU`M+K&}Zk^D>FECDuRW^GAf&agpAmy2e+1~NN>hy;dA#IOtDVJXcHmLStCFR6m$ z7AOycQ+qUU(&zN6Y7i`Rr!YMU*1ISM@qF%#3&OUY2KCO66lpI)742}a%yw)ANa%JM zkxYRQ%a^eY#_gxaO7RpQ91O8KWGb}o16mjz-`F1j1vv`{%<^=SA6!sjB;125g6H*_ z%IumF6s>)AF{!swg@lnN;viB*oD=GP1_$F_+M5!LHIV}FRo}{=hN{la4292&Sz;_ocfkR{{v(fb`Rm5>G%P@(Jm1fUH zxgYPHQM}-B+{Fua9%p;|5lf#w(VmYfZIG>Z%Lo5jQF54`5@A@1Q%0mBqc=zcrzxst zQ7e7TwAYFis|V+hL$YYfdGP#ug|fbnWsH6yzTwz9r=0i>-Fkp!I1;jGf~!~zWP~?r zn8EIWdIMPe%qAMED0Pj5g}MRUP!E{!OcdnXKBlIwZ2S?)VjeSF-<4iv;?|BcZ4de; z7{Sli2Boe6^niw}5Hvg!N4QlizJEmkOU?8Fml|$Ng=M9&Vb7@j zga_Asu@3q}ZQ=7#rZ6wq)xQo41SUmNOIT7ApuA?{nuCD+4fbZKOXL#F$>`oB4u7>5oTXXY?FNW3NO+)m=}S!uKMH;jJ%E9Ehn_A> z`K*B;LpuE;_W`q|^&aWf{SIW!E`kx>Gu-RwU{tcHB zji2a|dOVTN@EAc1$W+aii0X{YwdN4g{XhhIyoiFHy7)OmjcLR}3M(}B)C7h1EjsB# z>a7%Alzo^SWFb_D6i$RHJ>%DTh8t3@M>+7OH}sUrUD$z|CZuB-FOHuuPSiKieFJ0h z!$ux`y(X|IH7i>P_Tbf}Zphz=QaYqHRO0%%u7ido#M4|9>YE*B+w7mGerV{`dnBpH zao1+EjmVuk+nutOp8&-Z%K(2=JcXH9=TS5SC!tEgpP$9So-~SG%RLdKa-lM{cQD^& z2`1#grt@FHJLkF?UDzs!NS58kq9oL{;BI5_rDivaS!mYzI9$GEG-kf|7&L~QVo_+u zs5-;A@tq-P**}#OGuR-NEkSWCr(YWqoT;qSVWolp!{jwdo`5)4pPl#w>7X%UGq+1F zZOoDE8c(|daRg~hFBe5Qgize_Jv@lKvN~LXtS}*_HLOG- zwciHvpt|=hbsa)XerAjfk`k16g~AI@ywB_$m#mLhg&27pE$(b5X&4qCNG0iQv`F!L zW^uVDTYH}oE<l|>h^gbo+CnJJ4m@`Fm@>ETpRxK>ZA zMaMgyNwc$ognB?)qzmFXfSpkLkN5R2;3NTw?5h%2A~A(++@#8uI_U$CU1JP4LzO7Z zZKqQpp+NM!&o#n|LPM2MIeK}u;c{A196HwoLT%bN*aO87dWHm43&Ifzb1M5g1vsOW;%Ho5%xqQ-Beg{kx?s z%{8~o4t2xPZ7)wDc`b)3UVO)mde~5Vv)X_p#3OG~io_$T2y%5v`1jmZnf&F@7J8FEdJY2z zT3ik;!(9-;Y=+5Ph1~Zmzs7m*dGIIKUgFr-FT(2AFYCRG6OrWe!aa7n)1Oz;TOPK8 zPaN0`90p!ti0*nBUZE{%d&&iYf05Ea{OeASRBZ-*>@hj$8cf0a3wnqug4Ii^rOfOo z!z_vSqW0jb$$uUj7R8>WWvp}#>JW)R3I0rgsVSw@fJr`HA~utiFhx#YDkJ1?R+SC? z5@j7wxNc1``6v9W*&G>bim8r$e#PhyuPVf~6DjdJt|Pn}F2**W-P08nUiKPW^9ez2 zhX76JPv%)D#LGPlrnfx)I)664zP=`lZQ9uiPIui?WoL8zC&q1`Z@>IR``>jCYDM5X z;*xj-1}Y>$J;x<&I&9diyN^FPN}%{~L=JA8CG?1P!xlsZV<| zs?M|M`~-sFQ#CYN?tR1}F0JR*5;%})Q!Kz* z)5zH9$e!94Xc(2K<3+jf*2*HY^arqtDsp3d7?aFD11xN|TX90I!{V~0qbQa3C*roZ z&~uM{?(UYbr7AEAO-Izvp)KCbN+f_exDms}79^>9Y0kiG3-Y zCE)t_{o>P3z(LdAQSsC3zj>1r(-)WzD1hF>aSq~7P5b)!y3?{Y??uNSt%5snNd=qc z12Bp{2V851b0Pb;+x(u>fD6rby!~zdJ*X%*ft+x!&M;ql&aH1w7LwqfoT_ZLr{71O zu2^FPo`W9Wff={Ya*m#`N?|+xx7``@-q>%vwsngUK{N&zybZ-a0tegoF$HF1e=p%rstNhS$2j4nw7_jJUJb@U$O*5J2#+ zOWVGmCTNMn2T?hs%YSifDWacNnW@rGX8;1o(+`@z2aZ8JSznPU61q(@6K z3ud3Yyr_q#|2TPxGD+8GzstOk2TAP`BR`dR4^^rVvX;dUNVgA~u(y}2Y6<}=H>u|> zn~w8sch+rg{r7G6t#^MS&3WHft_S}9)9l}m)sq+9Z3Q#@x~ul;!K@bg%|0?Bog)nT z@N%pD{yh(FN{s)Bx#9A;{T<#S@~9_VJi4Mwv)O6QZrHd&h+OmEK)v2_eJ$t5neMmE zh^0tGel1{%{?CK<&0m!De69BQp9}hj=as_Q6nDu>>H0l3R|s_rU^OG;^XPFW?Ky}z z_PmNl=a1#}Jo)+8Mic-&OV4t?PsPgHRVMIm2C zKwK_7=agJEnI*KSN6O(rimAYMB*HdPtd7VX51CPtpD8uw=m)~UaOPrNL_f(t^9&%q z1f0kjLpMY1+K2(n^AnaXa!9N`rF1sT2p_U!Dc7zW2qAL&UyU3A5dONCwx5Jc0*{=V zVV?Zah|fdl_=tX!@X#;fm)b3x7C$uP(~(r~5OaHOE$(X*_)luy6kXR@ue*syak1sW z01rsbL&JrXJ9GHT-NV+lE=crt`HO=LoS2V~J9DqTfUI&%t&W2M6R}ie{sXJb&Uh{w zG0rC?mf34Ro?WhTe02|=3?F()z-x=7tLxI!|3d;Yl~p5iHiIriCMX=|-*_ygQ(11~ z50&lAbS%(ESfgeAL7`Q-ZT>nyk@MMQ%O!`t5uMmrKE8#TFRWZjh8ov)ms$$GHweeQ zSDsj0m#5S;j|cBJBSP*&P2F8@5Rydb+_>fE!7?QuX)fUp{4TF`tD;0Q;9`5rD>7Bf|TRX)+p?hFxY;!>~E9A4_I4(&&2bhv=tZ1e-PeSgISLLBnGGvhW#PIb__^L+8L-dfa;4R zHO0Rc%%zDRam2peq6Mi!S{&$RtKek{BmZ^fZ@7w7FQ&$UbA3yR1j@jPe*GN* ztM%z?HZ1a(WP8yd2BW&$2ZkXxj8Q4Wkg*_aaf&95QNgPsPn4N7x>QnWqEL5nXtWgeZKz}hL(!V zci)JPmxzfpm-V!|B-dG|*4rOVvNNgc5-$WYLo8Pj^r;dG$TPsZ1V++y{M{L?=jZ}VB3c>-BvlgCwbx}MPx zMc+Zh%x1s7*q4ZN6IWMPTieP;;MHamG6^pstahI-TO#r`m{xP*N=5P5czqamYqc1q zFAzRYe}BY@{MvT=yw=s_Pad)7`nEFuO6&O#ia|#g0)S#z=1-=j!f+xdZ8^=PXNG(C z?0**ERO)ah@(C<7{hdc!rFJEp9shk!?z$1$oQhNQSM?P&D{D!;w4)Dd=3}mu{WshU z3{~Xf9QBB3tB*Bpg!lU8%{v*Qp9WL@5{#C|OlOC%K}j1Lnft*}>uEyHwT$IA6Ph*6qhI*lH|Sn@-bP@6$K?DB?9<3V*z>4-ZQ<@B(gV zz_7G4$KP~YHO#Q=Jk~b;ez@=Tl<(zcXt+D4Zhf1*6{zPZ&vbor)_pMw~@^*u`HEX1snx8v4BoBUAf1C z+AWQxEf*f~8=;|j^@intcb|&^~$pK{Gx|{69X>`{RKRr|$0GGLp z&Z;!_AaN4m8(?-AP@*Be5po=|0L6}R5j<9~YzVzvWpjsZlBiGOvU2(?tXo-%?k_HN zgr8Qq@7rPQ`Zw2-V~B^+)1jX%&8cvm=a@49?O6c8%G&WZQ`u zm!I+tzR03;;zo9Z1^os@f|Z#mXwDfKvh_ns$3I-K)SEGg0|(%*_rdKC=PgLEiTG1ONe3oh)X!F%odM4_n^Qn}{{@+){z>uni&c|<$p~+i zAwPQlKTDyRJ$E=Uw|{^pAYi|VWO7o&VYNi*vwsAH3q-a}tP^;RV#MwvXN^EjzBu8p zfef!3y#mw<9yKpZvp_zd?g)Dp z#oG>nI>T|2Z14eqDFr%6#@OR1!=%Yio-I>1&9n>xc_q@(HPH@Dsb|tlowgDI5D?Vv zh78B$2CrI?w}?ZUsB}wTvGp7#MXM*sOtY>)$TbwO^*g4WYfe zxpQ~KD(+^Cdgs*E=&6*A^-}fvw+j@n2o0cPqbcI&P8 z|E^w3Yj>JTRvwTm&Q-m&=XUY}*PH|a(sJufmDG8mkwoR^N>8p6SSyzRB|L$7G8BHj zONo;dO%53&*u*Ia(@+)Zy;A1j{MrF#eZCW=T6f|Zl@~9`IaSuKMX(+^}FX8 z0d&wgfD>3A<+r^Ke_aS~eQP>Cdl^fug?4oQ1q&OkUeES}%D10Wu_OD?ri=j%~^!Q<(KXdMjo{#Pee zO>yKgUL?lP{l^XtUV6NLm$#f1oJq-kjk|lo;rE)gU-&U>siJ-$cWHnv)UmH6!nN!A zC;T{3Rj6hBXasz#EqOV8nc3o+Oj}8osVK5DTaIknx`{`~zSS_}BQYhmoSVz^_Y+TC zHi>G7rB=$TF$yV_*)%7yp7Dv(eZtXK8+X%n5_}}zbqo!At2@Gh2}u!vbyUM^BWSsk*Wos;0uidK1p%nLx-#A*FWB(XhbW1mt={f`nf&ed=$HOB z@MB-~tta{iIFVo%U9&Fzwf_BX9XtN$@N$gHe81VcrE>a|=XNLh2k-4oXMXyXa%{L3-Pz8>Gk6YVYUy9Qq-!Wo=i%xEJhLz18X+5HLPFc5s2b-fF%d%74M8 zzHHVWF}0RzKv`Nt351kmLIKV-$9ehk1H;}IX?X=ueVN~4j)D@8z=BjO!LnM1ylJme zm-wUf7hF6T_5a7ySBA9}EnSyFDGtSoyK8{pPOw68r?|VjYmnkzDDLhQcXxN!AjQ1} zzVzPve)|u95^|n%&YnH9X3bhBP~&N~B{?w!dtW^3y{XsZx53dPGvDZ5;3i&`!u{Ak zk+1JuYARn?B~n4V0@5KyD#}qMieL7164}KYkWg(j<(+9==-(H?n*rkJMXf1ywB@~7kK)|=ugq~4lgs>zH&}L`=6r5=$BP}aOlmX!KBQO+r zKLf@i7eA7EUE04M+HbxI39cdY>aBj+x{7g!Di;XPWI@CA&Sz3?Jf+h8ki4VjgD4!fgL*p(%@R!x)*g=U(qa(Aew+m3D5_JO{Bv5<9DDfLUsp zO#AEWFI|h~$Y0udI<=YZMGZSOUsa@o&Y<1&lBtC#0ZJ8s*t7P2`_lGnJOrE%A zMA8huz3-`~FwfBYUuU8+x^#X@-A--!mWGV(sGt}DD3rp%2wNGDfl-)LlYf@nOC7MC z;jNXv>zZs_W=9wrEXhmsM9lL*M3gOfy^N)y?|2Ng&*2NSx$f|Ln`}ED2xjHESg+#X zM3&kdn)f<8^b~zef_ek`(=R^j;il=o&uHv5nC#b#ZC zHmkZt{YV@{HP-}hLkpG3d>+6*gUH_(ifc*|@nA|^L>sPMKkoZ11xDE&#r$UN(vehe z!M;d&O8^VxJB<`f$mu#!Pkbz0qz+>ct9;H}l%{nKnaq8?8H{G}+@sPs$pKVHw4l}@i zZwR6aV>VcRM+d4LCVCTmOZEAR=L59}Pk?$=+M+sS5}>4E_d*9_XTBvG{zIWU&F$<` zn5(CWEEff;YYm1C7NJh;*@Aq6^;N26Rp(1B62M9;!4U1$$~cHrnHFY&s80d@9^!4Q#wi!am(lW8E>eSD<* z&p+-1j^$>IR?{@SnL{~Wr7$@j@k+|aL89y_?5KkGus!zK!5S6JApM!LN9O1j|tA zThFYUyI#V7NTzwhPHg2@6hJHWL2sZ6XUzxV+WR`T9_V(!o4Bgj(3DEX_UK$K-X z>?Oz79s$$b?9bJmkRU{MsOgpbOqR#VF**LmKs8?%){UY3yw}Snv}Zud26XQp?+{mZ zoZ!@`x3D(-9W|-FX5Bxd3phq9-brtY2Aw>=_%Y-DcQ&=i&@y3LfrW5`#~jPQE{V|` zUTJ`#TIJ1_WRDqQ$CVYWcfjXE@_W5y4;x=s2_E)HeuvNb#=K`mRk!u_(8eE^l^tTZ(S%#R|vxw{dKoZg~j)Ycg=< zV;yciufhk;G&oA@R{u)4hDxISlkq$O8528*QlLnup+SWm059 zd#JbF*AIiz>i3eh_y*HKtyn_}e-HHk9zcn_!D~x8&J(@8@A)gg-h*4YpHID%B6kd; z`XO-03@RSF%}~-=7H&@#X%$O?sm!=}Gm$3a% zEL9029}FU2d@osLaLW`0e@yz0a+_f=qz6IrJUG6w0mltzXN?^@|CA7KW#1rbpMs&# zyHBcw200k@V?JpB8%h^%jlb~g%jN?~PyXBUn7*E#w*2gV1u_3J71KPSP59zGwDw-}%fv4;+lXVUXsj0-crk4D|=skZP{Mt$B2YjI&pmrU08{ua^gQuAs( z;%`L$ZYV=_V$gQ^(@ddWwd3leWlL&T9mMeqp05=nO1?(e)wp8_IWQ{G4^OOO%IEb8 zv(QAVEBku*^gnMvB-oJeZ!Iya5|U%~D$z)99sL&au#TtT-aGP#qY8Et+%mo2m=*U3 zl(vo(ao`BGb_pEt*eTM$Y0?tvhf$i!a^J%->8SHM4Sm%NdfKSvs@b(l?)_Hr<%4q# zikaTq_L8fx9@_(0orxU;wv$7=T7-i+E<1coOd|l*|&Jug@qc@eOnbdUkKic({$Lb`2<6pOQP*=ylt_$L`*?JUsq zv;;&rx~%92Y`j!rN&Jow&8bZJzK|fev9?wz0=$NK5J4bsNJf&&yIVy1eX`743`3a` z)PxpDF5XHGmv7itl@E&^rI=}h5!JN+d`AqM{vP+f(MR6^YO8V&XPD-#hteEvDXLri zkIml~re7q8H6DWf{LJB8EQ;Wh!}u9=Zx)V}Zj zrL-J~7g**0NuBqK(a54#VxGp|ub3=7qElc09M?yimxUvvFe@W~b}PS;LI)G*sVTN1 zzcFa!(rGwe`o()m=b9~6=q^PQ=OJ~MvS}f&bmKjxE(p&O0p6m~lx67KtMXg`j2d1< zdm%8YA)VRH2CojCkb7Q4a;V1zIqDtk8m1whQPL*ayGPQN&UttHC`8H}0Et)${DG5; zJizJ!-k0%{bkE1|*b5D3R#GpBA=d|3*B@yYNrCb!jI*e=t^2dd^Sn5^*oI#DDbvjd z+(_leP&YutOi)`n63AC;9=*1cP7UwuxH#MU_d>O$xyx4PpH16uzm_R7;U?1+noK0P z55DNGW?ZBhe`|GJxL8SIcJZvH1N;mh_~m+q%OLBD>9=T8+sJ5Et9dtGfXsNdU%%1% z$kXJyC_ssa8tVAFcNZ0}hGFmMy`fEJY2PxNhRyM=y$s*B>86X#-+AD7+SrTqjEf>f zNy7j1*d;Q4?kF(E5XNK*Ob&8BK@RRTz_(4!2d>`JI3B0ykxN>yrjNL2wEKSPgCKho z{D=ftTQ#$Yd5Bgec`o)yU~|bOIe?2^vUrN|uQZ7o8lJZSm*J0AJo+RZ_cNp+Fk51c zj`E2snA{swAsqFCzT2YnFCLBL&<{uvfFX)2^Yl|;hn)RztvAvu1TKRPrP`VfZx{mK zalGok{qEKGaVKoq#Rh6LAcUUf$DM3HQNumYAC9P-1f5!g3fu3`S_ntoOsxsW&FDI8 zz77mfe22dn$g;zEshALNZ_aPWRKajdX zrLoeP<1z9X8-D}9C2Ca+@?oi->uE!hD)$=WbcB*U;bCC#ZWLNfoalYtvd_IO`k*5=qHt7hOnc&2wqPeMcDA7Ab}5wQb4Ng}E+zhQ~*)_n$_3pB~@!u=b|?QjR1b^SWnu~bwuNwRgBJQcc+Dz zz1CiJpbKE)>o%a8Li3V=fdg4qKecvpDZql7MCT$_zsvV4F;w&Tnab~SlIOn1`&Y?@ z1H}AO^8A^8dM2KmQ~O&+f|y?a@Xu9CL-rSugpz~pFSI)^eizfoQ}PV583-uCHb9%Y zB4ax)J&p55mnkCp2A>widU`F`sLKVk0*7~sTxLy|x%HGs^y#c2b#*n9Nz%sq(Vd z*&I+Kb0Eh+2Nc}%OU;Q#Q(}_)9DT-_w9bLaz% zN?^}GAi{V&!cHjiVQtgDRMpSzg3`078wF{lSji0 zU7*AW3|fuvg+gmwD%KZXn%=}&YG{VzHM}qYl`4WJHcg1A zK8eC)07^KW)XNqv>yZ;QCFY|SxMXGr?qISW=Et|X2hxB9qPt9<*Ge>wo7v6@(YDnE zhI}SCX$r0P$l?N-zVK*eRo=m4ChWk5Ro?Cd*JK4Mfk-CUhD)67p-E*o1T zzn?70m{AQbhWJ)+h)b;X{39p}+HG7kLRYh>u4AbRMikXZl!>%c!A#hjv6!OsoLQ17 zwk^q#wy6T_Lq~P53(hyg{{(znkK|BGAC8kAtAjm4Ns=)QLzy%Eu!t5x*Tp4a zUU*%^u86Yt$Kc-rn2-%H;Ty`tn8bR?qHK?(YwbQUc((`s{#9r62W$Q}yLjgS4?i2N=bJ3}idEOyq{O}LTUPshr5>(yt3(`+%Nfr;z4 znkeYgsL`w-0)a(0kck?%E36G+UL|9s1;qXjt&9{aG4(#*bGr6IMPXL|c)N$sn z1K;DT5TKH-Xh@3MBoS7YY3-3XL$wO_`2NOa8?*)YuUFb-0ByP)Il{E#2|mp=WNf?2r3W_Vgb!b^y?p0QPyML@WN z2Q`7y)*JlJh4m*k0zLsgC|`nd3QspJmqEcAF2=e*Otl>2>yV?(Zk&2O2WO*~qvPfc zAK=|I8($d&!aU>%5y_1Ht8oBaN*BMs#b;1g>MMYGT52sgP$en=z%7M_H2$Ix_gA$$ zbQ>6v1sQ8q(T|}shvpaq@+P~XD+d|-FU>T!xI%~Kx$-_COVDgI$X#We%uKK@_84^k?^g{BM0&27=$azn`s{N1MDb)~h31pJ z<53i~-?8tjxtJxJ1&j94wPN;oxnkskTy5S{HM@i-M)EF|y~E{(H@bVsBQ6T|+wBw` ztFb}jk^-c8S-R+A#$IeXAL6gwMV=QwtlL-pCGQUBgN3eOQPFVje%DN4z0W*LUtBWZ zzVI<}@H$AF*w5ojm;RZ{ z7iHj^N&94~&y_E=$?UgLHJ6B006EquUZmYr9t2Iu8P54ZL?vtmWYiwR>}KJN2xdM% zqKUeCZnw|H>#rDV&SR7$DNsT73YDn_(Pa#-F3btyY^?CRPs4OT?v1iM@cz^bsFp@P zCFEc0{80~oY7T_19!LNertONwXGEQCMFy&@HAH@U=xWO|Hf6Yex9Vx0Z#a-ERJ zhx#~`@+JU8Ny$EKvHj}3Ukey?XHa|ZG6Gg5yuuIn_y|BQFD%=o9ZVKEIdZ8IQ2vZV z-0OUq8ame6=#-);rNfJQn%3vCXwm7o=LGYDPbW-pT(v8|!IHMv<6|-JZq|~hzxC4K zUvrqO82e?^sg#GsF;#8h)?LqoJM-W`vR_~mI^D@p3mSZ-o&=}WfJ9J}NK_o+dfO+@dnE%C_9=Xp@PKRo!of-2)J}e4rl56n8H$*etE%zJ5ZTwI{dpI&wk*}XdKT?gQrG!%2NeZRx^O#-1tK*k*m6O!~5}bol z6*hvp(l${r68JiUO9_m?Pxb+o+9;C6=^NU_kU7EE2e6ci$rF@+ zi)^8d7&*|30ddv@ze0tc{WI&*Q?Q@S_v{8jOnyq!N$J7a8;kO&q*oH+iHLplWA+e8 z0wBSHjX*k`t3{G7NhEkUU(j+`<=8Su3>YK}m1$(ciF`>!$|YH9kA&awyPP&$T_4MX zu(WIoyalOxD10=Q!bD4tf48uNZ^??HsL_@HPuz+KzgdWKuyUeOTID(4u}lRlLBaZn z*X6~uuK*HJx0;q)t{Mh~APGL7y-Oz<|^Q>r{Pt>DTd+Ghw5`o11vOOriV#q z7bIuuActn&6Hfqi)aWZXgUswOP`uoB?uaTX}rInf9I>V#P8GNHdWS;h|1?s zIDt&bQ=GyqvZ8(JNrm~j^sjYO-j%R3;Re-Jc4#m}8?uMM%!pW=rcB`DWH!_MNKo3h zjP51}t>AnpCW*!&k`bwf^sX~-sXkh7jgTwbmYj%4M2QY^EQVQtS@h{ROQri19SI`i zJgm@&{}*p>1LD+Px+pOifU}w6IAhI!q%IK)LG%qUH=cOZ#0013gjIp_f zOAS?}Fl;ak+4nrGY4JO9U_VAu`VNKxt_&MAWB~9mF|G+~;)nG1iSe;*F5gr;v?%|i ziAhShzXiu;dEZY``(hAQ083bCOY=AYn)t(25EOVg%Kz>jc9>+gg196b1S3j&x)yR# zvS*l5_lYV9OXp?#@i9I0zXPK3I5c|zk#^Vy|GA%mJ(pygoZ*$kVJ3h2bM=341nNZE zZKN;AmonSrZR(MkSVYl8x1-!e+F<}kQKJ!1vHbi48~+arAed0ZmC&%~GH&^F{)2uj z$!_2i`URcCg<>a4BQOVms!5UN{+}yTCu@eWv!Z-t>@6m3g9{348c!AY8mjC}^`h2g z$~VqU`ipA4SAa5<96|0kSzVCZr5Q2W3fTs~Ukgs=o=AHmITC)zDR*`BH9HYpG8N%SP`ckoKzxdgZwA7Y3cn*eOk)(U$gbYZ^%rFUSb(-Cej&@kh@3W*o&rwUDVbAj z^Q*5jskZX80&6Nzc0DySh+p-eca#@v9OG<2bAw|~y;KsKXtW!oYChbT2pUZAwk^7b zP5I$q)$H_LTk4Ys6R4MY>>KeXnIbEv8%I6$1W61rwWT`txe{lBbsrx@@WiT6uG z-C^JdE~NsB!ntlh$zCF@K>!; zRWF9tm6oU4+FCLWnSk+Mmm~0s)Zo4IW0D7I;St@gj-=BEo$rsOy8?V9Sx31IPdwaw zN2Tets^Uot*Fkkgz-H4H1L@hry}XJKp-+z^G!8e8cfnQ$|IMik4&HxR!V$d|T=2AD zmuxjbpdXEF$4*@)ZC#BYo-L7OlAUq=F8TyY7Y|h~TuhEIPs^rc_}cjym1+#Fw3?I{ zRW%OGfTIi$$LOfrT@xL_$gNn&l9-v8oHXVO&n*mW0M07Og3w18^__=zUX{UR-$c2S zSddFWIW2B4WKT-k>V$x23ltf$CZ{XioG< zBI^o1c6iP`XGNaxB2S*8xjAMl6Oym(&V5nLquarepRL-OQGAcf@gY7eNY!RidN(lG zXUQp|k0-=bYb5Rhz*4*uW)NXeq)!0NxGF>nNK>}CkK@Xo=*&KR$%gd$=&Xv=cxcU< zr9}TlKd!5&@nnI2_u`A-K7YrZqqumbfLoAGZ&Q`=R;wdH88oYKd*-u z^NV%I+hs>%Av>`#V1bvDIF4>_(>YkltwB^Q3BMzB#5|=Cf`al46}RV*iphqi%~`ISD~VWpLovi3VS{nt zqVupstaj>^L7)K7;(z7E_WZl|c;j<4&Q%G-pKQ)!hbbP5{zN-7zwvyn;Hsxv2M6Ws4OT4%~49b zg_XC4G)Rpc6FHYmycH$iesQNeRfq1YU>#%Y@3kho)f$#hy;j-Q6^-5MEz-s$R@Ta% zg>up((-+CGnXdhtU0-e2Sq(ovMdC7TPLhMvHf8%DZ46>85nD7}Gdh(H?i#DIWrQjFw_SLogf zJn{smV?!0f19i5g*AO9Kiz)(T4LE;EhnmiSf8G8AKA(-&F#L!IHK@bXSg6x-%<}E{ zm;XhOEK6ulz~R@M;zAL>ukvy)C)Hh){M;|KAxi1L{o9X!Rry_U{$~SKK#!b_=#D0n z6;YHra^Lq!v~XYELKQbcg=+;(-m~si$mT+tvYJL*GZUJnq#5!?fB$%?sK+kOpBcl@ zNkp0lipYToP7>jj!}gEkocI|W7+}NDlUm4LD#mU@GYfJH=?Zg46`c(j2&748=R{gn zrE%X6a87T8yL`w!GqqeF?`xQiEAzq`VjQi@85)^QqVAea0>)kUN{V|Lifn&iFfAF6 zdl}7xr2lpUf(#L2Ow6u&Q`Zw76F9v2K2m|w!@a}T!k0^lKK&v#r|}k?k9p8H@_ zBV`b#%dU?<-3LfA^;e8D8wypG?7|ph7ekF#wmNPeJ=l`a7)@{>N^6S;Xwi8#0<6{jsTQ4)wVs)9?&dM9#p zzRY#fgHfttX#uTW3QS8YI*9xKF5a1bQK7eR7%@32%0;JV4}txdeI-z#;qoV2Xx^qN zDA=g{TV>gbF-sMXx=|H7x|T7C8}V4o(c!9vE2=9)NMYoSgRQk|G%Bt7#=eer`iKka zAhAw9zeEB#WY$3iXd@a7wi#=xgzGzI11ga-;mE`lo5mw*2n3{xEG3hjZ2oQfWxv)L z?Dsgy-St}icCE`-;=1>3v&rrS?0`&s>@_l`H)HoJkFb#UY^&{vBl|CM?b~O&m+>+E z7wuYI5vqbd(LQ-ZuUyH_)`0d@K6<(8vX_LHPXySaJ{}NiLte&jUC%O6T(vCRw5{M3N(9eyM~8 z_zXO`8^lS~h2DNB$W!lj=h8s7l>4HCiBpBHM%32pg)~c!LH?sGEYg&rO^CpWdUAnw5rwhHUS?XqPdmw?CvR3%9-2RX7}k z(6<)td`rPS-{?4DEL*NoJq=b(+{GsPT*1FYIdU?j;C(F3ryo<3;{s31ECd}Vp{#lS zvzfFhSZs54OS zc2aDu8CajEa=jZ!F#7C946&e0Vz_ax)A=OnTlnGE2mi@rjo^P}S9s5o>xkSz>a0f9 z>KB&;nAYJDWVWh{p<#NyBE#O9iAa?v-jW2hNR(5*g6^pA^}=Cm_t)=7Q$2=E7SD^ov+0y!V-sK zk(-q543FPVDM?>vh5rg(lDD~)GgE&V&}-Xh*$dk$&i3~j>WWeLs`y(61kFGDrM^4RblMn{tuF)GEs5K{PQD!Fro21D#~-nDGwC(x-I)s57@() zUb-EN7%9EFa$LYIb2$0_eV1cFy6j;c@@^H3O1O2^c9EM++I(b3UM?0MUrXxy_7-Yn zzwwM}WWKE&nSwXjT@d*_MVeYaFPu^e&AK@hf!2+^_c!h^puJpkvMBPu zM1nGg+B=jVE8z@6dUoJu7|^{nP3{A`74u%n{p>M9S3zLmtwI(yxGqj<=4JoBG+KI53c4E&%#a-sMsC5f1jgIZm-A2LZr_Xji^+2rA=$QG4DOFG_ z&K&!{npMIht)q(7=`WW%oNB^>j(7!P>o#Fn6_PCgJWcfM9*z z#L{xwTjSfb$kVw&;T+_W@VG9Y4MF19a^Rk;g%{wsca_Zz>l@}geKb6fFKRHIK-C71 z_*RYDsQvWk&E!X+FV~qDEuPQ=;TZR7aeW|Fzt+l2d%SgiyHWV9mAmWr?_KBO4Md!c z$Hx$l5#}<8g`KKQ#KXBo*_+3ledrwPfQ}*?U9n+C=vwlW|IYGb8c@`Lfipf5p^LN3gUME^b^YZ;?VAJinR^V|j}3xi{*W-V_`=?nv0g8NQj}wAQ9=sl z52(|#-NCt{!Y-GyvjIWCdGg2&?|XAq7k>FInd%WYk$hbeR7=|c3Y<#RRrQ!fNvn^u zJ-qDm9A~2WbCuDCGh{LZSs{{}d!sVJ(iTA3LYPQU3>fp+ftA4WR@EhqH_Dsi`)@Pa zCp?42O=euH24ivD)f#);`^mUs^A1|`;T})77D*LmU3{PmJ<>tElhTX&8+p~1g2p#8ozbuL>MU6_ZT1B9G6M3J}E z`jRbQ9dIIkF{Rxuq+ z+_KI-^UhQ2c2~gmW-uzUO1pGgnErDt9PPlUOrNmH2ULPOPYG&PrB6Yc!{2oX)kP>X zkqRxsF%E$?IH(dQ9@eUOHjGx^NHu%6BEI}c{v=?pH%b& zBi59|)A725f}=7Mx#6=S(i(*F^L;dhmtG8f=^;pkSg!5MqU8WRj=}RC!z7vNL{#Da z!Kz>kwdC)%<6c96vQGkAb*sj7MAX)<0_kO&wSeOaeD{0~u{Gk@6wa+$f!#`csU704 z9y!?+-pItjgPq1bHUeA8{QBwIB7r)ypZJ6&77bR81afuDP4B#Guvtg*KEDyK{Mo$u z*E;GpC^Yy(D!AHmpfhF^!xt0UD(gyawkRj8$)zFp*Yn~nHWY`*UM=MJyH^X^kP(p- zhQEIPZ_{Lx`X31;y9G8?X|8t)+=cNAitJ5HES%{(ww%?_&Whp#i*g z`a1dYs@u%ci1voC-|o zEoxNj6obGesEo*{+vH5SqCBWfg)r@2b3g0z)Y{oO4;(JGHo)_tqV?a~hO$Lz8eKI2)**CAfX%`}lf=-gA+;A3FGl{$uXbc*ght*4R43)I;lv+gr90 zKTmsKDlc0SM`faB3PBYw;#41IDgf7?YsLR^Mrnc@X1ZOqy$;MtA_bliLhSa`lSGnQ zc6ZVoqs}M2NlR22D$O`1v&-ao2i|9`HW;^2rg&Z@j;UxtwT3;cWGxX|?2NmZypJtv zW@j!fq(MRO9KLAsNDLA1ZQHg_-dvUvpQ%uul0d;l6rNVWSUD)m4pFxSJopwl6hO?O zu^*bZ6@cPu9U#zj#!=qr6n`*Ua1V&d$WKuz*ct;~H54#d&gW8;Br*IKslmWGw!IP;r)Bq83-{A@jVHiA^e$437F3NprQ%qUWml&t{tY6(aNxpLQv z8HO8;OBZ8y)Npjlc_PO88h8;9M{=0L;BG|}p|?bnFyfh#o3FEJ|; zv+HdnAU;DRSXicGq15kFVL4re0U|6c!v0?e;*u-xZ=>Z?KFzdzdX4}U2kEcn8_ZT% z>pIn|voGx8yD)a*n{qgwl;SeHZF%{&r*mBPK4%ddh++iQr?I#?^V`an`2Tc9in|Oj_Z%=7k^^#q(SGv@%VX+k}{? z%Bn##|7n!+DqYuuO#1QE_1Z#HCH%uxUW+K+8dn?~Z=vX8E1Qm#xItwEKKTCv=;~xC z4y8aCM!e_KC-n}O&p|=8{qt3Vv5b4#sbVvk(5`N!8zDRjA@hM%qJhP5w|047Uapc$ zw|TUBsuya9;UYX9!3ux@iq6kgm8VI}xVHN(q2=ltXGn=OPD6FWumI`*LrFs^jIGJa z5+!qB$jLG+Bgh(fx7U=66k>FYT~ue(80^|O9F)u*7(mrfpeuzlhE&+|aoMpWkDr&n zEzT*7i;j43XX8JyPb=pkO&>-gYxY;AA+LJg+?MYt1|O)d;Z6|kpT|{?|+X` zhiqeQm9CW}LSXu{bWuxc>wX+n5cV4W^<*niUEbW1q%cl0BM4+XolD2gz&F(gTc{)h zrZEvyp0;i)&f|ak$+6LViegxfk5&33kEVZ7WYFoOq+Ix8u8-**f*~%S*hZ$db*NfS5c8MNmfEE zVtyH*c%)SA6q>#RQIPSL&ajV;v(A8pMGRw3gE7EQbd^cmN3vhm+aYn6PA!i3&0>m+M zy^yE41nnqU&>KzB_U^c{ET>hU>zt-FZR+dxQ9Lb5$A_Z-$D#!Ot72g6#ZWc%#Js-UO_q%)$#bUsW!l>u-$Em_5-@-}$a4=> zGj-Lp*y(@gHq-}n$wRxD*tayy#pP9^MV{CX9x%qA#i&uF!ue#{s0nUo`YD40-Uk-s zdaC0>aXzOOLCya@ZHF=u&Pq(nd_gCs8rWGcDseIKc#sRfZ^&HA)up*^nHA=N42GoQ zc^wiveO#)LayV}giD#b98aWnflBc&(*cq@t`M^_8Qex?tDSOBZA@cCY7~@O}KUQBcGtjRaV_2V(>|F-)~Z!YK*1)Lk^E zJ>XNx#WF$?&_t1*Pnf%@hE}u=^Aj9RIa#F-c2)UL6ofxNT`+|e5+Z&V-;%x z>Ko|3&xyo21)*9n;f$Z8{`X)>=`E2?iyh0pP1&daKsG*<7}H?L@I95v`}!$sZ)Wk` zanUZN$90_|1(cP|j@S>DNJFly;Mh{_~G-UQD7$8olAVvbrPo-@KLd1^N7z| zOV9$&G+CCC8^no9nD+E|-tous8yA$jwa9DUC}_5NwAxy)69BH`y4Fa_5yb{VKF>&A z^TA1I1?5&E;4~lR5_i)G{X3UP4L6vmvGE&l|D+~d9yI}kj`{}=HWwyZ;R zYe{*Gg5A2~>$C0A?3C2Q1z-D7{Nb(u9$pl~IF2=dLWCDoqG4AeBE1z~u^qqswU=0e z)y7E%+155kj&SL&6oRP|5LYp<$N{HV=h&3X76kO-5VvqLqR7uHS7p@O*du-`F(Kep z`7xaXfOTmZ$ zWx9I{^U~AXLWtYNio!4*QE?Aa&vTUTC#)Y7TF=`s)qQOA`c49zqSV$V)rONC?9)!gA@5ocA z#9C8NcMcU#%(WAHzpL5)8{eyZ zk2g0ICZ{HP9IpQQ-`vX`M(T>X=ajnd)l9%YRhYT47yqS-PE9{m}D)Mj}^(HFE71?Kj5qRXReS%8>6+RBN!Ad4V0WJ=Iw`XL8G)(@U+4buTL#OYRsHrU6yK!qk&zMR zZ%ysD)WSEv?cc^C5;>+xEsR}mQkcb(l{_W==cY7t96zX8BO~9qkg;TjG+C@wE^a_w z*N-yY&sXZrp`9-m|7TuV$5`Qe$bF`{{8xD;B`K**J=eae7Q4d#p`--9P^6E8OXzA) z-w*laX54wQ16n74SKWF#T*~&b(EzsE^?@x`H;vs91TPl4-s2loEgu9qbs=bpbkT>Q z3xkpgJGS*-$~5$$`X$-V`^9=!ks5z5!-O#?UE_S07mof93n0BkOwWSB)$PfXd@nf;V+tpG6-9J||VpC!y!9 znONqX%}f#>J@p`@8QS$$ea8lhB!@>wq~2#xU_4gOW#(y`8)8AIX8KP`D))L$x<-rP#5_Svy0rPJ87Os#gNAuE@QuNV+u2~VS={W$>9-W)t_dc&(KwBnFPY9?;BT(l z$qheN)ZVkGr;JLh&f#T#E(}DT>Hc8hA&CCtEvyvxdUe9g*fF=Id08jTo@J4+G}|rs z1$eqTE!H9QOHp4lXT$Ti8LT()>h76`xV;%OFUxL5tkjJ2A~j8@z%*xR_;rDW&xo3- zs6SBp`Lv7+j#Uyiq_`;^zH6E4S00&o9S7Xqhj+Tx_9GMQu&AyQBW0k2UucH5!(u%H zG%aCeAcE`5$3$;$20p%+&z%-B&8H7ySW`d*ZqiuOV?*{W3J%n9F{=1j1h$tHBtrr| zE%RJBsqwMA+yRg9%Q{@`$AT#Mm=GuxFiVPqO6V!%BOmn^6)?Hq&yNmbT`*}$RBGqN zmV}gG-tF{qk8F;9@gZ2*5i*@S#@a>n3~!s|w+&00v*)BB?5imJogI$2IzV8#$#=+G z=u-4b3#DSlkdIGq$R;Dsgy#yQhRscOVzc+@)Q%yT`hM~XikX!A`nAZM5*4!ox%&Nm zW}cm4hJU!T%iVjyW{JyvoN<7Z> zYrF=d@S8aC#tIX}mC~jXd6}$|^`bkr^Pr49x&*ZZf=3z3k!e!$jm)20wm{+Ok6+q` zd1;@>y~ktGZ)>5rAO=;p+&6CJn0CvxrNw#rpS{xrhVz8^Y#l8(JJ()lzYCY%6w0)xpKQR;Af_*G>5eof(-yybfpz5Z#&zpF%M zxUPUsP1Igxv~eA6XNQ_*DPWlJ*VK4d9o5QlL%_{NL}~owr`e`TKT|qU=YnPBj;ADs zrkiu)Okq27m%UZ@*N)+%t~)W&2fJ1#YL(ylUf5Ua20(jvs1xy2YPhgvlsOqymLES# z)qCoi9jdsH(|Ak#l4v8DWn@hL7)cOsPGQT3EZOlHHGb5LTFY7>@VO!4HAg_7iHIcL zDx=}ED5Kz?^VU0*6SbGarbRoiN074)JlwDRTQhjs_-L}h{ei3ld~5l7SKZRs-r^U`L&`FR)15N6oJWRi%v1y@xsO~p zod5jfI`}k>@tSG#4bSo7lU)ZnW{=UzIwpRwHafgHh@mqkqt~6=CGtC4j54k?y-tV* zGAsD`0`wI3&L2l+2dEu)b@|L@%9|q-XDLx{Q@=ge78QYcY%F{Den1);k+;}xwX(|8 zUsjplB33>w!Tyy(X5NAltU{4zwm5O9DVJPrU(l>=_x4IIyM(L&FD!XwgMplbUdvxh zdk^hY8kHlu0{1F?dbHC&x5{Jh=yv>KvEQ9X;_5*Jr(OTYe4G=QqwjLgzyC{)*b6na ztoP^h`?FPkKm8SQ95sa5NNIjI2GmAQ9j-L4RKU4A51uX56~f%>tka#65<`w!FUFtH z6<|k2FN}{1i)eXlo){}ON^XDqL{3h2e&qWsGw>)?$5maT!Pdv;c5SHYQAfs>=*rzq zdP7DL&vj~h%$xY#wCAr5oTZzM1G#d{rlbK4Fmj?svw+`q_2^ zij^~iyV^;cC9fN+tebG-y}>bHu|@BBU>rLl5P{xxT-5A-GrpflmOL9&?;?!dZzfr8 z27;w};u;v)m5yEdd!`psG+m3)=76mDy4}NO?X_|h5Q3tve9LE)?ZXBDrOoyvK2t^OT_1rmx6*zkbbCT?HGWU z4?02$wOk2+2%6_SE!b*!x59qYTVKc@9_7W1USw}; zYlykGnv@WrAo}}>C>adooiPJYWh<7h!G{rS4No_8GJN}XvV@&+&2U+yT?SA~qqM9O zzZaN;WpxqNU%5>oCPS$tD=-Gp20P&YK0Ys?zinuI0uyBqz@!8h%Rpq$`9zMMmi}J; z1Jjbkm|#Miz)dQ}kVQpeGKt`94s;mOT_+9so+fp^fK%R`^c&xOB6!$yi9Yh9#>JJ# z*b0A6@jQ0w$s<2u&vNICbzj$sHXj9x`Fw1W&9oad+oeO&(xxtgK6?Jrd?4tK?|L);%_e=7&Uvi~s{q}4z<=x!)T`T@C zuYzWw-yZpRxY%C|YA~44%ObdNCL)x=tzI<=k$)V3_klr4QV63A zYR#5wquC8gQEByj>?MD7FDt3;vv3a*IC3`I!Oaz-$dUDGeerUfUJmuO6Gfb;Wh5FJ7L_9^9r zvqdcKzebmQGJ*%p(M6G)vM*KwuRPmPC(&9@aY$E*f_K&t)4Guo)3z=EA!bQH$QB=t zwzZC9pOObHpL>=igsBOx%*-1%x2SlNOMw>?0;c)%h_>40F%(Lp_$H>vFFx;CDw4<(0la?>8j+Q>g1Kus|CV5&+~WQ8YIs3 zQ98BA{X%P~ZGZy)woeEuxzLhYgHA>N-V<4RN|hf`BwM@0_yEb1BNtN+VSE_qmi?|F zhic9JgIAC_Y)7c1vS;9&887Op=|?g(`=IS`Kf}*3^DFittxRy#mC)X*e`Owua{n=R zf`Ntfk0i~e^^%=**fU>Kh_%{J1*Pli-tSA~L`u&{1=b+$Xug?GD&J3#^xdMqq>gh` z=C1QPa0+TV5z>PLuYvX8DqEV<5P7%&kA?Ui8VZ2o07Ei1t|J3U{a(-*G0qU#{#uOAlrxWe_oF zD6@?6D%hhhy}C?+**rV>Q(DHtHAHgyp2{h`DZ1O#AaE^6co{bdxj8i9v-FP-fHIK3 zl)hloI;cA6NOCK6hlRt-cG;ZA$$ArGWJpgLZOJPJKJ8GaOFVg*r#2IL#1F;ZT4$0$ z4fnQ*I4`-k2Q4}QOQNi#-H*1-y=~))W%7>e>8koPJc5LP_9feH-@qRs8R17W93q6o zGI86X=`k^wQEzZ_4{Fs$#zOL2~ za`Zdees*+Q_NqPp-a#P!;l}U5kpkCyxMhRhytF6@OmP}981^SCymH!M)~0?(z5uzv z`5cOtvYq-@;nP)%LeyTte980}ph+MLncw|UpX`LZt_QSiB6r`PWJ`o%In-lVcwLxR z@ri_+u~`OhjhUEehzL{~FTMnF6^`cB#p=m%F>p^5|G6wzr8wWDs7ble%a2oH4v&ud z{fRIxpaY<>tG!p9uRBj(b)MIIzbC>7Sf(UhUd`{P{c(1AI>ij^ed+-0X9VVGQ7)`~ zlO>&xdjkJ^LEfF9@vIId{n3c1U`kz;n$blGU@u~#hKsPFk_|IU}mhEr$d zc(Ma=X8qe+WVH~$Tq@M5^NH4Hi?>~ji_=&RB*adCFz%8?`W`b`6_(OYo;#kO$2WFO*$T#tCVcd?h9!00y%$(u5!RN0gmrgK^KU9O|lA%oTlRS}unb3ul%kQPO` z0C(ltFhVpPxv<#&)YpIH)_2ccMi=Ib^HjJ>N^2JTC^MR9^va@nbQ08*4cQ!8p|g%O zc=bVYy~XMS60*pZ8BzU+!lnP8e^$9n%4g}v|M7Y2tNZ-JEb zusD$c+&hLz!a|ROxiJ2QYza|8$xiz0MJ1T};c}&I!^ z+bYU1y%Wa3crbCua{}h^Gx|!e>#wdB4B5dfF8wn|7S(Ayf99$5;Dv(pAM*#7G+Zw% z^n1U<^7C_~>x@>r2{XnOuPUD4CPD3DLpGrF1H4J$!VXWM8WZvv5SR^kg2neVJUTVz zoq5sjv?v05eV1=Twzgm;C^fhd(0(9F7jOiP?&j*WSr}n{SLFAa zkjVdeNTr1}(g~S8Hr~C-bE4e2Kk{Ylvda6O{5E-!lz{XqjvV9Ld=}(vzCkm{{mXgo z&ej&WIKc%MH;!}xzV!#GeTyYdSYkx*bs`q{dPs`o+baeL#mxu|)q>a02D;~Qdx`(^ z*OUdJn+Lg9F_3w^>tq_a4PbIU8*w|9KlHo6U)&420G5VLu4MTSRL*}3&XK2h@fH5P z=$wRM(EXtiN*Y)Q#f&SKQGA7j!f5bF%`xNQ_n<Ov;x8C9#=dcU?8GAiC3^ zB@Jqc9u)5yjC^1i86!(y$J5dArTYin`-jkFrcuNsYxi<4O$6^qWlYRB!-tM(p`?~G zGqpKgPejffRud8uc;3wqeW>!qYX4pKsza;X_bRE%2fY@>;%%T6Il?Cka^p?3X58^7 zg0_a?d8`o?IN6;uok>iqSSGv{o?OzGYyj)g(SNsyE;gpka1?F7T}Y%P%e=@R>RyN!4$X$4vtKk&N0HobIvDHYk;Q)k*b8X+~D+o1&UjIMkfwi`PTmer-6o zj9RWAcg0g3gF8G+qC3vnDgp+`T|SwivSxSJQ(P>nKWT>R7KQe`>``fv7*?Tu78~_@10CE|7BOWI$#J?5xG8u3KZWu%4pHEI62A<*xIR0=xJE_8NT=Dqz{!>vgf#k{X zIn5&7`_u6u?shxxvs0k3rC#Ur>Y2g&uV21MMYP!(hFeo#!4xxdS>fg7@z%H~|L0QV zQio(^HIpuHMeV1fo@5D7NVKV0Nea?=tOpP9^Yb^D(MkIHtQV;&MAO(G{;;TQ80r|2U8a_;>&Fzz2XZW0=XmV^m}eRh;JiY8?Ckb9sDEJM~sWYP?HB zN?pN(|I7CwtyOqVu6OZ~9FH&2-TST}^05`Gj2f67*Kak$U6cAQgW)-?vm)x17h%UDzibRcXHxkDs!rVA>Zg)kPRb#Ft;b zS_@UTV1TIPpUBBBqbD0&16p$jcgw9Abw6ichiHe?jI@?NPaXB2i{DKzc3h6Vzt~IY zJl{5Mv{-E5wP)P^|CluJ-)$B*Tt+vrIjk_PnSsVqC6(o3+Z{G6EPQ9cy1KwzYbvn? z%6h$nbE4B)&3jDPgqgP=LbNmMV-QXZGE}#+`mRA7zhLi?^0k7_#tgdEn;7}Sp*5we zjxAq0eJBbuDlH+A@P~$V^^}+O+mk=EzdAF8ypGN2ZYbWW1OWGb`Z`ncth94j^se@; zz2afIwLMh)XD}FTe4#pZENBjYAtC<6$D%+JP?ceTV+YSfpF|IOA`PE2wPE#eb<|w!NJx}@vHejgV3YoR`~C^OJdO=th*Q*v2RaN@A#A7 z7ymo9<@h&ud4!J1Q_l|`2L4jLG}ABAPTX3j{oJYM9c0G+rCJvyX0m#%l=qc``#0K9 zivg-bEn{a>2?sMv;zSdz%Df&*yI!}f1*Zpxqm&mP*YgJB?1!}2+lmW=e~tr^D;nbb zRnv_E1YzurLF2oL>M6?^r(oJYQ7JtOv6Hc)qMs3c4HE#x8q~r`zPz9@Z_hbgzUW`? z0ZmfSnw8&JIMSp7w;md0Ent!FLhw`!sF2J_-_EF>AUEGnd^y;!${(kFgqMZAHhuI8 z6ARJw3|z;>#vk<}_p&4><$$nomANvC9;V=Kj~gp*j%A@k5Dj?sR3l?@xy845ee=H4 z^oh4wa#=I^=J^AD%e2sa!9#L=J2MgGKJSm1S+;t%{Td}jB@zXtdo;Fq|D=`g6X3g< zCF@tw^+-?KK26Uj>(Jj}a*nwHMPhC4V!)MZf9UP#zNFRTk6s46SQ+w9mCS1FQO<(} zrCC0H%&T0s0kH0k1E5nOFWNW9uX3?kTK203ZIaj7*Pzauef0>_#!tpRBLMK#w(LM7 z>HXq>weMo4!m706WTfh0zte~O-*bV1Rq#XYl2ZZVC!=lhmaIHXCR^Cqb@aY?D9ugp zQZv%|$wzvvOPnX$=*NLj^jxEN^ie#*2-Z|3lfjxaWz3XrcOR4b6(3#JAZhRFzgA~3m z1*0fOrStLED1Ks7g`K|3tGn`KPUMO>r*k1<(#p+wuh1Hsz0mql8^HtlBQCNUjh6%c zjuE>k*xJCH6csp>Kv(DV#@R*lp{pTZ>vA4TP=J{&+ z`w~V1)!Q|FS{HA)b*ZBB1Q3wdRFEu=AtmYeA#<%-m_!Aw0+@?WFVLmD#}ug@FF*$D zcvcW-lgv+0w-vW8vbG!zui)v>roft3$RGNo0)ZV*a5`Cx#+rq|$cVpXeqPtNyeszM zenV!8K5MCPjBra#tsPRDH%66O9M;o|4?@RqPa_T0@Zuj>zUY7cgeqJPod(-ZYym$S*h zMhPERtuo>VG~uA-+oh%V9xHBxo1;Y{ZLz|E8!UK2|wI*VZ~B`%N?5=b`-YobU%C>9LyzA9N?J^3#DX(>swK)gd7mQ%fB@i~cl$Am1N z8}CihDrdp`xsk(0rl zc4Am?P?odsRhz2cgI;Kt7b#eP$}9WGluavF{t6!>kQyU8P6g1Cjn7MB&_0?u0rUj; ztXs*z22SAsf(yvsfpG8rb^Y|ue;3==^qNc?{@Jt7;_e%YtzTz&3vU$p zoBvAc>Hef1nf(h6kY*n%pA*O^wJ-PcfbfJ*9!->n{qZHGIlMV*>*7G0p#b~KO~{AJ z`%CwHHuw(

CJEgS`<;Z6FO{-b1{<>H!D5MvW6l<5ZbKLxZ8>M*YYUJXYRH_fnU8 zMN!9(7-HrUhD43z+t7@WR{^f3jgJxBP6i?P9YIv3y!lLSYy33zE}RDp-v1*$S>h*` zJMM!<l4}-*O(QUpjaG<=v1qQ5${7i=1&+42;(la*Z21`+N-mrQg)#d9X8HQbB!pdsgLp z)rQ04Gx|iL$>HvL@&4ZB#KpyRJ;wL>B&!k*OL+#iQ4TXGStw|h9N-`K_-o}7T_j7O-Zo>Q1wJ> zi)*DYSu(~w_*WU!Toe_w)3r{fcPsB`|JrgX%1P}W@)as1#b0?2VBl%}!ESp9`I@Zq z$2fwVuS4hcl$XF|_8qJn#6|K{|41Q()N#{nRWJ!VF7!$WyTLUd`^0Ijb@$ISkC%)C z4bI43u*>&%Grhf@O;!N(=F;Eb-g@`5r!|^dnAieRPekWi@?rE0yQoX2!|cIpZoe)~ z6{q~`SFcgd6{h6qaZS0|uBO)&6Dpxftx~g~O1${V!geZ-Q6k^wNytxLHSe?-avba1 z)-$O2ej-{aGmisVaojWQn2DT4z)Hic|4|MY>b(q{t_siOKNshpG`|VDr+ZCnA9Ja$2d##vN9} zmJuvZaedHpK>6-xgx{n4gv4K@UPav|MI|X%Z2wag4&Uq7(5#z>qD5I-Z!=*Xbh9w5 zB(fwOk+7RUnDR9c?tyP!t%hq(B=fi#$E98;{pC<0=H^iRyDHYoOO17c#z24 z1@|cESO`zd0L)B|XGHd0DImyGJ;*||Qa@KUrRGnVja&KJM4vX+XFh9IQ1V_AUz&Y7 z;gHk3f%;H*LuAkA$Z7HqbpmjP@=82|I($)Cm7avZveX4#Lu3}9HwEYdT}@4Iu&(<& z0zqi62mGeM)6Y@Fr1Pp+u zbAP^ml}{-M7&IWsMtqSWVY^g-(e{lKYI}di^J)A3GENs*Kbu*Fjo5JTc%-u}g;Zb> zT-v8OVRUPh4e=H=8mQU7Va!Sa#c9cWq|lVBrhDn<6p?$6x&MK>ce&-!QlubbW|s~z z%J{orx_5=W&&^_lZSO^6e|!y%KW&jiBLSft~H}U zo|8-FqX0{o)r$R4uBVk3Mb2V7{`nK0Ig{{1da8MWlak|C9mDcE_CG6C;ZwO1GVjLa+BKR?1WZ}>J>aW!evPBD<_OMZ!_(L- zRbpQ*kx1@W%V=AR#{m+-0H?uHozwd|%&o_BnI%MYoofujL_$^XRY!14$t{6w9We#~xx9x?kV!>=5tt;)U z6bxie=pboQ2jk_#!tt%|f1bP;JdWvlQ^RYb8r=iNx--bKFoHdF`W`I8RU3b^;ndqj9gkcW}ZE4G(aB*eS-@Lq_v~)4VwY`zJe4iZT zdj|5k_GcUXRrzflF^~mfmRjKMnH*{bEsTUl%c&xefo4Qw>?gl*veXjgzmSRQ$Np0& zNn$V0zMk)->JXShZs5|%rN^2jG@R@nk@(hwOlOk|-{?4WbatW2R+s?=(z+f^U(?`Z zwbem<4fY{eqD#AVqNjAMV_fIl)aj3xa^s>y_-q;ZdFT6zO6o;Z?9atImMh1M>*@!# z^|51IVq?bjm^7$@gRww33}<@dflx}FE9{yHjgp<2Dt(vR-a&-4c7LUaGroBtHkne&;BpH&dbcfchz6P{po7CN&o{>;%nDSq^{j#&=%QorhBVqRepNx zq{B5EIE`yMpY;5sm)n(g1Y_`) zG*f47a{l6=tplb4@=y;1JCjwn)diygKyD!I0BR}&) za|^NkIeHBnxundq8-HuYgsKu6E*fw}c1z9>YP)%czdxXsnYJ0ZvzjXMdr|!<=qZnS z_{3On@GB}gSa9EQ9tsmlI3P`4{{hk>$m|N5ATmv4RF}JkaJtwhMRuUM+S~c~yqR$0 z)Ei#M`#S^GerVtVq?&7M2Kh!IdGxjQiYb~x4{};AL*2n#@fIw!8WZShGE{${z+RbDrj+74xF~_AErp<&Kf?%&-&BT`{ zX&FpaylxN98V+incW+HPT8I9nIUpDdgoT+Fb+hGKrNEi#gG`R9mI_NR1gAH@g zdMviWa^P-i1DcZmp|(6x21ll}R#EY<#Z$+DE3HWSW9+bp|0U()nkgHW{5-Q$-c-j` z@AMZsakl-DC{9$0Z`a$h$+hgE=hpTymyrnNJ&mop%a4nl*luZQJ89oY zSrs`OZwP5#sA4`ckBbx;RN!@tsmb!fp|J&5#n01RhDh^OMbxBd6Tq$PDHhE2DwQ_S4o9hILC>TYOoWaQYO#vaBp2!LKfD; zxqqreKhxzHf`P$+oZMov`h>p@ST7PS^zAT{Jxx=Lzqz(;ehj{Qye2Tvt-vSNUm1-8 zazq}!cCll#!m+MP`;A>J|DgLw#3UjG#fuIqbyQkGuxn$a5&4^fNX|u2FPgnMy>&ArubZu zL=N^QGZjk99274EueqkH5${(TC);0xW!f(Dr$cB;DuL8%B7?DJ`K25{3g5KS0)&_9 zPx$k#YW6s+>pHHqvMs6UFpH3nwH(7fVtPmu-Fo3DPt!IoX0D;hQV1S6UiCR8MtCSN za1Wvbd@At5h_TEEl5n-9rb@5hYe&@IyiwvyN?BJl` zVcC;f@IB--PtIIDE<{1iF|FA(@33#`Z~Vhr5=86T#wqqmC-u_M&*~RevDPQO6>B$c z=I_@vgC?TBeVbeBzE6Um_byZ)hajIvy|Iv<$6cMu=L;P>Sn56!zc~%B97k|-bIH4W z644-v$qXzZVNf8J8D3aqto^pZFcb7aOP#RyS;05F0*mp(%DnP$yvnBp+J>L3x53zw5*Qg2Mcz31W#7fNmmJF_%+N zX6H8vEGJQCTYG+`E3L6%m!b>2lNE5Gr%{DcX-U|YJ5+@^oWw}ZE_9`L!_OvM7Azps>LTFHUM(16HV_4cawWdh(-0>A)PXWv??>%Q^WMh(N zR&9-L(t7a$Lr$x^c#GS91Fw3GzGqr5<;rKPm;tslC0%}C`P!7Zenhslo}#~$2gmf` z5mC|sv;5?-;)z(L51gRnkl{*O_7VH(19%H74O@$3<&wY3Hia&`-^b=^24aMVTn6#* zMEFU;N~0cw(BF)FF>Ud!G69#80Vrgo^)ocniKqD}sRo@O{PlZpNnz^^Tx-OK1s?-r zB&oL?xgcFK#m7%RgF*EkQS+fHFy5_a>#d03UO_rGt)XL`kUQS|6VfO}NNRX`%zBwE z%Wywdeiu-!SNDiQAmBP^QPGm0RaL(CaS5kf+ zsWrlcIks|oV&Awd9~92o1K~_N?2Ah820!9f&JT2KS`F4P)&!e2-%0t&Y8@=pM?53y zSLDpF5snk!7${Z58GStM%=oZh*?M&J?kF`SC8q^`(BL(MOkh(ta{VK>rrwe%|I6>E z@6X4_EIjY66(b$4wgfx%zA*sNWwH!tNv@)-%tXx6`r(jxQ->mDE$h&1hJu7EN@BfW zS=W!(!UbA`{N~V#je2ALf>89S$ihrF>3GLZ}< z*Mfe8SI@l|C)}V~^D6bkARyk1XfeM1D)^L(%jdGkkM+Lo?tF3gH<9-9yj8V)z(z!} zhbDq?cDCp^T4-KUnd2Q0-Mni7`c1?v;zRmP610Qw+Bo`fx6Q6yv+4MN#Ht?RX?-Ef ze${yy(Mi}6abJ{OD(f}xHY+VKW@o(xB@y{pypo_S{Zkw5PTEg4;LEbdva0%Zu-m?W z%uuHL0upeUnT+f`U#puqgeqU;K9?GGOQdL5L+pU6JkbF}i;L!&TSs0SQGAVhqmU;G zJl|f_-X%L6pI{Xw5?ggpT3p8Kv#iEX_}({}_KCb(=&4kyAnO}Nsw6vDtgxJ8PDghO z>3jm?nMH}D`Fp~_Jn<@zDgOS0#pkU#xK=N;#DV>(j#mkg<~rx(e#!w#hE*jmeIo*YWN@l=BYZ-pRwQ{(bt+B_b& zI|}2e{_x=OF6xD7^6@7}e)MU9_{UOe?M^#Cr8zzc*v;jvM3n_8(0ZjrKC&PYKTAwUg;`h+0iGX8rgC0~GvpJ-pepUce2Imy!iWui{>03wu!a)fx{i z$UZbP#Q2K!$)7>&V$G!Vn90~%N&(NrTeVC?FP*SE^xf$|98+B` DrD7CCZ<$lNJ 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Þh#cC8}Zy0j68sn>~GNwQXW9^1|_jzJ*Y~KE4;a!)k6{u zLe4>&&}+Py$1upT)G+2X((C?CT|B?d!6*xLXJ!gRBQ%F(3b|L)uKc`fJB25oMVBV}HLTOy}^Q&>++|08M2=wYjSz3XPyzSRv;ZF5+eT?rSA z)oA$K+#~gav_;hYtc|*EQNpm-u;_xxtcN1>E3DLc9eznpB%sUw_AE|`wLvqd2z|L< zTRYKaD12kp$Q;KSyO_{$sf0FcH&_i<4D-rKlxSfPBUAwIyl8qOz+AyCC z`UgCP;XwCs=*rd}tClG2My_aKFc`oasQQ?$O{F^-+P;wn#T_Q1j~c1zYX@Fkk($;E za_=DvF$L({Ge*=f-eZHtn*!U=MK~~Z?b3Rohmb)IOAvO$C_|h&RRKH<-{oz`pXrC* z*Kq(r3_TeX!864{q(8-#3lEaJt$?;zG{qH~vK-xG)$bZtWzp`xq0u3_+bqHVM%8e~ zX_4>I%^Tq^w5$qyh}-T9YGTCXxPh)R0>q!W%D+ULq4&yZf4V}C4qF&PtSo{IMK7u7 zvIfP3hYKObRcyOo2hTMNgA9@S34U`7s;kPb1jYs;0|U*q2)a>j1qLqH^?=6L~zqh;8 zqkH|87eD*rEBD+mjL#K~c$E->D_eRfZyad{18uZ?cLMh>ux^lS>=$>$Guy30g_4)N zp4ZJ5nfqn@_L$C_*?ch>RpEX1s;s)n!cd|V#`mXi?_9zl*Wra7@$6Q+1?6C%q%gcC z^6?}DCPVxze7v&Uv+1Sj&^($J6Ui`+j@p~7!}GbM4xH7ZDq%c_X(Prq75Qdob2y(B zlLihZSc!o3n?z@`a;t%ALW*n~hWgFf43DJ<4@znPk8uw1bXK3tG|_noV>R2V@AJUR-rbP0{r~b-QTh*xeD^-4$&mgofCABwb7c0CPNiC!|#`UsxoRyNG@vh<& z9{Q#+T;Zi?{U0=J;D{z?MTX#y%*K$amqlxjS|G+RvKe|J^vDTJS;i!H8&E}iAC$I2 zt&;%8UG%4cTE`NWrQOp;V@caeh+#AsiEQqAJI-obxcg$j`2Ogb(Y`iZS*g#A)=Mn3 zGlNz~!ZsQhGQ%L1rhO+tC~7<<>n4t-OYIUcevxBoN65LIsT+pQS@lG&Mci(+h^DZ% z!D27Vw07d5`C4IN02)??)F-jD1w4#K=pkmHn#brmTdH}`<4Y95cm=&Bagm>YIn5GW11}HtI&c@vjwzW2}y0V5|)h!k|m41gTbm!Si~BU|Uv$}qCNv69vXch-sl|Kj2b_P8q`a~B4GV)tVr2EWzpIy%JdRy9XTvZCsTLh3T?x-Fluep>Ky^S z>ffeQUW)d;P$V!4(HL_HTJmwlW6t#WpYPrO7$Xd!wAE_j%PX95asccQRll?IGgm}f>CKM_5l^&5@%=InVJH!RC(Lzpd1 zTT9(vT%H0TbXSCKL7}f|7igOeJ!iuvYENkj0Iv*aO@2y_VHKclwaCWzH7in~f8^3b z>&B+lm(WCoscT`C6luK$B%Ds#WbMN+zfdG%k?DttNMuq8jO!c0aP?(O{e~$^Xn(cI zz|acOj#g6NEDUH>>`hQ@eAh!DsWpTh0Nj_QE>48Lm4^8Vt6pgP23$ucpjkoSp;AAVsOJOVmknX;xc{O>P=wlPeWAfUq1YJZ+G`9*d0G3(DV7Glf>Fx20QqVggUTxYSBqgHT3!Y8W|%G{|-;bNt^dTw@HgSu$N-W2jb(=D)a? zMM*=Hh+K+d@a$Gi?^U1mdsx9_AjSj96;7*PlcC&0b8lzbWZNH8gl1TlgOEmiP?dXQ zF|O)iRYjtz6#J9Guv!d@GGdS`O0lOzm4wkU5)Mk(8i>;YE!s6?vyF#_-NI&A?2chX zFp6?e#V~fqVl=2DgxVC2R6-uz$DeACZcp#yNyn0m#HQA93w4)_^oEofB^OSlx!sO{ zvM~E&g#f#QWh}VLTz?`&a@VCa*wrd`d}6+UigGV7vN(l3Td%T5Ri{0_-vjp#_X zy;k%kQy;VG=Pp%Y9gn~}RH_58o^WszruKgH z28f?ZyL`H)#<8?JA%*tqTGL#peTKGwSH@u0`DrQ!!(cAZJ0WQ`1g

e-|w+x7! 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 Yw`g?w<>$IADW6ao8(8Q+*2N_LKaE1q`2YX_ diff --git a/docs/images/06-device-editor.png b/docs/images/06-device-editor.png index fec6ef6660178a80b6d9f8ebff7b3220ae49dfc5..5910d291cb5f55dd1f9607844e33bdecb5d98952 100644 GIT binary patch delta 147264 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 z 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�QTm=P1mjkzw0>r>@2_jud9bc( zc*s^J;*wgC+|M;U?E7m_vx&ClVmdfKv^}F#l3A!IQtZeFig!j?ik4ZTh_>GzSY@4W zOR05aR$ws6XgCQSJZ#G>@6jpwnaM_Y*Gl2{>}*HnpovLV5te)VuOF!uEi0Wp zM`_5ISA$U)TyPo|ZK_1P?cj+elJ?fv`sJCVkBaqu7>E46t8M#Ub@6XcKy1G+>?`7m&6>nG3{-cV z$IPZdSX;17Q(lM}a9%%ARj;_Zg{+|k$#mD3vy)*sYU09`pl6pW`C6>_qOcAK3(JDqKg^S)o;1ys+pi}HCYh*`jo|Fr#3LBoRJrW-zlzb3#nLliDZ>G9i3NOpET(%OzxVC?fy9(5T7sD_S zqAENin*w>)CsNFy=5Oo`h{!#&P}}P<<;bUOkoD;m~Y3fM3CO3K45s2gd5kVRJY==~CTuGctNa1r^S@ANjbMr1&df zIctAY?20>cV#Bc8|8&hV%mq5L1f+{%BkO&M+x)aV*!}~u_JObRWr!xK=V&^%sLK8q zLM({a*E3K)QO`r}qg}15o4vQYr)}OsVlN7H^C9|HzxTVRn@gTE{iVE;%L$CP9smdD z>`!a!*1FbmwwH}ze(e^h9?@zQq&IU4o_`qTepYEJ;<4pZj5vYyTGj1Xht^UAcBsn4 zNwxea-0}9F_5*}=AmOOx>Bqy&+IVzqK2i=L;eH37gUMCNLhZu*{H$^4C(O@kpgxj& zD#eQtf3lpfwKy~JQiPi6>@)eCEr2N#!3=)w1;w8pEj#nGv87>Xq2z{3SN-mp)>Jb3 zF^eONkz$X-N){oUU?_YjqnXx9{{K|<-ce0-;kPhNnxP6f5Q;RV385H@2xuVm7Mg%y zLg)~bB2o|2u1Doi%5jIWte& z&)!mO_|e0k9k;R|SDb(ccGrh{CwTWCtOovc3Upc0SDCnR;Y79fnFO#yn$X_n!@mGA zgoxU{eXLDY?8|E+FD|6no?f%^80v0Mx511xUJ&Fx@?AVZq?Dd$3(B z`XG++ptGO-MjlW200ao8NIXc{01tMXx#%c;QtvjU(7`n=lt-%Z%bksLJ#JjxCajtC zea9=aQ<}FI(OM@3o_3=hdh)+``7DkeLpv?Anfj+NFcV7VS5nfjM{#;Nd7{{`0DEVw zj88muu1RpxGh*_gHZQcI&hJR;Ch4JzGgniqtN4kv_AHY|< zSrR2n4(%_%8lIG^HHpMcqk^va=h)~drLT)$8)zxO73LagAzT`kMBl3tp_a?$6oZxx zFQjxqw>vGSJ1ay>ebmvnAZ@8+U|lYY*GPK&6GxfNr_UV4?Fk-~8GggkSJn)l)p4U^Llq;z^H~OT3*lGNW|F?y zb`=(x-z3gUv738=%P>8)3fTl{=_zv`q!w72dCnRh!5^e}-5E|OD&@ge44Ahb7w?Lj zUAw5ohe^L%Laks?V6&M?5HXlWwHs?>M5aIusBDtqa${2kQ;0Od z@pN$^o0t5jL=$Gq2^7rrMJXZGLL6B+Y+HLcm0pA^EyX+Y+z@&3wZmIA$G_4}sy6}z zYN+Ys1@PViaSg{E(byD|kO@z}wY(xb8|yOvLDq;U=QXm@5pl z3-gpCm=#3DgEa%xKh~EK=iu3&7lrOmf~^biX2io}G0_DHE!*hmHk&{gD(#TU`@Y&xS-P&!Uo5T zl)A}_q$m2W+m@XbJm;tSzAqA@=YnfIDt*O{0u~-kVQS*IezMa8uGUhgU@aCIH_X4lx&P%<|)BvV4N*i3ZPce!yA z<*TdQM9I&Wh{DWs`#JNWsUC8+JTA?`LxG0#W(1MoBURL&Ou74bdHs-ASI4m?6!%_l zMr4rv2I>15kN^u$fRY&5Sbr(@S&$+0il>mH=d#}mhQyvfan16|E*ETP2*?n- zZPkgEHW?OCL^_0Pc5;rcE?~ieMN}#D=Z(RI+Z}IJDia_GN58QtY}e%0-M3a5*O=kc zp>y5qQl?V#fbL9|lp%+ko65u-jU0Q_mxeNmaK|!xlubxUAARH2!7{O#T3zEVICcJJ zq`4%pE_2qJoLFT07JXRNX_>L^Q;ZyJ5D^TXc1aBGF!Rj2D9LG?;wh)2Q4qwlxYt6y zj&oDqw(hEWBYxzIeerMm?QkIXP>MxkjYgc0VY&0)vgGNDmXQ!Nb;YT$?H zUZ>jCf^~HctI?I89|!*Mq3bt~&%jx1+BZt-iLwfH7u3Vu{|5iR{BFT+cP{$(_U7gL z6K@-A0t3QiT8?DoL;htC-8?`47296>`0;B>OPQhkjplBF1INslV~L}@egDliwFUD2 z?c61$NX z5MwD)){7N+ic*h}_u>)`GU)d?o4K)Ymj^E17m(gf;rMt@N50qCG$Pn612Ws)i}W3y zPqzH}%_{kr6ZE70y#Jn~Z?@kXud;KgftK3%&o?SV(hX9D95+zzcMfSl7Be9bva097 z`-C#7UUtg=pA9DF{Ou1!iNhb7@d=sEXbAZ^=Ze)E))x5kSP<{(@vh+=7*NIg;)OZq zA6Hj^h<`&o;6c$wwmF1b(o^c0tvp0;DVv$r@nnrG?TaX?shL(gCVDSgW{5!%E4)Yo zpT>0s1UO+oHP0DI|&P50`>@q7l1-Yvg8(@(Qe{E=G&WW zuy6NFt#Q=erFAuo#beUDi1&!6#I5S8kdu9Zzw1ad#hYsC(*?`N6!47VM%J|dJI$8* zdf!vlP~WL6@Q0ib6Tiq|%b@{{626!PY_N3X?IeNFbhl5GlljVN2GUf7sB&jPtJNY* zFf3@rVu^nLm$hz2H#GgHmnA_uj2h!+p^qU`KK`<=_D5gaFo;&!Xo4s)aZhWqmCu>Z zbA=wch{+1soRTRQ4@EF@kvTKWb#~aA^`b=)JTt>XE=`KT(Y9*X=cz2+Owl!LWJ;2p zOI{0D6&P>SL#5}j(mq*ks8<^9PG*e!B(4A8s%7yvIv?oQCxY#Y7-w?GT68dp*gq9YCN6|libBr!$IpmQ*~1DH+alL zy-`Gpl?758?h)X_PJt=`wok2WZ2>kG;uV-5gc6QwXWWqMNiGSV&n2Mp^k+yF8Nup# z_b8-Y$nnI~o@7E%n>W|d+aaHfX0b0H`c`@I+Cjqi1wq9}wNg`mr?6-y#~JC62aR#4 z(dnf*REEBANj9CS#-rQS!y#e94l#`I>So`{4r<%+7Awo0rP%?1Hi zbO;}{`ykFzGkD=%><)5J>bVraP3Mxbk>Unq8H;!t<7N0_DMvat(l^kf+fXNd6)(+z z=I>3;`vF=PiCj}ihiHo+qE}@QePCf?_E&J_VD~CKdjwQncdkG@ck4i=;0hHwo?S*l zdfGOaPveybMK(ebDJA?@v9d6Z?_g;B{&NLT-qpQ+UaX(nO`A%%Fwy@5Mx|GcK~x&y zq7US)RY-L|8@kw~OSw^+*hq($F*HZ|CmU)ef=bL*4fFWvR(x^`83N(5KJuRwW96L;h$G{JJ755&03)7+KU|4J4*nP(XlqFCmqZPQ zBv!q7v+#Ai^JLeM(ica`Sln2i$Nt#7jCBk<89$jR3vIjybvL)M#2jis0rVwU=9L#1$Z{<6OiNnd@rf2{ND(Um9HQ zQCzi*gdOQ4BuUP>nD~W?e9r@C!DKY-naFxJr-CQtY+G8opz;iXjG~HfI$!Cqew~)K zT%>1`INJmf!2iN}1=V_el<<*AX(Amxcrb4G^KE7Yzv-Ar5rmksf&m+l^)LIj(l+4U%Ed=Qo*aT_xrJ@)Fro@ zJcb4wze;M`K-X8)E+ zaj&qRS+Z<|rWforEWuqoP$hC2|BwgZcF|#dNM|{`qM4cTQ+8T_i zWL(JMkV`;h1J8rNkboO>FDcsnX z?+ysn*)a~6T)=J@=4J}-bvdr+oxk!K3oCX;K0AXvh)jDeczoRP8BEu9nl5$m$l_~r zZ0=&EqRHp|gTD+Xw*TbhCgF)`(J5xv8*e*`T@Drd;cs-e#+G=&!#n`0RqMnY9OcAs z?u%P&U608$vc*4bjWEk-&hCjYQ5v6+9JZQGtk*#Eb|+(N-Vd%SLbz;hxW%RUWeiAy zP&!QJZz_)@A|nmJ%;bRdA+yrd-_y3y@5NwpR)Tmqg$q-0BPMgqe5>TS*DHk{eo(0d zT%&dbl6u0)jIZ(Yi!es=(w}rwv52bbUaPe6T1b~qDMeOJkySo-s#(2!cgq!NlosMa zfy$Isp|Rx@~S(1T0ph*)t|f!0L>caTQ9!I;BiZ84Hfn-ng(T$>k= z2p;7P%f|`p*nt5a^7?HOrM-E_y)0T-kvKBtpMG0qJi|qis9kZDfvGqN#aOyrNiRfV z=OkNt6jxNx!Ce&dGMnWET#$MxIn)FQ*$O)qx;gAlkH=8#@*enTy85avE0>JLrcQ%Q zulNJ%*kvcCk0Y2I7=5P2W2U8pwK54ghH&kX7a=gcf$_TEkC)w{oUnC+WR3 zwtnlpGS?O)D@6*g2*kn7<-;fWIXa$G{&uR7)rbP-lW{MbL zLT`z`A`D7@p=w}r65OH`6J0SfOwxMQxmzNWFU75T2rdRXqAw_9s6XKi1eXQ}d!s~Y zY43&hyHu{J@5j_-~soh$gy?N5rrX|Cv4wgdkAc~Hq^&?iYUh3P6ST6yb6tQlF&zdVG84&+@clv$G7@h@b$Heyq{JnBb9 zXXvmU1AhK?CoAx*Y1j$4HNAXcG6X`Xe9{k55V@O12$v^14?5C<8Vlxeb!>1cn#QFZ zSH@k-p|Nf%EJV6k9GEcFSjMsY3IJbHo^GSMht)p{5c4XY`-BPr7tA$5;U%RE@B+f0 z5M-QS${^@gCtITeXctD2YaTAzM5gPsB`vX1vh9_lzdBiockub{+`z>VJ0bY%)7pzT zA3{kk5AUclJ(}g66UtWjtkr)vYA{>!XM8Va=?OO8YHjse6?fVFT1G4h@cY5_hkDg0L0 z|10XE4DUbuf5WH$#ngNu)=TwC{1?Y_1+TS3n(?ip>WQWL-&EhNd-72CqB`czPkzx_1p!g1gZl82OTUVp zw=l2YC9S56%+Cg^A-$hcJ^0+j`EFxTImmijc6dIB5BYF~y@hT)Ko(WER$tuoO*+=M z3|VL1{t{`~!h&=2+ZX(B9n+U5{T~1k>s8!!9Y~Ct>@J%kV@R#;tE=&-dls?nDGPFw z=V0V%%RgFvxmUwCccw^%p=aXMp<&#nS z;zV7yfFONi`-t1@zQHLX!*!6T2b$A5)tq>vjIdwtxsZ#RxCdO6P0ML%Foz3*95$ie z!;JVrl1gWC3%&NLAtZ;L?Ck;A1!$yYu_YYRwJ?aLNwMKpse4r{A+kFnk@6439@sCq zDmbTyU;)QA18Ku4r z#3=fjuw#Y>J?x`1t=Xy*DbnhAU^edCm^lL)M(Sq8Zy@inkzJ_qhMNgV+{EXm#>Izs z)~1Uu&Ol_hzWubLg4MG+ZXlCI8eJ>9BNVbwVGE?>kJ%;&pwX3UB^NX7Bo<8ZCPihc z8OZT?Ul9fw<>U_CCRXI(_eYLV@>vjVLHd6l4UkqWLV=t9`A|Lfe2L?Cz#TraN+byw zm&;WP?oa(xAWK3TMkm0c`Sn|jxZ{Jk&)=Xgz!d9-&K+)^`f-3f{L+yRrTTv2xwE9A zNP_v3ZqGX%sbk@6W%$lP1UpriB;4SfQ9;4YW_P zq_7E?Mney7H>A5cBTiuCz;ty0J=GMHCozSuR3IPwX@b@@YG~FO*y!B`<}1Pgf2MWK zgQ3(Ujo-?$&nq->;7`=#!jgk{_Noq^GRvzBJtc=7LXd_ZZC%GigO3ijv# zutMsj=}{_dn0p*PSIC_Rn>nyfefmzQ09(Ap%obexdDZ*x&OL<_BX!D0NrqiO!&7=$$xJ$TLwm?&951SNn*IyidplPWAuVcPjyCQ2ReTjIVVelw8!4N7;L89rD! z#vbL0PP~HB0#2N6mbL>OXf$>{=FV@M<0l!Tcd=?&Ev*4L{Y1hP1`w-DZ|wkCPub zc+&3M1HW&2_3lMC;bk1h{cM4!CH@5y7@SiyrHm|@Rqq;|^?NDR=MDA?6tun^A6>X? zfdJpUB!n0FJWiUB*}Kf-``V-*GVU)kbuEhrF7fNk@)v{?@5GO`c=WO73InY1$wzsH z_APN!R9?nVjp=ow`LkWO4-&t3J1J0i$cZ{7hK2Pr2>9~qy1b;r*{d2qIxzA;lMh0* z&I*`Ob(D7(#Jt{NhRu{S7^;~oS$*`pFpl4%&nV>NCh!84r$Bs$v=jOI^9`*m zTEBn1D6OqaNj;*Fcg<7|jd^HTuRCDavgqiHY7OwdqLFMl$qVGjEKgu!A>-lrZ(R7C zGO_yP9bEl32`RK1={%50fkfkF{yJxJ8W~Qa#VL|4`h0~+38IOQ=oxYmt45B{P)2fqxqgN0yBhbCosIfO(v886vT~0;d9g-~ z*7U}mNGwhm`FP6V;M&k9@psKraDk2n?*0z3#x3PZXRhvNl7KE@JA|`$VtQE~G=syF zdONJvsS` z>5`@DC#~lrlADJ#{`2l^<9zgNOwBD$fQ<;2QJb0mn;`+E#7uw6^6?^9Fk8EknWBQCzFqu)8K-sQorK;BR66W<@(Z)rO zUkX*T=*7o_o7u7_l6G%Zq!t+!mq0+bLJ+7Wdo@fGD$v1}_fDefTo(t=DYoHp?Hp#> zj6ZAZ7W&#F{+-xbn%6zD$V=Te_mz4;yYXj}dueD|#_E25L>{zzC{8IlQ@wzj$xZ;_&XgB-&*=j`nY(6|b zCuYIddst#!cmc9rQCq~>oPxDa>v>kAtU4|2Gd7*4KuT!sC8&aYxaQ3gWD*a&_;oJD zElNlxD5TB(yb_W#`3Wwc2DNP0f|}<)v;K<4WDqK^2Z>4wekb!{lt1hOPw3HpstDR= z3ldk28X9v~#sm49#7?BAar2Bg*$H`k&JQ^813pQYb-kV10~5y!!ZxrJ!w9~gfR`h3 z{ynRAaA5=o)^)c9a{KML?1D+47sNNQJ^5a8b3^uQ7pqzp311th3`mYl!%j3+z>hlu!&1d`}@1tDC z*|^SGLrXU8?M#kO;=g-G6wuq;KV^O+xo_?3f=;p+G)ctNBt=;tD58|mS*i zvrT+^xSq2dW|6+ZAWokD)m~lYv|#PBCj=)yvbmMY)u1FxkL_2^;-}A%m#}NHzx=w> zw-cV(4wA1EU8bTqt}M5R)wS9VMgS_HH7wye_OT783tLU%ouv7PE0v(FO>5(N06N}vMfa(V-!Z8nv^~l{k z4);S(n@h0aq7LQ`j*&4knMBg*CT4lC()^*nF?Rvmz3)G~+9bn?JtQr2vxIXVUJVCC zw6SbmK|kZCRK+m!VR@T}4K8yZW~Z2$`?yE!maY0}fIF{CU$G2vK*a_AG0GF1Zg0Ou znKKckdnVjlp=!uR_b(q^EjY=`%)UcW&B6ffTM(9-e&w=(j|E_9!;CAUx|rzIP6z+d zJeO(t;xtN9Ftb5e9xlnSZ7iIw^(`!>VQ&-tF!jb)wU`uxC{Q=M{cG5(18Ul>mO5Zu zbWs4G&a9u$CRZs-cr9ZAO(Nw#??(wJsg<1)jk1ix9IA)AgHz)k9Y}l?7gV4BH#z^s@&f z#@ zo}Y>jlqkX7F7{b`VWbssMq(A~Snf?LsB^~7^d^UbzzetfT2YUse7FLBKQbM+**wjN+P0*7J;2K#w7-7BM@SVF-^ z5#m~+GRqe;kHp(5-R``!XLv3$3wmO44~;~$uJs4np9293yo!9NX+-kjpORCYT7g4mnLl&i>f`ik@5zgdtqP$xjUdK z;U<)P$x~|ouFnZ#^rH`SqSdeva8E_0xe{8&2~=Dgaoe;k`tf~nluVQ09ZaTbQA`%V1ld}d zr}(7Voconp%sJl{q-qwrLr1ETjZ_D^%MGHEzS-;yMWg1w>eQwlbC=pfWKM2#;ZapQ+3j?z5MQyfcVc=_INkN zbzO2t;p+OQ^9MWsYIo%uG$hmrhaTv5gp>2Vp9iL<(&3V#V@BXPhEz@uR|Aa;@TyuE z5XSy}U+CLM`lo|TSTwKG=*mYIRG5#037L+J2XC$ylR7}e)zT9Sr{BSH8tQxjKNpTs z$Wz8dC;1vEAq^eJwEm}V;l-9~qKr}kqbpoiz}IAwn*@sw@awl1n8 z+=J*mpGMimUzWgaPKX8s&$)${A9iyJd*WbZ4s2mZ(a&!N%Z zUW{59zs63MKnfnjIxVBR*g+gOrG6ehAh+7kpU=Bp z7R5gXh@j)-$a*h#lBC=SJ4!E|8l8ty#SJrMY#aU?jARXRy#0e93*93_1OL0I@_%mg yo16TA=4W83si^+_TljlTgo=ua{=ct`mP!!Cm&}%iGoW0d($_K3uDyed`u_m_!K?8A delta 147255 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

Y);vnZ|wd3i3 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≺g9@R!*7-@72+TAck_Vu3Ch~q`ts-4T@rEZ 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 F{{o$2d~W~% diff --git a/docs/images/screenshots.json b/docs/images/screenshots.json index 9effdd8d..101d30b8 100644 --- a/docs/images/screenshots.json +++ b/docs/images/screenshots.json @@ -1,7 +1,7 @@ { "version": 1, "fixture": "synthetic-only", - "sourceFingerprint": "b324ee6d7896c4c2aaef51f5681b4818a6ffae5d779bf9d38faaf85a0d998903", + "sourceFingerprint": "9cf7a16bbc4f0bde8ec29d7b58b52e0f616fc14601a183ea1df347477321a5da", "captureScriptSha256": "34f2219790d46efd8250e7a1bd829cb8fc0b0547e1260635fefa52407551b41b", "command": "npm run build && node demo/docs/capture.mjs", "scenarios": { @@ -13,7 +13,7 @@ }, "theme": "dark", "language": "en", - "sourceSha256": "b324ee6d7896c4c2aaef51f5681b4818a6ffae5d779bf9d38faaf85a0d998903", + "sourceSha256": "9cf7a16bbc4f0bde8ec29d7b58b52e0f616fc14601a183ea1df347477321a5da", "imageSha256": "d36b6f9f8139f31ef73a780c6511a640a26055efd9d7a24c24fd48b1d8379bf0" }, "view-touch": { @@ -24,7 +24,7 @@ }, "theme": "dark", "language": "en", - "sourceSha256": "b324ee6d7896c4c2aaef51f5681b4818a6ffae5d779bf9d38faaf85a0d998903", + "sourceSha256": "9cf7a16bbc4f0bde8ec29d7b58b52e0f616fc14601a183ea1df347477321a5da", "imageSha256": "358e25ff9984d0fb0c03cfbb848df40c425fdfe64cd5f4f613b1e754ca9d4249" }, "space-create": { @@ -35,7 +35,7 @@ }, "theme": "dark", "language": "en", - "sourceSha256": "b324ee6d7896c4c2aaef51f5681b4818a6ffae5d779bf9d38faaf85a0d998903", + "sourceSha256": "9cf7a16bbc4f0bde8ec29d7b58b52e0f616fc14601a183ea1df347477321a5da", "imageSha256": "c53db2e5c642a5549c13f3c93a5b359fed69bdb2621bf71a243a877ffcb95e6b" }, "room-contour-close": { @@ -46,7 +46,7 @@ }, "theme": "dark", "language": "en", - "sourceSha256": "b324ee6d7896c4c2aaef51f5681b4818a6ffae5d779bf9d38faaf85a0d998903", + "sourceSha256": "9cf7a16bbc4f0bde8ec29d7b58b52e0f616fc14601a183ea1df347477321a5da", "imageSha256": "5ca7f24642926072ccbc5bf48341c5310329918631b147c116f9c29e20e4927e" }, "plan-context-tray": { @@ -57,7 +57,7 @@ }, "theme": "dark", "language": "en", - "sourceSha256": "b324ee6d7896c4c2aaef51f5681b4818a6ffae5d779bf9d38faaf85a0d998903", + "sourceSha256": "9cf7a16bbc4f0bde8ec29d7b58b52e0f616fc14601a183ea1df347477321a5da", "imageSha256": "164b79fd9075a1425cffe3c85c88b689dfda90b79856bb4ed6655507b166b3e0" }, "device-editor": { @@ -68,8 +68,8 @@ }, "theme": "dark", "language": "en", - "sourceSha256": "b324ee6d7896c4c2aaef51f5681b4818a6ffae5d779bf9d38faaf85a0d998903", - "imageSha256": "7c3e25534fc819c45431907616c3d523961505859ee68af27cce2daec9f04fb0" + "sourceSha256": "9cf7a16bbc4f0bde8ec29d7b58b52e0f616fc14601a183ea1df347477321a5da", + "imageSha256": "7a22a81e2abedf5a520bd36b7509d953cbfa9962b48c0ffbc233666a6215c04b" }, "device-display-preview": { "file": "06-device-display-preview.png", @@ -79,8 +79,8 @@ }, "theme": "dark", "language": "en", - "sourceSha256": "b324ee6d7896c4c2aaef51f5681b4818a6ffae5d779bf9d38faaf85a0d998903", - "imageSha256": "f6014caed7b7d28790b8548996ba09d806a4e4d51fbb7e8d3fb3c582ebe49167" + "sourceSha256": "9cf7a16bbc4f0bde8ec29d7b58b52e0f616fc14601a183ea1df347477321a5da", + "imageSha256": "df3a54395c83bffd7a161f1fb3de0143e12e76567535aedf9883873ead74df91" }, "background-editor": { "file": "07-background-editor.png", @@ -90,7 +90,7 @@ }, "theme": "dark", "language": "en", - "sourceSha256": "b324ee6d7896c4c2aaef51f5681b4818a6ffae5d779bf9d38faaf85a0d998903", + "sourceSha256": "9cf7a16bbc4f0bde8ec29d7b58b52e0f616fc14601a183ea1df347477321a5da", "imageSha256": "d7cfe70551d9260169df8efd832e32ed7df99c7f60b55d1fd4a8322bd4c47175" }, "room-card": { @@ -101,7 +101,7 @@ }, "theme": "dark", "language": "en", - "sourceSha256": "b324ee6d7896c4c2aaef51f5681b4818a6ffae5d779bf9d38faaf85a0d998903", + "sourceSha256": "9cf7a16bbc4f0bde8ec29d7b58b52e0f616fc14601a183ea1df347477321a5da", "imageSha256": "176abba71d41cfb045a33f82a794d9fbb2a5d3c48e6df66e6ec3a8e448311b11" }, "device-info": { @@ -112,7 +112,7 @@ }, "theme": "dark", "language": "en", - "sourceSha256": "b324ee6d7896c4c2aaef51f5681b4818a6ffae5d779bf9d38faaf85a0d998903", + "sourceSha256": "9cf7a16bbc4f0bde8ec29d7b58b52e0f616fc14601a183ea1df347477321a5da", "imageSha256": "2199ed88b215bf2bff63bf665028f78b2aa6a92c3032b803931790f2ef071893" } } diff --git a/package-lock.json b/package-lock.json index 51d32eee..dfb7033a 100755 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "houseplan-card", - "version": "1.65.0-beta.2", + "version": "1.65.0-beta.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "houseplan-card", - "version": "1.65.0-beta.2", + "version": "1.65.0-beta.3", "license": "MIT", "dependencies": { "lit": "^3.1.3", diff --git a/package.json b/package.json index d8670011..eca4c578 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "houseplan-card", - "version": "1.65.0-beta.2", + "version": "1.65.0-beta.3", "description": "Interactive house plan Lovelace card for Home Assistant", "license": "MIT", "type": "module", diff --git a/src/houseplan-card.ts b/src/houseplan-card.ts index e7d5ddc9..e1d88610 100755 --- a/src/houseplan-card.ts +++ b/src/houseplan-card.ts @@ -254,7 +254,7 @@ import { } from './opening-placement'; import { safeStoredColor } from './color'; -const CARD_VERSION = '1.65.0-beta.2'; +const CARD_VERSION = '1.65.0-beta.3'; const DISPLAY_LABEL_KEYS: Record = { badge: 'display.badge', icon_ripple: 'display.icon_ripple',