@odoo/owl 3.0.0-alpha.34 → 3.0.0-alpha.36

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.
@@ -1,27 +1,27 @@
1
- "use strict";var owl=(()=>{var ot=Object.defineProperty;var sr=Object.getOwnPropertyDescriptor;var or=Object.getOwnPropertyNames;var lr=Object.prototype.hasOwnProperty;var ar=(e,t)=>{for(var n in t)ot(e,n,{get:t[n],enumerable:!0})},cr=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of or(t))!lr.call(e,i)&&i!==n&&ot(e,i,{get:()=>t[i],enumerable:!(r=sr(t,i))||r.enumerable});return e};var ur=e=>cr(ot({},"__esModule",{value:!0}),e);var Gs={};ar(Gs,{App:()=>Vt,Component:()=>J,ErrorBoundary:()=>Yi,EventBus:()=>an,OwlError:()=>g,Plugin:()=>We,Portal:()=>Qi,Registry:()=>tn,Resource:()=>nn,Scope:()=>Ne,Suspense:()=>ns,TemplateSet:()=>Re,__info__:()=>ss,assertType:()=>K,asyncComputed:()=>Jt,batched:()=>ft,blockDom:()=>is,computed:()=>re,config:()=>ln,effect:()=>Se,getScope:()=>ie,globalTemplates:()=>Qe,htmlEscape:()=>Tt,markRaw:()=>Ke,markup:()=>ve,mount:()=>Vi,onError:()=>zn,onMounted:()=>Un,onPatched:()=>Ui,onWillDestroy:()=>Y,onWillPatch:()=>Wi,onWillStart:()=>ze,onWillUnmount:()=>zi,onWillUpdateProps:()=>Ki,plugin:()=>on,props:()=>tt,providePlugins:()=>rs,proxy:()=>Ee,signal:()=>R,status:()=>vi,toRaw:()=>X,types:()=>B,untrack:()=>pt,useApp:()=>Zi,useEffect:()=>Ce,useListener:()=>rn,useScope:()=>F,validateType:()=>gt,whenReady:()=>Yr,xml:()=>Q});var g=class extends Error{cause},k={NEW:0,MOUNTED:1,CANCELLED:2,DESTROYED:3};function ft(e){let t=!1;return function(...r){t||(t=!0,Promise.resolve().then(()=>{t=!1,e(...r)}))}}var we=(e=>(e[e.EXECUTED=0]="EXECUTED",e[e.STALE=1]="STALE",e[e.PENDING=2]="PENDING",e))(we||{}),ne=Symbol("Atom"),Ie=[],j;function Be(e,t,n=1){return{state:n,value:void 0,compute:e,sources:new Set,observers:new Set,isDerived:t}}function dt(e){j&&(j.sources.add(e),e.observers.add(j))}function je(e){for(let t of e.observers)t.state===0&&(t.isDerived?dr(t):Ie.push(t)),t.state=1;hr()}var hr=ft(fr);function fr(){let e=Ie;Ie=[];for(let t=0;t<e.length;t++)Ve(e[t])}function U(){return j}function I(e){j=e}function Ve(e){let t=e.state;if(t===0)return;if(t===2){for(let r of e.sources)if("compute"in r&&(Ve(r),e.state===1))break;if(e.state!==1){e.state=0;return}}Te(e);let n=j;j=e;try{e.value=e.compute(),e.state=0}finally{j=n}}function Te(e){let t=e.sources;for(let n of t)n.observers.delete(e);t.clear()}function Fe(e){let t=e.sources;for(let n of t){n.observers.delete(e);let r=n;r.isDerived&&r.observers.size===0&&Fe(r)}t.clear(),e.state=1}function dr(e){let t=[e],n;for(;n=t.pop();)for(let r of n.observers)r.state||(r.state=2,r.isDerived?t.push(r):Ie.push(r))}function pt(e){let t=j;j=void 0;let n;try{n=e()}finally{j=t}return n}var z=[];function F(){let e=ie();if(!e)throw new g("No active scope");return e}var Ne=class{app;pluginManager;status=k.NEW;computations=[];willStart=[];_controller=null;_destroyCbs=null;constructor(e){this.app=e,this.pluginManager=e.pluginManager}run(e){z.push(this);try{return e()}finally{z.pop()}}get abortSignal(){return this.status>k.MOUNTED?(this._controller||(this._controller=new AbortController,this._controller.abort()),this._controller.signal):(this._controller??=new AbortController).signal}async until(e){if(this.status>k.MOUNTED)throw Ht();let t=await e;if(this.status>k.MOUNTED)throw Ht();return t}onDestroy(e){if(this.status>=k.DESTROYED){e();return}(this._destroyCbs??=[]).push(e)}cancel(){this.status>k.MOUNTED||(this.status=k.CANCELLED,this._controller?.abort())}finalize(e){if(this.status>=k.DESTROYED)return;this._controller&&!this._controller.signal.aborted&&this._controller.abort();let t=this._destroyCbs;if(t){this._destroyCbs=null;for(let n=t.length-1;n>=0;n--)try{t[n]()}catch(r){e(r)}}for(let n of this.computations)Fe(n);this.status=k.DESTROYED}decorate(e,t){return e.bind(void 0,this)}};function ie(){let e=z.length;return e?z[e-1]:null}function Pe(e){return typeof e=="object"&&e!==null&&e.name==="AbortError"}function Ht(){let e=new Error("The operation was aborted");return e.name="AbortError",e}var W=Symbol("Key changes"),pr=Object.prototype.toString,at=Object.prototype.hasOwnProperty;function mt(e){if(typeof e!="object"||e===null)return!1;let t=X(e);return Array.isArray(t)||t instanceof Set||t instanceof Map||t instanceof WeakMap?!0:pr.call(t)==="[object Object]"}function ce(e,t){return!t&&mt(e)?Ee(e):e}var Yt=new WeakSet;function Ke(e){return Yt.add(e),e}function X(e){return Le.has(e)?Le.get(e):e}var ct=new WeakMap;function mr(e,t){let n=ct.get(e);n||(n=new Map,ct.set(e,n));let r=n.get(t);return r||(r={value:void 0,observers:new Set},n.set(t,r)),r}function V(e,t,n){dt(n??mr(e,t))}function q(e,t,n){if(!n){let r=ct.get(e);if(!r||!r.has(t))return;n=r.get(t)}je(n)}var Le=new WeakMap,Gt=new WeakMap;function ue(e,t){if(!mt(e))throw new g("Cannot make the given value reactive");if(Yt.has(e)||Le.has(e))return e;let n=Gt.get(e);if(n)return n;let r;e instanceof Map?r=lt(e,"Map",t):e instanceof Set?r=lt(e,"Set",t):e instanceof WeakMap?r=lt(e,"WeakMap",t):r=Zt(t);let i=new Proxy(e,r);return Gt.set(e,i),Le.set(i,e),i}function Ee(e){return ue(e,null)}function Zt(e){return{get(t,n,r){V(t,n,e);let i=Reflect.get(t,n,r);if(e||typeof i!="object"||i===null||!mt(i))return i;let s=Object.getOwnPropertyDescriptor(t,n);return s&&!s.writable&&!s.configurable?i:ue(i,null)},set(t,n,r,i){let s=at.call(t,n),o=Reflect.get(t,n,i),l=Reflect.set(t,n,X(r),i);return!s&&at.call(t,n)&&q(t,W,e),(o!==Reflect.get(t,n,i)||n==="length"&&Array.isArray(t))&&q(t,n,e),l},deleteProperty(t,n){let r=Reflect.deleteProperty(t,n);return q(t,W,e),q(t,n,e),r},ownKeys(t){return V(t,W,e),Reflect.ownKeys(t)},has(t,n){return V(t,W,e),Reflect.has(t,n)}}}function be(e,t,n){return r=>(r=X(r),V(t,r,n),ce(t[e](r),n))}function G(e,t,n){return function*(){V(t,W,n);let r=t.keys();for(let i of t[e]()){let s=r.next().value;V(t,s,n),yield ce(i,n)}}}function qt(e,t){return function(r,i){V(e,W,t),e.forEach(function(s,o,l){V(e,o,t),r.call(i,ce(s,t),ce(o,t),ce(l,t))},i)}}function ae(e,t,n,r){return(i,s)=>{i=X(i);let o=n.has(i),l=n[t](i),c=n[e](i,s),f=n.has(i);return o!==f&&q(n,W,r),l!==n[t](i)&&q(n,i,r),c}}function Xt(e,t){return()=>{let n=[...e.keys()];e.clear(),q(e,W,t);for(let r of n)q(e,r,t)}}var gr={Set:(e,t)=>({has:be("has",e,t),add:ae("add","has",e,t),delete:ae("delete","has",e,t),keys:G("keys",e,t),values:G("values",e,t),entries:G("entries",e,t),[Symbol.iterator]:G(Symbol.iterator,e,t),forEach:qt(e,t),clear:Xt(e,t),get size(){return V(e,W,t),e.size}}),Map:(e,t)=>({has:be("has",e,t),get:be("get",e,t),set:ae("set","get",e,t),delete:ae("delete","has",e,t),keys:G("keys",e,t),values:G("values",e,t),entries:G("entries",e,t),[Symbol.iterator]:G(Symbol.iterator,e,t),forEach:qt(e,t),clear:Xt(e,t),get size(){return V(e,W,t),e.size}}),WeakMap:(e,t)=>({has:be("has",e,t),get:be("get",e,t),set:ae("set","get",e,t),delete:ae("delete","has",e,t)})};function lt(e,t,n){let r=gr[t](e,n);return Object.assign(Zt(n),{get(i,s){return at.call(r,s)?r[s]:(V(i,s,n),ce(i[s],n))}})}function $e(e,t){let n={type:"signal",value:e,observers:new Set},r=t(n),i=()=>(dt(n),r);return i[ne]=n,i.set=function(o){Object.is(n.value,o)||(n.value=o,r=t(n),je(n))},i}function br(e){if(typeof e!="function"||e[ne]?.type!=="signal")throw new g(`Value is not a signal (${e})`);je(e[ne])}function vr(e){return $e(e,t=>ue(t.value,t))}function yr(e){return $e(e,t=>ue(t.value,t))}function wr(e){return $e(e,t=>ue(t.value,t))}function Tr(e){return $e(e,t=>ue(t.value,t))}function R(e){return $e(e,t=>t.value)}R.trigger=br;R.Array=vr;R.Map=wr;R.Object=yr;R.Set=Tr;function Nr(){throw new g("Cannot write to a read-only computed value. Pass a `set` option to make it writable.")}function re(e,t={}){let n=Be(()=>{let i=e();return Object.is(n.value,i)||je(n),i},!0);function r(){return n.state!==0&&Ve(n),dt(n),n.value}return r[ne]=n,r.set=t.set??Nr,ie()?.computations.push(n),r}function Se(e){let t=Be(()=>(t.value||t.observers.size?(I(void 0),ut(t),I(t)):Te(t),e()),!1);return U()?.observers.add(t),Ve(t),function(){t.state=0;let r=U();I(void 0),ut(t),I(r)}}function ut(e){Te(e),Er(e);for(let t of e.observers)t.state=0,ut(t);e.observers.clear()}function Er(e){let t=e.value;t&&typeof t=="function"&&(t(),e.value=void 0)}function Jt(e,t={}){let n=R(t.initial),r=R(!1),i=R(null),s=R(0),o=ie(),l=0,c=null,f=Se(()=>{s();let h=++l;c&&c.abort();let m=new AbortController;c=m;let p=[m.signal];o?.abortSignal&&p.push(o.abortSignal),r.set(!0),i.set(null);let b;try{b=e({abortSignal:AbortSignal.any(p)})}catch(d){if(h!==l)return;if(Pe(d)){r.set(!1);return}i.set(d),r.set(!1);return}b.then(d=>{h===l&&(n.set(d),r.set(!1))},d=>{if(h===l){if(Pe(d)){r.set(!1);return}i.set(d),r.set(!1)}})});function a(){f(),c?.abort(),c=null}o?.onDestroy(a);let u=(()=>n());return u.loading=()=>r(),u.error=()=>i(),u.refresh=()=>s.set(s()+1),u.dispose=a,u}function $r(e,t,n){if(typeof n=="function")return n.name||"[Function]";if(n&&typeof n=="object"){let r=n.constructor;if(r&&r!==Object&&r!==Array)return`[Instance of ${r.name||"anonymous"}]`;if(e.includes(n))return"[Known object]";e.push(n)}return n}function K(e,t,n="Value does not match the type"){let r=gt(e,t);if(r.length){let i=[],s=JSON.stringify(r,$r.bind(null,i),2);throw new g(`${n}
2
- ${s}`)}}function ht(e,t,n,r){return{issueDepth:0,path:n,value:t,get isValid(){return!e.length},addIssue(i){e.push({received:this.value,path:this.path.join(" > "),...i})},mergeIssues(i){e.push(...i)},validate(i){i(this),!this.isValid&&r&&(r.issueDepth=this.issueDepth+1)},withIssues(i){return ht(i,this.value,this.path,this)},withKey(i){return ht(e,this.value[i],this.path.concat(i),this)}}}function gt(e,t){let n=[];return t(ht(n,e,[])),n}function Sr(){return function(){}}function Cr(){return function(t){typeof t.value!="boolean"&&t.addIssue({message:"value is not a boolean"})}}function kr(){return function(t){typeof t.value!="number"&&t.addIssue({message:"value is not a number"})}}function Ar(){return function(t){typeof t.value!="string"&&!(t.value instanceof String)&&t.addIssue({message:"value is not a string"})}}function _r(e){return function(n){if(!Array.isArray(n.value)){n.addIssue({message:"value is not an array"});return}if(e)for(let r=0;r<n.value.length;r++)n.withKey(r).validate(e)}}function bt(e){return function(n){(typeof n.value!="function"||!(n.value===e||n.value.prototype instanceof e))&&n.addIssue({message:`value is not '${e.name}' or an extension`})}}function Dr(e,t,n="value does not match custom validation"){return function(i){i.validate(e),i.isValid&&(t(i.value)||i.addIssue({message:n}))}}function xr(e=[],t=void 0){return function(r){typeof r.value!="function"&&r.addIssue({message:"value is not a function"})}}function Qt(e){return function(n){n.value instanceof e||n.addIssue({message:`value is not an instance of '${e.name}'`})}}function Or(e){return function(n){for(let r of e)n.validate(r)}}function vt(e){return function(n){n.value!==e&&n.addIssue({message:`value is not equal to ${typeof e=="string"?`'${e}'`:e}`})}}function Rr(e){return yt(e.map(vt))}function en(e,t,n){if(typeof e.value!="object"||Array.isArray(e.value)||e.value===null){e.addIssue({message:"value is not an object"});return}if(!t)return;let r=!Array.isArray(t),i,s;if(r)s=Object.keys(t),i=t;else{s=t,i={};for(let l of s)i[l]=null}let o=[];for(let l of s){let c=l.endsWith("?")?l.slice(0,-1):l;if(e.value[c]===void 0){l.endsWith("?")||o.push(c);continue}r&&e.withKey(c).validate(i[l])}if(o.length&&e.addIssue({message:"object value has missing keys",missingKeys:o,expectedKeys:s}),n){let l=[];for(let c in e.value)!s.includes(c)&&!(`${c}?`in i)&&l.push(c);l.length&&e.addIssue({message:"object value has unknown keys",unknownKeys:l,expectedKeys:s})}}function Mr(e={}){return function(n){en(n,e,!1)}}function Ir(e){return function(n){en(n,e,!0)}}function Pr(e){return function(n){n.value instanceof Promise||n.addIssue({message:"value is not a promise"})}}function Lr(e){return function(n){if(typeof n.value!="object"||Array.isArray(n.value)||n.value===null){n.addIssue({message:"value is not an object"});return}if(e)for(let r in n.value)n.withKey(r).validate(e)}}function Br(e){return function(n){if(!Array.isArray(n.value)){n.addIssue({message:"value is not an array"});return}if(n.value.length!==e.length){n.addIssue({message:"tuple value does not have the correct length"});return}for(let r=0;r<e.length;r++)n.withKey(r).validate(e[r])}}function yt(e){return function(n){let r=0,i=[];for(let s of e){let o=n.withIssues(i);if(o.validate(s),i.length===r||o.issueDepth>0){n.mergeIssues(i.slice(r));return}r=i.length}n.addIssue({message:"value does not match union type",subIssues:i})}}function jr(e){return function(n){(typeof n.value!="function"||!n.value[ne])&&n.addIssue({message:"value is not a reactive value"})}}function Vr(e){return yt([vt(null),Qt(e)])}var wt={and:Or,any:Sr,array:_r,boolean:Cr,constructor:bt,customValidator:Dr,function:xr,instanceOf:Qt,literal:vt,number:kr,object:Mr,or:yt,promise:Pr,record:Lr,ref:Vr,selection:Rr,signal:jr,strictObject:Ir,string:Ar,tuple:Br},tn=class{_map=R.Object(Object.create(null));_name;_validation;constructor(e={}){this._name=e.name||"registry",this._validation=e.validation}entries=re(()=>Object.entries(this._map()).sort((t,n)=>t[1][0]-n[1][0]).map(([t,n])=>[t,n[1]]));items=re(()=>this.entries().map(e=>e[1]));addById(e,t={}){if(!e.id)throw new g(`Item should have an id key (registry '${this._name}')`);return this.add(e.id,e,t)}add(e,t,n={}){if(!n.force&&e in this._map())throw new g(`Key "${e}" is already registered (registry '${this._name}'). Use { force: true } to overwrite.`);if(this._validation){let r=this._name?` (registry '${this._name}', key: '${e}')`:` (key: '${e}')`;K(t,this._validation,`Registry entry does not match the type${r}`)}return this._map()[e]=[n.sequence??50,t],this}get(e,t){let n=e in this._map();if(!n&&arguments.length<2)throw new g(`Cannot find key "${e}" (registry '${this._name}')`);return n?this._map()[e][1]:t}delete(e){delete this._map()[e]}has(e){return e in this._map()}use(e,t,n={}){let r=F();return this.add(e,t,n),r.onDestroy(()=>{this._map()[e]?.[1]===t&&this.delete(e)}),this}useById(e,t={}){if(!e.id)throw new g(`Item should have an id key (registry '${this._name}')`);return this.use(e.id,e,t)}},nn=class{_items=R.Array([]);_name;_validation;constructor(e={}){this._name=e.name,this._validation=e.validation}items=re(()=>this._items().sort((e,t)=>e[0]-t[0]).map(e=>e[1]));add(e,t={}){if(this._validation){let n=this._name?` (resource '${this._name}')`:"";K(e,this._validation,`Resource item does not match the type${n}`)}return this._items().push([t.sequence??50,e]),this}delete(e){let t=this._items().filter(([n,r])=>r!==e);return this._items.set(t),this}has(e){return this._items().some(([t,n])=>n===e)}use(e,t={}){let n=F();return this.add(e,t),n.onDestroy(()=>this.delete(e)),this}},We=class{static _shadowId;static get id(){return this._shadowId??this.name}static set id(e){this._shadowId=e}static sequence=50;__owl__;constructor(e){this.__owl__=e}setup(){}},he=class extends Ne{config;plugins;ready=Promise.resolve();hasPendingReady=!1;constructor(e,t={}){if(super(e),this.config=t.config??{},this.pluginManager=this,t.parent){let n=t.parent;n.onDestroy(()=>this.destroy()),this.plugins=Object.create(n.plugins)}else this.plugins={}}destroy(){this.finalize(e=>console.error(e))}getPluginById(e){return this.plugins[e]||null}getPlugin(e){return this.getPluginById(e.id)}startPlugin(e){if(!e.id)throw new g(`Plugin "${e.name}" has no id`);if(this.plugins.hasOwnProperty(e.id)){let n=this.getPluginById(e.id).constructor;if(n!==e)throw new g(`Trying to start a plugin with the same id as an other plugin (id: '${e.id}', existing plugin: '${n.name}', starting plugin: '${e.name}')`);return null}let t=new e(this);return this.plugins[e.id]=t,t.setup(),t}startPlugins(e){let t=e.filter(o=>!o.id||this.plugins.hasOwnProperty(o.id)?(this.startPlugin(o),!1):!0);if(!t.length)return;t.sort((o,l)=>o.sequence-l.sequence);let n=[];for(let o of t){let l=n[n.length-1];l&&l[0].sequence===o.sequence?l.push(o):n.push([o])}let r=o=>{z.push(this);try{for(let c of o)this.startPlugin(c)}finally{z.pop()}let l=this.willStart.splice(0);return l.length?Promise.all(l.map(c=>c())):null},i=this.hasPendingReady?this.ready:null;for(let o of n)i?i=i.then(()=>r(o)):i=r(o);if(!i){this.status<k.MOUNTED&&(this.status=k.MOUNTED);return}this.hasPendingReady=!0;let s=this.ready=i.then(()=>{this.status<k.MOUNTED&&(this.status=k.MOUNTED),this.ready===s&&(this.hasPendingReady=!1)})}};function Ue(e,t){Array.isArray(t)?e.startPlugins(t):e.onDestroy(Se(()=>{let n=t.items();pt(()=>e.startPlugins(n))}))}function ze(e){let t=F();t.willStart.push(t.decorate(e,"onWillStart"))}function Y(e){let t=F();t.onDestroy(t.decorate(e,"onWillDestroy"))}function Ce(e){Y(Se(e))}function rn(e,t,n,r){typeof e=="function"?Ce(()=>{let i=e();if(i)return i.addEventListener(t,n,r),()=>i.removeEventListener(t,n,r)}):(e.addEventListener(t,n,r),Y(()=>e.removeEventListener(t,n,r)))}function sn(){return F().app}function on(e){let t=F(),n=t.pluginManager.getPluginById(e.id);if(!n)if(t instanceof he)n=t.pluginManager.startPlugin(e);else throw new g(`Unknown plugin "${e.id}"`);return n}function ln(e,t,n){let r=F();if(!(r instanceof he))throw new g("Expected to be in a plugin scope");r.app.dev&&t&&K(r.config,wt.object({[e]:t}),"Config does not match the type");let i=r.config[e.endsWith("?")?e.slice(0,-1):e];return i===void 0?n:i}var an=class extends EventTarget{trigger(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t}))}},ye=class extends String{};function Tt(e){return e instanceof ye?e:e===void 0?ve(""):typeof e=="number"?ve(String(e)):([["&","&amp;"],["<","&lt;"],[">","&gt;"],["'","&#x27;"],['"',"&quot;"],["`","&#x60;"]].forEach(t=>{e=String(e).replace(new RegExp(t[0],"g"),t[1])}),ve(e))}function ve(e,...t){if(!Array.isArray(e))return new ye(e);let n=e,r="",i=0;for(;i<t.length;++i)r+=n[i]+Tt(t[i]);return r+=n[i],new ye(r)}var Fr="3.0.0-alpha.34",Z=new WeakMap,oe=new WeakMap;function yn(e,t,n,r){for(;e;){r&&e.fiber&&Z.set(e.fiber,t);let i=oe.get(e);if(i)for(let s=i.length-1;s>=0;s--)try{return i[s](t,n),{handled:!0,error:t}}catch(o){t=o}e=e.parent}return{handled:!1,error:t}}function wn(e){return(t,n)=>{if(e.app.destroyed)throw t;let{handled:r}=yn(e,t,n,!1);r||e.app._handleError(n())}}function pe(e){let{error:t}=e,n="node"in e?e.node:e.fiber.node,r="fiber"in e?e.fiber:n.fiber,i=n.app;if(i.destroyed)throw t;if(r){let l=r;do l.node.fiber=l,Z.set(l,t),l=l.parent;while(l);Z.set(r.root,t)}let s=()=>{try{i.destroy()}catch{}return t},o=yn(n,t,s,!0);o.handled||(t=o.error,i._handleError(s()))}function Tn(e){e=e.slice();let t=[],n;for(;(n=e[0])&&typeof n=="string";)t.push(e.shift());return{modifiers:t,data:e}}var me={shouldNormalizeDom:!0,mainEventHandler:(e,t,n)=>(typeof e=="function"?e(t):Array.isArray(e)&&(e=Tn(e).data,e[0](e[1],t)),!1)},cn=document.createTextNode(""),Kr=class{key;child;parentEl;constructor(e,t){this.key=e,this.child=t}mount(e,t){this.parentEl=e,this.child.mount(e,t)}moveBeforeDOMNode(e,t){this.child.moveBeforeDOMNode(e,t)}moveBeforeVNode(e,t){this.moveBeforeDOMNode(e&&e.firstNode()||t)}patch(e,t){if(this===e)return;let n=this.child,r=e.child;if(this.key===e.key)n.patch(r,t);else{let i=n.firstNode();i.parentElement.insertBefore(cn,i),t&&n.beforeRemove(),n.remove(),r.mount(this.parentEl,cn),this.child=r,this.key=e.key}}beforeRemove(){this.child.beforeRemove()}remove(){this.child.remove()}firstNode(){return this.child.firstNode()}toString(){return this.child.toString()}};function se(e,t){return new Kr(e,t)}var St,De,It,Nn;if(typeof Element<"u"){({setAttribute:St,removeAttribute:De}=Element.prototype);let e=DOMTokenList.prototype;It=e.add,Nn=e.remove}var En=Array.isArray,{split:un,trim:Ae}=String.prototype,hn=/\s+/;function de(e,t){switch(t){case!1:case null:case void 0:De.call(this,e);break;case!0:St.call(this,e,"");break;default:St.call(this,e,t)}}function Wr(e){return function(t){de.call(this,e,t)}}function Ur(e){if(En(e))e[0]==="class"?At.call(this,e[1]):e[0]==="style"?_t.call(this,e[1]):de.call(this,e[0],e[1]);else for(let t in e)t==="class"?At.call(this,e[t]):t==="style"?_t.call(this,e[t]):de.call(this,t,e[t])}function zr(e,t){if(En(e)){let n=e[0],r=e[1];if(n===t[0]){if(r===t[1])return;n==="class"?He.call(this,r,t[1]):n==="style"?Ge.call(this,r,t[1]):de.call(this,n,r)}else De.call(this,t[0]),de.call(this,n,r)}else{for(let n in t)n in e||(n==="class"?He.call(this,"",t[n]):n==="style"?Ge.call(this,"",t[n]):De.call(this,n));for(let n in e){let r=e[n];r!==t[n]&&(n==="class"?He.call(this,r,t[n]):n==="style"?Ge.call(this,r,t[n]):de.call(this,n,r))}}}function Ct(e){let t={};switch(typeof e){case"string":let n=Ae.call(e);if(!n)return{};let r=un.call(n,hn);for(let i=0,s=r.length;i<s;i++)t[r[i]]=!0;return t;case"object":for(let i in e){let s=e[i];if(s){if(i=Ae.call(i),!i)continue;let o=un.call(i,hn);for(let l of o)t[l]=s}}return t;case"undefined":return{};case"number":return{[e]:!0};default:return{[e]:!0}}}var Nt={};function Hr(e){if(e in Nt)return Nt[e];let t=e.replace(/[A-Z]/g,n=>"-"+n.toLowerCase());return Nt[e]=t,t}var fn=/\s*!\s*important\s*$/i;function $n(e,t,n){fn.test(n)?e.setProperty(t,n.replace(fn,""),"important"):e.setProperty(t,n)}function kt(e){let t={};switch(typeof e){case"string":{let n=e,r=n.length,i=0;for(;i<r;){let s=i,o=0,l=0;for(;i<r;){let h=n.charCodeAt(i);if(l){if(h===92){i+=2;continue}h===l&&(l=0)}else if(h===34||h===39)l=h;else if(h===40)o++;else if(h===41)o>0&&o--;else if(h===59&&o===0)break;i++}let c=Ae.call(n.slice(s,i));if(i++,!c)continue;let f=c.indexOf(":");if(f===-1)continue;let a=Ae.call(c.slice(0,f)),u=Ae.call(c.slice(f+1));a&&u&&u!=="undefined"&&(t[a]=u)}return t}case"object":for(let n in e){let r=e[n];(r||r===0)&&(t[Hr(n)]=String(r))}return t;default:return{}}}function At(e){e=e===""?{}:Ct(e);for(let t in e)It.call(this.classList,t)}function He(e,t){t=t===""?{}:Ct(t),e=e===""?{}:Ct(e);for(let n in t)n in e||Nn.call(this.classList,n);for(let n in e)e[n]!==t[n]&&It.call(this.classList,n)}function _t(e){e=e===""?{}:kt(e);let t=this.style;for(let n in e)$n(t,n,e[n])}function Ge(e,t){t=t===""?{}:kt(t),e=e===""?{}:kt(e);let n=this.style;for(let r in t)r in e||n.removeProperty(r);for(let r in e)e[r]!==t[r]&&$n(n,r,e[r]);n.cssText||De.call(this,"style")}function Gr(e){if(!e)return!1;if(e.ownerDocument.contains(e))return!0;let t=e.getRootNode();return t instanceof ShadowRoot&&e.ownerDocument.contains(t.host)}function qr(e,t){let n=e,r=t.defaultView.ShadowRoot;for(;n;){if(n===t)return!0;if(n.parentNode)n=n.parentNode;else if(n instanceof r&&n.host)n=n.host;else return!1}return!1}function Xr(e){let t=e&&e.ownerDocument;if(t){if(!t.defaultView)throw new g("Cannot mount a component: the target document is not attached to a window (defaultView is missing)");let n=t.defaultView.HTMLElement;if(e instanceof n||e instanceof ShadowRoot){if(!qr(e,t))throw new g("Cannot mount a component on a detached dom node");return}}throw new g("Cannot mount component: the target is not a valid DOM element")}function Yr(e){return new Promise(function(t){document.readyState!=="loading"?t(!0):document.addEventListener("DOMContentLoaded",t,!1)}).then(e||function(){})}function Sn(e){let t=e.split(".")[0],n=e.includes(".capture"),r=e.includes(".passive");return e.includes(".synthetic")?ei(t,n,r):Jr(t,n,r)}var Zr=1;function Jr(e,t=!1,n=!1){let r=`__event__${e}_${Zr++}`;t&&(r=`${r}_capture`);function i(f){let a=f.currentTarget;if(!a||!Gr(a))return;let u=a[r];u&&me.mainEventHandler(u,f,a)}let s={capture:t,passive:n};function o(f){this[r]=f,this.addEventListener(e,i,s)}function l(){delete this[r],this.removeEventListener(e,i,s)}function c(f){this[r]=f}return{setup:o,update:c,remove:l}}var Qr=1;function ei(e,t=!1,n=!1){let r=`__event__synthetic_${e}`;t&&(r=`${r}_capture`),ni(e,r,t,n);let i=Qr++;function s(l){let c=this[r]||{};c[i]=l,this[r]=c}function o(){delete this[r]}return{setup:s,update:s,remove:o}}function ti(e,t){let n=t.target;for(;n!==null;){let r=n[e];if(r){for(let i of Object.values(r))if(me.mainEventHandler(i,t,n))return}n=n.parentNode}}var dn={};function ni(e,t,n=!1,r=!1){dn[t]||(document.addEventListener(e,i=>ti(t,i),{capture:n,passive:r}),dn[t]=!0)}var ri=(e,t)=>Object.getOwnPropertyDescriptor(e,t),ke,Cn,Dt;if(typeof Node<"u"){let e=Node.prototype;ke=e.insertBefore,Cn=ri(e,"textContent").set,Dt=e.removeChild}var kn=class{children;anchors;parentEl;isOnlyChild;constructor(e){this.children=e}mount(e,t){let n=this.children,r=n.length,i=new Array(r);for(let s=0;s<r;s++){let o=n[s];if(o)o.mount(e,t);else{let l=document.createTextNode("");i[s]=l,ke.call(e,l,t)}}this.anchors=i,this.parentEl=e}moveBeforeDOMNode(e,t=this.parentEl){this.parentEl=t;let n=this.children,r=this.anchors;for(let i=0,s=n.length;i<s;i++){let o=n[i];if(o)o.moveBeforeDOMNode(e,t);else{let l=r[i];ke.call(t,l,e)}}}moveBeforeVNode(e,t){if(e){let s=e.children[0];t=(s?s.firstNode():e.anchors[0])||null}let n=this.children,r=this.parentEl,i=this.anchors;for(let s=0,o=n.length;s<o;s++){let l=n[s];if(l)l.moveBeforeVNode(null,t);else{let c=i[s];ke.call(r,c,t)}}}patch(e,t){if(this===e)return;let n=this.children,r=e.children,i=this.anchors,s=this.parentEl;for(let o=0,l=n.length;o<l;o++){let c=n[o],f=r[o];if(c)if(f)c.patch(f,t);else{let a=c.firstNode(),u=document.createTextNode("");i[o]=u,ke.call(s,u,a),t&&c.beforeRemove(),c.remove(),n[o]=void 0}else if(f){n[o]=f;let a=i[o];f.mount(s,a),Dt.call(s,a)}}}beforeRemove(){let e=this.children;for(let t=0,n=e.length;t<n;t++){let r=e[t];r&&r.beforeRemove()}}remove(){let e=this.parentEl;if(this.isOnlyChild)Cn.call(e,"");else{let t=this.children,n=this.anchors;for(let r=0,i=t.length;r<i;r++){let s=t[r];s?s.remove():Dt.call(e,n[r])}}}firstNode(){let e=this.children[0];return e?e.firstNode():this.anchors[0]}toString(){return this.children.map(e=>e?e.toString():"").join("")}};function Pt(e){return new kn(e)}var ii=(e,t)=>Object.getOwnPropertyDescriptor(e,t),qe,An,_n;if(typeof Node<"u"){let e=Node.prototype;qe=e.insertBefore,_n=e.removeChild,An=ii(CharacterData.prototype,"data").set}var si=class{text;parentEl;el;constructor(e){this.text=e}mount(e,t){this.parentEl=e;let n=document.createTextNode(xt(this.text));qe.call(e,n,t),this.el=n}moveBeforeDOMNode(e,t=this.parentEl){this.parentEl=t,qe.call(t,this.el,e)}moveBeforeVNode(e,t){qe.call(this.parentEl,this.el,e?e.el:t)}beforeRemove(){}remove(){_n.call(this.parentEl,this.el)}firstNode(){return this.el}patch(e){let t=e.text;this.text!==t&&(An.call(this.el,xt(t)),this.text=t)}toString(){return this.text}};function xe(e){return new si(e)}function xt(e){switch(typeof e){case"string":return e;case"number":return String(e);case"boolean":return e?"true":"false";default:return e||""}}var Et=(e,t)=>Object.getOwnPropertyDescriptor(e,t),_e,Dn,xn,Ze,Lt;typeof Node<"u"&&(_e=Node.prototype,Dn=Element.prototype,xn=Et(CharacterData.prototype,"data").set,Ze=Et(_e,"firstChild").get,Lt=Et(_e,"nextSibling").get);var pn=()=>{};function oi(e){return function(n){this[e]=n===0?0:n?n.valueOf():""}}var $t={};function On(e){if(e in $t)return $t[e];let n=new DOMParser().parseFromString(`<t>${e}</t>`,"text/xml").firstChild.firstChild;me.shouldNormalizeDom&&Rn(n);let r=Ot(n),i=Rt(r),s=r.el,o=ci(s,i);return $t[e]=o,o}function Rn(e){if(e.nodeType===Node.TEXT_NODE&&!/\S/.test(e.textContent)){e.remove();return}if(!(e.nodeType===Node.ELEMENT_NODE&&e.tagName==="pre"))for(let t=e.childNodes.length-1;t>=0;--t)Rn(e.childNodes.item(t))}function Ot(e,t=null,n=null){switch(e.nodeType){case Node.ELEMENT_NODE:{let r=n&&n.currentNS,i=e.tagName,s,o=[];if(i.startsWith("block-text-")){let c=parseInt(i.slice(11),10);o.push({type:"text",idx:c}),s=document.createTextNode("")}if(i.startsWith("block-child-")){n.isRef||mn(n);let c=parseInt(i.slice(12),10);o.push({type:"child",idx:c}),s=document.createTextNode("")}if(r||=e.namespaceURI,s||(s=r?document.createElementNS(r,i):document.createElement(i)),s instanceof Element){n||document.createElement("template").content.appendChild(s);let c=e.attributes;for(let f=0;f<c.length;f++){let a=c[f].name,u=c[f].value;if(a.startsWith("block-handler-")){let h=parseInt(a.slice(14),10);o.push({type:"handler",idx:h,event:u})}else if(a.startsWith("block-attribute-")){let h=parseInt(a.slice(16),10);o.push({type:"attribute",idx:h,name:u,tag:i})}else if(a.startsWith("block-property-")){let h=parseInt(a.slice(15),10);o.push({type:"property",idx:h,name:u,tag:i})}else a==="block-attributes"?o.push({type:"attributes",idx:parseInt(u,10)}):a==="block-ref"?o.push({type:"ref",idx:parseInt(u,10)}):s.setAttribute(c[f].name,u)}}let l={parent:t,firstChild:null,nextSibling:null,el:s,info:o,refN:0,currentNS:r};if(e.firstChild){let c=e.childNodes[0];if(e.childNodes.length===1&&c.nodeType===Node.ELEMENT_NODE&&c.tagName.startsWith("block-child-")){let f=c.tagName,a=parseInt(f.slice(12),10);o.push({idx:a,type:"child",isOnlyChild:!0})}else{l.firstChild=Ot(e.firstChild,l,l),s.appendChild(l.firstChild.el);let f=e.firstChild,a=l.firstChild;for(;f=f.nextSibling;)a.nextSibling=Ot(f,a,l),s.appendChild(a.nextSibling.el),a=a.nextSibling}}return l.info.length&&mn(l),l}case Node.TEXT_NODE:return{parent:t,firstChild:null,nextSibling:null,el:document.createTextNode(e.textContent),info:[],refN:0,currentNS:null}}throw new g("boom")}function mn(e){e.isRef=!0;do e.refN++;while(e=e.parent)}function li(e){let t=e.parent;for(;t&&t.nextSibling===e;)e=t,t=t.parent;return t}function Rt(e,t,n){if(!t){let r=new Array(e.info.filter(i=>i.type==="child").length);t={collectors:[],locations:[],children:r,cbRefs:[],refN:e.refN},n=0}if(e.refN){let r=n,i=e.isRef,s=e.firstChild?e.firstChild.refN:0,o=e.nextSibling?e.nextSibling.refN:0;if(i){for(let l of e.info)l.refIdx=r;e.refIdx=r,ai(t,e),n++}if(o){let l=n+s;t.collectors.push({idx:l,prevIdx:r,getVal:Lt}),Rt(e.nextSibling,t,l)}s&&(t.collectors.push({idx:n,prevIdx:r,getVal:Ze}),Rt(e.firstChild,t,n))}return t}function ai(e,t){for(let n of t.info)switch(n.type){case"text":e.locations.push({idx:n.idx,refIdx:n.refIdx,setData:gn,updateData:gn});break;case"child":n.isOnlyChild?e.children[n.idx]={parentRefIdx:n.refIdx,isOnlyChild:!0}:e.children[n.idx]={parentRefIdx:li(t).refIdx,afterRefIdx:n.refIdx};break;case"property":{let r=n.refIdx,i=oi(n.name);e.locations.push({idx:n.idx,refIdx:r,setData:i,updateData:i});break}case"attribute":{let r=n.refIdx,i,s;n.name==="class"?(s=At,i=He):n.name==="style"?(s=_t,i=Ge):(s=Wr(n.name),i=s),e.locations.push({idx:n.idx,refIdx:r,setData:s,updateData:i});break}case"attributes":e.locations.push({idx:n.idx,refIdx:n.refIdx,setData:Ur,updateData:zr});break;case"handler":{let{setup:r,update:i}=Sn(n.event);e.locations.push({idx:n.idx,refIdx:n.refIdx,setData:r,updateData:i});break}case"ref":{e.locations.push({idx:n.idx,refIdx:n.refIdx,setData:pn,updateData:pn}),e.cbRefs.push(n.idx);break}}}function ci(e,t){let n=ui(e,t);return t.children.length?(n=class extends n{children;constructor(r,i){super(r),this.children=i}},n.prototype.beforeRemove=kn.prototype.beforeRemove,(r,i=[])=>new n(r,i)):r=>new n(r)}function ui(e,t){let{refN:n,collectors:r,children:i,locations:s,cbRefs:o}=t;s.sort((y,w)=>y.idx-w.idx);let l=s.length,c=i.length,f=n>0,a=s.map(y=>y.refIdx),u=s.map(y=>y.setData),h=s.map(y=>y.updateData),m=[Lt,Ze],p=r.length,b=r.map(y=>y.idx&32767|(y.prevIdx&32767)<<15|(y.getVal===Ze?1:0)<<30),d=i.map(y=>y.parentRefIdx&32767|(y.isOnlyChild?1:0)<<15|((y.afterRefIdx??0)&32767)<<16),A=_e.cloneNode,E=_e.insertBefore,T=Dn.remove;class C{el;parentEl;data;children;refs;constructor(w){this.data=w}beforeRemove(){}remove(){T.call(this.el)}firstNode(){return this.el}moveBeforeDOMNode(w,v=this.parentEl){this.parentEl=v,E.call(v,this.el,w)}moveBeforeVNode(w,v){E.call(this.parentEl,this.el,w?w.el:v)}toString(){let w=document.createElement("div");return this.mount(w,null),w.innerHTML}mount(w,v){let $=A.call(e,!0);E.call(w,$,v),this.el=$,this.parentEl=w}patch(w,v){}}return f&&(C.prototype.mount=function(w,v){let $=A.call(e,!0),_=new Array(n);this.refs=_,_[0]=$;for(let x=0;x<p;x++){let S=b[x];_[S&32767]=m[S>>30&1].call(_[S>>15&32767])}if(l){let x=this.data;for(let S=0;S<l;S++)u[S].call(_[a[S]],x[S])}if(c){let x=this.children;for(let S=0;S<c;S++){let O=x[S];if(O){let P=d[S],ge=P>>16&32767,Me=ge?_[ge]:null;O.isOnlyChild=!!(P&32768),O.mount(_[P&32767],Me)}}}if(E.call(w,$,v),this.el=$,this.parentEl=w,o.length){let x=this.data,S=this.refs;for(let O of o){let P=x[O];P(S[a[O]],null)}}},C.prototype.patch=function(w,v){if(this===w)return;let $=this.refs;if(l){let _=this.data,x=w.data;for(let S=0;S<l;S++){let O=_[S],P=x[S];O!==P&&h[S].call($[a[S]],P,O)}this.data=x}if(c){let _=this.children,x=w.children;for(let S=0;S<c;S++){let O=_[S],P=x[S];if(O)P?O.patch(P,v):(v&&O.beforeRemove(),O.remove(),_[S]=void 0);else if(P){let ge=d[S],Me=ge>>16&32767,ir=Me?$[Me]:null;P.mount($[ge&32767],ir),_[S]=P}}}},C.prototype.remove=function(){if(o.length){let w=this.data,v=this.refs;for(let $ of o){let _=w[$];_(null,v[a[$]])}}T.call(this.el)}),C}function gn(e){xn.call(this,xt(e))}var hi=(e,t)=>Object.getOwnPropertyDescriptor(e,t),Mn,In,Pn,Mt;if(typeof Node<"u"){let e=Node.prototype;Mn=e.insertBefore,In=e.appendChild,Pn=e.removeChild,Mt=hi(e,"textContent").set}var fi=class{children;anchor;parentEl;isOnlyChild;constructor(e){this.children=e}mount(e,t){let n=this.children,r=document.createTextNode("");this.anchor=r,Mn.call(e,r,t);let i=n.length;if(i){let s=n[0].mount;for(let o=0;o<i;o++)s.call(n[o],e,r)}this.parentEl=e}moveBeforeDOMNode(e,t=this.parentEl){this.parentEl=t;let n=this.children;for(let r=0,i=n.length;r<i;r++)n[r].moveBeforeDOMNode(e,t);t.insertBefore(this.anchor,e)}moveBeforeVNode(e,t){if(e){let r=e.children[0];t=(r?r.firstNode():e.anchor)||null}let n=this.children;for(let r=0,i=n.length;r<i;r++)n[r].moveBeforeVNode(null,t);this.parentEl.insertBefore(this.anchor,t)}patch(e,t){if(this===e)return;let n=this.children,r=e.children;if(r.length===0&&n.length===0)return;this.children=r;let i=r[0]||n[0],{mount:s,patch:o,remove:l,beforeRemove:c,moveBeforeVNode:f,firstNode:a}=i,u=this.anchor,h=this.isOnlyChild,m=this.parentEl;if(r.length===0&&h){if(t)for(let v=0,$=n.length;v<$;v++)c.call(n[v]);Mt.call(m,""),In.call(m,u);return}let p=0,b=0,d=n[0],A=r[0],E=n.length-1,T=r.length-1,C=n[E],y=r[T],w;for(;p<=E&&b<=T;){if(d===null){d=n[++p];continue}if(C===null){C=n[--E];continue}let v=d.key,$=A.key;if(v===$){o.call(d,A,t),r[b]=d,d=n[++p],A=r[++b];continue}let _=C.key,x=y.key;if(_===x){o.call(C,y,t),r[T]=C,C=n[--E],y=r[--T];continue}if(v===x){o.call(d,y,t),r[T]=d;let O=r[T+1];f.call(d,O,u),d=n[++p],y=r[--T];continue}if(_===$){o.call(C,A,t),r[b]=C;let O=n[p];f.call(C,O,u),C=n[--E],A=r[++b];continue}w=w||di(n,p,E);let S=w[$];if(S===void 0)s.call(A,m,a.call(d)||null);else{let O=n[S];f.call(O,d,null),o.call(O,A,t),r[b]=O,n[S]=null}A=r[++b]}if(p<=E||b<=T)if(p>E){let v=r[T+1],$=v?a.call(v)||null:u;for(let _=b;_<=T;_++)s.call(r[_],m,$)}else for(let v=p;v<=E;v++){let $=n[v];$&&(t&&c.call($),l.call($))}}beforeRemove(){let e=this.children,t=e.length;if(t){let n=e[0].beforeRemove;for(let r=0;r<t;r++)n.call(e[r])}}remove(){let{parentEl:e,anchor:t}=this;if(this.isOnlyChild)Mt.call(e,"");else{let n=this.children,r=n.length;if(r){let i=n[0].remove;for(let s=0;s<r;s++)i.call(n[s])}Pn.call(e,t)}}firstNode(){let e=this.children[0];return e?e.firstNode():void 0}toString(){return this.children.map(e=>e.toString()).join("")}};function Ln(e){return new fi(e)}function di(e,t,n){let r={};for(let i=t;i<=n;i++)r[e[i].key]=i;return r}var fe,Bn;if(typeof Node<"u"){let e=Node.prototype;fe=e.insertBefore,Bn=e.removeChild}var pi=class{html;parentEl;content=[];constructor(e){this.html=e}mount(e,t){this.parentEl=e;let n=document.createElement("template");n.innerHTML=this.html,this.content=[...n.content.childNodes];for(let r of this.content)fe.call(e,r,t);if(!this.content.length){let r=document.createTextNode("");this.content.push(r),fe.call(e,r,t)}}moveBeforeDOMNode(e,t=this.parentEl){this.parentEl=t;for(let n of this.content)fe.call(t,n,e)}moveBeforeVNode(e,t){let n=e?e.content[0]:t;this.moveBeforeDOMNode(n)}patch(e){if(this===e)return;let t=e.html;if(this.html!==t){let n=this.parentEl,r=this.content[0],i=document.createElement("template");i.innerHTML=t;let s=[...i.content.childNodes];for(let o of s)fe.call(n,o,r);if(!s.length){let o=document.createTextNode("");s.push(o),fe.call(n,o,r)}this.remove(),this.content=s,this.html=e.html}}beforeRemove(){}remove(){let e=this.parentEl;for(let t of this.content)Bn.call(e,t)}firstNode(){return this.content[0]}toString(){return this.html}};function Bt(e){return new pi(e)}function mi(e){let t=Object.keys(e).length;class n{child;handlerData;handlerFns=[];parentEl;afterNode=null;constructor(i,s){this.child=i,this.handlerData=s}mount(i,s){this.parentEl=i,this.child.mount(i,s),this.afterNode=document.createTextNode(""),i.insertBefore(this.afterNode,s),this.wrapHandlerData();for(let o in e){let l=e[o],c=Sn(o);this.handlerFns[l]=c,c.setup.call(i,this.handlerData[l])}}wrapHandlerData(){for(let i=0;i<t;i++){let s=this.handlerData[i],o=s.length-2,l=s[o],c=this;s[o]=function(f,a){let u=a.target,h=c.child.firstNode(),m=c.afterNode;for(;h&&h!==m;){if(h.contains(u))return l(f,a);h=h.nextSibling}}}}moveBeforeDOMNode(i,s=this.parentEl){this.parentEl=s,this.child.moveBeforeDOMNode(i,s),s.insertBefore(this.afterNode,i)}moveBeforeVNode(i,s){i&&(s=i.firstNode()||s),this.child.moveBeforeVNode(i?i.child:null,s),this.parentEl.insertBefore(this.afterNode,s)}patch(i,s){if(this!==i){this.handlerData=i.handlerData,this.wrapHandlerData();for(let o=0;o<t;o++)this.handlerFns[o].update.call(this.parentEl,this.handlerData[o]);this.child.patch(i.child,s)}}beforeRemove(){this.child.beforeRemove()}remove(){for(let i=0;i<t;i++)this.handlerFns[i].remove.call(this.parentEl);this.child.remove(),this.afterNode.remove()}firstNode(){return this.child.firstNode()}toString(){return this.child.toString()}}return function(r,i){return new n(r,i)}}function Xe(e,t,n=null){e.mount(t,n)}function gi(e,t,n=!1){e.patch(t,n)}function bi(e,t=!1){t&&e.beforeRemove(),e.remove()}function vi(e){switch(e.__owl__.status){case k.NEW:return"new";case k.CANCELLED:return"cancelled";case k.MOUNTED:return e instanceof We?"started":"mounted";case k.DESTROYED:return"destroyed"}}function yi(e,t){let n=e.fiber;return n&&(jt(n.children),n.root=null),new et(e,t)}function wi(e){let t=e.fiber;if(t){let r=t.root;return r.locked=!0,r.setCounter(r.counter+1-jt(t.children)),r.locked=!1,t.children=[],t.childrenMap={},t.bdom=null,Z.has(t)&&(Z.delete(t),Z.delete(r),t.appliedToDom=!1,t instanceof Je&&(t.mounted=t instanceof jn?[t]:[])),t}let n=new Je(e,null);return e.willPatch.length&&n.willPatch.push(n),e.patched.length&&n.patched.push(n),n}function Ti(){throw new g("Attempted to render cancelled fiber")}function jt(e){let t=0;for(let n of e){let r=n.node;n.render=Ti,r.status===k.NEW&&r.cancel(),r.fiber=null,n.bdom?r.forceNextRender=!0:(t++,r.bdom&&(r.forceNextRender=!0)),t+=jt(n.children)}return t}var et=class{node;bdom=null;root;parent;children=[];appliedToDom=!1;deep=!1;childrenMap={};constructor(e,t){if(this.node=e,this.parent=t,t){this.deep=t.deep;let n=t.root;n.setCounter(n.counter+1),this.root=n,t.children.push(this)}else this.root=this}render(){let e=this.root.node.app.scheduler;if(e.tasks.size>1){let r=this.root.node,i=r.parent;for(;i;){if(i.fiber){let s=i.fiber.root;if(s.counter===0&&r.parentKey in i.fiber.childrenMap)i=s.node;else{e.delayedRenders.push(this);return}}r=i,i=i.parent}}let t=this.node,n=this.root;if(n){let r=U();Te(t.signalComputation),I(t.signalComputation),t.signalComputation.state=we.EXECUTED;try{this.bdom=!0,this.bdom=t.renderFn()}catch(s){pe({node:t,error:s})}finally{I(r)}let i=n.counter-1;n.counter=i,i===0&&e.flush()}}},Je=class extends et{counter=1;willPatch=[];patched=[];mounted=[];locked=!1;complete(){let e=this.node;this.locked=!0;let t,n=this.mounted;try{for(t of this.willPatch){let i=t.node;if(i.fiber===t){let s=i.component;for(let o of i.willPatch)o.call(s)}}for(t=void 0,e._patch(),this.locked=!1;t=n.pop();)if(t=t,t.appliedToDom)for(let i of t.node.mounted)i();let r=this.patched;for(;t=r.pop();)if(t=t,t.appliedToDom)for(let i of t.node.patched)i()}catch(r){for(let i of n)i.node.willUnmount=[];this.locked=!1,pe({fiber:t||this,error:r})}}setCounter(e){this.counter=e,e===0&&this.node.app.scheduler.flush()}},jn=class extends Je{target;position;afterNode=null;prepared=!1;onPrepared=null;constructor(e,t,n={}){super(e,null),this.target=t,this.position=n.position||"last-child",this.afterNode=n.afterNode??null}complete(){this.prepared=!0,this.target?this._mount():(this.appliedToDom=!0,this.onPrepared?.())}commit(e,t={}){this.target=e,this.position=t.position||"last-child",this.afterNode=t.afterNode??null,this.prepared&&this._mount()}_mount(){let e=this;try{let t=this.node;if(t.children=this.childrenMap,t.app.constructor.validateTarget(this.target),t.bdom)t.updateDom();else if(t.bdom=this.bdom,this.afterNode)Xe(t.bdom,this.target,this.afterNode);else if(this.position==="last-child"||this.target.childNodes.length===0)Xe(t.bdom,this.target);else{let r=this.target.childNodes[0];Xe(t.bdom,this.target,r)}t.fiber=null,t.status=k.MOUNTED,this.appliedToDom=!0;let n=this.mounted;for(;e=n.pop();)if(e.appliedToDom)for(let r of e.node.mounted)r()}catch(t){pe({fiber:e,error:t})}}},Oe=class extends Ne{fiber=null;component;bdom=null;componentName;forceNextRender=!1;parentKey;props;defaultProps=null;renderFn;parent;children=Object.create(null);willUpdateProps=[];propsUpdated=[];willUnmount=[];mounted=[];willPatch=[];patched=[];signalComputation;constructor(e,t,n,r,i){super(n),this.parent=r,this.parentKey=i,this.pluginManager=r?r.pluginManager:n.pluginManager,this.componentName=e.name,this.signalComputation=Be(()=>this.render(!1),!1,we.EXECUTED),this.props=t;let s=U();I(void 0),z.push(this);try{this.component=new e(this);let o={this:this.component,__owl__:this};this.renderFn=n.getTemplate(e.template).bind(this.component,o,this),this.component.setup()}finally{z.pop(),I(s)}}decorate(e,t){let n=this.component,r=this;if(this.app.dev){let i=`${this.componentName}.${t}`;return{[i](...o){return e.call(n,r,...o)}}[i]}return e.bind(n,r)}async initiateRender(e){this.fiber=e,this.mounted.length&&e.root.mounted.push(e);let t=this.component,n=U();I(void 0);try{let r=this.willStart.map(i=>i.call(t));I(n),await Promise.all(r)}catch(r){if(Pe(r)&&this.status>k.MOUNTED)return;pe({node:this,error:r});return}this.status===k.NEW&&this.fiber===e&&e.render()}async render(e){if(this.status>=k.CANCELLED)return;let t=this.fiber;if(t&&(t.root.locked||t.bdom===!0)&&(await Promise.resolve(),t=this.fiber),t){if(!t.bdom&&!Z.has(t)){e&&(t.deep=e);return}e=e||t.deep}else if(!this.bdom)return;let n=wi(this);n.deep=e,this.fiber=n,this.app.scheduler.addFiber(n),await Promise.resolve(),!(this.status>=k.CANCELLED)&&this.fiber===n&&(t||!n.parent)&&n.render()}cancel(){this._cancel(),delete this.parent.children[this.parentKey],this.app.scheduler.scheduleDestroy(this)}_cancel(){super.cancel();let e=this.children;for(let t in e)e[t]._cancel()}destroy(){let e=this.status===k.MOUNTED;this._destroy(),e&&this.bdom.remove()}_destroy(){let e=this.component;if(this.status===k.MOUNTED)for(let t of this.willUnmount)t.call(e);for(let t in this.children)this.children[t]._destroy();this.finalize(t=>pe({error:t,node:this})),Fe(this.signalComputation)}updateDom(){if(this.fiber)if(this.bdom===this.fiber.bdom)for(let e in this.children)this.children[e].updateDom();else this.bdom.patch(this.fiber.bdom,!1),this.fiber.appliedToDom=!0,this.fiber=null}firstNode(){let e=this.bdom;return e?e.firstNode():void 0}mount(e,t){let n=this.fiber.bdom;this.bdom=n,n.mount(e,t),this.status=k.MOUNTED,this.fiber.appliedToDom=!0,this.children=this.fiber.childrenMap,this.fiber=null}moveBeforeDOMNode(e,t){this.bdom.moveBeforeDOMNode(e,t)}moveBeforeVNode(e,t){this.bdom.moveBeforeVNode(e?e.bdom:null,t)}patch(){this.fiber&&this.fiber.parent&&this._patch()}_patch(){let e=!1;for(let n in this.children){e=!0;break}let t=this.fiber;this.children=t.childrenMap,this.bdom.patch(t.bdom,e),t.appliedToDom=!0,this.fiber=null}beforeRemove(){this._destroy()}remove(){this.bdom.remove()}};function H(){let e=F();if(!(e instanceof Oe))throw new g("Expected to be in a component scope");return e}var Vn;typeof window<"u"&&(Vn=window.requestAnimationFrame.bind(window));var Ni=class Fn{static requestAnimationFrame=Vn;tasks=new Set;requestAnimationFrame;frame=0;delayedRenders=[];cancelledNodes=new Set;processing=!1;constructor(){this.requestAnimationFrame=Fn.requestAnimationFrame,this.processTasks=this.processTasks.bind(this)}addFiber(t){this.tasks.add(t.root)}scheduleDestroy(t){this.cancelledNodes.add(t),this.frame===0&&(this.frame=this.requestAnimationFrame(this.processTasks))}flush(){if(this.delayedRenders.length){let t=this.delayedRenders;this.delayedRenders=[];for(let n of t)n.root&&n.node.status!==k.DESTROYED&&n.node.fiber===n&&n.render()}this.frame===0&&(this.frame=this.requestAnimationFrame(this.processTasks))}processTasks(){if(!this.processing){this.processing=!0,this.frame=0;for(let t of this.cancelledNodes)t._destroy();this.cancelledNodes.clear();for(let t of this.tasks){if(t.root!==t){this.tasks.delete(t);continue}let n=Z.has(t);if(n&&t.counter!==0){this.tasks.delete(t);continue}if(t.node.status===k.DESTROYED){this.tasks.delete(t);continue}t.counter===0&&(n||t.complete(),t.appliedToDom&&this.tasks.delete(t))}for(let t of this.tasks)t.node.status===k.DESTROYED&&this.tasks.delete(t);this.processing=!1}}},J=class{static template="";__owl__;constructor(e){this.__owl__=e}setup(){}},Ei=Object.create;function $i(e,t){return e==null||e===!1?t:e}function Si(e,t,n,r,i,s,o){n=n+"__slot_"+r;let l=e.__owl__.props.slots||{},{__render:c,__ctx:f,__scope:a}=l[r]||{},u=Ei(f||{});a&&(u[a]=s);let h=c?c(u,t,n):null;if(o){let m,p;return h?m=i?se(r,h):h:p=o(e,t,n),Pt([m,p])}return h||xe("")}function Ci(e,t){return e.key=t,e}function ki(e){let t,n;if(Array.isArray(e))t=e,n=e;else if(e instanceof Map)t=[...e.keys()],n=[...e.values()];else if(Symbol.iterator in Object(e))t=[...e],n=t;else if(e&&typeof e=="object")n=Object.values(e),t=Object.keys(e);else throw new g(`Invalid loop expression: "${e}" is not iterable`);let r=n.length;return[t,n,r,new Array(r)]}function Ai(e){let t=parseFloat(e);return isNaN(t)?e:t}function _i(e,t){for(let n=0,r=e.length;n<r;n++)if(e[n]!==t[n])return!1;return!0}var Kn=class{fn;ctx;component;node;key;constructor(e,t,n,r,i){this.fn=e,this.ctx=t,this.component=n,this.node=r,this.key=i}evaluate(){return this.fn.call(this.component,this.ctx,this.node,this.key)}toString(){return this.evaluate().toString()}};function Di(e,t){if(e==null)return t?se("default",t):se("undefined",xe(""));let n,r;return e instanceof ye?(n="string_safe",r=Bt(e)):e instanceof Kn?(n="lazy_value",r=e.evaluate()):(n="string_unsafe",r=xe(e)),se(n,r)}function xi(e){if(!e)throw new g("Ref is undefined or null");let t,n;if(e.add&&e.delete)t=e.add.bind(e),n=e.delete.bind(e);else if(e.set){t=e.set.bind(e);let r=e[ne];n=r?i=>{r.value===i&&e.set(null)}:()=>e.set(null)}else throw new g("Ref should implement either a 'set' function or 'add' and 'delete' functions");return(r,i)=>{i&&n(i),r&&t(r)}}function Oi(e,t,n){if(typeof e!="function")throw new g(`Invalid handler expression: the \`t-on\` expression should evaluate to a function, but got '${typeof e}'. Did you mean to use an arrow function? (e.g. \`t-on-click="() => expr"\`)`);e.call(t.this,n)}var bn=new WeakMap;function Ri(e,t,n){let r=bn.get(e);r||(r=new Map,bn.set(e,r));let i=r.get(t);if(i)return i.set(n),i.readonly;let s=R(n);return s.readonly=re(s),r.set(t,s),s.readonly}function Mi(e){if(typeof e!="function"||typeof e.set!="function")throw new g("Invalid t-model expression: expression should evaluate to a function with a 'set' method defined on it");return e}function Ii(e,t,n,r,i,s){let o=!n,l,c=s.length===0;r?l=(a,u)=>!0:i?l=function(a,u){for(let h in a)if(a[h]!==u[h])return!0;return Object.keys(a).length!==Object.keys(u).length}:c?l=(a,u)=>!1:l=function(a,u){for(let h of s)if(a[h]!==u[h])return!0;return!1};let f=Oe.prototype.initiateRender;return(a,u,h,m,p)=>{let b=h.children,d=b[u];o&&d&&d.component.constructor!==p&&(d=void 0);let A=h.fiber;if(d){if(l(d.props,a)||A.deep||d.forceNextRender){d.forceNextRender=!1;let E=d.willUpdateProps,T=yi(d,A);d.fiber=T;let C=A.root;d.willPatch.length&&C.willPatch.push(T),d.patched.length&&C.patched.push(T);let y;if(E.length){let w=a,v=d.defaultProps;if(v){w=Object.assign({},a);for(let x in v)w[x]===void 0&&(w[x]=v[x])}let $=d.component,_=U();I(void 0);for(let x of E){let S=x.call($,w);S&&typeof S.then=="function"&&(y||=[]).push(S)}I(_)}if(y)(y.length===1?y[0]:Promise.all(y)).then(()=>{if(T===d.fiber){d.props=a;for(let v of d.propsUpdated)v();T.render()}},v=>{pe({node:d,error:v})});else{d.props=a;for(let w of d.propsUpdated)w();T.render()}}}else{if(n){let T=m.constructor.components;if(!T)throw new g(`Cannot find the definition of component "${t}", missing static components key in parent`);if(p=T[t],p){if(!(p.prototype instanceof J))throw new g(`"${t}" is not a Component. It must inherit from the Component class`)}else throw new g(`Cannot find the definition of component "${t}"`)}d=new Oe(p,a,e,h,u),b[u]=d;let E=new et(d,A);d.willStart.length?f.call(d,E):(d.fiber=E,d.mounted.length&&E.root.mounted.push(E),E.render())}return A.childrenMap[u]=d,d}}function Pi(e,t,n,r,i,s){let o=n.getTemplate(e);return se(e,o.call(t,r,i,s+e))}var Li={withDefault:$i,zero:Symbol("zero"),callSlot:Si,withKey:Ci,prepareList:ki,shallowEqual:_i,toNumber:Ai,LazyValue:Kn,safeOutput:Di,createCatcher:mi,markRaw:Ke,OwlError:g,createRef:xi,modelExpr:Mi,createComponent:Ii,callTemplate:Pi,callHandler:Oi,toSignal:Ri},Bi={text:xe,createBlock:On,list:Ln,multi:Pt,html:Bt,toggler:se},Re=class{static registerTemplate(e,t){Qe[e]=t}dev;rawTemplates=Object.create(Qe);templates={};getRawTemplate;translateFn;translatableAttributes;customDirectives;runtimeUtils;hasGlobalValues;constructor(e={}){if(this.dev=e.dev||!1,this.translateFn=e.translateFn,this.translatableAttributes=e.translatableAttributes,e.templates)if(e.templates instanceof Document||typeof e.templates=="string")this.addTemplates(e.templates);else for(let t in e.templates)this.addTemplate(t,e.templates[t]);this.getRawTemplate=e.getTemplate,this.customDirectives=e.customDirectives||{},this.runtimeUtils={...Li,__globals__:e.globalValues||{}},this.hasGlobalValues=!!(e.globalValues&&Object.keys(e.globalValues).length)}addTemplate(e,t){if(e in this.rawTemplates){if(!this.dev)return;let n=this.rawTemplates[e];if(ji(n,t))return;throw new g(`Template ${e} already defined with different content`)}this.rawTemplates[e]=t}addTemplates(e){if(e){e=e instanceof Document?e:this._parseXML(e);for(let t of e.querySelectorAll("[t-name]")){let n=t.getAttribute("t-name");this.addTemplate(n,t)}}}getTemplate(e){let t=e;if(!(t in this.templates)){let n=this.getRawTemplate?.(e)||this.rawTemplates[e];if(n===void 0){let l="",c=ie();throw c instanceof Oe&&(l=` (for component "${c.componentName}")`),new g(`Missing template: "${e}"${l}`)}let i=typeof n=="function"&&!(n instanceof Element)?n:this._compileTemplate(e,n),s=this.templates;this.templates[t]=function(l,c){return s[t].call(this,l,c)};let o=i(this,Bi,this.runtimeUtils);this.templates[t]=o}return this.templates[t]}_compileTemplate(e,t){throw new g("Unable to compile a template. Please use owl full build instead")}_parseXML(e){throw new g("Unable to parse XML templates. Please use owl full build instead, or pass a Document instance.")}},Qe={};function Q(...e){let t=`__template__${Q.nextId++}`,n=String.raw(...e);return Qe[t]=n,t}Q.nextId=1;function ji(e,t){if(e===t)return!0;if(typeof e=="function"!=(typeof t=="function"))return!1;let n=e instanceof Element?e.outerHTML:String(e),r=t instanceof Element?t.outerHTML:String(t);return n===r}var vn=!1,Ye=new Set;typeof window<"u"&&(window.__OWL_DEVTOOLS__||={apps:Ye,Fiber:et,RootFiber:Je,toRaw:X,proxy:Ee});var Vt=class Wn extends Re{static validateTarget=Xr;static apps=Ye;static version=Fr;name;scheduler=new Ni;roots=new Set;pluginManager;destroyed=!1;constructor(t={}){super(t),this.name=t.name||"",Ye.add(this),this.pluginManager=new he(this,{config:t.config}),t.plugins?Ue(this.pluginManager,t.plugins):this.pluginManager.status=k.MOUNTED,t.test&&(this.dev=!0),this.dev&&!t.test&&!vn&&(console.info("Owl is running in 'dev' mode."),vn=!0)}createRoot(t,n={}){let r=n.props||{},i,s,o=new Promise((p,b)=>{i=p,s=b}),l,c=null;try{l=new Oe(t,r,this,null,null)}catch(p){c=p,s(p)}let f=null,a=null,u=()=>{if(a)return a;if(c)return Promise.reject(c);f=new jn(l,null);let p=oe.get(l);if(p||(p=[],oe.set(l,p)),p.unshift((d,A)=>{let E=A();s(E)}),a=new Promise(d=>{f.onPrepared=()=>d()}),l.mounted.push(()=>{i(l.component),p.shift()}),this.scheduler.addFiber(f),this.pluginManager.status<k.MOUNTED&&l.willStart.unshift(()=>this.pluginManager.ready),l.willStart.length)l.initiateRender(f);else{l.fiber=f,l.mounted.length&&f.root.mounted.push(f);try{f.render()}catch(d){s(d)}}return a},m={node:l,promise:o,prepare:u,mount:(p,b)=>(c||(Wn.validateTarget(p),u(),f.commit(p,b)),o),destroy:()=>{this.roots.delete(m),l?.destroy(),this.scheduler.processTasks()}};return this.roots.add(m),m}destroy(){for(let t of this.roots)t.destroy();this.pluginManager.destroy(),this.scheduler.processTasks(),Ye.delete(this),this.destroyed=!0}_handleError(t){throw t}};async function Vi(e,t,n={}){return new Vt(n).createRoot(e,n).mount(t,n)}var Fi=(e,t,n)=>{let{data:r,modifiers:i}=Tn(e);e=r;let s=!1;if(i.length){let o=!1,l=t.target===n;for(let c of i)switch(c){case"self":if(o=!0,l)continue;return s;case"prevent":(o&&l||!o)&&t.preventDefault();continue;case"stop":(o&&l||!o)&&t.stopPropagation(),s=!0;continue}}if(Object.hasOwnProperty.call(e,0)){let o=e[0];if(typeof o!="function")throw new g(`Invalid handler (expected a function, received: '${o}')`);let l=e[1]?e[1].__owl__:null;(!l||l.status===k.MOUNTED)&&o(e[1],t)}return s};function Ki(e){let t=H();function n(r,i){return e.call(this,i,r)}t.willUpdateProps.push(t.decorate(n,"onWillUpdateProps"))}function Un(e){let t=H();t.mounted.push(t.decorate(e,"onMounted"))}function Wi(e){let t=H();t.willPatch.unshift(t.decorate(e,"onWillPatch"))}function Ui(e){let t=H();t.patched.push(t.decorate(e,"onPatched"))}function zi(e){let t=H();t.willUnmount.unshift(t.decorate(e,"onWillUnmount"))}function zn(e){let t=H(),n=oe.get(t);n||(n=[],oe.set(t,n)),n.push(e.bind(t.component))}function Hi(e,t,...n){let r=H(),i=n.length>0,s=r.props[e];return r.app.dev&&(t!==void 0&&(!i||s!==void 0)&&K(s,t,`Invalid prop '${e}' in '${r.componentName}'`),r.willUpdateProps.push(o=>{if(o[e]!==r.props[e])throw new g(`Prop '${e}' changed in component '${r.componentName}'. Props declared with \`props.static()\` are static and should not change. If the prop is a signal, pass the same signal reference (its inner value may change).`)})),s===void 0&&i?n[0]:s}function Gi(){return bt(J)}var B={...wt,component:Gi};function qi(e){let t={};if(Array.isArray(e))for(let n of e)n.endsWith("?")&&(t[n]=B.any());else for(let n in e)n.endsWith("?")&&(t[n]=e[n]);return B.strictObject(t)}function Xi(e,t){let n=H(),{app:r,componentName:i}=n;t&&(n.defaultProps=Object.assign(n.defaultProps||{},t));function s(u,h){return u[h]===void 0&&t?t[h]:u[h]}let o=Object.create(null),l=Object.create(null);function c(u){o[u]=R(s(n.props,u)),Reflect.defineProperty(l,u,{enumerable:!0,configurable:!0,get:o[u]})}function f(u){for(let h of u)c(h)}function a(u){for(let h of u)o[h].set(s(n.props,h))}if(e){let u=(Array.isArray(e)?e:Object.keys(e)).map(h=>h.endsWith("?")?h.slice(0,-1):h);if(f(u),n.propsUpdated.push(()=>a(u)),r.dev){t&&K(t,qi(e),`Invalid component default props (${i})`);let h=B.object(e);K(n.props,h,`Invalid component props (${i})`),n.willUpdateProps.push(m=>{K(m,h,`Invalid component props (${i})`)})}}else{let u=m=>{let p=[];for(let b in m)b.charCodeAt(0)!==1&&p.push(b);if(t)for(let b in t)b in m||p.push(b);return p},h=u(n.props);f(h),n.propsUpdated.push(()=>{let m=u(n.props),p=new Set(m);for(let b of h)p.has(b)||(Reflect.deleteProperty(l,b),delete o[b]);for(let b of m)b in o||c(b);a(m),h=m})}return l}var tt=Object.assign(Xi,{static:Hi}),Yi=class extends J{static template=Q`
1
+ "use strict";var owl=(()=>{var ct=Object.defineProperty;var pr=Object.getOwnPropertyDescriptor;var mr=Object.getOwnPropertyNames;var gr=Object.prototype.hasOwnProperty;var br=(e,t)=>{for(var n in t)ct(e,n,{get:t[n],enumerable:!0})},vr=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of mr(t))!gr.call(e,i)&&i!==n&&ct(e,i,{get:()=>t[i],enumerable:!(r=pr(t,i))||r.enumerable});return e};var yr=e=>vr(ct({},"__esModule",{value:!0}),e);var io={};br(io,{App:()=>zt,Component:()=>Q,ErrorBoundary:()=>ls,EventBus:()=>bn,OwlError:()=>g,Plugin:()=>He,Portal:()=>us,Registry:()=>fn,Resource:()=>hn,Scope:()=>Se,Suspense:()=>ds,TemplateSet:()=>Ie,__info__:()=>gs,applyDefaults:()=>an,assertType:()=>W,asyncComputed:()=>rn,batched:()=>gt,blockDom:()=>ms,computed:()=>ie,config:()=>gn,effect:()=>ke,getDefault:()=>oe,getScope:()=>se,globalTemplates:()=>nt,htmlEscape:()=>Ct,markRaw:()=>Ue,markup:()=>Te,mount:()=>Ji,onError:()=>er,onMounted:()=>Qn,onPatched:()=>ns,onWillDestroy:()=>Z,onWillPatch:()=>ts,onWillStart:()=>qe,onWillUnmount:()=>rs,onWillUpdateProps:()=>es,plugin:()=>mn,props:()=>it,providePlugins:()=>ps,proxy:()=>Ce,signal:()=>O,status:()=>_i,t:()=>j,toRaw:()=>Y,types:()=>j,untrack:()=>vt,useApp:()=>as,useEffect:()=>Ae,useListener:()=>dn,useScope:()=>K,validateType:()=>wt,whenReady:()=>ai,xml:()=>ee});var g=class extends Error{cause},k={NEW:0,MOUNTED:1,CANCELLED:2,DESTROYED:3};function gt(e){let t=!1;return function(...r){t||(t=!0,Promise.resolve().then(()=>{t=!1,e(...r)}))}}var Ee=(e=>(e[e.EXECUTED=0]="EXECUTED",e[e.STALE=1]="STALE",e[e.PENDING=2]="PENDING",e))(Ee||{}),re=Symbol("Atom"),Le=[],V;function Ve(e,t,n=1){return{state:n,value:void 0,compute:e,sources:new Set,observers:new Set,isDerived:t}}function bt(e){V&&(V.sources.add(e),e.observers.add(V))}function Fe(e){for(let t of e.observers)t.state===0&&(t.isDerived?Nr(t):Le.push(t)),t.state=1;wr()}var wr=gt(Tr);function Tr(){let e=Le;Le=[];for(let t=0;t<e.length;t++)Ke(e[t])}function z(){return V}function P(e){V=e}function Ke(e){let t=e.state;if(t===0)return;if(t===2){for(let r of e.sources)if("compute"in r&&(Ke(r),e.state===1))break;if(e.state!==1){e.state=0;return}}$e(e);let n=V;V=e;try{e.value=e.compute(),e.state=0}finally{V=n}}function $e(e){let t=e.sources;for(let n of t)n.observers.delete(e);t.clear()}function We(e){let t=e.sources;for(let n of t){n.observers.delete(e);let r=n;r.isDerived&&r.observers.size===0&&We(r)}t.clear(),e.state=1}function Nr(e){let t=[e],n;for(;n=t.pop();)for(let r of n.observers)r.state||(r.state=2,r.isDerived?t.push(r):Le.push(r))}function vt(e){let t=V;V=void 0;let n;try{n=e()}finally{V=t}return n}var H=[];function K(){let e=se();if(!e)throw new g("No active scope");return e}var Se=class{app;pluginManager;status=k.NEW;computations=[];willStart=[];_controller=null;_destroyCbs=null;constructor(e){this.app=e,this.pluginManager=e.pluginManager}run(e){H.push(this);try{return e()}finally{H.pop()}}get abortSignal(){return this.status>k.MOUNTED?(this._controller||(this._controller=new AbortController,this._controller.abort()),this._controller.signal):(this._controller??=new AbortController).signal}async until(e){if(this.status>k.MOUNTED)throw Zt();let t=await e;if(this.status>k.MOUNTED)throw Zt();return t}onDestroy(e){if(this.status>=k.DESTROYED){e();return}(this._destroyCbs??=[]).push(e)}cancel(){this.status>k.MOUNTED||(this.status=k.CANCELLED,this._controller?.abort())}finalize(e){if(this.status>=k.DESTROYED)return;this._controller&&!this._controller.signal.aborted&&this._controller.abort();let t=this._destroyCbs;if(t){this._destroyCbs=null;for(let n=t.length-1;n>=0;n--)try{t[n]()}catch(r){e(r)}}for(let n of this.computations)We(n);this.status=k.DESTROYED}decorate(e,t){return e.bind(void 0,this)}};function se(){let e=H.length;return e?H[e-1]:null}function Be(e){return typeof e=="object"&&e!==null&&e.name==="AbortError"}function Zt(){let e=new Error("The operation was aborted");return e.name="AbortError",e}var U=Symbol("Key changes"),Er=Object.prototype.toString,ft=Object.prototype.hasOwnProperty;function yt(e){if(typeof e!="object"||e===null)return!1;let t=Y(e);return Array.isArray(t)||t instanceof Set||t instanceof Map||t instanceof WeakMap?!0:Er.call(t)==="[object Object]"}function fe(e,t){return!t&&yt(e)?Ce(e):e}var tn=new WeakSet;function Ue(e){return tn.add(e),e}function Y(e){return je.has(e)?je.get(e):e}var ht=new WeakMap;function $r(e,t){let n=ht.get(e);n||(n=new Map,ht.set(e,n));let r=n.get(t);return r||(r={value:void 0,observers:new Set},n.set(t,r)),r}function F(e,t,n){bt(n??$r(e,t))}function X(e,t,n){if(!n){let r=ht.get(e);if(!r||!r.has(t))return;n=r.get(t)}Fe(n)}var je=new WeakMap,Jt=new WeakMap;function he(e,t){if(!yt(e))throw new g("Cannot make the given value reactive");if(tn.has(e)||je.has(e))return e;let n=Jt.get(e);if(n)return n;let r;e instanceof Map?r=ut(e,"Map",t):e instanceof Set?r=ut(e,"Set",t):e instanceof WeakMap?r=ut(e,"WeakMap",t):r=nn(t);let i=new Proxy(e,r);return Jt.set(e,i),je.set(i,e),i}function Ce(e){return he(e,null)}function nn(e){return{get(t,n,r){F(t,n,e);let i=Reflect.get(t,n,r);if(e||typeof i!="object"||i===null||!yt(i))return i;let s=Object.getOwnPropertyDescriptor(t,n);return s&&!s.writable&&!s.configurable?i:he(i,null)},set(t,n,r,i){let s=ft.call(t,n),o=Reflect.get(t,n,i),l=Reflect.set(t,n,Y(r),i);return!s&&ft.call(t,n)&&X(t,U,e),(o!==Reflect.get(t,n,i)||n==="length"&&Array.isArray(t))&&X(t,n,e),l},deleteProperty(t,n){let r=Reflect.deleteProperty(t,n);return X(t,U,e),X(t,n,e),r},ownKeys(t){return F(t,U,e),Reflect.ownKeys(t)},has(t,n){return F(t,U,e),Reflect.has(t,n)}}}function we(e,t,n){return r=>(r=Y(r),F(t,r,n),fe(t[e](r),n))}function q(e,t,n){return function*(){F(t,U,n);let r=t.keys();for(let i of t[e]()){let s=r.next().value;F(t,s,n),yield fe(i,n)}}}function Qt(e,t){return function(r,i){F(e,U,t),e.forEach(function(s,o,l){F(e,o,t),r.call(i,fe(s,t),fe(o,t),fe(l,t))},i)}}function ue(e,t,n,r){return(i,s)=>{i=Y(i);let o=n.has(i),l=n[t](i),c=n[e](i,s),h=n.has(i);return o!==h&&X(n,U,r),l!==n[t](i)&&X(n,i,r),c}}function en(e,t){return()=>{let n=[...e.keys()];e.clear(),X(e,U,t);for(let r of n)X(e,r,t)}}var Sr={Set:(e,t)=>({has:we("has",e,t),add:ue("add","has",e,t),delete:ue("delete","has",e,t),keys:q("keys",e,t),values:q("values",e,t),entries:q("entries",e,t),[Symbol.iterator]:q(Symbol.iterator,e,t),forEach:Qt(e,t),clear:en(e,t),get size(){return F(e,U,t),e.size}}),Map:(e,t)=>({has:we("has",e,t),get:we("get",e,t),set:ue("set","get",e,t),delete:ue("delete","has",e,t),keys:q("keys",e,t),values:q("values",e,t),entries:q("entries",e,t),[Symbol.iterator]:q(Symbol.iterator,e,t),forEach:Qt(e,t),clear:en(e,t),get size(){return F(e,U,t),e.size}}),WeakMap:(e,t)=>({has:we("has",e,t),get:we("get",e,t),set:ue("set","get",e,t),delete:ue("delete","has",e,t)})};function ut(e,t,n){let r=Sr[t](e,n);return Object.assign(nn(n),{get(i,s){return ft.call(r,s)?r[s]:(F(i,s,n),fe(i[s],n))}})}function de(e,t){let n={type:"signal",value:e,observers:new Set},r=t(n),i=()=>(bt(n),r);return i[re]=n,i.set=function(o){Object.is(n.value,o)||(n.value=o,r=t(n),Fe(n))},i}function Cr(e){if(typeof e!="function"||e[re]?.type!=="signal")throw new g(`Value is not a signal (${e})`);Fe(e[re])}function kr(){return de(null,e=>e.value)}function Ar(e){return de(e,t=>he(t.value,t))}function Dr(e){return de(e,t=>he(t.value,t))}function _r(e){return de(e,t=>he(t.value,t))}function xr(e){return de(e,t=>he(t.value,t))}function O(e){return de(e,t=>t.value)}O.trigger=Cr;O.ref=kr;O.Array=Ar;O.Map=_r;O.Object=Dr;O.Set=xr;function Or(){throw new g("Cannot write to a read-only computed value. Pass a `set` option to make it writable.")}function ie(e,t={}){let n=Ve(()=>{let i=e();return Object.is(n.value,i)||Fe(n),i},!0);function r(){return n.state!==0&&Ke(n),bt(n),n.value}return r[re]=n,r.set=t.set??Or,se()?.computations.push(n),r}function ke(e){let t=Ve(()=>(t.value||t.observers.size?(P(void 0),dt(t),P(t)):$e(t),e()),!1);return z()?.observers.add(t),Ke(t),function(){t.state=0;let r=z();P(void 0),dt(t),P(r)}}function dt(e){$e(e),Rr(e);for(let t of e.observers)t.state=0,dt(t);e.observers.clear()}function Rr(e){let t=e.value;t&&typeof t=="function"&&(t(),e.value=void 0)}function rn(e,t={}){let n=O(t.initial),r=O(!1),i=O(null),s=O(0),o=se(),l=0,c=null,h=ke(()=>{s();let f=++l;c&&c.abort();let m=new AbortController;c=m;let p=[m.signal];o?.abortSignal&&p.push(o.abortSignal),r.set(!0),i.set(null);let b;try{b=e({abortSignal:AbortSignal.any(p)})}catch(d){if(f!==l)return;if(Be(d)){r.set(!1);return}i.set(d),r.set(!1);return}b.then(d=>{f===l&&(n.set(d),r.set(!1))},d=>{if(f===l){if(Be(d)){r.set(!1);return}i.set(d),r.set(!1)}})});function a(){h(),c?.abort(),c=null}o?.onDestroy(a);let u=(()=>n());return u.loading=()=>r(),u.error=()=>i(),u.refresh=()=>s.set(s()+1),u.dispose=a,u}function Mr(e,t,n){if(typeof n=="function")return n.name||"[Function]";if(n&&typeof n=="object"){let r=n.constructor;if(r&&r!==Object&&r!==Array)return`[Instance of ${r.name||"anonymous"}]`;if(e.includes(n))return"[Known object]";e.push(n)}return n}function W(e,t,n="Value does not match the type"){let r=wt(e,t);if(r.length){let i=[],s=JSON.stringify(r,Mr.bind(null,i),2);throw new g(`${n}
2
+ ${s}`)}}function pt(e,t,n,r){return{issueDepth:0,path:n,value:t,get isValid(){return!e.length},addIssue(i){e.push({received:this.value,path:this.path.join(" > "),...i})},mergeIssues(i){e.push(...i)},validate(i){i(this),!this.isValid&&r&&(r.issueDepth=this.issueDepth+1)},withIssues(i){return pt(i,this.value,this.path,this)},withKey(i){return pt(e,this.value[i],this.path.concat(i),this)}}}function wt(e,t){let n=[];return t(pt(n,e,[])),n}var Tt=Symbol("default"),sn=Symbol("innerType"),ze=Symbol("shape"),on=Symbol("elementType"),ln=Symbol("optional");function oe(e){return typeof e=="function"?e[Tt]:void 0}function Ir(e,t){let n=function(i){i.value!==void 0&&i.validate(e)};return n[ln]=!0,n[sn]=e,t!==void 0&&(n[Tt]=typeof t=="function"?t:()=>t),n}function Pr(e){return typeof e=="function"&&ln in e}function M(e){return e.optional=t=>Ir(e,t),e}function an(e,t){return mt(e,t)}function mt(e,t){if(typeof t!="function")return e;if(e===void 0){let o=t[Tt];if(!o)return e;e=o()}let n=t[sn]||t;if(typeof n!="function"||!e||typeof e!="object")return e;let r=n[on];if(r&&Array.isArray(e)){let o=e;for(let l=0;l<e.length;l++){let c=mt(e[l],r);c!==e[l]&&(o===e&&(o=[...e]),o[l]=c)}return o}let i=n[ze];if(!i)return e;let s=e;for(let o in i){let l=s[o],c=mt(l,i[o]);c!==l&&(s===e&&(s=Array.isArray(e)?[...e]:{...e}),s[o]=c)}return s}function Lr(){return M(function(){})}function Br(){return M(function(t){typeof t.value!="boolean"&&t.addIssue({message:"value is not a boolean"})})}function jr(){return M(function(t){typeof t.value!="number"&&t.addIssue({message:"value is not a number"})})}function Vr(){return M(function(t){typeof t.value!="string"&&!(t.value instanceof String)&&t.addIssue({message:"value is not a string"})})}function Fr(e){let t=M(function(r){if(!Array.isArray(r.value)){r.addIssue({message:"value is not an array"});return}if(e)for(let i=0;i<r.value.length;i++)r.withKey(i).validate(e)});return e&&(t[on]=e),t}function Nt(e){return M(function(n){(typeof n.value!="function"||!(n.value===e||n.value.prototype instanceof e))&&n.addIssue({message:`value is not '${e.name}' or an extension`})})}function Kr(e,t,n="value does not match custom validation"){return M(function(i){i.validate(e),i.isValid&&(t(i.value)||i.addIssue({message:n}))})}function Wr(e=[],t=void 0){return M(function(r){typeof r.value!="function"&&r.addIssue({message:"value is not a function"})})}function cn(e){return M(function(n){n.value instanceof e||n.addIssue({message:`value is not an instance of '${e.name}'`})})}function Ur(e){return M(function(n){for(let r of e)n.validate(r)})}function Et(e){return M(function(n){n.value!==e&&n.addIssue({message:`value is not equal to ${typeof e=="string"?`'${e}'`:e}`})})}function zr(e){return $t(e.map(Et))}function un(e,t,n){if(typeof e.value!="object"||Array.isArray(e.value)||e.value===null){e.addIssue({message:"value is not an object"});return}if(!t)return;let r=!Array.isArray(t),i,s;if(r)s=Object.keys(t),i=t;else{s=t,i={};for(let l of s)i[l]=null}let o=[];for(let l of s){if(e.value[l]===void 0){Pr(i[l])||o.push(l);continue}r&&e.withKey(l).validate(i[l])}if(o.length&&e.addIssue({message:"object value has missing keys",missingKeys:o,expectedKeys:s}),n){let l=[];for(let c in e.value)s.includes(c)||l.push(c);l.length&&e.addIssue({message:"object value has unknown keys",unknownKeys:l,expectedKeys:s})}}function Hr(e={}){let t=M(function(r){un(r,e,!1)});return Array.isArray(e)||(t[ze]=e),t}function Gr(e){let t=M(function(r){un(r,e,!0)});return Array.isArray(e)||(t[ze]=e),t}function qr(e){return M(function(n){n.value instanceof Promise||n.addIssue({message:"value is not a promise"})})}function Xr(e){return M(function(n){if(typeof n.value!="object"||Array.isArray(n.value)||n.value===null){n.addIssue({message:"value is not an object"});return}if(e)for(let r in n.value)n.withKey(r).validate(e)})}function Yr(e){let t=M(function(r){if(!Array.isArray(r.value)){r.addIssue({message:"value is not an array"});return}if(r.value.length!==e.length){r.addIssue({message:"tuple value does not have the correct length"});return}for(let i=0;i<e.length;i++)r.withKey(i).validate(e[i])});return t[ze]=e,t}function $t(e){return M(function(n){let r=0,i=[];for(let s of e){let o=n.withIssues(i);if(o.validate(s),i.length===r||o.issueDepth>0){n.mergeIssues(i.slice(r));return}r=i.length}n.addIssue({message:"value does not match union type",subIssues:i})})}function Zr(e){return M(function(n){(typeof n.value!="function"||!n.value[re])&&n.addIssue({message:"value is not a reactive value"})})}function Jr(e){if(typeof HTMLElement>"u")throw new Error("Cannot use ref in a non-DOM environment");return $t([Et(null),cn(e||HTMLElement)])}var St={and:Ur,any:Lr,array:Fr,boolean:Br,constructor:Nt,customValidator:Kr,function:Wr,instanceOf:cn,literal:Et,number:jr,object:Hr,or:$t,promise:qr,record:Xr,ref:Jr,selection:zr,signal:Zr,strictObject:Gr,string:Vr,tuple:Yr},fn=class{_map=O.Object(Object.create(null));_name;_validation;constructor(e={}){this._name=e.name||"registry",this._validation=e.validation}entries=ie(()=>Object.entries(this._map()).sort((t,n)=>t[1][0]-n[1][0]).map(([t,n])=>[t,n[1]]));items=ie(()=>this.entries().map(e=>e[1]));addById(e,t={}){if(!e.id)throw new g(`Item should have an id key (registry '${this._name}')`);return this.add(e.id,e,t)}add(e,t,n={}){if(!n.force&&e in this._map())throw new g(`Key "${e}" is already registered (registry '${this._name}'). Use { force: true } to overwrite.`);if(this._validation){let r=this._name?` (registry '${this._name}', key: '${e}')`:` (key: '${e}')`;W(t,this._validation,`Registry entry does not match the type${r}`)}return this._map()[e]=[n.sequence??50,t],this}get(e,t){let n=e in this._map();if(!n&&arguments.length<2)throw new g(`Cannot find key "${e}" (registry '${this._name}')`);return n?this._map()[e][1]:t}delete(e){delete this._map()[e]}has(e){return e in this._map()}use(e,t,n={}){let r=K();return this.add(e,t,n),r.onDestroy(()=>{this._map()[e]?.[1]===t&&this.delete(e)}),this}useById(e,t={}){if(!e.id)throw new g(`Item should have an id key (registry '${this._name}')`);return this.use(e.id,e,t)}},hn=class{_items=O.Array([]);_name;_validation;constructor(e={}){this._name=e.name,this._validation=e.validation}items=ie(()=>this._items().sort((e,t)=>e[0]-t[0]).map(e=>e[1]));add(e,t={}){if(this._validation){let n=this._name?` (resource '${this._name}')`:"";W(e,this._validation,`Resource item does not match the type${n}`)}return this._items().push([t.sequence??50,e]),this}delete(e){let t=this._items().filter(([n,r])=>r!==e);return this._items.set(t),this}has(e){return this._items().some(([t,n])=>n===e)}use(e,t={}){let n=K();return this.add(e,t),n.onDestroy(()=>this.delete(e)),this}},He=class{static _shadowId;static get id(){return this._shadowId??this.name}static set id(e){this._shadowId=e}static sequence=50;__owl__;constructor(e){this.__owl__=e}setup(){}},pe=class extends Se{config;plugins;ready=Promise.resolve();hasPendingReady=!1;constructor(e,t={}){if(super(e),this.config=t.config??{},this.pluginManager=this,t.parent){let n=t.parent;n.onDestroy(()=>this.destroy()),this.plugins=Object.create(n.plugins)}else this.plugins={}}destroy(){this.finalize(e=>console.error(e))}getPluginById(e){return this.plugins[e]||null}getPlugin(e){return this.getPluginById(e.id)}startPlugin(e){if(!e.id)throw new g(`Plugin "${e.name}" has no id`);if(this.plugins.hasOwnProperty(e.id)){let n=this.getPluginById(e.id).constructor;if(n!==e)throw new g(`Trying to start a plugin with the same id as an other plugin (id: '${e.id}', existing plugin: '${n.name}', starting plugin: '${e.name}')`);return null}let t=new e(this);return this.plugins[e.id]=t,t.setup(),t}startPlugins(e){let t=e.filter(o=>!o.id||this.plugins.hasOwnProperty(o.id)?(this.startPlugin(o),!1):!0);if(!t.length)return;t.sort((o,l)=>o.sequence-l.sequence);let n=[];for(let o of t){let l=n[n.length-1];l&&l[0].sequence===o.sequence?l.push(o):n.push([o])}let r=o=>{H.push(this);try{for(let c of o)this.startPlugin(c)}finally{H.pop()}let l=this.willStart.splice(0);return l.length?Promise.all(l.map(c=>c())):null},i=this.hasPendingReady?this.ready:null;for(let o of n)i?i=i.then(()=>r(o)):i=r(o);if(!i){this.status<k.MOUNTED&&(this.status=k.MOUNTED);return}this.hasPendingReady=!0;let s=this.ready=i.then(()=>{this.status<k.MOUNTED&&(this.status=k.MOUNTED),this.ready===s&&(this.hasPendingReady=!1)})}};function Ge(e,t){Array.isArray(t)?e.startPlugins(t):e.onDestroy(ke(()=>{let n=t.items();vt(()=>e.startPlugins(n))}))}function qe(e){let t=K();t.willStart.push(t.decorate(e,"onWillStart"))}function Z(e){let t=K();t.onDestroy(t.decorate(e,"onWillDestroy"))}function Ae(e){Z(ke(e))}function dn(e,t,n,r){typeof e=="function"?Ae(()=>{let i=e();if(i)return i.addEventListener(t,n,r),()=>i.removeEventListener(t,n,r)}):(e.addEventListener(t,n,r),Z(()=>e.removeEventListener(t,n,r)))}function pn(){return K().app}function mn(e){let t=K(),n=t.pluginManager.getPluginById(e.id);if(!n)if(t instanceof pe)n=t.pluginManager.startPlugin(e);else throw new g(`Unknown plugin "${e.id}"`);return n}function gn(e,t){let n=K();if(!(n instanceof pe))throw new g("Expected to be in a plugin scope");n.app.dev&&t&&W(n.config,St.object({[e]:t}),"Config does not match the type");let r=n.config[e];return r===void 0?oe(t)?.():r}var bn=class extends EventTarget{trigger(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t}))}},Ne=class extends String{};function Ct(e){return e instanceof Ne?e:e===void 0?Te(""):typeof e=="number"?Te(String(e)):([["&","&amp;"],["<","&lt;"],[">","&gt;"],["'","&#x27;"],['"',"&quot;"],["`","&#x60;"]].forEach(t=>{e=String(e).replace(new RegExp(t[0],"g"),t[1])}),Te(e))}function Te(e,...t){if(!Array.isArray(e))return new Ne(e);let n=e,r="",i=0;for(;i<t.length;++i)r+=n[i]+Ct(t[i]);return r+=n[i],new Ne(r)}var Qr="3.0.0-alpha.36",J=new WeakMap,ae=new WeakMap;function An(e,t,n,r){for(;e;){r&&e.fiber&&J.set(e.fiber,t);let i=ae.get(e);if(i)for(let s=i.length-1;s>=0;s--)try{return i[s](t,n),{handled:!0,error:t}}catch(o){t=o}e=e.parent}return{handled:!1,error:t}}function Dn(e){return(t,n)=>{if(e.app.destroyed)throw t;let{handled:r}=An(e,t,n,!1);r||e.app._handleError(n())}}function be(e){let{error:t}=e,n="node"in e?e.node:e.fiber.node,r="fiber"in e?e.fiber:n.fiber,i=n.app;if(i.destroyed)throw t;if(r){let l=r;do l.node.fiber=l,J.set(l,t),l=l.parent;while(l);J.set(r.root,t)}let s=()=>{try{i.destroy()}catch{}return t},o=An(n,t,s,!0);o.handled||(t=o.error,i._handleError(s()))}function _n(e){e=e.slice();let t=[],n;for(;(n=e[0])&&typeof n=="string";)t.push(e.shift());return{modifiers:t,data:e}}var ve={shouldNormalizeDom:!0,mainEventHandler:(e,t,n)=>(typeof e=="function"?e(t):Array.isArray(e)&&(e=_n(e).data,e[0](e[1],t)),!1)},vn=document.createTextNode(""),ei=class{key;child;parentEl;constructor(e,t){this.key=e,this.child=t}mount(e,t){this.parentEl=e,this.child.mount(e,t)}moveBeforeDOMNode(e,t){this.child.moveBeforeDOMNode(e,t)}moveBeforeVNode(e,t){this.moveBeforeDOMNode(e&&e.firstNode()||t)}patch(e,t){if(this===e)return;let n=this.child,r=e.child;if(this.key===e.key)n.patch(r,t);else{let i=n.firstNode();i.parentElement.insertBefore(vn,i),t&&n.beforeRemove(),n.remove(),r.mount(this.parentEl,vn),this.child=r,this.key=e.key}}beforeRemove(){this.child.beforeRemove()}remove(){this.child.remove()}firstNode(){return this.child.firstNode()}toString(){return this.child.toString()}};function le(e,t){return new ei(e,t)}var _t,Oe,Vt,xn;if(typeof Element<"u"){({setAttribute:_t,removeAttribute:Oe}=Element.prototype);let e=DOMTokenList.prototype;Vt=e.add,xn=e.remove}var On=Array.isArray,{split:yn,trim:_e}=String.prototype,wn=/\s+/;function ge(e,t){switch(t){case!1:case null:case void 0:Oe.call(this,e);break;case!0:_t.call(this,e,"");break;default:_t.call(this,e,t)}}function ti(e){return function(t){ge.call(this,e,t)}}function ni(e){if(On(e))e[0]==="class"?Rt.call(this,e[1]):e[0]==="style"?Mt.call(this,e[1]):ge.call(this,e[0],e[1]);else for(let t in e)t==="class"?Rt.call(this,e[t]):t==="style"?Mt.call(this,e[t]):ge.call(this,t,e[t])}function ri(e,t){if(On(e)){let n=e[0],r=e[1];if(n===t[0]){if(r===t[1])return;n==="class"?Xe.call(this,r,t[1]):n==="style"?Ye.call(this,r,t[1]):ge.call(this,n,r)}else Oe.call(this,t[0]),ge.call(this,n,r)}else{for(let n in t)n in e||(n==="class"?Xe.call(this,"",t[n]):n==="style"?Ye.call(this,"",t[n]):Oe.call(this,n));for(let n in e){let r=e[n];r!==t[n]&&(n==="class"?Xe.call(this,r,t[n]):n==="style"?Ye.call(this,r,t[n]):ge.call(this,n,r))}}}function xt(e){let t={};switch(typeof e){case"string":let n=_e.call(e);if(!n)return{};let r=yn.call(n,wn);for(let i=0,s=r.length;i<s;i++)t[r[i]]=!0;return t;case"object":for(let i in e){let s=e[i];if(s){if(i=_e.call(i),!i)continue;let o=yn.call(i,wn);for(let l of o)t[l]=s}}return t;case"undefined":return{};case"number":return{[e]:!0};default:return{[e]:!0}}}var kt={};function ii(e){if(e in kt)return kt[e];let t=e.replace(/[A-Z]/g,n=>"-"+n.toLowerCase());return kt[e]=t,t}var Tn=/\s*!\s*important\s*$/i;function Rn(e,t,n){Tn.test(n)?e.setProperty(t,n.replace(Tn,""),"important"):e.setProperty(t,n)}function Ot(e){let t={};switch(typeof e){case"string":{let n=e,r=n.length,i=0;for(;i<r;){let s=i,o=0,l=0;for(;i<r;){let f=n.charCodeAt(i);if(l){if(f===92){i+=2;continue}f===l&&(l=0)}else if(f===34||f===39)l=f;else if(f===40)o++;else if(f===41)o>0&&o--;else if(f===59&&o===0)break;i++}let c=_e.call(n.slice(s,i));if(i++,!c)continue;let h=c.indexOf(":");if(h===-1)continue;let a=_e.call(c.slice(0,h)),u=_e.call(c.slice(h+1));a&&u&&u!=="undefined"&&(t[a]=u)}return t}case"object":for(let n in e){let r=e[n];(r||r===0)&&(t[ii(n)]=String(r))}return t;default:return{}}}function Rt(e){e=e===""?{}:xt(e);for(let t in e)Vt.call(this.classList,t)}function Xe(e,t){t=t===""?{}:xt(t),e=e===""?{}:xt(e);for(let n in t)n in e||xn.call(this.classList,n);for(let n in e)e[n]!==t[n]&&Vt.call(this.classList,n)}function Mt(e){e=e===""?{}:Ot(e);let t=this.style;for(let n in e)Rn(t,n,e[n])}function Ye(e,t){t=t===""?{}:Ot(t),e=e===""?{}:Ot(e);let n=this.style;for(let r in t)r in e||n.removeProperty(r);for(let r in e)e[r]!==t[r]&&Rn(n,r,e[r]);n.cssText||Oe.call(this,"style")}function si(e){if(!e)return!1;if(e.ownerDocument.contains(e))return!0;let t=e.getRootNode();return t instanceof ShadowRoot&&e.ownerDocument.contains(t.host)}function oi(e,t){let n=e,r=t.defaultView.ShadowRoot;for(;n;){if(n===t)return!0;if(n.parentNode)n=n.parentNode;else if(n instanceof r&&n.host)n=n.host;else return!1}return!1}function li(e){let t=e&&e.ownerDocument;if(t){if(!t.defaultView)throw new g("Cannot mount a component: the target document is not attached to a window (defaultView is missing)");let n=t.defaultView.HTMLElement;if(e instanceof n||e instanceof ShadowRoot){if(!oi(e,t))throw new g("Cannot mount a component on a detached dom node");return}}throw new g("Cannot mount component: the target is not a valid DOM element")}function ai(e){return new Promise(function(t){document.readyState!=="loading"?t(!0):document.addEventListener("DOMContentLoaded",t,!1)}).then(e||function(){})}function Mn(e){let t=e.split(".")[0],n=e.includes(".capture"),r=e.includes(".passive");return e.includes(".synthetic")?hi(t,n,r):ui(t,n,r)}var ci=1;function ui(e,t=!1,n=!1){let r=`__event__${e}_${ci++}`;t&&(r=`${r}_capture`);function i(h){let a=h.currentTarget;if(!a||!si(a))return;let u=a[r];u&&ve.mainEventHandler(u,h,a)}let s={capture:t,passive:n};function o(h){this[r]=h,this.addEventListener(e,i,s)}function l(){delete this[r],this.removeEventListener(e,i,s)}function c(h){this[r]=h}return{setup:o,update:c,remove:l}}var fi=1;function hi(e,t=!1,n=!1){let r=`__event__synthetic_${e}`;t&&(r=`${r}_capture`),pi(e,r,t,n);let i=fi++;function s(l){let c=this[r]||{};c[i]=l,this[r]=c}function o(){delete this[r]}return{setup:s,update:s,remove:o}}function di(e,t){let n=t.target;for(;n!==null;){let r=n[e];if(r){for(let i of Object.values(r))if(ve.mainEventHandler(i,t,n))return}n=n.parentNode}}var Nn={};function pi(e,t,n=!1,r=!1){Nn[t]||(document.addEventListener(e,i=>di(t,i),{capture:n,passive:r}),Nn[t]=!0)}var mi=(e,t)=>Object.getOwnPropertyDescriptor(e,t),De,In,It;if(typeof Node<"u"){let e=Node.prototype;De=e.insertBefore,In=mi(e,"textContent").set,It=e.removeChild}var Pn=class{children;anchors;parentEl;isOnlyChild;constructor(e){this.children=e}mount(e,t){let n=this.children,r=n.length,i=new Array(r);for(let s=0;s<r;s++){let o=n[s];if(o)o.mount(e,t);else{let l=document.createTextNode("");i[s]=l,De.call(e,l,t)}}this.anchors=i,this.parentEl=e}moveBeforeDOMNode(e,t=this.parentEl){this.parentEl=t;let n=this.children,r=this.anchors;for(let i=0,s=n.length;i<s;i++){let o=n[i];if(o)o.moveBeforeDOMNode(e,t);else{let l=r[i];De.call(t,l,e)}}}moveBeforeVNode(e,t){if(e){let s=e.children[0];t=(s?s.firstNode():e.anchors[0])||null}let n=this.children,r=this.parentEl,i=this.anchors;for(let s=0,o=n.length;s<o;s++){let l=n[s];if(l)l.moveBeforeVNode(null,t);else{let c=i[s];De.call(r,c,t)}}}patch(e,t){if(this===e)return;let n=this.children,r=e.children,i=this.anchors,s=this.parentEl;for(let o=0,l=n.length;o<l;o++){let c=n[o],h=r[o];if(c)if(h)c.patch(h,t);else{let a=c.firstNode(),u=document.createTextNode("");i[o]=u,De.call(s,u,a),t&&c.beforeRemove(),c.remove(),n[o]=void 0}else if(h){n[o]=h;let a=i[o];h.mount(s,a),It.call(s,a)}}}beforeRemove(){let e=this.children;for(let t=0,n=e.length;t<n;t++){let r=e[t];r&&r.beforeRemove()}}remove(){let e=this.parentEl;if(this.isOnlyChild)In.call(e,"");else{let t=this.children,n=this.anchors;for(let r=0,i=t.length;r<i;r++){let s=t[r];s?s.remove():It.call(e,n[r])}}}firstNode(){let e=this.children[0];return e?e.firstNode():this.anchors[0]}toString(){return this.children.map(e=>e?e.toString():"").join("")}};function Ft(e){return new Pn(e)}var gi=(e,t)=>Object.getOwnPropertyDescriptor(e,t),Ze,Ln,Bn;if(typeof Node<"u"){let e=Node.prototype;Ze=e.insertBefore,Bn=e.removeChild,Ln=gi(CharacterData.prototype,"data").set}var bi=class{text;parentEl;el;constructor(e){this.text=e}mount(e,t){this.parentEl=e;let n=document.createTextNode(Pt(this.text));Ze.call(e,n,t),this.el=n}moveBeforeDOMNode(e,t=this.parentEl){this.parentEl=t,Ze.call(t,this.el,e)}moveBeforeVNode(e,t){Ze.call(this.parentEl,this.el,e?e.el:t)}beforeRemove(){}remove(){Bn.call(this.parentEl,this.el)}firstNode(){return this.el}patch(e){let t=e.text;this.text!==t&&(Ln.call(this.el,Pt(t)),this.text=t)}toString(){return this.text}};function Re(e){return new bi(e)}function Pt(e){switch(typeof e){case"string":return e;case"number":return String(e);case"boolean":return e?"true":"false";default:return e||""}}var At=(e,t)=>Object.getOwnPropertyDescriptor(e,t),xe,jn,Vn,et,Kt;typeof Node<"u"&&(xe=Node.prototype,jn=Element.prototype,Vn=At(CharacterData.prototype,"data").set,et=At(xe,"firstChild").get,Kt=At(xe,"nextSibling").get);var En=()=>{};function vi(e){return function(n){this[e]=n===0?0:n?n.valueOf():""}}var Dt={};function Fn(e){if(e in Dt)return Dt[e];let n=new DOMParser().parseFromString(`<t>${e}</t>`,"text/xml").firstChild.firstChild;ve.shouldNormalizeDom&&Kn(n);let r=Lt(n),i=Bt(r),s=r.el,o=Ti(s,i);return Dt[e]=o,o}function Kn(e){if(e.nodeType===Node.TEXT_NODE&&!/\S/.test(e.textContent)){e.remove();return}if(!(e.nodeType===Node.ELEMENT_NODE&&e.tagName==="pre"))for(let t=e.childNodes.length-1;t>=0;--t)Kn(e.childNodes.item(t))}function Lt(e,t=null,n=null){switch(e.nodeType){case Node.ELEMENT_NODE:{let r=n&&n.currentNS,i=e.tagName,s,o=[];if(i.startsWith("block-text-")){let c=parseInt(i.slice(11),10);o.push({type:"text",idx:c}),s=document.createTextNode("")}if(i.startsWith("block-child-")){n.isRef||$n(n);let c=parseInt(i.slice(12),10);o.push({type:"child",idx:c}),s=document.createTextNode("")}if(r||=e.namespaceURI,s||(s=r?document.createElementNS(r,i):document.createElement(i)),s instanceof Element){n||document.createElement("template").content.appendChild(s);let c=e.attributes;for(let h=0;h<c.length;h++){let a=c[h].name,u=c[h].value;if(a.startsWith("block-handler-")){let f=parseInt(a.slice(14),10);o.push({type:"handler",idx:f,event:u})}else if(a.startsWith("block-attribute-")){let f=parseInt(a.slice(16),10);o.push({type:"attribute",idx:f,name:u,tag:i})}else if(a.startsWith("block-property-")){let f=parseInt(a.slice(15),10);o.push({type:"property",idx:f,name:u,tag:i})}else a==="block-attributes"?o.push({type:"attributes",idx:parseInt(u,10)}):a==="block-ref"?o.push({type:"ref",idx:parseInt(u,10)}):s.setAttribute(c[h].name,u)}}let l={parent:t,firstChild:null,nextSibling:null,el:s,info:o,refN:0,currentNS:r};if(e.firstChild){let c=e.childNodes[0];if(e.childNodes.length===1&&c.nodeType===Node.ELEMENT_NODE&&c.tagName.startsWith("block-child-")){let h=c.tagName,a=parseInt(h.slice(12),10);o.push({idx:a,type:"child",isOnlyChild:!0})}else{l.firstChild=Lt(e.firstChild,l,l),s.appendChild(l.firstChild.el);let h=e.firstChild,a=l.firstChild;for(;h=h.nextSibling;)a.nextSibling=Lt(h,a,l),s.appendChild(a.nextSibling.el),a=a.nextSibling}}return l.info.length&&$n(l),l}case Node.TEXT_NODE:return{parent:t,firstChild:null,nextSibling:null,el:document.createTextNode(e.textContent),info:[],refN:0,currentNS:null}}throw new g("boom")}function $n(e){e.isRef=!0;do e.refN++;while(e=e.parent)}function yi(e){let t=e.parent;for(;t&&t.nextSibling===e;)e=t,t=t.parent;return t}function Bt(e,t,n){if(!t){let r=new Array(e.info.filter(i=>i.type==="child").length);t={collectors:[],locations:[],children:r,cbRefs:[],refN:e.refN},n=0}if(e.refN){let r=n,i=e.isRef,s=e.firstChild?e.firstChild.refN:0,o=e.nextSibling?e.nextSibling.refN:0;if(i){for(let l of e.info)l.refIdx=r;e.refIdx=r,wi(t,e),n++}if(o){let l=n+s;t.collectors.push({idx:l,prevIdx:r,getVal:Kt}),Bt(e.nextSibling,t,l)}s&&(t.collectors.push({idx:n,prevIdx:r,getVal:et}),Bt(e.firstChild,t,n))}return t}function wi(e,t){for(let n of t.info)switch(n.type){case"text":e.locations.push({idx:n.idx,refIdx:n.refIdx,setData:Sn,updateData:Sn});break;case"child":n.isOnlyChild?e.children[n.idx]={parentRefIdx:n.refIdx,isOnlyChild:!0}:e.children[n.idx]={parentRefIdx:yi(t).refIdx,afterRefIdx:n.refIdx};break;case"property":{let r=n.refIdx,i=vi(n.name);e.locations.push({idx:n.idx,refIdx:r,setData:i,updateData:i});break}case"attribute":{let r=n.refIdx,i,s;n.name==="class"?(s=Rt,i=Xe):n.name==="style"?(s=Mt,i=Ye):(s=ti(n.name),i=s),e.locations.push({idx:n.idx,refIdx:r,setData:s,updateData:i});break}case"attributes":e.locations.push({idx:n.idx,refIdx:n.refIdx,setData:ni,updateData:ri});break;case"handler":{let{setup:r,update:i}=Mn(n.event);e.locations.push({idx:n.idx,refIdx:n.refIdx,setData:r,updateData:i});break}case"ref":{e.locations.push({idx:n.idx,refIdx:n.refIdx,setData:En,updateData:En}),e.cbRefs.push(n.idx);break}}}function Ti(e,t){let n=Ni(e,t);return t.children.length?(n=class extends n{children;constructor(r,i){super(r),this.children=i}},n.prototype.beforeRemove=Pn.prototype.beforeRemove,(r,i=[])=>new n(r,i)):r=>new n(r)}function Ni(e,t){let{refN:n,collectors:r,children:i,locations:s,cbRefs:o}=t;s.sort((y,w)=>y.idx-w.idx);let l=s.length,c=i.length,h=n>0,a=s.map(y=>y.refIdx),u=s.map(y=>y.setData),f=s.map(y=>y.updateData),m=[Kt,et],p=r.length,b=r.map(y=>y.idx&32767|(y.prevIdx&32767)<<15|(y.getVal===et?1:0)<<30),d=i.map(y=>y.parentRefIdx&32767|(y.isOnlyChild?1:0)<<15|((y.afterRefIdx??0)&32767)<<16),A=xe.cloneNode,E=xe.insertBefore,T=jn.remove;class C{el;parentEl;data;children;refs;constructor(w){this.data=w}beforeRemove(){}remove(){T.call(this.el)}firstNode(){return this.el}moveBeforeDOMNode(w,v=this.parentEl){this.parentEl=v,E.call(v,this.el,w)}moveBeforeVNode(w,v){E.call(this.parentEl,this.el,w?w.el:v)}toString(){let w=document.createElement("div");return this.mount(w,null),w.innerHTML}mount(w,v){let $=A.call(e,!0);E.call(w,$,v),this.el=$,this.parentEl=w}patch(w,v){}}return h&&(C.prototype.mount=function(w,v){let $=A.call(e,!0),D=new Array(n);this.refs=D,D[0]=$;for(let x=0;x<p;x++){let S=b[x];D[S&32767]=m[S>>30&1].call(D[S>>15&32767])}if(l){let x=this.data;for(let S=0;S<l;S++)u[S].call(D[a[S]],x[S])}if(c){let x=this.children;for(let S=0;S<c;S++){let R=x[S];if(R){let L=d[S],ye=L>>16&32767,Pe=ye?D[ye]:null;R.isOnlyChild=!!(L&32768),R.mount(D[L&32767],Pe)}}}if(E.call(w,$,v),this.el=$,this.parentEl=w,o.length){let x=this.data,S=this.refs;for(let R of o){let L=x[R];L(S[a[R]],null)}}},C.prototype.patch=function(w,v){if(this===w)return;let $=this.refs;if(l){let D=this.data,x=w.data;for(let S=0;S<l;S++){let R=D[S],L=x[S];R!==L&&f[S].call($[a[S]],L,R)}this.data=x}if(c){let D=this.children,x=w.children;for(let S=0;S<c;S++){let R=D[S],L=x[S];if(R)L?R.patch(L,v):(v&&R.beforeRemove(),R.remove(),D[S]=void 0);else if(L){let ye=d[S],Pe=ye>>16&32767,dr=Pe?$[Pe]:null;L.mount($[ye&32767],dr),D[S]=L}}}},C.prototype.remove=function(){if(o.length){let w=this.data,v=this.refs;for(let $ of o){let D=w[$];D(null,v[a[$]])}}T.call(this.el)}),C}function Sn(e){Vn.call(this,Pt(e))}var Ei=(e,t)=>Object.getOwnPropertyDescriptor(e,t),Wn,Un,zn,jt;if(typeof Node<"u"){let e=Node.prototype;Wn=e.insertBefore,Un=e.appendChild,zn=e.removeChild,jt=Ei(e,"textContent").set}var $i=class{children;anchor;parentEl;isOnlyChild;constructor(e){this.children=e}mount(e,t){let n=this.children,r=document.createTextNode("");this.anchor=r,Wn.call(e,r,t);let i=n.length;if(i){let s=n[0].mount;for(let o=0;o<i;o++)s.call(n[o],e,r)}this.parentEl=e}moveBeforeDOMNode(e,t=this.parentEl){this.parentEl=t;let n=this.children;for(let r=0,i=n.length;r<i;r++)n[r].moveBeforeDOMNode(e,t);t.insertBefore(this.anchor,e)}moveBeforeVNode(e,t){if(e){let r=e.children[0];t=(r?r.firstNode():e.anchor)||null}let n=this.children;for(let r=0,i=n.length;r<i;r++)n[r].moveBeforeVNode(null,t);this.parentEl.insertBefore(this.anchor,t)}patch(e,t){if(this===e)return;let n=this.children,r=e.children;if(r.length===0&&n.length===0)return;this.children=r;let i=r[0]||n[0],{mount:s,patch:o,remove:l,beforeRemove:c,moveBeforeVNode:h,firstNode:a}=i,u=this.anchor,f=this.isOnlyChild,m=this.parentEl;if(r.length===0&&f){if(t)for(let v=0,$=n.length;v<$;v++)c.call(n[v]);jt.call(m,""),Un.call(m,u);return}let p=0,b=0,d=n[0],A=r[0],E=n.length-1,T=r.length-1,C=n[E],y=r[T],w;for(;p<=E&&b<=T;){if(d===null){d=n[++p];continue}if(C===null){C=n[--E];continue}let v=d.key,$=A.key;if(v===$){o.call(d,A,t),r[b]=d,d=n[++p],A=r[++b];continue}let D=C.key,x=y.key;if(D===x){o.call(C,y,t),r[T]=C,C=n[--E],y=r[--T];continue}if(v===x){o.call(d,y,t),r[T]=d;let R=r[T+1];h.call(d,R,u),d=n[++p],y=r[--T];continue}if(D===$){o.call(C,A,t),r[b]=C;let R=n[p];h.call(C,R,u),C=n[--E],A=r[++b];continue}w=w||Si(n,p,E);let S=w[$];if(S===void 0)s.call(A,m,a.call(d)||null);else{let R=n[S];h.call(R,d,null),o.call(R,A,t),r[b]=R,n[S]=null}A=r[++b]}if(p<=E||b<=T)if(p>E){let v=r[T+1],$=v?a.call(v)||null:u;for(let D=b;D<=T;D++)s.call(r[D],m,$)}else for(let v=p;v<=E;v++){let $=n[v];$&&(t&&c.call($),l.call($))}}beforeRemove(){let e=this.children,t=e.length;if(t){let n=e[0].beforeRemove;for(let r=0;r<t;r++)n.call(e[r])}}remove(){let{parentEl:e,anchor:t}=this;if(this.isOnlyChild)jt.call(e,"");else{let n=this.children,r=n.length;if(r){let i=n[0].remove;for(let s=0;s<r;s++)i.call(n[s])}zn.call(e,t)}}firstNode(){let e=this.children[0];return e?e.firstNode():void 0}toString(){return this.children.map(e=>e.toString()).join("")}};function Hn(e){return new $i(e)}function Si(e,t,n){let r={};for(let i=t;i<=n;i++)r[e[i].key]=i;return r}var me,Gn;if(typeof Node<"u"){let e=Node.prototype;me=e.insertBefore,Gn=e.removeChild}var Ci=class{html;parentEl;content=[];constructor(e){this.html=e}mount(e,t){this.parentEl=e;let n=document.createElement("template");n.innerHTML=this.html,this.content=[...n.content.childNodes];for(let r of this.content)me.call(e,r,t);if(!this.content.length){let r=document.createTextNode("");this.content.push(r),me.call(e,r,t)}}moveBeforeDOMNode(e,t=this.parentEl){this.parentEl=t;for(let n of this.content)me.call(t,n,e)}moveBeforeVNode(e,t){let n=e?e.content[0]:t;this.moveBeforeDOMNode(n)}patch(e){if(this===e)return;let t=e.html;if(this.html!==t){let n=this.parentEl,r=this.content[0],i=document.createElement("template");i.innerHTML=t;let s=[...i.content.childNodes];for(let o of s)me.call(n,o,r);if(!s.length){let o=document.createTextNode("");s.push(o),me.call(n,o,r)}this.remove(),this.content=s,this.html=e.html}}beforeRemove(){}remove(){let e=this.parentEl;for(let t of this.content)Gn.call(e,t)}firstNode(){return this.content[0]}toString(){return this.html}};function Wt(e){return new Ci(e)}function ki(e){let t=Object.keys(e).length;class n{child;handlerData;handlerFns=[];parentEl;afterNode=null;constructor(i,s){this.child=i,this.handlerData=s}mount(i,s){this.parentEl=i,this.child.mount(i,s),this.afterNode=document.createTextNode(""),i.insertBefore(this.afterNode,s),this.wrapHandlerData();for(let o in e){let l=e[o],c=Mn(o);this.handlerFns[l]=c,c.setup.call(i,this.handlerData[l])}}wrapHandlerData(){for(let i=0;i<t;i++){let s=this.handlerData[i],o=s.length-2,l=s[o],c=this;s[o]=function(h,a){let u=a.target,f=c.child.firstNode(),m=c.afterNode;for(;f&&f!==m;){if(f.contains(u))return l(h,a);f=f.nextSibling}}}}moveBeforeDOMNode(i,s=this.parentEl){this.parentEl=s,this.child.moveBeforeDOMNode(i,s),s.insertBefore(this.afterNode,i)}moveBeforeVNode(i,s){i&&(s=i.firstNode()||s),this.child.moveBeforeVNode(i?i.child:null,s),this.parentEl.insertBefore(this.afterNode,s)}patch(i,s){if(this!==i){this.handlerData=i.handlerData,this.wrapHandlerData();for(let o=0;o<t;o++)this.handlerFns[o].update.call(this.parentEl,this.handlerData[o]);this.child.patch(i.child,s)}}beforeRemove(){this.child.beforeRemove()}remove(){for(let i=0;i<t;i++)this.handlerFns[i].remove.call(this.parentEl);this.child.remove(),this.afterNode.remove()}firstNode(){return this.child.firstNode()}toString(){return this.child.toString()}}return function(r,i){return new n(r,i)}}function Je(e,t,n=null){e.mount(t,n)}function Ai(e,t,n=!1){e.patch(t,n)}function Di(e,t=!1){t&&e.beforeRemove(),e.remove()}function _i(e){switch(e.__owl__.status){case k.NEW:return"new";case k.CANCELLED:return"cancelled";case k.MOUNTED:return e instanceof He?"started":"mounted";case k.DESTROYED:return"destroyed"}}function xi(e,t){let n=e.fiber;return n&&(Ut(n.children),n.root=null),new rt(e,t)}function Oi(e){let t=e.fiber;if(t){let r=t.root;return r.locked=!0,r.setCounter(r.counter+1-Ut(t.children)),r.locked=!1,t.children=[],t.childrenMap={},t.bdom=null,J.has(t)&&(J.delete(t),J.delete(r),t.appliedToDom=!1,t instanceof tt&&(t.mounted=t instanceof qn?[t]:[])),t}let n=new tt(e,null);return e.willPatch.length&&n.willPatch.push(n),e.patched.length&&n.patched.push(n),n}function Ri(){throw new g("Attempted to render cancelled fiber")}function Ut(e){let t=0;for(let n of e){let r=n.node;n.render=Ri,r.status===k.NEW&&r.cancel(),r.fiber=null,n.bdom?r.forceNextRender=!0:(t++,r.bdom&&(r.forceNextRender=!0)),t+=Ut(n.children)}return t}var rt=class{node;bdom=null;root;parent;children=[];appliedToDom=!1;deep=!1;childrenMap={};constructor(e,t){if(this.node=e,this.parent=t,t){this.deep=t.deep;let n=t.root;n.setCounter(n.counter+1),this.root=n,t.children.push(this)}else this.root=this}render(){let e=this.root.node.app.scheduler;if(e.tasks.size>1){let r=this.root.node,i=r.parent;for(;i;){if(i.fiber){let s=i.fiber.root;if(s.counter===0&&r.parentKey in i.fiber.childrenMap)i=s.node;else{e.delayedRenders.push(this);return}}r=i,i=i.parent}}let t=this.node,n=this.root;if(n){let r=z();$e(t.signalComputation),P(t.signalComputation),t.signalComputation.state=Ee.EXECUTED;try{this.bdom=!0,this.bdom=t.renderFn()}catch(s){be({node:t,error:s})}finally{P(r)}let i=n.counter-1;n.counter=i,i===0&&e.flush()}}},tt=class extends rt{counter=1;willPatch=[];patched=[];mounted=[];locked=!1;complete(){let e=this.node;this.locked=!0;let t,n=this.mounted;try{for(t of this.willPatch){let i=t.node;if(i.fiber===t){let s=i.component;for(let o of i.willPatch)o.call(s)}}for(t=void 0,e._patch(),this.locked=!1;t=n.pop();)if(t=t,t.appliedToDom)for(let i of t.node.mounted)i();let r=this.patched;for(;t=r.pop();)if(t=t,t.appliedToDom)for(let i of t.node.patched)i()}catch(r){for(let i of n)i.node.willUnmount=[];this.locked=!1,be({fiber:t||this,error:r})}}setCounter(e){this.counter=e,e===0&&this.node.app.scheduler.flush()}},qn=class extends tt{target;position;afterNode=null;prepared=!1;onPrepared=null;constructor(e,t,n={}){super(e,null),this.target=t,this.position=n.position||"last-child",this.afterNode=n.afterNode??null}complete(){this.prepared=!0,this.target?this._mount():(this.appliedToDom=!0,this.onPrepared?.())}commit(e,t={}){this.target=e,this.position=t.position||"last-child",this.afterNode=t.afterNode??null,this.prepared&&this._mount()}_mount(){let e=this;try{let t=this.node;if(t.children=this.childrenMap,t.app.constructor.validateTarget(this.target),t.bdom)t.updateDom();else if(t.bdom=this.bdom,this.afterNode)Je(t.bdom,this.target,this.afterNode);else if(this.position==="last-child"||this.target.childNodes.length===0)Je(t.bdom,this.target);else{let r=this.target.childNodes[0];Je(t.bdom,this.target,r)}t.fiber=null,t.status=k.MOUNTED,this.appliedToDom=!0;let n=this.mounted;for(;e=n.pop();)if(e.appliedToDom)for(let r of e.node.mounted)r()}catch(t){be({fiber:e,error:t})}}},Me=class extends Se{fiber=null;component;bdom=null;componentName;forceNextRender=!1;parentKey;props;defaultProps=null;renderFn;parent;children=Object.create(null);willUpdateProps=[];propsUpdated=[];willUnmount=[];mounted=[];willPatch=[];patched=[];signalComputation;constructor(e,t,n,r,i){super(n),this.parent=r,this.parentKey=i,this.pluginManager=r?r.pluginManager:n.pluginManager,this.componentName=e.name,this.signalComputation=Ve(()=>this.render(!1),!1,Ee.EXECUTED),this.props=t;let s=z();P(void 0),H.push(this);try{this.component=new e(this);let o={this:this.component,__owl__:this};this.renderFn=n.getTemplate(e.template).bind(this.component,o,this),this.component.setup()}finally{H.pop(),P(s)}}decorate(e,t){let n=this.component,r=this;if(this.app.dev){let i=`${this.componentName}.${t}`;return{[i](...o){return e.call(n,r,...o)}}[i]}return e.bind(n,r)}async initiateRender(e){this.fiber=e,this.mounted.length&&e.root.mounted.push(e);let t=this.component,n=z();P(void 0);try{let r=this.willStart.map(i=>i.call(t));P(n),await Promise.all(r)}catch(r){if(Be(r)&&this.status>k.MOUNTED)return;be({node:this,error:r});return}this.status===k.NEW&&this.fiber===e&&e.render()}async render(e){if(this.status>=k.CANCELLED)return;let t=this.fiber;if(t&&(t.root.locked||t.bdom===!0)&&(await Promise.resolve(),t=this.fiber),t){if(!t.bdom&&!J.has(t)){e&&(t.deep=e);return}e=e||t.deep}else if(!this.bdom)return;let n=Oi(this);n.deep=e,this.fiber=n,this.app.scheduler.addFiber(n),await Promise.resolve(),!(this.status>=k.CANCELLED)&&this.fiber===n&&(t||!n.parent)&&n.render()}cancel(){this._cancel(),delete this.parent.children[this.parentKey],this.app.scheduler.scheduleDestroy(this)}_cancel(){super.cancel();let e=this.children;for(let t in e)e[t]._cancel()}destroy(){let e=this.status===k.MOUNTED;this._destroy(),e&&this.bdom.remove()}_destroy(){let e=this.component;if(this.status===k.MOUNTED)for(let t of this.willUnmount)t.call(e);for(let t in this.children)this.children[t]._destroy();this.finalize(t=>be({error:t,node:this})),We(this.signalComputation)}updateDom(){if(this.fiber)if(this.bdom===this.fiber.bdom)for(let e in this.children)this.children[e].updateDom();else this.bdom.patch(this.fiber.bdom,!1),this.fiber.appliedToDom=!0,this.fiber=null}firstNode(){let e=this.bdom;return e?e.firstNode():void 0}mount(e,t){let n=this.fiber.bdom;this.bdom=n,n.mount(e,t),this.status=k.MOUNTED,this.fiber.appliedToDom=!0,this.children=this.fiber.childrenMap,this.fiber=null}moveBeforeDOMNode(e,t){this.bdom.moveBeforeDOMNode(e,t)}moveBeforeVNode(e,t){this.bdom.moveBeforeVNode(e?e.bdom:null,t)}patch(){this.fiber&&this.fiber.parent&&this._patch()}_patch(){let e=!1;for(let n in this.children){e=!0;break}let t=this.fiber;this.children=t.childrenMap,this.bdom.patch(t.bdom,e),t.appliedToDom=!0,this.fiber=null}beforeRemove(){this._destroy()}remove(){this.bdom.remove()}};function G(){let e=K();if(!(e instanceof Me))throw new g("Expected to be in a component scope");return e}var Xn;typeof window<"u"&&(Xn=window.requestAnimationFrame.bind(window));var Mi=class Yn{static requestAnimationFrame=Xn;tasks=new Set;requestAnimationFrame;frame=0;delayedRenders=[];cancelledNodes=new Set;processing=!1;constructor(){this.requestAnimationFrame=Yn.requestAnimationFrame,this.processTasks=this.processTasks.bind(this)}addFiber(t){this.tasks.add(t.root)}scheduleDestroy(t){this.cancelledNodes.add(t),this.frame===0&&(this.frame=this.requestAnimationFrame(this.processTasks))}flush(){if(this.delayedRenders.length){let t=this.delayedRenders;this.delayedRenders=[];for(let n of t)n.root&&n.node.status!==k.DESTROYED&&n.node.fiber===n&&n.render()}this.frame===0&&(this.frame=this.requestAnimationFrame(this.processTasks))}processTasks(){if(!this.processing){this.processing=!0,this.frame=0;for(let t of this.cancelledNodes)t._destroy();this.cancelledNodes.clear();for(let t of this.tasks){if(t.root!==t){this.tasks.delete(t);continue}let n=J.has(t);if(n&&t.counter!==0){this.tasks.delete(t);continue}if(t.node.status===k.DESTROYED){this.tasks.delete(t);continue}t.counter===0&&(n||t.complete(),t.appliedToDom&&this.tasks.delete(t))}for(let t of this.tasks)t.node.status===k.DESTROYED&&this.tasks.delete(t);this.processing=!1}}},Q=class{static template="";__owl__;constructor(e){this.__owl__=e}setup(){}},Ii=Object.create;function Pi(e,t){return e==null||e===!1?t:e}function Li(e,t,n,r,i,s,o){n=n+"__slot_"+r;let l=e.__owl__.props.slots||{},{__render:c,__ctx:h,__scope:a}=l[r]||{},u=Ii(h||{});a&&(u[a]=s);let f=c?c(u,t,n):null;if(o){let m,p;return f?m=i?le(r,f):f:p=o(e,t,n),Ft([m,p])}return f||Re("")}function Bi(e,t){return e.key=t,e}function ji(e){let t,n;if(Array.isArray(e))t=e,n=e;else if(e instanceof Map)t=[...e.keys()],n=[...e.values()];else if(Symbol.iterator in Object(e))t=[...e],n=t;else if(e&&typeof e=="object")n=Object.values(e),t=Object.keys(e);else throw new g(`Invalid loop expression: "${e}" is not iterable`);let r=n.length;return[t,n,r,new Array(r)]}function Vi(e){let t=parseFloat(e);return isNaN(t)?e:t}function Fi(e,t){for(let n=0,r=e.length;n<r;n++)if(e[n]!==t[n])return!1;return!0}var Zn=class{fn;ctx;component;node;key;constructor(e,t,n,r,i){this.fn=e,this.ctx=t,this.component=n,this.node=r,this.key=i}evaluate(){return this.fn.call(this.component,this.ctx,this.node,this.key)}toString(){return this.evaluate().toString()}};function Ki(e,t){if(e==null)return t?le("default",t):le("undefined",Re(""));let n,r;return e instanceof Ne?(n="string_safe",r=Wt(e)):e instanceof Zn?(n="lazy_value",r=e.evaluate()):(n="string_unsafe",r=Re(e)),le(n,r)}function Wi(e){if(!e)throw new g("Ref is undefined or null");let t,n;if(e.add&&e.delete)t=e.add.bind(e),n=e.delete.bind(e);else if(e.set){t=e.set.bind(e);let r=e[re];n=r?i=>{r.value===i&&e.set(null)}:()=>e.set(null)}else throw new g("Ref should implement either a 'set' function or 'add' and 'delete' functions");return(r,i)=>{i&&n(i),r&&t(r)}}function Ui(e,t,n){if(typeof e!="function")throw new g(`Invalid handler expression: the \`t-on\` expression should evaluate to a function, but got '${typeof e}'. Did you mean to use an arrow function? (e.g. \`t-on-click="() => expr"\`)`);e.call(t.this,n)}var Cn=new WeakMap;function zi(e,t,n){let r=Cn.get(e);r||(r=new Map,Cn.set(e,r));let i=r.get(t);if(i)return i.set(n),i.readonly;let s=O(n);return s.readonly=ie(s),r.set(t,s),s.readonly}function Hi(e){if(typeof e!="function"||typeof e.set!="function")throw new g("Invalid t-model expression: expression should evaluate to a function with a 'set' method defined on it");return e}function Gi(e,t,n,r,i,s){let o=!n,l,c=s.length===0;r?l=(a,u)=>!0:i?l=function(a,u){for(let f in a)if(a[f]!==u[f])return!0;return Object.keys(a).length!==Object.keys(u).length}:c?l=(a,u)=>!1:l=function(a,u){for(let f of s)if(a[f]!==u[f])return!0;return!1};let h=Me.prototype.initiateRender;return(a,u,f,m,p)=>{let b=f.children,d=b[u];o&&d&&d.component.constructor!==p&&(d=void 0);let A=f.fiber;if(d){if(l(d.props,a)||A.deep||d.forceNextRender){d.forceNextRender=!1;let E=d.willUpdateProps,T=xi(d,A);d.fiber=T;let C=A.root;d.willPatch.length&&C.willPatch.push(T),d.patched.length&&C.patched.push(T);let y;if(E.length){let w=a,v=d.defaultProps;if(v){w=Object.assign({},a);for(let x in v)w[x]===void 0&&(w[x]=v[x])}let $=d.component,D=z();P(void 0);for(let x of E){let S=x.call($,w);S&&typeof S.then=="function"&&(y||=[]).push(S)}P(D)}if(y)(y.length===1?y[0]:Promise.all(y)).then(()=>{if(T===d.fiber){d.props=a;for(let v of d.propsUpdated)v();T.render()}},v=>{be({node:d,error:v})});else{d.props=a;for(let w of d.propsUpdated)w();T.render()}}}else{if(n){let T=m.constructor.components;if(!T)throw new g(`Cannot find the definition of component "${t}", missing static components key in parent`);if(p=T[t],p){if(!(p.prototype instanceof Q))throw new g(`"${t}" is not a Component. It must inherit from the Component class`)}else throw new g(`Cannot find the definition of component "${t}"`)}d=new Me(p,a,e,f,u),b[u]=d;let E=new rt(d,A);d.willStart.length?h.call(d,E):(d.fiber=E,d.mounted.length&&E.root.mounted.push(E),E.render())}return A.childrenMap[u]=d,d}}function qi(e,t,n,r,i,s){let o=n.getTemplate(e);return le(e,o.call(t,r,i,s+e))}var Xi={withDefault:Pi,zero:Symbol("zero"),callSlot:Li,withKey:Bi,prepareList:ji,shallowEqual:Fi,toNumber:Vi,LazyValue:Zn,safeOutput:Ki,createCatcher:ki,markRaw:Ue,OwlError:g,createRef:Wi,modelExpr:Hi,createComponent:Gi,callTemplate:qi,callHandler:Ui,toSignal:zi},Yi={text:Re,createBlock:Fn,list:Hn,multi:Ft,html:Wt,toggler:le},Ie=class{static registerTemplate(e,t){nt[e]=t}dev;rawTemplates=Object.create(nt);templates={};getRawTemplate;translateFn;translatableAttributes;customDirectives;runtimeUtils;hasGlobalValues;constructor(e={}){if(this.dev=e.dev||!1,this.translateFn=e.translateFn,this.translatableAttributes=e.translatableAttributes,e.templates)if(e.templates instanceof Document||typeof e.templates=="string")this.addTemplates(e.templates);else for(let t in e.templates)this.addTemplate(t,e.templates[t]);this.getRawTemplate=e.getTemplate,this.customDirectives=e.customDirectives||{},this.runtimeUtils={...Xi,__globals__:e.globalValues||{}},this.hasGlobalValues=!!(e.globalValues&&Object.keys(e.globalValues).length)}addTemplate(e,t){if(e in this.rawTemplates){if(!this.dev)return;let n=this.rawTemplates[e];if(Zi(n,t))return;throw new g(`Template ${e} already defined with different content`)}this.rawTemplates[e]=t}addTemplates(e){if(e){e=e instanceof Document?e:this._parseXML(e);for(let t of e.querySelectorAll("[t-name]")){let n=t.getAttribute("t-name");this.addTemplate(n,t)}}}getTemplate(e){let t=e;if(!(t in this.templates)){let n=this.getRawTemplate?.(e)||this.rawTemplates[e];if(n===void 0){let l="",c=se();throw c instanceof Me&&(l=` (for component "${c.componentName}")`),new g(`Missing template: "${e}"${l}`)}let i=typeof n=="function"&&!(n instanceof Element)?n:this._compileTemplate(e,n),s=this.templates;this.templates[t]=function(l,c){return s[t].call(this,l,c)};let o=i(this,Yi,this.runtimeUtils);this.templates[t]=o}return this.templates[t]}_compileTemplate(e,t){throw new g("Unable to compile a template. Please use owl full build instead")}_parseXML(e){throw new g("Unable to parse XML templates. Please use owl full build instead, or pass a Document instance.")}},nt={};function ee(...e){let t=`__template__${ee.nextId++}`,n=String.raw(...e);return nt[t]=n,t}ee.nextId=1;function Zi(e,t){if(e===t)return!0;if(typeof e=="function"!=(typeof t=="function"))return!1;let n=e instanceof Element?e.outerHTML:String(e),r=t instanceof Element?t.outerHTML:String(t);return n===r}var kn=!1,Qe=new Set;typeof window<"u"&&(window.__OWL_DEVTOOLS__||={apps:Qe,Fiber:rt,RootFiber:tt,toRaw:Y,proxy:Ce});var zt=class Jn extends Ie{static validateTarget=li;static apps=Qe;static version=Qr;name;scheduler=new Mi;roots=new Set;pluginManager;destroyed=!1;constructor(t={}){super(t),this.name=t.name||"",Qe.add(this),this.pluginManager=new pe(this,{config:t.config}),t.plugins?Ge(this.pluginManager,t.plugins):this.pluginManager.status=k.MOUNTED,t.test&&(this.dev=!0),this.dev&&!t.test&&!kn&&(console.info("Owl is running in 'dev' mode."),kn=!0)}createRoot(t,n={}){let r=n.props||{},i,s,o=new Promise((p,b)=>{i=p,s=b}),l,c=null;try{l=new Me(t,r,this,null,null)}catch(p){c=p,s(p)}let h=null,a=null,u=()=>{if(a)return a;if(c)return Promise.reject(c);h=new qn(l,null);let p=ae.get(l);if(p||(p=[],ae.set(l,p)),p.unshift((d,A)=>{let E=A();s(E)}),a=new Promise(d=>{h.onPrepared=()=>d()}),l.mounted.push(()=>{i(l.component),p.shift()}),this.scheduler.addFiber(h),this.pluginManager.status<k.MOUNTED&&l.willStart.unshift(()=>this.pluginManager.ready),l.willStart.length)l.initiateRender(h);else{l.fiber=h,l.mounted.length&&h.root.mounted.push(h);try{h.render()}catch(d){s(d)}}return a},m={node:l,promise:o,prepare:u,mount:(p,b)=>(c||(Jn.validateTarget(p),u(),h.commit(p,b)),o),destroy:()=>{this.roots.delete(m),l?.destroy(),this.scheduler.processTasks()}};return this.roots.add(m),m}destroy(){for(let t of this.roots)t.destroy();this.pluginManager.destroy(),this.scheduler.processTasks(),Qe.delete(this),this.destroyed=!0}_handleError(t){throw t}};async function Ji(e,t,n={}){return new zt(n).createRoot(e,n).mount(t,n)}var Qi=(e,t,n)=>{let{data:r,modifiers:i}=_n(e);e=r;let s=!1;if(i.length){let o=!1,l=t.target===n;for(let c of i)switch(c){case"self":if(o=!0,l)continue;return s;case"prevent":(o&&l||!o)&&t.preventDefault();continue;case"stop":(o&&l||!o)&&t.stopPropagation(),s=!0;continue}}if(Object.hasOwnProperty.call(e,0)){let o=e[0];if(typeof o!="function")throw new g(`Invalid handler (expected a function, received: '${o}')`);let l=e[1]?e[1].__owl__:null;(!l||l.status===k.MOUNTED)&&o(e[1],t)}return s};function es(e){let t=G();function n(r,i){return e.call(this,i,r)}t.willUpdateProps.push(t.decorate(n,"onWillUpdateProps"))}function Qn(e){let t=G();t.mounted.push(t.decorate(e,"onMounted"))}function ts(e){let t=G();t.willPatch.unshift(t.decorate(e,"onWillPatch"))}function ns(e){let t=G();t.patched.push(t.decorate(e,"onPatched"))}function rs(e){let t=G();t.willUnmount.unshift(t.decorate(e,"onWillUnmount"))}function er(e){let t=G(),n=ae.get(t);n||(n=[],ae.set(t,n)),n.push(e.bind(t.component))}function is(e,t){let n=G(),r=oe(t),i=n.props[e];return n.app.dev&&(t!==void 0&&(!r||i!==void 0)&&W(i,t,`Invalid prop '${e}' in '${n.componentName}'`),n.willUpdateProps.push(s=>{if(s[e]!==n.props[e])throw new g(`Prop '${e}' changed in component '${n.componentName}'. Props declared with \`props.static()\` are static and should not change. If the prop is a signal, pass the same signal reference (its inner value may change).`)})),i===void 0&&r?r():i}function ss(){return Nt(Q)}var j={...St,component:ss};function os(e){let t=G(),{app:n,componentName:r}=t,i=null;if(e&&!Array.isArray(e))for(let u in e){let f=oe(e[u]);f&&((i||={})[u]=f())}i&&(t.defaultProps=Object.assign(t.defaultProps||{},i));function s(u,f){return u[f]===void 0&&i&&f in i?i[f]:u[f]}let o=Object.create(null),l=Object.create(null);function c(u){o[u]=O(s(t.props,u)),Reflect.defineProperty(l,u,{enumerable:!0,configurable:!0,get:o[u]})}function h(u){for(let f of u)c(f)}function a(u){for(let f of u)o[f].set(s(t.props,f))}if(e){let u=Array.isArray(e)?e:Object.keys(e);if(h(u),t.propsUpdated.push(()=>a(u)),n.dev){if(i){let m={};for(let p in e)p in i&&(m[p]=e[p]);W(i,j.object(m),`Invalid component default props (${r})`)}let f=j.object(e);W(t.props,f,`Invalid component props (${r})`),t.willUpdateProps.push(m=>{W(m,f,`Invalid component props (${r})`)})}}else{let u=m=>{let p=[];for(let b in m)b.charCodeAt(0)!==1&&p.push(b);return p},f=u(t.props);h(f),t.propsUpdated.push(()=>{let m=u(t.props),p=new Set(m);for(let b of f)p.has(b)||(Reflect.deleteProperty(l,b),delete o[b]);for(let b of m)b in o||c(b);a(m),f=m})}return l}var it=Object.assign(os,{static:is}),ls=class extends Q{static template=ee`
3
3
  <t t-if="this.props.error()">
4
4
  <t t-call-slot="fallback"/>
5
5
  </t>
6
6
  <t t-else="">
7
7
  <t t-call-slot="default"/>
8
8
  </t>
9
- `;props=tt({"error?":B.signal()},{error:R(null)});setup(){zn(e=>this.props.error.set(e))}},Zi=sn,Ji=class extends J{static template=Q`<t t-call-slot="default"/>`},Qi=class extends J{static template=Q``;props=tt({slots:B.object(["default"]),target:B.or([B.string(),B.signal(B.instanceOf(HTMLElement)),B.instanceOf(HTMLElement)])});setup(){let e=this.__owl__,t=e.app,n=this.props.slots,r=null,i=()=>{r&&(r.destroy(),r=null)};Ce(()=>{let s=es(this.props.target);if(s)return r=t.createRoot(Ji,{props:{slots:n}}),r.node.pluginManager=e.pluginManager,oe.set(r.node,[wn(e)]),r.mount(s),i}),Y(i)}};function es(e){return typeof e=="function"&&(e=e()),typeof e=="string"?document.querySelector(e):e instanceof HTMLElement?e:null}var ts=class extends J{static template=Q`<t t-call-slot="default"/>`},ns=class extends J{static template=Q`
9
+ `;props=it({error:j.signal().optional(()=>O(null))});setup(){er(e=>this.props.error.set(e))}},as=pn,cs=class extends Q{static template=ee`<t t-call-slot="default"/>`},us=class extends Q{static template=ee``;props=it({slots:j.object(["default"]),target:j.or([j.string(),j.signal(j.instanceOf(HTMLElement)),j.instanceOf(HTMLElement)])});setup(){let e=this.__owl__,t=e.app,n=this.props.slots,r=null,i=()=>{r&&(r.destroy(),r=null)};Ae(()=>{let s=fs(this.props.target);if(s)return r=t.createRoot(cs,{props:{slots:n}}),r.node.pluginManager=e.pluginManager,ae.set(r.node,[Dn(e)]),r.mount(s),i}),Z(i)}};function fs(e){return typeof e=="function"&&(e=e()),typeof e=="string"?document.querySelector(e):e instanceof HTMLElement?e:null}var hs=class extends Q{static template=ee`<t t-call-slot="default"/>`},ds=class extends Q{static template=ee`
10
10
  <t t-if="!this.prepared()">
11
11
  <t t-call-slot="fallback"/>
12
12
  </t>
13
- `;props=tt({slots:B.object(["default","fallback?"])});prepared=R(!1);mounted=R(!1);subRootMounted=!1;setup(){let e=this.__owl__,t=e.app.createRoot(ts,{props:{slots:this.props.slots}});t.node.pluginManager=e.pluginManager,oe.set(t.node,[wn(e)]),t.prepare().then(()=>this.prepared.set(!0));let n=t.node.fiber;n&&n.counter===0&&this.prepared.set(!0),Un(()=>this.mounted.set(!0)),Ce(()=>{if(this.subRootMounted||!this.prepared()||!this.mounted())return;this.subRootMounted=!0;let r=e.bdom.firstNode();t.mount(r.parentElement,{afterNode:r})}),Y(()=>t.destroy())}};function rs(e,t){let n=H(),r=new he(n.app,{parent:n.pluginManager,config:t});n.pluginManager=r,Y(()=>r.destroy()),Ue(r,e),r.status<k.MOUNTED&&ze(()=>r.ready)}me.shouldNormalizeDom=!1;me.mainEventHandler=Fi;var is={config:me,mount:Xe,patch:gi,remove:bi,list:Ln,multi:Pt,text:xe,toggler:se,createBlock:On,html:Bt},ss={version:Vt.version,date:"2026-06-05T08:44:38.319Z",hash:"3206cf27",url:"https://github.com/odoo/owl"};var os="true,false,NaN,null,undefined,debugger,console,window,in,instanceof,new,function,return,eval,void,Math,RegExp,Array,Object,Date,__globals__".split(","),Hn=Object.assign(Object.create(null),{and:"&&",or:"||",gt:">",gte:">=",lt:"<",lte:"<="}),Gn=Object.assign(Object.create(null),{"{":"LEFT_BRACE","}":"RIGHT_BRACE","[":"LEFT_BRACKET","]":"RIGHT_BRACKET",":":"COLON",",":"COMMA","(":"LEFT_PAREN",")":"RIGHT_PAREN"}),ls="...,.,===,==,+,!==,!=,!,||,&&,>=,>,<=,<,?,-,*,/,%,typeof ,=>,=,;,in ,new ,|,&,^,~".split(","),as=function(e){let t=e[0],n=t;if(t!=="'"&&t!=='"'&&t!=="`")return!1;let r=1,i;for(;e[r]&&e[r]!==n;){if(i=e[r],t+=i,i==="\\"){if(r++,i=e[r],!i)throw new g("Invalid expression");t+=i}r++}if(e[r]!==n)throw new g("Invalid expression");return t+=n,n==="`"?{type:"TEMPLATE_STRING",value:t,replace(s){return t.replace(/\$\{(.*?)\}/g,(o,l)=>"${"+s(l)+"}")}}:{type:"VALUE",value:t}},cs=function(e){let t=e[0];if(t&&t.match(/[0-9]/)){let n=1;for(;e[n]&&e[n].match(/[0-9]|\./);)t+=e[n],n++;return{type:"VALUE",value:t}}else return!1},us=function(e){let t=e[0];if(t&&t.match(/[a-zA-Z_\$]/)){let n=1;for(;e[n]&&e[n].match(/[\w\$]/);)t+=e[n],n++;return t in Hn?{type:"OPERATOR",value:Hn[t],size:t.length}:{type:"SYMBOL",value:t}}else return!1},hs=function(e){let t=e[0];return t&&t in Gn?{type:Gn[t],value:t}:!1},fs=function(e){for(let t of ls)if(e.startsWith(t))return{type:"OPERATOR",value:t};return!1},ds=[as,cs,fs,us,hs];function ps(e){let t=[],n=!0,r,i=e;try{for(;n;)if(i=i.trim(),i){for(let s of ds)if(n=s(i),n){t.push(n),i=i.slice(n.size||n.value.length);break}}else n=!1}catch(s){r=s}if(i.length||r)throw new g(`Tokenizer error: could not tokenize \`${e}\``);return t}var ms=e=>e&&(e.type==="LEFT_BRACE"||e.type==="COMMA"),gs=e=>e&&(e.type==="RIGHT_BRACE"||e.type==="COMMA"),bs=new Map([["in "," in "]]);function tr(e,t){let n=[];t?.size&&n.push({vars:t,depth:-1/0});let r=ps(e),i=0,s=[],o=-1;function l(a){return n.some(u=>u.vars.has(a))}for(;i<r.length;){let a=r[i],u=r[i-1],h=r[i+1],m=s[s.length-1];switch(a.type){case"LEFT_BRACE":case"LEFT_BRACKET":case"LEFT_PAREN":s.push(a.type);break;case"RIGHT_BRACE":case"RIGHT_BRACKET":case"RIGHT_PAREN":for(s.pop();n.length>0&&s.length<n[n.length-1].depth;)n.pop();break}let p=a.type==="SYMBOL"&&!os.includes(a.value);if(p&&u&&(m==="LEFT_BRACE"&&ms(u)&&gs(h)&&(r.splice(i+1,0,{type:"COLON",value:":"},{...a}),h=r[i+1]),(u.type==="OPERATOR"&&u.value==="."||(u.type==="LEFT_BRACE"||u.type==="COMMA")&&h&&h.type==="COLON")&&(p=!1)),a.type==="TEMPLATE_STRING"){let b=new Set;for(let d of n)for(let A of d.vars)b.add(A);a.value=a.replace(d=>D(d,b))}if(h&&h.type==="OPERATOR"&&h.value==="=>"){let b=new Set;if(s.length===0&&(o=i+1),a.type==="RIGHT_PAREN"){let d=i-1;for(;d>0&&r[d].type!=="LEFT_PAREN";)r[d].type==="SYMBOL"&&r[d].originalValue&&(b.add(r[d].originalValue),r[d].value=`_${r[d].originalValue}`,r[d].isLocal=!0),d--}else b.add(a.value);n.push({vars:b,depth:s.length})}p&&(a.varName=a.value,l(a.value)?(a.value=`_${a.value}`,a.isLocal=!0):(a.originalValue=a.value,a.value=`ctx['${a.value}']`)),i++}let c=null;if(o!==-1){c=[];let a=new Set;for(let u=o+1;u<r.length;u++){let h=r[u];h.varName&&!h.isLocal&&h.varName!=="this"&&!a.has(h.varName)&&(a.add(h.varName),c.push(h.varName))}}return{expr:r.map(a=>bs.get(a.value)||a.value).join(""),freeVariables:c}}function D(e,t){return tr(e,t).expr}var it=/\{\{.*?\}\}|\#\{.*?\}/g;function vs(e,t){let n=e.match(it);return n&&n[0].length===e.length?`(${t(e.slice(2,n[0][0]==="{"?-2:-1))})`:"`"+e.replace(it,i=>"${"+t(i.slice(2,i[0]==="{"?-2:-1))+"}")+"`"}function Ft(e){return vs(e,D)}function Wt(e){let n=new DOMParser().parseFromString(e,"text/xml");if(n.getElementsByTagName("parsererror").length){let r="Invalid XML in template.",i=n.getElementsByTagName("parsererror")[0].textContent;if(i){r+=`
13
+ `;props=it({slots:j.object({default:j.any(),fallback:j.any().optional()})});prepared=O(!1);mounted=O(!1);subRootMounted=!1;setup(){let e=this.__owl__,t=e.app.createRoot(hs,{props:{slots:this.props.slots}});t.node.pluginManager=e.pluginManager,ae.set(t.node,[Dn(e)]),t.prepare().then(()=>this.prepared.set(!0));let n=t.node.fiber;n&&n.counter===0&&this.prepared.set(!0),Qn(()=>this.mounted.set(!0)),Ae(()=>{if(this.subRootMounted||!this.prepared()||!this.mounted())return;this.subRootMounted=!0;let r=e.bdom.firstNode();t.mount(r.parentElement,{afterNode:r})}),Z(()=>t.destroy())}};function ps(e,t){let n=G(),r=new pe(n.app,{parent:n.pluginManager,config:t});n.pluginManager=r,Z(()=>r.destroy()),Ge(r,e),r.status<k.MOUNTED&&qe(()=>r.ready)}ve.shouldNormalizeDom=!1;ve.mainEventHandler=Qi;var ms={config:ve,mount:Je,patch:Ai,remove:Di,list:Hn,multi:Ft,text:Re,toggler:le,createBlock:Fn,html:Wt},gs={version:zt.version,date:"2026-06-11T18:30:46.327Z",hash:"eb837019",url:"https://github.com/odoo/owl"};var bs="true,false,NaN,null,undefined,debugger,console,window,in,instanceof,new,function,return,eval,void,Math,RegExp,Array,Object,Date,__globals__".split(","),tr=Object.assign(Object.create(null),{and:"&&",or:"||",gt:">",gte:">=",lt:"<",lte:"<="}),nr=Object.assign(Object.create(null),{"{":"LEFT_BRACE","}":"RIGHT_BRACE","[":"LEFT_BRACKET","]":"RIGHT_BRACKET",":":"COLON",",":"COMMA","(":"LEFT_PAREN",")":"RIGHT_PAREN"}),vs="...,.,===,==,+,!==,!=,!,||,&&,>=,>,<=,<,?,-,*,/,%,typeof ,=>,=,;,in ,new ,|,&,^,~".split(","),ys=function(e){let t=e[0],n=t;if(t!=="'"&&t!=='"'&&t!=="`")return!1;let r=1,i;for(;e[r]&&e[r]!==n;){if(i=e[r],t+=i,i==="\\"){if(r++,i=e[r],!i)throw new g("Invalid expression");t+=i}r++}if(e[r]!==n)throw new g("Invalid expression");return t+=n,n==="`"?{type:"TEMPLATE_STRING",value:t,replace(s){return t.replace(/\$\{(.*?)\}/g,(o,l)=>"${"+s(l)+"}")}}:{type:"VALUE",value:t}},ws=function(e){let t=e[0];if(t&&t.match(/[0-9]/)){let n=1;for(;e[n]&&e[n].match(/[0-9]|\./);)t+=e[n],n++;return{type:"VALUE",value:t}}else return!1},Ts=function(e){let t=e[0];if(t&&t.match(/[a-zA-Z_\$]/)){let n=1;for(;e[n]&&e[n].match(/[\w\$]/);)t+=e[n],n++;return t in tr?{type:"OPERATOR",value:tr[t],size:t.length}:{type:"SYMBOL",value:t}}else return!1},Ns=function(e){let t=e[0];return t&&t in nr?{type:nr[t],value:t}:!1},Es=function(e){for(let t of vs)if(e.startsWith(t))return{type:"OPERATOR",value:t};return!1},$s=[ys,ws,Es,Ts,Ns];function Ss(e){let t=[],n=!0,r,i=e;try{for(;n;)if(i=i.trim(),i){for(let s of $s)if(n=s(i),n){t.push(n),i=i.slice(n.size||n.value.length);break}}else n=!1}catch(s){r=s}if(i.length||r)throw new g(`Tokenizer error: could not tokenize \`${e}\``);return t}var Cs=e=>e&&(e.type==="LEFT_BRACE"||e.type==="COMMA"),ks=e=>e&&(e.type==="RIGHT_BRACE"||e.type==="COMMA"),As=new Map([["in "," in "]]);function ur(e,t){let n=[];t?.size&&n.push({vars:t,depth:-1/0});let r=Ss(e),i=0,s=[],o=-1;function l(a){return n.some(u=>u.vars.has(a))}for(;i<r.length;){let a=r[i],u=r[i-1],f=r[i+1],m=s[s.length-1];switch(a.type){case"LEFT_BRACE":case"LEFT_BRACKET":case"LEFT_PAREN":s.push(a.type);break;case"RIGHT_BRACE":case"RIGHT_BRACKET":case"RIGHT_PAREN":for(s.pop();n.length>0&&s.length<n[n.length-1].depth;)n.pop();break}let p=a.type==="SYMBOL"&&!bs.includes(a.value);if(p&&u&&(m==="LEFT_BRACE"&&Cs(u)&&ks(f)&&(r.splice(i+1,0,{type:"COLON",value:":"},{...a}),f=r[i+1]),(u.type==="OPERATOR"&&u.value==="."||(u.type==="LEFT_BRACE"||u.type==="COMMA")&&f&&f.type==="COLON")&&(p=!1)),a.type==="TEMPLATE_STRING"){let b=new Set;for(let d of n)for(let A of d.vars)b.add(A);a.value=a.replace(d=>_(d,b))}if(f&&f.type==="OPERATOR"&&f.value==="=>"){let b=new Set;if(s.length===0&&(o=i+1),a.type==="RIGHT_PAREN"){let d=i-1;for(;d>0&&r[d].type!=="LEFT_PAREN";)r[d].type==="SYMBOL"&&r[d].originalValue&&(b.add(r[d].originalValue),r[d].value=`_${r[d].originalValue}`,r[d].isLocal=!0),d--}else b.add(a.value);n.push({vars:b,depth:s.length})}p&&(a.varName=a.value,l(a.value)?(a.value=`_${a.value}`,a.isLocal=!0):(a.originalValue=a.value,a.value=`ctx['${a.value}']`)),i++}let c=null;if(o!==-1){c=[];let a=new Set;for(let u=o+1;u<r.length;u++){let f=r[u];f.varName&&!f.isLocal&&f.varName!=="this"&&!a.has(f.varName)&&(a.add(f.varName),c.push(f.varName))}}return{expr:r.map(a=>As.get(a.value)||a.value).join(""),freeVariables:c}}function _(e,t){return ur(e,t).expr}var lt=/\{\{.*?\}\}|\#\{.*?\}/g;function Ds(e,t){let n=e.match(lt);return n&&n[0].length===e.length?`(${t(e.slice(2,n[0][0]==="{"?-2:-1))})`:"`"+e.replace(lt,i=>"${"+t(i.slice(2,i[0]==="{"?-2:-1))+"}")+"`"}function Ht(e){return Ds(e,_)}function qt(e){let n=new DOMParser().parseFromString(e,"text/xml");if(n.getElementsByTagName("parsererror").length){let r="Invalid XML in template.",i=n.getElementsByTagName("parsererror")[0].textContent;if(i){r+=`
14
14
  The parser has produced the following error message:
15
15
  `+i;let s=/\d+/g,o=s.exec(i);if(o){let l=Number(o[0]),c=e.split(`
16
- `)[l-1],f=s.exec(i);if(c&&f){let a=Number(f[0])-1;c[a]&&(r+=`
16
+ `)[l-1],h=s.exec(i);if(c&&h){let a=Number(h[0])-1;c[a]&&(r+=`
17
17
  The error might be located at xml line ${l} column ${a}
18
18
  ${c}
19
- ${"-".repeat(a-1)}^`)}}}throw new g(r)}return n}var N={Text:0,DomNode:2,Multi:3,TIf:4,TSet:5,TCall:6,TOut:7,TForEach:8,TKey:9,TComponent:10,TDebug:11,TLog:12,TCallSlot:13,TCallBlock:14,TTranslation:15,TTranslationContext:16},te={First:1,Last:2,Index:4,Value:8},qn=new WeakMap;function ys(e,t){let n={inPreTag:!1,customDirectives:t};if(typeof e=="string"){let i=Wt(`<t>${e}</t>`).firstChild;return Xn(i,n)}let r=qn.get(e);return r||(r=Xn(e.cloneNode(!0),n),qn.set(e,r)),r}function Xn(e,t){return Fs(e),L(e,t)||{type:N.Text,value:""}}function L(e,t){return e instanceof Element?Es(e,t)||$s(e,t)||As(e,t)||Os(e,t)||Ls(e,t)||Bs(e,t)||Ds(e,t)||xs(e,t)||_s(e,t)||ks(e,t)||Ps(e,t)||Is(e,t)||Cs(e,t)||Rs(e,t)||ws(e,t):Ns(e,t)}function ws(e,t){return e.tagName!=="t"?null:st(e,t)}var Ts=/[\r\n]/;function Ns(e,t){if(e.nodeType===Node.TEXT_NODE){let n=e.textContent||"";return!t.inPreTag&&Ts.test(n)&&!n.trim()?null:{type:N.Text,value:n}}return null}function Es(e,t){if(!t.customDirectives)return null;let n=e.getAttributeNames();for(let r of n){if(r==="t-custom"||r==="t-custom-")throw new g("Missing custom directive name with t-custom directive");if(r.startsWith("t-custom-")){let i=r.split(".")[0].slice(9),s=t.customDirectives[i];if(!s)throw new g(`Custom directive "${i}" is not defined`);let o=e.getAttribute(r),l=r.split(".").slice(1);e.removeAttribute(r);try{s(e,o,l)}catch(c){throw new g(`Custom directive "${i}" throw the following error: ${c}`)}return L(e,t)}}return null}function $s(e,t){if(e.hasAttribute("t-debug")){e.removeAttribute("t-debug");let n=L(e,t),r={type:N.TDebug,content:n};return n?.hasNoRepresentation&&(r.hasNoRepresentation=!0),r}if(e.hasAttribute("t-log")){let n=e.getAttribute("t-log");e.removeAttribute("t-log");let r=L(e,t),i={type:N.TLog,expr:n,content:r};return r?.hasNoRepresentation&&(i.hasNoRepresentation=!0),i}return null}var Ss=new Set(["svg","g","path"]);function Cs(e,t){let{tagName:n}=e,r=e.getAttribute("t-tag");if(e.removeAttribute("t-tag"),n==="t"&&!r)return null;if(n.startsWith("block-"))throw new g(`Invalid tag name: '${n}'`);t=Object.assign({},t),n==="pre"&&(t.inPreTag=!0);let i=!t.nameSpace&&Ss.has(n)?"http://www.w3.org/2000/svg":null,s=e.getAttribute("t-ref");e.removeAttribute("t-ref");let o=e.getAttributeNames(),l=null,c=null,f=null,a=null;for(let h of o){let m=e.getAttribute(h);if(h==="t-on"||h==="t-on-")throw new g("Missing event name with t-on directive");if(h.startsWith("t-on-"))f=f||{},f[h.slice(5)]=m;else if(h.startsWith("t-model")){if(!["input","select","textarea"].includes(n))throw new g("The t-model directive only works with <input>, <textarea> and <select>");let p=e.getAttribute("type"),b=n==="input",d=n==="select",A=b&&p==="checkbox",E=b&&p==="radio",T=h.includes(".trim"),C=T||h.includes(".lazy"),y=h.includes(".number"),w=h.includes(".proxy");a={expr:m,targetAttr:A?"checked":"value",specialInitTargetAttr:E?"checked":null,eventType:E?"click":d||C?"change":"input",hasDynamicChildren:!1,shouldTrim:T,shouldNumberize:y,isProxy:w},d&&(t=Object.assign({},t),t.tModelInfo=a)}else{if(h.startsWith("block-"))throw new g(`Invalid attribute: '${h}'`);if(h==="xmlns")i=m;else if(h.startsWith("t-translation-context-")){let p=h.slice(22);c=c||{},c[p]=m}else if(h!=="t-name"){if(h.startsWith("t-")&&!h.startsWith("t-att"))throw new g(`Unknown QWeb directive: '${h}'`);let p=t.tModelInfo;p&&["t-att-value","t-attf-value"].includes(h)&&(p.hasDynamicChildren=!0),l=l||{},l[h]=m}}}i&&(t.nameSpace=i);let u=Ut(e,t);return{type:N.DomNode,tag:n,dynamicTag:r,attrs:l,attrsTranslationCtx:c,on:f,ref:s,content:u,model:a,ns:i}}function ks(e,t){if(!e.hasAttribute("t-out")&&!e.hasAttribute("t-esc"))return null;e.hasAttribute("t-esc")&&console.warn('t-esc has been deprecated in favor of t-out. If the value to render is not wrapped by the "markup" function, it will be escaped');let n=e.getAttribute("t-out")||e.getAttribute("t-esc");e.removeAttribute("t-out"),e.removeAttribute("t-esc");let r={type:N.TOut,expr:n,body:null},i=e.getAttribute("t-ref");e.removeAttribute("t-ref");let s=L(e,t);return s&&s.type===N.DomNode?(r.body=s.content.length?s.content:null,{...s,ref:i,content:[r]}):r}function As(e,t){if(!e.hasAttribute("t-foreach"))return null;let n=e.outerHTML,r=e.getAttribute("t-foreach");e.removeAttribute("t-foreach");let i=e.getAttribute("t-as")||"";e.removeAttribute("t-as");let s=e.getAttribute("t-key");if(!s)throw new g(`"Directive t-foreach should always be used with a t-key!" (expression: t-foreach="${r}" t-as="${i}")`);e.removeAttribute("t-key");let o=L(e,t);if(!o)return null;let l=!n.includes("t-call"),c=0;return l&&!n.includes(`${i}_first`)&&(c|=te.First),l&&!n.includes(`${i}_last`)&&(c|=te.Last),l&&!n.includes(`${i}_index`)&&(c|=te.Index),l&&!n.includes(`${i}_value`)&&(c|=te.Value),{type:N.TForEach,collection:r,elem:i,body:o,key:s,noFlags:c}}function _s(e,t){if(!e.hasAttribute("t-key"))return null;let n=e.getAttribute("t-key");e.removeAttribute("t-key");let r=L(e,t);if(!r)return null;let i={type:N.TKey,expr:n,content:r};return r.hasNoRepresentation&&(i.hasNoRepresentation=!0),i}function Ds(e,t){if(!e.hasAttribute("t-call"))return null;if(e.tagName!=="t")throw new g(`Directive 't-call' can only be used on <t> nodes (used on a <${e.tagName}>)`);let n=e.getAttribute("t-call"),r=e.getAttribute("t-call-context");e.removeAttribute("t-call"),e.removeAttribute("t-call-context");let i=null,s=null;for(let l of e.getAttributeNames()){let c=e.getAttribute(l);if(l.startsWith("t-translation-context-")){let f=l.slice(22);s=s||{},s[f]=c}else i=i||{},i[l]=c}let o=st(e,t);return{type:N.TCall,name:n,attrs:i,attrsTranslationCtx:s,body:o,context:r}}function xs(e,t){if(!e.hasAttribute("t-call-block"))return null;let n=e.getAttribute("t-call-block");return{type:N.TCallBlock,name:n}}function Os(e,t){if(!e.hasAttribute("t-if"))return null;let n=e.getAttribute("t-if");e.removeAttribute("t-if");let r=L(e,t)||{type:N.Text,value:""},i=e.nextElementSibling,s=[];for(;i&&i.hasAttribute("t-elif");){let l=i.getAttribute("t-elif");i.removeAttribute("t-elif");let c=L(i,t),f=i.nextElementSibling;i.remove(),i=f,c&&s.push({condition:l,content:c})}let o=null;return i&&i.hasAttribute("t-else")&&(i.removeAttribute("t-else"),o=L(i,t),i.remove()),{type:N.TIf,condition:n,content:r,tElif:s.length?s:null,tElse:o}}function Rs(e,t){if(!e.hasAttribute("t-set"))return null;let n=e.getAttribute("t-set"),r=e.getAttribute("t-value")||null,i=e.innerHTML===e.textContent&&e.textContent||null,s=null;return e.textContent!==e.innerHTML&&(s=Ut(e,t)),{type:N.TSet,name:n,value:r,defaultValue:i,body:s,hasNoRepresentation:!0}}var Ms=new Map([["t-ref","t-ref is no longer supported on components. Consider exposing only the public part of the component's API through a callback prop."],["t-att","t-att makes no sense on component: props are already treated as expressions"],["t-attf","t-attf is not supported on components: use template strings for string interpolation in props"]]);function Is(e,t){let n=e.tagName,r=n[0],i=e.hasAttribute("t-component");if(i&&n!=="t")throw new g(`Directive 't-component' can only be used on <t> nodes (used on a <${n}>)`);if(!(r===r.toUpperCase()||i))return null;i&&(n=e.getAttribute("t-component"),e.removeAttribute("t-component"));let s=e.getAttribute("t-props");e.removeAttribute("t-props");let o=e.getAttribute("t-slot-scope");e.removeAttribute("t-slot-scope");let l=null,c=null,f=null;for(let u of e.getAttributeNames()){let h=e.getAttribute(u);if(u.startsWith("t-translation-context-")){let m=u.slice(22);f=f||{},f[m]=h}else if(u.startsWith("t-"))if(u.startsWith("t-on-"))l=l||{},l[u.slice(5)]=h;else{let m=Ms.get(u.split("-").slice(0,2).join("-"));throw new g(m||`unsupported directive on Component: ${u}`)}else c=c||{},c[u]=h}let a=null;if(e.hasChildNodes()){let u=e.cloneNode(!0),h=Array.from(u.querySelectorAll("[t-set-slot]"));for(let p of h){if(p.tagName!=="t")throw new g(`Directive 't-set-slot' can only be used on <t> nodes (used on a <${p.tagName}>)`);let b=p.getAttribute("t-set-slot"),d=p.parentElement,A=!1;for(;d&&d!==u;){if(d.hasAttribute("t-component")||d.tagName[0]===d.tagName[0].toUpperCase()){A=!0;break}d=d.parentElement}if(A||!d)continue;p.removeAttribute("t-set-slot"),p.remove();let E=L(p,t),T=null,C=null,y=null,w=null;for(let v of p.getAttributeNames()){let $=p.getAttribute(v);if(v==="t-slot-scope"){w=$;continue}else if(v.startsWith("t-translation-context-")){let _=v.slice(22);y=y||{},y[_]=$}else v.startsWith("t-on-")?(T=T||{},T[v.slice(5)]=$):(C=C||{},C[v]=$)}a=a||{},a[b]={content:E,on:T,attrs:C,attrsTranslationCtx:y,scope:w}}let m=st(u,t);a=a||{},m&&!a.default&&(a.default={content:m,on:null,attrs:null,attrsTranslationCtx:null,scope:o})}return{type:N.TComponent,name:n,isDynamic:i,dynamicProps:s,props:c,propsTranslationCtx:f,slots:a,on:l}}function Ps(e,t){if(!e.hasAttribute("t-call-slot")&&!e.hasAttribute("t-slot"))return null;e.hasAttribute("t-slot")&&console.warn("t-slot has been renamed t-call-slot.");let n=e.getAttribute("t-call-slot")||e.getAttribute("t-slot");e.removeAttribute("t-call-slot"),e.removeAttribute("t-slot");let r=null,i=null,s=null;for(let o of e.getAttributeNames()){let l=e.getAttribute(o);if(o.startsWith("t-on-"))s=s||{},s[o.slice(5)]=l;else if(o.startsWith("t-translation-context-")){let c=o.slice(22);i=i||{},i[c]=l}else r=r||{},r[o]=l}return{type:N.TCallSlot,name:n,attrs:r,attrsTranslationCtx:i,on:s,defaultContent:st(e,t)}}function Yn(e){let t={type:N.TTranslation,content:e};return e?.hasNoRepresentation&&(t.hasNoRepresentation=!0),t}function Ls(e,t){if(e.getAttribute("t-translation")!=="off")return null;e.removeAttribute("t-translation");let n=L(e,t);if(n?.type===N.Multi){let r=n.content.map(Yn);return zt(r)}return Yn(n)}function Zn(e,t){let n={type:N.TTranslationContext,content:e,translationCtx:t};return e?.hasNoRepresentation&&(n.hasNoRepresentation=!0),n}function Bs(e,t){let n=e.getAttribute("t-translation-context");if(!n)return null;e.removeAttribute("t-translation-context");let r=L(e,t);if(r?.type===N.Multi){let i=r.content.map(s=>Zn(s,n));return zt(i)}return Zn(r,n)}function Ut(e,t){let n=[];for(let r of e.childNodes){let i=L(r,t);i&&(i.type===N.Multi?n.push(...i.content):n.push(i))}return n}function zt(e){let t={type:N.Multi,content:e};return e.every(n=>n.hasNoRepresentation)&&(t.hasNoRepresentation=!0),t}function st(e,t){let n=Ut(e,t);switch(n.length){case 0:return null;case 1:return n[0];default:return zt(n)}}function js(e){let t=e.querySelectorAll("[t-elif], [t-else]");for(let n=0,r=t.length;n<r;n++){let i=t[n],s=i.previousElementSibling,o=c=>s.getAttribute(c),l=c=>+!!i.getAttribute(c);if(s&&(o("t-if")||o("t-elif"))){if(o("t-foreach"))throw new g("t-if cannot stay at the same level as t-foreach when using t-elif or t-else");if(["t-if","t-elif","t-else"].map(l).reduce(function(f,a){return f+a})>1)throw new g("Only one conditional branching directive is allowed per node");let c;for(;(c=i.previousSibling)!==s;){if(c.nodeValue.trim().length&&c.nodeType!==8)throw new g("text is not allowed between branching directives");c.remove()}}else throw new g("t-elif and t-else directives must be preceded by a t-if or t-elif directive")}}function Vs(e){let t=[...e.querySelectorAll("[t-out]")].filter(n=>n.tagName[0]===n.tagName[0].toUpperCase()||n.hasAttribute("t-component"));for(let n of t){if(n.childNodes.length)throw new g("Cannot have t-out on a component that already has content");let r=n.getAttribute("t-out");n.removeAttribute("t-out");let i=n.ownerDocument.createElement("t");r!=null&&i.setAttribute("t-out",r),n.appendChild(i)}}function Fs(e){js(e),Vs(e)}var Jn=Symbol("zero"),Ks=/\s+/g,ee;typeof document<"u"&&(ee=document.implementation.createDocument(null,null,null));var Ws=new Set(["stop","capture","prevent","self","synthetic","passive"]),rt={};function M(e=""){return rt[e]=(rt[e]||0)+1,e+rt[e]}function Us(e,t){switch(e){case"input":return t==="checked"||t==="indeterminate"||t==="value"||t==="readonly"||t==="readOnly"||t==="disabled";case"option":return t==="selected"||t==="disabled";case"textarea":return t==="value"||t==="readonly"||t==="readOnly"||t==="disabled";case"select":return t==="value"||t==="disabled";case"button":case"optgroup":return t==="disabled"}return!1}function nt(e){return`\`${e.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\$\{/,"\\${")}\``}var Kt=class nr{static nextBlockId=1;varName;blockName;dynamicTagName=null;isRoot=!1;hasDynamicChildren=!1;children=[];data=[];dom;currentDom;childNumber=0;target;type;parentVar="";id;constructor(t,n){this.id=nr.nextBlockId++,this.varName="b"+this.id,this.blockName="block"+this.id,this.target=t,this.type=n}insertData(t,n="d"){let r=M(n);return this.target.addLine(`let ${r} = ${t};`),this.data.push(r)-1}insert(t){this.currentDom?this.currentDom.appendChild(t):this.dom=t}generateExpr(t){if(this.type==="block"){let n=this.children.length,r=this.data.length?`[${this.data.join(", ")}]`:n?"[]":"";return n&&(r+=", ["+this.children.map(i=>i.varName).join(", ")+"]"),this.dynamicTagName?`toggler(${this.dynamicTagName}, ${this.blockName}(${this.dynamicTagName})(${r}))`:`${this.blockName}(${r})`}else if(this.type==="list")return`list(c_block${this.id})`;return t}asXmlString(){let t=ee.createElement("t");return t.appendChild(this.dom),t.innerHTML}};function le(e,t){return Object.assign({block:null,index:0,forceNewBlock:!0,translate:e.translate,translationCtx:e.translationCtx,tKeyExpr:null,nameSpace:e.nameSpace,tModelSelectedExpr:e.tModelSelectedExpr},t)}var Qn=class{name;indentLevel=0;loopLevel=0;loopCtxVars=[];tSetVars=new Map;code=[];hasRoot=!1;deferReturn=!1;needsScopeProtection=!1;on;constructor(e,t){this.name=e,this.on=t||null}addLine(e,t){let n=new Array(this.indentLevel+2).join(" ");t===void 0?this.code.push(n+e):this.code.splice(t,0,n+e)}generateCode(){let e=[];e.push(`function ${this.name}(ctx, node, key = "") {`),this.needsScopeProtection&&e.push(" ctx = Object.create(ctx);");for(let t of this.code)e.push(t);return this.hasRoot||e.push("return text('');"),e.push("}"),e.join(`
20
- `)}currentKey(e){let t=this.loopLevel?`key${this.loopLevel}`:"key";return e.tKeyExpr&&(t=`${e.tKeyExpr} + ${t}`),t}},er=["alt","aria-label","aria-placeholder","aria-roledescription","aria-valuetext","label","placeholder","title"],zs=/^(\s*)([\s\S]+?)(\s*)$/,Hs=class{blocks=[];nextBlockId=1;isDebug=!1;targets=[];target=new Qn("template");templateName;dev;translateFn;translatableAttributes=er;ast;staticDefs=[];slotNames=new Set;helpers=new Set;constructor(e,t){if(this.translateFn=t.translateFn||(n=>n),t.translatableAttributes){let n=new Set(er);for(let r of t.translatableAttributes)r.startsWith("-")?n.delete(r.slice(1)):n.add(r);this.translatableAttributes=[...n]}this.dev=t.dev||!1,this.ast=e,this.templateName=t.name,t.name&&(t.name.startsWith("__")?this.target.name=t.name:this.target.name=`template_${t.name.replace(/[^a-zA-Z0-9_$]/g,"_")}`),t.hasGlobalValues&&this.helpers.add("__globals__")}generateCode(){let e=this.ast;this.isDebug=e.type===N.TDebug,Kt.nextBlockId=1,rt={},this.compileAST(e,{block:null,index:0,forceNewBlock:!1,translate:!0,translationCtx:"",tKeyExpr:null});let t=[" let { text, createBlock, list, multi, html, toggler } = bdom;"];this.helpers.size&&t.push(`let { ${[...this.helpers].join(", ")} } = helpers;`),this.templateName&&t.push(`// Template name: "${this.templateName}"`);for(let{id:r,expr:i}of this.staticDefs)t.push(`const ${r} = ${i};`);if(this.blocks.length){t.push("");for(let r of this.blocks)if(r.dom){let i=nt(r.asXmlString());r.dynamicTagName?(i=i.replace(/^`<\w+/,`\`<\${tag || '${r.dom.nodeName}'}`),i=i.replace(/\w+>`$/,`\${tag || '${r.dom.nodeName}'}>\``),t.push(`let ${r.blockName} = tag => createBlock(${i});`)):t.push(`let ${r.blockName} = createBlock(${i});`)}}if(this.targets.length)for(let r of this.targets)t.push(""),t=t.concat(r.generateCode());t.push(""),t=t.concat("return "+this.target.generateCode());let n=t.join(`
19
+ ${"-".repeat(a-1)}^`)}}}throw new g(r)}return n}var N={Text:0,DomNode:2,Multi:3,TIf:4,TSet:5,TCall:6,TOut:7,TForEach:8,TKey:9,TComponent:10,TDebug:11,TLog:12,TCallSlot:13,TCallBlock:14,TTranslation:15,TTranslationContext:16},ne={First:1,Last:2,Index:4,Value:8},rr=new WeakMap;function _s(e,t){let n={inPreTag:!1,customDirectives:t};if(typeof e=="string"){let i=qt(`<t>${e}</t>`).firstChild;return ir(i,n)}let r=rr.get(e);return r||(r=ir(e.cloneNode(!0),n),rr.set(e,r)),r}function ir(e,t){return Js(e),B(e,t)||{type:N.Text,value:""}}function B(e,t){return e instanceof Element?Ms(e,t)||Is(e,t)||js(e,t)||Ws(e,t)||qs(e,t)||Xs(e,t)||Fs(e,t)||Ks(e,t)||Vs(e,t)||Bs(e,t)||Gs(e,t)||Hs(e,t)||Ls(e,t)||Us(e,t)||xs(e,t):Rs(e,t)}function xs(e,t){return e.tagName!=="t"?null:at(e,t)}var Os=/[\r\n]/;function Rs(e,t){if(e.nodeType===Node.TEXT_NODE){let n=e.textContent||"";return!t.inPreTag&&Os.test(n)&&!n.trim()?null:{type:N.Text,value:n}}return null}function Ms(e,t){if(!t.customDirectives)return null;let n=e.getAttributeNames();for(let r of n){if(r==="t-custom"||r==="t-custom-")throw new g("Missing custom directive name with t-custom directive");if(r.startsWith("t-custom-")){let i=r.split(".")[0].slice(9),s=t.customDirectives[i];if(!s)throw new g(`Custom directive "${i}" is not defined`);let o=e.getAttribute(r),l=r.split(".").slice(1);e.removeAttribute(r);try{s(e,o,l)}catch(c){throw new g(`Custom directive "${i}" throw the following error: ${c}`)}return B(e,t)}}return null}function Is(e,t){if(e.hasAttribute("t-debug")){e.removeAttribute("t-debug");let n=B(e,t),r={type:N.TDebug,content:n};return n?.hasNoRepresentation&&(r.hasNoRepresentation=!0),r}if(e.hasAttribute("t-log")){let n=e.getAttribute("t-log");e.removeAttribute("t-log");let r=B(e,t),i={type:N.TLog,expr:n,content:r};return r?.hasNoRepresentation&&(i.hasNoRepresentation=!0),i}return null}var Ps=new Set(["svg","g","path"]);function Ls(e,t){let{tagName:n}=e,r=e.getAttribute("t-tag");if(e.removeAttribute("t-tag"),n==="t"&&!r)return null;if(n.startsWith("block-"))throw new g(`Invalid tag name: '${n}'`);t=Object.assign({},t),n==="pre"&&(t.inPreTag=!0);let i=!t.nameSpace&&Ps.has(n)?"http://www.w3.org/2000/svg":null,s=e.getAttribute("t-ref");e.removeAttribute("t-ref");let o=e.getAttributeNames(),l=null,c=null,h=null,a=null;for(let f of o){let m=e.getAttribute(f);if(f==="t-on"||f==="t-on-")throw new g("Missing event name with t-on directive");if(f.startsWith("t-on-"))h=h||{},h[f.slice(5)]=m;else if(f.startsWith("t-model")){if(!["input","select","textarea"].includes(n))throw new g("The t-model directive only works with <input>, <textarea> and <select>");let p=e.getAttribute("type"),b=n==="input",d=n==="select",A=b&&p==="checkbox",E=b&&p==="radio",T=f.includes(".trim"),C=T||f.includes(".lazy"),y=f.includes(".number"),w=f.includes(".proxy");a={expr:m,targetAttr:A?"checked":"value",specialInitTargetAttr:E?"checked":null,eventType:E?"click":d||C?"change":"input",hasDynamicChildren:!1,shouldTrim:T,shouldNumberize:y,isProxy:w},d&&(t=Object.assign({},t),t.tModelInfo=a)}else{if(f.startsWith("block-"))throw new g(`Invalid attribute: '${f}'`);if(f==="xmlns")i=m;else if(f.startsWith("t-translation-context-")){let p=f.slice(22);c=c||{},c[p]=m}else if(f!=="t-name"){if(f.startsWith("t-")&&!f.startsWith("t-att"))throw new g(`Unknown QWeb directive: '${f}'`);let p=t.tModelInfo;p&&["t-att-value","t-attf-value"].includes(f)&&(p.hasDynamicChildren=!0),l=l||{},l[f]=m}}}i&&(t.nameSpace=i);let u=Xt(e,t);return{type:N.DomNode,tag:n,dynamicTag:r,attrs:l,attrsTranslationCtx:c,on:h,ref:s,content:u,model:a,ns:i}}function Bs(e,t){if(!e.hasAttribute("t-out")&&!e.hasAttribute("t-esc"))return null;e.hasAttribute("t-esc")&&console.warn('t-esc has been deprecated in favor of t-out. If the value to render is not wrapped by the "markup" function, it will be escaped');let n=e.getAttribute("t-out")||e.getAttribute("t-esc");e.removeAttribute("t-out"),e.removeAttribute("t-esc");let r={type:N.TOut,expr:n,body:null},i=e.getAttribute("t-ref");e.removeAttribute("t-ref");let s=B(e,t);return s&&s.type===N.DomNode?(r.body=s.content.length?s.content:null,{...s,ref:i,content:[r]}):r}function js(e,t){if(!e.hasAttribute("t-foreach"))return null;let n=e.outerHTML,r=e.getAttribute("t-foreach");e.removeAttribute("t-foreach");let i=e.getAttribute("t-as")||"";e.removeAttribute("t-as");let s=e.getAttribute("t-key");if(!s)throw new g(`"Directive t-foreach should always be used with a t-key!" (expression: t-foreach="${r}" t-as="${i}")`);e.removeAttribute("t-key");let o=B(e,t);if(!o)return null;let l=!n.includes("t-call"),c=0;return l&&!n.includes(`${i}_first`)&&(c|=ne.First),l&&!n.includes(`${i}_last`)&&(c|=ne.Last),l&&!n.includes(`${i}_index`)&&(c|=ne.Index),l&&!n.includes(`${i}_value`)&&(c|=ne.Value),{type:N.TForEach,collection:r,elem:i,body:o,key:s,noFlags:c}}function Vs(e,t){if(!e.hasAttribute("t-key"))return null;let n=e.getAttribute("t-key");e.removeAttribute("t-key");let r=B(e,t);if(!r)return null;let i={type:N.TKey,expr:n,content:r};return r.hasNoRepresentation&&(i.hasNoRepresentation=!0),i}function Fs(e,t){if(!e.hasAttribute("t-call"))return null;if(e.tagName!=="t")throw new g(`Directive 't-call' can only be used on <t> nodes (used on a <${e.tagName}>)`);let n=e.getAttribute("t-call"),r=e.getAttribute("t-call-context");e.removeAttribute("t-call"),e.removeAttribute("t-call-context");let i=null,s=null;for(let l of e.getAttributeNames()){let c=e.getAttribute(l);if(l.startsWith("t-translation-context-")){let h=l.slice(22);s=s||{},s[h]=c}else i=i||{},i[l]=c}let o=at(e,t);return{type:N.TCall,name:n,attrs:i,attrsTranslationCtx:s,body:o,context:r}}function Ks(e,t){if(!e.hasAttribute("t-call-block"))return null;let n=e.getAttribute("t-call-block");return{type:N.TCallBlock,name:n}}function Ws(e,t){if(!e.hasAttribute("t-if"))return null;let n=e.getAttribute("t-if");e.removeAttribute("t-if");let r=B(e,t)||{type:N.Text,value:""},i=e.nextElementSibling,s=[];for(;i&&i.hasAttribute("t-elif");){let l=i.getAttribute("t-elif");i.removeAttribute("t-elif");let c=B(i,t),h=i.nextElementSibling;i.remove(),i=h,c&&s.push({condition:l,content:c})}let o=null;return i&&i.hasAttribute("t-else")&&(i.removeAttribute("t-else"),o=B(i,t),i.remove()),{type:N.TIf,condition:n,content:r,tElif:s.length?s:null,tElse:o}}function Us(e,t){if(!e.hasAttribute("t-set"))return null;let n=e.getAttribute("t-set"),r=e.getAttribute("t-value")||null,i=e.innerHTML===e.textContent&&e.textContent||null,s=null;return e.textContent!==e.innerHTML&&(s=Xt(e,t)),{type:N.TSet,name:n,value:r,defaultValue:i,body:s,hasNoRepresentation:!0}}var zs=new Map([["t-ref","t-ref is no longer supported on components. Consider exposing only the public part of the component's API through a callback prop."],["t-att","t-att makes no sense on component: props are already treated as expressions"],["t-attf","t-attf is not supported on components: use template strings for string interpolation in props"]]);function Hs(e,t){let n=e.tagName,r=n[0],i=e.hasAttribute("t-component");if(i&&n!=="t")throw new g(`Directive 't-component' can only be used on <t> nodes (used on a <${n}>)`);if(!(r===r.toUpperCase()||i))return null;i&&(n=e.getAttribute("t-component"),e.removeAttribute("t-component"));let s=e.getAttribute("t-props");e.removeAttribute("t-props");let o=e.getAttribute("t-slot-scope");e.removeAttribute("t-slot-scope");let l=null,c=null,h=null;for(let u of e.getAttributeNames()){let f=e.getAttribute(u);if(u.startsWith("t-translation-context-")){let m=u.slice(22);h=h||{},h[m]=f}else if(u.startsWith("t-"))if(u.startsWith("t-on-"))l=l||{},l[u.slice(5)]=f;else{let m=zs.get(u.split("-").slice(0,2).join("-"));throw new g(m||`unsupported directive on Component: ${u}`)}else c=c||{},c[u]=f}let a=null;if(e.hasChildNodes()){let u=e.cloneNode(!0),f=Array.from(u.querySelectorAll("[t-set-slot]"));for(let p of f){if(p.tagName!=="t")throw new g(`Directive 't-set-slot' can only be used on <t> nodes (used on a <${p.tagName}>)`);let b=p.getAttribute("t-set-slot"),d=p.parentElement,A=!1;for(;d&&d!==u;){if(d.hasAttribute("t-component")||d.tagName[0]===d.tagName[0].toUpperCase()){A=!0;break}d=d.parentElement}if(A||!d)continue;p.removeAttribute("t-set-slot"),p.remove();let E=B(p,t),T=null,C=null,y=null,w=null;for(let v of p.getAttributeNames()){let $=p.getAttribute(v);if(v==="t-slot-scope"){w=$;continue}else if(v.startsWith("t-translation-context-")){let D=v.slice(22);y=y||{},y[D]=$}else v.startsWith("t-on-")?(T=T||{},T[v.slice(5)]=$):(C=C||{},C[v]=$)}a=a||{},a[b]={content:E,on:T,attrs:C,attrsTranslationCtx:y,scope:w}}let m=at(u,t);a=a||{},m&&!a.default&&(a.default={content:m,on:null,attrs:null,attrsTranslationCtx:null,scope:o})}return{type:N.TComponent,name:n,isDynamic:i,dynamicProps:s,props:c,propsTranslationCtx:h,slots:a,on:l}}function Gs(e,t){if(!e.hasAttribute("t-call-slot")&&!e.hasAttribute("t-slot"))return null;e.hasAttribute("t-slot")&&console.warn("t-slot has been renamed t-call-slot.");let n=e.getAttribute("t-call-slot")||e.getAttribute("t-slot");e.removeAttribute("t-call-slot"),e.removeAttribute("t-slot");let r=null,i=null,s=null;for(let o of e.getAttributeNames()){let l=e.getAttribute(o);if(o.startsWith("t-on-"))s=s||{},s[o.slice(5)]=l;else if(o.startsWith("t-translation-context-")){let c=o.slice(22);i=i||{},i[c]=l}else r=r||{},r[o]=l}return{type:N.TCallSlot,name:n,attrs:r,attrsTranslationCtx:i,on:s,defaultContent:at(e,t)}}function sr(e){let t={type:N.TTranslation,content:e};return e?.hasNoRepresentation&&(t.hasNoRepresentation=!0),t}function qs(e,t){if(e.getAttribute("t-translation")!=="off")return null;e.removeAttribute("t-translation");let n=B(e,t);if(n?.type===N.Multi){let r=n.content.map(sr);return Yt(r)}return sr(n)}function or(e,t){let n={type:N.TTranslationContext,content:e,translationCtx:t};return e?.hasNoRepresentation&&(n.hasNoRepresentation=!0),n}function Xs(e,t){let n=e.getAttribute("t-translation-context");if(!n)return null;e.removeAttribute("t-translation-context");let r=B(e,t);if(r?.type===N.Multi){let i=r.content.map(s=>or(s,n));return Yt(i)}return or(r,n)}function Xt(e,t){let n=[];for(let r of e.childNodes){let i=B(r,t);i&&(i.type===N.Multi?n.push(...i.content):n.push(i))}return n}function Yt(e){let t={type:N.Multi,content:e};return e.every(n=>n.hasNoRepresentation)&&(t.hasNoRepresentation=!0),t}function at(e,t){let n=Xt(e,t);switch(n.length){case 0:return null;case 1:return n[0];default:return Yt(n)}}function Ys(e){let t=e.querySelectorAll("[t-elif], [t-else]");for(let n=0,r=t.length;n<r;n++){let i=t[n],s=i.previousElementSibling,o=c=>s.getAttribute(c),l=c=>+!!i.getAttribute(c);if(s&&(o("t-if")||o("t-elif"))){if(o("t-foreach"))throw new g("t-if cannot stay at the same level as t-foreach when using t-elif or t-else");if(["t-if","t-elif","t-else"].map(l).reduce(function(h,a){return h+a})>1)throw new g("Only one conditional branching directive is allowed per node");let c;for(;(c=i.previousSibling)!==s;){if(c.nodeValue.trim().length&&c.nodeType!==8)throw new g("text is not allowed between branching directives");c.remove()}}else throw new g("t-elif and t-else directives must be preceded by a t-if or t-elif directive")}}function Zs(e){let t=[...e.querySelectorAll("[t-out]")].filter(n=>n.tagName[0]===n.tagName[0].toUpperCase()||n.hasAttribute("t-component"));for(let n of t){if(n.childNodes.length)throw new g("Cannot have t-out on a component that already has content");let r=n.getAttribute("t-out");n.removeAttribute("t-out");let i=n.ownerDocument.createElement("t");r!=null&&i.setAttribute("t-out",r),n.appendChild(i)}}function Js(e){Ys(e),Zs(e)}var lr=Symbol("zero"),Qs=/\s+/g,te;typeof document<"u"&&(te=document.implementation.createDocument(null,null,null));var eo=new Set(["stop","capture","prevent","self","synthetic","passive"]),ot={};function I(e=""){return ot[e]=(ot[e]||0)+1,e+ot[e]}function to(e,t){switch(e){case"input":return t==="checked"||t==="indeterminate"||t==="value"||t==="readonly"||t==="readOnly"||t==="disabled";case"option":return t==="selected"||t==="disabled";case"textarea":return t==="value"||t==="readonly"||t==="readOnly"||t==="disabled";case"select":return t==="value"||t==="disabled";case"button":case"optgroup":return t==="disabled"}return!1}function st(e){return`\`${e.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\$\{/,"\\${")}\``}var Gt=class fr{static nextBlockId=1;varName;blockName;dynamicTagName=null;isRoot=!1;hasDynamicChildren=!1;children=[];data=[];dom;currentDom;childNumber=0;target;type;parentVar="";id;constructor(t,n){this.id=fr.nextBlockId++,this.varName="b"+this.id,this.blockName="block"+this.id,this.target=t,this.type=n}insertData(t,n="d"){let r=I(n);return this.target.addLine(`let ${r} = ${t};`),this.data.push(r)-1}insert(t){this.currentDom?this.currentDom.appendChild(t):this.dom=t}generateExpr(t){if(this.type==="block"){let n=this.children.length,r=this.data.length?`[${this.data.join(", ")}]`:n?"[]":"";return n&&(r+=", ["+this.children.map(i=>i.varName).join(", ")+"]"),this.dynamicTagName?`toggler(${this.dynamicTagName}, ${this.blockName}(${this.dynamicTagName})(${r}))`:`${this.blockName}(${r})`}else if(this.type==="list")return`list(c_block${this.id})`;return t}asXmlString(){let t=te.createElement("t");return t.appendChild(this.dom),t.innerHTML}};function ce(e,t){return Object.assign({block:null,index:0,forceNewBlock:!0,translate:e.translate,translationCtx:e.translationCtx,tKeyExpr:null,nameSpace:e.nameSpace,tModelSelectedExpr:e.tModelSelectedExpr},t)}var ar=class{name;indentLevel=0;loopLevel=0;loopCtxVars=[];tSetVars=new Map;code=[];hasRoot=!1;deferReturn=!1;needsScopeProtection=!1;on;constructor(e,t){this.name=e,this.on=t||null}addLine(e,t){let n=new Array(this.indentLevel+2).join(" ");t===void 0?this.code.push(n+e):this.code.splice(t,0,n+e)}generateCode(){let e=[];e.push(`function ${this.name}(ctx, node, key = "") {`),this.needsScopeProtection&&e.push(" ctx = Object.create(ctx);");for(let t of this.code)e.push(t);return this.hasRoot||e.push("return text('');"),e.push("}"),e.join(`
20
+ `)}currentKey(e){let t=this.loopLevel?`key${this.loopLevel}`:"key";return e.tKeyExpr&&(t=`${e.tKeyExpr} + ${t}`),t}},cr=["alt","aria-label","aria-placeholder","aria-roledescription","aria-valuetext","label","placeholder","title"],no=/^(\s*)([\s\S]+?)(\s*)$/,ro=class{blocks=[];nextBlockId=1;isDebug=!1;targets=[];target=new ar("template");templateName;dev;translateFn;translatableAttributes=cr;ast;staticDefs=[];slotNames=new Set;helpers=new Set;constructor(e,t){if(this.translateFn=t.translateFn||(n=>n),t.translatableAttributes){let n=new Set(cr);for(let r of t.translatableAttributes)r.startsWith("-")?n.delete(r.slice(1)):n.add(r);this.translatableAttributes=[...n]}this.dev=t.dev||!1,this.ast=e,this.templateName=t.name,t.name&&(t.name.startsWith("__")?this.target.name=t.name:this.target.name=`template_${t.name.replace(/[^a-zA-Z0-9_$]/g,"_")}`),t.hasGlobalValues&&this.helpers.add("__globals__")}generateCode(){let e=this.ast;this.isDebug=e.type===N.TDebug,Gt.nextBlockId=1,ot={},this.compileAST(e,{block:null,index:0,forceNewBlock:!1,translate:!0,translationCtx:"",tKeyExpr:null});let t=[" let { text, createBlock, list, multi, html, toggler } = bdom;"];this.helpers.size&&t.push(`let { ${[...this.helpers].join(", ")} } = helpers;`),this.templateName&&t.push(`// Template name: "${this.templateName}"`);for(let{id:r,expr:i}of this.staticDefs)t.push(`const ${r} = ${i};`);if(this.blocks.length){t.push("");for(let r of this.blocks)if(r.dom){let i=st(r.asXmlString());r.dynamicTagName?(i=i.replace(/^`<\w+/,`\`<\${tag || '${r.dom.nodeName}'}`),i=i.replace(/\w+>`$/,`\${tag || '${r.dom.nodeName}'}>\``),t.push(`let ${r.blockName} = tag => createBlock(${i});`)):t.push(`let ${r.blockName} = createBlock(${i});`)}}if(this.targets.length)for(let r of this.targets)t.push(""),t=t.concat(r.generateCode());t.push(""),t=t.concat("return "+this.target.generateCode());let n=t.join(`
21
21
  `);if(this.isDebug){let r=`[Owl Debug]
22
- ${n}`;console.log(r)}return n}compileInNewTarget(e,t,n,r){let i=M(e),s=this.target,o=new Qn(i,r);return this.targets.push(o),this.target=o,this.compileAST(t,le(n)),this.target=s,i}addLine(e,t){this.target.addLine(e,t)}define(e,t){this.addLine(`const ${e} = ${t};`)}insertAnchor(e,t=e.children.length){let n=`block-child-${t}`,r=ee.createElement(n);e.insert(r)}createBlock(e,t,n){let r=this.target.hasRoot,i=new Kt(this.target,t);return r||(this.target.hasRoot=!0,i.isRoot=!0),e&&(e.children.push(i),e.type==="list"&&(i.parentVar=`c_block${e.id}`)),i}insertBlock(e,t,n){let r=t.generateExpr(e);if(t.parentVar){let i=this.target.currentKey(n);this.helpers.add("withKey"),this.addLine(`${t.parentVar}[${n.index}] = withKey(${r}, ${i});`);return}n.tKeyExpr&&(r=`toggler(${n.tKeyExpr}, ${r})`),t.isRoot&&!this.target.deferReturn?(this.target.on&&(r=this.wrapWithEventCatcher(r,this.target.on)),this.addLine(`return ${r};`)):this.define(t.varName,r)}translate(e,t){let n=zs.exec(e);return n[1]+this.translateFn(n[2],t)+n[3]}compileAST(e,t){switch(e.type){case N.Text:return this.compileText(e,t);case N.DomNode:return this.compileTDomNode(e,t);case N.TOut:return this.compileTOut(e,t);case N.TIf:return this.compileTIf(e,t);case N.TForEach:return this.compileTForeach(e,t);case N.TKey:return this.compileTKey(e,t);case N.Multi:return this.compileMulti(e,t);case N.TCall:return this.compileTCall(e,t);case N.TCallBlock:return this.compileTCallBlock(e,t);case N.TSet:return this.compileTSet(e,t);case N.TComponent:return this.compileComponent(e,t);case N.TDebug:return this.compileDebug(e,t);case N.TLog:return this.compileLog(e,t);case N.TCallSlot:return this.compileTCallSlot(e,t);case N.TTranslation:return this.compileTTranslation(e,t);case N.TTranslationContext:return this.compileTTranslationContext(e,t)}}compileDebug(e,t){return this.addLine("debugger;"),e.content?this.compileAST(e.content,t):null}compileLog(e,t){return this.addLine(`console.log(${D(e.expr)});`),e.content?this.compileAST(e.content,t):null}compileText(e,t){let{block:n,forceNewBlock:r}=t,i=e.value;if(i&&t.translate!==!1&&(i=this.translate(i,t.translationCtx)),t.inPreTag||(i=i.replace(Ks," ")),!n||r)n=this.createBlock(n,"text",t),this.insertBlock(`text(${nt(i)})`,n,{...t,forceNewBlock:r&&!n});else{let s=e.type===N.Text?ee.createTextNode:ee.createComment;n.insert(s.call(ee,i))}return n.varName}generateHandlerCode(e,t){let n=e.split(".").slice(1).map(f=>{if(!Ws.has(f))throw new g(`Unknown event modifier: '${f}'`);return`"${f}"`}),r="";n.length&&(r=`${n.join(",")}, `);let i=D(t);if(!i.trim())return`[${r}, ctx]`;let s,o=i.match(/^(\([^)]*\))\s*=>/),l=!o&&i.match(/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=>/);if(o){let f=o[1].slice(1,-1).trim(),a=i.slice(o[0].length);s=f?`(ctx,${f})=>${a}`:`(ctx)=>${a}`}else if(l){let f=i.slice(l[0].length);s=`(ctx,${l[1]})=>${f}`}else this.helpers.add("callHandler"),s=`(ctx, ev) => callHandler(${i}, ctx, ev)`;let c=M("hdlr_fn");return this.staticDefs.push({id:c,expr:s}),`[${r}${c}, ctx]`}compileTDomNode(e,t){let{block:n,forceNewBlock:r}=t,i=!n||r||e.dynamicTag!==null||e.ns,s=this.target.code.length;if(i&&((e.dynamicTag||t.tKeyExpr||e.ns)&&t.block&&this.insertAnchor(t.block),n=this.createBlock(n,"block",t),this.blocks.push(n),e.dynamicTag)){let a=M("tag");this.define(a,D(e.dynamicTag)),n.dynamicTagName=a}let o={};for(let a in e.attrs){let u,h;if(a.startsWith("t-attf")){u=Ft(e.attrs[a]);let m=n.insertData(u,"attr");h=a.slice(7),o["block-attribute-"+m]=h}else if(a.startsWith("t-att"))if(h=a==="t-att"?null:a.slice(6),u=D(e.attrs[a]),h&&Us(e.tag,h)){h==="readonly"&&(h="readOnly"),h==="value"?u=`new String((${u}) === 0 ? 0 : ((${u}) || ""))`:u=`new Boolean(${u})`;let m=n.insertData(u,"prop");o[`block-property-${m}`]=h}else{let m=n.insertData(u,"attr");a==="t-att"?o["block-attributes"]=String(m):o[`block-attribute-${m}`]=h}else if(this.translatableAttributes.includes(a)){let m=e.attrsTranslationCtx?.[a]||t.translationCtx;o[a]=this.translateFn(e.attrs[a],m)}else u=`"${e.attrs[a]}"`,h=a,o[a]=e.attrs[a];if(h==="value"&&t.tModelSelectedExpr){let m=n.insertData(`${t.tModelSelectedExpr} === ${u}`,"attr");o[`block-attribute-${m}`]="selected"}}let l;if(e.model){let{hasDynamicChildren:a,expr:u,eventType:h,shouldNumberize:m,shouldTrim:p,targetAttr:b,specialInitTargetAttr:d,isProxy:A}=e.model,E,T;if(A){let v=D(u);E=v,T=$=>`${v} = ${$}`}else{let v=M("expr"),$=D(u);this.helpers.add("modelExpr"),this.define(v,`modelExpr(${$})`),E=`${v}()`,T=_=>`${v}.set(${_})`}let C;if(d){let v=b in o&&`'${o[b]}'`;if(!v&&e.attrs){let $=e.attrs[`t-att-${b}`];$&&(v=D($))}C=n.insertData(`${E} === ${v}`,"prop"),o[`block-property-${C}`]=d}else a?(l=`${M("bValue")}`,this.define(l,E)):(C=n.insertData(E,"prop"),o[`block-property-${C}`]=b);this.helpers.add("toNumber");let y=`ev.target.${b}`;y=p?`${y}.trim()`:y,y=m?`toNumber(${y})`:y;let w=`[(ctx, ev) => { ${T(y)}; }, ctx]`;C=n.insertData(w,"hdlr"),o[`block-handler-${C}`]=h}for(let a in e.on){let u=this.generateHandlerCode(a,e.on[a]),h=n.insertData(u,"hdlr");o[`block-handler-${h}`]=a}if(e.ref){let a=D(e.ref);this.helpers.add("createRef");let u=`createRef(${a})`,h=n.insertData(u,"ref");o["block-ref"]=String(h)}let c=e.ns||t.nameSpace,f=c?ee.createElementNS(c,e.tag):ee.createElement(e.tag);for(let[a,u]of Object.entries(o))a==="class"&&u===""||f.setAttribute(a,u);if(n.insert(f),e.content.length){let a=n.currentDom;n.currentDom=f;let u=e.content;for(let h=0;h<u.length;h++){let m=e.content[h],p=le(t,{block:n,index:n.childNumber,forceNewBlock:!1,tKeyExpr:t.tKeyExpr,nameSpace:c,tModelSelectedExpr:l,inPreTag:t.inPreTag||e.tag==="pre"});this.compileAST(m,p)}n.currentDom=a}if(i&&(this.insertBlock(`${n.blockName}(ddd)`,n,t),n.children.length&&n.hasDynamicChildren)){let a=this.target.code,u=n.children.slice(),h=u.shift();for(let m=s;m<a.length&&!(a[m].trimStart().startsWith(`const ${h.varName} `)&&(a[m]=a[m].replace(`const ${h.varName}`,h.varName),h=u.shift(),!h));m++);this.addLine(`let ${n.children.map(m=>m.varName).join(", ")};`,s)}return n.varName}compileZero(){this.helpers.add("zero");let e=this.slotNames.has(Jn);this.slotNames.add(Jn);let t=this.target.loopLevel?`key${this.target.loopLevel}`:"key";return e&&(t=this.generateComponentKey(t)),`ctx[zero]?.(node, ${t}) || text("")`}compileTOut(e,t){let{block:n}=t;n&&this.insertAnchor(n),n=this.createBlock(n,"html",t);let r;if(e.expr==="0")r=this.compileZero();else if(e.body){let i=null;i=Kt.nextBlockId;let s=le(t);this.compileAST({type:N.Multi,content:e.body},s),this.helpers.add("safeOutput"),r=`safeOutput(${D(e.expr)}, b${i})`}else this.helpers.add("safeOutput"),r=`safeOutput(${D(e.expr)})`;return this.insertBlock(r,n,t),n.varName}compileTIfBranch(e,t,n){this.target.indentLevel++;let r=t.children.length;this.compileAST(e,le(n,{block:t,index:n.index})),t.children.length>r&&this.insertAnchor(t,r),this.target.indentLevel--}compileTIf(e,t,n){let{block:r,forceNewBlock:i}=t,s=this.target.code.length,o=!r||r.type!=="multi"&&i;if(r&&(r.hasDynamicChildren=!0),(!r||r.type!=="multi"&&i)&&(r=this.createBlock(r,"multi",t)),this.addLine(`if (${D(e.condition)}) {`),this.compileTIfBranch(e.content,r,t),e.tElif)for(let l of e.tElif)this.addLine(`} else if (${D(l.condition)}) {`),this.compileTIfBranch(l.content,r,t);if(e.tElse&&(this.addLine("} else {"),this.compileTIfBranch(e.tElse,r,t)),this.addLine("}"),o){if(r.children.length){let c=this.target.code,f=r.children.slice(),a=f.shift();for(let u=s;u<c.length&&!(c[u].trimStart().startsWith(`const ${a.varName} `)&&(c[u]=c[u].replace(`const ${a.varName}`,a.varName),a=f.shift(),!a));u++);this.addLine(`let ${r.children.map(u=>u.varName).join(", ")};`,s)}let l=r.children.map(c=>c.varName).join(", ");this.insertBlock(`multi([${l}])`,r,t)}return r.varName}compileTForeach(e,t){let{block:n}=t;n&&this.insertAnchor(n),n=this.createBlock(n,"list",t),this.target.loopLevel++;let r=`i${this.target.loopLevel}`,i=M("ctx");this.addLine(`const ${i} = ctx;`),this.target.loopCtxVars.push(i);let s=`v_block${n.id}`,o=`k_block${n.id}`,l=`l_block${n.id}`,c=`c_block${n.id}`;this.helpers.add("prepareList"),this.define(`[${o}, ${s}, ${l}, ${c}]`,`prepareList(${D(e.collection)});`),this.dev&&this.define(`keys${n.id}`,"new Set()"),this.addLine(`for (let ${r} = 0; ${r} < ${l}; ${r}++) {`),this.target.indentLevel++,this.addLine(`let ctx = Object.create(${i});`),this.addLine(`ctx[\`${e.elem}\`] = ${o}[${r}];`),e.noFlags&te.First||this.addLine(`ctx[\`${e.elem}_first\`] = ${r} === 0;`),e.noFlags&te.Last||this.addLine(`ctx[\`${e.elem}_last\`] = ${r} === ${o}.length - 1;`),e.noFlags&te.Index||this.addLine(`ctx[\`${e.elem}_index\`] = ${r};`),e.noFlags&te.Value||this.addLine(`ctx[\`${e.elem}_value\`] = ${s}[${r}];`),this.define(`key${this.target.loopLevel}`,e.key?D(e.key):r),this.dev&&(this.helpers.add("OwlError"),this.addLine(`if (keys${n.id}.has(String(key${this.target.loopLevel}))) { throw new OwlError(\`Got duplicate key in t-foreach: \${key${this.target.loopLevel}}\`)}`),this.addLine(`keys${n.id}.add(String(key${this.target.loopLevel}));`));let f=le(t,{block:n,index:r});return this.compileAST(e.body,f),this.target.indentLevel--,this.target.loopLevel--,this.target.loopCtxVars.pop(),this.addLine("}"),this.insertBlock("l",n,t),n.varName}compileTKey(e,t){let n=M("tKey_");return this.define(n,D(e.expr)),t=le(t,{tKeyExpr:n,block:t.block,index:t.index}),this.compileAST(e.content,t)}compileMulti(e,t){let{block:n,forceNewBlock:r}=t,i=!n||r,s=this.target.code.length;if(i){let l=e.content.filter(f=>!f.hasNoRepresentation).length,c=null;if(l<=1){let f=!this.target.hasRoot&&e.content[e.content.length-1].hasNoRepresentation;f&&(this.target.deferReturn=!0);for(let a of e.content){let u=this.compileAST(a,t);c=c||u}return f&&(this.target.deferReturn=!1,this.addLine(`return ${c};`)),c}n=this.createBlock(n,"multi",t)}let o=0;for(let l=0,c=e.content.length;l<c;l++){let f=e.content[l],a=!f.hasNoRepresentation,u=le(t,{block:n,index:o,forceNewBlock:a});this.compileAST(f,u),a&&o++}if(i){if(n.hasDynamicChildren&&n.children.length){let c=this.target.code,f=n.children.slice(),a=f.shift();for(let u=s;u<c.length&&!(c[u].trimStart().startsWith(`const ${a.varName} `)&&(c[u]=c[u].replace(`const ${a.varName}`,a.varName),a=f.shift(),!a));u++);this.addLine(`let ${n.children.map(u=>u.varName).join(", ")};`,s)}let l=n.children.map(c=>c.varName).join(", ");this.insertBlock(`multi([${l}])`,n,t)}return n.varName}compileTCall(e,t){let{block:n,forceNewBlock:r}=t,i=e.attrs?this.formatPropObject(e.attrs,e.attrsTranslationCtx,t.translationCtx):[],o=it.test(e.name)?Ft(e.name):"`"+e.name+"`";if(n&&!r&&this.insertAnchor(n),n=this.createBlock(n,"multi",t),e.body){let a=this.compileInNewTarget("callBody",e.body,t),u=M("lazyBlock");this.define(u,`${a}.bind(this, ctx)`),this.helpers.add("zero"),i.push(`[zero]: ${u}`)}let l,c=`{${i.join(", ")}}`;if(e.context){let a=M("ctx");this.addLine(`const ${a} = ${D(e.context)};`),i.length?l=`Object.assign({this: ${a}}, ${c})`:l=`{this: ${a}}`}else i.length===0?l="ctx":l=`Object.assign(Object.create(ctx), ${c})`;let f=this.generateComponentKey();return this.helpers.add("callTemplate"),this.insertBlock(`callTemplate(${o}, this, app, ${l}, node, ${f})`,n,{...t,forceNewBlock:!n}),n.varName}compileTCallBlock(e,t){let{block:n,forceNewBlock:r}=t;return n&&(r||this.insertAnchor(n)),n=this.createBlock(n,"multi",t),this.insertBlock(D(e.name),n,{...t,forceNewBlock:!n}),n.varName}compileTSet(e,t){let n=e.value?D(e.value||""):"null",r=this.target.loopLevel===0,i=this.target.tSetVars.get(e.name),s=i!==void 0&&this.target.loopLevel>i;if(e.body){this.helpers.add("LazyValue");let o={type:N.Multi,content:e.body},l=this.compileInNewTarget("value",o,t),c=this.target.currentKey(t),f=`new LazyValue(${l}, ctx, this, node, ${c})`;if(f=e.value?f?`withDefault(${n}, ${f})`:n:f,this.helpers.add("withDefault"),s){let a=this.target.loopCtxVars[i];this.addLine(`${a}[\`${e.name}\`] = ${f};`)}else r?(this.target.needsScopeProtection=!0,this.addLine(`ctx[\`${e.name}\`] = ${f};`),this.target.tSetVars.set(e.name,0)):(this.addLine(`ctx[\`${e.name}\`] = ${f};`),this.target.tSetVars.set(e.name,this.target.loopLevel))}else{let o;if(e.defaultValue){let l=nt(t.translate?this.translate(e.defaultValue,t.translationCtx):e.defaultValue);e.value?(this.helpers.add("withDefault"),o=`withDefault(${n}, ${l})`):o=l}else o=n;if(s){let l=this.target.loopCtxVars[i];this.addLine(`${l}["${e.name}"] = ${o};`)}else r?(this.target.needsScopeProtection=!0,this.addLine(`ctx["${e.name}"] = ${o};`),this.target.tSetVars.set(e.name,0)):(this.addLine(`ctx["${e.name}"] = ${o};`),this.target.tSetVars.set(e.name,this.target.loopLevel))}return null}generateComponentKey(e="key"){let t=[M("__")];for(let n=0;n<this.target.loopLevel;n++)t.push(`\${key${n+1}}`);return`${e} + \`${t.join("__")}\``}generateSignalCacheKey(){let e=[M("__sig_")];for(let t=0;t<this.target.loopLevel;t++)e.push(`\${key${t+1}}`);return`\`${e.join("__")}\``}formatProp(e,t,n,r){if(e.endsWith(".translate")){let i=n?.[e]||r;t=nt(this.translateFn(t,i))}else t=D(t);if(e.includes(".")){let[i,s]=e.split(".");switch(e=i,s){case"bind":t=`(${t}).bind(this)`;break;case"alike":case"translate":break;default:throw new g(`Invalid prop suffix: ${s}`)}}return e=/^[a-z_]+$/i.test(e)?e:`'${e}'`,`${e}: ${t||void 0}`}formatPropObject(e,t,n){return Object.entries(e).map(([r,i])=>this.formatProp(r,i,t,n))}getPropString(e,t){let n=`{${e.join(",")}}`;return t&&(n=`Object.assign({}, ${D(t)}${e.length?", "+n:""})`),n}compileComponent(e,t){let{block:n}=t,r="slots"in(e.props||{}),i=[],s=[];for(let m in e.props||{}){let[p,b]=m.split(".");if(b==="signal"){let T=D(e.props[m]),C=/^[a-z_]+$/i.test(p)?p:`'${p}'`;this.helpers.add("toSignal");let y=this.generateSignalCacheKey();i.push(`${C}: toSignal(node, ${y}, ${T})`);continue}if(b){i.push(this.formatProp(m,e.props[m],e.propsTranslationCtx,t.translationCtx));continue}let{expr:d,freeVariables:A}=tr(e.props[m]),E=/^[a-z_]+$/i.test(p)?p:`'${p}'`;if(i.push(`${E}: ${d||void 0}`),A)for(let T of A){let C=`${p}.${T}`;s.push(`"${C}"`),i.push(`"${C}": ctx['${T}']`)}else s.push(`"${p}"`)}let o="";if(e.slots){let m=[];for(let p in e.slots){let b=e.slots[p],d=[];if(b.content){let T=this.compileInNewTarget("slot",b.content,t,b.on);d.push(`__render: ${T}.bind(this), __ctx: ctx`)}let A=e.slots[p].scope;A&&d.push(`__scope: "${A}"`),e.slots[p].attrs&&d.push(...this.formatPropObject(e.slots[p].attrs,e.slots[p].attrsTranslationCtx,t.translationCtx));let E=`{${d.join(", ")}}`;m.push(`'${p}': ${E}`)}o=`{${m.join(", ")}}`}o&&!(e.dynamicProps||r)&&(this.helpers.add("markRaw"),i.push(`slots: markRaw(${o})`));let l=this.getPropString(i,e.dynamicProps),c;(o&&(e.dynamicProps||r)||this.dev)&&(c=M("props"),this.define(c,l),l=c),o&&(e.dynamicProps||r)&&(this.helpers.add("markRaw"),this.addLine(`${c}.slots = markRaw(Object.assign(${o}, ${c}.slots))`));let f;e.isDynamic?(f=M("Comp"),this.define(f,D(e.name))):f=`\`${e.name}\``,n&&(t.forceNewBlock===!1||t.tKeyExpr)&&this.insertAnchor(n);let a=this.generateComponentKey();t.tKeyExpr&&(a=`${t.tKeyExpr} + ${a}`);let u=M("comp");this.helpers.add("createComponent"),this.staticDefs.push({id:u,expr:`createComponent(app, ${e.isDynamic?null:f}, ${!e.isDynamic}, ${!!e.slots}, ${!!e.dynamicProps}, [${s}])`}),e.isDynamic&&(a=`(${f}).name + ${a}`);let h=`${u}(${l}, ${a}, node, this, ${e.isDynamic?f:null})`;return e.isDynamic&&(h=`toggler(${f}, ${h})`),e.on&&(h=this.wrapWithEventCatcher(h,e.on)),n=this.createBlock(n,"multi",t),this.insertBlock(h,n,t),n.varName}wrapWithEventCatcher(e,t){this.helpers.add("createCatcher");let n=M("catcher"),r={},i=[];for(let s in t){let o=M("hdlr"),l=i.push(o)-1;r[s]=l;let c=this.generateHandlerCode(s,t[s]);this.define(o,c)}return this.staticDefs.push({id:n,expr:`createCatcher(${JSON.stringify(r)})`}),`${n}(${e}, [${i.join(",")}])`}compileTCallSlot(e,t){this.helpers.add("callSlot");let{block:n}=t,r,i,s=!1,o=!1;e.name.match(it)?(s=!0,o=!0,i=Ft(e.name)):(i="'"+e.name+"'",o=o||this.slotNames.has(e.name),this.slotNames.add(e.name));let l={...e.attrs},c=l["t-props"];delete l["t-props"];let f=this.target.loopLevel?`key${this.target.loopLevel}`:"key";o&&(f=this.generateComponentKey(f));let a=e.attrs?this.formatPropObject(l,e.attrsTranslationCtx,t.translationCtx):[],u=this.getPropString(a,c);if(e.defaultContent){let h=this.compileInNewTarget("defaultContent",e.defaultContent,t);r=`callSlot(ctx, node, ${f}, ${i}, ${s}, ${u}, ${h}.bind(this))`}else if(s){let h=M("slot");this.define(h,i),r=`toggler(${h}, callSlot(ctx, node, ${f}, ${h}, ${s}, ${u}))`}else r=`callSlot(ctx, node, ${f}, ${i}, ${s}, ${u})`;return e.on&&(r=this.wrapWithEventCatcher(r,e.on)),n&&this.insertAnchor(n),n=this.createBlock(n,"multi",t),this.insertBlock(r,n,{...t,forceNewBlock:!1}),n.varName}compileTTranslation(e,t){return e.content?this.compileAST(e.content,Object.assign({},t,{translate:!1})):null}compileTTranslationContext(e,t){return e.content?this.compileAST(e.content,Object.assign({},t,{translationCtx:e.translationCtx})):null}};function rr(e,t={hasGlobalValues:!1}){let n=ys(e,t.customDirectives),i=new Hs(n,t).generateCode();try{return new Function("app, bdom, helpers",i)}catch(s){let{name:o}=t,l=o?`template "${o}"`:"anonymous template",c=new g(`Failed to compile ${l}: ${s.message}
22
+ ${n}`;console.log(r)}return n}compileInNewTarget(e,t,n,r){let i=I(e),s=this.target,o=new ar(i,r);return this.targets.push(o),this.target=o,this.compileAST(t,ce(n)),this.target=s,i}addLine(e,t){this.target.addLine(e,t)}define(e,t){this.addLine(`const ${e} = ${t};`)}insertAnchor(e,t=e.children.length){let n=`block-child-${t}`,r=te.createElement(n);e.insert(r)}createBlock(e,t,n){let r=this.target.hasRoot,i=new Gt(this.target,t);return r||(this.target.hasRoot=!0,i.isRoot=!0),e&&(e.children.push(i),e.type==="list"&&(i.parentVar=`c_block${e.id}`)),i}insertBlock(e,t,n){let r=t.generateExpr(e);if(t.parentVar){let i=this.target.currentKey(n);this.helpers.add("withKey"),this.addLine(`${t.parentVar}[${n.index}] = withKey(${r}, ${i});`);return}n.tKeyExpr&&(r=`toggler(${n.tKeyExpr}, ${r})`),t.isRoot&&!this.target.deferReturn?(this.target.on&&(r=this.wrapWithEventCatcher(r,this.target.on)),this.addLine(`return ${r};`)):this.define(t.varName,r)}translate(e,t){let n=no.exec(e);return n[1]+this.translateFn(n[2],t)+n[3]}compileAST(e,t){switch(e.type){case N.Text:return this.compileText(e,t);case N.DomNode:return this.compileTDomNode(e,t);case N.TOut:return this.compileTOut(e,t);case N.TIf:return this.compileTIf(e,t);case N.TForEach:return this.compileTForeach(e,t);case N.TKey:return this.compileTKey(e,t);case N.Multi:return this.compileMulti(e,t);case N.TCall:return this.compileTCall(e,t);case N.TCallBlock:return this.compileTCallBlock(e,t);case N.TSet:return this.compileTSet(e,t);case N.TComponent:return this.compileComponent(e,t);case N.TDebug:return this.compileDebug(e,t);case N.TLog:return this.compileLog(e,t);case N.TCallSlot:return this.compileTCallSlot(e,t);case N.TTranslation:return this.compileTTranslation(e,t);case N.TTranslationContext:return this.compileTTranslationContext(e,t)}}compileDebug(e,t){return this.addLine("debugger;"),e.content?this.compileAST(e.content,t):null}compileLog(e,t){return this.addLine(`console.log(${_(e.expr)});`),e.content?this.compileAST(e.content,t):null}compileText(e,t){let{block:n,forceNewBlock:r}=t,i=e.value;if(i&&t.translate!==!1&&(i=this.translate(i,t.translationCtx)),t.inPreTag||(i=i.replace(Qs," ")),!n||r)n=this.createBlock(n,"text",t),this.insertBlock(`text(${st(i)})`,n,{...t,forceNewBlock:r&&!n});else{let s=e.type===N.Text?te.createTextNode:te.createComment;n.insert(s.call(te,i))}return n.varName}generateHandlerCode(e,t){let n=e.split(".").slice(1).map(h=>{if(!eo.has(h))throw new g(`Unknown event modifier: '${h}'`);return`"${h}"`}),r="";n.length&&(r=`${n.join(",")}, `);let i=_(t);if(!i.trim())return`[${r}, ctx]`;let s,o=i.match(/^(\([^)]*\))\s*=>/),l=!o&&i.match(/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=>/);if(o){let h=o[1].slice(1,-1).trim(),a=i.slice(o[0].length);s=h?`(ctx,${h})=>${a}`:`(ctx)=>${a}`}else if(l){let h=i.slice(l[0].length);s=`(ctx,${l[1]})=>${h}`}else this.helpers.add("callHandler"),s=`(ctx, ev) => callHandler(${i}, ctx, ev)`;let c=I("hdlr_fn");return this.staticDefs.push({id:c,expr:s}),`[${r}${c}, ctx]`}compileTDomNode(e,t){let{block:n,forceNewBlock:r}=t,i=!n||r||e.dynamicTag!==null||e.ns,s=this.target.code.length;if(i&&((e.dynamicTag||t.tKeyExpr||e.ns)&&t.block&&this.insertAnchor(t.block),n=this.createBlock(n,"block",t),this.blocks.push(n),e.dynamicTag)){let a=I("tag");this.define(a,_(e.dynamicTag)),n.dynamicTagName=a}let o={};for(let a in e.attrs){let u,f;if(a.startsWith("t-attf")){u=Ht(e.attrs[a]);let m=n.insertData(u,"attr");f=a.slice(7),o["block-attribute-"+m]=f}else if(a.startsWith("t-att"))if(f=a==="t-att"?null:a.slice(6),u=_(e.attrs[a]),f&&to(e.tag,f)){f==="readonly"&&(f="readOnly"),f==="value"?u=`new String((${u}) === 0 ? 0 : ((${u}) || ""))`:u=`new Boolean(${u})`;let m=n.insertData(u,"prop");o[`block-property-${m}`]=f}else{let m=n.insertData(u,"attr");a==="t-att"?o["block-attributes"]=String(m):o[`block-attribute-${m}`]=f}else if(this.translatableAttributes.includes(a)){let m=e.attrsTranslationCtx?.[a]||t.translationCtx;o[a]=this.translateFn(e.attrs[a],m)}else u=`"${e.attrs[a]}"`,f=a,o[a]=e.attrs[a];if(f==="value"&&t.tModelSelectedExpr){let m=n.insertData(`${t.tModelSelectedExpr} === ${u}`,"attr");o[`block-attribute-${m}`]="selected"}}let l;if(e.model){let{hasDynamicChildren:a,expr:u,eventType:f,shouldNumberize:m,shouldTrim:p,targetAttr:b,specialInitTargetAttr:d,isProxy:A}=e.model,E,T;if(A){let v=_(u);E=v,T=$=>`${v} = ${$}`}else{let v=I("expr"),$=_(u);this.helpers.add("modelExpr"),this.define(v,`modelExpr(${$})`),E=`${v}()`,T=D=>`${v}.set(${D})`}let C;if(d){let v=b in o&&`'${o[b]}'`;if(!v&&e.attrs){let $=e.attrs[`t-att-${b}`];$&&(v=_($))}C=n.insertData(`${E} === ${v}`,"prop"),o[`block-property-${C}`]=d}else a?(l=`${I("bValue")}`,this.define(l,E)):(C=n.insertData(E,"prop"),o[`block-property-${C}`]=b);this.helpers.add("toNumber");let y=`ev.target.${b}`;y=p?`${y}.trim()`:y,y=m?`toNumber(${y})`:y;let w=`[(ctx, ev) => { ${T(y)}; }, ctx]`;C=n.insertData(w,"hdlr"),o[`block-handler-${C}`]=f}for(let a in e.on){let u=this.generateHandlerCode(a,e.on[a]),f=n.insertData(u,"hdlr");o[`block-handler-${f}`]=a}if(e.ref){let a=_(e.ref);this.helpers.add("createRef");let u=`createRef(${a})`,f=n.insertData(u,"ref");o["block-ref"]=String(f)}let c=e.ns||t.nameSpace,h=c?te.createElementNS(c,e.tag):te.createElement(e.tag);for(let[a,u]of Object.entries(o))a==="class"&&u===""||h.setAttribute(a,u);if(n.insert(h),e.content.length){let a=n.currentDom;n.currentDom=h;let u=e.content;for(let f=0;f<u.length;f++){let m=e.content[f],p=ce(t,{block:n,index:n.childNumber,forceNewBlock:!1,tKeyExpr:t.tKeyExpr,nameSpace:c,tModelSelectedExpr:l,inPreTag:t.inPreTag||e.tag==="pre"});this.compileAST(m,p)}n.currentDom=a}if(i&&(this.insertBlock(`${n.blockName}(ddd)`,n,t),n.children.length&&n.hasDynamicChildren)){let a=this.target.code,u=n.children.slice(),f=u.shift();for(let m=s;m<a.length&&!(a[m].trimStart().startsWith(`const ${f.varName} `)&&(a[m]=a[m].replace(`const ${f.varName}`,f.varName),f=u.shift(),!f));m++);this.addLine(`let ${n.children.map(m=>m.varName).join(", ")};`,s)}return n.varName}compileZero(){this.helpers.add("zero");let e=this.slotNames.has(lr);this.slotNames.add(lr);let t=this.target.loopLevel?`key${this.target.loopLevel}`:"key";return e&&(t=this.generateComponentKey(t)),`ctx[zero]?.(node, ${t}) || text("")`}compileTOut(e,t){let{block:n}=t;n&&this.insertAnchor(n),n=this.createBlock(n,"html",t);let r;if(e.expr==="0")r=this.compileZero();else if(e.body){let i=null;i=Gt.nextBlockId;let s=ce(t);this.compileAST({type:N.Multi,content:e.body},s),this.helpers.add("safeOutput"),r=`safeOutput(${_(e.expr)}, b${i})`}else this.helpers.add("safeOutput"),r=`safeOutput(${_(e.expr)})`;return this.insertBlock(r,n,t),n.varName}compileTIfBranch(e,t,n){this.target.indentLevel++;let r=t.children.length;this.compileAST(e,ce(n,{block:t,index:n.index})),t.children.length>r&&this.insertAnchor(t,r),this.target.indentLevel--}compileTIf(e,t,n){let{block:r,forceNewBlock:i}=t,s=this.target.code.length,o=!r||r.type!=="multi"&&i;if(r&&(r.hasDynamicChildren=!0),(!r||r.type!=="multi"&&i)&&(r=this.createBlock(r,"multi",t)),this.addLine(`if (${_(e.condition)}) {`),this.compileTIfBranch(e.content,r,t),e.tElif)for(let l of e.tElif)this.addLine(`} else if (${_(l.condition)}) {`),this.compileTIfBranch(l.content,r,t);if(e.tElse&&(this.addLine("} else {"),this.compileTIfBranch(e.tElse,r,t)),this.addLine("}"),o){if(r.children.length){let c=this.target.code,h=r.children.slice(),a=h.shift();for(let u=s;u<c.length&&!(c[u].trimStart().startsWith(`const ${a.varName} `)&&(c[u]=c[u].replace(`const ${a.varName}`,a.varName),a=h.shift(),!a));u++);this.addLine(`let ${r.children.map(u=>u.varName).join(", ")};`,s)}let l=r.children.map(c=>c.varName).join(", ");this.insertBlock(`multi([${l}])`,r,t)}return r.varName}compileTForeach(e,t){let{block:n}=t;n&&this.insertAnchor(n),n=this.createBlock(n,"list",t),this.target.loopLevel++;let r=`i${this.target.loopLevel}`,i=I("ctx");this.addLine(`const ${i} = ctx;`),this.target.loopCtxVars.push(i);let s=`v_block${n.id}`,o=`k_block${n.id}`,l=`l_block${n.id}`,c=`c_block${n.id}`;this.helpers.add("prepareList"),this.define(`[${o}, ${s}, ${l}, ${c}]`,`prepareList(${_(e.collection)});`),this.dev&&this.define(`keys${n.id}`,"new Set()"),this.addLine(`for (let ${r} = 0; ${r} < ${l}; ${r}++) {`),this.target.indentLevel++,this.addLine(`let ctx = Object.create(${i});`),this.addLine(`ctx[\`${e.elem}\`] = ${o}[${r}];`),e.noFlags&ne.First||this.addLine(`ctx[\`${e.elem}_first\`] = ${r} === 0;`),e.noFlags&ne.Last||this.addLine(`ctx[\`${e.elem}_last\`] = ${r} === ${o}.length - 1;`),e.noFlags&ne.Index||this.addLine(`ctx[\`${e.elem}_index\`] = ${r};`),e.noFlags&ne.Value||this.addLine(`ctx[\`${e.elem}_value\`] = ${s}[${r}];`),this.define(`key${this.target.loopLevel}`,e.key?_(e.key):r),this.dev&&(this.helpers.add("OwlError"),this.addLine(`if (keys${n.id}.has(String(key${this.target.loopLevel}))) { throw new OwlError(\`Got duplicate key in t-foreach: \${key${this.target.loopLevel}}\`)}`),this.addLine(`keys${n.id}.add(String(key${this.target.loopLevel}));`));let h=ce(t,{block:n,index:r});return this.compileAST(e.body,h),this.target.indentLevel--,this.target.loopLevel--,this.target.loopCtxVars.pop(),this.addLine("}"),this.insertBlock("l",n,t),n.varName}compileTKey(e,t){let n=I("tKey_");return this.define(n,_(e.expr)),t=ce(t,{tKeyExpr:n,block:t.block,index:t.index}),this.compileAST(e.content,t)}compileMulti(e,t){let{block:n,forceNewBlock:r}=t,i=!n||r,s=this.target.code.length;if(i){let l=e.content.filter(h=>!h.hasNoRepresentation).length,c=null;if(l<=1){let h=!this.target.hasRoot&&e.content[e.content.length-1].hasNoRepresentation;h&&(this.target.deferReturn=!0);for(let a of e.content){let u=this.compileAST(a,t);c=c||u}return h&&(this.target.deferReturn=!1,this.addLine(`return ${c};`)),c}n=this.createBlock(n,"multi",t)}let o=0;for(let l=0,c=e.content.length;l<c;l++){let h=e.content[l],a=!h.hasNoRepresentation,u=ce(t,{block:n,index:o,forceNewBlock:a});this.compileAST(h,u),a&&o++}if(i){if(n.hasDynamicChildren&&n.children.length){let c=this.target.code,h=n.children.slice(),a=h.shift();for(let u=s;u<c.length&&!(c[u].trimStart().startsWith(`const ${a.varName} `)&&(c[u]=c[u].replace(`const ${a.varName}`,a.varName),a=h.shift(),!a));u++);this.addLine(`let ${n.children.map(u=>u.varName).join(", ")};`,s)}let l=n.children.map(c=>c.varName).join(", ");this.insertBlock(`multi([${l}])`,n,t)}return n.varName}compileTCall(e,t){let{block:n,forceNewBlock:r}=t,i=e.attrs?this.formatPropObject(e.attrs,e.attrsTranslationCtx,t.translationCtx):[],o=lt.test(e.name)?Ht(e.name):"`"+e.name+"`";if(n&&!r&&this.insertAnchor(n),n=this.createBlock(n,"multi",t),e.body){let a=this.compileInNewTarget("callBody",e.body,t),u=I("lazyBlock");this.define(u,`${a}.bind(this, ctx)`),this.helpers.add("zero"),i.push(`[zero]: ${u}`)}let l,c=`{${i.join(", ")}}`;if(e.context){let a=I("ctx");this.addLine(`const ${a} = ${_(e.context)};`),i.length?l=`Object.assign({this: ${a}}, ${c})`:l=`{this: ${a}}`}else i.length===0?l="ctx":l=`Object.assign(Object.create(ctx), ${c})`;let h=this.generateComponentKey();return this.helpers.add("callTemplate"),this.insertBlock(`callTemplate(${o}, this, app, ${l}, node, ${h})`,n,{...t,forceNewBlock:!n}),n.varName}compileTCallBlock(e,t){let{block:n,forceNewBlock:r}=t;return n&&(r||this.insertAnchor(n)),n=this.createBlock(n,"multi",t),this.insertBlock(_(e.name),n,{...t,forceNewBlock:!n}),n.varName}compileTSet(e,t){let n=e.value?_(e.value||""):"null",r=this.target.loopLevel===0,i=this.target.tSetVars.get(e.name),s=i!==void 0&&this.target.loopLevel>i;if(e.body){this.helpers.add("LazyValue");let o={type:N.Multi,content:e.body},l=this.compileInNewTarget("value",o,t),c=this.target.currentKey(t),h=`new LazyValue(${l}, ctx, this, node, ${c})`;if(h=e.value?h?`withDefault(${n}, ${h})`:n:h,this.helpers.add("withDefault"),s){let a=this.target.loopCtxVars[i];this.addLine(`${a}[\`${e.name}\`] = ${h};`)}else r?(this.target.needsScopeProtection=!0,this.addLine(`ctx[\`${e.name}\`] = ${h};`),this.target.tSetVars.set(e.name,0)):(this.addLine(`ctx[\`${e.name}\`] = ${h};`),this.target.tSetVars.set(e.name,this.target.loopLevel))}else{let o;if(e.defaultValue){let l=st(t.translate?this.translate(e.defaultValue,t.translationCtx):e.defaultValue);e.value?(this.helpers.add("withDefault"),o=`withDefault(${n}, ${l})`):o=l}else o=n;if(s){let l=this.target.loopCtxVars[i];this.addLine(`${l}["${e.name}"] = ${o};`)}else r?(this.target.needsScopeProtection=!0,this.addLine(`ctx["${e.name}"] = ${o};`),this.target.tSetVars.set(e.name,0)):(this.addLine(`ctx["${e.name}"] = ${o};`),this.target.tSetVars.set(e.name,this.target.loopLevel))}return null}generateComponentKey(e="key"){let t=[I("__")];for(let n=0;n<this.target.loopLevel;n++)t.push(`\${key${n+1}}`);return`${e} + \`${t.join("__")}\``}generateSignalCacheKey(){let e=[I("__sig_")];for(let t=0;t<this.target.loopLevel;t++)e.push(`\${key${t+1}}`);return`\`${e.join("__")}\``}formatProp(e,t,n,r){if(e.endsWith(".translate")){let i=n?.[e]||r;t=st(this.translateFn(t,i))}else t=_(t);if(e.includes(".")){let[i,s]=e.split(".");switch(e=i,s){case"bind":t=`(${t}).bind(this)`;break;case"alike":case"translate":break;default:throw new g(`Invalid prop suffix: ${s}`)}}return e=/^[a-z_]+$/i.test(e)?e:`'${e}'`,`${e}: ${t||void 0}`}formatPropObject(e,t,n){return Object.entries(e).map(([r,i])=>this.formatProp(r,i,t,n))}getPropString(e,t){let n=`{${e.join(",")}}`;return t&&(n=`Object.assign({}, ${_(t)}${e.length?", "+n:""})`),n}compileComponent(e,t){let{block:n}=t,r="slots"in(e.props||{}),i=[],s=[];for(let m in e.props||{}){let[p,b]=m.split(".");if(b==="signal"){let T=_(e.props[m]),C=/^[a-z_]+$/i.test(p)?p:`'${p}'`;this.helpers.add("toSignal");let y=this.generateSignalCacheKey();i.push(`${C}: toSignal(node, ${y}, ${T})`);continue}if(b){i.push(this.formatProp(m,e.props[m],e.propsTranslationCtx,t.translationCtx));continue}let{expr:d,freeVariables:A}=ur(e.props[m]),E=/^[a-z_]+$/i.test(p)?p:`'${p}'`;if(i.push(`${E}: ${d||void 0}`),A)for(let T of A){let C=`${p}.${T}`;s.push(`"${C}"`),i.push(`"${C}": ctx['${T}']`)}else s.push(`"${p}"`)}let o="";if(e.slots){let m=[];for(let p in e.slots){let b=e.slots[p],d=[];if(b.content){let T=this.compileInNewTarget("slot",b.content,t,b.on);d.push(`__render: ${T}.bind(this), __ctx: ctx`)}let A=e.slots[p].scope;A&&d.push(`__scope: "${A}"`),e.slots[p].attrs&&d.push(...this.formatPropObject(e.slots[p].attrs,e.slots[p].attrsTranslationCtx,t.translationCtx));let E=`{${d.join(", ")}}`;m.push(`'${p}': ${E}`)}o=`{${m.join(", ")}}`}o&&!(e.dynamicProps||r)&&(this.helpers.add("markRaw"),i.push(`slots: markRaw(${o})`));let l=this.getPropString(i,e.dynamicProps),c;(o&&(e.dynamicProps||r)||this.dev)&&(c=I("props"),this.define(c,l),l=c),o&&(e.dynamicProps||r)&&(this.helpers.add("markRaw"),this.addLine(`${c}.slots = markRaw(Object.assign(${o}, ${c}.slots))`));let h;e.isDynamic?(h=I("Comp"),this.define(h,_(e.name))):h=`\`${e.name}\``,n&&(t.forceNewBlock===!1||t.tKeyExpr)&&this.insertAnchor(n);let a=this.generateComponentKey();t.tKeyExpr&&(a=`${t.tKeyExpr} + ${a}`);let u=I("comp");this.helpers.add("createComponent"),this.staticDefs.push({id:u,expr:`createComponent(app, ${e.isDynamic?null:h}, ${!e.isDynamic}, ${!!e.slots}, ${!!e.dynamicProps}, [${s}])`}),e.isDynamic&&(a=`(${h}).name + ${a}`);let f=`${u}(${l}, ${a}, node, this, ${e.isDynamic?h:null})`;return e.isDynamic&&(f=`toggler(${h}, ${f})`),e.on&&(f=this.wrapWithEventCatcher(f,e.on)),n=this.createBlock(n,"multi",t),this.insertBlock(f,n,t),n.varName}wrapWithEventCatcher(e,t){this.helpers.add("createCatcher");let n=I("catcher"),r={},i=[];for(let s in t){let o=I("hdlr"),l=i.push(o)-1;r[s]=l;let c=this.generateHandlerCode(s,t[s]);this.define(o,c)}return this.staticDefs.push({id:n,expr:`createCatcher(${JSON.stringify(r)})`}),`${n}(${e}, [${i.join(",")}])`}compileTCallSlot(e,t){this.helpers.add("callSlot");let{block:n}=t,r,i,s=!1,o=!1;e.name.match(lt)?(s=!0,o=!0,i=Ht(e.name)):(i="'"+e.name+"'",o=o||this.slotNames.has(e.name),this.slotNames.add(e.name));let l={...e.attrs},c=l["t-props"];delete l["t-props"];let h=this.target.loopLevel?`key${this.target.loopLevel}`:"key";o&&(h=this.generateComponentKey(h));let a=e.attrs?this.formatPropObject(l,e.attrsTranslationCtx,t.translationCtx):[],u=this.getPropString(a,c);if(e.defaultContent){let f=this.compileInNewTarget("defaultContent",e.defaultContent,t);r=`callSlot(ctx, node, ${h}, ${i}, ${s}, ${u}, ${f}.bind(this))`}else if(s){let f=I("slot");this.define(f,i),r=`toggler(${f}, callSlot(ctx, node, ${h}, ${f}, ${s}, ${u}))`}else r=`callSlot(ctx, node, ${h}, ${i}, ${s}, ${u})`;return e.on&&(r=this.wrapWithEventCatcher(r,e.on)),n&&this.insertAnchor(n),n=this.createBlock(n,"multi",t),this.insertBlock(r,n,{...t,forceNewBlock:!1}),n.varName}compileTTranslation(e,t){return e.content?this.compileAST(e.content,Object.assign({},t,{translate:!1})):null}compileTTranslationContext(e,t){return e.content?this.compileAST(e.content,Object.assign({},t,{translationCtx:e.translationCtx})):null}};function hr(e,t={hasGlobalValues:!1}){let n=_s(e,t.customDirectives),i=new ro(n,t).generateCode();try{return new Function("app, bdom, helpers",i)}catch(s){let{name:o}=t,l=o?`template "${o}"`:"anonymous template",c=new g(`Failed to compile ${l}: ${s.message}
23
23
 
24
24
  generated code:
25
25
  function(app, bdom, helpers) {
26
26
  ${i}
27
- }`);throw c.cause=s,c}}Re.prototype._compileTemplate=function(t,n){return rr(n,{name:t,dev:this.dev,translateFn:this.translateFn,translatableAttributes:this.translatableAttributes,customDirectives:this.customDirectives,hasGlobalValues:this.hasGlobalValues})};Re.prototype._parseXML=function(t){return Wt(t)};return ur(Gs);})();
27
+ }`);throw c.cause=s,c}}Ie.prototype._compileTemplate=function(t,n){return hr(n,{name:t,dev:this.dev,translateFn:this.translateFn,translatableAttributes:this.translatableAttributes,customDirectives:this.customDirectives,hasGlobalValues:this.hasGlobalValues})};Ie.prototype._parseXML=function(t){return qt(t)};return yr(io);})();