apprun 3.28.14 → 3.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -1
- package/LICENSE +1 -1
- package/README.md +85 -30
- package/WHATSNEW.md +16 -6
- package/apprun.d.ts +4 -4
- package/dist/apprun-dev-tools.js +1 -1
- package/dist/apprun-dev-tools.js.map +1 -1
- package/dist/apprun-html.esm.js +3 -3
- package/dist/apprun-html.esm.js.map +1 -1
- package/dist/apprun-html.js +1 -1
- package/dist/apprun-html.js.map +1 -1
- package/dist/apprun-play.js +1 -1
- package/dist/apprun-play.js.map +1 -1
- package/dist/apprun.esm.js +1 -1
- package/dist/apprun.esm.js.map +1 -1
- package/dist/apprun.js +1 -1
- package/dist/apprun.js.map +1 -1
- package/esm/apprun-dev-tools.js +2 -2
- package/esm/apprun-dev-tools.js.map +1 -1
- package/esm/apprun.js +2 -2
- package/esm/apprun.js.map +1 -1
- package/esm/component.js +20 -21
- package/esm/component.js.map +1 -1
- package/esm/vdom-my.js +4 -2
- package/esm/vdom-my.js.map +1 -1
- package/index.html +0 -1
- package/package.json +1 -1
- package/src/apprun-dev-tools.tsx +2 -2
- package/src/apprun.ts +6 -5
- package/src/component.ts +21 -20
- package/src/vdom-my.ts +5 -6
package/dist/apprun-html.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! For license information please see apprun-html.js.LICENSE.txt */
|
|
2
|
-
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.apprun=e():t.apprun=e()}(this,(()=>(()=>{"use strict";var t={752:(t,e,n)=>{n.d(e,{Z:()=>r,g:()=>s});class s{constructor(){this._events={}}on(t,e,n={}){this._events[t]=this._events[t]||[],this._events[t].push({fn:e,options:n})}off(t,e){const n=this._events[t]||[];this._events[t]=n.filter((t=>t.fn!==e))}find(t){return this._events[t]}run(t,...e){const n=this.getSubscribers(t,this._events);return console.assert(n&&n.length>0,"No subscriber for event: "+t),n.forEach((n=>{const{fn:s,options:i}=n;return i.delay?this.delay(t,s,e,i):Object.keys(i).length>0?s.apply(this,[...e,i]):s.apply(this,e),!n.options.once})),n.length}once(t,e,n={}){this.on(t,e,Object.assign(Object.assign({},n),{once:!0}))}delay(t,e,n,s){s._t&&clearTimeout(s._t),s._t=setTimeout((()=>{clearTimeout(s._t),Object.keys(s).length>0?e.apply(this,[...n,s]):e.apply(this,n)}),s.delay)}query(t,...e){const n=this.getSubscribers(t,this._events);console.assert(n&&n.length>0,"No subscriber for event: "+t);const s=n.map((t=>{const{fn:n,options:s}=t;return Object.keys(s).length>0?n.apply(this,[...e,s]):n.apply(this,e)}));return Promise.all(s)}getSubscribers(t,e){const n=e[t]||[];return e[t]=n.filter((t=>!t.options.once)),Object.keys(e).filter((e=>e.endsWith("*")&&t.startsWith(e.replace("*","")))).sort(((t,e)=>e.length-t.length)).forEach((s=>n.push(...e[s].map((e=>Object.assign(Object.assign({},e),{options:Object.assign(Object.assign({},e.options),{event:t})})))))),n}}let i;const o="object"==typeof self&&self.self===self&&self||"object"==typeof n.g&&n.g.global===n.g&&n.g;o.app&&o._AppRunVersions?i=o.app:(i=new s,o.app=i,o._AppRunVersions="AppRun-3");const r=i},37:(t,e,n)=>{n.d(e,{Component:()=>f,ROUTER_404_EVENT:()=>m,ROUTER_EVENT:()=>_,app:()=>s.Z,customElement:()=>c,default:()=>y,event:()=>l,on:()=>h,safeHTML:()=>i.eV,update:()=>l});var s=n(752),i=n(559);const o=(t,e={})=>class extends HTMLElement{constructor(){super()}get component(){return this._component}get state(){return this._component.state}static get observedAttributes(){return(e.observedAttributes||[]).map((t=>t.toLowerCase()))}connectedCallback(){if(this.isConnected&&!this._component){const n=e||{};this._shadowRoot=n.shadow?this.attachShadow({mode:"open"}):this;const s=n.observedAttributes||[],i=s.reduce(((t,e)=>{const n=e.toLowerCase();return n!==e&&(t[n]=e),t}),{});this._attrMap=t=>i[t]||t;const o={};Array.from(this.attributes).forEach((t=>o[this._attrMap(t.name)]=t.value)),s.forEach((t=>{void 0!==this[t]&&(o[t]=this[t]),Object.defineProperty(this,t,{get:()=>o[t],set(e){this.attributeChangedCallback(t,o[t],e)},configurable:!0,enumerable:!0})})),requestAnimationFrame((()=>{const e=this.children?Array.from(this.children):[];if(e.forEach((t=>t.parentElement.removeChild(t))),this._component=new t(Object.assign(Object.assign({},o),{children:e})).mount(this._shadowRoot,n),this._component._props=o,this._component.dispatchEvent=this.dispatchEvent.bind(this),this._component.mounted){const t=this._component.mounted(o,e,this._component.state);void 0!==t&&(this._component.state=t)}this.on=this._component.on.bind(this._component),this.run=this._component.run.bind(this._component),!1!==n.render&&this._component.run(".")}))}}disconnectedCallback(){var t,e,n,s;null===(e=null===(t=this._component)||void 0===t?void 0:t.unload)||void 0===e||e.call(t),null===(s=null===(n=this._component)||void 0===n?void 0:n.unmount)||void 0===s||s.call(n),this._component=null}attributeChangedCallback(t,n,s){if(this._component){const i=this._attrMap(t);this._component._props[i]=s,this._component.run("attributeChanged",i,n,s),s!==n&&!1!==e.render&&window.requestAnimationFrame((()=>{this._component.run(".")}))}}},r=(t,e,n)=>{"undefined"!=typeof customElements&&customElements.define(t,o(e,n))},a={meta:new WeakMap,defineMetadata(t,e,n){this.meta.has(n)||this.meta.set(n,{}),this.meta.get(n)[t]=e},getMetadataKeys(t){return t=Object.getPrototypeOf(t),this.meta.get(t)?Object.keys(this.meta.get(t)):[]},getMetadata(t,e){return e=Object.getPrototypeOf(e),this.meta.get(e)?this.meta.get(e)[t]:null}};function l(t,e={}){return(n,s,i)=>{const o=t?t.toString():s;return a.defineMetadata(`apprun-update:${o}`,{name:o,key:s,options:e},n),i}}function h(t,e={}){return function(n,s){const i=t?t.toString():s;a.defineMetadata(`apprun-update:${i}`,{name:i,key:s,options:e},n)}}function c(t,e){return function(n){return r(t,n,e),n}}var u=n(334);const d=new Map;s.Z.on("get-components",(t=>t.components=d));const p=t=>t;class f{constructor(t,e,n,i){this.state=t,this.view=e,this.update=n,this.options=i,this._app=new s.g,this._actions=[],this._global_events=[],this._history=[],this._history_idx=-1,this._history_prev=()=>{this._history_idx--,this._history_idx>=0?this.setState(this._history[this._history_idx],{render:!0,history:!1}):this._history_idx=0},this._history_next=()=>{this._history_idx++,this._history_idx<this._history.length?this.setState(this._history[this._history_idx],{render:!0,history:!1}):this._history_idx=this._history.length-1},this.start=(t=null,e)=>this.mount(t,Object.assign({render:!0},e))}renderState(t,e=null){if(!this.view)return;let n=e||this.view(t);if(s.Z.debug&&s.Z.run("debug",{component:this,_:n?".":"-",state:t,vdom:n,el:this.element}),"object"!=typeof document)return;const i="string"==typeof this.element?document.getElementById(this.element):this.element;if(i){const t="_c";this.unload?i._component===this&&i.getAttribute(t)===this.tracking_id||(this.tracking_id=(new Date).valueOf().toString(),i.setAttribute(t,this.tracking_id),"undefined"!=typeof MutationObserver&&(this.observer||(this.observer=new MutationObserver((t=>{t[0].oldValue!==this.tracking_id&&document.body.contains(i)||(this.unload(this.state),this.observer.disconnect(),this.observer=null)}))),this.observer.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeOldValue:!0,attributeFilter:[t]}))):i.removeAttribute&&i.removeAttribute(t),i._component=this}!e&&n&&(n=(0,u.Z)(n,this),s.Z.render(i,n,this)),this.rendered&&this.rendered(this.state)}setState(t,e={render:!0,history:!1}){if(t instanceof Promise)Promise.all([t,this._state]).then((t=>{t[0]&&this.setState(t[0])})).catch((t=>{throw console.error(t),t})),this._state=t;else{if(this._state=t,null==t)return;this.state=t,!1!==e.render&&this.renderState(t),!1!==e.history&&this.enable_history&&(this._history=[...this._history,t],this._history_idx=this._history.length-1),"function"==typeof e.callback&&e.callback(this.state)}}mount(t=null,e){var n,i;return console.assert(!this.element,"Component already mounted."),this.options=e=Object.assign(Object.assign({},this.options),e),this.element=t,this.global_event=e.global_event,this.enable_history=!!e.history,this.enable_history&&(this.on(e.history.prev||"history-prev",this._history_prev),this.on(e.history.next||"history-next",this._history_next)),e.route&&(this.update=this.update||{},this.update[e.route]||(this.update[e.route]=p)),this.add_actions(),this.state=null!==(i=null!==(n=this.state)&&void 0!==n?n:this.model)&&void 0!==i?i:{},"function"==typeof this.state&&(this.state=this.state()),e.render?this.setState(this.state,{render:!0,history:!0}):this.setState(this.state,{render:!1,history:!0}),s.Z.debug&&(d.get(t)?d.get(t).push(this):d.set(t,[this])),this}is_global_event(t){return t&&(this.global_event||this._global_events.indexOf(t)>=0||t.startsWith("#")||t.startsWith("/")||t.startsWith("@"))}add_action(t,e,n={}){e&&"function"==typeof e&&(n.global&&this._global_events.push(t),this.on(t,((...i)=>{s.Z.debug&&s.Z.run("debug",{component:this,_:">",event:t,p:i,current_state:this.state,options:n});const o=e(this.state,...i);s.Z.debug&&s.Z.run("debug",{component:this,_:"<",event:t,p:i,newState:o,state:this.state,options:n}),this.setState(o,n)}),n))}add_actions(){const t=this.update||{};a.getMetadataKeys(this).forEach((e=>{if(e.startsWith("apprun-update:")){const n=a.getMetadata(e,this);t[n.name]=[this[n.key].bind(this),n.options]}}));const e={};Array.isArray(t)?t.forEach((t=>{const[n,s,i]=t;n.toString().split(",").forEach((t=>e[t.trim()]=[s,i]))})):Object.keys(t).forEach((n=>{const s=t[n];("function"==typeof s||Array.isArray(s))&&n.split(",").forEach((t=>e[t.trim()]=s))})),e["."]||(e["."]=p),Object.keys(e).forEach((t=>{const n=e[t];"function"==typeof n?this.add_action(t,n):Array.isArray(n)&&this.add_action(t,n[0],n[1])}))}run(t,...e){const n=t.toString();return this.is_global_event(n)?s.Z.run(n,...e):this._app.run(n,...e)}on(t,e,n){const i=t.toString();return this._actions.push({name:i,fn:e}),this.is_global_event(i)?s.Z.on(i,e,n):this._app.on(i,e,n)}unmount(){var t;null===(t=this.observer)||void 0===t||t.disconnect(),this._actions.forEach((t=>{const{name:e,fn:n}=t;this.is_global_event(e)?s.Z.off(e,n):this._app.off(e,n)}))}}f.__isAppRunComponent=!0;const _="//",m="///",g=t=>{if(t||(t="#"),t.startsWith("#")){const[e,...n]=t.split("/");s.Z.run(e,...n)||s.Z.run(m,e,...n),s.Z.run(_,e,...n)}else if(t.startsWith("/")){const[e,n,...i]=t.split("/");s.Z.run("/"+n,...i)||s.Z.run(m,"/"+n,...i),s.Z.run(_,"/"+n,...i)}else s.Z.run(t)||s.Z.run(m,t),s.Z.run(_,t)};s.Z.h=s.Z.createElement=i.az,s.Z.render=i.yj,s.Z.Fragment=i.HY,s.Z.webComponent=r,s.Z.safeHTML=i.eV,s.Z.start=(t,e,n,s,i)=>{const o=Object.assign({render:!0,global_event:!0},i),r=new f(e,n,s);return i&&i.rendered&&(r.rendered=i.rendered),r.mount(t,o),r};const v=t=>{};s.Z.on("$",v),s.Z.on("debug",(t=>v)),s.Z.on(_,v),s.Z.on("#",v),s.Z.route=g,s.Z.on("route",(t=>s.Z.route&&s.Z.route(t))),"object"==typeof document&&document.addEventListener("DOMContentLoaded",(()=>{s.Z.route===g&&(window.onpopstate=()=>g(location.hash),document.body.hasAttribute("apprun-no-init")||g(location.hash))}));const y=s.Z;"object"==typeof window&&(window.Component=f,window.React=s.Z,window.on=h,window.customElement=c,window.safeHTML=i.eV)},334:(t,e,n)=>{n.d(e,{Z:()=>a});var s=n(752);const i=(t,e)=>(e?t.state[e]:t.state)||"",o=(t,e,n)=>{if(e){const s=t.state||{};s[e]=n,t.setState(s)}else t.setState(n)},r=(t,e)=>{if(Array.isArray(t))return t.map((t=>r(t,e)));{let{tag:n,props:a,children:l}=t;return n?(a&&Object.keys(a).forEach((t=>{t.startsWith("$")&&(((t,e,n,r)=>{if(t.startsWith("$on")){const n=e[t];if(t=t.substring(1),"boolean"==typeof n)e[t]=e=>r.run?r.run(t,e):s.Z.run(t,e);else if("string"==typeof n)e[t]=t=>r.run?r.run(n,t):s.Z.run(n,t);else if("function"==typeof n)e[t]=t=>r.setState(n(r.state,t));else if(Array.isArray(n)){const[i,...o]=n;"string"==typeof i?e[t]=t=>r.run?r.run(i,...o,t):s.Z.run(i,...o,t):"function"==typeof i&&(e[t]=t=>r.setState(i(r.state,...o,t)))}}else if("$bind"===t){const s=e.type||"text",a="string"==typeof e[t]?e[t]:e.name;if("input"===n)switch(s){case"checkbox":e.checked=i(r,a),e.onclick=t=>o(r,a||t.target.name,t.target.checked);break;case"radio":e.checked=i(r,a)===e.value,e.onclick=t=>o(r,a||t.target.name,t.target.value);break;case"number":case"range":e.value=i(r,a),e.oninput=t=>o(r,a||t.target.name,Number(t.target.value));break;default:e.value=i(r,a),e.oninput=t=>o(r,a||t.target.name,t.target.value)}else"select"===n?(e.value=i(r,a),e.onchange=t=>{t.target.multiple||o(r,a||t.target.name,t.target.value)}):"option"===n?(e.selected=i(r,a),e.onclick=t=>o(r,a||t.target.name,t.target.selected)):"textarea"===n&&(e.innerHTML=i(r,a),e.oninput=t=>o(r,a||t.target.name,t.target.value))}else s.Z.run("$",{key:t,tag:n,props:e,component:r})})(t,a,n,e),delete a[t])})),l&&(l=r(l,e)),{tag:n,props:a,children:l}):t}},a=r},559:(t,e,n)=>{n.d(e,{HY:()=>i,az:()=>r,eV:()=>u,yj:()=>l});var s=n(334);function i(t,...e){return o(e)}function o(t){const e=[],n=t=>{null!=t&&""!==t&&!1!==t&&e.push("function"==typeof t||"object"==typeof t?t:`${t}`)};return t&&t.forEach((t=>{Array.isArray(t)?t.forEach((t=>n(t))):n(t)})),e}function r(t,e,...n){const s=o(n);if("string"==typeof t)return{tag:t,props:e,children:s};if(Array.isArray(t))return t;if(void 0===t&&n)return s;if(Object.getPrototypeOf(t).__isAppRunComponent)return{tag:t,props:e,children:s};if("function"==typeof t)return t(e,s);throw new Error(`Unknown tag in vdom ${t}`)}const a=new WeakMap,l=(t,e,n={})=>{null!=e&&!1!==e&&function(t,e,n={}){if(null==e||!1===e)return;e=_(e,n);const s="SVG"===(null==t?void 0:t.nodeName);t&&(Array.isArray(e)?c(t,e,s):c(t,[e],s))}(t,e=(0,s.Z)(e,n),n)};function h(t,e,n){3!==e._op&&(n=n||"svg"===e.tag,function(t,e){const n=t.nodeName,s=`${e.tag||""}`;return n.toUpperCase()===s.toUpperCase()}(t,e)?(!(2&e._op)&&c(t,e.children,n),!(1&e._op)&&f(t,e.props,n)):t.parentNode.replaceChild(p(e,n),t))}function c(t,e,n){var s,i;const o=(null===(s=t.childNodes)||void 0===s?void 0:s.length)||0,r=(null==e?void 0:e.length)||0,l=Math.min(o,r);for(let s=0;s<l;s++){const i=e[s];if(3===i._op)continue;const o=t.childNodes[s];if("string"==typeof i)o.textContent!==i&&(3===o.nodeType?o.nodeValue=i:t.replaceChild(d(i),o));else if(i instanceof HTMLElement||i instanceof SVGElement)t.insertBefore(i,o);else{const e=i.props&&i.props.key;if(e)if(o.key===e)h(t.childNodes[s],i,n);else{const r=a[e];if(r){const e=r.nextSibling;t.insertBefore(r,o),e?t.insertBefore(o,e):t.appendChild(o),h(t.childNodes[s],i,n)}else t.replaceChild(p(i,n),o)}else h(t.childNodes[s],i,n)}}let c=(null===(i=t.childNodes)||void 0===i?void 0:i.length)||0;for(;c>l;)t.removeChild(t.lastChild),c--;if(r>l){const s=document.createDocumentFragment();for(let t=l;t<e.length;t++)s.appendChild(p(e[t],n));t.appendChild(s)}}const u=t=>{const e=document.createElement("section");return e.insertAdjacentHTML("afterbegin",t),Array.from(e.children)};function d(t){if(0===(null==t?void 0:t.indexOf("_html:"))){const e=document.createElement("div");return e.insertAdjacentHTML("afterbegin",t.substring(6)),e}return document.createTextNode(null!=t?t:"")}function p(t,e){if(t instanceof HTMLElement||t instanceof SVGElement)return t;if("string"==typeof t)return d(t);if(!t.tag||"function"==typeof t.tag)return d(JSON.stringify(t));const n=(e=e||"svg"===t.tag)?document.createElementNS("http://www.w3.org/2000/svg",t.tag):document.createElement(t.tag);return f(n,t.props,e),t.children&&t.children.forEach((t=>n.appendChild(p(t,e)))),n}function f(t,e,n){const s=t._props||{};e=function(t,e){e.class=e.class||e.className,delete e.className;const n={};return t&&Object.keys(t).forEach((t=>n[t]=null)),e&&Object.keys(e).forEach((t=>n[t]=e[t])),n}(s,e||{}),t._props=e;for(const s in e){const i=e[s];if(s.startsWith("data-")){const e=s.substring(5).replace(/-(\w)/g,(t=>t[1].toUpperCase()));t.dataset[e]!==i&&(i||""===i?t.dataset[e]=i:delete t.dataset[e])}else if("style"===s)if(t.style.cssText&&(t.style.cssText=""),"string"==typeof i)t.style.cssText=i;else for(const e in i)t.style[e]!==i[e]&&(t.style[e]=i[e]);else if(s.startsWith("xlink")){const e=s.replace("xlink","").toLowerCase();null==i||!1===i?t.removeAttributeNS("http://www.w3.org/1999/xlink",e):t.setAttributeNS("http://www.w3.org/1999/xlink",e,i)}else s.startsWith("on")?i&&"function"!=typeof i?"string"==typeof i&&(i?t.setAttribute(s,i):t.removeAttribute(s)):t[s]=i:/^id$|^class$|^list$|^readonly$|^contenteditable$|^role|-/g.test(s)||n?t.getAttribute(s)!==i&&(i?t.setAttribute(s,i):t.removeAttribute(s)):t[s]!==i&&(t[s]=i);"key"===s&&i&&(a[i]=t)}e&&"function"==typeof e.ref&&window.requestAnimationFrame((()=>e.ref(t)))}function _(t,e,n=0){var s;if("string"==typeof t)return t;if(Array.isArray(t))return t.map((t=>_(t,e,n++)));let i=t;if(t&&"function"==typeof t.tag&&Object.getPrototypeOf(t.tag).__isAppRunComponent&&(i=function(t,e,n){const{tag:s,props:i,children:o}=t;let r=`_${n}`,a=i&&i.id;a?r=a:a=`_${n}${Date.now()}`;let l="section";i&&i.as&&(l=i.as,delete i.as),e.__componentCache||(e.__componentCache={});let h=e.__componentCache[r];if(!(h&&h instanceof s&&h.element)){const t=document.createElement(l);h=e.__componentCache[r]=new s(Object.assign(Object.assign({},i),{children:o})).start(t)}if(h.mounted){const t=h.mounted(i,o,h.state);void 0!==t&&h.setState(t)}return f(h.element,i,!1),h.element}(t,e,n)),i&&Array.isArray(i.children)){const t=null===(s=i.props)||void 0===s?void 0:s._component;if(t){let e=0;i.children=i.children.map((n=>_(n,t,e++)))}else i.children=i.children.map((t=>_(t,e,n++)))}return i}},875:(t,e,n)=>{n.d(e,{XM:()=>i,Xe:()=>o,pX:()=>s});const s={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},i=t=>(...e)=>({_$litDirective$:t,values:e});class o{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,n){this._$Ct=t,this._$AM=e,this._$Ci=n}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}},692:(t,e,n)=>{var s;n.d(e,{Jb:()=>w,Ld:()=>E,YP:()=>$,dy:()=>A,sY:()=>x});const i=globalThis.trustedTypes,o=i?i.createPolicy("lit-html",{createHTML:t=>t}):void 0,r=`lit$${(Math.random()+"").slice(9)}$`,a="?"+r,l=`<${a}>`,h=document,c=(t="")=>h.createComment(t),u=t=>null===t||"object"!=typeof t&&"function"!=typeof t,d=Array.isArray,p=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,f=/-->/g,_=/>/g,m=/>|[ \n\r](?:([^\s"'>=/]+)([ \n\r]*=[ \n\r]*(?:[^ \n\r"'`<>=]|("|')|))|$)/g,g=/'/g,v=/"/g,y=/^(?:script|style|textarea|title)$/i,b=t=>(e,...n)=>({_$litType$:t,strings:e,values:n}),A=b(1),$=b(2),w=Symbol.for("lit-noChange"),E=Symbol.for("lit-nothing"),T=new WeakMap,x=(t,e,n)=>{var s,i;const o=null!==(s=null==n?void 0:n.renderBefore)&&void 0!==s?s:e;let r=o._$litPart$;if(void 0===r){const t=null!==(i=null==n?void 0:n.renderBefore)&&void 0!==i?i:null;o._$litPart$=r=new j(e.insertBefore(c(),t),t,void 0,null!=n?n:{})}return r._$AI(t),r},C=h.createTreeWalker(h,129,null,!1),O=(t,e)=>{const n=t.length-1,s=[];let i,a=2===e?"<svg>":"",h=p;for(let e=0;e<n;e++){const n=t[e];let o,c,u=-1,d=0;for(;d<n.length&&(h.lastIndex=d,c=h.exec(n),null!==c);)d=h.lastIndex,h===p?"!--"===c[1]?h=f:void 0!==c[1]?h=_:void 0!==c[2]?(y.test(c[2])&&(i=RegExp("</"+c[2],"g")),h=m):void 0!==c[3]&&(h=m):h===m?">"===c[0]?(h=null!=i?i:p,u=-1):void 0===c[1]?u=-2:(u=h.lastIndex-c[2].length,o=c[1],h=void 0===c[3]?m:'"'===c[3]?v:g):h===v||h===g?h=m:h===f||h===_?h=p:(h=m,i=void 0);const b=h===m&&t[e+1].startsWith("/>")?" ":"";a+=h===p?n+l:u>=0?(s.push(o),n.slice(0,u)+"$lit$"+n.slice(u)+r+b):n+r+(-2===u?(s.push(void 0),e):b)}const c=a+(t[n]||"<?>")+(2===e?"</svg>":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==o?o.createHTML(c):c,s]};class N{constructor({strings:t,_$litType$:e},n){let s;this.parts=[];let o=0,l=0;const h=t.length-1,u=this.parts,[d,p]=O(t,e);if(this.el=N.createElement(d,n),C.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(s=C.nextNode())&&u.length<h;){if(1===s.nodeType){if(s.hasAttributes()){const t=[];for(const e of s.getAttributeNames())if(e.endsWith("$lit$")||e.startsWith(r)){const n=p[l++];if(t.push(e),void 0!==n){const t=s.getAttribute(n.toLowerCase()+"$lit$").split(r),e=/([.?@])?(.*)/.exec(n);u.push({type:1,index:o,name:e[2],strings:t,ctor:"."===e[1]?k:"?"===e[1]?L:"@"===e[1]?R:H})}else u.push({type:6,index:o})}for(const e of t)s.removeAttribute(e)}if(y.test(s.tagName)){const t=s.textContent.split(r),e=t.length-1;if(e>0){s.textContent=i?i.emptyScript:"";for(let n=0;n<e;n++)s.append(t[n],c()),C.nextNode(),u.push({type:2,index:++o});s.append(t[e],c())}}}else if(8===s.nodeType)if(s.data===a)u.push({type:2,index:o});else{let t=-1;for(;-1!==(t=s.data.indexOf(r,t+1));)u.push({type:7,index:o}),t+=r.length-1}o++}}static createElement(t,e){const n=h.createElement("template");return n.innerHTML=t,n}}function S(t,e,n=t,s){var i,o,r,a;if(e===w)return e;let l=void 0!==s?null===(i=n._$Cl)||void 0===i?void 0:i[s]:n._$Cu;const h=u(e)?void 0:e._$litDirective$;return(null==l?void 0:l.constructor)!==h&&(null===(o=null==l?void 0:l._$AO)||void 0===o||o.call(l,!1),void 0===h?l=void 0:(l=new h(t),l._$AT(t,n,s)),void 0!==s?(null!==(r=(a=n)._$Cl)&&void 0!==r?r:a._$Cl=[])[s]=l:n._$Cu=l),void 0!==l&&(e=S(t,l._$AS(t,e.values),l,s)),e}class M{constructor(t,e){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var e;const{el:{content:n},parts:s}=this._$AD,i=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:h).importNode(n,!0);C.currentNode=i;let o=C.nextNode(),r=0,a=0,l=s[0];for(;void 0!==l;){if(r===l.index){let e;2===l.type?e=new j(o,o.nextSibling,this,t):1===l.type?e=new l.ctor(o,l.name,l.strings,this,t):6===l.type&&(e=new P(o,this,t)),this.v.push(e),l=s[++a]}r!==(null==l?void 0:l.index)&&(o=C.nextNode(),r++)}return i}m(t){let e=0;for(const n of this.v)void 0!==n&&(void 0!==n.strings?(n._$AI(t,n,e),e+=n.strings.length-2):n._$AI(t[e])),e++}}class j{constructor(t,e,n,s){var i;this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=n,this.options=s,this._$Cg=null===(i=null==s?void 0:s.isConnected)||void 0===i||i}get _$AU(){var t,e;return null!==(e=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==e?e:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=S(this,t,e),u(t)?t===E||null==t||""===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==w&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.k(t):(t=>{var e;return d(t)||"function"==typeof(null===(e=t)||void 0===e?void 0:e[Symbol.iterator])})(t)?this.S(t):this.$(t)}A(t,e=this._$AB){return this._$AA.parentNode.insertBefore(t,e)}k(t){this._$AH!==t&&(this._$AR(),this._$AH=this.A(t))}$(t){this._$AH!==E&&u(this._$AH)?this._$AA.nextSibling.data=t:this.k(h.createTextNode(t)),this._$AH=t}T(t){var e;const{values:n,_$litType$:s}=t,i="number"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=N.createElement(s.h,this.options)),s);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===i)this._$AH.m(n);else{const t=new M(i,this),e=t.p(this.options);t.m(n),this.k(e),this._$AH=t}}_$AC(t){let e=T.get(t.strings);return void 0===e&&T.set(t.strings,e=new N(t)),e}S(t){d(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let n,s=0;for(const i of t)s===e.length?e.push(n=new j(this.A(c()),this.A(c()),this,this.options)):n=e[s],n._$AI(i),s++;s<e.length&&(this._$AR(n&&n._$AB.nextSibling,s),e.length=s)}_$AR(t=this._$AA.nextSibling,e){var n;for(null===(n=this._$AP)||void 0===n||n.call(this,!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){var e;void 0===this._$AM&&(this._$Cg=t,null===(e=this._$AP)||void 0===e||e.call(this,t))}}class H{constructor(t,e,n,s,i){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=e,this._$AM=s,this.options=i,n.length>2||""!==n[0]||""!==n[1]?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=E}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,n,s){const i=this.strings;let o=!1;if(void 0===i)t=S(this,t,e,0),o=!u(t)||t!==this._$AH&&t!==w,o&&(this._$AH=t);else{const s=t;let r,a;for(t=i[0],r=0;r<i.length-1;r++)a=S(this,s[n+r],e,r),a===w&&(a=this._$AH[r]),o||(o=!u(a)||a!==this._$AH[r]),a===E?t=E:t!==E&&(t+=(null!=a?a:"")+i[r+1]),this._$AH[r]=a}o&&!s&&this.C(t)}C(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class k extends H{constructor(){super(...arguments),this.type=3}C(t){this.element[this.name]=t===E?void 0:t}}const Z=i?i.emptyScript:"";class L extends H{constructor(){super(...arguments),this.type=4}C(t){t&&t!==E?this.element.setAttribute(this.name,Z):this.element.removeAttribute(this.name)}}class R extends H{constructor(t,e,n,s,i){super(t,e,n,s,i),this.type=5}_$AI(t,e=this){var n;if((t=null!==(n=S(this,t,e,0))&&void 0!==n?n:E)===w)return;const s=this._$AH,i=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,o=t!==E&&(s===E||i);i&&this.element.removeEventListener(this.name,this,s),o&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,n;"function"==typeof this._$AH?this._$AH.call(null!==(n=null===(e=this.options)||void 0===e?void 0:e.host)&&void 0!==n?n:this.element,t):this._$AH.handleEvent(t)}}class P{constructor(t,e,n){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const U=window.litHtmlPolyfillSupport;null==U||U(N,j),(null!==(s=globalThis.litHtmlVersions)&&void 0!==s?s:globalThis.litHtmlVersions=[]).push("2.2.1")}},e={};function n(s){var i=e[s];if(void 0!==i)return i.exports;var o=e[s]={exports:{}};return t[s](o,o.exports,n),o.exports}n.d=(t,e)=>{for(var s in e)n.o(e,s)&&!n.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var s={};return(()=>{n.r(s),n.d(s,{Component:()=>t.Component,ROUTER_404_EVENT:()=>t.ROUTER_404_EVENT,ROUTER_EVENT:()=>t.ROUTER_EVENT,app:()=>t.app,customElement:()=>t.customElement,default:()=>u,event:()=>t.event,html:()=>i.dy,on:()=>t.on,render:()=>l,run:()=>c,safeHTML:()=>t.safeHTML,svg:()=>i.YP,update:()=>t.update});var t=n(37),e=n(559),i=n(692),o=n(875);class r extends o.Xe{constructor(t){if(super(t),this.it=i.Ld,t.type!==o.pX.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===i.Ld||null==t)return this.ft=void 0,this.it=t;if(t===i.Jb)return t;if("string"!=typeof t)throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this.ft;this.it=t;const e=[t];return e.raw=e,this.ft={_$litType$:this.constructor.resultType,strings:e,values:[]}}}r.directiveName="unsafeHTML",r.resultType=1;const a=(0,o.XM)(r);function l(t,n,s){n&&("string"==typeof n?(t._$litPart$||t.replaceChildren(),(0,i.sY)(i.dy`${a(n)}`,t)):"_$litType$"in n?(t._$litPart$||t.replaceChildren(),(0,i.sY)(n,t)):((0,e.yj)(t,n,s),t._$litPart$=void 0))}class h extends o.Xe{constructor(t){if(super(t),t.type!==o.pX.EVENT)throw new Error("${run} can only be used in event handlers")}update(e,n){let{element:s,name:i}=e;const o=()=>{let t=s._component;for(;!t&&s;)s=s.parentElement,t=s&&s._component;return console.assert(!!t,"Component not found."),t},[r,...a]=n;return"string"==typeof r?s[`on${i}`]=e=>{const n=o();n?n.run(r,...a,e):t.default.run(r,...a,e)}:"function"==typeof r&&(s[`on${i}`]=t=>o().setState(r(o().state,...a,t))),this.render()}render(){return i.Jb}}const c=(0,o.XM)(h);t.default.createElement=e.az,t.default.render=l,t.default.Fragment=e.HY;const u=t.default;"object"==typeof window&&(window.html=i.dy,window.svg=i.YP,window.run=c)})(),s})()));
|
|
2
|
+
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.apprun=e():t.apprun=e()}(this,(()=>(()=>{"use strict";var t={752:(t,e,n)=>{n.d(e,{Z:()=>r,g:()=>s});class s{constructor(){this._events={}}on(t,e,n={}){this._events[t]=this._events[t]||[],this._events[t].push({fn:e,options:n})}off(t,e){const n=this._events[t]||[];this._events[t]=n.filter((t=>t.fn!==e))}find(t){return this._events[t]}run(t,...e){const n=this.getSubscribers(t,this._events);return console.assert(n&&n.length>0,"No subscriber for event: "+t),n.forEach((n=>{const{fn:s,options:i}=n;return i.delay?this.delay(t,s,e,i):Object.keys(i).length>0?s.apply(this,[...e,i]):s.apply(this,e),!n.options.once})),n.length}once(t,e,n={}){this.on(t,e,Object.assign(Object.assign({},n),{once:!0}))}delay(t,e,n,s){s._t&&clearTimeout(s._t),s._t=setTimeout((()=>{clearTimeout(s._t),Object.keys(s).length>0?e.apply(this,[...n,s]):e.apply(this,n)}),s.delay)}query(t,...e){const n=this.getSubscribers(t,this._events);console.assert(n&&n.length>0,"No subscriber for event: "+t);const s=n.map((t=>{const{fn:n,options:s}=t;return Object.keys(s).length>0?n.apply(this,[...e,s]):n.apply(this,e)}));return Promise.all(s)}getSubscribers(t,e){const n=e[t]||[];return e[t]=n.filter((t=>!t.options.once)),Object.keys(e).filter((e=>e.endsWith("*")&&t.startsWith(e.replace("*","")))).sort(((t,e)=>e.length-t.length)).forEach((s=>n.push(...e[s].map((e=>Object.assign(Object.assign({},e),{options:Object.assign(Object.assign({},e.options),{event:t})})))))),n}}let i;const o="object"==typeof self&&self.self===self&&self||"object"==typeof n.g&&n.g.global===n.g&&n.g;o.app&&o._AppRunVersions?i=o.app:(i=new s,o.app=i,o._AppRunVersions="AppRun-3");const r=i},37:(t,e,n)=>{n.d(e,{Component:()=>f,ROUTER_404_EVENT:()=>m,ROUTER_EVENT:()=>_,app:()=>s.Z,customElement:()=>c,default:()=>y,event:()=>l,on:()=>h,safeHTML:()=>i.eV,update:()=>l});var s=n(752),i=n(559);const o=(t,e={})=>class extends HTMLElement{constructor(){super()}get component(){return this._component}get state(){return this._component.state}static get observedAttributes(){return(e.observedAttributes||[]).map((t=>t.toLowerCase()))}connectedCallback(){if(this.isConnected&&!this._component){const n=e||{};this._shadowRoot=n.shadow?this.attachShadow({mode:"open"}):this;const s=n.observedAttributes||[],i=s.reduce(((t,e)=>{const n=e.toLowerCase();return n!==e&&(t[n]=e),t}),{});this._attrMap=t=>i[t]||t;const o={};Array.from(this.attributes).forEach((t=>o[this._attrMap(t.name)]=t.value)),s.forEach((t=>{void 0!==this[t]&&(o[t]=this[t]),Object.defineProperty(this,t,{get:()=>o[t],set(e){this.attributeChangedCallback(t,o[t],e)},configurable:!0,enumerable:!0})})),requestAnimationFrame((()=>{const e=this.children?Array.from(this.children):[];if(e.forEach((t=>t.parentElement.removeChild(t))),this._component=new t(Object.assign(Object.assign({},o),{children:e})).mount(this._shadowRoot,n),this._component._props=o,this._component.dispatchEvent=this.dispatchEvent.bind(this),this._component.mounted){const t=this._component.mounted(o,e,this._component.state);void 0!==t&&(this._component.state=t)}this.on=this._component.on.bind(this._component),this.run=this._component.run.bind(this._component),!1!==n.render&&this._component.run(".")}))}}disconnectedCallback(){var t,e,n,s;null===(e=null===(t=this._component)||void 0===t?void 0:t.unload)||void 0===e||e.call(t),null===(s=null===(n=this._component)||void 0===n?void 0:n.unmount)||void 0===s||s.call(n),this._component=null}attributeChangedCallback(t,n,s){if(this._component){const i=this._attrMap(t);this._component._props[i]=s,this._component.run("attributeChanged",i,n,s),s!==n&&!1!==e.render&&window.requestAnimationFrame((()=>{this._component.run(".")}))}}},r=(t,e,n)=>{"undefined"!=typeof customElements&&customElements.define(t,o(e,n))},a={meta:new WeakMap,defineMetadata(t,e,n){this.meta.has(n)||this.meta.set(n,{}),this.meta.get(n)[t]=e},getMetadataKeys(t){return t=Object.getPrototypeOf(t),this.meta.get(t)?Object.keys(this.meta.get(t)):[]},getMetadata(t,e){return e=Object.getPrototypeOf(e),this.meta.get(e)?this.meta.get(e)[t]:null}};function l(t,e={}){return(n,s,i)=>{const o=t?t.toString():s;return a.defineMetadata(`apprun-update:${o}`,{name:o,key:s,options:e},n),i}}function h(t,e={}){return function(n,s){const i=t?t.toString():s;a.defineMetadata(`apprun-update:${i}`,{name:i,key:s,options:e},n)}}function c(t,e){return function(n){return r(t,n,e),n}}var u=n(334);const d=new Map;s.Z.find("get-components")||s.Z.on("get-components",(t=>t.components=d));const p=t=>t;class f{constructor(t,e,n,i){this.state=t,this.view=e,this.update=n,this.options=i,this._app=new s.g,this._actions=[],this._global_events=[],this._history=[],this._history_idx=-1,this._history_prev=()=>{this._history_idx--,this._history_idx>=0?this.setState(this._history[this._history_idx],{render:!0,history:!1}):this._history_idx=0},this._history_next=()=>{this._history_idx++,this._history_idx<this._history.length?this.setState(this._history[this._history_idx],{render:!0,history:!1}):this._history_idx=this._history.length-1},this.start=(t=null,e)=>this.mount(t,Object.assign({render:!0},e))}renderState(t,e=null){if(!this.view)return;let n=e||this.view(t);if(s.Z.debug&&s.Z.run("debug",{component:this,_:n?".":"-",state:t,vdom:n,el:this.element}),"object"!=typeof document)return;const i="string"==typeof this.element&&this.element?document.getElementById(this.element)||document.querySelector(this.element):this.element;if(i){const t="_c";this.unload?i._component===this&&i.getAttribute(t)===this.tracking_id||(this.tracking_id=(new Date).valueOf().toString(),i.setAttribute(t,this.tracking_id),"undefined"!=typeof MutationObserver&&(this.observer||(this.observer=new MutationObserver((t=>{t[0].oldValue!==this.tracking_id&&document.body.contains(i)||(this.unload(this.state),this.observer.disconnect(),this.observer=null)}))),this.observer.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeOldValue:!0,attributeFilter:[t]}))):i.removeAttribute&&i.removeAttribute(t),i._component=this}!e&&n&&(n=(0,u.Z)(n,this),s.Z.render(i,n,this)),this.rendered&&this.rendered(this.state)}setState(t,e={render:!0,history:!1}){if(t instanceof Promise)Promise.resolve(t).then((n=>{this.setState(n,e),this._state=t}));else{if(this._state=t,null==t)return;this.state=t,!1!==e.render&&this.renderState(t),!1!==e.history&&this.enable_history&&(this._history=[...this._history,t],this._history_idx=this._history.length-1),"function"==typeof e.callback&&e.callback(this.state)}}mount(t=null,e){var n,i;return console.assert(!this.element,"Component already mounted."),this.options=e=Object.assign(Object.assign({},this.options),e),this.element=t,this.global_event=e.global_event,this.enable_history=!!e.history,this.enable_history&&(this.on(e.history.prev||"history-prev",this._history_prev),this.on(e.history.next||"history-next",this._history_next)),e.route&&(this.update=this.update||{},this.update[e.route]||(this.update[e.route]=p)),this.add_actions(),this.state=null!==(i=null!==(n=this.state)&&void 0!==n?n:this.model)&&void 0!==i?i:{},"function"==typeof this.state&&(this.state=this.state()),this.setState(this.state,{render:!!e.render,history:!0}),s.Z.debug&&(d.get(t)?d.get(t).push(this):d.set(t,[this])),this}is_global_event(t){return t&&(this.global_event||this._global_events.indexOf(t)>=0||t.startsWith("#")||t.startsWith("/")||t.startsWith("@"))}add_action(t,e,n={}){e&&"function"==typeof e&&(n.global&&this._global_events.push(t),this.on(t,((...i)=>{s.Z.debug&&s.Z.run("debug",{component:this,_:">",event:t,p:i,current_state:this.state,options:n});const o=e(this.state,...i);s.Z.debug&&s.Z.run("debug",{component:this,_:"<",event:t,p:i,newState:o,state:this.state,options:n}),this.setState(o,n)}),n))}add_actions(){const t=this.update||{};a.getMetadataKeys(this).forEach((e=>{if(e.startsWith("apprun-update:")){const n=a.getMetadata(e,this);t[n.name]=[this[n.key].bind(this),n.options]}}));const e={};Array.isArray(t)?t.forEach((t=>{const[n,s,i]=t;n.toString().split(",").forEach((t=>e[t.trim()]=[s,i]))})):Object.keys(t).forEach((n=>{const s=t[n];("function"==typeof s||Array.isArray(s))&&n.split(",").forEach((t=>e[t.trim()]=s))})),e["."]||(e["."]=p),Object.keys(e).forEach((t=>{const n=e[t];"function"==typeof n?this.add_action(t,n):Array.isArray(n)&&this.add_action(t,n[0],n[1])}))}run(t,...e){if(this.state instanceof Promise)return Promise.resolve(this.state).then((n=>{this.state=n,this.run(t,...e)}));{const n=t.toString();return this.is_global_event(n)?s.Z.run(n,...e):this._app.run(n,...e)}}on(t,e,n){const i=t.toString();return this._actions.push({name:i,fn:e}),this.is_global_event(i)?s.Z.on(i,e,n):this._app.on(i,e,n)}unmount(){var t;null===(t=this.observer)||void 0===t||t.disconnect(),this._actions.forEach((t=>{const{name:e,fn:n}=t;this.is_global_event(e)?s.Z.off(e,n):this._app.off(e,n)}))}}f.__isAppRunComponent=!0;const _="//",m="///",g=t=>{if(t||(t="#"),t.startsWith("#")){const[e,...n]=t.split("/");s.Z.run(e,...n)||s.Z.run(m,e,...n),s.Z.run(_,e,...n)}else if(t.startsWith("/")){const[e,n,...i]=t.split("/");s.Z.run("/"+n,...i)||s.Z.run(m,"/"+n,...i),s.Z.run(_,"/"+n,...i)}else s.Z.run(t)||s.Z.run(m,t),s.Z.run(_,t)};s.Z.h=s.Z.createElement=i.az,s.Z.render=i.yj,s.Z.Fragment=i.HY,s.Z.webComponent=r,s.Z.safeHTML=i.eV,s.Z.start=(t,e,n,s,i)=>{const o=Object.assign({render:!0,global_event:!0},i),r=new f(e,n,s);return i&&i.rendered&&(r.rendered=i.rendered),r.mount(t,o),r};const v=t=>{};s.Z.on("$",v),s.Z.on("debug",(t=>v)),s.Z.on(_,v),s.Z.on("#",v),s.Z.route=g,s.Z.on("route",(t=>s.Z.route&&s.Z.route(t))),"object"==typeof document&&document.addEventListener("DOMContentLoaded",(()=>{s.Z.route===g&&(window.onpopstate=()=>g(location.hash),document.body.hasAttribute("apprun-no-init")||g(location.hash))}));const y=s.Z;"object"==typeof window&&(window.Component=f,window.React=s.Z,window.on=h,window.customElement=c,window.safeHTML=i.eV)},334:(t,e,n)=>{n.d(e,{Z:()=>a});var s=n(752);const i=(t,e)=>(e?t.state[e]:t.state)||"",o=(t,e,n)=>{if(e){const s=t.state||{};s[e]=n,t.setState(s)}else t.setState(n)},r=(t,e)=>{if(Array.isArray(t))return t.map((t=>r(t,e)));{let{tag:n,props:a,children:l}=t;return n?(a&&Object.keys(a).forEach((t=>{t.startsWith("$")&&(((t,e,n,r)=>{if(t.startsWith("$on")){const n=e[t];if(t=t.substring(1),"boolean"==typeof n)e[t]=e=>r.run?r.run(t,e):s.Z.run(t,e);else if("string"==typeof n)e[t]=t=>r.run?r.run(n,t):s.Z.run(n,t);else if("function"==typeof n)e[t]=t=>r.setState(n(r.state,t));else if(Array.isArray(n)){const[i,...o]=n;"string"==typeof i?e[t]=t=>r.run?r.run(i,...o,t):s.Z.run(i,...o,t):"function"==typeof i&&(e[t]=t=>r.setState(i(r.state,...o,t)))}}else if("$bind"===t){const s=e.type||"text",a="string"==typeof e[t]?e[t]:e.name;if("input"===n)switch(s){case"checkbox":e.checked=i(r,a),e.onclick=t=>o(r,a||t.target.name,t.target.checked);break;case"radio":e.checked=i(r,a)===e.value,e.onclick=t=>o(r,a||t.target.name,t.target.value);break;case"number":case"range":e.value=i(r,a),e.oninput=t=>o(r,a||t.target.name,Number(t.target.value));break;default:e.value=i(r,a),e.oninput=t=>o(r,a||t.target.name,t.target.value)}else"select"===n?(e.value=i(r,a),e.onchange=t=>{t.target.multiple||o(r,a||t.target.name,t.target.value)}):"option"===n?(e.selected=i(r,a),e.onclick=t=>o(r,a||t.target.name,t.target.selected)):"textarea"===n&&(e.innerHTML=i(r,a),e.oninput=t=>o(r,a||t.target.name,t.target.value))}else s.Z.run("$",{key:t,tag:n,props:e,component:r})})(t,a,n,e),delete a[t])})),l&&(l=r(l,e)),{tag:n,props:a,children:l}):t}},a=r},559:(t,e,n)=>{n.d(e,{HY:()=>i,az:()=>r,eV:()=>u,yj:()=>l});var s=n(334);function i(t,...e){return o(e)}function o(t){const e=[],n=t=>{null!=t&&""!==t&&!1!==t&&e.push("function"==typeof t||"object"==typeof t?t:`${t}`)};return t&&t.forEach((t=>{Array.isArray(t)?t.forEach((t=>n(t))):n(t)})),e}function r(t,e,...n){const s=o(n);if("string"==typeof t)return{tag:t,props:e,children:s};if(Array.isArray(t))return t;if(void 0===t&&n)return s;if(Object.getPrototypeOf(t).__isAppRunComponent)return{tag:t,props:e,children:s};if("function"==typeof t)return t(e,s);throw new Error(`Unknown tag in vdom ${t}`)}const a=new WeakMap,l=(t,e,n={})=>{null!=e&&!1!==e&&function(t,e,n={}){if(null==e||!1===e)return;if(e=_(e,n),!t)return;const s="SVG"===t.nodeName;Array.isArray(e)?c(t,e,s):c(t,[e],s)}("string"==typeof t&&t?document.getElementById(t)||document.querySelector(t):t,e=(0,s.Z)(e,n),n)};function h(t,e,n){3!==e._op&&(n=n||"svg"===e.tag,function(t,e){const n=t.nodeName,s=`${e.tag||""}`;return n.toUpperCase()===s.toUpperCase()}(t,e)?(!(2&e._op)&&c(t,e.children,n),!(1&e._op)&&f(t,e.props,n)):t.parentNode.replaceChild(p(e,n),t))}function c(t,e,n){var s,i;const o=(null===(s=t.childNodes)||void 0===s?void 0:s.length)||0,r=(null==e?void 0:e.length)||0,l=Math.min(o,r);for(let s=0;s<l;s++){const i=e[s];if(3===i._op)continue;const o=t.childNodes[s];if("string"==typeof i)o.textContent!==i&&(3===o.nodeType?o.nodeValue=i:t.replaceChild(d(i),o));else if(i instanceof HTMLElement||i instanceof SVGElement)t.insertBefore(i,o);else{const e=i.props&&i.props.key;if(e)if(o.key===e)h(t.childNodes[s],i,n);else{const r=a[e];if(r){const e=r.nextSibling;t.insertBefore(r,o),e?t.insertBefore(o,e):t.appendChild(o),h(t.childNodes[s],i,n)}else t.replaceChild(p(i,n),o)}else h(t.childNodes[s],i,n)}}let c=(null===(i=t.childNodes)||void 0===i?void 0:i.length)||0;for(;c>l;)t.removeChild(t.lastChild),c--;if(r>l){const s=document.createDocumentFragment();for(let t=l;t<e.length;t++)s.appendChild(p(e[t],n));t.appendChild(s)}}const u=t=>{const e=document.createElement("section");return e.insertAdjacentHTML("afterbegin",t),Array.from(e.children)};function d(t){if(0===(null==t?void 0:t.indexOf("_html:"))){const e=document.createElement("div");return e.insertAdjacentHTML("afterbegin",t.substring(6)),e}return document.createTextNode(null!=t?t:"")}function p(t,e){if(t instanceof HTMLElement||t instanceof SVGElement)return t;if("string"==typeof t)return d(t);if(!t.tag||"function"==typeof t.tag)return d(JSON.stringify(t));const n=(e=e||"svg"===t.tag)?document.createElementNS("http://www.w3.org/2000/svg",t.tag):document.createElement(t.tag);return f(n,t.props,e),t.children&&t.children.forEach((t=>n.appendChild(p(t,e)))),n}function f(t,e,n){const s=t._props||{};e=function(t,e){e.class=e.class||e.className,delete e.className;const n={};return t&&Object.keys(t).forEach((t=>n[t]=null)),e&&Object.keys(e).forEach((t=>n[t]=e[t])),n}(s,e||{}),t._props=e;for(const s in e){const i=e[s];if(s.startsWith("data-")){const e=s.substring(5).replace(/-(\w)/g,(t=>t[1].toUpperCase()));t.dataset[e]!==i&&(i||""===i?t.dataset[e]=i:delete t.dataset[e])}else if("style"===s)if(t.style.cssText&&(t.style.cssText=""),"string"==typeof i)t.style.cssText=i;else for(const e in i)t.style[e]!==i[e]&&(t.style[e]=i[e]);else if(s.startsWith("xlink")){const e=s.replace("xlink","").toLowerCase();null==i||!1===i?t.removeAttributeNS("http://www.w3.org/1999/xlink",e):t.setAttributeNS("http://www.w3.org/1999/xlink",e,i)}else s.startsWith("on")?i&&"function"!=typeof i?"string"==typeof i&&(i?t.setAttribute(s,i):t.removeAttribute(s)):t[s]=i:/^id$|^class$|^list$|^readonly$|^contenteditable$|^role|-/g.test(s)||n?t.getAttribute(s)!==i&&(i?t.setAttribute(s,i):t.removeAttribute(s)):t[s]!==i&&(t[s]=i);"key"===s&&i&&(a[i]=t)}e&&"function"==typeof e.ref&&window.requestAnimationFrame((()=>e.ref(t)))}function _(t,e,n=0){var s;if("string"==typeof t)return t;if(Array.isArray(t))return t.map((t=>_(t,e,n++)));let i=t;if(t&&"function"==typeof t.tag&&Object.getPrototypeOf(t.tag).__isAppRunComponent&&(i=function(t,e,n){const{tag:s,props:i,children:o}=t;let r=`_${n}`,a=i&&i.id;a?r=a:a=`_${n}${Date.now()}`;let l="section";i&&i.as&&(l=i.as,delete i.as),e.__componentCache||(e.__componentCache={});let h=e.__componentCache[r];if(!(h&&h instanceof s&&h.element)){const t=document.createElement(l);h=e.__componentCache[r]=new s(Object.assign(Object.assign({},i),{children:o})).start(t)}if(h.mounted){const t=h.mounted(i,o,h.state);void 0!==t&&h.setState(t)}return f(h.element,i,!1),h.element}(t,e,n)),i&&Array.isArray(i.children)){const t=null===(s=i.props)||void 0===s?void 0:s._component;if(t){let e=0;i.children=i.children.map((n=>_(n,t,e++)))}else i.children=i.children.map((t=>_(t,e,n++)))}return i}},875:(t,e,n)=>{n.d(e,{XM:()=>i,Xe:()=>o,pX:()=>s});const s={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},i=t=>(...e)=>({_$litDirective$:t,values:e});class o{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,n){this._$Ct=t,this._$AM=e,this._$Ci=n}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}},692:(t,e,n)=>{var s;n.d(e,{Jb:()=>w,Ld:()=>E,YP:()=>$,dy:()=>A,sY:()=>x});const i=globalThis.trustedTypes,o=i?i.createPolicy("lit-html",{createHTML:t=>t}):void 0,r=`lit$${(Math.random()+"").slice(9)}$`,a="?"+r,l=`<${a}>`,h=document,c=(t="")=>h.createComment(t),u=t=>null===t||"object"!=typeof t&&"function"!=typeof t,d=Array.isArray,p=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,f=/-->/g,_=/>/g,m=/>|[ \n\r](?:([^\s"'>=/]+)([ \n\r]*=[ \n\r]*(?:[^ \n\r"'`<>=]|("|')|))|$)/g,g=/'/g,v=/"/g,y=/^(?:script|style|textarea|title)$/i,b=t=>(e,...n)=>({_$litType$:t,strings:e,values:n}),A=b(1),$=b(2),w=Symbol.for("lit-noChange"),E=Symbol.for("lit-nothing"),T=new WeakMap,x=(t,e,n)=>{var s,i;const o=null!==(s=null==n?void 0:n.renderBefore)&&void 0!==s?s:e;let r=o._$litPart$;if(void 0===r){const t=null!==(i=null==n?void 0:n.renderBefore)&&void 0!==i?i:null;o._$litPart$=r=new j(e.insertBefore(c(),t),t,void 0,null!=n?n:{})}return r._$AI(t),r},C=h.createTreeWalker(h,129,null,!1),O=(t,e)=>{const n=t.length-1,s=[];let i,a=2===e?"<svg>":"",h=p;for(let e=0;e<n;e++){const n=t[e];let o,c,u=-1,d=0;for(;d<n.length&&(h.lastIndex=d,c=h.exec(n),null!==c);)d=h.lastIndex,h===p?"!--"===c[1]?h=f:void 0!==c[1]?h=_:void 0!==c[2]?(y.test(c[2])&&(i=RegExp("</"+c[2],"g")),h=m):void 0!==c[3]&&(h=m):h===m?">"===c[0]?(h=null!=i?i:p,u=-1):void 0===c[1]?u=-2:(u=h.lastIndex-c[2].length,o=c[1],h=void 0===c[3]?m:'"'===c[3]?v:g):h===v||h===g?h=m:h===f||h===_?h=p:(h=m,i=void 0);const b=h===m&&t[e+1].startsWith("/>")?" ":"";a+=h===p?n+l:u>=0?(s.push(o),n.slice(0,u)+"$lit$"+n.slice(u)+r+b):n+r+(-2===u?(s.push(void 0),e):b)}const c=a+(t[n]||"<?>")+(2===e?"</svg>":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==o?o.createHTML(c):c,s]};class N{constructor({strings:t,_$litType$:e},n){let s;this.parts=[];let o=0,l=0;const h=t.length-1,u=this.parts,[d,p]=O(t,e);if(this.el=N.createElement(d,n),C.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(s=C.nextNode())&&u.length<h;){if(1===s.nodeType){if(s.hasAttributes()){const t=[];for(const e of s.getAttributeNames())if(e.endsWith("$lit$")||e.startsWith(r)){const n=p[l++];if(t.push(e),void 0!==n){const t=s.getAttribute(n.toLowerCase()+"$lit$").split(r),e=/([.?@])?(.*)/.exec(n);u.push({type:1,index:o,name:e[2],strings:t,ctor:"."===e[1]?Z:"?"===e[1]?L:"@"===e[1]?R:H})}else u.push({type:6,index:o})}for(const e of t)s.removeAttribute(e)}if(y.test(s.tagName)){const t=s.textContent.split(r),e=t.length-1;if(e>0){s.textContent=i?i.emptyScript:"";for(let n=0;n<e;n++)s.append(t[n],c()),C.nextNode(),u.push({type:2,index:++o});s.append(t[e],c())}}}else if(8===s.nodeType)if(s.data===a)u.push({type:2,index:o});else{let t=-1;for(;-1!==(t=s.data.indexOf(r,t+1));)u.push({type:7,index:o}),t+=r.length-1}o++}}static createElement(t,e){const n=h.createElement("template");return n.innerHTML=t,n}}function S(t,e,n=t,s){var i,o,r,a;if(e===w)return e;let l=void 0!==s?null===(i=n._$Cl)||void 0===i?void 0:i[s]:n._$Cu;const h=u(e)?void 0:e._$litDirective$;return(null==l?void 0:l.constructor)!==h&&(null===(o=null==l?void 0:l._$AO)||void 0===o||o.call(l,!1),void 0===h?l=void 0:(l=new h(t),l._$AT(t,n,s)),void 0!==s?(null!==(r=(a=n)._$Cl)&&void 0!==r?r:a._$Cl=[])[s]=l:n._$Cu=l),void 0!==l&&(e=S(t,l._$AS(t,e.values),l,s)),e}class M{constructor(t,e){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var e;const{el:{content:n},parts:s}=this._$AD,i=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:h).importNode(n,!0);C.currentNode=i;let o=C.nextNode(),r=0,a=0,l=s[0];for(;void 0!==l;){if(r===l.index){let e;2===l.type?e=new j(o,o.nextSibling,this,t):1===l.type?e=new l.ctor(o,l.name,l.strings,this,t):6===l.type&&(e=new P(o,this,t)),this.v.push(e),l=s[++a]}r!==(null==l?void 0:l.index)&&(o=C.nextNode(),r++)}return i}m(t){let e=0;for(const n of this.v)void 0!==n&&(void 0!==n.strings?(n._$AI(t,n,e),e+=n.strings.length-2):n._$AI(t[e])),e++}}class j{constructor(t,e,n,s){var i;this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=n,this.options=s,this._$Cg=null===(i=null==s?void 0:s.isConnected)||void 0===i||i}get _$AU(){var t,e;return null!==(e=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==e?e:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=S(this,t,e),u(t)?t===E||null==t||""===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==w&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.k(t):(t=>{var e;return d(t)||"function"==typeof(null===(e=t)||void 0===e?void 0:e[Symbol.iterator])})(t)?this.S(t):this.$(t)}A(t,e=this._$AB){return this._$AA.parentNode.insertBefore(t,e)}k(t){this._$AH!==t&&(this._$AR(),this._$AH=this.A(t))}$(t){this._$AH!==E&&u(this._$AH)?this._$AA.nextSibling.data=t:this.k(h.createTextNode(t)),this._$AH=t}T(t){var e;const{values:n,_$litType$:s}=t,i="number"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=N.createElement(s.h,this.options)),s);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===i)this._$AH.m(n);else{const t=new M(i,this),e=t.p(this.options);t.m(n),this.k(e),this._$AH=t}}_$AC(t){let e=T.get(t.strings);return void 0===e&&T.set(t.strings,e=new N(t)),e}S(t){d(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let n,s=0;for(const i of t)s===e.length?e.push(n=new j(this.A(c()),this.A(c()),this,this.options)):n=e[s],n._$AI(i),s++;s<e.length&&(this._$AR(n&&n._$AB.nextSibling,s),e.length=s)}_$AR(t=this._$AA.nextSibling,e){var n;for(null===(n=this._$AP)||void 0===n||n.call(this,!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){var e;void 0===this._$AM&&(this._$Cg=t,null===(e=this._$AP)||void 0===e||e.call(this,t))}}class H{constructor(t,e,n,s,i){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=e,this._$AM=s,this.options=i,n.length>2||""!==n[0]||""!==n[1]?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=E}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,n,s){const i=this.strings;let o=!1;if(void 0===i)t=S(this,t,e,0),o=!u(t)||t!==this._$AH&&t!==w,o&&(this._$AH=t);else{const s=t;let r,a;for(t=i[0],r=0;r<i.length-1;r++)a=S(this,s[n+r],e,r),a===w&&(a=this._$AH[r]),o||(o=!u(a)||a!==this._$AH[r]),a===E?t=E:t!==E&&(t+=(null!=a?a:"")+i[r+1]),this._$AH[r]=a}o&&!s&&this.C(t)}C(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class Z extends H{constructor(){super(...arguments),this.type=3}C(t){this.element[this.name]=t===E?void 0:t}}const k=i?i.emptyScript:"";class L extends H{constructor(){super(...arguments),this.type=4}C(t){t&&t!==E?this.element.setAttribute(this.name,k):this.element.removeAttribute(this.name)}}class R extends H{constructor(t,e,n,s,i){super(t,e,n,s,i),this.type=5}_$AI(t,e=this){var n;if((t=null!==(n=S(this,t,e,0))&&void 0!==n?n:E)===w)return;const s=this._$AH,i=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,o=t!==E&&(s===E||i);i&&this.element.removeEventListener(this.name,this,s),o&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,n;"function"==typeof this._$AH?this._$AH.call(null!==(n=null===(e=this.options)||void 0===e?void 0:e.host)&&void 0!==n?n:this.element,t):this._$AH.handleEvent(t)}}class P{constructor(t,e,n){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const U=window.litHtmlPolyfillSupport;null==U||U(N,j),(null!==(s=globalThis.litHtmlVersions)&&void 0!==s?s:globalThis.litHtmlVersions=[]).push("2.2.1")}},e={};function n(s){var i=e[s];if(void 0!==i)return i.exports;var o=e[s]={exports:{}};return t[s](o,o.exports,n),o.exports}n.d=(t,e)=>{for(var s in e)n.o(e,s)&&!n.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var s={};return(()=>{n.r(s),n.d(s,{Component:()=>t.Component,ROUTER_404_EVENT:()=>t.ROUTER_404_EVENT,ROUTER_EVENT:()=>t.ROUTER_EVENT,app:()=>t.app,customElement:()=>t.customElement,default:()=>u,event:()=>t.event,html:()=>i.dy,on:()=>t.on,render:()=>l,run:()=>c,safeHTML:()=>t.safeHTML,svg:()=>i.YP,update:()=>t.update});var t=n(37),e=n(559),i=n(692),o=n(875);class r extends o.Xe{constructor(t){if(super(t),this.it=i.Ld,t.type!==o.pX.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===i.Ld||null==t)return this.ft=void 0,this.it=t;if(t===i.Jb)return t;if("string"!=typeof t)throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this.ft;this.it=t;const e=[t];return e.raw=e,this.ft={_$litType$:this.constructor.resultType,strings:e,values:[]}}}r.directiveName="unsafeHTML",r.resultType=1;const a=(0,o.XM)(r);function l(t,n,s){n&&("string"==typeof n?(t._$litPart$||t.replaceChildren(),(0,i.sY)(i.dy`${a(n)}`,t)):"_$litType$"in n?(t._$litPart$||t.replaceChildren(),(0,i.sY)(n,t)):((0,e.yj)(t,n,s),t._$litPart$=void 0))}class h extends o.Xe{constructor(t){if(super(t),t.type!==o.pX.EVENT)throw new Error("${run} can only be used in event handlers")}update(e,n){let{element:s,name:i}=e;const o=()=>{let t=s._component;for(;!t&&s;)s=s.parentElement,t=s&&s._component;return console.assert(!!t,"Component not found."),t},[r,...a]=n;return"string"==typeof r?s[`on${i}`]=e=>{const n=o();n?n.run(r,...a,e):t.default.run(r,...a,e)}:"function"==typeof r&&(s[`on${i}`]=t=>o().setState(r(o().state,...a,t))),this.render()}render(){return i.Jb}}const c=(0,o.XM)(h);t.default.createElement=e.az,t.default.render=l,t.default.Fragment=e.HY;const u=t.default;"object"==typeof window&&(window.html=i.dy,window.svg=i.YP,window.run=c)})(),s})()));
|
|
3
3
|
//# sourceMappingURL=apprun-html.js.map
|
package/dist/apprun-html.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dist/apprun-html.js","mappings":"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","sources":["webpack://apprun/webpack/universalModuleDefinition","webpack://apprun/./src/app.ts","webpack://apprun/./src/web-component.ts","webpack://apprun/./src/decorator.ts","webpack://apprun/./src/component.ts","webpack://apprun/./src/router.ts","webpack://apprun/./src/apprun.ts","webpack://apprun/./src/directive.ts","webpack://apprun/./src/vdom-my.ts","webpack://apprun/./node_modules/lit-html/directive.js","webpack://apprun/./node_modules/lit-html/lit-html.js","webpack://apprun/webpack/bootstrap","webpack://apprun/webpack/runtime/define property getters","webpack://apprun/webpack/runtime/global","webpack://apprun/webpack/runtime/hasOwnProperty shorthand","webpack://apprun/webpack/runtime/make namespace object","webpack://apprun/./node_modules/lit-html/directives/unsafe-html.js","webpack://apprun/./src/vdom-lit-html.ts","webpack://apprun/./src/apprun-html.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"apprun\"] = factory();\n\telse\n\t\troot[\"apprun\"] = factory();\n})(this, () => {\nreturn ","import { EventOptions} from './types'\nexport class App {\n\n private _events: Object;\n\n public start;\n public h;\n public createElement;\n public render;\n public Fragment;\n public webComponent;\n public safeHTML;\n\n constructor() {\n this._events = {};\n }\n\n on(name: string, fn: (...args) => void, options: EventOptions = {}): void {\n this._events[name] = this._events[name] || [];\n this._events[name].push({ fn, options });\n }\n\n off(name: string, fn: (...args) => void): void {\n const subscribers = this._events[name] || [];\n\n this._events[name] = subscribers.filter((sub) => sub.fn !== fn);\n }\n\n find(name: string): any {\n return this._events[name];\n }\n\n run(name: string, ...args): number {\n const subscribers = this.getSubscribers(name, this._events);\n console.assert(subscribers && subscribers.length > 0, 'No subscriber for event: ' + name);\n subscribers.forEach((sub) => {\n const { fn, options } = sub;\n if (options.delay) {\n this.delay(name, fn, args, options);\n } else {\n Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);\n }\n return !sub.options.once;\n });\n\n return subscribers.length;\n }\n\n once(name: string, fn, options: EventOptions = {}): void {\n this.on(name, fn, { ...options, once: true });\n }\n\n private delay(name, fn, args, options): void {\n if (options._t) clearTimeout(options._t);\n options._t = setTimeout(() => {\n clearTimeout(options._t);\n Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);\n }, options.delay);\n }\n\n query(name: string, ...args): Promise<any[]> {\n const subscribers = this.getSubscribers(name, this._events);\n console.assert(subscribers && subscribers.length > 0, 'No subscriber for event: ' + name);\n const promises = subscribers.map(sub => {\n const { fn, options } = sub;\n return Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);\n });\n return Promise.all(promises);\n }\n\n private getSubscribers(name: string, events) {\n const subscribers = events[name] || [];\n\n // Update the list of subscribers by pulling out those which will run once.\n // We must do this update prior to running any of the events in case they\n // cause additional events to be turned off or on.\n events[name] = subscribers.filter((sub) => {\n return !sub.options.once;\n });\n Object.keys(events).filter(evt => evt.endsWith('*') && name.startsWith(evt.replace('*', '')))\n .sort((a, b) => b.length - a.length)\n .forEach(evt => subscribers.push(...events[evt].map(sub => ({\n ...sub,\n options: { ...sub.options, event: name }\n }))));\n return subscribers;\n }\n}\n\nconst AppRunVersions = 'AppRun-3';\nlet app: App;\nconst root = (typeof self === 'object' && self.self === self && self) ||\n (typeof global === 'object' && global.global === global && global)\nif (root['app'] && root['_AppRunVersions']) {\n app = root['app'];\n} else {\n app = new App();\n root['app'] = app;\n root['_AppRunVersions'] = AppRunVersions;\n}\nexport default app;\n","declare var customElements;\n\nexport type CustomElementOptions = {\n render?: boolean;\n shadow?: boolean;\n history?: boolean;\n global_event?: boolean;\n observedAttributes?: string[];\n};\n\nexport const customElement = (componentClass, options: CustomElementOptions = {}) => class CustomElement extends HTMLElement {\n private _shadowRoot;\n private _component;\n private _attrMap: (arg0: string) => string;\n public on;\n public run;\n constructor() {\n super();\n }\n get component() { return this._component; }\n get state() { return this._component.state; }\n\n static get observedAttributes() {\n // attributes need to be set to lowercase in order to get observed\n return (options.observedAttributes || []).map(attr => attr.toLowerCase());\n }\n\n connectedCallback() {\n if (this.isConnected && !this._component) {\n const opts = options || {};\n this._shadowRoot = opts.shadow ? this.attachShadow({ mode: 'open' }) : this;\n const observedAttributes = (opts.observedAttributes || [])\n\n const attrMap = observedAttributes.reduce((map, name) => {\n const lc = name.toLowerCase()\n if (lc !== name) {\n map[lc] = name\n }\n return map\n }, {})\n this._attrMap = (name: string) : string => attrMap[name] || name\n\n const props = {};\n Array.from(this.attributes).forEach(item => props[this._attrMap(item.name)] = item.value);\n\n // add getters/ setters to allow observation on observedAttributes\n observedAttributes.forEach(name => {\n if (this[name] !== undefined) props[name] = this[name];\n Object.defineProperty(this, name, {\n get(): any {\n return props[name];\n },\n set(this: CustomElement, value: unknown) {\n // trigger change event\n this.attributeChangedCallback(name, props[name], value)\n },\n configurable: true,\n enumerable: true\n });\n })\n\n requestAnimationFrame(() => {\n const children = this.children ? Array.from(this.children) : [];\n children.forEach(el => el.parentElement.removeChild(el));\n this._component = new componentClass({ ...props, children }).mount(this._shadowRoot, opts);\n // attach props to component\n this._component._props = props;\n // expose dispatchEvent\n this._component.dispatchEvent = this.dispatchEvent.bind(this)\n if (this._component.mounted) {\n const new_state = this._component.mounted(props, children, this._component.state);\n if (typeof new_state !== 'undefined') this._component.state = new_state;\n }\n this.on = this._component.on.bind(this._component);\n this.run = this._component.run.bind(this._component);\n if (!(opts.render === false)) this._component.run('.');\n });\n }\n }\n\n disconnectedCallback() {\n this._component?.unload?.();\n this._component?.unmount?.();\n this._component = null;\n }\n\n attributeChangedCallback(name: string, oldValue: unknown, value: unknown) {\n if (this._component) {\n // camelCase attributes arrive only in lowercase\n const mappedName = this._attrMap(name);\n // store the new property/ attribute\n this._component._props[mappedName] = value;\n this._component.run('attributeChanged', mappedName, oldValue, value);\n\n if (value !== oldValue && !(options.render === false)) {\n window.requestAnimationFrame(() => {\n // re-render state with new combined props on next animation frame\n this._component.run('.')\n })\n }\n }\n }\n}\n\nexport default (name: string, componentClass, options?: CustomElementOptions) => {\n (typeof customElements !== 'undefined') && customElements.define(name, customElement(componentClass, options))\n}\n","import webComponent, { CustomElementOptions } from './web-component';\n\n// tslint:disable:no-invalid-this\nexport const Reflect = {\n\n meta: new WeakMap(),\n\n defineMetadata(metadataKey, metadataValue, target) {\n if (!this.meta.has(target)) this.meta.set(target, {});\n this.meta.get(target)[metadataKey] = metadataValue;\n },\n\n getMetadataKeys(target) {\n target = Object.getPrototypeOf(target);\n return this.meta.get(target) ? Object.keys(this.meta.get(target)) : [];\n },\n\n getMetadata(metadataKey, target) {\n target = Object.getPrototypeOf(target);\n return this.meta.get(target) ? this.meta.get(target)[metadataKey] : null;\n }\n}\n\nexport function update<E=string>(events?: E, options: any = {}) {\n return (target: any, key: string, descriptor: any) => {\n const name = events ? events.toString() : key;\n Reflect.defineMetadata(`apprun-update:${name}`,\n { name, key, options }, target);\n return descriptor;\n }\n}\n\nexport function on<E = string>(events?: E, options: any = {}) {\n return function (target: any, key: string) {\n const name = events ? events.toString() : key;\n Reflect.defineMetadata(`apprun-update:${name}`,\n { name, key, options }, target)\n }\n}\n\nexport function customElement(name: string, options?: CustomElementOptions) {\n return function _customElement<T extends { new(...args: any[]): {} }>(constructor: T) {\n webComponent(name, constructor, options);\n return constructor;\n }\n}\n\n","\r\nimport app, { App } from './app';\r\nimport { Reflect } from './decorator'\r\nimport { View, Update, ActionDef, ActionOptions, MountOptions } from './types';\r\nimport directive from './directive';\r\n\r\nconst componentCache = new Map();\r\napp.on('get-components', o => o.components = componentCache);\r\n\r\nconst REFRESH = state => state;\r\n\r\nexport class Component<T = any, E = any> {\r\n static __isAppRunComponent = true;\r\n private _app = new App();\r\n private _actions = [];\r\n private _global_events = [];\r\n private _state;\r\n private _history = [];\r\n private _history_idx = -1;\r\n private enable_history;\r\n private global_event;\r\n public element;\r\n public rendered;\r\n public mounted;\r\n public unload;\r\n private tracking_id;\r\n private observer;\r\n\r\n\r\n private renderState(state: T, vdom = null) {\r\n if (!this.view) return;\r\n let html = vdom || this.view(state);\r\n app['debug'] && app.run('debug', {\r\n component: this,\r\n _: html ? '.' : '-',\r\n state,\r\n vdom: html,\r\n el: this.element\r\n });\r\n\r\n if (typeof document !== 'object') return;\r\n\r\n const el = (typeof this.element === 'string') ?\r\n document.getElementById(this.element) : this.element;\r\n\r\n if (el) {\r\n const tracking_attr = '_c';\r\n if (!this.unload) {\r\n el.removeAttribute && el.removeAttribute(tracking_attr);\r\n } else if (el['_component'] !== this || el.getAttribute(tracking_attr) !== this.tracking_id) {\r\n this.tracking_id = new Date().valueOf().toString();\r\n el.setAttribute(tracking_attr, this.tracking_id);\r\n if (typeof MutationObserver !== 'undefined') {\r\n if (!this.observer) this.observer = new MutationObserver(changes => {\r\n if (changes[0].oldValue === this.tracking_id || !document.body.contains(el)) {\r\n this.unload(this.state);\r\n this.observer.disconnect();\r\n this.observer = null;\r\n }\r\n });\r\n this.observer.observe(document.body, {\r\n childList: true, subtree: true,\r\n attributes: true, attributeOldValue: true, attributeFilter: [tracking_attr]\r\n });\r\n }\r\n }\r\n el['_component'] = this;\r\n }\r\n if (!vdom && html) {\r\n html = directive(html, this);\r\n app.render(el, html, this);\r\n }\r\n this.rendered && this.rendered(this.state);\r\n }\r\n\r\n public setState(state: T, options: ActionOptions\r\n = { render: true, history: false }) {\r\n if (state instanceof Promise) {\r\n // Promise will not be saved or rendered\r\n // state will be saved and rendered when promise is resolved\r\n // Wait for previous promise to complete first\r\n Promise.all([state, this._state]).then(v => {\r\n if (v[0]) this.setState(v[0]);\r\n }).catch(err => {\r\n console.error(err);\r\n throw err;\r\n });\r\n this._state = state;\r\n } else {\r\n this._state = state;\r\n if (state == null) return;\r\n this.state = state;\r\n if (options.render !== false) this.renderState(state);\r\n if (options.history !== false && this.enable_history) {\r\n this._history = [...this._history, state];\r\n this._history_idx = this._history.length - 1;\r\n }\r\n if (typeof options.callback === 'function') options.callback(this.state);\r\n }\r\n }\r\n\r\n private _history_prev = () => {\r\n this._history_idx--;\r\n if (this._history_idx >= 0) {\r\n this.setState(this._history[this._history_idx], { render: true, history: false });\r\n }\r\n else {\r\n this._history_idx = 0;\r\n }\r\n };\r\n\r\n private _history_next = () => {\r\n this._history_idx++;\r\n if (this._history_idx < this._history.length) {\r\n this.setState(this._history[this._history_idx], { render: true, history: false });\r\n }\r\n else {\r\n this._history_idx = this._history.length - 1;\r\n }\r\n };\r\n\r\n constructor(\r\n protected state?: T,\r\n protected view?: View<T>,\r\n protected update?: Update<T, E>,\r\n protected options?) {\r\n }\r\n\r\n start = (element = null, options?: MountOptions): Component<T, E> => {\r\n return this.mount(element, { render: true, ...options });\r\n }\r\n\r\n public mount(element = null, options?: MountOptions): Component<T, E> {\r\n console.assert(!this.element, 'Component already mounted.')\r\n this.options = options = { ...this.options, ...options };\r\n this.element = element;\r\n this.global_event = options.global_event;\r\n this.enable_history = !!options.history;\r\n\r\n if (this.enable_history) {\r\n this.on(options.history.prev || 'history-prev', this._history_prev);\r\n this.on(options.history.next || 'history-next', this._history_next);\r\n }\r\n\r\n if (options.route) {\r\n this.update = this.update || {};\r\n if (!this.update[options.route]) this.update[options.route] = REFRESH;\r\n }\r\n\r\n this.add_actions();\r\n this.state = this.state ?? this['model'] ?? {};\r\n if (typeof this.state === 'function') this.state = this.state();\r\n if (options.render) {\r\n this.setState(this.state, { render: true, history: true });\r\n } else {\r\n this.setState(this.state, { render: false, history: true });\r\n }\r\n if (app['debug']) {\r\n if (componentCache.get(element)) { componentCache.get(element).push(this) }\r\n else { componentCache.set(element, [this])}\r\n }\r\n return this;\r\n }\r\n\r\n is_global_event(name: string): boolean {\r\n return name && (\r\n this.global_event ||\r\n this._global_events.indexOf(name) >= 0 ||\r\n name.startsWith('#') || name.startsWith('/') || name.startsWith('@'));\r\n }\r\n\r\n add_action(name: string, action, options: ActionOptions = {}) {\r\n if (!action || typeof action !== 'function') return;\r\n if (options.global) this._global_events.push(name);\r\n this.on(name as any, (...p) => {\r\n\r\n app['debug'] && app.run('debug', {\r\n component: this,\r\n _: '>',\r\n event: name, p,\r\n current_state: this.state,\r\n options\r\n });\r\n\r\n const newState = action(this.state, ...p);\r\n\r\n app['debug'] && app.run('debug', {\r\n component: this,\r\n _: '<',\r\n event: name, p,\r\n newState,\r\n state: this.state,\r\n options\r\n });\r\n\r\n this.setState(newState, options)\r\n }, options);\r\n }\r\n\r\n add_actions() {\r\n const actions = this.update || {};\r\n Reflect.getMetadataKeys(this).forEach(key => {\r\n if (key.startsWith('apprun-update:')) {\r\n const meta = Reflect.getMetadata(key, this)\r\n actions[meta.name] = [this[meta.key].bind(this), meta.options];\r\n }\r\n })\r\n\r\n const all = {};\r\n if (Array.isArray(actions)) {\r\n actions.forEach(act => {\r\n const [name, action, opts] = act as ActionDef<T, E>;\r\n const names = name.toString();\r\n names.split(',').forEach(n => all[n.trim()] = [action, opts])\r\n })\r\n } else {\r\n Object.keys(actions).forEach(name => {\r\n const action = actions[name];\r\n if (typeof action === 'function' || Array.isArray(action)) {\r\n name.split(',').forEach(n => all[n.trim()] = action)\r\n }\r\n })\r\n }\r\n\r\n if (!all['.']) all['.'] = REFRESH;\r\n Object.keys(all).forEach(name => {\r\n const action = all[name];\r\n if (typeof action === 'function') {\r\n this.add_action(name, action);\r\n } else if (Array.isArray(action)) {\r\n this.add_action(name, action[0], action[1]);\r\n }\r\n });\r\n }\r\n\r\n public run(event: E, ...args) {\r\n const name = event.toString();\r\n return this.is_global_event(name) ?\r\n app.run(name, ...args) :\r\n this._app.run(name, ...args);\r\n }\r\n\r\n public on(event: E, fn: (...args) => void, options?: any) {\r\n const name = event.toString();\r\n this._actions.push({ name, fn });\r\n return this.is_global_event(name) ?\r\n app.on(name, fn, options) :\r\n this._app.on(name, fn, options);\r\n }\r\n\r\n public unmount() {\r\n this.observer?.disconnect();\r\n this._actions.forEach(action => {\r\n const { name, fn } = action;\r\n this.is_global_event(name) ?\r\n app.off(name, fn) :\r\n this._app.off(name, fn);\r\n });\r\n }\r\n}\r\n","import app from './app';\n\nexport type Route = (url: string, ...args: any[]) => any;\n\nexport const ROUTER_EVENT: string = '//';\nexport const ROUTER_404_EVENT: string = '///';\n\nexport const route: Route = (url: string) => {\n if (!url) url = '#';\n if (url.startsWith('#')) {\n const [name, ...rest] = url.split('/');\n app.run(name, ...rest) || app.run(ROUTER_404_EVENT, name, ...rest);\n app.run(ROUTER_EVENT, name, ...rest);\n } else if (url.startsWith('/')) {\n const [_, name, ...rest] = url.split('/');\n app.run('/' + name, ...rest) || app.run(ROUTER_404_EVENT, '/' + name, ...rest);\n app.run(ROUTER_EVENT, '/' + name, ...rest);\n } else {\n app.run(url) || app.run(ROUTER_404_EVENT, url);\n app.run(ROUTER_EVENT, url);\n }\n}\nexport default route;","import app from './app';\nimport { createElement, render, Fragment,safeHTML } from './vdom';\nimport { Component } from './component';\nimport { VNode, View, Action, Update, EventOptions, ActionOptions, MountOptions, AppStartOptions } from './types';\nimport { on, update, customElement } from './decorator';\nimport webComponent, { CustomElementOptions } from './web-component';\nimport { Route, route, ROUTER_EVENT, ROUTER_404_EVENT } from './router';\n\nexport interface IApp {\n start<T, E = any>(element?: Element | string, model?: T, view?: View<T>, update?: Update<T, E>,\n options?: AppStartOptions<T>): Component<T, E>;\n on(name: string, fn: (...args: any[]) => void, options?: any): void;\n off(name: string, fn: (...args: any[]) => void): void;\n run(name: string, ...args: any[]): number;\n h(tag: string | Function, props, ...children): VNode | VNode[];\n createElement(tag: string | Function, props, ...children): VNode | VNode[];\n render(element: HTMLElement, node: VNode): void;\n Fragment(props, ...children): any[];\n route?: Route;\n webComponent(name: string, componentClass, options?: CustomElementOptions): void;\n safeHTML(html: string): any[];\n}\n\napp.h = app.createElement = createElement;\napp.render = render;\napp.Fragment = Fragment;\napp.webComponent = webComponent;\napp.safeHTML = safeHTML;\n\napp.start = <T, E = any>(element?: Element, model?: T, view?: View<T>, update?: Update<T, E>,\n options?: AppStartOptions<T>): Component<T, E> => {\n const opts = { render: true, global_event: true, ...options };\n const component = new Component<T, E>(model, view, update);\n if (options && options.rendered) component.rendered = options.rendered;\n component.mount(element, opts);\n return component;\n};\n\nconst NOOP = _ => {/* Intentionally empty */ }\napp.on('$', NOOP);\napp.on('debug', _ => NOOP);\napp.on(ROUTER_EVENT, NOOP);\napp.on('#', NOOP);\napp['route'] = route;\napp.on('route', url => app['route'] && app['route'](url));\n\nif (typeof document === 'object') {\n document.addEventListener(\"DOMContentLoaded\", () => {\n if (app['route'] === route) {\n window.onpopstate = () => route(location.hash);\n if (!document.body.hasAttribute('apprun-no-init')) route(location.hash);\n }\n });\n}\nexport type StatelessComponent<T = {}> = (args: T) => string | VNode | void;\nexport { app, Component, View, Action, Update, on, update, EventOptions, ActionOptions, MountOptions, Fragment, safeHTML }\nexport { update as event };\nexport { ROUTER_EVENT, ROUTER_404_EVENT };\nexport { customElement, CustomElementOptions, AppStartOptions };\nexport default app as IApp;\n\nif (typeof window === 'object') {\n window['Component'] = Component;\n window['React'] = app;\n window['on'] = on;\n window['customElement'] = customElement;\n window['safeHTML'] = safeHTML;\n}\n\n\n","import app from './app';\n\nconst getStateValue = (component, name) => {\n return (name ? component['state'][name] : component['state']) || '';\n}\n\nconst setStateValue = (component, name, value) => {\n if (name) {\n const state = component['state'] || {};\n state[name] = value;\n component.setState(state);\n } else {\n component.setState(value);\n }\n}\n\nconst apply_directive = (key: string, props: {}, tag, component) => {\n if (key.startsWith('$on')) {\n const event = props[key];\n key = key.substring(1)\n if (typeof event === 'boolean') {\n props[key] = e => component.run ? component.run(key, e) : app.run(key, e);\n } else if (typeof event === 'string') {\n props[key] = e => component.run ? component.run(event, e) : app.run(event, e);\n } else if (typeof event === 'function') {\n props[key] = e => component.setState(event(component.state, e));\n } else if (Array.isArray(event)) {\n const [handler, ...p] = event;\n if (typeof handler === 'string') {\n props[key] = e => component.run ? component.run(handler, ...p, e) : app.run(handler, ...p, e);\n } else if (typeof handler === 'function') {\n props[key] = e => component.setState(handler(component.state, ...p, e));\n }\n }\n\n } else if (key === '$bind') {\n const type = props['type'] || 'text';\n const name = typeof props[key] === 'string' ? props[key] : props['name'];\n if (tag === 'input') {\n switch (type) {\n case 'checkbox':\n props['checked'] = getStateValue(component, name);\n props['onclick'] = e => setStateValue(component, name || e.target.name, e.target.checked);\n break;\n case 'radio':\n props['checked'] = getStateValue(component, name) === props['value'];\n props['onclick'] = e => setStateValue(component, name || e.target.name, e.target.value);\n break;\n case 'number':\n case 'range':\n props['value'] = getStateValue(component, name);\n props['oninput'] = e => setStateValue(component, name || e.target.name, Number(e.target.value));\n break;\n default:\n props['value'] = getStateValue(component, name);\n props['oninput'] = e => setStateValue(component, name || e.target.name, e.target.value);\n }\n } else if (tag === 'select') {\n props['value'] = getStateValue(component, name);\n props['onchange'] = e => {\n if (!e.target.multiple) { // multiple selection use $bind on option\n setStateValue(component, name || e.target.name, e.target.value);\n }\n }\n } else if (tag === 'option') {\n props['selected'] = getStateValue(component, name);\n props['onclick'] = e => setStateValue(component, name || e.target.name, e.target.selected);\n } else if (tag === 'textarea') {\n props['innerHTML'] = getStateValue(component, name);\n props['oninput'] = e => setStateValue(component, name || e.target.name, e.target.value);\n }\n } else {\n app.run('$', { key, tag, props, component });\n }\n}\n\nconst directive = (vdom, component) => {\n if (Array.isArray(vdom)) {\n return vdom.map(element => directive(element, component));\n } else {\n let { tag, props, children } = vdom;\n if (tag) {\n if (props) Object.keys(props).forEach(key => {\n if (key.startsWith('$')) {\n apply_directive(key, props, tag, component);\n delete props[key];\n }\n });\n if (children) children = directive(children, component);\n return { tag, props, children };\n } else {\n return vdom;\n }\n }\n}\n\nexport default directive;","import { VDOM, VNode } from './types';\nimport directive from './directive';\nexport type Element = any; //HTMLElement | SVGSVGElement | SVGElement;\n\nexport function Fragment(props, ...children): any[] {\n return collect(children);\n}\n\nconst ATTR_PROPS = '_props';\n\nfunction collect(children) {\n const ch = [];\n const push = (c) => {\n if (c !== null && c !== undefined && c !== '' && c !== false) {\n ch.push((typeof c === 'function' || typeof c === 'object') ? c : `${c}`);\n }\n }\n children && children.forEach(c => {\n if (Array.isArray(c)) {\n c.forEach(i => push(i));\n } else {\n push(c);\n }\n });\n return ch;\n}\n\nexport function createElement(tag: string | Function | [], props?: {}, ...children) {\n const ch = collect(children);\n if (typeof tag === 'string') return { tag, props, children: ch };\n else if (Array.isArray(tag)) return tag; // JSX fragments - babel\n else if (tag === undefined && children) return ch; // JSX fragments - typescript\n else if (Object.getPrototypeOf(tag).__isAppRunComponent) return { tag, props, children: ch } // createComponent(tag, { ...props, children });\n else if (typeof tag === 'function') return tag(props, ch);\n else throw new Error(`Unknown tag in vdom ${tag}`);\n};\n\nconst keyCache = new WeakMap();\n\nexport const updateElement = (element: Element, nodes: VDOM, component = {}) => {\n // tslint:disable-next-line\n if (nodes == null || nodes === false) return;\n nodes = directive(nodes, component);\n render(element, nodes, component);\n}\n\nfunction render(element: Element, nodes: VDOM, parent = {}) {\n // tslint:disable-next-line\n if (nodes == null || nodes === false) return;\n\n nodes = createComponent(nodes, parent);\n\n const isSvg = element?.nodeName === \"SVG\";\n\n if (!element) return;\n if (Array.isArray(nodes)) {\n updateChildren(element, nodes, isSvg);\n } else {\n updateChildren(element, [nodes], isSvg);\n }\n}\n\nfunction same(el: Element, node: VNode) {\n // if (!el || !node) return false;\n const key1 = el.nodeName;\n const key2 = `${node.tag || ''}`;\n return key1.toUpperCase() === key2.toUpperCase();\n}\n\nfunction update(element: Element, node: VNode, isSvg: boolean) {\n if (node['_op'] === 3) return;\n // console.assert(!!element);\n isSvg = isSvg || node.tag === \"svg\";\n if (!same(element, node)) {\n element.parentNode.replaceChild(create(node, isSvg), element);\n return;\n }\n !(node['_op'] & 2) && updateChildren(element, node.children, isSvg);\n !(node['_op'] & 1) && updateProps(element, node.props, isSvg);\n}\n\nfunction updateChildren(element, children, isSvg: boolean) {\n const old_len = element.childNodes?.length || 0;\n const new_len = children?.length || 0;\n const len = Math.min(old_len, new_len);\n for (let i = 0; i < len; i++) {\n const child = children[i];\n if (child['_op'] === 3) continue;\n const el = element.childNodes[i];\n if (typeof child === 'string') {\n if (el.textContent !== child) {\n if (el.nodeType === 3) {\n el.nodeValue = child\n } else {\n element.replaceChild(createText(child), el);\n }\n }\n } else if (child instanceof HTMLElement || child instanceof SVGElement) {\n element.insertBefore(child, el);\n } else {\n const key = child.props && child.props['key'];\n if (key) {\n if (el.key === key) {\n update(element.childNodes[i], child, isSvg);\n } else {\n // console.log(el.key, key);\n const old = keyCache[key];\n if (old) {\n const temp = old.nextSibling;\n element.insertBefore(old, el);\n temp ? element.insertBefore(el, temp) : element.appendChild(el);\n update(element.childNodes[i], child, isSvg);\n } else {\n element.replaceChild(create(child, isSvg), el);\n }\n }\n } else {\n update(element.childNodes[i], child, isSvg);\n }\n }\n }\n\n let n = element.childNodes?.length || 0;\n while (n > len) {\n element.removeChild(element.lastChild);\n n--;\n }\n\n if (new_len > len) {\n const d = document.createDocumentFragment();\n for (let i = len; i < children.length; i++) {\n d.appendChild(create(children[i], isSvg));\n }\n element.appendChild(d);\n }\n}\n\nexport const safeHTML = (html: string) => {\n const div = document.createElement('section');\n div.insertAdjacentHTML('afterbegin', html)\n return Array.from(div.children);\n}\n\nfunction createText(node) {\n if (node?.indexOf('_html:') === 0) { // ?\n const div = document.createElement('div');\n div.insertAdjacentHTML('afterbegin', node.substring(6))\n return div;\n } else {\n return document.createTextNode(node??'');\n }\n}\n\nfunction create(node: VNode | string | HTMLElement | SVGElement, isSvg: boolean): Element {\n // console.assert(node !== null && node !== undefined);\n if ((node instanceof HTMLElement) || (node instanceof SVGElement)) return node;\n if (typeof node === \"string\") return createText(node);\n if (!node.tag || (typeof node.tag === 'function')) return createText(JSON.stringify(node));\n isSvg = isSvg || node.tag === \"svg\";\n const element = isSvg\n ? document.createElementNS(\"http://www.w3.org/2000/svg\", node.tag)\n : document.createElement(node.tag);\n\n updateProps(element, node.props, isSvg);\n if (node.children) node.children.forEach(child => element.appendChild(create(child, isSvg)));\n return element\n}\n\nfunction mergeProps(oldProps: {}, newProps: {}): {} {\n newProps['class'] = newProps['class'] || newProps['className'];\n delete newProps['className'];\n const props = {};\n if (oldProps) Object.keys(oldProps).forEach(p => props[p] = null);\n if (newProps) Object.keys(newProps).forEach(p => props[p] = newProps[p]);\n return props;\n}\n\nexport function updateProps(element: Element, props: {}, isSvg) {\n // console.assert(!!element);\n const cached = element[ATTR_PROPS] || {};\n props = mergeProps(cached, props || {});\n element[ATTR_PROPS] = props;\n\n for (const name in props) {\n const value = props[name];\n // if (cached[name] === value) continue;\n // console.log('updateProps', name, value);\n if (name.startsWith('data-')) {\n const dname = name.substring(5);\n const cname = dname.replace(/-(\\w)/g, (match) => match[1].toUpperCase());\n if (element.dataset[cname] !== value) {\n if (value || value === \"\") element.dataset[cname] = value;\n else delete element.dataset[cname];\n }\n } else if (name === 'style') {\n if (element.style.cssText) element.style.cssText = '';\n if (typeof value === 'string') element.style.cssText = value;\n else {\n for (const s in value) {\n if (element.style[s] !== value[s]) element.style[s] = value[s];\n }\n }\n } else if (name.startsWith('xlink')) {\n const xname = name.replace('xlink', '').toLowerCase();\n if (value == null || value === false) {\n element.removeAttributeNS('http://www.w3.org/1999/xlink', xname);\n } else {\n element.setAttributeNS('http://www.w3.org/1999/xlink', xname, value);\n }\n } else if (name.startsWith('on')) {\n if (!value || typeof value === 'function') {\n element[name] = value;\n } else if (typeof value === 'string') {\n if (value) element.setAttribute(name, value);\n else element.removeAttribute(name);\n }\n } else if (/^id$|^class$|^list$|^readonly$|^contenteditable$|^role|-/g.test(name) || isSvg) {\n if (element.getAttribute(name) !== value) {\n if (value) element.setAttribute(name, value);\n else element.removeAttribute(name);\n }\n } else if (element[name] !== value) {\n element[name] = value;\n }\n if (name === 'key' && value) keyCache[value] = element;\n }\n if (props && typeof props['ref'] === 'function') {\n window.requestAnimationFrame(() => props['ref'](element));\n }\n}\n\nfunction render_component(node, parent, idx) {\n const { tag, props, children } = node;\n let key = `_${idx}`;\n let id = props && props['id'];\n if (!id) id = `_${idx}${Date.now()}`;\n else key = id;\n let asTag = 'section';\n if (props && props['as']) {\n asTag = props['as'];\n delete props['as'];\n }\n if (!parent.__componentCache) parent.__componentCache = {};\n let component = parent.__componentCache[key];\n if (!component || !(component instanceof tag) || !component.element) {\n const element = document.createElement(asTag);\n component = parent.__componentCache[key] = new tag({ ...props, children }).start(element);\n }\n if (component.mounted) {\n const new_state = component.mounted(props, children, component.state);\n (typeof new_state !== 'undefined') && component.setState(new_state);\n }\n updateProps(component.element, props, false);\n return component.element;\n}\n\nfunction createComponent(node, parent, idx = 0) {\n if (typeof node === 'string') return node;\n if (Array.isArray(node)) return node.map(child => createComponent(child, parent, idx++));\n let vdom = node;\n if (node && typeof node.tag === 'function' && Object.getPrototypeOf(node.tag).__isAppRunComponent) {\n vdom = render_component(node, parent, idx);\n }\n if (vdom && Array.isArray(vdom.children)) {\n const new_parent = vdom.props?._component;\n if (new_parent) {\n let i = 0;\n vdom.children = vdom.children.map(child => createComponent(child, new_parent, i++));\n } else {\n vdom.children = vdom.children.map(child => createComponent(child, parent, idx++));\n }\n }\n return vdom;\n}\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{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)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=globalThis.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=`lit$${(Math.random()+\"\").slice(9)}$`,o=\"?\"+e,n=`<${o}>`,l=document,h=(t=\"\")=>l.createComment(t),r=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,d=Array.isArray,u=t=>{var i;return d(t)||\"function\"==typeof(null===(i=t)||void 0===i?void 0:i[Symbol.iterator])},c=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,a=/>/g,f=/>|[ \t\\n\f\\r](?:([^\\s\"'>=/]+)([ \t\\n\f\\r]*=[ \t\\n\f\\r]*(?:[^ \t\\n\f\\r\"'`<>=]|(\"|')|))|$)/g,_=/'/g,m=/\"/g,g=/^(?:script|style|textarea|title)$/i,p=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),$=p(1),y=p(2),b=Symbol.for(\"lit-noChange\"),w=Symbol.for(\"lit-nothing\"),T=new WeakMap,x=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new N(i.insertBefore(h(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l},A=l.createTreeWalker(l,129,null,!1),C=(t,i)=>{const o=t.length-1,l=[];let h,r=2===i?\"<svg>\":\"\",d=c;for(let i=0;i<o;i++){const s=t[i];let o,u,p=-1,$=0;for(;$<s.length&&(d.lastIndex=$,u=d.exec(s),null!==u);)$=d.lastIndex,d===c?\"!--\"===u[1]?d=v:void 0!==u[1]?d=a:void 0!==u[2]?(g.test(u[2])&&(h=RegExp(\"</\"+u[2],\"g\")),d=f):void 0!==u[3]&&(d=f):d===f?\">\"===u[0]?(d=null!=h?h:c,p=-1):void 0===u[1]?p=-2:(p=d.lastIndex-u[2].length,o=u[1],d=void 0===u[3]?f:'\"'===u[3]?m:_):d===m||d===_?d=f:d===v||d===a?d=c:(d=f,h=void 0);const y=d===f&&t[i+1].startsWith(\"/>\")?\" \":\"\";r+=d===c?s+n:p>=0?(l.push(o),s.slice(0,p)+\"$lit$\"+s.slice(p)+e+y):s+e+(-2===p?(l.push(void 0),i):y)}const u=r+(t[o]||\"<?>\")+(2===i?\"</svg>\":\"\");if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return[void 0!==s?s.createHTML(u):u,l]};class E{constructor({strings:t,_$litType$:s},n){let l;this.parts=[];let r=0,d=0;const u=t.length-1,c=this.parts,[v,a]=C(t,s);if(this.el=E.createElement(v,n),A.currentNode=this.el.content,2===s){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(l=A.nextNode())&&c.length<u;){if(1===l.nodeType){if(l.hasAttributes()){const t=[];for(const i of l.getAttributeNames())if(i.endsWith(\"$lit$\")||i.startsWith(e)){const s=a[d++];if(t.push(i),void 0!==s){const t=l.getAttribute(s.toLowerCase()+\"$lit$\").split(e),i=/([.?@])?(.*)/.exec(s);c.push({type:1,index:r,name:i[2],strings:t,ctor:\".\"===i[1]?M:\"?\"===i[1]?H:\"@\"===i[1]?I:S})}else c.push({type:6,index:r})}for(const i of t)l.removeAttribute(i)}if(g.test(l.tagName)){const t=l.textContent.split(e),s=t.length-1;if(s>0){l.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)l.append(t[i],h()),A.nextNode(),c.push({type:2,index:++r});l.append(t[s],h())}}}else if(8===l.nodeType)if(l.data===o)c.push({type:2,index:r});else{let t=-1;for(;-1!==(t=l.data.indexOf(e,t+1));)c.push({type:7,index:r}),t+=e.length-1}r++}}static createElement(t,i){const s=l.createElement(\"template\");return s.innerHTML=t,s}}function P(t,i,s=t,e){var o,n,l,h;if(i===b)return i;let d=void 0!==e?null===(o=s._$Cl)||void 0===o?void 0:o[e]:s._$Cu;const u=r(i)?void 0:i._$litDirective$;return(null==d?void 0:d.constructor)!==u&&(null===(n=null==d?void 0:d._$AO)||void 0===n||n.call(d,!1),void 0===u?d=void 0:(d=new u(t),d._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Cl)&&void 0!==l?l:h._$Cl=[])[e]=d:s._$Cu=d),void 0!==d&&(i=P(t,d._$AS(t,i.values),d,e)),i}class V{constructor(t,i){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:l).importNode(s,!0);A.currentNode=o;let n=A.nextNode(),h=0,r=0,d=e[0];for(;void 0!==d;){if(h===d.index){let i;2===d.type?i=new N(n,n.nextSibling,this,t):1===d.type?i=new d.ctor(n,d.name,d.strings,this,t):6===d.type&&(i=new L(n,this,t)),this.v.push(i),d=e[++r]}h!==(null==d?void 0:d.index)&&(n=A.nextNode(),h++)}return o}m(t){let i=0;for(const s of this.v)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class N{constructor(t,i,s,e){var o;this.type=2,this._$AH=w,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cg=null===(o=null==e?void 0:e.isConnected)||void 0===o||o}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=P(this,t,i),r(t)?t===w||null==t||\"\"===t?(this._$AH!==w&&this._$AR(),this._$AH=w):t!==this._$AH&&t!==b&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.k(t):u(t)?this.S(t):this.$(t)}A(t,i=this._$AB){return this._$AA.parentNode.insertBefore(t,i)}k(t){this._$AH!==t&&(this._$AR(),this._$AH=this.A(t))}$(t){this._$AH!==w&&r(this._$AH)?this._$AA.nextSibling.data=t:this.k(l.createTextNode(t)),this._$AH=t}T(t){var i;const{values:s,_$litType$:e}=t,o=\"number\"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=E.createElement(e.h,this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.m(s);else{const t=new V(o,this),i=t.p(this.options);t.m(s),this.k(i),this._$AH=t}}_$AC(t){let i=T.get(t.strings);return void 0===i&&T.set(t.strings,i=new E(t)),i}S(t){d(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new N(this.A(h()),this.A(h()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var i;void 0===this._$AM&&(this._$Cg=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class S{constructor(t,i,s,e,o){this.type=1,this._$AH=w,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=w}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=P(this,t,i,0),n=!r(t)||t!==this._$AH&&t!==b,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=P(this,e[s+l],i,l),h===b&&(h=this._$AH[l]),n||(n=!r(h)||h!==this._$AH[l]),h===w?t=w:t!==w&&(t+=(null!=h?h:\"\")+o[l+1]),this._$AH[l]=h}n&&!e&&this.C(t)}C(t){t===w?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:\"\")}}class M extends S{constructor(){super(...arguments),this.type=3}C(t){this.element[this.name]=t===w?void 0:t}}const k=i?i.emptyScript:\"\";class H extends S{constructor(){super(...arguments),this.type=4}C(t){t&&t!==w?this.element.setAttribute(this.name,k):this.element.removeAttribute(this.name)}}class I extends S{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5}_$AI(t,i=this){var s;if((t=null!==(s=P(this,t,i,0))&&void 0!==s?s:w)===b)return;const e=this._$AH,o=t===w&&e!==w||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==w&&(e===w||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var i,s;\"function\"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class L{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){P(this,t)}}const R={P:\"$lit$\",L:e,V:o,I:1,N:C,R:V,D:u,j:P,H:N,O:S,F:H,B:I,W:M,Z:L},z=window.litHtmlPolyfillSupport;null==z||z(E,N),(null!==(t=globalThis.litHtmlVersions)&&void 0!==t?t:globalThis.litHtmlVersions=[]).push(\"2.2.1\");export{R as _$LH,$ as html,b as noChange,w as nothing,x as render,y as svg};\n//# sourceMappingURL=lit-html.js.map\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import{nothing as t,noChange as i}from\"../lit-html.js\";import{Directive as r,PartType as s,directive as n}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends r{constructor(i){if(super(i),this.it=t,i.type!==s.CHILD)throw Error(this.constructor.directiveName+\"() can only be used in child bindings\")}render(r){if(r===t||null==r)return this.ft=void 0,this.it=r;if(r===i)return r;if(\"string\"!=typeof r)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(r===this.it)return this.ft;this.it=r;const s=[r];return s.raw=s,this.ft={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName=\"unsafeHTML\",e.resultType=1;const o=n(e);export{e as UnsafeHTMLDirective,o as unsafeHTML};\n//# sourceMappingURL=unsafe-html.js.map\n","import { createElement, updateElement, Fragment } from './vdom-my';\n\n\nimport { render, svg, html, noChange, nothing } from 'lit-html';\nimport { directive, Directive, Part, PartInfo, PartType, EventPart } from 'lit-html/directive.js';\nimport { unsafeHTML } from 'lit-html/directives/unsafe-html.js';\nimport app from './apprun';\n\nfunction _render(element, vdom, parent?) {\n if (!vdom) return;\n if (typeof vdom === 'string') {\n if (!element['_$litPart$']) element.replaceChildren();\n render(html`${unsafeHTML(vdom)}`, element);\n } else if ('_$litType$' in vdom) {\n if (!element['_$litPart$']) element.replaceChildren();\n render(vdom, element);\n } else {\n updateElement(element, vdom, parent);\n element['_$litPart$'] = undefined;\n }\n}\n\nexport class RunDirective extends Directive {\n // State stored in class field\n value: number | undefined;\n constructor(partInfo: PartInfo) {\n super(partInfo);\n // When necessary, validate part in constructor using `part.type`\n if (partInfo.type !== PartType.EVENT) {\n throw new Error('${run} can only be used in event handlers');\n }\n }\n // Optional: override update to perform any direct DOM manipulation\n update(part: Part, params) {\n /* Any imperative updates to DOM/parts would go here */\n\n let { element, name } = part as EventPart;\n const getComponent = () => {\n let component = element['_component'];\n while (!component && element) {\n element = element.parentElement;\n component = element && element['_component'];\n }\n console.assert(!!component, 'Component not found.');\n return component;\n }\n const [event, ...args] = params;\n if (typeof event === 'string') {\n element[`on${name}`] = e => {\n const component = getComponent();\n component ? component.run(event, ...args, e) : app.run(event, ...args, e)\n }\n } else if (typeof event === 'function') {\n element[`on${name}`] = e => getComponent().setState(event(getComponent().state, ...args, e));\n }\n return this.render();\n }\n render() {\n return noChange;\n }\n}\n\nconst run = directive(RunDirective) as any;\nexport { createElement, Fragment, html, svg, _render as render, run };\n\n","import app from './apprun'\nexport {\n app, Component, View, Action, Update, on, update, event, EventOptions,\n customElement, CustomElementOptions,\n ROUTER_404_EVENT, ROUTER_EVENT, safeHTML\n} from './apprun'\nimport { createElement, render, Fragment, html, svg, run } from './vdom-lit-html';\nexport { html, svg, render, run }\n\napp.createElement = createElement;\napp.render = render;\napp.Fragment = Fragment;\n\nexport default app;\n\nif (typeof window === 'object') {\n window['html'] = html;\n window['svg'] = svg;\n window['run'] = run;\n}\n"],"names":["root","factory","exports","module","define","amd","this","App","constructor","_events","on","name","fn","options","push","off","subscribers","filter","sub","find","run","args","getSubscribers","console","assert","length","forEach","delay","Object","keys","apply","once","_t","clearTimeout","setTimeout","query","promises","map","Promise","all","events","evt","endsWith","startsWith","replace","sort","a","b","event","app","self","g","global","customElement","componentClass","HTMLElement","super","component","_component","state","observedAttributes","attr","toLowerCase","connectedCallback","isConnected","opts","_shadowRoot","shadow","attachShadow","mode","attrMap","reduce","lc","_attrMap","props","Array","from","attributes","item","value","undefined","defineProperty","get","set","attributeChangedCallback","configurable","enumerable","requestAnimationFrame","children","el","parentElement","removeChild","mount","_props","dispatchEvent","bind","mounted","new_state","render","disconnectedCallback","unload","unmount","oldValue","mappedName","window","customElements","Reflect","meta","WeakMap","defineMetadata","metadataKey","metadataValue","target","has","getMetadataKeys","getPrototypeOf","getMetadata","update","key","descriptor","toString","componentCache","Map","o","components","REFRESH","Component","view","_app","_actions","_global_events","_history","_history_idx","_history_prev","setState","history","_history_next","start","element","renderState","vdom","html","_","document","getElementById","tracking_attr","getAttribute","tracking_id","Date","valueOf","setAttribute","MutationObserver","observer","changes","body","contains","disconnect","observe","childList","subtree","attributeOldValue","attributeFilter","removeAttribute","directive","rendered","_state","then","v","catch","err","error","enable_history","callback","global_event","prev","next","route","add_actions","is_global_event","indexOf","add_action","action","p","current_state","newState","actions","isArray","act","split","n","trim","__isAppRunComponent","ROUTER_EVENT","ROUTER_404_EVENT","url","rest","model","NOOP","addEventListener","onpopstate","location","hash","hasAttribute","getStateValue","setStateValue","tag","substring","e","handler","type","checked","Number","multiple","selected","apply_directive","Fragment","collect","ch","c","i","createElement","Error","keyCache","updateElement","nodes","parent","createComponent","isSvg","nodeName","updateChildren","node","key1","key2","toUpperCase","same","updateProps","parentNode","replaceChild","create","old_len","childNodes","new_len","len","Math","min","child","textContent","nodeType","nodeValue","createText","SVGElement","insertBefore","old","temp","nextSibling","appendChild","lastChild","d","createDocumentFragment","safeHTML","div","insertAdjacentHTML","createTextNode","JSON","stringify","createElementNS","cached","oldProps","newProps","mergeProps","cname","match","dataset","style","cssText","s","xname","removeAttributeNS","setAttributeNS","test","idx","id","now","asTag","__componentCache","render_component","new_parent","t","ATTRIBUTE","CHILD","PROPERTY","BOOLEAN_ATTRIBUTE","EVENT","ELEMENT","_$litDirective$","values","_$AU","_$AM","_$AT","_$Ct","_$Ci","_$AS","globalThis","trustedTypes","createPolicy","createHTML","random","slice","l","h","createComment","r","f","m","_$litType$","strings","$","y","Symbol","for","w","T","x","renderBefore","_$litPart$","N","_$AI","A","createTreeWalker","C","u","lastIndex","exec","RegExp","hasOwnProperty","E","parts","currentNode","content","firstChild","remove","append","nextNode","hasAttributes","getAttributeNames","index","ctor","M","H","I","S","tagName","emptyScript","data","static","innerHTML","P","_$Cl","_$Cu","_$AO","call","V","_$AN","_$AD","creationScope","importNode","L","_$AH","_$AA","_$AB","_$Cg","startNode","endNode","_$AR","k","iterator","_$AC","_$AP","setConnected","fill","String","arguments","capture","passive","removeEventListener","handleEvent","host","z","litHtmlPolyfillSupport","litHtmlVersions","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","Function","obj","prop","prototype","toStringTag","it","directiveName","ft","raw","resultType","_render","replaceChildren","RunDirective","partInfo","part","params","getComponent"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"dist/apprun-html.js","mappings":";CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,iBAAZC,QACdA,QAAgB,OAAID,IAEpBD,EAAa,OAAIC,IARnB,CASGK,MAAM,qECRF,MAAMC,EAYXC,cACEF,KAAKG,QAAU,GAGjBC,GAAGC,EAAcC,EAAuBC,EAAwB,IAC9DP,KAAKG,QAAQE,GAAQL,KAAKG,QAAQE,IAAS,GAC3CL,KAAKG,QAAQE,GAAMG,KAAK,CAAEF,GAAAA,EAAIC,QAAAA,IAGhCE,IAAIJ,EAAcC,GAChB,MAAMI,EAAcV,KAAKG,QAAQE,IAAS,GAE1CL,KAAKG,QAAQE,GAAQK,EAAYC,QAAQC,GAAQA,EAAIN,KAAOA,IAG9DO,KAAKR,GACH,OAAOL,KAAKG,QAAQE,GAGtBS,IAAIT,KAAiBU,GACnB,MAAML,EAAcV,KAAKgB,eAAeX,EAAML,KAAKG,SAYnD,OAXAc,QAAQC,OAAOR,GAAeA,EAAYS,OAAS,EAAG,4BAA8Bd,GACpFK,EAAYU,SAASR,IACnB,MAAM,GAAEN,EAAE,QAAEC,GAAYK,EAMxB,OALIL,EAAQc,MACVrB,KAAKqB,MAAMhB,EAAMC,EAAIS,EAAMR,GAE3Be,OAAOC,KAAKhB,GAASY,OAAS,EAAIb,EAAGkB,MAAMxB,KAAM,IAAIe,EAAMR,IAAYD,EAAGkB,MAAMxB,KAAMe,IAEhFH,EAAIL,QAAQkB,QAGff,EAAYS,OAGrBM,KAAKpB,EAAcC,EAAIC,EAAwB,IAC7CP,KAAKI,GAAGC,EAAMC,EAAI,OAAF,wBAAOC,GAAO,CAAEkB,MAAM,KAGhCJ,MAAMhB,EAAMC,EAAIS,EAAMR,GACxBA,EAAQmB,IAAIC,aAAapB,EAAQmB,IACrCnB,EAAQmB,GAAKE,YAAW,KACtBD,aAAapB,EAAQmB,IACrBJ,OAAOC,KAAKhB,GAASY,OAAS,EAAIb,EAAGkB,MAAMxB,KAAM,IAAIe,EAAMR,IAAYD,EAAGkB,MAAMxB,KAAMe,KACrFR,EAAQc,OAGbQ,MAAMxB,KAAiBU,GACrB,MAAML,EAAcV,KAAKgB,eAAeX,EAAML,KAAKG,SACnDc,QAAQC,OAAOR,GAAeA,EAAYS,OAAS,EAAG,4BAA8Bd,GACpF,MAAMyB,EAAWpB,EAAYqB,KAAInB,IAC/B,MAAM,GAAEN,EAAE,QAAEC,GAAYK,EACxB,OAAOU,OAAOC,KAAKhB,GAASY,OAAS,EAAIb,EAAGkB,MAAMxB,KAAM,IAAIe,EAAMR,IAAYD,EAAGkB,MAAMxB,KAAMe,MAE/F,OAAOiB,QAAQC,IAAIH,GAGbd,eAAeX,EAAc6B,GACnC,MAAMxB,EAAcwB,EAAO7B,IAAS,GAcpC,OATA6B,EAAO7B,GAAQK,EAAYC,QAAQC,IACzBA,EAAIL,QAAQkB,OAEtBH,OAAOC,KAAKW,GAAQvB,QAAOwB,GAAOA,EAAIC,SAAS,MAAQ/B,EAAKgC,WAAWF,EAAIG,QAAQ,IAAK,OACrFC,MAAK,CAACC,EAAGC,IAAMA,EAAEtB,OAASqB,EAAErB,SAC5BC,SAAQe,GAAOzB,EAAYF,QAAQ0B,EAAOC,GAAKJ,KAAInB,GAAQ,OAAD,wBACtDA,GAAG,CACNL,QAAS,OAAF,wBAAOK,EAAIL,SAAO,CAAEmC,MAAOrC,WAE/BK,GAKX,IAAIiC,EACJ,MAAMjD,EAAwB,iBAATkD,MAAqBA,KAAKA,OAASA,MAAQA,MAC3C,iBAAX,EAAAC,GAAuB,EAAAA,EAAOC,SAAW,EAAAD,GAAU,EAAAA,EACzDnD,EAAU,KAAKA,EAAsB,gBACvCiD,EAAMjD,EAAU,KAEhBiD,EAAM,IAAI1C,EACVP,EAAU,IAAIiD,EACdjD,EAAsB,gBATD,YAWvB,mNC1FO,MAAMqD,EAAgB,CAACC,EAAgBzC,EAAgC,KAAO,cAA4B0C,YAM/G/C,cACEgD,QAEEC,gBAAc,OAAOnD,KAAKoD,WAC1BC,YAAU,OAAOrD,KAAKoD,WAAWC,MAE1BC,gCAET,OAAQ/C,EAAQ+C,oBAAsB,IAAIvB,KAAIwB,GAAQA,EAAKC,gBAG7DC,oBACE,GAAIzD,KAAK0D,cAAgB1D,KAAKoD,WAAY,CACxC,MAAMO,EAAOpD,GAAW,GACxBP,KAAK4D,YAAcD,EAAKE,OAAS7D,KAAK8D,aAAa,CAAEC,KAAM,SAAY/D,KACvE,MAAMsD,EAAsBK,EAAKL,oBAAsB,GAEjDU,EAAUV,EAAmBW,QAAO,CAAClC,EAAK1B,KAC9C,MAAM6D,EAAK7D,EAAKmD,cAIhB,OAHIU,IAAO7D,IACT0B,EAAImC,GAAM7D,GAEL0B,IACN,IACH/B,KAAKmE,SAAY9D,GAA0B2D,EAAQ3D,IAASA,EAE5D,MAAM+D,EAAQ,GACdC,MAAMC,KAAKtE,KAAKuE,YAAYnD,SAAQoD,GAAQJ,EAAMpE,KAAKmE,SAASK,EAAKnE,OAASmE,EAAKC,QAGnFnB,EAAmBlC,SAAQf,SACNqE,IAAf1E,KAAKK,KAAqB+D,EAAM/D,GAAQL,KAAKK,IACjDiB,OAAOqD,eAAe3E,KAAMK,EAAM,CAChCuE,IAAG,IACMR,EAAM/D,GAEfwE,IAAyBJ,GAEvBzE,KAAK8E,yBAAyBzE,EAAM+D,EAAM/D,GAAOoE,IAEnDM,cAAc,EACdC,YAAY,OAIhBC,uBAAsB,KACpB,MAAMC,EAAWlF,KAAKkF,SAAWb,MAAMC,KAAKtE,KAAKkF,UAAY,GAO7D,GANAA,EAAS9D,SAAQ+D,GAAMA,EAAGC,cAAcC,YAAYF,KACpDnF,KAAKoD,WAAa,IAAIJ,EAAe,OAAD,wBAAMoB,GAAK,CAAEc,SAAAA,KAAYI,MAAMtF,KAAK4D,YAAaD,GAErF3D,KAAKoD,WAAWmC,OAASnB,EAEzBpE,KAAKoD,WAAWoC,cAAgBxF,KAAKwF,cAAcC,KAAKzF,MACpDA,KAAKoD,WAAWsC,QAAS,CAC3B,MAAMC,EAAY3F,KAAKoD,WAAWsC,QAAQtB,EAAOc,EAAUlF,KAAKoD,WAAWC,YAClD,IAAdsC,IAA2B3F,KAAKoD,WAAWC,MAAQsC,GAEhE3F,KAAKI,GAAKJ,KAAKoD,WAAWhD,GAAGqF,KAAKzF,KAAKoD,YACvCpD,KAAKc,IAAMd,KAAKoD,WAAWtC,IAAI2E,KAAKzF,KAAKoD,aACnB,IAAhBO,EAAKiC,QAAmB5F,KAAKoD,WAAWtC,IAAI,SAKxD+E,mCACyB,QAAvB,EAAe,QAAf,EAAA7F,KAAKoD,kBAAU,eAAE0C,cAAM,iBACC,QAAxB,EAAe,QAAf,EAAA9F,KAAKoD,kBAAU,eAAE2C,eAAO,iBACxB/F,KAAKoD,WAAa,KAGpB0B,yBAAyBzE,EAAc2F,EAAmBvB,GACxD,GAAIzE,KAAKoD,WAAY,CAEnB,MAAM6C,EAAajG,KAAKmE,SAAS9D,GAEjCL,KAAKoD,WAAWmC,OAAOU,GAAcxB,EACrCzE,KAAKoD,WAAWtC,IAAI,mBAAoBmF,EAAYD,EAAUvB,GAE1DA,IAAUuB,IAAiC,IAAnBzF,EAAQqF,QAClCM,OAAOjB,uBAAsB,KAE3BjF,KAAKoD,WAAWtC,IAAI,WAO9B,GAAgBT,EAAc2C,EAAgBzC,KACjB,oBAAnB4F,gBAAmCA,eAAerG,OAAOO,EAAM0C,EAAcC,EAAgBzC,KCtG1F6F,EAAU,CAErBC,KAAM,IAAIC,QAEVC,eAAeC,EAAaC,EAAeC,GACpC1G,KAAKqG,KAAKM,IAAID,IAAS1G,KAAKqG,KAAKxB,IAAI6B,EAAQ,IAClD1G,KAAKqG,KAAKzB,IAAI8B,GAAQF,GAAeC,GAGvCG,gBAAgBF,GAEd,OADAA,EAASpF,OAAOuF,eAAeH,GACxB1G,KAAKqG,KAAKzB,IAAI8B,GAAUpF,OAAOC,KAAKvB,KAAKqG,KAAKzB,IAAI8B,IAAW,IAGtEI,YAAYN,EAAaE,GAEvB,OADAA,EAASpF,OAAOuF,eAAeH,GACxB1G,KAAKqG,KAAKzB,IAAI8B,GAAU1G,KAAKqG,KAAKzB,IAAI8B,GAAQF,GAAe,OAIjE,SAASO,EAAiB7E,EAAY3B,EAAe,IAC1D,MAAO,CAACmG,EAAaM,EAAaC,KAChC,MAAM5G,EAAO6B,EAASA,EAAOgF,WAAaF,EAG1C,OAFAZ,EAAQG,eAAe,iBAAiBlG,IACtC,CAAEA,KAAAA,EAAM2G,IAAAA,EAAKzG,QAAAA,GAAWmG,GACnBO,GAIJ,SAAS7G,EAAe8B,EAAY3B,EAAe,IACxD,OAAO,SAAUmG,EAAaM,GAC5B,MAAM3G,EAAO6B,EAASA,EAAOgF,WAAaF,EAC1CZ,EAAQG,eAAe,iBAAiBlG,IACtC,CAAEA,KAAAA,EAAM2G,IAAAA,EAAKzG,QAAAA,GAAWmG,IAIvB,SAAS,EAAcrG,EAAcE,GAC1C,OAAO,SAA+DL,GAEpE,OADA,EAAaG,EAAMH,EAAaK,GACzBL,gBCrCX,MAAMiH,EAAiB,IAAIC,IACtBzE,EAAA,OAAS,mBAAmBA,EAAA,KAAO,kBAAkB0E,GAAKA,EAAEC,WAAaH,IAE9E,MAAMI,EAAUlE,GAASA,EAElB,MAAMmE,EA0GXtH,YACYmD,EACAoE,EACAV,EACAxG,GAHA,KAAA8C,MAAAA,EACA,KAAAoE,KAAAA,EACA,KAAAV,OAAAA,EACA,KAAAxG,QAAAA,EA5GJ,KAAAmH,KAAO,IAAI,IACX,KAAAC,SAAW,GACX,KAAAC,eAAiB,GAEjB,KAAAC,SAAW,GACX,KAAAC,cAAgB,EA+EhB,KAAAC,cAAgB,KACtB/H,KAAK8H,eACD9H,KAAK8H,cAAgB,EACvB9H,KAAKgI,SAAShI,KAAK6H,SAAS7H,KAAK8H,cAAe,CAAElC,QAAQ,EAAMqC,SAAS,IAGzEjI,KAAK8H,aAAe,GAIhB,KAAAI,cAAgB,KACtBlI,KAAK8H,eACD9H,KAAK8H,aAAe9H,KAAK6H,SAAS1G,OACpCnB,KAAKgI,SAAShI,KAAK6H,SAAS7H,KAAK8H,cAAe,CAAElC,QAAQ,EAAMqC,SAAS,IAGzEjI,KAAK8H,aAAe9H,KAAK6H,SAAS1G,OAAS,GAW/C,KAAAgH,MAAQ,CAACC,EAAU,KAAM7H,IAChBP,KAAKsF,MAAM8C,EAAS,OAAF,QAAIxC,QAAQ,GAASrF,IAhGxC8H,YAAYhF,EAAUiF,EAAO,MACnC,IAAKtI,KAAKyH,KAAM,OAChB,IAAIc,EAAOD,GAAQtI,KAAKyH,KAAKpE,GAS7B,GARAV,EAAA,SAAgBA,EAAA,MAAQ,QAAS,CAC/BQ,UAAWnD,KACXwI,EAAGD,EAAO,IAAM,IAChBlF,MAAAA,EACAiF,KAAMC,EACNpD,GAAInF,KAAKoI,UAGa,iBAAbK,SAAuB,OAElC,MAAMtD,EAA8B,iBAAjBnF,KAAKoI,SAAwBpI,KAAKoI,QACnDK,SAASC,eAAe1I,KAAKoI,UAAYK,SAASE,cAAc3I,KAAKoI,SAAWpI,KAAKoI,QAEvF,GAAIjD,EAAI,CACN,MAAMyD,EAAgB,KACjB5I,KAAK8F,OAECX,EAAe,aAAMnF,MAAQmF,EAAG0D,aAAaD,KAAmB5I,KAAK8I,cAC9E9I,KAAK8I,aAAc,IAAIC,MAAOC,UAAU9B,WACxC/B,EAAG8D,aAAaL,EAAe5I,KAAK8I,aACJ,oBAArBI,mBACJlJ,KAAKmJ,WAAUnJ,KAAKmJ,SAAW,IAAID,kBAAiBE,IACnDA,EAAQ,GAAGpD,WAAahG,KAAK8I,aAAgBL,SAASY,KAAKC,SAASnE,KACtEnF,KAAK8F,OAAO9F,KAAKqD,OACjBrD,KAAKmJ,SAASI,aACdvJ,KAAKmJ,SAAW,UAGpBnJ,KAAKmJ,SAASK,QAAQf,SAASY,KAAM,CACnCI,WAAW,EAAMC,SAAS,EAC1BnF,YAAY,EAAMoF,mBAAmB,EAAMC,gBAAiB,CAAChB,OAdjEzD,EAAG0E,iBAAmB1E,EAAG0E,gBAAgBjB,GAkB3CzD,EAAe,WAAInF,MAEhBsI,GAAQC,IACXA,GAAO,EAAAuB,EAAA,GAAUvB,EAAMvI,MACvB2C,EAAA,SAAWwC,EAAIoD,EAAMvI,OAEvBA,KAAK+J,UAAY/J,KAAK+J,SAAS/J,KAAKqD,OAG/B2E,SAAS3E,EAAU9C,EACtB,CAAEqF,QAAQ,EAAMqC,SAAS,IAC3B,GAAI5E,aAAiBrB,QAGnBA,QAAQgI,QAAQ3G,GAAO4G,MAAKC,IAC1BlK,KAAKgI,SAASkC,EAAG3J,GACjBP,KAAKmK,OAAS9G,SAEX,CAEL,GADArD,KAAKmK,OAAS9G,EACD,MAATA,EAAe,OACnBrD,KAAKqD,MAAQA,GACU,IAAnB9C,EAAQqF,QAAkB5F,KAAKqI,YAAYhF,IACvB,IAApB9C,EAAQ0H,SAAqBjI,KAAKoK,iBACpCpK,KAAK6H,SAAW,IAAI7H,KAAK6H,SAAUxE,GACnCrD,KAAK8H,aAAe9H,KAAK6H,SAAS1G,OAAS,GAEb,mBAArBZ,EAAQ8J,UAAyB9J,EAAQ8J,SAASrK,KAAKqD,QAmC/DiC,MAAM8C,EAAU,KAAM7H,WA2B3B,OA1BAU,QAAQC,QAAQlB,KAAKoI,QAAS,8BAC9BpI,KAAKO,QAAUA,EAAU,OAAH,wBAAQP,KAAKO,SAAYA,GAC/CP,KAAKoI,QAAUA,EACfpI,KAAKsK,aAAe/J,EAAQ+J,aAC5BtK,KAAKoK,iBAAmB7J,EAAQ0H,QAE5BjI,KAAKoK,iBACPpK,KAAKI,GAAGG,EAAQ0H,QAAQsC,MAAQ,eAAgBvK,KAAK+H,eACrD/H,KAAKI,GAAGG,EAAQ0H,QAAQuC,MAAQ,eAAgBxK,KAAKkI,gBAGnD3H,EAAQkK,QACVzK,KAAK+G,OAAS/G,KAAK+G,QAAU,GACxB/G,KAAK+G,OAAOxG,EAAQkK,SAAQzK,KAAK+G,OAAOxG,EAAQkK,OAASlD,IAGhEvH,KAAK0K,cACL1K,KAAKqD,MAAmC,QAA3B,EAAU,QAAV,EAAArD,KAAKqD,aAAK,QAAIrD,KAAY,aAAC,QAAI,GAClB,mBAAfA,KAAKqD,QAAsBrD,KAAKqD,MAAQrD,KAAKqD,SAExDrD,KAAKgI,SAAShI,KAAKqD,MAAO,CAAEuC,SAAUrF,EAAQqF,OAAQqC,SAAS,IAE3DtF,EAAA,UACEwE,EAAevC,IAAIwD,GAAYjB,EAAevC,IAAIwD,GAAS5H,KAAKR,MAC7DmH,EAAetC,IAAIuD,EAAS,CAACpI,QAE/BA,KAGT2K,gBAAgBtK,GACd,OAAOA,IACLL,KAAKsK,cACLtK,KAAK4H,eAAegD,QAAQvK,IAAS,GACrCA,EAAKgC,WAAW,MAAQhC,EAAKgC,WAAW,MAAQhC,EAAKgC,WAAW,MAGpEwI,WAAWxK,EAAcyK,EAAQvK,EAAyB,IACnDuK,GAA4B,mBAAXA,IAClBvK,EAAQuC,QAAQ9C,KAAK4H,eAAepH,KAAKH,GAC7CL,KAAKI,GAAGC,GAAa,IAAI0K,KAEvBpI,EAAA,SAAgBA,EAAA,MAAQ,QAAS,CAC/BQ,UAAWnD,KACXwI,EAAG,IACH9F,MAAOrC,EAAM0K,EAAAA,EACbC,cAAehL,KAAKqD,MACpB9C,QAAAA,IAGF,MAAM0K,EAAWH,EAAO9K,KAAKqD,SAAU0H,GAEvCpI,EAAA,SAAgBA,EAAA,MAAQ,QAAS,CAC/BQ,UAAWnD,KACXwI,EAAG,IACH9F,MAAOrC,EAAM0K,EAAAA,EACbE,SAAAA,EACA5H,MAAOrD,KAAKqD,MACZ9C,QAAAA,IAGFP,KAAKgI,SAASiD,EAAU1K,KACvBA,IAGLmK,cACE,MAAMQ,EAAUlL,KAAK+G,QAAU,GAC/BX,EAAQQ,gBAAgB5G,MAAMoB,SAAQ4F,IACpC,GAAIA,EAAI3E,WAAW,kBAAmB,CACpC,MAAMgE,EAAOD,EAAQU,YAAYE,EAAKhH,MACtCkL,EAAQ7E,EAAKhG,MAAQ,CAACL,KAAKqG,EAAKW,KAAKvB,KAAKzF,MAAOqG,EAAK9F,aAI1D,MAAM0B,EAAM,GACRoC,MAAM8G,QAAQD,GAChBA,EAAQ9J,SAAQgK,IACd,MAAO/K,EAAMyK,EAAQnH,GAAQyH,EACf/K,EAAK6G,WACbmE,MAAM,KAAKjK,SAAQkK,GAAKrJ,EAAIqJ,EAAEC,QAAU,CAACT,EAAQnH,QAGzDrC,OAAOC,KAAK2J,GAAS9J,SAAQf,IAC3B,MAAMyK,EAASI,EAAQ7K,IACD,mBAAXyK,GAAyBzG,MAAM8G,QAAQL,KAChDzK,EAAKgL,MAAM,KAAKjK,SAAQkK,GAAKrJ,EAAIqJ,EAAEC,QAAUT,OAK9C7I,EAAI,OAAMA,EAAI,KAAOsF,GAC1BjG,OAAOC,KAAKU,GAAKb,SAAQf,IACvB,MAAMyK,EAAS7I,EAAI5B,GACG,mBAAXyK,EACT9K,KAAK6K,WAAWxK,EAAMyK,GACbzG,MAAM8G,QAAQL,IACvB9K,KAAK6K,WAAWxK,EAAMyK,EAAO,GAAIA,EAAO,OAKvChK,IAAI4B,KAAa3B,GACtB,GAAIf,KAAKqD,iBAAiBrB,QACxB,OAAOA,QAAQgI,QAAQhK,KAAKqD,OAAO4G,MAAK5G,IACtCrD,KAAKqD,MAAQA,EACbrD,KAAKc,IAAI4B,KAAU3B,MAEhB,CACL,MAAMV,EAAOqC,EAAMwE,WACnB,OAAOlH,KAAK2K,gBAAgBtK,GAC1BsC,EAAA,MAAQtC,KAASU,GACjBf,KAAK0H,KAAK5G,IAAIT,KAASU,IAItBX,GAAGsC,EAAUpC,EAAuBC,GACzC,MAAMF,EAAOqC,EAAMwE,WAEnB,OADAlH,KAAK2H,SAASnH,KAAK,CAAEH,KAAAA,EAAMC,GAAAA,IACpBN,KAAK2K,gBAAgBtK,GAC1BsC,EAAA,KAAOtC,EAAMC,EAAIC,GACjBP,KAAK0H,KAAKtH,GAAGC,EAAMC,EAAIC,GAGpBwF,gBACQ,QAAb,EAAA/F,KAAKmJ,gBAAQ,SAAEI,aACfvJ,KAAK2H,SAASvG,SAAQ0J,IACpB,MAAM,KAAEzK,EAAI,GAAEC,GAAOwK,EACrB9K,KAAK2K,gBAAgBtK,GACnBsC,EAAA,MAAQtC,EAAMC,GACdN,KAAK0H,KAAKjH,IAAIJ,EAAMC,OArPnB,EAAAkL,qBAAsB,ECRxB,MAAMC,EAAuB,KACvBC,EAA2B,MAE3BjB,EAAgBkB,IAE3B,GADKA,IAAKA,EAAM,KACZA,EAAItJ,WAAW,KAAM,CACvB,MAAOhC,KAASuL,GAAQD,EAAIN,MAAM,KAClC1I,EAAA,MAAQtC,KAASuL,IAASjJ,EAAA,MAAQ+I,EAAkBrL,KAASuL,GAC7DjJ,EAAA,MAAQ8I,EAAcpL,KAASuL,QAC1B,GAAID,EAAItJ,WAAW,KAAM,CAC9B,MAAOmG,EAAGnI,KAASuL,GAAQD,EAAIN,MAAM,KACrC1I,EAAA,MAAQ,IAAMtC,KAASuL,IAASjJ,EAAA,MAAQ+I,EAAkB,IAAMrL,KAASuL,GACzEjJ,EAAA,MAAQ8I,EAAc,IAAMpL,KAASuL,QAErCjJ,EAAA,MAAQgJ,IAAQhJ,EAAA,MAAQ+I,EAAkBC,GAC1ChJ,EAAA,MAAQ8I,EAAcE,ICK1BhJ,EAAA,IAAQA,EAAA,gBAAoB,KAC5BA,EAAA,SAAa,KACbA,EAAA,WAAe,KACfA,EAAA,eAAmB,EACnBA,EAAA,WAAe,KAEfA,EAAA,QAAY,CAAayF,EAA4ByD,EAAWpE,EAAgBV,EAC9ExG,KACA,MAAMoD,EAAO,OAAH,QAAKiC,QAAQ,EAAM0E,cAAc,GAAS/J,GAC9C4C,EAAY,IAAIqE,EAAgBqE,EAAOpE,EAAMV,GAGnD,OAFIxG,GAAWA,EAAQwJ,WAAU5G,EAAU4G,SAAWxJ,EAAQwJ,UAC9D5G,EAAUmC,MAAM8C,EAASzE,GAClBR,GAGT,MAAM2I,EAAOtD,MACb7F,EAAA,KAAO,IAAKmJ,GACZnJ,EAAA,KAAO,SAAS6F,GAAKsD,IACrBnJ,EAAA,KAAO8I,EAAcK,GACrBnJ,EAAA,KAAO,IAAKmJ,GACZnJ,EAAA,QAAe8H,EACf9H,EAAA,KAAO,SAASgJ,GAAOhJ,EAAA,SAAgBA,EAAA,QAAagJ,KAE5B,iBAAblD,UACTA,SAASsD,iBAAiB,oBAAoB,KACxCpJ,EAAA,UAAiB8H,IACnBvE,OAAO8F,WAAa,IAAMvB,EAAMwB,SAASC,MACpCzD,SAASY,KAAK8C,aAAa,mBAAmB1B,EAAMwB,SAASC,UASxE,QAAevJ,EAAW,EAEJ,iBAAXuD,SACTA,OAAkB,UAAIsB,EACtBtB,OAAc,MAAIvD,EAAA,EAClBuD,OAAW,GAAI9F,EACf8F,OAAsB,cAAI,EAC1BA,OAAiB,SAAI,mDCjEvB,MAAMkG,EAAgB,CAACjJ,EAAW9C,KACxBA,EAAO8C,EAAiB,MAAE9C,GAAQ8C,EAAiB,QAAM,GAG7DkJ,EAAgB,CAAClJ,EAAW9C,EAAMoE,KACtC,GAAIpE,EAAM,CACR,MAAMgD,EAAQF,EAAiB,OAAK,GACpCE,EAAMhD,GAAQoE,EACdtB,EAAU6E,SAAS3E,QAEnBF,EAAU6E,SAASvD,IAgEjBqF,EAAY,CAACxB,EAAMnF,KACvB,GAAIkB,MAAM8G,QAAQ7C,GAChB,OAAOA,EAAKvG,KAAIqG,GAAW0B,EAAU1B,EAASjF,KACzC,CACL,IAAI,IAAEmJ,EAAG,MAAElI,EAAK,SAAEc,GAAaoD,EAC/B,OAAIgE,GACElI,GAAO9C,OAAOC,KAAK6C,GAAOhD,SAAQ4F,IAChCA,EAAI3E,WAAW,OAnEH,EAAC2E,EAAa5C,EAAWkI,EAAKnJ,KACpD,GAAI6D,EAAI3E,WAAW,OAAQ,CACzB,MAAMK,EAAQ0B,EAAM4C,GAEpB,GADAA,EAAMA,EAAIuF,UAAU,GACC,kBAAV7J,EACT0B,EAAM4C,GAAOwF,GAAKrJ,EAAUrC,IAAMqC,EAAUrC,IAAIkG,EAAKwF,GAAK,QAAQxF,EAAKwF,QAClE,GAAqB,iBAAV9J,EAChB0B,EAAM4C,GAAOwF,GAAKrJ,EAAUrC,IAAMqC,EAAUrC,IAAI4B,EAAO8J,GAAK,QAAQ9J,EAAO8J,QACtE,GAAqB,mBAAV9J,EAChB0B,EAAM4C,GAAOwF,GAAKrJ,EAAU6E,SAAStF,EAAMS,EAAUE,MAAOmJ,SACvD,GAAInI,MAAM8G,QAAQzI,GAAQ,CAC/B,MAAO+J,KAAY1B,GAAKrI,EACD,iBAAZ+J,EACTrI,EAAM4C,GAAOwF,GAAKrJ,EAAUrC,IAAMqC,EAAUrC,IAAI2L,KAAY1B,EAAGyB,GAAK,QAAQC,KAAY1B,EAAGyB,GAC/D,mBAAZC,IAChBrI,EAAM4C,GAAOwF,GAAKrJ,EAAU6E,SAASyE,EAAQtJ,EAAUE,SAAU0H,EAAGyB,WAInE,GAAY,UAARxF,EAAiB,CAC1B,MAAM0F,EAAOtI,EAAY,MAAK,OACxB/D,EAA6B,iBAAf+D,EAAM4C,GAAoB5C,EAAM4C,GAAO5C,EAAY,KACvE,GAAY,UAARkI,EACF,OAAQI,GACN,IAAK,WACHtI,EAAe,QAAIgI,EAAcjJ,EAAW9C,GAC5C+D,EAAe,QAAIoI,GAAKH,EAAclJ,EAAW9C,GAAQmM,EAAE9F,OAAOrG,KAAMmM,EAAE9F,OAAOiG,SACjF,MACF,IAAK,QACHvI,EAAe,QAAIgI,EAAcjJ,EAAW9C,KAAU+D,EAAa,MACnEA,EAAe,QAAIoI,GAAKH,EAAclJ,EAAW9C,GAAQmM,EAAE9F,OAAOrG,KAAMmM,EAAE9F,OAAOjC,OACjF,MACF,IAAK,SACL,IAAK,QACHL,EAAa,MAAIgI,EAAcjJ,EAAW9C,GAC1C+D,EAAe,QAAIoI,GAAKH,EAAclJ,EAAW9C,GAAQmM,EAAE9F,OAAOrG,KAAMuM,OAAOJ,EAAE9F,OAAOjC,QACxF,MACF,QACEL,EAAa,MAAIgI,EAAcjJ,EAAW9C,GAC1C+D,EAAe,QAAIoI,GAAKH,EAAclJ,EAAW9C,GAAQmM,EAAE9F,OAAOrG,KAAMmM,EAAE9F,OAAOjC,WAEpE,WAAR6H,GACTlI,EAAa,MAAIgI,EAAcjJ,EAAW9C,GAC1C+D,EAAgB,SAAIoI,IACbA,EAAE9F,OAAOmG,UACZR,EAAclJ,EAAW9C,GAAQmM,EAAE9F,OAAOrG,KAAMmM,EAAE9F,OAAOjC,SAG5C,WAAR6H,GACTlI,EAAgB,SAAIgI,EAAcjJ,EAAW9C,GAC7C+D,EAAe,QAAIoI,GAAKH,EAAclJ,EAAW9C,GAAQmM,EAAE9F,OAAOrG,KAAMmM,EAAE9F,OAAOoG,WAChE,aAARR,IACTlI,EAAiB,UAAIgI,EAAcjJ,EAAW9C,GAC9C+D,EAAe,QAAIoI,GAAKH,EAAclJ,EAAW9C,GAAQmM,EAAE9F,OAAOrG,KAAMmM,EAAE9F,OAAOjC,aAGnF,QAAQ,IAAK,CAAEuC,IAAAA,EAAKsF,IAAAA,EAAKlI,MAAAA,EAAOjB,UAAAA,KAY1B4J,CAAgB/F,EAAK5C,EAAOkI,EAAKnJ,UAC1BiB,EAAM4C,OAGb9B,IAAUA,EAAW4E,EAAU5E,EAAU/B,IACtC,CAAEmJ,IAAAA,EAAKlI,MAAAA,EAAOc,SAAAA,IAEdoD,IAKb,6EC5FO,SAAS0E,EAAS5I,KAAUc,GACjC,OAAO+H,EAAQ/H,GAKjB,SAAS+H,EAAQ/H,GACf,MAAMgI,EAAK,GACL1M,EAAQ2M,IACRA,MAAAA,GAAuC,KAANA,IAAkB,IAANA,GAC/CD,EAAG1M,KAAmB,mBAAN2M,GAAiC,iBAANA,EAAkBA,EAAI,GAAGA,MAUxE,OAPAjI,GAAYA,EAAS9D,SAAQ+L,IACvB9I,MAAM8G,QAAQgC,GAChBA,EAAE/L,SAAQgM,GAAK5M,EAAK4M,KAEpB5M,EAAK2M,MAGFD,EAGF,SAASG,EAAcf,EAA6BlI,KAAec,GACxE,MAAMgI,EAAKD,EAAQ/H,GACnB,GAAmB,iBAARoH,EAAkB,MAAO,CAAEA,IAAAA,EAAKlI,MAAAA,EAAOc,SAAUgI,GACvD,GAAI7I,MAAM8G,QAAQmB,GAAM,OAAOA,EAC/B,QAAY5H,IAAR4H,GAAqBpH,EAAU,OAAOgI,EAC1C,GAAI5L,OAAOuF,eAAeyF,GAAKd,oBAAqB,MAAO,CAAEc,IAAAA,EAAKlI,MAAAA,EAAOc,SAAUgI,GACnF,GAAmB,mBAARZ,EAAoB,OAAOA,EAAIlI,EAAO8I,GACjD,MAAM,IAAII,MAAM,uBAAuBhB,KAG9C,MAAMiB,EAAW,IAAIjH,QAERkH,EAAgB,CAACpF,EAA2BqF,EAAatK,EAAY,MAEnE,MAATsK,IAA2B,IAAVA,GAOvB,SAAgBrF,EAAkBqF,EAAaC,EAAS,IAEtD,GAAa,MAATD,IAA2B,IAAVA,EAAiB,OAEtC,GADAA,EAAQE,EAAgBF,EAAOC,IAC1BtF,EAAS,OACd,MAAMwF,EAA6B,QAArBxF,EAAQyF,SAClBxJ,MAAM8G,QAAQsC,GAChBK,EAAe1F,EAASqF,EAAOG,GAE/BE,EAAe1F,EAAS,CAACqF,GAAQG,GAZnChI,CAH+B,iBAAZwC,GAAwBA,EACzCK,SAASC,eAAeN,IAAYK,SAASE,cAAcP,GAAWA,EACxEqF,GAAQ,OAAUA,EAAOtK,GACPA,IAuBpB,SAAS4D,EAAOqB,EAAkB2F,EAAaH,GACzB,IAAhBG,EAAU,MAEdH,EAAQA,GAAsB,QAAbG,EAAKzB,IAVxB,SAAcnH,EAAa4I,GAEzB,MAAMC,EAAO7I,EAAG0I,SACVI,EAAO,GAAGF,EAAKzB,KAAO,KAC5B,OAAO0B,EAAKE,gBAAkBD,EAAKC,cAO9BC,CAAK/F,EAAS2F,MAIH,EAAdA,EAAU,MAAUD,EAAe1F,EAAS2F,EAAK7I,SAAU0I,KAC7C,EAAdG,EAAU,MAAUK,EAAYhG,EAAS2F,EAAK3J,MAAOwJ,IAJrDxF,EAAQiG,WAAWC,aAAaC,EAAOR,EAAMH,GAAQxF,IAOzD,SAAS0F,EAAe1F,EAASlD,EAAU0I,WACzC,MAAMY,GAA4B,QAAlB,EAAApG,EAAQqG,kBAAU,eAAEtN,SAAU,EACxCuN,GAAUxJ,MAAAA,OAAQ,EAARA,EAAU/D,SAAU,EAC9BwN,EAAMC,KAAKC,IAAIL,EAASE,GAC9B,IAAK,IAAItB,EAAI,EAAGA,EAAIuB,EAAKvB,IAAK,CAC5B,MAAM0B,EAAQ5J,EAASkI,GACvB,GAAqB,IAAjB0B,EAAW,IAAS,SACxB,MAAM3J,EAAKiD,EAAQqG,WAAWrB,GAC9B,GAAqB,iBAAV0B,EACL3J,EAAG4J,cAAgBD,IACD,IAAhB3J,EAAG6J,SACL7J,EAAG8J,UAAYH,EAEf1G,EAAQkG,aAAaY,EAAWJ,GAAQ3J,SAGvC,GAAI2J,aAAiB7L,aAAe6L,aAAiBK,WAC1D/G,EAAQgH,aAAaN,EAAO3J,OACvB,CACL,MAAM6B,EAAM8H,EAAM1K,OAAS0K,EAAM1K,MAAW,IAC5C,GAAI4C,EACF,GAAI7B,EAAG6B,MAAQA,EACbD,EAAOqB,EAAQqG,WAAWrB,GAAI0B,EAAOlB,OAChC,CAEL,MAAMyB,EAAM9B,EAASvG,GACrB,GAAIqI,EAAK,CACP,MAAMC,EAAOD,EAAIE,YACjBnH,EAAQgH,aAAaC,EAAKlK,GAC1BmK,EAAOlH,EAAQgH,aAAajK,EAAImK,GAAQlH,EAAQoH,YAAYrK,GAC5D4B,EAAOqB,EAAQqG,WAAWrB,GAAI0B,EAAOlB,QAErCxF,EAAQkG,aAAaC,EAAOO,EAAOlB,GAAQzI,QAI/C4B,EAAOqB,EAAQqG,WAAWrB,GAAI0B,EAAOlB,IAK3C,IAAItC,GAAsB,QAAlB,EAAAlD,EAAQqG,kBAAU,eAAEtN,SAAU,EACtC,KAAOmK,EAAIqD,GACTvG,EAAQ/C,YAAY+C,EAAQqH,WAC5BnE,IAGF,GAAIoD,EAAUC,EAAK,CACjB,MAAMe,EAAIjH,SAASkH,yBACnB,IAAK,IAAIvC,EAAIuB,EAAKvB,EAAIlI,EAAS/D,OAAQiM,IACrCsC,EAAEF,YAAYjB,EAAOrJ,EAASkI,GAAIQ,IAEpCxF,EAAQoH,YAAYE,IAIjB,MAAME,EAAYrH,IACvB,MAAMsH,EAAMpH,SAAS4E,cAAc,WAEnC,OADAwC,EAAIC,mBAAmB,aAAcvH,GAC9BlE,MAAMC,KAAKuL,EAAI3K,WAGxB,SAASgK,EAAWnB,GAClB,GAAgC,KAA5BA,MAAAA,OAAI,EAAJA,EAAMnD,QAAQ,WAAiB,CACjC,MAAMiF,EAAMpH,SAAS4E,cAAc,OAEnC,OADAwC,EAAIC,mBAAmB,aAAc/B,EAAKxB,UAAU,IAC7CsD,EAEP,OAAOpH,SAASsH,eAAehC,MAAAA,EAAAA,EAAM,IAIzC,SAASQ,EAAOR,EAAiDH,GAE/D,GAAKG,aAAgB9K,aAAiB8K,aAAgBoB,WAAa,OAAOpB,EAC1E,GAAoB,iBAATA,EAAmB,OAAOmB,EAAWnB,GAChD,IAAKA,EAAKzB,KAA4B,mBAAbyB,EAAKzB,IAAqB,OAAO4C,EAAWc,KAAKC,UAAUlC,IAEpF,MAAM3F,GADNwF,EAAQA,GAAsB,QAAbG,EAAKzB,KAElB7D,SAASyH,gBAAgB,6BAA8BnC,EAAKzB,KAC5D7D,SAAS4E,cAAcU,EAAKzB,KAIhC,OAFA8B,EAAYhG,EAAS2F,EAAK3J,MAAOwJ,GAC7BG,EAAK7I,UAAU6I,EAAK7I,SAAS9D,SAAQ0N,GAAS1G,EAAQoH,YAAYjB,EAAOO,EAAOlB,MAC7ExF,EAYF,SAASgG,EAAYhG,EAAkBhE,EAAWwJ,GAEvD,MAAMuC,EAAS/H,EAAkB,QAAK,GACtChE,EAZF,SAAoBgM,EAAcC,GAChCA,EAAgB,MAAIA,EAAgB,OAAKA,EAAoB,iBACtDA,EAAoB,UAC3B,MAAMjM,EAAQ,GAGd,OAFIgM,GAAU9O,OAAOC,KAAK6O,GAAUhP,SAAQ2J,GAAK3G,EAAM2G,GAAK,OACxDsF,GAAU/O,OAAOC,KAAK8O,GAAUjP,SAAQ2J,GAAK3G,EAAM2G,GAAKsF,EAAStF,KAC9D3G,EAMCkM,CAAWH,EAAQ/L,GAAS,IACpCgE,EAAkB,OAAIhE,EAEtB,IAAK,MAAM/D,KAAQ+D,EAAO,CACxB,MAAMK,EAAQL,EAAM/D,GAGpB,GAAIA,EAAKgC,WAAW,SAAU,CAC5B,MACMkO,EADQlQ,EAAKkM,UAAU,GACTjK,QAAQ,UAAWkO,GAAUA,EAAM,GAAGtC,gBACtD9F,EAAQqI,QAAQF,KAAW9L,IACzBA,GAAmB,KAAVA,EAAc2D,EAAQqI,QAAQF,GAAS9L,SACxC2D,EAAQqI,QAAQF,SAEzB,GAAa,UAATlQ,EAET,GADI+H,EAAQsI,MAAMC,UAASvI,EAAQsI,MAAMC,QAAU,IAC9B,iBAAVlM,EAAoB2D,EAAQsI,MAAMC,QAAUlM,OAErD,IAAK,MAAMmM,KAAKnM,EACV2D,EAAQsI,MAAME,KAAOnM,EAAMmM,KAAIxI,EAAQsI,MAAME,GAAKnM,EAAMmM,SAG3D,GAAIvQ,EAAKgC,WAAW,SAAU,CACnC,MAAMwO,EAAQxQ,EAAKiC,QAAQ,QAAS,IAAIkB,cAC3B,MAATiB,IAA2B,IAAVA,EACnB2D,EAAQ0I,kBAAkB,+BAAgCD,GAE1DzI,EAAQ2I,eAAe,+BAAgCF,EAAOpM,QAEvDpE,EAAKgC,WAAW,MACpBoC,GAA0B,mBAAVA,EAEO,iBAAVA,IACZA,EAAO2D,EAAQa,aAAa5I,EAAMoE,GACjC2D,EAAQyB,gBAAgBxJ,IAH7B+H,EAAQ/H,GAAQoE,EAKT,4DAA4DuM,KAAK3Q,IAASuN,EAC/ExF,EAAQS,aAAaxI,KAAUoE,IAC7BA,EAAO2D,EAAQa,aAAa5I,EAAMoE,GACjC2D,EAAQyB,gBAAgBxJ,IAEtB+H,EAAQ/H,KAAUoE,IAC3B2D,EAAQ/H,GAAQoE,GAEL,QAATpE,GAAkBoE,IAAO8I,EAAS9I,GAAS2D,GAE7ChE,GAAiC,mBAAjBA,EAAW,KAC7B8B,OAAOjB,uBAAsB,IAAMb,EAAW,IAAEgE,KA6BpD,SAASuF,EAAgBI,EAAML,EAAQuD,EAAM,SAC3C,GAAoB,iBAATlD,EAAmB,OAAOA,EACrC,GAAI1J,MAAM8G,QAAQ4C,GAAO,OAAOA,EAAKhM,KAAI+M,GAASnB,EAAgBmB,EAAOpB,EAAQuD,OACjF,IAAI3I,EAAOyF,EAIX,GAHIA,GAA4B,mBAAbA,EAAKzB,KAAsBhL,OAAOuF,eAAekH,EAAKzB,KAAKd,sBAC5ElD,EA9BJ,SAA0ByF,EAAML,EAAQuD,GACtC,MAAM,IAAE3E,EAAG,MAAElI,EAAK,SAAEc,GAAa6I,EACjC,IAAI/G,EAAM,IAAIiK,IACVC,EAAK9M,GAASA,EAAU,GACvB8M,EACAlK,EAAMkK,EADFA,EAAK,IAAID,IAAMlI,KAAKoI,QAE7B,IAAIC,EAAQ,UACRhN,GAASA,EAAU,KACrBgN,EAAQhN,EAAU,UACXA,EAAU,IAEdsJ,EAAO2D,mBAAkB3D,EAAO2D,iBAAmB,IACxD,IAAIlO,EAAYuK,EAAO2D,iBAAiBrK,GACxC,KAAK7D,GAAeA,aAAqBmJ,GAASnJ,EAAUiF,SAAS,CACnE,MAAMA,EAAUK,SAAS4E,cAAc+D,GACvCjO,EAAYuK,EAAO2D,iBAAiBrK,GAAO,IAAIsF,EAAI,OAAD,wBAAMlI,GAAK,CAAEc,SAAAA,KAAYiD,MAAMC,GAEnF,GAAIjF,EAAUuC,QAAS,CACrB,MAAMC,EAAYxC,EAAUuC,QAAQtB,EAAOc,EAAU/B,EAAUE,YACzC,IAAdsC,GAA8BxC,EAAU6E,SAASrC,GAG3D,OADAyI,EAAYjL,EAAUiF,QAAShE,GAAO,GAC/BjB,EAAUiF,QAQRkJ,CAAiBvD,EAAML,EAAQuD,IAEpC3I,GAAQjE,MAAM8G,QAAQ7C,EAAKpD,UAAW,CACxC,MAAMqM,EAAuB,QAAV,EAAAjJ,EAAKlE,aAAK,eAAEhB,WAC/B,GAAImO,EAAY,CACd,IAAInE,EAAI,EACR9E,EAAKpD,SAAWoD,EAAKpD,SAASnD,KAAI+M,GAASnB,EAAgBmB,EAAOyC,EAAYnE,YAE9E9E,EAAKpD,SAAWoD,EAAKpD,SAASnD,KAAI+M,GAASnB,EAAgBmB,EAAOpB,EAAQuD,OAG9E,OAAO3I,sDC1QT,MAAMkJ,EAAE,CAACC,UAAU,EAAEC,MAAM,EAAEC,SAAS,EAAEC,kBAAkB,EAAEC,MAAM,EAAEC,QAAQ,GAAGtF,EAAEgF,GAAG,IAAIhF,KAAI,CAAEuF,gBAAgBP,EAAEQ,OAAOxF,IAAI,MAAMY,EAAElN,YAAYsR,IAAQS,WAAO,OAAOjS,KAAKkS,KAAKD,KAAKE,KAAKX,EAAEhF,EAAEY,GAAGpN,KAAKoS,KAAKZ,EAAExR,KAAKkS,KAAK1F,EAAExM,KAAKqS,KAAKjF,EAAEkF,KAAKd,EAAEhF,GAAG,OAAOxM,KAAK+G,OAAOyK,EAAEhF,GAAGzF,OAAOyK,EAAEhF,GAAG,OAAOxM,KAAK4F,UAAU4G,oBCAxS,IAAIgF,wDAAE,MAAMpE,EAAEmF,WAAWC,aAAa5B,EAAExD,EAAEA,EAAEqF,aAAa,WAAW,CAACC,WAAWlB,GAAGA,SAAI,EAAOhF,EAAE,QAAQoC,KAAK+D,SAAS,IAAIC,MAAM,MAAMvL,EAAE,IAAImF,EAAElB,EAAE,IAAIjE,KAAKwL,EAAEpK,SAASqK,EAAE,CAACtB,EAAE,KAAKqB,EAAEE,cAAcvB,GAAGwB,EAAExB,GAAG,OAAOA,GAAG,iBAAiBA,GAAG,mBAAmBA,EAAE9B,EAAErL,MAAM8G,QAAyGgC,EAAE,sDAAsDjD,EAAE,OAAO1H,EAAE,KAAKyQ,EAAE,oFAAoFzK,EAAE,KAAK0K,EAAE,KAAKrQ,EAAE,qCAAqCkI,EAAEyG,GAAG,CAACpE,KAAKwD,KAAI,CAAEuC,WAAW3B,EAAE4B,QAAQhG,EAAE4E,OAAOpB,IAAIyC,EAAEtI,EAAE,GAAGuI,EAAEvI,EAAE,GAAGtI,EAAE8Q,OAAOC,IAAI,gBAAgBC,EAAEF,OAAOC,IAAI,eAAeE,EAAE,IAAIpN,QAAQqN,EAAE,CAACnC,EAAEpE,EAAEwD,KAAK,IAAIpE,EAAEnF,EAAE,MAAMiE,EAAE,QAAQkB,EAAE,MAAMoE,OAAE,EAAOA,EAAEgD,oBAAe,IAASpH,EAAEA,EAAEY,EAAE,IAAIyF,EAAEvH,EAAEuI,WAAW,QAAG,IAAShB,EAAE,CAAC,MAAMrB,EAAE,QAAQnK,EAAE,MAAMuJ,OAAE,EAAOA,EAAEgD,oBAAe,IAASvM,EAAEA,EAAE,KAAKiE,EAAEuI,WAAWhB,EAAE,IAAIiB,EAAE1G,EAAEgC,aAAa0D,IAAItB,GAAGA,OAAE,EAAO,MAAMZ,EAAEA,EAAE,IAAI,OAAOiC,EAAEkB,KAAKvC,GAAGqB,GAAGmB,EAAEnB,EAAEoB,iBAAiBpB,EAAE,IAAI,MAAK,GAAIqB,EAAE,CAAC1C,EAAEpE,KAAK,MAAM/F,EAAEmK,EAAErQ,OAAO,EAAE0R,EAAE,GAAG,IAAIC,EAAEE,EAAE,IAAI5F,EAAE,QAAQ,GAAGsC,EAAEvC,EAAE,IAAI,IAAIC,EAAE,EAAEA,EAAE/F,EAAE+F,IAAI,CAAC,MAAMwD,EAAEY,EAAEpE,GAAG,IAAI/F,EAAE8M,EAAEpJ,GAAG,EAAEsI,EAAE,EAAE,KAAKA,EAAEzC,EAAEzP,SAASuO,EAAE0E,UAAUf,EAAEc,EAAEzE,EAAE2E,KAAKzD,GAAG,OAAOuD,IAAId,EAAE3D,EAAE0E,UAAU1E,IAAIvC,EAAE,QAAQgH,EAAE,GAAGzE,EAAExF,OAAE,IAASiK,EAAE,GAAGzE,EAAElN,OAAE,IAAS2R,EAAE,IAAItR,EAAEmO,KAAKmD,EAAE,MAAMrB,EAAEwB,OAAO,KAAKH,EAAE,GAAG,MAAMzE,EAAEuD,QAAG,IAASkB,EAAE,KAAKzE,EAAEuD,GAAGvD,IAAIuD,EAAE,MAAMkB,EAAE,IAAIzE,EAAE,MAAMoD,EAAEA,EAAE3F,EAAEpC,GAAG,QAAG,IAASoJ,EAAE,GAAGpJ,GAAG,GAAGA,EAAE2E,EAAE0E,UAAUD,EAAE,GAAGhT,OAAOkG,EAAE8M,EAAE,GAAGzE,OAAE,IAASyE,EAAE,GAAGlB,EAAE,MAAMkB,EAAE,GAAGjB,EAAE1K,GAAGkH,IAAIwD,GAAGxD,IAAIlH,EAAEkH,EAAEuD,EAAEvD,IAAIxF,GAAGwF,IAAIlN,EAAEkN,EAAEvC,GAAGuC,EAAEuD,EAAEH,OAAE,GAAQ,MAAMQ,EAAE5D,IAAIuD,GAAGzB,EAAEpE,EAAE,GAAG/K,WAAW,MAAM,IAAI,GAAG2Q,GAAGtD,IAAIvC,EAAEyD,EAAEtF,EAAEP,GAAG,GAAG8H,EAAErS,KAAK6G,GAAGuJ,EAAEgC,MAAM,EAAE7H,GAAG,QAAQ6F,EAAEgC,MAAM7H,GAAGyB,EAAE8G,GAAG1C,EAAEpE,IAAI,IAAIzB,GAAG8H,EAAErS,UAAK,GAAQ4M,GAAGkG,GAAG,MAAMa,EAAEnB,GAAGxB,EAAEnK,IAAI,QAAQ,IAAI+F,EAAE,SAAS,IAAI,IAAI/I,MAAM8G,QAAQqG,KAAKA,EAAE+C,eAAe,OAAO,MAAMjH,MAAM,kCAAkC,MAAM,MAAC,IAASsD,EAAEA,EAAE8B,WAAWyB,GAAGA,EAAEtB,IAAI,MAAM2B,EAAEtU,aAAakT,QAAQ5B,EAAE2B,WAAWvC,GAAGtF,GAAG,IAAIuH,EAAE7S,KAAKyU,MAAM,GAAG,IAAIzB,EAAE,EAAEtD,EAAE,EAAE,MAAMyE,EAAE3C,EAAErQ,OAAO,EAAEgM,EAAEnN,KAAKyU,OAAOvK,EAAE1H,GAAG0R,EAAE1C,EAAEZ,GAAG,GAAG5Q,KAAKmF,GAAGqP,EAAEnH,cAAcnD,EAAEoB,GAAG0I,EAAEU,YAAY1U,KAAKmF,GAAGwP,QAAQ,IAAI/D,EAAE,CAAC,MAAMY,EAAExR,KAAKmF,GAAGwP,QAAQvH,EAAEoE,EAAEoD,WAAWxH,EAAEyH,SAASrD,EAAEsD,UAAU1H,EAAEqB,YAAY,KAAK,QAAQoE,EAAEmB,EAAEe,aAAa5H,EAAEhM,OAAOgT,GAAG,CAAC,GAAG,IAAItB,EAAE7D,SAAS,CAAC,GAAG6D,EAAEmC,gBAAgB,CAAC,MAAMxD,EAAE,GAAG,IAAI,MAAMpE,KAAKyF,EAAEoC,oBAAoB,GAAG7H,EAAEhL,SAAS,UAAUgL,EAAE/K,WAAWmK,GAAG,CAAC,MAAMoE,EAAEpO,EAAEkN,KAAK,GAAG8B,EAAEhR,KAAK4M,QAAG,IAASwD,EAAE,CAAC,MAAMY,EAAEqB,EAAEhK,aAAa+H,EAAEpN,cAAc,SAAS6H,MAAMmB,GAAGY,EAAE,eAAeiH,KAAKzD,GAAGzD,EAAE3M,KAAK,CAACkM,KAAK,EAAEwI,MAAMlC,EAAE3S,KAAK+M,EAAE,GAAGgG,QAAQ5B,EAAE2D,KAAK,MAAM/H,EAAE,GAAGgI,EAAE,MAAMhI,EAAE,GAAGiI,EAAE,MAAMjI,EAAE,GAAGkI,EAAEC,SAASpI,EAAE3M,KAAK,CAACkM,KAAK,EAAEwI,MAAMlC,IAAI,IAAI,MAAM5F,KAAKoE,EAAEqB,EAAEhJ,gBAAgBuD,GAAG,GAAGvK,EAAEmO,KAAK6B,EAAE2C,SAAS,CAAC,MAAMhE,EAAEqB,EAAE9D,YAAY1D,MAAMmB,GAAGoE,EAAEY,EAAErQ,OAAO,EAAE,GAAGyP,EAAE,EAAE,CAACiC,EAAE9D,YAAY3B,EAAEA,EAAEqI,YAAY,GAAG,IAAI,IAAIrI,EAAE,EAAEA,EAAEwD,EAAExD,IAAIyF,EAAEiC,OAAOtD,EAAEpE,GAAG0F,KAAKkB,EAAEe,WAAW5H,EAAE3M,KAAK,CAACkM,KAAK,EAAEwI,QAAQlC,IAAIH,EAAEiC,OAAOtD,EAAEZ,GAAGkC,YAAY,GAAG,IAAID,EAAE7D,SAAS,GAAG6D,EAAE6C,OAAOrO,EAAE8F,EAAE3M,KAAK,CAACkM,KAAK,EAAEwI,MAAMlC,QAAQ,CAAC,IAAIxB,GAAG,EAAE,MAAM,KAAKA,EAAEqB,EAAE6C,KAAK9K,QAAQ4B,EAAEgF,EAAE,KAAKrE,EAAE3M,KAAK,CAACkM,KAAK,EAAEwI,MAAMlC,IAAIxB,GAAGhF,EAAErL,OAAO,EAAE6R,KAAK2C,qBAAqBnE,EAAEpE,GAAG,MAAMwD,EAAEiC,EAAExF,cAAc,YAAY,OAAOuD,EAAEgF,UAAUpE,EAAEZ,GAAG,SAASiF,EAAErE,EAAEpE,EAAEwD,EAAEY,EAAEhF,GAAG,IAAInF,EAAEiE,EAAEuH,EAAEC,EAAE,GAAG1F,IAAI3K,EAAE,OAAO2K,EAAE,IAAIsC,OAAE,IAASlD,EAAE,QAAQnF,EAAEuJ,EAAEkF,YAAO,IAASzO,OAAE,EAAOA,EAAEmF,GAAGoE,EAAEmF,KAAK,MAAM5B,EAAEnB,EAAE5F,QAAG,EAAOA,EAAE2E,gBAAgB,OAAO,MAAMrC,OAAE,EAAOA,EAAExP,eAAeiU,IAAI,QAAQ7I,EAAE,MAAMoE,OAAE,EAAOA,EAAEsG,YAAO,IAAS1K,GAAGA,EAAE2K,KAAKvG,GAAE,QAAI,IAASyE,EAAEzE,OAAE,GAAQA,EAAE,IAAIyE,EAAE3C,GAAG9B,EAAEyC,KAAKX,EAAEZ,EAAEpE,SAAI,IAASA,GAAG,QAAQqG,GAAGC,EAAElC,GAAGkF,YAAO,IAASjD,EAAEA,EAAEC,EAAEgD,KAAK,IAAItJ,GAAGkD,EAAEkB,EAAEmF,KAAKrG,QAAG,IAASA,IAAItC,EAAEyI,EAAErE,EAAE9B,EAAE4C,KAAKd,EAAEpE,EAAE4E,QAAQtC,EAAElD,IAAIY,EAAE,MAAM8I,EAAEhW,YAAYsR,EAAEpE,GAAGpN,KAAKkK,EAAE,GAAGlK,KAAKmW,UAAK,EAAOnW,KAAKoW,KAAK5E,EAAExR,KAAKkS,KAAK9E,EAAMiB,iBAAa,OAAOrO,KAAKkS,KAAK7D,WAAe4D,WAAO,OAAOjS,KAAKkS,KAAKD,KAAKlH,EAAEyG,GAAG,IAAIpE,EAAE,MAAMjI,IAAIwP,QAAQ/D,GAAG6D,MAAMjI,GAAGxM,KAAKoW,KAAK/O,GAAG,QAAQ+F,EAAE,MAAMoE,OAAE,EAAOA,EAAE6E,qBAAgB,IAASjJ,EAAEA,EAAEyF,GAAGyD,WAAW1F,GAAE,GAAIoD,EAAEU,YAAYrN,EAAE,IAAIiE,EAAE0I,EAAEe,WAAWjC,EAAE,EAAEE,EAAE,EAAEtD,EAAElD,EAAE,GAAG,UAAK,IAASkD,GAAG,CAAC,GAAGoD,IAAIpD,EAAEwF,MAAM,CAAC,IAAI9H,EAAE,IAAIsC,EAAEhD,KAAKU,EAAE,IAAI0G,EAAExI,EAAEA,EAAEiE,YAAYvP,KAAKwR,GAAG,IAAI9B,EAAEhD,KAAKU,EAAE,IAAIsC,EAAEyF,KAAK7J,EAAEoE,EAAErP,KAAKqP,EAAE0D,QAAQpT,KAAKwR,GAAG,IAAI9B,EAAEhD,OAAOU,EAAE,IAAImJ,EAAEjL,EAAEtL,KAAKwR,IAAIxR,KAAKkK,EAAE1J,KAAK4M,GAAGsC,EAAElD,IAAIwG,GAAGF,KAAK,MAAMpD,OAAE,EAAOA,EAAEwF,SAAS5J,EAAE0I,EAAEe,WAAWjC,KAAK,OAAOzL,EAAE6L,EAAE1B,GAAG,IAAIpE,EAAE,EAAE,IAAI,MAAMwD,KAAK5Q,KAAKkK,OAAE,IAAS0G,SAAI,IAASA,EAAEwC,SAASxC,EAAEmD,KAAKvC,EAAEZ,EAAExD,GAAGA,GAAGwD,EAAEwC,QAAQjS,OAAO,GAAGyP,EAAEmD,KAAKvC,EAAEpE,KAAKA,KAAK,MAAM0G,EAAE5T,YAAYsR,EAAEpE,EAAEwD,EAAEpE,GAAG,IAAInF,EAAErH,KAAK0M,KAAK,EAAE1M,KAAKwW,KAAK/C,EAAEzT,KAAKmW,UAAK,EAAOnW,KAAKyW,KAAKjF,EAAExR,KAAK0W,KAAKtJ,EAAEpN,KAAKkS,KAAKtB,EAAE5Q,KAAKO,QAAQiM,EAAExM,KAAK2W,KAAK,QAAQtP,EAAE,MAAMmF,OAAE,EAAOA,EAAE9I,mBAAc,IAAS2D,GAAGA,EAAM4K,WAAO,IAAIT,EAAEpE,EAAE,OAAO,QAAQA,EAAE,QAAQoE,EAAExR,KAAKkS,YAAO,IAASV,OAAE,EAAOA,EAAES,YAAO,IAAS7E,EAAEA,EAAEpN,KAAK2W,KAAStI,iBAAa,IAAImD,EAAExR,KAAKyW,KAAKpI,WAAW,MAAMjB,EAAEpN,KAAKkS,KAAK,YAAO,IAAS9E,GAAG,KAAKoE,EAAExC,WAAWwC,EAAEpE,EAAEiB,YAAYmD,EAAMoF,gBAAY,OAAO5W,KAAKyW,KAASI,cAAU,OAAO7W,KAAK0W,KAAK3C,KAAKvC,EAAEpE,EAAEpN,MAAMwR,EAAEqE,EAAE7V,KAAKwR,EAAEpE,GAAG4F,EAAExB,GAAGA,IAAIiC,GAAG,MAAMjC,GAAG,KAAKA,GAAGxR,KAAKwW,OAAO/C,GAAGzT,KAAK8W,OAAO9W,KAAKwW,KAAK/C,GAAGjC,IAAIxR,KAAKwW,MAAMhF,IAAI/O,GAAGzC,KAAKqT,EAAE7B,QAAG,IAASA,EAAE2B,WAAWnT,KAAK0T,EAAElC,QAAG,IAASA,EAAExC,SAAShP,KAAK+W,EAAEvF,GAAl7IA,CAAAA,IAAI,IAAIpE,EAAE,OAAOsC,EAAE8B,IAAI,mBAAmB,QAAQpE,EAAEoE,SAAI,IAASpE,OAAE,EAAOA,EAAEmG,OAAOyD,YAAk2I7C,CAAE3C,GAAGxR,KAAKuV,EAAE/D,GAAGxR,KAAKqT,EAAE7B,GAAGwC,EAAExC,EAAEpE,EAAEpN,KAAK0W,MAAM,OAAO1W,KAAKyW,KAAKpI,WAAWe,aAAaoC,EAAEpE,GAAG2J,EAAEvF,GAAGxR,KAAKwW,OAAOhF,IAAIxR,KAAK8W,OAAO9W,KAAKwW,KAAKxW,KAAKgU,EAAExC,IAAI6B,EAAE7B,GAAGxR,KAAKwW,OAAO/C,GAAGT,EAAEhT,KAAKwW,MAAMxW,KAAKyW,KAAKlH,YAAYmG,KAAKlE,EAAExR,KAAK+W,EAAElE,EAAE9C,eAAeyB,IAAIxR,KAAKwW,KAAKhF,EAAEkC,EAAElC,GAAG,IAAIpE,EAAE,MAAM4E,OAAOpB,EAAEuC,WAAW3G,GAAGgF,EAAEnK,EAAE,iBAAiBmF,EAAExM,KAAKiX,KAAKzF,SAAI,IAAShF,EAAErH,KAAKqH,EAAErH,GAAGqP,EAAEnH,cAAcb,EAAEsG,EAAE9S,KAAKO,UAAUiM,GAAG,IAAI,QAAQY,EAAEpN,KAAKwW,YAAO,IAASpJ,OAAE,EAAOA,EAAEgJ,QAAQ/O,EAAErH,KAAKwW,KAAKtD,EAAEtC,OAAO,CAAC,MAAMY,EAAE,IAAI0E,EAAE7O,EAAErH,MAAMoN,EAAEoE,EAAEzG,EAAE/K,KAAKO,SAASiR,EAAE0B,EAAEtC,GAAG5Q,KAAK+W,EAAE3J,GAAGpN,KAAKwW,KAAKhF,GAAGyF,KAAKzF,GAAG,IAAIpE,EAAEsG,EAAE9O,IAAI4M,EAAE4B,SAAS,YAAO,IAAShG,GAAGsG,EAAE7O,IAAI2M,EAAE4B,QAAQhG,EAAE,IAAIoH,EAAEhD,IAAIpE,EAAEmI,EAAE/D,GAAG9B,EAAE1P,KAAKwW,QAAQxW,KAAKwW,KAAK,GAAGxW,KAAK8W,QAAQ,MAAM1J,EAAEpN,KAAKwW,KAAK,IAAI5F,EAAEpE,EAAE,EAAE,IAAI,MAAMnF,KAAKmK,EAAEhF,IAAIY,EAAEjM,OAAOiM,EAAE5M,KAAKoQ,EAAE,IAAIkD,EAAE9T,KAAKgU,EAAElB,KAAK9S,KAAKgU,EAAElB,KAAK9S,KAAKA,KAAKO,UAAUqQ,EAAExD,EAAEZ,GAAGoE,EAAEmD,KAAK1M,GAAGmF,IAAIA,EAAEY,EAAEjM,SAASnB,KAAK8W,KAAKlG,GAAGA,EAAE8F,KAAKnH,YAAY/C,GAAGY,EAAEjM,OAAOqL,GAAGsK,KAAKtF,EAAExR,KAAKyW,KAAKlH,YAAYnC,GAAG,IAAIwD,EAAE,IAAI,QAAQA,EAAE5Q,KAAKkX,YAAO,IAAStG,GAAGA,EAAEqF,KAAKjW,MAAK,GAAG,EAAGoN,GAAGoE,GAAGA,IAAIxR,KAAK0W,MAAM,CAAC,MAAMtJ,EAAEoE,EAAEjC,YAAYiC,EAAEqD,SAASrD,EAAEpE,GAAG+J,aAAa3F,GAAG,IAAIpE,OAAE,IAASpN,KAAKkS,OAAOlS,KAAK2W,KAAKnF,EAAE,QAAQpE,EAAEpN,KAAKkX,YAAO,IAAS9J,GAAGA,EAAE6I,KAAKjW,KAAKwR,KAAK,MAAM+D,EAAErV,YAAYsR,EAAEpE,EAAEwD,EAAEpE,EAAEnF,GAAGrH,KAAK0M,KAAK,EAAE1M,KAAKwW,KAAK/C,EAAEzT,KAAKmW,UAAK,EAAOnW,KAAKoI,QAAQoJ,EAAExR,KAAKK,KAAK+M,EAAEpN,KAAKkS,KAAK1F,EAAExM,KAAKO,QAAQ8G,EAAEuJ,EAAEzP,OAAO,GAAG,KAAKyP,EAAE,IAAI,KAAKA,EAAE,IAAI5Q,KAAKwW,KAAKnS,MAAMuM,EAAEzP,OAAO,GAAGiW,KAAK,IAAIC,QAAQrX,KAAKoT,QAAQxC,GAAG5Q,KAAKwW,KAAK/C,EAAM+B,cAAU,OAAOxV,KAAKoI,QAAQoN,QAAYvD,WAAO,OAAOjS,KAAKkS,KAAKD,KAAK8B,KAAKvC,EAAEpE,EAAEpN,KAAK4Q,EAAEpE,GAAG,MAAMnF,EAAErH,KAAKoT,QAAQ,IAAI9H,GAAE,EAAG,QAAG,IAASjE,EAAEmK,EAAEqE,EAAE7V,KAAKwR,EAAEpE,EAAE,GAAG9B,GAAG0H,EAAExB,IAAIA,IAAIxR,KAAKwW,MAAMhF,IAAI/O,EAAE6I,IAAItL,KAAKwW,KAAKhF,OAAO,CAAC,MAAMhF,EAAEgF,EAAE,IAAIqB,EAAEC,EAAE,IAAItB,EAAEnK,EAAE,GAAGwL,EAAE,EAAEA,EAAExL,EAAElG,OAAO,EAAE0R,IAAIC,EAAE+C,EAAE7V,KAAKwM,EAAEoE,EAAEiC,GAAGzF,EAAEyF,GAAGC,IAAIrQ,IAAIqQ,EAAE9S,KAAKwW,KAAK3D,IAAIvH,IAAIA,GAAG0H,EAAEF,IAAIA,IAAI9S,KAAKwW,KAAK3D,IAAIC,IAAIW,EAAEjC,EAAEiC,EAAEjC,IAAIiC,IAAIjC,IAAI,MAAMsB,EAAEA,EAAE,IAAIzL,EAAEwL,EAAE,IAAI7S,KAAKwW,KAAK3D,GAAGC,EAAExH,IAAIkB,GAAGxM,KAAKkU,EAAE1C,GAAG0C,EAAE1C,GAAGA,IAAIiC,EAAEzT,KAAKoI,QAAQyB,gBAAgB7J,KAAKK,MAAML,KAAKoI,QAAQa,aAAajJ,KAAKK,KAAK,MAAMmR,EAAEA,EAAE,KAAK,MAAM4D,UAAUG,EAAErV,cAAcgD,SAASoU,WAAWtX,KAAK0M,KAAK,EAAEwH,EAAE1C,GAAGxR,KAAKoI,QAAQpI,KAAKK,MAAMmR,IAAIiC,OAAE,EAAOjC,GAAG,MAAMuF,EAAE3J,EAAEA,EAAEqI,YAAY,GAAG,MAAMJ,UAAUE,EAAErV,cAAcgD,SAASoU,WAAWtX,KAAK0M,KAAK,EAAEwH,EAAE1C,GAAGA,GAAGA,IAAIiC,EAAEzT,KAAKoI,QAAQa,aAAajJ,KAAKK,KAAK0W,GAAG/W,KAAKoI,QAAQyB,gBAAgB7J,KAAKK,OAAO,MAAMiV,UAAUC,EAAErV,YAAYsR,EAAEpE,EAAEwD,EAAEpE,EAAEnF,GAAGnE,MAAMsO,EAAEpE,EAAEwD,EAAEpE,EAAEnF,GAAGrH,KAAK0M,KAAK,EAAEqH,KAAKvC,EAAEpE,EAAEpN,MAAM,IAAI4Q,EAAE,IAAIY,EAAE,QAAQZ,EAAEiF,EAAE7V,KAAKwR,EAAEpE,EAAE,UAAK,IAASwD,EAAEA,EAAE6C,KAAKhR,EAAE,OAAO,MAAM+J,EAAExM,KAAKwW,KAAKnP,EAAEmK,IAAIiC,GAAGjH,IAAIiH,GAAGjC,EAAE+F,UAAU/K,EAAE+K,SAAS/F,EAAE/P,OAAO+K,EAAE/K,MAAM+P,EAAEgG,UAAUhL,EAAEgL,QAAQlM,EAAEkG,IAAIiC,IAAIjH,IAAIiH,GAAGpM,GAAGA,GAAGrH,KAAKoI,QAAQqP,oBAAoBzX,KAAKK,KAAKL,KAAKwM,GAAGlB,GAAGtL,KAAKoI,QAAQ2D,iBAAiB/L,KAAKK,KAAKL,KAAKwR,GAAGxR,KAAKwW,KAAKhF,EAAEkG,YAAYlG,GAAG,IAAIpE,EAAEwD,EAAE,mBAAmB5Q,KAAKwW,KAAKxW,KAAKwW,KAAKP,KAAK,QAAQrF,EAAE,QAAQxD,EAAEpN,KAAKO,eAAU,IAAS6M,OAAE,EAAOA,EAAEuK,YAAO,IAAS/G,EAAEA,EAAE5Q,KAAKoI,QAAQoJ,GAAGxR,KAAKwW,KAAKkB,YAAYlG,IAAI,MAAM+E,EAAErW,YAAYsR,EAAEpE,EAAEwD,GAAG5Q,KAAKoI,QAAQoJ,EAAExR,KAAK0M,KAAK,EAAE1M,KAAKmW,UAAK,EAAOnW,KAAKkS,KAAK9E,EAAEpN,KAAKO,QAAQqQ,EAAMqB,WAAO,OAAOjS,KAAKkS,KAAKD,KAAK8B,KAAKvC,GAAGqE,EAAE7V,KAAKwR,IAAI,MAAwEoG,EAAE1R,OAAO2R,uBAAuB,MAAMD,GAAGA,EAAEpD,EAAEV,IAAI,QAAQtC,EAAEe,WAAWuF,uBAAkB,IAAStG,EAAEA,EAAEe,WAAWuF,gBAAgB,IAAItX,KAAK,WCJ/rPuX,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBvT,IAAjBwT,EACH,OAAOA,EAAatY,QAGrB,IAAIC,EAASkY,EAAyBE,GAAY,CAGjDrY,QAAS,IAOV,OAHAuY,EAAoBF,GAAUpY,EAAQA,EAAOD,QAASoY,GAG/CnY,EAAOD,QCpBfoY,EAAoBtI,EAAI,CAAC9P,EAASwY,KACjC,IAAI,IAAIpR,KAAOoR,EACXJ,EAAoB3Q,EAAE+Q,EAAYpR,KAASgR,EAAoB3Q,EAAEzH,EAASoH,IAC5E1F,OAAOqD,eAAe/E,EAASoH,EAAK,CAAEhC,YAAY,EAAMJ,IAAKwT,EAAWpR,MCJ3EgR,EAAoBnV,EAAI,WACvB,GAA0B,iBAAf0P,WAAyB,OAAOA,WAC3C,IACC,OAAOvS,MAAQ,IAAIqY,SAAS,cAAb,GACd,MAAO7L,GACR,GAAsB,iBAAXtG,OAAqB,OAAOA,QALjB,GCAxB8R,EAAoB3Q,EAAI,CAACiR,EAAKC,IAAUjX,OAAOkX,UAAUjE,eAAe0B,KAAKqC,EAAKC,GCClFP,EAAoBhF,EAAKpT,IACH,oBAAX2T,QAA0BA,OAAOkF,aAC1CnX,OAAOqD,eAAe/E,EAAS2T,OAAOkF,YAAa,CAAEhU,MAAO,WAE7DnD,OAAOqD,eAAe/E,EAAS,aAAc,CAAE6E,OAAO,6WCApD,MAAM+H,UAAU,KAAEtM,YAAYkN,GAAG,GAAGlK,MAAMkK,GAAGpN,KAAK0Y,GAAG,KAAEtL,EAAEV,OAAO,WAAQ,MAAMY,MAAMtN,KAAKE,YAAYyY,cAAc,yCAAyC/S,OAAOoN,GAAG,GAAGA,IAAI,MAAG,MAAMA,EAAE,OAAOhT,KAAK4Y,QAAG,EAAO5Y,KAAK0Y,GAAG1F,EAAE,GAAGA,IAAI,KAAE,OAAOA,EAAE,GAAG,iBAAiBA,EAAE,MAAM1F,MAAMtN,KAAKE,YAAYyY,cAAc,qCAAqC,GAAG3F,IAAIhT,KAAK0Y,GAAG,OAAO1Y,KAAK4Y,GAAG5Y,KAAK0Y,GAAG1F,EAAE,MAAMpC,EAAE,CAACoC,GAAG,OAAOpC,EAAEiI,IAAIjI,EAAE5Q,KAAK4Y,GAAG,CAACzF,WAAWnT,KAAKE,YAAY4Y,WAAW1F,QAAQxC,EAAEoB,OAAO,KAAKxF,EAAEmM,cAAc,aAAanM,EAAEsM,WAAW,EAAE,MAAMzR,GAAE,QAAEmF,GCGlhB,SAASuM,EAAQ3Q,EAASE,EAAMoF,GACzBpF,IACe,iBAATA,GACJF,EAAoB,YAAGA,EAAQ4Q,mBACpC,QAAO,IAAI,GAAG,EAAW1Q,KAASF,IACzB,eAAgBE,GACpBF,EAAoB,YAAGA,EAAQ4Q,mBACpC,QAAO1Q,EAAMF,MAEb,QAAcA,EAASE,EAAMoF,GAC7BtF,EAAoB,gBAAI1D,IAIrB,MAAMuU,UAAqB,KAGhC/Y,YAAYgZ,GAGV,GAFAhW,MAAMgW,GAEFA,EAASxM,OAAS,WACpB,MAAM,IAAIY,MAAM,6CAIpBvG,OAAOoS,EAAYC,GAGjB,IAAI,QAAEhR,EAAO,KAAE/H,GAAS8Y,EACxB,MAAME,EAAe,KACnB,IAAIlW,EAAYiF,EAAoB,WACpC,MAAQjF,GAAaiF,GACnBA,EAAUA,EAAQhD,cAClBjC,EAAYiF,GAAWA,EAAoB,WAG7C,OADAnH,QAAQC,SAASiC,EAAW,wBACrBA,IAEFT,KAAU3B,GAAQqY,EASzB,MARqB,iBAAV1W,EACT0F,EAAQ,KAAK/H,KAAUmM,IACrB,MAAMrJ,EAAYkW,IAClBlW,EAAYA,EAAUrC,IAAI4B,KAAU3B,EAAMyL,GAAK,cAAQ9J,KAAU3B,EAAMyL,IAE/C,mBAAV9J,IAChB0F,EAAQ,KAAK/H,KAAUmM,GAAK6M,IAAerR,SAAStF,EAAM2W,IAAehW,SAAUtC,EAAMyL,KAEpFxM,KAAK4F,SAEdA,SACE,OAAO,MAIX,MAAM9E,GAAM,EAAAgJ,EAAA,IAAUmP,GCrDtB,wBAAoB,KACpB,iBAAa,EACb,mBAAe,KAEf,QAAe,EAAG,QAEI,iBAAX/S,SACTA,OAAa,KAAI,KACjBA,OAAY,IAAI,KAChBA,OAAY,IAAIpF","sources":["webpack://apprun/webpack/universalModuleDefinition","webpack://apprun/./src/app.ts","webpack://apprun/./src/web-component.ts","webpack://apprun/./src/decorator.ts","webpack://apprun/./src/component.ts","webpack://apprun/./src/router.ts","webpack://apprun/./src/apprun.ts","webpack://apprun/./src/directive.ts","webpack://apprun/./src/vdom-my.ts","webpack://apprun/./node_modules/lit-html/directive.js","webpack://apprun/./node_modules/lit-html/lit-html.js","webpack://apprun/webpack/bootstrap","webpack://apprun/webpack/runtime/define property getters","webpack://apprun/webpack/runtime/global","webpack://apprun/webpack/runtime/hasOwnProperty shorthand","webpack://apprun/webpack/runtime/make namespace object","webpack://apprun/./node_modules/lit-html/directives/unsafe-html.js","webpack://apprun/./src/vdom-lit-html.ts","webpack://apprun/./src/apprun-html.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"apprun\"] = factory();\n\telse\n\t\troot[\"apprun\"] = factory();\n})(this, () => {\nreturn ","import { EventOptions} from './types'\nexport class App {\n\n private _events: Object;\n\n public start;\n public h;\n public createElement;\n public render;\n public Fragment;\n public webComponent;\n public safeHTML;\n\n constructor() {\n this._events = {};\n }\n\n on(name: string, fn: (...args) => void, options: EventOptions = {}): void {\n this._events[name] = this._events[name] || [];\n this._events[name].push({ fn, options });\n }\n\n off(name: string, fn: (...args) => void): void {\n const subscribers = this._events[name] || [];\n\n this._events[name] = subscribers.filter((sub) => sub.fn !== fn);\n }\n\n find(name: string): any {\n return this._events[name];\n }\n\n run(name: string, ...args): number {\n const subscribers = this.getSubscribers(name, this._events);\n console.assert(subscribers && subscribers.length > 0, 'No subscriber for event: ' + name);\n subscribers.forEach((sub) => {\n const { fn, options } = sub;\n if (options.delay) {\n this.delay(name, fn, args, options);\n } else {\n Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);\n }\n return !sub.options.once;\n });\n\n return subscribers.length;\n }\n\n once(name: string, fn, options: EventOptions = {}): void {\n this.on(name, fn, { ...options, once: true });\n }\n\n private delay(name, fn, args, options): void {\n if (options._t) clearTimeout(options._t);\n options._t = setTimeout(() => {\n clearTimeout(options._t);\n Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);\n }, options.delay);\n }\n\n query(name: string, ...args): Promise<any[]> {\n const subscribers = this.getSubscribers(name, this._events);\n console.assert(subscribers && subscribers.length > 0, 'No subscriber for event: ' + name);\n const promises = subscribers.map(sub => {\n const { fn, options } = sub;\n return Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);\n });\n return Promise.all(promises);\n }\n\n private getSubscribers(name: string, events) {\n const subscribers = events[name] || [];\n\n // Update the list of subscribers by pulling out those which will run once.\n // We must do this update prior to running any of the events in case they\n // cause additional events to be turned off or on.\n events[name] = subscribers.filter((sub) => {\n return !sub.options.once;\n });\n Object.keys(events).filter(evt => evt.endsWith('*') && name.startsWith(evt.replace('*', '')))\n .sort((a, b) => b.length - a.length)\n .forEach(evt => subscribers.push(...events[evt].map(sub => ({\n ...sub,\n options: { ...sub.options, event: name }\n }))));\n return subscribers;\n }\n}\n\nconst AppRunVersions = 'AppRun-3';\nlet app: App;\nconst root = (typeof self === 'object' && self.self === self && self) ||\n (typeof global === 'object' && global.global === global && global)\nif (root['app'] && root['_AppRunVersions']) {\n app = root['app'];\n} else {\n app = new App();\n root['app'] = app;\n root['_AppRunVersions'] = AppRunVersions;\n}\nexport default app;\n","declare var customElements;\n\nexport type CustomElementOptions = {\n render?: boolean;\n shadow?: boolean;\n history?: boolean;\n global_event?: boolean;\n observedAttributes?: string[];\n};\n\nexport const customElement = (componentClass, options: CustomElementOptions = {}) => class CustomElement extends HTMLElement {\n private _shadowRoot;\n private _component;\n private _attrMap: (arg0: string) => string;\n public on;\n public run;\n constructor() {\n super();\n }\n get component() { return this._component; }\n get state() { return this._component.state; }\n\n static get observedAttributes() {\n // attributes need to be set to lowercase in order to get observed\n return (options.observedAttributes || []).map(attr => attr.toLowerCase());\n }\n\n connectedCallback() {\n if (this.isConnected && !this._component) {\n const opts = options || {};\n this._shadowRoot = opts.shadow ? this.attachShadow({ mode: 'open' }) : this;\n const observedAttributes = (opts.observedAttributes || [])\n\n const attrMap = observedAttributes.reduce((map, name) => {\n const lc = name.toLowerCase()\n if (lc !== name) {\n map[lc] = name\n }\n return map\n }, {})\n this._attrMap = (name: string) : string => attrMap[name] || name\n\n const props = {};\n Array.from(this.attributes).forEach(item => props[this._attrMap(item.name)] = item.value);\n\n // add getters/ setters to allow observation on observedAttributes\n observedAttributes.forEach(name => {\n if (this[name] !== undefined) props[name] = this[name];\n Object.defineProperty(this, name, {\n get(): any {\n return props[name];\n },\n set(this: CustomElement, value: unknown) {\n // trigger change event\n this.attributeChangedCallback(name, props[name], value)\n },\n configurable: true,\n enumerable: true\n });\n })\n\n requestAnimationFrame(() => {\n const children = this.children ? Array.from(this.children) : [];\n children.forEach(el => el.parentElement.removeChild(el));\n this._component = new componentClass({ ...props, children }).mount(this._shadowRoot, opts);\n // attach props to component\n this._component._props = props;\n // expose dispatchEvent\n this._component.dispatchEvent = this.dispatchEvent.bind(this)\n if (this._component.mounted) {\n const new_state = this._component.mounted(props, children, this._component.state);\n if (typeof new_state !== 'undefined') this._component.state = new_state;\n }\n this.on = this._component.on.bind(this._component);\n this.run = this._component.run.bind(this._component);\n if (!(opts.render === false)) this._component.run('.');\n });\n }\n }\n\n disconnectedCallback() {\n this._component?.unload?.();\n this._component?.unmount?.();\n this._component = null;\n }\n\n attributeChangedCallback(name: string, oldValue: unknown, value: unknown) {\n if (this._component) {\n // camelCase attributes arrive only in lowercase\n const mappedName = this._attrMap(name);\n // store the new property/ attribute\n this._component._props[mappedName] = value;\n this._component.run('attributeChanged', mappedName, oldValue, value);\n\n if (value !== oldValue && !(options.render === false)) {\n window.requestAnimationFrame(() => {\n // re-render state with new combined props on next animation frame\n this._component.run('.')\n })\n }\n }\n }\n}\n\nexport default (name: string, componentClass, options?: CustomElementOptions) => {\n (typeof customElements !== 'undefined') && customElements.define(name, customElement(componentClass, options))\n}\n","import webComponent, { CustomElementOptions } from './web-component';\n\n// tslint:disable:no-invalid-this\nexport const Reflect = {\n\n meta: new WeakMap(),\n\n defineMetadata(metadataKey, metadataValue, target) {\n if (!this.meta.has(target)) this.meta.set(target, {});\n this.meta.get(target)[metadataKey] = metadataValue;\n },\n\n getMetadataKeys(target) {\n target = Object.getPrototypeOf(target);\n return this.meta.get(target) ? Object.keys(this.meta.get(target)) : [];\n },\n\n getMetadata(metadataKey, target) {\n target = Object.getPrototypeOf(target);\n return this.meta.get(target) ? this.meta.get(target)[metadataKey] : null;\n }\n}\n\nexport function update<E=string>(events?: E, options: any = {}) {\n return (target: any, key: string, descriptor: any) => {\n const name = events ? events.toString() : key;\n Reflect.defineMetadata(`apprun-update:${name}`,\n { name, key, options }, target);\n return descriptor;\n }\n}\n\nexport function on<E = string>(events?: E, options: any = {}) {\n return function (target: any, key: string) {\n const name = events ? events.toString() : key;\n Reflect.defineMetadata(`apprun-update:${name}`,\n { name, key, options }, target)\n }\n}\n\nexport function customElement(name: string, options?: CustomElementOptions) {\n return function _customElement<T extends { new(...args: any[]): {} }>(constructor: T) {\n webComponent(name, constructor, options);\n return constructor;\n }\n}\n\n","\r\nimport app, { App } from './app';\r\nimport { Reflect } from './decorator'\r\nimport { View, Update, ActionDef, ActionOptions, MountOptions } from './types';\r\nimport directive from './directive';\r\n\r\nconst componentCache = new Map();\r\nif (!app.find('get-components')) app.on('get-components', o => o.components = componentCache);\r\n\r\nconst REFRESH = state => state;\r\n\r\nexport class Component<T = any, E = any> {\r\n static __isAppRunComponent = true;\r\n private _app = new App();\r\n private _actions = [];\r\n private _global_events = [];\r\n private _state;\r\n private _history = [];\r\n private _history_idx = -1;\r\n private enable_history;\r\n private global_event;\r\n public element;\r\n public rendered;\r\n public mounted;\r\n public unload;\r\n private tracking_id;\r\n private observer;\r\n\r\n\r\n private renderState(state: T, vdom = null) {\r\n if (!this.view) return;\r\n let html = vdom || this.view(state);\r\n app['debug'] && app.run('debug', {\r\n component: this,\r\n _: html ? '.' : '-',\r\n state,\r\n vdom: html,\r\n el: this.element\r\n });\r\n\r\n if (typeof document !== 'object') return;\r\n\r\n const el = (typeof this.element === 'string' && this.element) ?\r\n document.getElementById(this.element) || document.querySelector(this.element) : this.element;\r\n\r\n if (el) {\r\n const tracking_attr = '_c';\r\n if (!this.unload) {\r\n el.removeAttribute && el.removeAttribute(tracking_attr);\r\n } else if (el['_component'] !== this || el.getAttribute(tracking_attr) !== this.tracking_id) {\r\n this.tracking_id = new Date().valueOf().toString();\r\n el.setAttribute(tracking_attr, this.tracking_id);\r\n if (typeof MutationObserver !== 'undefined') {\r\n if (!this.observer) this.observer = new MutationObserver(changes => {\r\n if (changes[0].oldValue === this.tracking_id || !document.body.contains(el)) {\r\n this.unload(this.state);\r\n this.observer.disconnect();\r\n this.observer = null;\r\n }\r\n });\r\n this.observer.observe(document.body, {\r\n childList: true, subtree: true,\r\n attributes: true, attributeOldValue: true, attributeFilter: [tracking_attr]\r\n });\r\n }\r\n }\r\n el['_component'] = this;\r\n }\r\n if (!vdom && html) {\r\n html = directive(html, this);\r\n app.render(el, html, this);\r\n }\r\n this.rendered && this.rendered(this.state);\r\n }\r\n\r\n public setState(state: T, options: ActionOptions\r\n = { render: true, history: false }) {\r\n if (state instanceof Promise) {\r\n // Promise will not be saved or rendered\r\n // state will be saved and rendered when promise is resolved\r\n Promise.resolve(state).then(v => {\r\n this.setState(v, options);\r\n this._state = state;\r\n });\r\n } else {\r\n this._state = state;\r\n if (state == null) return;\r\n this.state = state;\r\n if (options.render !== false) this.renderState(state);\r\n if (options.history !== false && this.enable_history) {\r\n this._history = [...this._history, state];\r\n this._history_idx = this._history.length - 1;\r\n }\r\n if (typeof options.callback === 'function') options.callback(this.state);\r\n }\r\n }\r\n\r\n private _history_prev = () => {\r\n this._history_idx--;\r\n if (this._history_idx >= 0) {\r\n this.setState(this._history[this._history_idx], { render: true, history: false });\r\n }\r\n else {\r\n this._history_idx = 0;\r\n }\r\n };\r\n\r\n private _history_next = () => {\r\n this._history_idx++;\r\n if (this._history_idx < this._history.length) {\r\n this.setState(this._history[this._history_idx], { render: true, history: false });\r\n }\r\n else {\r\n this._history_idx = this._history.length - 1;\r\n }\r\n };\r\n\r\n constructor(\r\n protected state?: T,\r\n protected view?: View<T>,\r\n protected update?: Update<T, E>,\r\n protected options?) {\r\n }\r\n\r\n start = (element = null, options?: MountOptions): Component<T, E> => {\r\n return this.mount(element, { render: true, ...options });\r\n }\r\n\r\n public mount(element = null, options?: MountOptions): Component<T, E> {\r\n console.assert(!this.element, 'Component already mounted.')\r\n this.options = options = { ...this.options, ...options };\r\n this.element = element;\r\n this.global_event = options.global_event;\r\n this.enable_history = !!options.history;\r\n\r\n if (this.enable_history) {\r\n this.on(options.history.prev || 'history-prev', this._history_prev);\r\n this.on(options.history.next || 'history-next', this._history_next);\r\n }\r\n\r\n if (options.route) {\r\n this.update = this.update || {};\r\n if (!this.update[options.route]) this.update[options.route] = REFRESH;\r\n }\r\n\r\n this.add_actions();\r\n this.state = this.state ?? this['model'] ?? {};\r\n if (typeof this.state === 'function') this.state = this.state();\r\n\r\n this.setState(this.state, { render: !!options.render, history: true });\r\n\r\n if (app['debug']) {\r\n if (componentCache.get(element)) { componentCache.get(element).push(this) }\r\n else { componentCache.set(element, [this]) }\r\n }\r\n return this;\r\n }\r\n\r\n is_global_event(name: string): boolean {\r\n return name && (\r\n this.global_event ||\r\n this._global_events.indexOf(name) >= 0 ||\r\n name.startsWith('#') || name.startsWith('/') || name.startsWith('@'));\r\n }\r\n\r\n add_action(name: string, action, options: ActionOptions = {}) {\r\n if (!action || typeof action !== 'function') return;\r\n if (options.global) this._global_events.push(name);\r\n this.on(name as any, (...p) => {\r\n\r\n app['debug'] && app.run('debug', {\r\n component: this,\r\n _: '>',\r\n event: name, p,\r\n current_state: this.state,\r\n options\r\n });\r\n\r\n const newState = action(this.state, ...p);\r\n\r\n app['debug'] && app.run('debug', {\r\n component: this,\r\n _: '<',\r\n event: name, p,\r\n newState,\r\n state: this.state,\r\n options\r\n });\r\n\r\n this.setState(newState, options)\r\n }, options);\r\n }\r\n\r\n add_actions() {\r\n const actions = this.update || {};\r\n Reflect.getMetadataKeys(this).forEach(key => {\r\n if (key.startsWith('apprun-update:')) {\r\n const meta = Reflect.getMetadata(key, this)\r\n actions[meta.name] = [this[meta.key].bind(this), meta.options];\r\n }\r\n })\r\n\r\n const all = {};\r\n if (Array.isArray(actions)) {\r\n actions.forEach(act => {\r\n const [name, action, opts] = act as ActionDef<T, E>;\r\n const names = name.toString();\r\n names.split(',').forEach(n => all[n.trim()] = [action, opts])\r\n })\r\n } else {\r\n Object.keys(actions).forEach(name => {\r\n const action = actions[name];\r\n if (typeof action === 'function' || Array.isArray(action)) {\r\n name.split(',').forEach(n => all[n.trim()] = action)\r\n }\r\n })\r\n }\r\n\r\n if (!all['.']) all['.'] = REFRESH;\r\n Object.keys(all).forEach(name => {\r\n const action = all[name];\r\n if (typeof action === 'function') {\r\n this.add_action(name, action);\r\n } else if (Array.isArray(action)) {\r\n this.add_action(name, action[0], action[1]);\r\n }\r\n });\r\n }\r\n\r\n public run(event: E, ...args) {\r\n if (this.state instanceof Promise) {\r\n return Promise.resolve(this.state).then(state => {\r\n this.state = state;\r\n this.run(event, ...args)\r\n });\r\n } else {\r\n const name = event.toString();\r\n return this.is_global_event(name) ?\r\n app.run(name, ...args) :\r\n this._app.run(name, ...args);\r\n }\r\n }\r\n\r\n public on(event: E, fn: (...args) => void, options?: any) {\r\n const name = event.toString();\r\n this._actions.push({ name, fn });\r\n return this.is_global_event(name) ?\r\n app.on(name, fn, options) :\r\n this._app.on(name, fn, options);\r\n }\r\n\r\n public unmount() {\r\n this.observer?.disconnect();\r\n this._actions.forEach(action => {\r\n const { name, fn } = action;\r\n this.is_global_event(name) ?\r\n app.off(name, fn) :\r\n this._app.off(name, fn);\r\n });\r\n }\r\n}\r\n","import app from './app';\n\nexport type Route = (url: string, ...args: any[]) => any;\n\nexport const ROUTER_EVENT: string = '//';\nexport const ROUTER_404_EVENT: string = '///';\n\nexport const route: Route = (url: string) => {\n if (!url) url = '#';\n if (url.startsWith('#')) {\n const [name, ...rest] = url.split('/');\n app.run(name, ...rest) || app.run(ROUTER_404_EVENT, name, ...rest);\n app.run(ROUTER_EVENT, name, ...rest);\n } else if (url.startsWith('/')) {\n const [_, name, ...rest] = url.split('/');\n app.run('/' + name, ...rest) || app.run(ROUTER_404_EVENT, '/' + name, ...rest);\n app.run(ROUTER_EVENT, '/' + name, ...rest);\n } else {\n app.run(url) || app.run(ROUTER_404_EVENT, url);\n app.run(ROUTER_EVENT, url);\n }\n}\nexport default route;","import app, { App } from './app';\nimport { createElement, render, Fragment, safeHTML } from './vdom';\nimport { Component } from './component';\nimport { VNode, View, Action, Update, EventOptions, ActionOptions, MountOptions, AppStartOptions } from './types';\nimport { on, update, customElement } from './decorator';\nimport webComponent, { CustomElementOptions } from './web-component';\nimport { Route, route, ROUTER_EVENT, ROUTER_404_EVENT } from './router';\n\nexport interface IApp {\n start<T, E = any>(element?: Element | string, model?: T, view?: View<T>, update?: Update<T, E>,\n options?: AppStartOptions<T>): Component<T, E>;\n on(name: string, fn: (...args: any[]) => void, options?: any): void;\n off(name: string, fn: (...args: any[]) => void): void;\n run(name: string, ...args: any[]): number;\n find(name: string): any | any[];\n h(tag: string | Function, props, ...children): VNode | VNode[];\n createElement(tag: string | Function, props, ...children): VNode | VNode[];\n render(element: Element | string, node: VNode): void;\n Fragment(props, ...children): any[];\n route?: Route;\n webComponent(name: string, componentClass, options?: CustomElementOptions): void;\n safeHTML(html: string): any[];\n}\n\napp.h = app.createElement = createElement;\napp.render = render;\napp.Fragment = Fragment;\napp.webComponent = webComponent;\napp.safeHTML = safeHTML;\n\napp.start = <T, E = any>(element?: Element | string, model?: T, view?: View<T>, update?: Update<T, E>,\n options?: AppStartOptions<T>): Component<T, E> => {\n const opts = { render: true, global_event: true, ...options };\n const component = new Component<T, E>(model, view, update);\n if (options && options.rendered) component.rendered = options.rendered;\n component.mount(element, opts);\n return component;\n};\n\nconst NOOP = _ => {/* Intentionally empty */ }\napp.on('$', NOOP);\napp.on('debug', _ => NOOP);\napp.on(ROUTER_EVENT, NOOP);\napp.on('#', NOOP);\napp['route'] = route;\napp.on('route', url => app['route'] && app['route'](url));\n\nif (typeof document === 'object') {\n document.addEventListener(\"DOMContentLoaded\", () => {\n if (app['route'] === route) {\n window.onpopstate = () => route(location.hash);\n if (!document.body.hasAttribute('apprun-no-init')) route(location.hash);\n }\n });\n}\nexport type StatelessComponent<T = {}> = (args: T) => string | VNode | void;\nexport { App, app, Component, View, Action, Update, on, update, EventOptions, ActionOptions, MountOptions, Fragment, safeHTML }\nexport { update as event };\nexport { ROUTER_EVENT, ROUTER_404_EVENT };\nexport { customElement, CustomElementOptions, AppStartOptions };\nexport default app as IApp;\n\nif (typeof window === 'object') {\n window['Component'] = Component;\n window['React'] = app;\n window['on'] = on;\n window['customElement'] = customElement;\n window['safeHTML'] = safeHTML;\n}\n\n\n","import app from './app';\n\nconst getStateValue = (component, name) => {\n return (name ? component['state'][name] : component['state']) || '';\n}\n\nconst setStateValue = (component, name, value) => {\n if (name) {\n const state = component['state'] || {};\n state[name] = value;\n component.setState(state);\n } else {\n component.setState(value);\n }\n}\n\nconst apply_directive = (key: string, props: {}, tag, component) => {\n if (key.startsWith('$on')) {\n const event = props[key];\n key = key.substring(1)\n if (typeof event === 'boolean') {\n props[key] = e => component.run ? component.run(key, e) : app.run(key, e);\n } else if (typeof event === 'string') {\n props[key] = e => component.run ? component.run(event, e) : app.run(event, e);\n } else if (typeof event === 'function') {\n props[key] = e => component.setState(event(component.state, e));\n } else if (Array.isArray(event)) {\n const [handler, ...p] = event;\n if (typeof handler === 'string') {\n props[key] = e => component.run ? component.run(handler, ...p, e) : app.run(handler, ...p, e);\n } else if (typeof handler === 'function') {\n props[key] = e => component.setState(handler(component.state, ...p, e));\n }\n }\n\n } else if (key === '$bind') {\n const type = props['type'] || 'text';\n const name = typeof props[key] === 'string' ? props[key] : props['name'];\n if (tag === 'input') {\n switch (type) {\n case 'checkbox':\n props['checked'] = getStateValue(component, name);\n props['onclick'] = e => setStateValue(component, name || e.target.name, e.target.checked);\n break;\n case 'radio':\n props['checked'] = getStateValue(component, name) === props['value'];\n props['onclick'] = e => setStateValue(component, name || e.target.name, e.target.value);\n break;\n case 'number':\n case 'range':\n props['value'] = getStateValue(component, name);\n props['oninput'] = e => setStateValue(component, name || e.target.name, Number(e.target.value));\n break;\n default:\n props['value'] = getStateValue(component, name);\n props['oninput'] = e => setStateValue(component, name || e.target.name, e.target.value);\n }\n } else if (tag === 'select') {\n props['value'] = getStateValue(component, name);\n props['onchange'] = e => {\n if (!e.target.multiple) { // multiple selection use $bind on option\n setStateValue(component, name || e.target.name, e.target.value);\n }\n }\n } else if (tag === 'option') {\n props['selected'] = getStateValue(component, name);\n props['onclick'] = e => setStateValue(component, name || e.target.name, e.target.selected);\n } else if (tag === 'textarea') {\n props['innerHTML'] = getStateValue(component, name);\n props['oninput'] = e => setStateValue(component, name || e.target.name, e.target.value);\n }\n } else {\n app.run('$', { key, tag, props, component });\n }\n}\n\nconst directive = (vdom, component) => {\n if (Array.isArray(vdom)) {\n return vdom.map(element => directive(element, component));\n } else {\n let { tag, props, children } = vdom;\n if (tag) {\n if (props) Object.keys(props).forEach(key => {\n if (key.startsWith('$')) {\n apply_directive(key, props, tag, component);\n delete props[key];\n }\n });\n if (children) children = directive(children, component);\n return { tag, props, children };\n } else {\n return vdom;\n }\n }\n}\n\nexport default directive;","import { VDOM, VNode } from './types';\nimport directive from './directive';\nexport type Element = any; //HTMLElement | SVGSVGElement | SVGElement;\n\nexport function Fragment(props, ...children): any[] {\n return collect(children);\n}\n\nconst ATTR_PROPS = '_props';\n\nfunction collect(children) {\n const ch = [];\n const push = (c) => {\n if (c !== null && c !== undefined && c !== '' && c !== false) {\n ch.push((typeof c === 'function' || typeof c === 'object') ? c : `${c}`);\n }\n }\n children && children.forEach(c => {\n if (Array.isArray(c)) {\n c.forEach(i => push(i));\n } else {\n push(c);\n }\n });\n return ch;\n}\n\nexport function createElement(tag: string | Function | [], props?: {}, ...children) {\n const ch = collect(children);\n if (typeof tag === 'string') return { tag, props, children: ch };\n else if (Array.isArray(tag)) return tag; // JSX fragments - babel\n else if (tag === undefined && children) return ch; // JSX fragments - typescript\n else if (Object.getPrototypeOf(tag).__isAppRunComponent) return { tag, props, children: ch } // createComponent(tag, { ...props, children });\n else if (typeof tag === 'function') return tag(props, ch);\n else throw new Error(`Unknown tag in vdom ${tag}`);\n};\n\nconst keyCache = new WeakMap();\n\nexport const updateElement = (element: Element | string, nodes: VDOM, component = {}) => {\n // tslint:disable-next-line\n if (nodes == null || nodes === false) return;\n const el = (typeof element === 'string' && element) ?\n document.getElementById(element) || document.querySelector(element) : element;\n nodes = directive(nodes, component);\n render(el, nodes, component);\n}\n\nfunction render(element: Element, nodes: VDOM, parent = {}) {\n // tslint:disable-next-line\n if (nodes == null || nodes === false) return;\n nodes = createComponent(nodes, parent);\n if (!element) return;\n const isSvg = element.nodeName === \"SVG\";\n if (Array.isArray(nodes)) {\n updateChildren(element, nodes, isSvg);\n } else {\n updateChildren(element, [nodes], isSvg);\n }\n}\n\nfunction same(el: Element, node: VNode) {\n // if (!el || !node) return false;\n const key1 = el.nodeName;\n const key2 = `${node.tag || ''}`;\n return key1.toUpperCase() === key2.toUpperCase();\n}\n\nfunction update(element: Element, node: VNode, isSvg: boolean) {\n if (node['_op'] === 3) return;\n // console.assert(!!element);\n isSvg = isSvg || node.tag === \"svg\";\n if (!same(element, node)) {\n element.parentNode.replaceChild(create(node, isSvg), element);\n return;\n }\n !(node['_op'] & 2) && updateChildren(element, node.children, isSvg);\n !(node['_op'] & 1) && updateProps(element, node.props, isSvg);\n}\n\nfunction updateChildren(element, children, isSvg: boolean) {\n const old_len = element.childNodes?.length || 0;\n const new_len = children?.length || 0;\n const len = Math.min(old_len, new_len);\n for (let i = 0; i < len; i++) {\n const child = children[i];\n if (child['_op'] === 3) continue;\n const el = element.childNodes[i];\n if (typeof child === 'string') {\n if (el.textContent !== child) {\n if (el.nodeType === 3) {\n el.nodeValue = child\n } else {\n element.replaceChild(createText(child), el);\n }\n }\n } else if (child instanceof HTMLElement || child instanceof SVGElement) {\n element.insertBefore(child, el);\n } else {\n const key = child.props && child.props['key'];\n if (key) {\n if (el.key === key) {\n update(element.childNodes[i], child, isSvg);\n } else {\n // console.log(el.key, key);\n const old = keyCache[key];\n if (old) {\n const temp = old.nextSibling;\n element.insertBefore(old, el);\n temp ? element.insertBefore(el, temp) : element.appendChild(el);\n update(element.childNodes[i], child, isSvg);\n } else {\n element.replaceChild(create(child, isSvg), el);\n }\n }\n } else {\n update(element.childNodes[i], child, isSvg);\n }\n }\n }\n\n let n = element.childNodes?.length || 0;\n while (n > len) {\n element.removeChild(element.lastChild);\n n--;\n }\n\n if (new_len > len) {\n const d = document.createDocumentFragment();\n for (let i = len; i < children.length; i++) {\n d.appendChild(create(children[i], isSvg));\n }\n element.appendChild(d);\n }\n}\n\nexport const safeHTML = (html: string) => {\n const div = document.createElement('section');\n div.insertAdjacentHTML('afterbegin', html)\n return Array.from(div.children);\n}\n\nfunction createText(node) {\n if (node?.indexOf('_html:') === 0) { // ?\n const div = document.createElement('div');\n div.insertAdjacentHTML('afterbegin', node.substring(6))\n return div;\n } else {\n return document.createTextNode(node??'');\n }\n}\n\nfunction create(node: VNode | string | HTMLElement | SVGElement, isSvg: boolean): Element {\n // console.assert(node !== null && node !== undefined);\n if ((node instanceof HTMLElement) || (node instanceof SVGElement)) return node;\n if (typeof node === \"string\") return createText(node);\n if (!node.tag || (typeof node.tag === 'function')) return createText(JSON.stringify(node));\n isSvg = isSvg || node.tag === \"svg\";\n const element = isSvg\n ? document.createElementNS(\"http://www.w3.org/2000/svg\", node.tag)\n : document.createElement(node.tag);\n\n updateProps(element, node.props, isSvg);\n if (node.children) node.children.forEach(child => element.appendChild(create(child, isSvg)));\n return element\n}\n\nfunction mergeProps(oldProps: {}, newProps: {}): {} {\n newProps['class'] = newProps['class'] || newProps['className'];\n delete newProps['className'];\n const props = {};\n if (oldProps) Object.keys(oldProps).forEach(p => props[p] = null);\n if (newProps) Object.keys(newProps).forEach(p => props[p] = newProps[p]);\n return props;\n}\n\nexport function updateProps(element: Element, props: {}, isSvg) {\n // console.assert(!!element);\n const cached = element[ATTR_PROPS] || {};\n props = mergeProps(cached, props || {});\n element[ATTR_PROPS] = props;\n\n for (const name in props) {\n const value = props[name];\n // if (cached[name] === value) continue;\n // console.log('updateProps', name, value);\n if (name.startsWith('data-')) {\n const dname = name.substring(5);\n const cname = dname.replace(/-(\\w)/g, (match) => match[1].toUpperCase());\n if (element.dataset[cname] !== value) {\n if (value || value === \"\") element.dataset[cname] = value;\n else delete element.dataset[cname];\n }\n } else if (name === 'style') {\n if (element.style.cssText) element.style.cssText = '';\n if (typeof value === 'string') element.style.cssText = value;\n else {\n for (const s in value) {\n if (element.style[s] !== value[s]) element.style[s] = value[s];\n }\n }\n } else if (name.startsWith('xlink')) {\n const xname = name.replace('xlink', '').toLowerCase();\n if (value == null || value === false) {\n element.removeAttributeNS('http://www.w3.org/1999/xlink', xname);\n } else {\n element.setAttributeNS('http://www.w3.org/1999/xlink', xname, value);\n }\n } else if (name.startsWith('on')) {\n if (!value || typeof value === 'function') {\n element[name] = value;\n } else if (typeof value === 'string') {\n if (value) element.setAttribute(name, value);\n else element.removeAttribute(name);\n }\n } else if (/^id$|^class$|^list$|^readonly$|^contenteditable$|^role|-/g.test(name) || isSvg) {\n if (element.getAttribute(name) !== value) {\n if (value) element.setAttribute(name, value);\n else element.removeAttribute(name);\n }\n } else if (element[name] !== value) {\n element[name] = value;\n }\n if (name === 'key' && value) keyCache[value] = element;\n }\n if (props && typeof props['ref'] === 'function') {\n window.requestAnimationFrame(() => props['ref'](element));\n }\n}\n\nfunction render_component(node, parent, idx) {\n const { tag, props, children } = node;\n let key = `_${idx}`;\n let id = props && props['id'];\n if (!id) id = `_${idx}${Date.now()}`;\n else key = id;\n let asTag = 'section';\n if (props && props['as']) {\n asTag = props['as'];\n delete props['as'];\n }\n if (!parent.__componentCache) parent.__componentCache = {};\n let component = parent.__componentCache[key];\n if (!component || !(component instanceof tag) || !component.element) {\n const element = document.createElement(asTag);\n component = parent.__componentCache[key] = new tag({ ...props, children }).start(element);\n }\n if (component.mounted) {\n const new_state = component.mounted(props, children, component.state);\n (typeof new_state !== 'undefined') && component.setState(new_state);\n }\n updateProps(component.element, props, false);\n return component.element;\n}\n\nfunction createComponent(node, parent, idx = 0) {\n if (typeof node === 'string') return node;\n if (Array.isArray(node)) return node.map(child => createComponent(child, parent, idx++));\n let vdom = node;\n if (node && typeof node.tag === 'function' && Object.getPrototypeOf(node.tag).__isAppRunComponent) {\n vdom = render_component(node, parent, idx);\n }\n if (vdom && Array.isArray(vdom.children)) {\n const new_parent = vdom.props?._component;\n if (new_parent) {\n let i = 0;\n vdom.children = vdom.children.map(child => createComponent(child, new_parent, i++));\n } else {\n vdom.children = vdom.children.map(child => createComponent(child, parent, idx++));\n }\n }\n return vdom;\n}\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{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)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=globalThis.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=`lit$${(Math.random()+\"\").slice(9)}$`,o=\"?\"+e,n=`<${o}>`,l=document,h=(t=\"\")=>l.createComment(t),r=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,d=Array.isArray,u=t=>{var i;return d(t)||\"function\"==typeof(null===(i=t)||void 0===i?void 0:i[Symbol.iterator])},c=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,a=/>/g,f=/>|[ \t\\n\f\\r](?:([^\\s\"'>=/]+)([ \t\\n\f\\r]*=[ \t\\n\f\\r]*(?:[^ \t\\n\f\\r\"'`<>=]|(\"|')|))|$)/g,_=/'/g,m=/\"/g,g=/^(?:script|style|textarea|title)$/i,p=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),$=p(1),y=p(2),b=Symbol.for(\"lit-noChange\"),w=Symbol.for(\"lit-nothing\"),T=new WeakMap,x=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new N(i.insertBefore(h(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l},A=l.createTreeWalker(l,129,null,!1),C=(t,i)=>{const o=t.length-1,l=[];let h,r=2===i?\"<svg>\":\"\",d=c;for(let i=0;i<o;i++){const s=t[i];let o,u,p=-1,$=0;for(;$<s.length&&(d.lastIndex=$,u=d.exec(s),null!==u);)$=d.lastIndex,d===c?\"!--\"===u[1]?d=v:void 0!==u[1]?d=a:void 0!==u[2]?(g.test(u[2])&&(h=RegExp(\"</\"+u[2],\"g\")),d=f):void 0!==u[3]&&(d=f):d===f?\">\"===u[0]?(d=null!=h?h:c,p=-1):void 0===u[1]?p=-2:(p=d.lastIndex-u[2].length,o=u[1],d=void 0===u[3]?f:'\"'===u[3]?m:_):d===m||d===_?d=f:d===v||d===a?d=c:(d=f,h=void 0);const y=d===f&&t[i+1].startsWith(\"/>\")?\" \":\"\";r+=d===c?s+n:p>=0?(l.push(o),s.slice(0,p)+\"$lit$\"+s.slice(p)+e+y):s+e+(-2===p?(l.push(void 0),i):y)}const u=r+(t[o]||\"<?>\")+(2===i?\"</svg>\":\"\");if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return[void 0!==s?s.createHTML(u):u,l]};class E{constructor({strings:t,_$litType$:s},n){let l;this.parts=[];let r=0,d=0;const u=t.length-1,c=this.parts,[v,a]=C(t,s);if(this.el=E.createElement(v,n),A.currentNode=this.el.content,2===s){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(l=A.nextNode())&&c.length<u;){if(1===l.nodeType){if(l.hasAttributes()){const t=[];for(const i of l.getAttributeNames())if(i.endsWith(\"$lit$\")||i.startsWith(e)){const s=a[d++];if(t.push(i),void 0!==s){const t=l.getAttribute(s.toLowerCase()+\"$lit$\").split(e),i=/([.?@])?(.*)/.exec(s);c.push({type:1,index:r,name:i[2],strings:t,ctor:\".\"===i[1]?M:\"?\"===i[1]?H:\"@\"===i[1]?I:S})}else c.push({type:6,index:r})}for(const i of t)l.removeAttribute(i)}if(g.test(l.tagName)){const t=l.textContent.split(e),s=t.length-1;if(s>0){l.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)l.append(t[i],h()),A.nextNode(),c.push({type:2,index:++r});l.append(t[s],h())}}}else if(8===l.nodeType)if(l.data===o)c.push({type:2,index:r});else{let t=-1;for(;-1!==(t=l.data.indexOf(e,t+1));)c.push({type:7,index:r}),t+=e.length-1}r++}}static createElement(t,i){const s=l.createElement(\"template\");return s.innerHTML=t,s}}function P(t,i,s=t,e){var o,n,l,h;if(i===b)return i;let d=void 0!==e?null===(o=s._$Cl)||void 0===o?void 0:o[e]:s._$Cu;const u=r(i)?void 0:i._$litDirective$;return(null==d?void 0:d.constructor)!==u&&(null===(n=null==d?void 0:d._$AO)||void 0===n||n.call(d,!1),void 0===u?d=void 0:(d=new u(t),d._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Cl)&&void 0!==l?l:h._$Cl=[])[e]=d:s._$Cu=d),void 0!==d&&(i=P(t,d._$AS(t,i.values),d,e)),i}class V{constructor(t,i){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:l).importNode(s,!0);A.currentNode=o;let n=A.nextNode(),h=0,r=0,d=e[0];for(;void 0!==d;){if(h===d.index){let i;2===d.type?i=new N(n,n.nextSibling,this,t):1===d.type?i=new d.ctor(n,d.name,d.strings,this,t):6===d.type&&(i=new L(n,this,t)),this.v.push(i),d=e[++r]}h!==(null==d?void 0:d.index)&&(n=A.nextNode(),h++)}return o}m(t){let i=0;for(const s of this.v)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class N{constructor(t,i,s,e){var o;this.type=2,this._$AH=w,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cg=null===(o=null==e?void 0:e.isConnected)||void 0===o||o}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=P(this,t,i),r(t)?t===w||null==t||\"\"===t?(this._$AH!==w&&this._$AR(),this._$AH=w):t!==this._$AH&&t!==b&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.k(t):u(t)?this.S(t):this.$(t)}A(t,i=this._$AB){return this._$AA.parentNode.insertBefore(t,i)}k(t){this._$AH!==t&&(this._$AR(),this._$AH=this.A(t))}$(t){this._$AH!==w&&r(this._$AH)?this._$AA.nextSibling.data=t:this.k(l.createTextNode(t)),this._$AH=t}T(t){var i;const{values:s,_$litType$:e}=t,o=\"number\"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=E.createElement(e.h,this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.m(s);else{const t=new V(o,this),i=t.p(this.options);t.m(s),this.k(i),this._$AH=t}}_$AC(t){let i=T.get(t.strings);return void 0===i&&T.set(t.strings,i=new E(t)),i}S(t){d(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new N(this.A(h()),this.A(h()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var i;void 0===this._$AM&&(this._$Cg=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class S{constructor(t,i,s,e,o){this.type=1,this._$AH=w,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=w}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=P(this,t,i,0),n=!r(t)||t!==this._$AH&&t!==b,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=P(this,e[s+l],i,l),h===b&&(h=this._$AH[l]),n||(n=!r(h)||h!==this._$AH[l]),h===w?t=w:t!==w&&(t+=(null!=h?h:\"\")+o[l+1]),this._$AH[l]=h}n&&!e&&this.C(t)}C(t){t===w?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:\"\")}}class M extends S{constructor(){super(...arguments),this.type=3}C(t){this.element[this.name]=t===w?void 0:t}}const k=i?i.emptyScript:\"\";class H extends S{constructor(){super(...arguments),this.type=4}C(t){t&&t!==w?this.element.setAttribute(this.name,k):this.element.removeAttribute(this.name)}}class I extends S{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5}_$AI(t,i=this){var s;if((t=null!==(s=P(this,t,i,0))&&void 0!==s?s:w)===b)return;const e=this._$AH,o=t===w&&e!==w||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==w&&(e===w||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var i,s;\"function\"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class L{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){P(this,t)}}const R={P:\"$lit$\",L:e,V:o,I:1,N:C,R:V,D:u,j:P,H:N,O:S,F:H,B:I,W:M,Z:L},z=window.litHtmlPolyfillSupport;null==z||z(E,N),(null!==(t=globalThis.litHtmlVersions)&&void 0!==t?t:globalThis.litHtmlVersions=[]).push(\"2.2.1\");export{R as _$LH,$ as html,b as noChange,w as nothing,x as render,y as svg};\n//# sourceMappingURL=lit-html.js.map\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import{nothing as t,noChange as i}from\"../lit-html.js\";import{Directive as r,PartType as s,directive as n}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends r{constructor(i){if(super(i),this.it=t,i.type!==s.CHILD)throw Error(this.constructor.directiveName+\"() can only be used in child bindings\")}render(r){if(r===t||null==r)return this.ft=void 0,this.it=r;if(r===i)return r;if(\"string\"!=typeof r)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(r===this.it)return this.ft;this.it=r;const s=[r];return s.raw=s,this.ft={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName=\"unsafeHTML\",e.resultType=1;const o=n(e);export{e as UnsafeHTMLDirective,o as unsafeHTML};\n//# sourceMappingURL=unsafe-html.js.map\n","import { createElement, updateElement, Fragment } from './vdom-my';\n\n\nimport { render, svg, html, noChange, nothing } from 'lit-html';\nimport { directive, Directive, Part, PartInfo, PartType, EventPart } from 'lit-html/directive.js';\nimport { unsafeHTML } from 'lit-html/directives/unsafe-html.js';\nimport app from './apprun';\n\nfunction _render(element, vdom, parent?) {\n if (!vdom) return;\n if (typeof vdom === 'string') {\n if (!element['_$litPart$']) element.replaceChildren();\n render(html`${unsafeHTML(vdom)}`, element);\n } else if ('_$litType$' in vdom) {\n if (!element['_$litPart$']) element.replaceChildren();\n render(vdom, element);\n } else {\n updateElement(element, vdom, parent);\n element['_$litPart$'] = undefined;\n }\n}\n\nexport class RunDirective extends Directive {\n // State stored in class field\n value: number | undefined;\n constructor(partInfo: PartInfo) {\n super(partInfo);\n // When necessary, validate part in constructor using `part.type`\n if (partInfo.type !== PartType.EVENT) {\n throw new Error('${run} can only be used in event handlers');\n }\n }\n // Optional: override update to perform any direct DOM manipulation\n update(part: Part, params) {\n /* Any imperative updates to DOM/parts would go here */\n\n let { element, name } = part as EventPart;\n const getComponent = () => {\n let component = element['_component'];\n while (!component && element) {\n element = element.parentElement;\n component = element && element['_component'];\n }\n console.assert(!!component, 'Component not found.');\n return component;\n }\n const [event, ...args] = params;\n if (typeof event === 'string') {\n element[`on${name}`] = e => {\n const component = getComponent();\n component ? component.run(event, ...args, e) : app.run(event, ...args, e)\n }\n } else if (typeof event === 'function') {\n element[`on${name}`] = e => getComponent().setState(event(getComponent().state, ...args, e));\n }\n return this.render();\n }\n render() {\n return noChange;\n }\n}\n\nconst run = directive(RunDirective) as any;\nexport { createElement, Fragment, html, svg, _render as render, run };\n\n","import app from './apprun'\nexport {\n app, Component, View, Action, Update, on, update, event, EventOptions,\n customElement, CustomElementOptions,\n ROUTER_404_EVENT, ROUTER_EVENT, safeHTML\n} from './apprun'\nimport { createElement, render, Fragment, html, svg, run } from './vdom-lit-html';\nexport { html, svg, render, run }\n\napp.createElement = createElement;\napp.render = render;\napp.Fragment = Fragment;\n\nexport default app;\n\nif (typeof window === 'object') {\n window['html'] = html;\n window['svg'] = svg;\n window['run'] = run;\n}\n"],"names":["root","factory","exports","module","define","amd","this","App","constructor","_events","on","name","fn","options","push","off","subscribers","filter","sub","find","run","args","getSubscribers","console","assert","length","forEach","delay","Object","keys","apply","once","_t","clearTimeout","setTimeout","query","promises","map","Promise","all","events","evt","endsWith","startsWith","replace","sort","a","b","event","app","self","g","global","customElement","componentClass","HTMLElement","super","component","_component","state","observedAttributes","attr","toLowerCase","connectedCallback","isConnected","opts","_shadowRoot","shadow","attachShadow","mode","attrMap","reduce","lc","_attrMap","props","Array","from","attributes","item","value","undefined","defineProperty","get","set","attributeChangedCallback","configurable","enumerable","requestAnimationFrame","children","el","parentElement","removeChild","mount","_props","dispatchEvent","bind","mounted","new_state","render","disconnectedCallback","unload","unmount","oldValue","mappedName","window","customElements","Reflect","meta","WeakMap","defineMetadata","metadataKey","metadataValue","target","has","getMetadataKeys","getPrototypeOf","getMetadata","update","key","descriptor","toString","componentCache","Map","o","components","REFRESH","Component","view","_app","_actions","_global_events","_history","_history_idx","_history_prev","setState","history","_history_next","start","element","renderState","vdom","html","_","document","getElementById","querySelector","tracking_attr","getAttribute","tracking_id","Date","valueOf","setAttribute","MutationObserver","observer","changes","body","contains","disconnect","observe","childList","subtree","attributeOldValue","attributeFilter","removeAttribute","directive","rendered","resolve","then","v","_state","enable_history","callback","global_event","prev","next","route","add_actions","is_global_event","indexOf","add_action","action","p","current_state","newState","actions","isArray","act","split","n","trim","__isAppRunComponent","ROUTER_EVENT","ROUTER_404_EVENT","url","rest","model","NOOP","addEventListener","onpopstate","location","hash","hasAttribute","getStateValue","setStateValue","tag","substring","e","handler","type","checked","Number","multiple","selected","apply_directive","Fragment","collect","ch","c","i","createElement","Error","keyCache","updateElement","nodes","parent","createComponent","isSvg","nodeName","updateChildren","node","key1","key2","toUpperCase","same","updateProps","parentNode","replaceChild","create","old_len","childNodes","new_len","len","Math","min","child","textContent","nodeType","nodeValue","createText","SVGElement","insertBefore","old","temp","nextSibling","appendChild","lastChild","d","createDocumentFragment","safeHTML","div","insertAdjacentHTML","createTextNode","JSON","stringify","createElementNS","cached","oldProps","newProps","mergeProps","cname","match","dataset","style","cssText","s","xname","removeAttributeNS","setAttributeNS","test","idx","id","now","asTag","__componentCache","render_component","new_parent","t","ATTRIBUTE","CHILD","PROPERTY","BOOLEAN_ATTRIBUTE","EVENT","ELEMENT","_$litDirective$","values","_$AU","_$AM","_$AT","_$Ct","_$Ci","_$AS","globalThis","trustedTypes","createPolicy","createHTML","random","slice","l","h","createComment","r","f","m","_$litType$","strings","$","y","Symbol","for","w","T","x","renderBefore","_$litPart$","N","_$AI","A","createTreeWalker","C","u","lastIndex","exec","RegExp","hasOwnProperty","E","parts","currentNode","content","firstChild","remove","append","nextNode","hasAttributes","getAttributeNames","index","ctor","M","H","I","S","tagName","emptyScript","data","static","innerHTML","P","_$Cl","_$Cu","_$AO","call","V","_$AN","_$AD","creationScope","importNode","L","_$AH","_$AA","_$AB","_$Cg","startNode","endNode","_$AR","k","iterator","_$AC","_$AP","setConnected","fill","String","arguments","capture","passive","removeEventListener","handleEvent","host","z","litHtmlPolyfillSupport","litHtmlVersions","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","Function","obj","prop","prototype","toStringTag","it","directiveName","ft","raw","resultType","_render","replaceChildren","RunDirective","partInfo","part","params","getComponent"],"sourceRoot":""}
|