@microsoft/fast-element 2.10.0 → 2.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.json CHANGED
@@ -1,6 +1,21 @@
1
1
  {
2
2
  "name": "@microsoft/fast-element",
3
3
  "entries": [
4
+ {
5
+ "date": "Mon, 02 Mar 2026 22:31:53 GMT",
6
+ "version": "2.10.1",
7
+ "tag": "@microsoft/fast-element_v2.10.1",
8
+ "comments": {
9
+ "patch": [
10
+ {
11
+ "author": "email not defined",
12
+ "package": "@microsoft/fast-element",
13
+ "commit": "c992d2a5311f64272c3aebfb24105f374dd22cb1",
14
+ "comment": "Moves handleEvent from a class property into a closure in children.ts to remove non-standard observer.target property assignment"
15
+ }
16
+ ]
17
+ }
18
+ },
4
19
  {
5
20
  "date": "Tue, 17 Feb 2026 20:49:29 GMT",
6
21
  "version": "2.10.0",
package/CHANGELOG.md CHANGED
@@ -1,9 +1,17 @@
1
1
  # Change Log - @microsoft/fast-element
2
2
 
3
- <!-- This log was last generated on Tue, 17 Feb 2026 20:49:29 GMT and should not be manually modified. -->
3
+ <!-- This log was last generated on Mon, 02 Mar 2026 22:31:53 GMT and should not be manually modified. -->
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 2.10.1
8
+
9
+ Mon, 02 Mar 2026 22:31:53 GMT
10
+
11
+ ### Patches
12
+
13
+ - Moves handleEvent from a class property into a closure in children.ts to remove non-standard observer.target property assignment (email not defined)
14
+
7
15
  ## 2.10.0
8
16
 
9
17
  Tue, 17 Feb 2026 20:49:29 GMT
@@ -52,7 +52,6 @@ export declare class ChildrenDirective extends NodeObservationDirective<Children
52
52
  * @param target - The target to get the node to.
53
53
  */
54
54
  getNodes(target: Element): Node[];
55
- private handleEvent;
56
55
  }
57
56
  /**
58
57
  * A directive that observes the `childNodes` of an element and updates a property
@@ -13,10 +13,6 @@ export class ChildrenDirective extends NodeObservationDirective {
13
13
  constructor(options) {
14
14
  super(options);
15
15
  this.observerProperty = Symbol();
16
- this.handleEvent = (mutations, observer) => {
17
- const target = observer.target;
18
- this.updateTarget(this.getSource(target), this.computeNodes(target));
19
- };
20
16
  options.childList = true;
21
17
  }
22
18
  /**
@@ -26,11 +22,13 @@ export class ChildrenDirective extends NodeObservationDirective {
26
22
  observe(target) {
27
23
  let observer = target[this.observerProperty];
28
24
  if (!observer) {
29
- observer = new MutationObserver(this.handleEvent);
25
+ const handleEvent = (mutations, observer) => {
26
+ this.updateTarget(this.getSource(target), this.computeNodes(target));
27
+ };
28
+ observer = new MutationObserver(handleEvent);
30
29
  observer.toJSON = noop;
31
30
  target[this.observerProperty] = observer;
32
31
  }
33
- observer.target = target;
34
32
  observer.observe(target, this.options);
35
33
  }
36
34
  /**
@@ -39,7 +37,6 @@ export class ChildrenDirective extends NodeObservationDirective {
39
37
  */
40
38
  disconnect(target) {
41
39
  const observer = target[this.observerProperty];
42
- observer.target = null;
43
40
  observer.disconnect();
44
41
  }
45
42
  /**
@@ -2642,10 +2642,6 @@ class ChildrenDirective extends NodeObservationDirective {
2642
2642
  constructor(options) {
2643
2643
  super(options);
2644
2644
  this.observerProperty = Symbol();
2645
- this.handleEvent = (mutations, observer) => {
2646
- const target = observer.target;
2647
- this.updateTarget(this.getSource(target), this.computeNodes(target));
2648
- };
2649
2645
  options.childList = true;
2650
2646
  }
2651
2647
  /**
@@ -2655,11 +2651,13 @@ class ChildrenDirective extends NodeObservationDirective {
2655
2651
  observe(target) {
2656
2652
  let observer = target[this.observerProperty];
2657
2653
  if (!observer) {
2658
- observer = new MutationObserver(this.handleEvent);
2654
+ const handleEvent = (mutations, observer) => {
2655
+ this.updateTarget(this.getSource(target), this.computeNodes(target));
2656
+ };
2657
+ observer = new MutationObserver(handleEvent);
2659
2658
  observer.toJSON = noop;
2660
2659
  target[this.observerProperty] = observer;
2661
2660
  }
2662
- observer.target = target;
2663
2661
  observer.observe(target, this.options);
2664
2662
  }
2665
2663
  /**
@@ -2668,7 +2666,6 @@ class ChildrenDirective extends NodeObservationDirective {
2668
2666
  */
2669
2667
  disconnect(target) {
2670
2668
  const observer = target[this.observerProperty];
2671
- observer.target = null;
2672
2669
  observer.disconnect();
2673
2670
  }
2674
2671
  /**
@@ -1,3 +1,3 @@
1
- void 0===globalThis.FAST&&Reflect.defineProperty(globalThis,"FAST",{value:Object.create(null),configurable:!1,enumerable:!1,writable:!1});const e=globalThis.FAST,t={1101:"Must call ArrayObserver.enable() before observing arrays.",1201:"The DOM Policy can only be set once.",1202:"To bind innerHTML, you must use a TrustedTypesPolicy.",1203:"View=>Model update skipped. To use twoWay binding, the target property must be observable.",1204:"No host element is present. Cannot bind host with ${name}.",1205:"The requested binding behavior is not supported by the binding engine.",1206:"Calling html`` as a normal function invalidates the security guarantees provided by FAST.",1207:"The DOM Policy for an HTML template can only be set once.",1208:"The DOM Policy cannot be set after a template is compiled.",1209:"'${aspectName}' on '${tagName}' is blocked by the current DOMPolicy.",1401:"Missing FASTElement definition.",1501:"No registration for Context/Interface '${name}'.",1502:"Dependency injection resolver for '${key}' returned a null factory.",1503:"Invalid dependency injection resolver strategy specified '${strategy}'.",1504:"Unable to autoregister dependency.",1505:"Unable to resolve dependency injection key '${key}'.",1506:"'${name}' is a native function and therefore cannot be safely constructed by DI. If this is intentional, please use a callback or cachedCallback resolver.",1507:"Attempted to jitRegister something that is not a constructor '${value}'. Did you forget to register this dependency?",1508:"Attempted to jitRegister an intrinsic type '${value}'. Did you forget to add @inject(Key)?",1509:"Attempted to jitRegister an interface '${value}'.",1510:"A valid resolver was not returned from the register method.",1511:"Key/value cannot be null or undefined. Are you trying to inject/register something that doesn't exist with DI?",1512:"'${key}' not registered. Did you forget to add @singleton()?",1513:"Cyclic dependency found '${name}'.",1514:"Injected properties that are updated on changes to DOM connectivity require the target object to be an instance of FASTElement.",1601:"Invalid attribute marker name: ${name}. Expected format is ${expectedFormat}.",1602:"Invalid compact attribute marker values in ${markerName}. Both index and count must be positive integers.",1604:"Invalid compact attribute marker name: ${name}. Expected format is ${expectedFormat}."},n=/(\$\{\w+?})/g,s=/\$\{(\w+?)}/g,i=Object.freeze({});function r(e,t){return e.split(n).map((e=>{var n;const i=e.replace(s,"$1");return String(null!==(n=t[i])&&void 0!==n?n:e)})).join("")}let o;Object.assign(e,{addMessages(e){Object.assign(t,e)},warn(e,n=i){var s;const o=null!==(s=t[e])&&void 0!==s?s:"Unknown Warning";console.warn(r(o,n))},error(e,n=i){var s;const o=null!==(s=t[e])&&void 0!==s?s:"Unknown Error";return new Error(r(o,n))}});const a="fast-kernel";try{if(document.currentScript)o=document.currentScript.getAttribute(a);else{const e=document.getElementsByTagName("script");o=e[e.length-1].getAttribute(a)}}catch(e){o="isolate"}let l;switch(o){case"share":l=Object.freeze({updateQueue:1,observable:2,contextEvent:3,elementRegistry:4});break;case"share-v2":l=Object.freeze({updateQueue:1.2,observable:2.2,contextEvent:3.2,elementRegistry:4.2});break;default:const e=`-${Math.random().toString(36).substring(2,8)}`;l=Object.freeze({updateQueue:`1.2${e}`,observable:`2.2${e}`,contextEvent:`3.2${e}`,elementRegistry:`4.2${e}`})}var c;!function(e){e[e.needsArrayObservation=1101]="needsArrayObservation",e[e.onlySetDOMPolicyOnce=1201]="onlySetDOMPolicyOnce",e[e.bindingInnerHTMLRequiresTrustedTypes=1202]="bindingInnerHTMLRequiresTrustedTypes",e[e.twoWayBindingRequiresObservables=1203]="twoWayBindingRequiresObservables",e[e.hostBindingWithoutHost=1204]="hostBindingWithoutHost",e[e.unsupportedBindingBehavior=1205]="unsupportedBindingBehavior",e[e.directCallToHTMLTagNotAllowed=1206]="directCallToHTMLTagNotAllowed",e[e.onlySetTemplatePolicyOnce=1207]="onlySetTemplatePolicyOnce",e[e.cannotSetTemplatePolicyAfterCompilation=1208]="cannotSetTemplatePolicyAfterCompilation",e[e.blockedByDOMPolicy=1209]="blockedByDOMPolicy",e[e.missingElementDefinition=1401]="missingElementDefinition",e[e.noRegistrationForContext=1501]="noRegistrationForContext",e[e.noFactoryForResolver=1502]="noFactoryForResolver",e[e.invalidResolverStrategy=1503]="invalidResolverStrategy",e[e.cannotAutoregisterDependency=1504]="cannotAutoregisterDependency",e[e.cannotResolveKey=1505]="cannotResolveKey",e[e.cannotConstructNativeFunction=1506]="cannotConstructNativeFunction",e[e.cannotJITRegisterNonConstructor=1507]="cannotJITRegisterNonConstructor",e[e.cannotJITRegisterIntrinsic=1508]="cannotJITRegisterIntrinsic",e[e.cannotJITRegisterInterface=1509]="cannotJITRegisterInterface",e[e.invalidResolver=1510]="invalidResolver",e[e.invalidKey=1511]="invalidKey",e[e.noDefaultResolver=1512]="noDefaultResolver",e[e.cyclicDependency=1513]="cyclicDependency",e[e.connectUpdateRequiresController=1514]="connectUpdateRequiresController"}(c||(c={}));const d=e=>"function"==typeof e,h=e=>"string"==typeof e,u=()=>{};!function(){if("undefined"==typeof globalThis)if("undefined"!=typeof global)global.globalThis=global;else if("undefined"!=typeof self)self.globalThis=self;else if("undefined"!=typeof window)window.globalThis=window;else{const e=new Function("return this")();e.globalThis=e}}(),"requestIdleCallback"in globalThis||(globalThis.requestIdleCallback=function(e,t){const n=Date.now();return setTimeout((()=>{e({didTimeout:!!(null==t?void 0:t.timeout)&&Date.now()-n>=t.timeout,timeRemaining:()=>0})}),1)},globalThis.cancelIdleCallback=function(e){clearTimeout(e)});const p={configurable:!1,enumerable:!1,writable:!1};void 0===globalThis.FAST&&Reflect.defineProperty(globalThis,"FAST",Object.assign({value:Object.create(null)},p));const f=globalThis.FAST;if(void 0===f.getById){const e=Object.create(null);Reflect.defineProperty(f,"getById",Object.assign({value(t,n){let s=e[t];return void 0===s&&(s=n?e[t]=n():null),s}},p))}void 0===f.error&&Object.assign(f,{warn(){},error:e=>new Error(`Error ${e}`),addMessages(){}});const g=Object.freeze([]);function b(){const e=new Map;return Object.freeze({register:t=>!e.has(t.type)&&(e.set(t.type,t),!0),getByType:t=>e.get(t),getForInstance(t){if(null!=t)return e.get(t.constructor)}})}function v(){const e=new WeakMap;return function(t){let n=e.get(t);if(void 0===n){let s=Reflect.getPrototypeOf(t);for(;void 0===n&&null!==s;)n=e.get(s),s=Reflect.getPrototypeOf(s);n=void 0===n?[]:n.slice(0),e.set(t,n)}return n}}function m(e){e.prototype.toJSON=u}const y=Object.freeze({none:0,attribute:1,booleanAttribute:2,property:3,content:4,tokenList:5,event:6}),w=e=>e,C=globalThis.trustedTypes?globalThis.trustedTypes.createPolicy("fast-html",{createHTML:w}):{createHTML:w};let S=Object.freeze({createHTML:e=>C.createHTML(e),protect:(e,t,n,s)=>s});const T=S,O=Object.freeze({get policy(){return S},setPolicy(e){if(S!==T)throw f.error(c.onlySetDOMPolicyOnce);S=e},setAttribute(e,t,n){null==n?e.removeAttribute(t):e.setAttribute(t,n)},setBooleanAttribute(e,t,n){n?e.setAttribute(t,""):e.removeAttribute(t)}});function $(e,t,n,s){return(e,t,n,...i)=>{h(n)&&(n=n.replace(/(javascript:|vbscript:|data:)/,"")),s(e,t,n,...i)}}function x(e,t,n,s){throw f.error(c.blockedByDOMPolicy,{aspectName:n,tagName:null!=e?e:"text"})}const B={onabort:x,onauxclick:x,onbeforeinput:x,onbeforematch:x,onblur:x,oncancel:x,oncanplay:x,oncanplaythrough:x,onchange:x,onclick:x,onclose:x,oncontextlost:x,oncontextmenu:x,oncontextrestored:x,oncopy:x,oncuechange:x,oncut:x,ondblclick:x,ondrag:x,ondragend:x,ondragenter:x,ondragleave:x,ondragover:x,ondragstart:x,ondrop:x,ondurationchange:x,onemptied:x,onended:x,onerror:x,onfocus:x,onformdata:x,oninput:x,oninvalid:x,onkeydown:x,onkeypress:x,onkeyup:x,onload:x,onloadeddata:x,onloadedmetadata:x,onloadstart:x,onmousedown:x,onmouseenter:x,onmouseleave:x,onmousemove:x,onmouseout:x,onmouseover:x,onmouseup:x,onpaste:x,onpause:x,onplay:x,onplaying:x,onprogress:x,onratechange:x,onreset:x,onresize:x,onscroll:x,onsecuritypolicyviolation:x,onseeked:x,onseeking:x,onselect:x,onslotchange:x,onstalled:x,onsubmit:x,onsuspend:x,ontimeupdate:x,ontoggle:x,onvolumechange:x,onwaiting:x,onwebkitanimationend:x,onwebkitanimationiteration:x,onwebkitanimationstart:x,onwebkittransitionend:x,onwheel:x},N={elements:{a:{[y.attribute]:{href:$},[y.property]:{href:$}},area:{[y.attribute]:{href:$},[y.property]:{href:$}},button:{[y.attribute]:{formaction:$},[y.property]:{formAction:$}},embed:{[y.attribute]:{src:x},[y.property]:{src:x}},form:{[y.attribute]:{action:$},[y.property]:{action:$}},frame:{[y.attribute]:{src:$},[y.property]:{src:$}},iframe:{[y.attribute]:{src:$},[y.property]:{src:$,srcdoc:x}},input:{[y.attribute]:{formaction:$},[y.property]:{formAction:$}},link:{[y.attribute]:{href:x},[y.property]:{href:x}},object:{[y.attribute]:{codebase:x,data:x},[y.property]:{codeBase:x,data:x}},script:{[y.attribute]:{src:x,text:x},[y.property]:{src:x,text:x,innerText:x,textContent:x}},style:{[y.property]:{innerText:x,textContent:x}}},aspects:{[y.attribute]:Object.assign({},B),[y.property]:Object.assign({innerHTML:x},B),[y.event]:Object.assign({},B)}};function k(e,t){const n={};for(const s in t){const i=e[s],r=t[s];switch(i){case null:break;case void 0:n[s]=r;break;default:n[s]=i}}for(const t in e)t in n||(n[t]=e[t]);return Object.freeze(n)}function A(e,t){const n={};for(const s in t){const i=e[s],r=t[s];switch(i){case null:break;case void 0:n[s]=k(r,{});break;default:n[s]=k(i,r)}}for(const t in e)t in n||(n[t]=k(e[t],{}));return Object.freeze(n)}function E(e,t){const n={};for(const s in t){const i=e[s],r=t[s];switch(i){case null:break;case void 0:n[s]=A(i,{});break;default:n[s]=A(i,r)}}for(const t in e)t in n||(n[t]=A(e[t],{}));return Object.freeze(n)}function M(e,t,n,s,i){const r=e[n];if(r){const e=r[s];if(e)return e(t,n,s,i)}}const I=Object.freeze({create(e={}){var t,n;const s=null!==(t=e.trustedType)&&void 0!==t?t:function(){const e=e=>e;return globalThis.trustedTypes?globalThis.trustedTypes.createPolicy("fast-html",{createHTML:e}):{createHTML:e}}(),i=(r=null!==(n=e.guards)&&void 0!==n?n:{},o=N,Object.freeze({elements:r.elements?E(r.elements,o.elements):o.elements,aspects:r.aspects?A(r.aspects,o.aspects):o.aspects}));var r,o;return Object.freeze({createHTML:e=>s.createHTML(e),protect(e,t,n,s){var r;const o=(null!=e?e:"").toLowerCase(),a=i.elements[o];if(a){const i=M(a,e,t,n,s);if(i)return i}return null!==(r=M(i.aspects,e,t,n,s))&&void 0!==r?r:s}})}});class R{constructor(e,t){this.sub1=void 0,this.sub2=void 0,this.spillover=void 0,this.subject=e,this.sub1=t}has(e){return void 0===this.spillover?this.sub1===e||this.sub2===e:-1!==this.spillover.indexOf(e)}subscribe(e){const t=this.spillover;if(void 0===t){if(this.has(e))return;if(void 0===this.sub1)return void(this.sub1=e);if(void 0===this.sub2)return void(this.sub2=e);this.spillover=[this.sub1,this.sub2,e],this.sub1=void 0,this.sub2=void 0}else{-1===t.indexOf(e)&&t.push(e)}}unsubscribe(e){const t=this.spillover;if(void 0===t)this.sub1===e?this.sub1=void 0:this.sub2===e&&(this.sub2=void 0);else{const n=t.indexOf(e);-1!==n&&t.splice(n,1)}}notify(e){const t=this.spillover,n=this.subject;if(void 0===t){const t=this.sub1,s=this.sub2;void 0!==t&&t.handleChange(n,e),void 0!==s&&s.handleChange(n,e)}else for(let s=0,i=t.length;s<i;++s)t[s].handleChange(n,e)}}class j{constructor(e){this.subscribers={},this.subjectSubscribers=null,this.subject=e}notify(e){var t,n;null===(t=this.subscribers[e])||void 0===t||t.notify(e),null===(n=this.subjectSubscribers)||void 0===n||n.notify(e)}subscribe(e,t){var n,s;let i;i=t?null!==(n=this.subscribers[t])&&void 0!==n?n:this.subscribers[t]=new R(this.subject):null!==(s=this.subjectSubscribers)&&void 0!==s?s:this.subjectSubscribers=new R(this.subject),i.subscribe(e)}unsubscribe(e,t){var n,s;t?null===(n=this.subscribers[t])||void 0===n||n.unsubscribe(e):null===(s=this.subjectSubscribers)||void 0===s||s.unsubscribe(e)}}const V=f.getById(l.updateQueue,(()=>{const e=[],t=[],n=globalThis.requestAnimationFrame;let s=!0;function i(){if(t.length)throw t.shift()}function r(n){try{n.call()}catch(n){if(!s)throw e.length=0,n;t.push(n),setTimeout(i,0)}}function o(){let t=0;for(;t<e.length;)if(r(e[t]),t++,t>1024){for(let n=0,s=e.length-t;n<s;n++)e[n]=e[n+t];e.length-=t,t=0}e.length=0}function a(t){e.push(t),e.length<2&&(s?n(o):o())}return Object.freeze({enqueue:a,next:()=>new Promise(a),process:o,setMode:e=>s=e})})),_=Object.freeze({unknown:void 0,coupled:1}),D=f.getById(l.observable,(()=>{const e=V.enqueue,t=/(:|&&|\|\||if|\?\.)/,n=new WeakMap;let s,i=e=>{throw f.error(c.needsArrayObservation)};function r(e){var t;let s=null!==(t=e.$fastController)&&void 0!==t?t:n.get(e);return void 0===s&&(Array.isArray(e)?s=i(e):n.set(e,s=new j(e))),s}const o=v();class a{constructor(e){this.name=e,this.field=`_${e}`,this.callback=`${e}Changed`}getValue(e){return void 0!==s&&s.watch(e,this.name),e[this.field]}setValue(e,t){const n=this.field,s=e[n];if(s!==t){e[n]=t;const i=e[this.callback];d(i)&&i.call(e,s,t),r(e).notify(this.name)}}}class l extends R{constructor(e,t,n=!1){super(e,t),this.expression=e,this.isVolatileBinding=n,this.needsRefresh=!0,this.needsQueue=!0,this.isAsync=!0,this.first=this,this.last=null,this.propertySource=void 0,this.propertyName=void 0,this.notifier=void 0,this.next=void 0}setMode(e){this.isAsync=this.needsQueue=e}bind(e){this.controller=e;const t=this.observe(e.source,e.context);return!e.isBound&&this.requiresUnbind(e)&&e.onUnbind(this),t}requiresUnbind(e){return e.sourceLifetime!==_.coupled||this.first!==this.last||this.first.propertySource!==e.source}unbind(e){this.dispose()}observe(e,t){this.needsRefresh&&null!==this.last&&this.dispose();const n=s;let i;s=this.needsRefresh?this:void 0,this.needsRefresh=this.isVolatileBinding;try{i=this.expression(e,t)}finally{s=n}return i}disconnect(){this.dispose()}dispose(){if(null!==this.last){let e=this.first;for(;void 0!==e;)e.notifier.unsubscribe(this,e.propertyName),e=e.next;this.last=null,this.needsRefresh=this.needsQueue=this.isAsync}}watch(e,t){const n=this.last,i=r(e),o=null===n?this.first:{};if(o.propertySource=e,o.propertyName=t,o.notifier=i,i.subscribe(this,t),null!==n){if(!this.needsRefresh){let t;s=void 0,t=n.propertySource[n.propertyName],s=this,e===t&&(this.needsRefresh=!0)}n.next=o}this.last=o}handleChange(){this.needsQueue?(this.needsQueue=!1,e(this)):this.isAsync||this.call()}call(){null!==this.last&&(this.needsQueue=this.isAsync,this.notify(this))}*records(){let e=this.first;for(;void 0!==e;)yield e,e=e.next}}return m(l),Object.freeze({setArrayObserverFactory(e){i=e},getNotifier:r,track(e,t){s&&s.watch(e,t)},trackVolatile(){s&&(s.needsRefresh=!0)},notify(e,t){r(e).notify(t)},defineProperty(e,t){h(t)&&(t=new a(t)),o(e).push(t),Reflect.defineProperty(e,t.name,{enumerable:!0,get(){return t.getValue(this)},set(e){t.setValue(this,e)}})},getAccessors:o,binding(e,t,n=this.isVolatileBinding(e)){return new l(e,t,n)},isVolatileBinding:e=>t.test(e.toString())})}));function F(e,t){D.defineProperty(e,t)}function L(e,t,n){return Object.assign({},n,{get(){return D.trackVolatile(),n.get.apply(this)}})}const P=f.getById(l.contextEvent,(()=>{let e=null;return{get:()=>e,set(t){e=t}}})),H=Object.freeze({default:{index:0,length:0,get event(){return H.getEvent()},eventDetail(){return this.event.detail},eventTarget(){return this.event.target}},getEvent:()=>P.get(),setEvent(e){P.set(e)}});class z{constructor(e,t,n){this.index=e,this.removed=t,this.addedCount=n}adjustTo(e){let t=this.index;const n=e.length;return t>n?t=n-this.addedCount:t<0&&(t=n+this.removed.length+t-this.addedCount),this.index=t<0?0:t,this}}class U{constructor(e){this.sorted=e}}const q=Object.freeze({reset:1,splice:2,optimized:3}),W=new z(0,g,0);W.reset=!0;const Q=[W];var J;function K(e,t,n,s,i,r){let o=0,a=0;const l=Math.min(n-t,r-i);if(0===t&&0===i&&(o=function(e,t,n){for(let s=0;s<n;++s)if(e[s]!==t[s])return s;return n}(e,s,l)),n===e.length&&r===s.length&&(a=function(e,t,n){let s=e.length,i=t.length,r=0;for(;r<n&&e[--s]===t[--i];)r++;return r}(e,s,l-o)),i+=o,r-=a,(n-=a)-(t+=o)==0&&r-i==0)return g;if(t===n){const e=new z(t,[],0);for(;i<r;)e.removed.push(s[i++]);return[e]}if(i===r)return[new z(t,[],n-t)];const c=function(e){let t=e.length-1,n=e[0].length-1,s=e[t][n];const i=[];for(;t>0||n>0;){if(0===t){i.push(J.add),n--;continue}if(0===n){i.push(J.delete),t--;continue}const r=e[t-1][n-1],o=e[t-1][n],a=e[t][n-1];let l;l=o<a?o<r?o:r:a<r?a:r,l===r?(r===s?i.push(J.leave):(i.push(J.update),s=r),t--,n--):l===o?(i.push(J.delete),t--,s=o):(i.push(J.add),n--,s=a)}return i.reverse()}(function(e,t,n,s,i,r){const o=r-i+1,a=n-t+1,l=new Array(o);let c,d;for(let e=0;e<o;++e)l[e]=new Array(a),l[e][0]=e;for(let e=0;e<a;++e)l[0][e]=e;for(let n=1;n<o;++n)for(let r=1;r<a;++r)e[t+r-1]===s[i+n-1]?l[n][r]=l[n-1][r-1]:(c=l[n-1][r]+1,d=l[n][r-1]+1,l[n][r]=c<d?c:d);return l}(e,t,n,s,i,r)),d=[];let h,u=t,p=i;for(let e=0;e<c.length;++e)switch(c[e]){case J.leave:void 0!==h&&(d.push(h),h=void 0),u++,p++;break;case J.update:void 0===h&&(h=new z(u,[],0)),h.addedCount++,u++,h.removed.push(s[p]),p++;break;case J.add:void 0===h&&(h=new z(u,[],0)),h.addedCount++,u++;break;case J.delete:void 0===h&&(h=new z(u,[],0)),h.removed.push(s[p]),p++}return void 0!==h&&d.push(h),d}function X(e,t){let n=!1,s=0;for(let l=0;l<t.length;l++){const c=t[l];if(c.index+=s,n)continue;const d=(i=e.index,r=e.index+e.removed.length,o=c.index,a=c.index+c.addedCount,r<o||a<i?-1:r===o||a===i?0:i<o?r<a?r-o:a-o:a<r?a-i:r-i);if(d>=0){t.splice(l,1),l--,s-=c.addedCount-c.removed.length,e.addedCount+=c.addedCount-d;const i=e.removed.length+c.removed.length-d;if(e.addedCount||i){let t=c.removed;if(e.index<c.index){const n=e.removed.slice(0,c.index-e.index);n.push(...t),t=n}if(e.index+e.removed.length>c.index+c.addedCount){const n=e.removed.slice(c.index+c.addedCount-e.index);t.push(...n)}e.removed=t,c.index<e.index&&(e.index=c.index)}else n=!0}else if(e.index<c.index){n=!0,t.splice(l,0,e),l++;const i=e.addedCount-e.removed.length;c.index+=i,s+=i}}var i,r,o,a;n||t.push(e)}!function(e){e[e.leave=0]="leave",e[e.update=1]="update",e[e.add=2]="add",e[e.delete=3]="delete"}(J||(J={}));let G=Object.freeze({support:q.optimized,normalize:(e,t,n)=>void 0===e?void 0===n?g:function(e,t){let n=[];const s=[];for(let e=0,n=t.length;e<n;e++)X(t[e],s);for(let t=0,i=s.length;t<i;++t){const i=s[t];1!==i.addedCount||1!==i.removed.length?n=n.concat(K(e,i.index,i.index+i.addedCount,i.removed,0,i.removed.length)):i.removed[0]!==e[i.index]&&n.push(i)}return n}(t,n):Q,pop(e,t,n,s){const i=e.length>0,r=n.apply(e,s);return i&&t.addSplice(new z(e.length,[r],0)),r},push(e,t,n,s){const i=n.apply(e,s);return t.addSplice(new z(e.length-s.length,[],s.length).adjustTo(e)),i},reverse(e,t,n,s){const i=n.apply(e,s);e.sorted++;const r=[];for(let t=e.length-1;t>=0;t--)r.push(t);return t.addSort(new U(r)),i},shift(e,t,n,s){const i=e.length>0,r=n.apply(e,s);return i&&t.addSplice(new z(0,[r],0)),r},sort(e,t,n,s){const i=new Map;for(let t=0,n=e.length;t<n;++t){const n=i.get(e[t])||[];i.set(e[t],[...n,t])}const r=n.apply(e,s);e.sorted++;const o=[];for(let t=0,n=e.length;t<n;++t){const n=i.get(e[t]);o.push(n[0]),i.set(e[t],n.splice(1))}return t.addSort(new U(o)),r},splice(e,t,n,s){const i=n.apply(e,s);return t.addSplice(new z(+s[0],i,s.length>2?s.length-2:0).adjustTo(e)),i},unshift(e,t,n,s){const i=n.apply(e,s);return t.addSplice(new z(0,[],s.length).adjustTo(e)),i}});const Y=Object.freeze({reset:Q,setDefaultStrategy(e){G=e}});function Z(e,t,n,s=!0){Reflect.defineProperty(e,t,{value:n,enumerable:!1,writable:s})}class ee extends R{get strategy(){return this._strategy}set strategy(e){this._strategy=e}get lengthObserver(){let e=this._lengthObserver;if(void 0===e){const t=this.subject;this._lengthObserver=e={length:t.length,handleChange(){this.length!==t.length&&(this.length=t.length,D.notify(e,"length"))}},this.subscribe(e)}return e}get sortObserver(){let e=this._sortObserver;if(void 0===e){const t=this.subject;this._sortObserver=e={sorted:t.sorted,handleChange(){this.sorted!==t.sorted&&(this.sorted=t.sorted,D.notify(e,"sorted"))}},this.subscribe(e)}return e}constructor(e){super(e),this.oldCollection=void 0,this.splices=void 0,this.sorts=void 0,this.needsQueue=!0,this._strategy=null,this._lengthObserver=void 0,this._sortObserver=void 0,this.call=this.flush,Z(e,"$fastController",this)}subscribe(e){this.flush(),super.subscribe(e)}addSplice(e){void 0===this.splices?this.splices=[e]:this.splices.push(e),this.enqueue()}addSort(e){void 0===this.sorts?this.sorts=[e]:this.sorts.push(e),this.enqueue()}reset(e){this.oldCollection=e,this.enqueue()}flush(){var e;const t=this.splices,n=this.sorts,s=this.oldCollection;void 0===t&&void 0===s&&void 0===n||(this.needsQueue=!0,this.splices=void 0,this.sorts=void 0,this.oldCollection=void 0,void 0!==n?this.notify(n):this.notify((null!==(e=this._strategy)&&void 0!==e?e:G).normalize(s,this.subject,t)))}enqueue(){this.needsQueue&&(this.needsQueue=!1,V.enqueue(this))}}let te=!1;const ne=Object.freeze({sorted:0,enable(){if(te)return;te=!0,D.setArrayObserverFactory((e=>new ee(e)));const e=Array.prototype;e.$fastPatch||(Z(e,"$fastPatch",1),Z(e,"sorted",0),[e.pop,e.push,e.reverse,e.shift,e.sort,e.splice,e.unshift].forEach((t=>{e[t.name]=function(...e){var n;const s=this.$fastController;return void 0===s?t.apply(this,e):(null!==(n=s.strategy)&&void 0!==n?n:G)[t.name](this,s,t,e)}})))}});function se(e){if(!e)return 0;let t=e.$fastController;return void 0===t&&(ne.enable(),t=D.getNotifier(e)),D.track(t.lengthObserver,"length"),e.length}function ie(e){if(!e)return 0;let t=e.$fastController;return void 0===t&&(ne.enable(),t=D.getNotifier(e)),D.track(t.sortObserver,"sorted"),e.sorted}class re{constructor(e,t,n=!1){this.evaluate=e,this.policy=t,this.isVolatile=n}}class oe extends re{createObserver(e){return D.binding(this.evaluate,e,this.isVolatile)}}function ae(e,t,n=D.isVolatileBinding(e)){return new oe(e,t,n)}function le(e,t){const n=new oe(e);return n.options=t,n}class ce extends re{createObserver(){return this}bind(e){return this.evaluate(e.source,e.context)}}function de(e,t){return new ce(e,t)}function he(e){return d(e)?ae(e):e instanceof re?e:de((()=>e))}m(ce);const ue=b(),pe=Object.freeze({getForInstance:ue.getForInstance,getByType:ue.getByType,define:e=>(ue.register({type:e}),e)});function fe(){return function(e){pe.define(e)}}function ge(e,t,n){t.source.style.setProperty(e.targetAspect,n.bind(t))}class be{constructor(e,t){this.dataBinding=e,this.targetAspect=t}createCSS(e){return e(this),`var(${this.targetAspect})`}addedCallback(e){var t;const n=e.source;if(!n.$cssBindings){n.$cssBindings=new Map;const e=n.setAttribute;n.setAttribute=(t,s)=>{e.call(n,t,s),"style"===t&&n.$cssBindings.forEach(((e,t)=>ge(t,e.controller,e.observer)))}}const s=null!==(t=e[this.targetAspect])&&void 0!==t?t:e[this.targetAspect]=this.dataBinding.createObserver(this,this);s.controller=e,e.source.$cssBindings.set(this,{controller:e,observer:s})}connectedCallback(e){ge(this,e,e[this.targetAspect])}removedCallback(e){e.source.$cssBindings&&e.source.$cssBindings.delete(this)}handleChange(e,t){ge(this,t.controller,t)}}let ve;function me(e){return e.map((e=>e instanceof ye?me(e.styles):[e])).reduce(((e,t)=>e.concat(t)),[])}pe.define(be);class ye{get strategy(){return null===this._strategy&&this.withStrategy(ve),this._strategy}constructor(e){this.styles=e,this.targets=new WeakSet,this._strategy=null,this.behaviors=e.map((e=>e instanceof ye?e.behaviors:null)).reduce(((e,t)=>null===t?e:null===e?t:e.concat(t)),null)}addStylesTo(e){this.strategy.addStylesTo(e),this.targets.add(e)}removeStylesFrom(e){this.strategy.removeStylesFrom(e),this.targets.delete(e)}isAttachedTo(e){return this.targets.has(e)}withBehaviors(...e){return this.behaviors=null===this.behaviors?e:this.behaviors.concat(e),this}withStrategy(e){return this._strategy=new e(me(this.styles)),this}static setDefaultStrategy(e){ve=e}static normalize(e){return void 0===e?void 0:Array.isArray(e)?new ye(e):e instanceof ye?e:new ye([e])}}ye.supportsAdoptedStyleSheets=Array.isArray(document.adoptedStyleSheets)&&"replace"in CSSStyleSheet.prototype;const we=`${Math.random().toString(36).substring(2,8)}`;let Ce=0;const Se=()=>`--v${we}${++Ce}`;function Te(e,t){const n=[];let s="";const i=[],r=e=>{i.push(e)};for(let i=0,o=e.length-1;i<o;++i){s+=e[i];let o=t[i];d(o)?o=new be(ae(o),Se()).createCSS(r):o instanceof re?o=new be(o,Se()).createCSS(r):void 0!==pe.getForInstance(o)&&(o=o.createCSS(r)),o instanceof ye||o instanceof CSSStyleSheet?(""!==s.trim()&&(n.push(s),s=""),n.push(o)):s+=o}return s+=e[e.length-1],""!==s.trim()&&n.push(s),{styles:n,behaviors:i}}const Oe=(e,...t)=>{const{styles:n,behaviors:s}=Te(e,t),i=new ye(n);return s.length?i.withBehaviors(...s):i};class $e{constructor(e,t){this.behaviors=t,this.css="";const n=e.reduce(((e,t)=>(h(t)?this.css+=t:e.push(t),e)),[]);n.length&&(this.styles=new ye(n))}createCSS(e){return this.behaviors.forEach(e),this.styles&&e(this),this.css}addedCallback(e){e.addStyles(this.styles)}removedCallback(e){e.removeStyles(this.styles)}}pe.define($e),Oe.partial=(e,...t)=>{const{styles:n,behaviors:s}=Te(e,t);return new $e(n,s)};const xe=`fast-${Math.random().toString(36).substring(2,8)}`,Be=`${xe}{`,Ne=`}${xe}`,ke=Ne.length;let Ae=0;const Ee=()=>`${xe}-${++Ae}`,Me=Object.freeze({interpolation:e=>`${Be}${e}${Ne}`,attribute:e=>`${Ee()}="${Be}${e}${Ne}"`,comment:e=>`\x3c!--${Be}${e}${Ne}--\x3e`}),Ie=Object.freeze({parse(e,t){const n=e.split(Be);if(1===n.length)return null;const s=[];for(let e=0,i=n.length;e<i;++e){const i=n[e],r=i.indexOf(Ne);let o;if(-1===r)o=i;else{const e=i.substring(0,r);s.push(t[e]),o=i.substring(r+ke)}""!==o&&s.push(o)}return s}}),Re=b(),je=Object.freeze({getForInstance:Re.getForInstance,getByType:Re.getByType,define:(e,t)=>((t=t||{}).type=e,Re.register(t),e),assignAspect(e,t){if(t)switch(e.sourceAspect=t,t[0]){case":":e.targetAspect=t.substring(1),e.aspectType="classList"===e.targetAspect?y.tokenList:y.property;break;case"?":e.targetAspect=t.substring(1),e.aspectType=y.booleanAttribute;break;case"@":e.targetAspect=t.substring(1),e.aspectType=y.event;break;default:e.targetAspect=t,e.aspectType=y.attribute}else e.aspectType=y.content}});function Ve(e){return function(t){je.define(t,e)}}class _e{constructor(e){this.options=e}createHTML(e){return Me.attribute(e(this))}createBehavior(){return this}}m(_e);const De=e=>1===e.nodeType,Fe=e=>e?t=>1===t.nodeType&&t.matches(e):De;class Le extends _e{get id(){return this._id}set id(e){this._id=e,this._controllerProperty=`${e}-c`}bind(e){const t=e.targets[this.targetNodeId];t[this._controllerProperty]=e,this.updateTarget(e.source,this.computeNodes(t)),this.observe(t),e.onUnbind(this)}unbind(e){const t=e.targets[this.targetNodeId];this.updateTarget(e.source,g),this.disconnect(t),t[this._controllerProperty]=null}getSource(e){return e[this._controllerProperty].source}updateTarget(e,t){e[this.options.property]=t}computeNodes(e){let t=this.getNodes(e);return"filter"in this.options&&(t=t.filter(this.options.filter)),t}}class Pe extends Le{constructor(e){super(e),this.observerProperty=Symbol(),this.handleEvent=(e,t)=>{const n=t.target;this.updateTarget(this.getSource(n),this.computeNodes(n))},e.childList=!0}observe(e){let t=e[this.observerProperty];t||(t=new MutationObserver(this.handleEvent),t.toJSON=u,e[this.observerProperty]=t),t.target=e,t.observe(e,this.options)}disconnect(e){const t=e[this.observerProperty];t.target=null,t.disconnect()}getNodes(e){return"selector"in this.options?Array.from(e.querySelectorAll(this.options.selector)):Array.from(e.childNodes)}}function He(e){return h(e)&&(e={property:e}),new Pe(e)}je.define(Pe);const ze=/fe-b\$\$start\$\$(\d+)\$\$(.+)\$\$fe-b/,Ue=/fe-b\$\$end\$\$(\d+)\$\$(.+)\$\$fe-b/,qe=/fe-repeat\$\$start\$\$(\d+)\$\$fe-repeat/,We=/fe-repeat\$\$end\$\$(\d+)\$\$fe-repeat/,Qe=/^(?:.{0,1000})fe-eb\$\$start\$\$(.+?)\$\$fe-eb/,Je=/fe-eb\$\$end\$\$(.{0,1000})\$\$fe-eb(?:.{0,1000})$/;function Ke(e){return e&&e.nodeType===Node.COMMENT_NODE}const Xe=Object.freeze({attributeMarkerName:"data-fe-b",compactAttributeMarkerName:"data-fe-c",attributeBindingSeparator:" ",contentBindingStartMarker:(e,t)=>`fe-b$$start$$${e}$$${t}$$fe-b`,contentBindingEndMarker:(e,t)=>`fe-b$$end$$${e}$$${t}$$fe-b`,repeatStartMarker:e=>`fe-repeat$$start$$${e}$$fe-repeat`,repeatEndMarker:e=>`fe-repeat$$end$$${e}$$fe-repeat`,isContentBindingStartMarker:e=>ze.test(e),isContentBindingEndMarker:e=>Ue.test(e),isRepeatViewStartMarker:e=>qe.test(e),isRepeatViewEndMarker:e=>We.test(e),isElementBoundaryStartMarker:e=>Ke(e)&&Qe.test(e.data.trim()),isElementBoundaryEndMarker:e=>Ke(e)&&Je.test(e.data),parseAttributeBinding(e){const t=e.getAttribute(this.attributeMarkerName);return null===t?t:t.split(this.attributeBindingSeparator).map((e=>parseInt(e)))},parseEnumeratedAttributeBinding(e){const t=[],n=this.attributeMarkerName.length+1,s=`${this.attributeMarkerName}-`;for(const i of e.getAttributeNames())if(i.startsWith(s)){const e=Number(i.slice(n));if(Number.isNaN(e))throw f.error(1601,{name:i,expectedFormat:`${s}<number>`});t.push(e)}return 0===t.length?null:t},parseCompactAttributeBinding(e){const t=`${this.compactAttributeMarkerName}-`,n=e.getAttributeNames().find((e=>e.startsWith(t)));if(!n)return null;const s=n.slice(t.length).split("-"),i=parseInt(s[0],10),r=parseInt(s[1],10);if(2!==s.length||Number.isNaN(i)||Number.isNaN(r)||i<0||r<1)throw f.error(1604,{name:n,expectedFormat:`${this.compactAttributeMarkerName}-{index}-{count}`});const o=[];for(let e=0;e<r;e++)o.push(i+e);return o},parseContentBindingStartMarker:e=>Ze(ze,e),parseContentBindingEndMarker:e=>Ze(Ue,e),parseRepeatStartMarker:e=>Ge(qe,e),parseRepeatEndMarker:e=>Ge(We,e),parseElementBoundaryStartMarker:e=>Ye(Qe,e.trim()),parseElementBoundaryEndMarker:e=>Ye(Je,e)});function Ge(e,t){const n=e.exec(t);return null===n?n:parseInt(n[1])}function Ye(e,t){const n=e.exec(t);return null===n?n:n[1]}function Ze(e,t){const n=e.exec(t);return null===n?n:[parseInt(n[1]),n[2]]}const et=Symbol.for("fe-hydration");function tt(e){return e[et]===et}const nt="defer-hydration";class st extends Error{constructor(e,t,n){super(e),this.factories=t,this.node=n}}function it(e){return e.nodeType===Node.COMMENT_NODE}function rt(e){return e.nodeType===Node.TEXT_NODE}function ot(e,t){const n=document.createRange();return n.setStart(e,0),n.setEnd(t,it(t)||rt(t)?t.data.length:t.childNodes.length),n}function at(e,t,n,s){var i,r;const o=null!==(r=null!==(i=Xe.parseAttributeBinding(e))&&void 0!==i?i:Xe.parseEnumeratedAttributeBinding(e))&&void 0!==r?r:Xe.parseCompactAttributeBinding(e);if(null!==o){for(const i of o){const r=t[i+s];if(!r)throw new st(`HydrationView was unable to successfully target factory on ${e.nodeName} inside ${e.getRootNode().host.nodeName}. This likely indicates a template mismatch between SSR rendering and hydration.`,t,e);ct(r,e,n)}e.removeAttribute(Xe.attributeMarkerName)}}function lt(e,t,n,s,i,r){if(Xe.isElementBoundaryStartMarker(e))!function(e,t){const n=Xe.parseElementBoundaryStartMarker(e.data);let s=t.nextSibling();for(;null!==s;){if(it(s)){const e=Xe.parseElementBoundaryEndMarker(s.data);if(e&&e===n)break}s=t.nextSibling()}}(e,t);else if(Xe.isContentBindingStartMarker(e.data)){const o=Xe.parseContentBindingStartMarker(e.data);if(null===o)return;const[a,l]=o,c=n[a+r],d=[];let h=t.nextSibling();e.data="";const u=h;for(;null!==h;){if(it(h)){const e=Xe.parseContentBindingEndMarker(h.data);if(e&&e[1]===l)break}d.push(h),h=t.nextSibling()}if(null===h){const t=e.getRootNode();throw new Error(`Error hydrating Comment node inside "${function(e){return e instanceof DocumentFragment&&"mode"in e}(t)?t.host.nodeName:t.nodeName}".`)}if(h.data="",1===d.length&&rt(d[0]))ct(c,d[0],s);else{h!==u&&null!==h.previousSibling&&(i[c.targetNodeId]={first:u,last:h.previousSibling});ct(c,h.parentNode.insertBefore(document.createTextNode(""),h),s)}}}function ct(e,t,n){if(void 0===e.targetNodeId)throw new Error("Factory could not be target to the node");n[e.targetNodeId]=t}var dt;function ht(e,t){const n=e.parentNode;let s,i=e;for(;i!==t;){if(s=i.nextSibling,!s)throw new Error(`Unmatched first/last child inside "${t.getRootNode().host.nodeName}".`);n.removeChild(i),i=s}n.removeChild(t)}class ut{constructor(){this.index=0,this.length=0}get event(){return H.getEvent()}get isEven(){return this.index%2==0}get isOdd(){return this.index%2!=0}get isFirst(){return 0===this.index}get isInMiddle(){return!this.isFirst&&!this.isLast}get isLast(){return this.index===this.length-1}eventDetail(){return this.event.detail}eventTarget(){return this.event.target}}class pt extends ut{constructor(e,t,n){super(),this.fragment=e,this.factories=t,this.targets=n,this.behaviors=null,this.unbindables=[],this.source=null,this.isBound=!1,this.sourceLifetime=_.unknown,this.context=this,this.firstChild=e.firstChild,this.lastChild=e.lastChild}appendTo(e){e.appendChild(this.fragment)}insertBefore(e){if(this.fragment.hasChildNodes())e.parentNode.insertBefore(this.fragment,e);else{const t=this.lastChild;if(e.previousSibling===t)return;const n=e.parentNode;let s,i=this.firstChild;for(;i!==t;)s=i.nextSibling,n.insertBefore(i,e),i=s;n.insertBefore(t,e)}}remove(){const e=this.fragment,t=this.lastChild;let n,s=this.firstChild;for(;s!==t;)n=s.nextSibling,e.appendChild(s),s=n;e.appendChild(t)}dispose(){ht(this.firstChild,this.lastChild),this.unbind()}onUnbind(e){this.unbindables.push(e)}bind(e,t=this){if(this.source===e)return;let n=this.behaviors;if(null===n){this.source=e,this.context=t,this.behaviors=n=new Array(this.factories.length);const s=this.factories;for(let e=0,t=s.length;e<t;++e){const t=s[e].createBehavior();t.bind(this),n[e]=t}}else{null!==this.source&&this.evaluateUnbindables(),this.isBound=!1,this.source=e,this.context=t;for(let e=0,t=n.length;e<t;++e)n[e].bind(this)}this.isBound=!0}unbind(){this.isBound&&null!==this.source&&(this.evaluateUnbindables(),this.source=null,this.context=this,this.isBound=!1)}evaluateUnbindables(){const e=this.unbindables;for(let t=0,n=e.length;t<n;++t)e[t].unbind(this);e.length=0}static disposeContiguousBatch(e){if(0!==e.length){ht(e[0].firstChild,e[e.length-1].lastChild);for(let t=0,n=e.length;t<n;++t)e[t].unbind()}}}m(pt),D.defineProperty(pt.prototype,"index"),D.defineProperty(pt.prototype,"length");const ft="unhydrated",gt="hydrating",bt="hydrated";class vt extends Error{constructor(e,t,n,s){super(e),this.factory=t,this.fragment=n,this.templateString=s}}dt=et,m(class extends ut{get hydrationStage(){return this._hydrationStage}get targets(){return this._targets}get bindingViewBoundaries(){return this._bindingViewBoundaries}constructor(e,t,n,s){super(),this.firstChild=e,this.lastChild=t,this.sourceTemplate=n,this.hostBindingTarget=s,this[dt]=et,this.context=this,this.source=null,this.isBound=!1,this.sourceLifetime=_.unknown,this.unbindables=[],this.fragment=null,this.behaviors=null,this._hydrationStage=ft,this._bindingViewBoundaries={},this._targets={},this.factories=n.compile().factories}insertBefore(e){if(null!==this.fragment)if(this.fragment.hasChildNodes())e.parentNode.insertBefore(this.fragment,e);else{const t=this.lastChild;if(e.previousSibling===t)return;const n=e.parentNode;let s,i=this.firstChild;for(;i!==t;)s=i.nextSibling,n.insertBefore(i,e),i=s;n.insertBefore(t,e)}}appendTo(e){null!==this.fragment&&e.appendChild(this.fragment)}remove(){const e=this.fragment||(this.fragment=document.createDocumentFragment()),t=this.lastChild;let n,s=this.firstChild;for(;s!==t;){if(n=s.nextSibling,!n)throw new Error(`Unmatched first/last child inside "${t.getRootNode().host.nodeName}".`);e.appendChild(s),s=n}e.appendChild(t)}bind(e,t=this){var n;if(this.hydrationStage!==bt&&(this._hydrationStage=gt),this.source===e)return;let s=this.behaviors;if(null===s){this.source=e,this.context=t;try{const{targets:e,boundaries:t}=function(e,t,n){const s=ot(e,t),i=s.commonAncestorContainer,r=function(e){let t=0;for(let n=0,s=e.length;n<s&&"h"===e[n].targetNodeId;++n)t++;return t}(n),o=document.createTreeWalker(i,NodeFilter.SHOW_ELEMENT+NodeFilter.SHOW_COMMENT+NodeFilter.SHOW_TEXT,{acceptNode:e=>0===s.comparePoint(e,0)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}),a={},l={};let c=o.currentNode=e;for(;null!==c;){switch(c.nodeType){case Node.ELEMENT_NODE:at(c,n,a,r);break;case Node.COMMENT_NODE:lt(c,o,n,a,l,r)}c=o.nextNode()}return s.detach(),{targets:a,boundaries:l}}(this.firstChild,this.lastChild,this.factories);this._targets=e,this._bindingViewBoundaries=t}catch(e){if(e instanceof st){let t=this.sourceTemplate.html;"string"!=typeof t&&(t=t.innerHTML),e.templateString=t}throw e}this.behaviors=s=new Array(this.factories.length);const i=this.factories;for(let e=0,t=i.length;e<t;++e){const t=i[e];if("h"===t.targetNodeId&&this.hostBindingTarget&&ct(t,this.hostBindingTarget,this._targets),!(t.targetNodeId in this.targets)){let e=this.sourceTemplate.html;"string"!=typeof e&&(e=e.innerHTML);const s=(null===(n=this.firstChild)||void 0===n?void 0:n.getRootNode()).host,i=t,r=[`HydrationView was unable to successfully target bindings inside "<${((null==s?void 0:s.nodeName)||"unknown").toLowerCase()}>".`,"\nMismatch Details:",` - Expected target node ID: "${t.targetNodeId}"`,` - Available target IDs: [${Object.keys(this.targets).join(", ")||"none"}]`];throw t.targetTagName&&r.push(` - Expected tag name: "${t.targetTagName}"`),i.sourceAspect&&r.push(` - Source aspect: "${i.sourceAspect}"`),void 0!==i.aspectType&&r.push(` - Aspect type: ${i.aspectType}`),r.push("\nThis usually means:"," 1. The server-rendered HTML doesn't match the client template"," 2. The hydration markers are missing or corrupted"," 3. The DOM structure was modified before hydration",`\nTemplate: ${e.slice(0,200)}${e.length>200?"...":""}`),new vt(r.join("\n"),t,ot(this.firstChild,this.lastChild).cloneContents(),e)}{const n=t.createBehavior();n.bind(this),s[e]=n}}}else{null!==this.source&&this.evaluateUnbindables(),this.isBound=!1,this.source=e,this.context=t;for(let e=0,t=s.length;e<t;++e)s[e].bind(this)}this.isBound=!0,this._hydrationStage=bt}unbind(){this.isBound&&null!==this.source&&(this.evaluateUnbindables(),this.source=null,this.context=this,this.isBound=!1)}dispose(){ht(this.firstChild,this.lastChild),this.unbind()}onUnbind(e){this.unbindables.push(e)}evaluateUnbindables(){const e=this.unbindables;for(let t=0,n=e.length;t<n;++t)e[t].unbind(this);e.length=0}});const mt={[y.attribute]:O.setAttribute,[y.booleanAttribute]:O.setBooleanAttribute,[y.property]:(e,t,n)=>e[t]=n,[y.content]:function(e,t,n,s){if(null==n&&(n=""),function(e){return void 0!==e.create}(n)){e.textContent="";let t=e.$fastView;if(void 0===t)if(tt(s)&&tt(n)&&void 0!==s.bindingViewBoundaries[this.targetNodeId]&&s.hydrationStage!==bt){const e=s.bindingViewBoundaries[this.targetNodeId];t=n.hydrate(e.first,e.last)}else t=n.create();else e.$fastTemplate!==n&&(t.isComposed&&(t.remove(),t.unbind()),t=n.create());t.isComposed?t.needsBindOnly&&(t.needsBindOnly=!1,t.bind(s.source,s.context)):(t.isComposed=!0,t.bind(s.source,s.context),t.insertBefore(e),e.$fastView=t,e.$fastTemplate=n)}else{const t=e.$fastView;void 0!==t&&t.isComposed&&(t.isComposed=!1,t.remove(),t.needsBindOnly?t.needsBindOnly=!1:t.unbind()),e.textContent=n}},[y.tokenList]:function(e,t,n){var s;const i=`${this.id}-t`,r=null!==(s=e[i])&&void 0!==s?s:e[i]={v:0,cv:Object.create(null)},o=r.cv;let a=r.v;const l=e[t];if(null!=n&&n.length){const e=n.split(/\s+/);for(let t=0,n=e.length;t<n;++t){const n=e[t];""!==n&&(o[n]=a,l.add(n))}}if(r.v=a+1,0!==a){a-=1;for(const e in o)o[e]===a&&l.remove(e)}},[y.event]:()=>{}};class yt{constructor(e){this.dataBinding=e,this.updateTarget=null,this.aspectType=y.content}createHTML(e){return Me.interpolation(e(this))}createBehavior(){var e;if(null===this.updateTarget){const t=mt[this.aspectType],n=null!==(e=this.dataBinding.policy)&&void 0!==e?e:this.policy;if(!t)throw f.error(c.unsupportedBindingBehavior);this.data=`${this.id}-d`,this.updateTarget=n.protect(this.targetTagName,this.aspectType,this.targetAspect,t)}return this}bind(e){var t;const n=e.targets[this.targetNodeId],s=tt(e)&&e.hydrationStage&&e.hydrationStage!==bt;switch(this.aspectType){case y.event:n[this.data]=e,n.addEventListener(this.targetAspect,this,this.dataBinding.options);break;case y.content:e.onUnbind(this);default:const i=null!==(t=n[this.data])&&void 0!==t?t:n[this.data]=this.dataBinding.createObserver(this,this);if(i.target=n,i.controller=e,s&&(this.aspectType===y.attribute||this.aspectType===y.booleanAttribute)){i.bind(e);break}this.updateTarget(n,this.targetAspect,i.bind(e),e)}}unbind(e){const t=e.targets[this.targetNodeId].$fastView;void 0!==t&&t.isComposed&&(t.unbind(),t.needsBindOnly=!0)}handleEvent(e){const t=e.currentTarget[this.data];if(t.isBound){H.setEvent(e);const n=this.dataBinding.evaluate(t.source,t.context);H.setEvent(null),!0!==n&&e.preventDefault()}}handleChange(e,t){const n=t.target,s=t.controller;this.updateTarget(n,this.targetAspect,t.bind(s),s)}}je.define(yt,{aspected:!0});const wt=(e,t)=>`${e}.${t}`,Ct={},St={index:0,node:null};function Tt(e){e.startsWith("fast-")||f.warn(c.hostBindingWithoutHost,{name:e})}const Ot=new Proxy(document.createElement("div"),{get(e,t){Tt(t);const n=Reflect.get(e,t);return d(n)?n.bind(e):n},set:(e,t,n)=>(Tt(t),Reflect.set(e,t,n))});class $t{constructor(e,t,n){this.fragment=e,this.directives=t,this.policy=n,this.proto=null,this.nodeIds=new Set,this.descriptors={},this.factories=[]}addFactory(e,t,n,s,i){var r,o;this.nodeIds.has(n)||(this.nodeIds.add(n),this.addTargetDescriptor(t,n,s)),e.id=null!==(r=e.id)&&void 0!==r?r:Ee(),e.targetNodeId=n,e.targetTagName=i,e.policy=null!==(o=e.policy)&&void 0!==o?o:this.policy,this.factories.push(e)}freeze(){return this.proto=Object.create(null,this.descriptors),this}addTargetDescriptor(e,t,n){const s=this.descriptors;if("r"===t||"h"===t||s[t])return;if(!s[e]){const t=e.lastIndexOf("."),n=e.substring(0,t),s=parseInt(e.substring(t+1));this.addTargetDescriptor(n,e,s)}let i=Ct[t];if(!i){const s=`_${t}`;Ct[t]=i={get(){var t;return null!==(t=this[s])&&void 0!==t?t:this[s]=this[e].childNodes[n]}}}s[t]=i}createView(e){const t=this.fragment.cloneNode(!0),n=Object.create(this.proto);n.r=t,n.h=null!=e?e:Ot;for(const e of this.nodeIds)n[e];return new pt(t,this.factories,n)}}function xt(e,t,n,s,i,r=!1){const o=n.attributes,a=e.directives;for(let l=0,c=o.length;l<c;++l){const d=o[l],h=d.value,u=Ie.parse(h,a);let p=null;null===u?r&&(p=new yt(de((()=>h),e.policy)),je.assignAspect(p,d.name)):p=At.aggregate(u,e.policy),null!==p&&(n.removeAttributeNode(d),l--,c--,e.addFactory(p,t,s,i,n.tagName))}}function Bt(e,t,n){let s=0,i=t.firstChild;for(;i;){const t=Nt(e,n,i,s);i=t.node,s=t.index}}function Nt(e,t,n,s){const i=wt(t,s);switch(n.nodeType){case 1:xt(e,t,n,i,s),Bt(e,n,i);break;case 3:return function(e,t,n,s,i){const r=Ie.parse(t.textContent,e.directives);if(null===r)return St.node=t.nextSibling,St.index=i+1,St;let o,a=o=t;for(let t=0,l=r.length;t<l;++t){const l=r[t];0!==t&&(i++,s=wt(n,i),o=a.parentNode.insertBefore(document.createTextNode(""),a.nextSibling)),h(l)?o.textContent=l:(o.textContent=" ",je.assignAspect(l),e.addFactory(l,n,s,i,null)),a=o}return St.index=i+1,St.node=a.nextSibling,St}(e,n,t,i,s);case 8:const r=Ie.parse(n.data,e.directives);null!==r&&e.addFactory(At.aggregate(r),t,i,s,null)}return St.index=s+1,St.node=n.nextSibling,St}const kt="TEMPLATE",At={compile(e,t,n=O.policy){let s;if(h(e)){s=document.createElement(kt),s.innerHTML=n.createHTML(e);const t=s.content.firstElementChild;null!==t&&t.tagName===kt&&(s=t)}else s=e;s.content.firstChild||s.content.lastChild||s.content.appendChild(document.createComment(""));const i=document.adoptNode(s.content),r=new $t(i,t,n);var o,a;return xt(r,"",s,"h",0,!0),o=i.firstChild,a=t,(o&&8==o.nodeType&&null!==Ie.parse(o.data,a)||1===i.childNodes.length&&Object.keys(t).length>0)&&i.insertBefore(document.createComment(""),i.firstChild),Bt(r,i,"r"),St.node=null,r.freeze()},setDefaultStrategy(e){this.compile=e},aggregate(e,t=O.policy){if(1===e.length)return e[0];let n,s,i=!1;const r=e.length,o=e.map((e=>h(e)?()=>e:(n=e.sourceAspect||n,i=i||e.dataBinding.isVolatile,s=s||e.dataBinding.policy,e.dataBinding.evaluate))),a=new yt(ae(((e,t)=>{let n="";for(let s=0;s<r;++s)n+=o[s](e,t);return n}),null!=s?s:t,i));return je.assignAspect(a,n),a}};class Et extends _e{bind(e){e.source[this.options]=e.targets[this.targetNodeId]}}je.define(Et);const Mt=e=>new Et(e);function It(e,t,n,s){return new(n||(n=Promise))((function(i,r){function o(e){try{l(s.next(e))}catch(e){r(e)}}function a(e){try{l(s.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((s=s.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const Rt="boolean",jt="reflect",Vt=Object.freeze({locate:v()}),_t={toView:e=>e?"true":"false",fromView:e=>!(null==e||"false"===e||!1===e||0===e)},Dt={toView:e=>"boolean"==typeof e?e.toString():"",fromView:e=>[null,void 0,void 0].includes(e)?null:_t.fromView(e)};function Ft(e){if(null==e)return null;const t=1*e;return isNaN(t)?null:t}const Lt={toView(e){const t=Ft(e);return t?t.toString():t},fromView:Ft};class Pt{constructor(e,t,n=t.toLowerCase(),s=jt,i){this.guards=new Set,this.Owner=e,this.name=t,this.attribute=n,this.mode=s,this.converter=i,this.fieldName=`_${t}`,this.callbackName=`${t}Changed`,this.hasCallback=this.callbackName in e.prototype,s===Rt&&void 0===i&&(this.converter=_t)}setValue(e,t){const n=e[this.fieldName],s=this.converter;void 0!==s&&(t=s.fromView(t)),n!==t&&(e[this.fieldName]=t,this.tryReflectToAttribute(e),this.hasCallback&&e[this.callbackName](n,t),e.$fastController.notify(this.name))}getValue(e){return D.track(e,this.name),e[this.fieldName]}onAttributeChangedCallback(e,t){this.guards.has(e)||(this.guards.add(e),this.setValue(e,t),this.guards.delete(e))}tryReflectToAttribute(e){const t=this.mode,n=this.guards;n.has(e)||"fromView"===t||V.enqueue((()=>{n.add(e);const s=e[this.fieldName];switch(t){case jt:const t=this.converter;O.setAttribute(e,this.attribute,void 0!==t?t.toView(s):s);break;case Rt:O.setBooleanAttribute(e,this.attribute,s)}n.delete(e)}))}static collect(e,...t){const n=[];t.push(Vt.locate(e));for(let s=0,i=t.length;s<i;++s){const i=t[s];if(void 0!==i)for(let t=0,s=i.length;t<s;++t){const s=i[t];h(s)?n.push(new Pt(e,s)):n.push(new Pt(e,s.property,s.attribute,s.mode,s.converter))}}return n}}function Ht(e,t){let n;function s(e,t){arguments.length>1&&(n.property=t),Vt.locate(e.constructor).push(n)}return arguments.length>1?(n={},void s(e,t)):(n=void 0===e?{}:e,s)}var zt;const Ut={mode:"open"},qt={},Wt=new Set,Qt=f.getById(l.elementRegistry,(()=>b())),Jt={deferAndHydrate:"defer-and-hydrate"};class Kt{get isDefined(){return this.platformDefined}constructor(e,t=e.definition){var n;this.platformDefined=!1,h(t)&&(t={name:t}),this.type=e,this.name=t.name,this.template=t.template,this.templateOptions=t.templateOptions,this.registry=null!==(n=t.registry)&&void 0!==n?n:customElements;const s=e.prototype,i=Pt.collect(e,t.attributes),r=new Array(i.length),o={},a={};for(let e=0,t=i.length;e<t;++e){const t=i[e];r[e]=t.attribute,o[t.name]=t,a[t.attribute]=t,D.defineProperty(s,t)}Reflect.defineProperty(e,"observedAttributes",{value:r,enumerable:!0}),this.attributes=i,this.propertyLookup=o,this.attributeLookup=a,this.shadowOptions=void 0===t.shadowOptions?Ut:null===t.shadowOptions?void 0:Object.assign(Object.assign({},Ut),t.shadowOptions),this.elementOptions=void 0===t.elementOptions?qt:Object.assign(Object.assign({},qt),t.elementOptions),this.styles=ye.normalize(t.styles),Qt.register(this),D.defineProperty(zt.isRegistered,this.name),zt.isRegistered[this.name]=this.type}define(e=this.registry){var t,n;const s=this.type;return e.get(this.name)||(this.platformDefined=!0,e.define(this.name,s,this.elementOptions),null===(n=null===(t=this.lifecycleCallbacks)||void 0===t?void 0:t.elementDidDefine)||void 0===n||n.call(t,this.name)),this}static compose(e,t){return Wt.has(e)||Qt.getByType(e)?new zt(class extends e{},t):new zt(e,t)}static registerBaseType(e){Wt.add(e)}static composeAsync(e,t){return new Promise((n=>{(Wt.has(e)||Qt.getByType(e))&&n(new zt(class extends e{},t));const s=new zt(e,t);D.getNotifier(s).subscribe({handleChange:()=>{var e,t;null===(t=null===(e=s.lifecycleCallbacks)||void 0===e?void 0:e.templateDidUpdate)||void 0===t||t.call(e,s.name),n(s)}},"template")}))}}zt=Kt,Kt.isRegistered={},Kt.getByType=Qt.getByType,Kt.getForInstance=Qt.getForInstance,Kt.registerAsync=e=>It(void 0,void 0,void 0,(function*(){return new Promise((t=>{zt.isRegistered[e]&&t(zt.isRegistered[e]),D.getNotifier(zt.isRegistered).subscribe({handleChange:()=>t(zt.isRegistered[e])},e)}))})),D.defineProperty(Kt.prototype,"template");const Xt=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/,Gt=Object.create(null);class Yt{constructor(e,t=Gt){this.html=e,this.factories=t}createHTML(e){const t=this.factories;for(const n in t)e(t[n]);return this.html}}function Zt(e,t,n,s=je.getForInstance(e)){if(s.aspected){const n=Xt.exec(t);null!==n&&je.assignAspect(e,n[2])}return e.createHTML(n)}Yt.empty=new Yt(""),je.define(Yt);class en{constructor(e,t={},n){this.policy=n,this.result=null,this.html=e,this.factories=t}compile(){return null===this.result&&(this.result=At.compile(this.html,this.factories,this.policy)),this.result}create(e){return this.compile().createView(e)}inline(){return new Yt(h(this.html)?this.html:this.html.innerHTML,this.factories)}withPolicy(e){if(this.result)throw f.error(c.cannotSetTemplatePolicyAfterCompilation);if(this.policy)throw f.error(c.onlySetTemplatePolicyOnce);return this.policy=e,this}render(e,t,n){const s=this.create(n);return s.bind(e),s.appendTo(t),s}static create(e,t,n){let s="";const i=Object.create(null),r=e=>{var t;const n=null!==(t=e.id)&&void 0!==t?t:e.id=Ee();return i[n]=e,n};for(let n=0,i=e.length-1;n<i;++n){const i=e[n];let o,a=t[n];if(s+=i,d(a))a=new yt(ae(a));else if(a instanceof re)a=new yt(a);else if(!(o=je.getForInstance(a))){const e=a;a=new yt(de((()=>e)))}s+=Zt(a,i,r,o)}return new en(s+e[e.length-1],i,n)}}m(en);const tn=(e,...t)=>{if(Array.isArray(e)&&Array.isArray(e.raw))return en.create(e,t);throw f.error(c.directCallToHTMLTagNotAllowed)};tn.partial=e=>new Yt(e);class nn{constructor(e){this.directive=e,this.location=null,this.controller=null,this.view=null,this.data=null,this.dataBindingObserver=e.dataBinding.createObserver(this,e),this.templateBindingObserver=e.templateBinding.createObserver(this,e)}bind(e){if(this.location=e.targets[this.directive.targetNodeId],this.controller=e,this.data=this.dataBindingObserver.bind(e),this.template=this.templateBindingObserver.bind(e),e.onUnbind(this),tt(this.template)&&tt(e)&&e.hydrationStage!==bt&&!this.view){const t=e.bindingViewBoundaries[this.directive.targetNodeId];t&&(this.view=this.template.hydrate(t.first,t.last),this.bindView(this.view))}else this.refreshView()}unbind(e){const t=this.view;null!==t&&t.isComposed&&(t.unbind(),t.needsBindOnly=!0)}handleChange(e,t){t===this.dataBindingObserver&&(this.data=this.dataBindingObserver.bind(this.controller)),(this.directive.templateBindingDependsOnData||t===this.templateBindingObserver)&&(this.template=this.templateBindingObserver.bind(this.controller)),this.refreshView()}bindView(e){e.isComposed?e.needsBindOnly&&(e.needsBindOnly=!1,e.bind(this.data)):(e.isComposed=!0,e.bind(this.data),e.insertBefore(this.location),e.$fastTemplate=this.template)}refreshView(){let e=this.view;const t=this.template;null===e?(this.view=e=t.create(),this.view.context.parent=this.controller.source,this.view.context.parentContext=this.controller.context):e.$fastTemplate!==t&&(e.isComposed&&(e.remove(),e.unbind()),this.view=e=t.create(),this.view.context.parent=this.controller.source,this.view.context.parentContext=this.controller.context),this.bindView(e)}}class sn{constructor(e,t,n){this.dataBinding=e,this.templateBinding=t,this.templateBindingDependsOnData=n}createHTML(e){return Me.comment(e(this))}createBehavior(){return new nn(this)}}je.define(sn);const rn=new Map,on={":model":e=>e},an=Symbol("RenderInstruction"),ln="default-view",cn=tn`
1
+ void 0===globalThis.FAST&&Reflect.defineProperty(globalThis,"FAST",{value:Object.create(null),configurable:!1,enumerable:!1,writable:!1});const e=globalThis.FAST,t={1101:"Must call ArrayObserver.enable() before observing arrays.",1201:"The DOM Policy can only be set once.",1202:"To bind innerHTML, you must use a TrustedTypesPolicy.",1203:"View=>Model update skipped. To use twoWay binding, the target property must be observable.",1204:"No host element is present. Cannot bind host with ${name}.",1205:"The requested binding behavior is not supported by the binding engine.",1206:"Calling html`` as a normal function invalidates the security guarantees provided by FAST.",1207:"The DOM Policy for an HTML template can only be set once.",1208:"The DOM Policy cannot be set after a template is compiled.",1209:"'${aspectName}' on '${tagName}' is blocked by the current DOMPolicy.",1401:"Missing FASTElement definition.",1501:"No registration for Context/Interface '${name}'.",1502:"Dependency injection resolver for '${key}' returned a null factory.",1503:"Invalid dependency injection resolver strategy specified '${strategy}'.",1504:"Unable to autoregister dependency.",1505:"Unable to resolve dependency injection key '${key}'.",1506:"'${name}' is a native function and therefore cannot be safely constructed by DI. If this is intentional, please use a callback or cachedCallback resolver.",1507:"Attempted to jitRegister something that is not a constructor '${value}'. Did you forget to register this dependency?",1508:"Attempted to jitRegister an intrinsic type '${value}'. Did you forget to add @inject(Key)?",1509:"Attempted to jitRegister an interface '${value}'.",1510:"A valid resolver was not returned from the register method.",1511:"Key/value cannot be null or undefined. Are you trying to inject/register something that doesn't exist with DI?",1512:"'${key}' not registered. Did you forget to add @singleton()?",1513:"Cyclic dependency found '${name}'.",1514:"Injected properties that are updated on changes to DOM connectivity require the target object to be an instance of FASTElement.",1601:"Invalid attribute marker name: ${name}. Expected format is ${expectedFormat}.",1602:"Invalid compact attribute marker values in ${markerName}. Both index and count must be positive integers.",1604:"Invalid compact attribute marker name: ${name}. Expected format is ${expectedFormat}."},n=/(\$\{\w+?})/g,s=/\$\{(\w+?)}/g,i=Object.freeze({});function r(e,t){return e.split(n).map((e=>{var n;const i=e.replace(s,"$1");return String(null!==(n=t[i])&&void 0!==n?n:e)})).join("")}let o;Object.assign(e,{addMessages(e){Object.assign(t,e)},warn(e,n=i){var s;const o=null!==(s=t[e])&&void 0!==s?s:"Unknown Warning";console.warn(r(o,n))},error(e,n=i){var s;const o=null!==(s=t[e])&&void 0!==s?s:"Unknown Error";return new Error(r(o,n))}});const a="fast-kernel";try{if(document.currentScript)o=document.currentScript.getAttribute(a);else{const e=document.getElementsByTagName("script");o=e[e.length-1].getAttribute(a)}}catch(e){o="isolate"}let l;switch(o){case"share":l=Object.freeze({updateQueue:1,observable:2,contextEvent:3,elementRegistry:4});break;case"share-v2":l=Object.freeze({updateQueue:1.2,observable:2.2,contextEvent:3.2,elementRegistry:4.2});break;default:const e=`-${Math.random().toString(36).substring(2,8)}`;l=Object.freeze({updateQueue:`1.2${e}`,observable:`2.2${e}`,contextEvent:`3.2${e}`,elementRegistry:`4.2${e}`})}var c;!function(e){e[e.needsArrayObservation=1101]="needsArrayObservation",e[e.onlySetDOMPolicyOnce=1201]="onlySetDOMPolicyOnce",e[e.bindingInnerHTMLRequiresTrustedTypes=1202]="bindingInnerHTMLRequiresTrustedTypes",e[e.twoWayBindingRequiresObservables=1203]="twoWayBindingRequiresObservables",e[e.hostBindingWithoutHost=1204]="hostBindingWithoutHost",e[e.unsupportedBindingBehavior=1205]="unsupportedBindingBehavior",e[e.directCallToHTMLTagNotAllowed=1206]="directCallToHTMLTagNotAllowed",e[e.onlySetTemplatePolicyOnce=1207]="onlySetTemplatePolicyOnce",e[e.cannotSetTemplatePolicyAfterCompilation=1208]="cannotSetTemplatePolicyAfterCompilation",e[e.blockedByDOMPolicy=1209]="blockedByDOMPolicy",e[e.missingElementDefinition=1401]="missingElementDefinition",e[e.noRegistrationForContext=1501]="noRegistrationForContext",e[e.noFactoryForResolver=1502]="noFactoryForResolver",e[e.invalidResolverStrategy=1503]="invalidResolverStrategy",e[e.cannotAutoregisterDependency=1504]="cannotAutoregisterDependency",e[e.cannotResolveKey=1505]="cannotResolveKey",e[e.cannotConstructNativeFunction=1506]="cannotConstructNativeFunction",e[e.cannotJITRegisterNonConstructor=1507]="cannotJITRegisterNonConstructor",e[e.cannotJITRegisterIntrinsic=1508]="cannotJITRegisterIntrinsic",e[e.cannotJITRegisterInterface=1509]="cannotJITRegisterInterface",e[e.invalidResolver=1510]="invalidResolver",e[e.invalidKey=1511]="invalidKey",e[e.noDefaultResolver=1512]="noDefaultResolver",e[e.cyclicDependency=1513]="cyclicDependency",e[e.connectUpdateRequiresController=1514]="connectUpdateRequiresController"}(c||(c={}));const d=e=>"function"==typeof e,h=e=>"string"==typeof e,u=()=>{};!function(){if("undefined"==typeof globalThis)if("undefined"!=typeof global)global.globalThis=global;else if("undefined"!=typeof self)self.globalThis=self;else if("undefined"!=typeof window)window.globalThis=window;else{const e=new Function("return this")();e.globalThis=e}}(),"requestIdleCallback"in globalThis||(globalThis.requestIdleCallback=function(e,t){const n=Date.now();return setTimeout((()=>{e({didTimeout:!!(null==t?void 0:t.timeout)&&Date.now()-n>=t.timeout,timeRemaining:()=>0})}),1)},globalThis.cancelIdleCallback=function(e){clearTimeout(e)});const p={configurable:!1,enumerable:!1,writable:!1};void 0===globalThis.FAST&&Reflect.defineProperty(globalThis,"FAST",Object.assign({value:Object.create(null)},p));const f=globalThis.FAST;if(void 0===f.getById){const e=Object.create(null);Reflect.defineProperty(f,"getById",Object.assign({value(t,n){let s=e[t];return void 0===s&&(s=n?e[t]=n():null),s}},p))}void 0===f.error&&Object.assign(f,{warn(){},error:e=>new Error(`Error ${e}`),addMessages(){}});const g=Object.freeze([]);function b(){const e=new Map;return Object.freeze({register:t=>!e.has(t.type)&&(e.set(t.type,t),!0),getByType:t=>e.get(t),getForInstance(t){if(null!=t)return e.get(t.constructor)}})}function v(){const e=new WeakMap;return function(t){let n=e.get(t);if(void 0===n){let s=Reflect.getPrototypeOf(t);for(;void 0===n&&null!==s;)n=e.get(s),s=Reflect.getPrototypeOf(s);n=void 0===n?[]:n.slice(0),e.set(t,n)}return n}}function m(e){e.prototype.toJSON=u}const y=Object.freeze({none:0,attribute:1,booleanAttribute:2,property:3,content:4,tokenList:5,event:6}),w=e=>e,C=globalThis.trustedTypes?globalThis.trustedTypes.createPolicy("fast-html",{createHTML:w}):{createHTML:w};let S=Object.freeze({createHTML:e=>C.createHTML(e),protect:(e,t,n,s)=>s});const T=S,O=Object.freeze({get policy(){return S},setPolicy(e){if(S!==T)throw f.error(c.onlySetDOMPolicyOnce);S=e},setAttribute(e,t,n){null==n?e.removeAttribute(t):e.setAttribute(t,n)},setBooleanAttribute(e,t,n){n?e.setAttribute(t,""):e.removeAttribute(t)}});function $(e,t,n,s){return(e,t,n,...i)=>{h(n)&&(n=n.replace(/(javascript:|vbscript:|data:)/,"")),s(e,t,n,...i)}}function x(e,t,n,s){throw f.error(c.blockedByDOMPolicy,{aspectName:n,tagName:null!=e?e:"text"})}const B={onabort:x,onauxclick:x,onbeforeinput:x,onbeforematch:x,onblur:x,oncancel:x,oncanplay:x,oncanplaythrough:x,onchange:x,onclick:x,onclose:x,oncontextlost:x,oncontextmenu:x,oncontextrestored:x,oncopy:x,oncuechange:x,oncut:x,ondblclick:x,ondrag:x,ondragend:x,ondragenter:x,ondragleave:x,ondragover:x,ondragstart:x,ondrop:x,ondurationchange:x,onemptied:x,onended:x,onerror:x,onfocus:x,onformdata:x,oninput:x,oninvalid:x,onkeydown:x,onkeypress:x,onkeyup:x,onload:x,onloadeddata:x,onloadedmetadata:x,onloadstart:x,onmousedown:x,onmouseenter:x,onmouseleave:x,onmousemove:x,onmouseout:x,onmouseover:x,onmouseup:x,onpaste:x,onpause:x,onplay:x,onplaying:x,onprogress:x,onratechange:x,onreset:x,onresize:x,onscroll:x,onsecuritypolicyviolation:x,onseeked:x,onseeking:x,onselect:x,onslotchange:x,onstalled:x,onsubmit:x,onsuspend:x,ontimeupdate:x,ontoggle:x,onvolumechange:x,onwaiting:x,onwebkitanimationend:x,onwebkitanimationiteration:x,onwebkitanimationstart:x,onwebkittransitionend:x,onwheel:x},N={elements:{a:{[y.attribute]:{href:$},[y.property]:{href:$}},area:{[y.attribute]:{href:$},[y.property]:{href:$}},button:{[y.attribute]:{formaction:$},[y.property]:{formAction:$}},embed:{[y.attribute]:{src:x},[y.property]:{src:x}},form:{[y.attribute]:{action:$},[y.property]:{action:$}},frame:{[y.attribute]:{src:$},[y.property]:{src:$}},iframe:{[y.attribute]:{src:$},[y.property]:{src:$,srcdoc:x}},input:{[y.attribute]:{formaction:$},[y.property]:{formAction:$}},link:{[y.attribute]:{href:x},[y.property]:{href:x}},object:{[y.attribute]:{codebase:x,data:x},[y.property]:{codeBase:x,data:x}},script:{[y.attribute]:{src:x,text:x},[y.property]:{src:x,text:x,innerText:x,textContent:x}},style:{[y.property]:{innerText:x,textContent:x}}},aspects:{[y.attribute]:Object.assign({},B),[y.property]:Object.assign({innerHTML:x},B),[y.event]:Object.assign({},B)}};function k(e,t){const n={};for(const s in t){const i=e[s],r=t[s];switch(i){case null:break;case void 0:n[s]=r;break;default:n[s]=i}}for(const t in e)t in n||(n[t]=e[t]);return Object.freeze(n)}function A(e,t){const n={};for(const s in t){const i=e[s],r=t[s];switch(i){case null:break;case void 0:n[s]=k(r,{});break;default:n[s]=k(i,r)}}for(const t in e)t in n||(n[t]=k(e[t],{}));return Object.freeze(n)}function E(e,t){const n={};for(const s in t){const i=e[s],r=t[s];switch(i){case null:break;case void 0:n[s]=A(i,{});break;default:n[s]=A(i,r)}}for(const t in e)t in n||(n[t]=A(e[t],{}));return Object.freeze(n)}function M(e,t,n,s,i){const r=e[n];if(r){const e=r[s];if(e)return e(t,n,s,i)}}const I=Object.freeze({create(e={}){var t,n;const s=null!==(t=e.trustedType)&&void 0!==t?t:function(){const e=e=>e;return globalThis.trustedTypes?globalThis.trustedTypes.createPolicy("fast-html",{createHTML:e}):{createHTML:e}}(),i=(r=null!==(n=e.guards)&&void 0!==n?n:{},o=N,Object.freeze({elements:r.elements?E(r.elements,o.elements):o.elements,aspects:r.aspects?A(r.aspects,o.aspects):o.aspects}));var r,o;return Object.freeze({createHTML:e=>s.createHTML(e),protect(e,t,n,s){var r;const o=(null!=e?e:"").toLowerCase(),a=i.elements[o];if(a){const i=M(a,e,t,n,s);if(i)return i}return null!==(r=M(i.aspects,e,t,n,s))&&void 0!==r?r:s}})}});class R{constructor(e,t){this.sub1=void 0,this.sub2=void 0,this.spillover=void 0,this.subject=e,this.sub1=t}has(e){return void 0===this.spillover?this.sub1===e||this.sub2===e:-1!==this.spillover.indexOf(e)}subscribe(e){const t=this.spillover;if(void 0===t){if(this.has(e))return;if(void 0===this.sub1)return void(this.sub1=e);if(void 0===this.sub2)return void(this.sub2=e);this.spillover=[this.sub1,this.sub2,e],this.sub1=void 0,this.sub2=void 0}else{-1===t.indexOf(e)&&t.push(e)}}unsubscribe(e){const t=this.spillover;if(void 0===t)this.sub1===e?this.sub1=void 0:this.sub2===e&&(this.sub2=void 0);else{const n=t.indexOf(e);-1!==n&&t.splice(n,1)}}notify(e){const t=this.spillover,n=this.subject;if(void 0===t){const t=this.sub1,s=this.sub2;void 0!==t&&t.handleChange(n,e),void 0!==s&&s.handleChange(n,e)}else for(let s=0,i=t.length;s<i;++s)t[s].handleChange(n,e)}}class j{constructor(e){this.subscribers={},this.subjectSubscribers=null,this.subject=e}notify(e){var t,n;null===(t=this.subscribers[e])||void 0===t||t.notify(e),null===(n=this.subjectSubscribers)||void 0===n||n.notify(e)}subscribe(e,t){var n,s;let i;i=t?null!==(n=this.subscribers[t])&&void 0!==n?n:this.subscribers[t]=new R(this.subject):null!==(s=this.subjectSubscribers)&&void 0!==s?s:this.subjectSubscribers=new R(this.subject),i.subscribe(e)}unsubscribe(e,t){var n,s;t?null===(n=this.subscribers[t])||void 0===n||n.unsubscribe(e):null===(s=this.subjectSubscribers)||void 0===s||s.unsubscribe(e)}}const V=f.getById(l.updateQueue,(()=>{const e=[],t=[],n=globalThis.requestAnimationFrame;let s=!0;function i(){if(t.length)throw t.shift()}function r(n){try{n.call()}catch(n){if(!s)throw e.length=0,n;t.push(n),setTimeout(i,0)}}function o(){let t=0;for(;t<e.length;)if(r(e[t]),t++,t>1024){for(let n=0,s=e.length-t;n<s;n++)e[n]=e[n+t];e.length-=t,t=0}e.length=0}function a(t){e.push(t),e.length<2&&(s?n(o):o())}return Object.freeze({enqueue:a,next:()=>new Promise(a),process:o,setMode:e=>s=e})})),_=Object.freeze({unknown:void 0,coupled:1}),D=f.getById(l.observable,(()=>{const e=V.enqueue,t=/(:|&&|\|\||if|\?\.)/,n=new WeakMap;let s,i=e=>{throw f.error(c.needsArrayObservation)};function r(e){var t;let s=null!==(t=e.$fastController)&&void 0!==t?t:n.get(e);return void 0===s&&(Array.isArray(e)?s=i(e):n.set(e,s=new j(e))),s}const o=v();class a{constructor(e){this.name=e,this.field=`_${e}`,this.callback=`${e}Changed`}getValue(e){return void 0!==s&&s.watch(e,this.name),e[this.field]}setValue(e,t){const n=this.field,s=e[n];if(s!==t){e[n]=t;const i=e[this.callback];d(i)&&i.call(e,s,t),r(e).notify(this.name)}}}class l extends R{constructor(e,t,n=!1){super(e,t),this.expression=e,this.isVolatileBinding=n,this.needsRefresh=!0,this.needsQueue=!0,this.isAsync=!0,this.first=this,this.last=null,this.propertySource=void 0,this.propertyName=void 0,this.notifier=void 0,this.next=void 0}setMode(e){this.isAsync=this.needsQueue=e}bind(e){this.controller=e;const t=this.observe(e.source,e.context);return!e.isBound&&this.requiresUnbind(e)&&e.onUnbind(this),t}requiresUnbind(e){return e.sourceLifetime!==_.coupled||this.first!==this.last||this.first.propertySource!==e.source}unbind(e){this.dispose()}observe(e,t){this.needsRefresh&&null!==this.last&&this.dispose();const n=s;let i;s=this.needsRefresh?this:void 0,this.needsRefresh=this.isVolatileBinding;try{i=this.expression(e,t)}finally{s=n}return i}disconnect(){this.dispose()}dispose(){if(null!==this.last){let e=this.first;for(;void 0!==e;)e.notifier.unsubscribe(this,e.propertyName),e=e.next;this.last=null,this.needsRefresh=this.needsQueue=this.isAsync}}watch(e,t){const n=this.last,i=r(e),o=null===n?this.first:{};if(o.propertySource=e,o.propertyName=t,o.notifier=i,i.subscribe(this,t),null!==n){if(!this.needsRefresh){let t;s=void 0,t=n.propertySource[n.propertyName],s=this,e===t&&(this.needsRefresh=!0)}n.next=o}this.last=o}handleChange(){this.needsQueue?(this.needsQueue=!1,e(this)):this.isAsync||this.call()}call(){null!==this.last&&(this.needsQueue=this.isAsync,this.notify(this))}*records(){let e=this.first;for(;void 0!==e;)yield e,e=e.next}}return m(l),Object.freeze({setArrayObserverFactory(e){i=e},getNotifier:r,track(e,t){s&&s.watch(e,t)},trackVolatile(){s&&(s.needsRefresh=!0)},notify(e,t){r(e).notify(t)},defineProperty(e,t){h(t)&&(t=new a(t)),o(e).push(t),Reflect.defineProperty(e,t.name,{enumerable:!0,get(){return t.getValue(this)},set(e){t.setValue(this,e)}})},getAccessors:o,binding(e,t,n=this.isVolatileBinding(e)){return new l(e,t,n)},isVolatileBinding:e=>t.test(e.toString())})}));function F(e,t){D.defineProperty(e,t)}function L(e,t,n){return Object.assign({},n,{get(){return D.trackVolatile(),n.get.apply(this)}})}const P=f.getById(l.contextEvent,(()=>{let e=null;return{get:()=>e,set(t){e=t}}})),H=Object.freeze({default:{index:0,length:0,get event(){return H.getEvent()},eventDetail(){return this.event.detail},eventTarget(){return this.event.target}},getEvent:()=>P.get(),setEvent(e){P.set(e)}});class z{constructor(e,t,n){this.index=e,this.removed=t,this.addedCount=n}adjustTo(e){let t=this.index;const n=e.length;return t>n?t=n-this.addedCount:t<0&&(t=n+this.removed.length+t-this.addedCount),this.index=t<0?0:t,this}}class U{constructor(e){this.sorted=e}}const q=Object.freeze({reset:1,splice:2,optimized:3}),W=new z(0,g,0);W.reset=!0;const Q=[W];var J;function K(e,t,n,s,i,r){let o=0,a=0;const l=Math.min(n-t,r-i);if(0===t&&0===i&&(o=function(e,t,n){for(let s=0;s<n;++s)if(e[s]!==t[s])return s;return n}(e,s,l)),n===e.length&&r===s.length&&(a=function(e,t,n){let s=e.length,i=t.length,r=0;for(;r<n&&e[--s]===t[--i];)r++;return r}(e,s,l-o)),i+=o,r-=a,(n-=a)-(t+=o)==0&&r-i==0)return g;if(t===n){const e=new z(t,[],0);for(;i<r;)e.removed.push(s[i++]);return[e]}if(i===r)return[new z(t,[],n-t)];const c=function(e){let t=e.length-1,n=e[0].length-1,s=e[t][n];const i=[];for(;t>0||n>0;){if(0===t){i.push(J.add),n--;continue}if(0===n){i.push(J.delete),t--;continue}const r=e[t-1][n-1],o=e[t-1][n],a=e[t][n-1];let l;l=o<a?o<r?o:r:a<r?a:r,l===r?(r===s?i.push(J.leave):(i.push(J.update),s=r),t--,n--):l===o?(i.push(J.delete),t--,s=o):(i.push(J.add),n--,s=a)}return i.reverse()}(function(e,t,n,s,i,r){const o=r-i+1,a=n-t+1,l=new Array(o);let c,d;for(let e=0;e<o;++e)l[e]=new Array(a),l[e][0]=e;for(let e=0;e<a;++e)l[0][e]=e;for(let n=1;n<o;++n)for(let r=1;r<a;++r)e[t+r-1]===s[i+n-1]?l[n][r]=l[n-1][r-1]:(c=l[n-1][r]+1,d=l[n][r-1]+1,l[n][r]=c<d?c:d);return l}(e,t,n,s,i,r)),d=[];let h,u=t,p=i;for(let e=0;e<c.length;++e)switch(c[e]){case J.leave:void 0!==h&&(d.push(h),h=void 0),u++,p++;break;case J.update:void 0===h&&(h=new z(u,[],0)),h.addedCount++,u++,h.removed.push(s[p]),p++;break;case J.add:void 0===h&&(h=new z(u,[],0)),h.addedCount++,u++;break;case J.delete:void 0===h&&(h=new z(u,[],0)),h.removed.push(s[p]),p++}return void 0!==h&&d.push(h),d}function X(e,t){let n=!1,s=0;for(let l=0;l<t.length;l++){const c=t[l];if(c.index+=s,n)continue;const d=(i=e.index,r=e.index+e.removed.length,o=c.index,a=c.index+c.addedCount,r<o||a<i?-1:r===o||a===i?0:i<o?r<a?r-o:a-o:a<r?a-i:r-i);if(d>=0){t.splice(l,1),l--,s-=c.addedCount-c.removed.length,e.addedCount+=c.addedCount-d;const i=e.removed.length+c.removed.length-d;if(e.addedCount||i){let t=c.removed;if(e.index<c.index){const n=e.removed.slice(0,c.index-e.index);n.push(...t),t=n}if(e.index+e.removed.length>c.index+c.addedCount){const n=e.removed.slice(c.index+c.addedCount-e.index);t.push(...n)}e.removed=t,c.index<e.index&&(e.index=c.index)}else n=!0}else if(e.index<c.index){n=!0,t.splice(l,0,e),l++;const i=e.addedCount-e.removed.length;c.index+=i,s+=i}}var i,r,o,a;n||t.push(e)}!function(e){e[e.leave=0]="leave",e[e.update=1]="update",e[e.add=2]="add",e[e.delete=3]="delete"}(J||(J={}));let G=Object.freeze({support:q.optimized,normalize:(e,t,n)=>void 0===e?void 0===n?g:function(e,t){let n=[];const s=[];for(let e=0,n=t.length;e<n;e++)X(t[e],s);for(let t=0,i=s.length;t<i;++t){const i=s[t];1!==i.addedCount||1!==i.removed.length?n=n.concat(K(e,i.index,i.index+i.addedCount,i.removed,0,i.removed.length)):i.removed[0]!==e[i.index]&&n.push(i)}return n}(t,n):Q,pop(e,t,n,s){const i=e.length>0,r=n.apply(e,s);return i&&t.addSplice(new z(e.length,[r],0)),r},push(e,t,n,s){const i=n.apply(e,s);return t.addSplice(new z(e.length-s.length,[],s.length).adjustTo(e)),i},reverse(e,t,n,s){const i=n.apply(e,s);e.sorted++;const r=[];for(let t=e.length-1;t>=0;t--)r.push(t);return t.addSort(new U(r)),i},shift(e,t,n,s){const i=e.length>0,r=n.apply(e,s);return i&&t.addSplice(new z(0,[r],0)),r},sort(e,t,n,s){const i=new Map;for(let t=0,n=e.length;t<n;++t){const n=i.get(e[t])||[];i.set(e[t],[...n,t])}const r=n.apply(e,s);e.sorted++;const o=[];for(let t=0,n=e.length;t<n;++t){const n=i.get(e[t]);o.push(n[0]),i.set(e[t],n.splice(1))}return t.addSort(new U(o)),r},splice(e,t,n,s){const i=n.apply(e,s);return t.addSplice(new z(+s[0],i,s.length>2?s.length-2:0).adjustTo(e)),i},unshift(e,t,n,s){const i=n.apply(e,s);return t.addSplice(new z(0,[],s.length).adjustTo(e)),i}});const Y=Object.freeze({reset:Q,setDefaultStrategy(e){G=e}});function Z(e,t,n,s=!0){Reflect.defineProperty(e,t,{value:n,enumerable:!1,writable:s})}class ee extends R{get strategy(){return this._strategy}set strategy(e){this._strategy=e}get lengthObserver(){let e=this._lengthObserver;if(void 0===e){const t=this.subject;this._lengthObserver=e={length:t.length,handleChange(){this.length!==t.length&&(this.length=t.length,D.notify(e,"length"))}},this.subscribe(e)}return e}get sortObserver(){let e=this._sortObserver;if(void 0===e){const t=this.subject;this._sortObserver=e={sorted:t.sorted,handleChange(){this.sorted!==t.sorted&&(this.sorted=t.sorted,D.notify(e,"sorted"))}},this.subscribe(e)}return e}constructor(e){super(e),this.oldCollection=void 0,this.splices=void 0,this.sorts=void 0,this.needsQueue=!0,this._strategy=null,this._lengthObserver=void 0,this._sortObserver=void 0,this.call=this.flush,Z(e,"$fastController",this)}subscribe(e){this.flush(),super.subscribe(e)}addSplice(e){void 0===this.splices?this.splices=[e]:this.splices.push(e),this.enqueue()}addSort(e){void 0===this.sorts?this.sorts=[e]:this.sorts.push(e),this.enqueue()}reset(e){this.oldCollection=e,this.enqueue()}flush(){var e;const t=this.splices,n=this.sorts,s=this.oldCollection;void 0===t&&void 0===s&&void 0===n||(this.needsQueue=!0,this.splices=void 0,this.sorts=void 0,this.oldCollection=void 0,void 0!==n?this.notify(n):this.notify((null!==(e=this._strategy)&&void 0!==e?e:G).normalize(s,this.subject,t)))}enqueue(){this.needsQueue&&(this.needsQueue=!1,V.enqueue(this))}}let te=!1;const ne=Object.freeze({sorted:0,enable(){if(te)return;te=!0,D.setArrayObserverFactory((e=>new ee(e)));const e=Array.prototype;e.$fastPatch||(Z(e,"$fastPatch",1),Z(e,"sorted",0),[e.pop,e.push,e.reverse,e.shift,e.sort,e.splice,e.unshift].forEach((t=>{e[t.name]=function(...e){var n;const s=this.$fastController;return void 0===s?t.apply(this,e):(null!==(n=s.strategy)&&void 0!==n?n:G)[t.name](this,s,t,e)}})))}});function se(e){if(!e)return 0;let t=e.$fastController;return void 0===t&&(ne.enable(),t=D.getNotifier(e)),D.track(t.lengthObserver,"length"),e.length}function ie(e){if(!e)return 0;let t=e.$fastController;return void 0===t&&(ne.enable(),t=D.getNotifier(e)),D.track(t.sortObserver,"sorted"),e.sorted}class re{constructor(e,t,n=!1){this.evaluate=e,this.policy=t,this.isVolatile=n}}class oe extends re{createObserver(e){return D.binding(this.evaluate,e,this.isVolatile)}}function ae(e,t,n=D.isVolatileBinding(e)){return new oe(e,t,n)}function le(e,t){const n=new oe(e);return n.options=t,n}class ce extends re{createObserver(){return this}bind(e){return this.evaluate(e.source,e.context)}}function de(e,t){return new ce(e,t)}function he(e){return d(e)?ae(e):e instanceof re?e:de((()=>e))}m(ce);const ue=b(),pe=Object.freeze({getForInstance:ue.getForInstance,getByType:ue.getByType,define:e=>(ue.register({type:e}),e)});function fe(){return function(e){pe.define(e)}}function ge(e,t,n){t.source.style.setProperty(e.targetAspect,n.bind(t))}class be{constructor(e,t){this.dataBinding=e,this.targetAspect=t}createCSS(e){return e(this),`var(${this.targetAspect})`}addedCallback(e){var t;const n=e.source;if(!n.$cssBindings){n.$cssBindings=new Map;const e=n.setAttribute;n.setAttribute=(t,s)=>{e.call(n,t,s),"style"===t&&n.$cssBindings.forEach(((e,t)=>ge(t,e.controller,e.observer)))}}const s=null!==(t=e[this.targetAspect])&&void 0!==t?t:e[this.targetAspect]=this.dataBinding.createObserver(this,this);s.controller=e,e.source.$cssBindings.set(this,{controller:e,observer:s})}connectedCallback(e){ge(this,e,e[this.targetAspect])}removedCallback(e){e.source.$cssBindings&&e.source.$cssBindings.delete(this)}handleChange(e,t){ge(this,t.controller,t)}}let ve;function me(e){return e.map((e=>e instanceof ye?me(e.styles):[e])).reduce(((e,t)=>e.concat(t)),[])}pe.define(be);class ye{get strategy(){return null===this._strategy&&this.withStrategy(ve),this._strategy}constructor(e){this.styles=e,this.targets=new WeakSet,this._strategy=null,this.behaviors=e.map((e=>e instanceof ye?e.behaviors:null)).reduce(((e,t)=>null===t?e:null===e?t:e.concat(t)),null)}addStylesTo(e){this.strategy.addStylesTo(e),this.targets.add(e)}removeStylesFrom(e){this.strategy.removeStylesFrom(e),this.targets.delete(e)}isAttachedTo(e){return this.targets.has(e)}withBehaviors(...e){return this.behaviors=null===this.behaviors?e:this.behaviors.concat(e),this}withStrategy(e){return this._strategy=new e(me(this.styles)),this}static setDefaultStrategy(e){ve=e}static normalize(e){return void 0===e?void 0:Array.isArray(e)?new ye(e):e instanceof ye?e:new ye([e])}}ye.supportsAdoptedStyleSheets=Array.isArray(document.adoptedStyleSheets)&&"replace"in CSSStyleSheet.prototype;const we=`${Math.random().toString(36).substring(2,8)}`;let Ce=0;const Se=()=>`--v${we}${++Ce}`;function Te(e,t){const n=[];let s="";const i=[],r=e=>{i.push(e)};for(let i=0,o=e.length-1;i<o;++i){s+=e[i];let o=t[i];d(o)?o=new be(ae(o),Se()).createCSS(r):o instanceof re?o=new be(o,Se()).createCSS(r):void 0!==pe.getForInstance(o)&&(o=o.createCSS(r)),o instanceof ye||o instanceof CSSStyleSheet?(""!==s.trim()&&(n.push(s),s=""),n.push(o)):s+=o}return s+=e[e.length-1],""!==s.trim()&&n.push(s),{styles:n,behaviors:i}}const Oe=(e,...t)=>{const{styles:n,behaviors:s}=Te(e,t),i=new ye(n);return s.length?i.withBehaviors(...s):i};class $e{constructor(e,t){this.behaviors=t,this.css="";const n=e.reduce(((e,t)=>(h(t)?this.css+=t:e.push(t),e)),[]);n.length&&(this.styles=new ye(n))}createCSS(e){return this.behaviors.forEach(e),this.styles&&e(this),this.css}addedCallback(e){e.addStyles(this.styles)}removedCallback(e){e.removeStyles(this.styles)}}pe.define($e),Oe.partial=(e,...t)=>{const{styles:n,behaviors:s}=Te(e,t);return new $e(n,s)};const xe=`fast-${Math.random().toString(36).substring(2,8)}`,Be=`${xe}{`,Ne=`}${xe}`,ke=Ne.length;let Ae=0;const Ee=()=>`${xe}-${++Ae}`,Me=Object.freeze({interpolation:e=>`${Be}${e}${Ne}`,attribute:e=>`${Ee()}="${Be}${e}${Ne}"`,comment:e=>`\x3c!--${Be}${e}${Ne}--\x3e`}),Ie=Object.freeze({parse(e,t){const n=e.split(Be);if(1===n.length)return null;const s=[];for(let e=0,i=n.length;e<i;++e){const i=n[e],r=i.indexOf(Ne);let o;if(-1===r)o=i;else{const e=i.substring(0,r);s.push(t[e]),o=i.substring(r+ke)}""!==o&&s.push(o)}return s}}),Re=b(),je=Object.freeze({getForInstance:Re.getForInstance,getByType:Re.getByType,define:(e,t)=>((t=t||{}).type=e,Re.register(t),e),assignAspect(e,t){if(t)switch(e.sourceAspect=t,t[0]){case":":e.targetAspect=t.substring(1),e.aspectType="classList"===e.targetAspect?y.tokenList:y.property;break;case"?":e.targetAspect=t.substring(1),e.aspectType=y.booleanAttribute;break;case"@":e.targetAspect=t.substring(1),e.aspectType=y.event;break;default:e.targetAspect=t,e.aspectType=y.attribute}else e.aspectType=y.content}});function Ve(e){return function(t){je.define(t,e)}}class _e{constructor(e){this.options=e}createHTML(e){return Me.attribute(e(this))}createBehavior(){return this}}m(_e);const De=e=>1===e.nodeType,Fe=e=>e?t=>1===t.nodeType&&t.matches(e):De;class Le extends _e{get id(){return this._id}set id(e){this._id=e,this._controllerProperty=`${e}-c`}bind(e){const t=e.targets[this.targetNodeId];t[this._controllerProperty]=e,this.updateTarget(e.source,this.computeNodes(t)),this.observe(t),e.onUnbind(this)}unbind(e){const t=e.targets[this.targetNodeId];this.updateTarget(e.source,g),this.disconnect(t),t[this._controllerProperty]=null}getSource(e){return e[this._controllerProperty].source}updateTarget(e,t){e[this.options.property]=t}computeNodes(e){let t=this.getNodes(e);return"filter"in this.options&&(t=t.filter(this.options.filter)),t}}class Pe extends Le{constructor(e){super(e),this.observerProperty=Symbol(),e.childList=!0}observe(e){let t=e[this.observerProperty];if(!t){t=new MutationObserver(((t,n)=>{this.updateTarget(this.getSource(e),this.computeNodes(e))})),t.toJSON=u,e[this.observerProperty]=t}t.observe(e,this.options)}disconnect(e){e[this.observerProperty].disconnect()}getNodes(e){return"selector"in this.options?Array.from(e.querySelectorAll(this.options.selector)):Array.from(e.childNodes)}}function He(e){return h(e)&&(e={property:e}),new Pe(e)}je.define(Pe);const ze=/fe-b\$\$start\$\$(\d+)\$\$(.+)\$\$fe-b/,Ue=/fe-b\$\$end\$\$(\d+)\$\$(.+)\$\$fe-b/,qe=/fe-repeat\$\$start\$\$(\d+)\$\$fe-repeat/,We=/fe-repeat\$\$end\$\$(\d+)\$\$fe-repeat/,Qe=/^(?:.{0,1000})fe-eb\$\$start\$\$(.+?)\$\$fe-eb/,Je=/fe-eb\$\$end\$\$(.{0,1000})\$\$fe-eb(?:.{0,1000})$/;function Ke(e){return e&&e.nodeType===Node.COMMENT_NODE}const Xe=Object.freeze({attributeMarkerName:"data-fe-b",compactAttributeMarkerName:"data-fe-c",attributeBindingSeparator:" ",contentBindingStartMarker:(e,t)=>`fe-b$$start$$${e}$$${t}$$fe-b`,contentBindingEndMarker:(e,t)=>`fe-b$$end$$${e}$$${t}$$fe-b`,repeatStartMarker:e=>`fe-repeat$$start$$${e}$$fe-repeat`,repeatEndMarker:e=>`fe-repeat$$end$$${e}$$fe-repeat`,isContentBindingStartMarker:e=>ze.test(e),isContentBindingEndMarker:e=>Ue.test(e),isRepeatViewStartMarker:e=>qe.test(e),isRepeatViewEndMarker:e=>We.test(e),isElementBoundaryStartMarker:e=>Ke(e)&&Qe.test(e.data.trim()),isElementBoundaryEndMarker:e=>Ke(e)&&Je.test(e.data),parseAttributeBinding(e){const t=e.getAttribute(this.attributeMarkerName);return null===t?t:t.split(this.attributeBindingSeparator).map((e=>parseInt(e)))},parseEnumeratedAttributeBinding(e){const t=[],n=this.attributeMarkerName.length+1,s=`${this.attributeMarkerName}-`;for(const i of e.getAttributeNames())if(i.startsWith(s)){const e=Number(i.slice(n));if(Number.isNaN(e))throw f.error(1601,{name:i,expectedFormat:`${s}<number>`});t.push(e)}return 0===t.length?null:t},parseCompactAttributeBinding(e){const t=`${this.compactAttributeMarkerName}-`,n=e.getAttributeNames().find((e=>e.startsWith(t)));if(!n)return null;const s=n.slice(t.length).split("-"),i=parseInt(s[0],10),r=parseInt(s[1],10);if(2!==s.length||Number.isNaN(i)||Number.isNaN(r)||i<0||r<1)throw f.error(1604,{name:n,expectedFormat:`${this.compactAttributeMarkerName}-{index}-{count}`});const o=[];for(let e=0;e<r;e++)o.push(i+e);return o},parseContentBindingStartMarker:e=>Ze(ze,e),parseContentBindingEndMarker:e=>Ze(Ue,e),parseRepeatStartMarker:e=>Ge(qe,e),parseRepeatEndMarker:e=>Ge(We,e),parseElementBoundaryStartMarker:e=>Ye(Qe,e.trim()),parseElementBoundaryEndMarker:e=>Ye(Je,e)});function Ge(e,t){const n=e.exec(t);return null===n?n:parseInt(n[1])}function Ye(e,t){const n=e.exec(t);return null===n?n:n[1]}function Ze(e,t){const n=e.exec(t);return null===n?n:[parseInt(n[1]),n[2]]}const et=Symbol.for("fe-hydration");function tt(e){return e[et]===et}const nt="defer-hydration";class st extends Error{constructor(e,t,n){super(e),this.factories=t,this.node=n}}function it(e){return e.nodeType===Node.COMMENT_NODE}function rt(e){return e.nodeType===Node.TEXT_NODE}function ot(e,t){const n=document.createRange();return n.setStart(e,0),n.setEnd(t,it(t)||rt(t)?t.data.length:t.childNodes.length),n}function at(e,t,n,s){var i,r;const o=null!==(r=null!==(i=Xe.parseAttributeBinding(e))&&void 0!==i?i:Xe.parseEnumeratedAttributeBinding(e))&&void 0!==r?r:Xe.parseCompactAttributeBinding(e);if(null!==o){for(const i of o){const r=t[i+s];if(!r)throw new st(`HydrationView was unable to successfully target factory on ${e.nodeName} inside ${e.getRootNode().host.nodeName}. This likely indicates a template mismatch between SSR rendering and hydration.`,t,e);ct(r,e,n)}e.removeAttribute(Xe.attributeMarkerName)}}function lt(e,t,n,s,i,r){if(Xe.isElementBoundaryStartMarker(e))!function(e,t){const n=Xe.parseElementBoundaryStartMarker(e.data);let s=t.nextSibling();for(;null!==s;){if(it(s)){const e=Xe.parseElementBoundaryEndMarker(s.data);if(e&&e===n)break}s=t.nextSibling()}}(e,t);else if(Xe.isContentBindingStartMarker(e.data)){const o=Xe.parseContentBindingStartMarker(e.data);if(null===o)return;const[a,l]=o,c=n[a+r],d=[];let h=t.nextSibling();e.data="";const u=h;for(;null!==h;){if(it(h)){const e=Xe.parseContentBindingEndMarker(h.data);if(e&&e[1]===l)break}d.push(h),h=t.nextSibling()}if(null===h){const t=e.getRootNode();throw new Error(`Error hydrating Comment node inside "${function(e){return e instanceof DocumentFragment&&"mode"in e}(t)?t.host.nodeName:t.nodeName}".`)}if(h.data="",1===d.length&&rt(d[0]))ct(c,d[0],s);else{h!==u&&null!==h.previousSibling&&(i[c.targetNodeId]={first:u,last:h.previousSibling});ct(c,h.parentNode.insertBefore(document.createTextNode(""),h),s)}}}function ct(e,t,n){if(void 0===e.targetNodeId)throw new Error("Factory could not be target to the node");n[e.targetNodeId]=t}var dt;function ht(e,t){const n=e.parentNode;let s,i=e;for(;i!==t;){if(s=i.nextSibling,!s)throw new Error(`Unmatched first/last child inside "${t.getRootNode().host.nodeName}".`);n.removeChild(i),i=s}n.removeChild(t)}class ut{constructor(){this.index=0,this.length=0}get event(){return H.getEvent()}get isEven(){return this.index%2==0}get isOdd(){return this.index%2!=0}get isFirst(){return 0===this.index}get isInMiddle(){return!this.isFirst&&!this.isLast}get isLast(){return this.index===this.length-1}eventDetail(){return this.event.detail}eventTarget(){return this.event.target}}class pt extends ut{constructor(e,t,n){super(),this.fragment=e,this.factories=t,this.targets=n,this.behaviors=null,this.unbindables=[],this.source=null,this.isBound=!1,this.sourceLifetime=_.unknown,this.context=this,this.firstChild=e.firstChild,this.lastChild=e.lastChild}appendTo(e){e.appendChild(this.fragment)}insertBefore(e){if(this.fragment.hasChildNodes())e.parentNode.insertBefore(this.fragment,e);else{const t=this.lastChild;if(e.previousSibling===t)return;const n=e.parentNode;let s,i=this.firstChild;for(;i!==t;)s=i.nextSibling,n.insertBefore(i,e),i=s;n.insertBefore(t,e)}}remove(){const e=this.fragment,t=this.lastChild;let n,s=this.firstChild;for(;s!==t;)n=s.nextSibling,e.appendChild(s),s=n;e.appendChild(t)}dispose(){ht(this.firstChild,this.lastChild),this.unbind()}onUnbind(e){this.unbindables.push(e)}bind(e,t=this){if(this.source===e)return;let n=this.behaviors;if(null===n){this.source=e,this.context=t,this.behaviors=n=new Array(this.factories.length);const s=this.factories;for(let e=0,t=s.length;e<t;++e){const t=s[e].createBehavior();t.bind(this),n[e]=t}}else{null!==this.source&&this.evaluateUnbindables(),this.isBound=!1,this.source=e,this.context=t;for(let e=0,t=n.length;e<t;++e)n[e].bind(this)}this.isBound=!0}unbind(){this.isBound&&null!==this.source&&(this.evaluateUnbindables(),this.source=null,this.context=this,this.isBound=!1)}evaluateUnbindables(){const e=this.unbindables;for(let t=0,n=e.length;t<n;++t)e[t].unbind(this);e.length=0}static disposeContiguousBatch(e){if(0!==e.length){ht(e[0].firstChild,e[e.length-1].lastChild);for(let t=0,n=e.length;t<n;++t)e[t].unbind()}}}m(pt),D.defineProperty(pt.prototype,"index"),D.defineProperty(pt.prototype,"length");const ft="unhydrated",gt="hydrating",bt="hydrated";class vt extends Error{constructor(e,t,n,s){super(e),this.factory=t,this.fragment=n,this.templateString=s}}dt=et,m(class extends ut{get hydrationStage(){return this._hydrationStage}get targets(){return this._targets}get bindingViewBoundaries(){return this._bindingViewBoundaries}constructor(e,t,n,s){super(),this.firstChild=e,this.lastChild=t,this.sourceTemplate=n,this.hostBindingTarget=s,this[dt]=et,this.context=this,this.source=null,this.isBound=!1,this.sourceLifetime=_.unknown,this.unbindables=[],this.fragment=null,this.behaviors=null,this._hydrationStage=ft,this._bindingViewBoundaries={},this._targets={},this.factories=n.compile().factories}insertBefore(e){if(null!==this.fragment)if(this.fragment.hasChildNodes())e.parentNode.insertBefore(this.fragment,e);else{const t=this.lastChild;if(e.previousSibling===t)return;const n=e.parentNode;let s,i=this.firstChild;for(;i!==t;)s=i.nextSibling,n.insertBefore(i,e),i=s;n.insertBefore(t,e)}}appendTo(e){null!==this.fragment&&e.appendChild(this.fragment)}remove(){const e=this.fragment||(this.fragment=document.createDocumentFragment()),t=this.lastChild;let n,s=this.firstChild;for(;s!==t;){if(n=s.nextSibling,!n)throw new Error(`Unmatched first/last child inside "${t.getRootNode().host.nodeName}".`);e.appendChild(s),s=n}e.appendChild(t)}bind(e,t=this){var n;if(this.hydrationStage!==bt&&(this._hydrationStage=gt),this.source===e)return;let s=this.behaviors;if(null===s){this.source=e,this.context=t;try{const{targets:e,boundaries:t}=function(e,t,n){const s=ot(e,t),i=s.commonAncestorContainer,r=function(e){let t=0;for(let n=0,s=e.length;n<s&&"h"===e[n].targetNodeId;++n)t++;return t}(n),o=document.createTreeWalker(i,NodeFilter.SHOW_ELEMENT+NodeFilter.SHOW_COMMENT+NodeFilter.SHOW_TEXT,{acceptNode:e=>0===s.comparePoint(e,0)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}),a={},l={};let c=o.currentNode=e;for(;null!==c;){switch(c.nodeType){case Node.ELEMENT_NODE:at(c,n,a,r);break;case Node.COMMENT_NODE:lt(c,o,n,a,l,r)}c=o.nextNode()}return s.detach(),{targets:a,boundaries:l}}(this.firstChild,this.lastChild,this.factories);this._targets=e,this._bindingViewBoundaries=t}catch(e){if(e instanceof st){let t=this.sourceTemplate.html;"string"!=typeof t&&(t=t.innerHTML),e.templateString=t}throw e}this.behaviors=s=new Array(this.factories.length);const i=this.factories;for(let e=0,t=i.length;e<t;++e){const t=i[e];if("h"===t.targetNodeId&&this.hostBindingTarget&&ct(t,this.hostBindingTarget,this._targets),!(t.targetNodeId in this.targets)){let e=this.sourceTemplate.html;"string"!=typeof e&&(e=e.innerHTML);const s=(null===(n=this.firstChild)||void 0===n?void 0:n.getRootNode()).host,i=t,r=[`HydrationView was unable to successfully target bindings inside "<${((null==s?void 0:s.nodeName)||"unknown").toLowerCase()}>".`,"\nMismatch Details:",` - Expected target node ID: "${t.targetNodeId}"`,` - Available target IDs: [${Object.keys(this.targets).join(", ")||"none"}]`];throw t.targetTagName&&r.push(` - Expected tag name: "${t.targetTagName}"`),i.sourceAspect&&r.push(` - Source aspect: "${i.sourceAspect}"`),void 0!==i.aspectType&&r.push(` - Aspect type: ${i.aspectType}`),r.push("\nThis usually means:"," 1. The server-rendered HTML doesn't match the client template"," 2. The hydration markers are missing or corrupted"," 3. The DOM structure was modified before hydration",`\nTemplate: ${e.slice(0,200)}${e.length>200?"...":""}`),new vt(r.join("\n"),t,ot(this.firstChild,this.lastChild).cloneContents(),e)}{const n=t.createBehavior();n.bind(this),s[e]=n}}}else{null!==this.source&&this.evaluateUnbindables(),this.isBound=!1,this.source=e,this.context=t;for(let e=0,t=s.length;e<t;++e)s[e].bind(this)}this.isBound=!0,this._hydrationStage=bt}unbind(){this.isBound&&null!==this.source&&(this.evaluateUnbindables(),this.source=null,this.context=this,this.isBound=!1)}dispose(){ht(this.firstChild,this.lastChild),this.unbind()}onUnbind(e){this.unbindables.push(e)}evaluateUnbindables(){const e=this.unbindables;for(let t=0,n=e.length;t<n;++t)e[t].unbind(this);e.length=0}});const mt={[y.attribute]:O.setAttribute,[y.booleanAttribute]:O.setBooleanAttribute,[y.property]:(e,t,n)=>e[t]=n,[y.content]:function(e,t,n,s){if(null==n&&(n=""),function(e){return void 0!==e.create}(n)){e.textContent="";let t=e.$fastView;if(void 0===t)if(tt(s)&&tt(n)&&void 0!==s.bindingViewBoundaries[this.targetNodeId]&&s.hydrationStage!==bt){const e=s.bindingViewBoundaries[this.targetNodeId];t=n.hydrate(e.first,e.last)}else t=n.create();else e.$fastTemplate!==n&&(t.isComposed&&(t.remove(),t.unbind()),t=n.create());t.isComposed?t.needsBindOnly&&(t.needsBindOnly=!1,t.bind(s.source,s.context)):(t.isComposed=!0,t.bind(s.source,s.context),t.insertBefore(e),e.$fastView=t,e.$fastTemplate=n)}else{const t=e.$fastView;void 0!==t&&t.isComposed&&(t.isComposed=!1,t.remove(),t.needsBindOnly?t.needsBindOnly=!1:t.unbind()),e.textContent=n}},[y.tokenList]:function(e,t,n){var s;const i=`${this.id}-t`,r=null!==(s=e[i])&&void 0!==s?s:e[i]={v:0,cv:Object.create(null)},o=r.cv;let a=r.v;const l=e[t];if(null!=n&&n.length){const e=n.split(/\s+/);for(let t=0,n=e.length;t<n;++t){const n=e[t];""!==n&&(o[n]=a,l.add(n))}}if(r.v=a+1,0!==a){a-=1;for(const e in o)o[e]===a&&l.remove(e)}},[y.event]:()=>{}};class yt{constructor(e){this.dataBinding=e,this.updateTarget=null,this.aspectType=y.content}createHTML(e){return Me.interpolation(e(this))}createBehavior(){var e;if(null===this.updateTarget){const t=mt[this.aspectType],n=null!==(e=this.dataBinding.policy)&&void 0!==e?e:this.policy;if(!t)throw f.error(c.unsupportedBindingBehavior);this.data=`${this.id}-d`,this.updateTarget=n.protect(this.targetTagName,this.aspectType,this.targetAspect,t)}return this}bind(e){var t;const n=e.targets[this.targetNodeId],s=tt(e)&&e.hydrationStage&&e.hydrationStage!==bt;switch(this.aspectType){case y.event:n[this.data]=e,n.addEventListener(this.targetAspect,this,this.dataBinding.options);break;case y.content:e.onUnbind(this);default:const i=null!==(t=n[this.data])&&void 0!==t?t:n[this.data]=this.dataBinding.createObserver(this,this);if(i.target=n,i.controller=e,s&&(this.aspectType===y.attribute||this.aspectType===y.booleanAttribute)){i.bind(e);break}this.updateTarget(n,this.targetAspect,i.bind(e),e)}}unbind(e){const t=e.targets[this.targetNodeId].$fastView;void 0!==t&&t.isComposed&&(t.unbind(),t.needsBindOnly=!0)}handleEvent(e){const t=e.currentTarget[this.data];if(t.isBound){H.setEvent(e);const n=this.dataBinding.evaluate(t.source,t.context);H.setEvent(null),!0!==n&&e.preventDefault()}}handleChange(e,t){const n=t.target,s=t.controller;this.updateTarget(n,this.targetAspect,t.bind(s),s)}}je.define(yt,{aspected:!0});const wt=(e,t)=>`${e}.${t}`,Ct={},St={index:0,node:null};function Tt(e){e.startsWith("fast-")||f.warn(c.hostBindingWithoutHost,{name:e})}const Ot=new Proxy(document.createElement("div"),{get(e,t){Tt(t);const n=Reflect.get(e,t);return d(n)?n.bind(e):n},set:(e,t,n)=>(Tt(t),Reflect.set(e,t,n))});class $t{constructor(e,t,n){this.fragment=e,this.directives=t,this.policy=n,this.proto=null,this.nodeIds=new Set,this.descriptors={},this.factories=[]}addFactory(e,t,n,s,i){var r,o;this.nodeIds.has(n)||(this.nodeIds.add(n),this.addTargetDescriptor(t,n,s)),e.id=null!==(r=e.id)&&void 0!==r?r:Ee(),e.targetNodeId=n,e.targetTagName=i,e.policy=null!==(o=e.policy)&&void 0!==o?o:this.policy,this.factories.push(e)}freeze(){return this.proto=Object.create(null,this.descriptors),this}addTargetDescriptor(e,t,n){const s=this.descriptors;if("r"===t||"h"===t||s[t])return;if(!s[e]){const t=e.lastIndexOf("."),n=e.substring(0,t),s=parseInt(e.substring(t+1));this.addTargetDescriptor(n,e,s)}let i=Ct[t];if(!i){const s=`_${t}`;Ct[t]=i={get(){var t;return null!==(t=this[s])&&void 0!==t?t:this[s]=this[e].childNodes[n]}}}s[t]=i}createView(e){const t=this.fragment.cloneNode(!0),n=Object.create(this.proto);n.r=t,n.h=null!=e?e:Ot;for(const e of this.nodeIds)n[e];return new pt(t,this.factories,n)}}function xt(e,t,n,s,i,r=!1){const o=n.attributes,a=e.directives;for(let l=0,c=o.length;l<c;++l){const d=o[l],h=d.value,u=Ie.parse(h,a);let p=null;null===u?r&&(p=new yt(de((()=>h),e.policy)),je.assignAspect(p,d.name)):p=At.aggregate(u,e.policy),null!==p&&(n.removeAttributeNode(d),l--,c--,e.addFactory(p,t,s,i,n.tagName))}}function Bt(e,t,n){let s=0,i=t.firstChild;for(;i;){const t=Nt(e,n,i,s);i=t.node,s=t.index}}function Nt(e,t,n,s){const i=wt(t,s);switch(n.nodeType){case 1:xt(e,t,n,i,s),Bt(e,n,i);break;case 3:return function(e,t,n,s,i){const r=Ie.parse(t.textContent,e.directives);if(null===r)return St.node=t.nextSibling,St.index=i+1,St;let o,a=o=t;for(let t=0,l=r.length;t<l;++t){const l=r[t];0!==t&&(i++,s=wt(n,i),o=a.parentNode.insertBefore(document.createTextNode(""),a.nextSibling)),h(l)?o.textContent=l:(o.textContent=" ",je.assignAspect(l),e.addFactory(l,n,s,i,null)),a=o}return St.index=i+1,St.node=a.nextSibling,St}(e,n,t,i,s);case 8:const r=Ie.parse(n.data,e.directives);null!==r&&e.addFactory(At.aggregate(r),t,i,s,null)}return St.index=s+1,St.node=n.nextSibling,St}const kt="TEMPLATE",At={compile(e,t,n=O.policy){let s;if(h(e)){s=document.createElement(kt),s.innerHTML=n.createHTML(e);const t=s.content.firstElementChild;null!==t&&t.tagName===kt&&(s=t)}else s=e;s.content.firstChild||s.content.lastChild||s.content.appendChild(document.createComment(""));const i=document.adoptNode(s.content),r=new $t(i,t,n);var o,a;return xt(r,"",s,"h",0,!0),o=i.firstChild,a=t,(o&&8==o.nodeType&&null!==Ie.parse(o.data,a)||1===i.childNodes.length&&Object.keys(t).length>0)&&i.insertBefore(document.createComment(""),i.firstChild),Bt(r,i,"r"),St.node=null,r.freeze()},setDefaultStrategy(e){this.compile=e},aggregate(e,t=O.policy){if(1===e.length)return e[0];let n,s,i=!1;const r=e.length,o=e.map((e=>h(e)?()=>e:(n=e.sourceAspect||n,i=i||e.dataBinding.isVolatile,s=s||e.dataBinding.policy,e.dataBinding.evaluate))),a=new yt(ae(((e,t)=>{let n="";for(let s=0;s<r;++s)n+=o[s](e,t);return n}),null!=s?s:t,i));return je.assignAspect(a,n),a}};class Et extends _e{bind(e){e.source[this.options]=e.targets[this.targetNodeId]}}je.define(Et);const Mt=e=>new Et(e);function It(e,t,n,s){return new(n||(n=Promise))((function(i,r){function o(e){try{l(s.next(e))}catch(e){r(e)}}function a(e){try{l(s.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((s=s.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const Rt="boolean",jt="reflect",Vt=Object.freeze({locate:v()}),_t={toView:e=>e?"true":"false",fromView:e=>!(null==e||"false"===e||!1===e||0===e)},Dt={toView:e=>"boolean"==typeof e?e.toString():"",fromView:e=>[null,void 0,void 0].includes(e)?null:_t.fromView(e)};function Ft(e){if(null==e)return null;const t=1*e;return isNaN(t)?null:t}const Lt={toView(e){const t=Ft(e);return t?t.toString():t},fromView:Ft};class Pt{constructor(e,t,n=t.toLowerCase(),s=jt,i){this.guards=new Set,this.Owner=e,this.name=t,this.attribute=n,this.mode=s,this.converter=i,this.fieldName=`_${t}`,this.callbackName=`${t}Changed`,this.hasCallback=this.callbackName in e.prototype,s===Rt&&void 0===i&&(this.converter=_t)}setValue(e,t){const n=e[this.fieldName],s=this.converter;void 0!==s&&(t=s.fromView(t)),n!==t&&(e[this.fieldName]=t,this.tryReflectToAttribute(e),this.hasCallback&&e[this.callbackName](n,t),e.$fastController.notify(this.name))}getValue(e){return D.track(e,this.name),e[this.fieldName]}onAttributeChangedCallback(e,t){this.guards.has(e)||(this.guards.add(e),this.setValue(e,t),this.guards.delete(e))}tryReflectToAttribute(e){const t=this.mode,n=this.guards;n.has(e)||"fromView"===t||V.enqueue((()=>{n.add(e);const s=e[this.fieldName];switch(t){case jt:const t=this.converter;O.setAttribute(e,this.attribute,void 0!==t?t.toView(s):s);break;case Rt:O.setBooleanAttribute(e,this.attribute,s)}n.delete(e)}))}static collect(e,...t){const n=[];t.push(Vt.locate(e));for(let s=0,i=t.length;s<i;++s){const i=t[s];if(void 0!==i)for(let t=0,s=i.length;t<s;++t){const s=i[t];h(s)?n.push(new Pt(e,s)):n.push(new Pt(e,s.property,s.attribute,s.mode,s.converter))}}return n}}function Ht(e,t){let n;function s(e,t){arguments.length>1&&(n.property=t),Vt.locate(e.constructor).push(n)}return arguments.length>1?(n={},void s(e,t)):(n=void 0===e?{}:e,s)}var zt;const Ut={mode:"open"},qt={},Wt=new Set,Qt=f.getById(l.elementRegistry,(()=>b())),Jt={deferAndHydrate:"defer-and-hydrate"};class Kt{get isDefined(){return this.platformDefined}constructor(e,t=e.definition){var n;this.platformDefined=!1,h(t)&&(t={name:t}),this.type=e,this.name=t.name,this.template=t.template,this.templateOptions=t.templateOptions,this.registry=null!==(n=t.registry)&&void 0!==n?n:customElements;const s=e.prototype,i=Pt.collect(e,t.attributes),r=new Array(i.length),o={},a={};for(let e=0,t=i.length;e<t;++e){const t=i[e];r[e]=t.attribute,o[t.name]=t,a[t.attribute]=t,D.defineProperty(s,t)}Reflect.defineProperty(e,"observedAttributes",{value:r,enumerable:!0}),this.attributes=i,this.propertyLookup=o,this.attributeLookup=a,this.shadowOptions=void 0===t.shadowOptions?Ut:null===t.shadowOptions?void 0:Object.assign(Object.assign({},Ut),t.shadowOptions),this.elementOptions=void 0===t.elementOptions?qt:Object.assign(Object.assign({},qt),t.elementOptions),this.styles=ye.normalize(t.styles),Qt.register(this),D.defineProperty(zt.isRegistered,this.name),zt.isRegistered[this.name]=this.type}define(e=this.registry){var t,n;const s=this.type;return e.get(this.name)||(this.platformDefined=!0,e.define(this.name,s,this.elementOptions),null===(n=null===(t=this.lifecycleCallbacks)||void 0===t?void 0:t.elementDidDefine)||void 0===n||n.call(t,this.name)),this}static compose(e,t){return Wt.has(e)||Qt.getByType(e)?new zt(class extends e{},t):new zt(e,t)}static registerBaseType(e){Wt.add(e)}static composeAsync(e,t){return new Promise((n=>{(Wt.has(e)||Qt.getByType(e))&&n(new zt(class extends e{},t));const s=new zt(e,t);D.getNotifier(s).subscribe({handleChange:()=>{var e,t;null===(t=null===(e=s.lifecycleCallbacks)||void 0===e?void 0:e.templateDidUpdate)||void 0===t||t.call(e,s.name),n(s)}},"template")}))}}zt=Kt,Kt.isRegistered={},Kt.getByType=Qt.getByType,Kt.getForInstance=Qt.getForInstance,Kt.registerAsync=e=>It(void 0,void 0,void 0,(function*(){return new Promise((t=>{zt.isRegistered[e]&&t(zt.isRegistered[e]),D.getNotifier(zt.isRegistered).subscribe({handleChange:()=>t(zt.isRegistered[e])},e)}))})),D.defineProperty(Kt.prototype,"template");const Xt=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/,Gt=Object.create(null);class Yt{constructor(e,t=Gt){this.html=e,this.factories=t}createHTML(e){const t=this.factories;for(const n in t)e(t[n]);return this.html}}function Zt(e,t,n,s=je.getForInstance(e)){if(s.aspected){const n=Xt.exec(t);null!==n&&je.assignAspect(e,n[2])}return e.createHTML(n)}Yt.empty=new Yt(""),je.define(Yt);class en{constructor(e,t={},n){this.policy=n,this.result=null,this.html=e,this.factories=t}compile(){return null===this.result&&(this.result=At.compile(this.html,this.factories,this.policy)),this.result}create(e){return this.compile().createView(e)}inline(){return new Yt(h(this.html)?this.html:this.html.innerHTML,this.factories)}withPolicy(e){if(this.result)throw f.error(c.cannotSetTemplatePolicyAfterCompilation);if(this.policy)throw f.error(c.onlySetTemplatePolicyOnce);return this.policy=e,this}render(e,t,n){const s=this.create(n);return s.bind(e),s.appendTo(t),s}static create(e,t,n){let s="";const i=Object.create(null),r=e=>{var t;const n=null!==(t=e.id)&&void 0!==t?t:e.id=Ee();return i[n]=e,n};for(let n=0,i=e.length-1;n<i;++n){const i=e[n];let o,a=t[n];if(s+=i,d(a))a=new yt(ae(a));else if(a instanceof re)a=new yt(a);else if(!(o=je.getForInstance(a))){const e=a;a=new yt(de((()=>e)))}s+=Zt(a,i,r,o)}return new en(s+e[e.length-1],i,n)}}m(en);const tn=(e,...t)=>{if(Array.isArray(e)&&Array.isArray(e.raw))return en.create(e,t);throw f.error(c.directCallToHTMLTagNotAllowed)};tn.partial=e=>new Yt(e);class nn{constructor(e){this.directive=e,this.location=null,this.controller=null,this.view=null,this.data=null,this.dataBindingObserver=e.dataBinding.createObserver(this,e),this.templateBindingObserver=e.templateBinding.createObserver(this,e)}bind(e){if(this.location=e.targets[this.directive.targetNodeId],this.controller=e,this.data=this.dataBindingObserver.bind(e),this.template=this.templateBindingObserver.bind(e),e.onUnbind(this),tt(this.template)&&tt(e)&&e.hydrationStage!==bt&&!this.view){const t=e.bindingViewBoundaries[this.directive.targetNodeId];t&&(this.view=this.template.hydrate(t.first,t.last),this.bindView(this.view))}else this.refreshView()}unbind(e){const t=this.view;null!==t&&t.isComposed&&(t.unbind(),t.needsBindOnly=!0)}handleChange(e,t){t===this.dataBindingObserver&&(this.data=this.dataBindingObserver.bind(this.controller)),(this.directive.templateBindingDependsOnData||t===this.templateBindingObserver)&&(this.template=this.templateBindingObserver.bind(this.controller)),this.refreshView()}bindView(e){e.isComposed?e.needsBindOnly&&(e.needsBindOnly=!1,e.bind(this.data)):(e.isComposed=!0,e.bind(this.data),e.insertBefore(this.location),e.$fastTemplate=this.template)}refreshView(){let e=this.view;const t=this.template;null===e?(this.view=e=t.create(),this.view.context.parent=this.controller.source,this.view.context.parentContext=this.controller.context):e.$fastTemplate!==t&&(e.isComposed&&(e.remove(),e.unbind()),this.view=e=t.create(),this.view.context.parent=this.controller.source,this.view.context.parentContext=this.controller.context),this.bindView(e)}}class sn{constructor(e,t,n){this.dataBinding=e,this.templateBinding=t,this.templateBindingDependsOnData=n}createHTML(e){return Me.comment(e(this))}createBehavior(){return new nn(this)}}je.define(sn);const rn=new Map,on={":model":e=>e},an=Symbol("RenderInstruction"),ln="default-view",cn=tn`
2
2
  &nbsp;
3
3
  `;function dn(e){return void 0===e?cn:e.template}function hn(e,t){const n=[],s=[],{attributes:i,directives:r,content:o,policy:a}=null!=t?t:{};if(n.push(`<${e}`),i){const e=Object.getOwnPropertyNames(i);for(let t=0,r=e.length;t<r;++t){const r=e[t];0===t?n[0]=`${n[0]} ${r}="`:n.push(`" ${r}="`),s.push(i[r])}n.push('"')}if(r){n[n.length-1]+=" ";for(let e=0,t=r.length;e<t;++e){const t=r[e];n.push(e>0?"":" "),s.push(t)}}if(n[n.length-1]+=">",o&&d(o.create))s.push(o),n.push(`</${e}>`);else{const t=n.length-1;n[t]=`${n[t]}${null!=o?o:""}</${e}>`}return en.create(n,s,a)}function un(e){var t;const n=null!==(t=e.name)&&void 0!==t?t:ln;let s;if((i=e).element||i.tagName){let t=e.tagName;if(!t){const n=Kt.getByType(e.element);if(!n)throw new Error("Invalid element for model rendering.");t=n.name}e.attributes||(e.attributes=on),s=hn(t,e)}else s=e.template;var i;return{brand:an,type:e.type,name:n,template:s}}function pn(e){return e&&e.brand===an}function fn(e,t){const n=rn.get(e);if(void 0!==n)return n[null!=t?t:ln]}function gn(e,t){if(e)return fn(e.constructor,t)}Object.freeze({instanceOf:pn,create:un,createElementTemplate:hn,register:function(e){let t=rn.get(e.type);void 0===t&&rn.set(e.type,t=Object.create(null));const n=pn(e)?e:un(e);return t[n.name]=n},getByType:fn,getForInstance:gn});class bn{constructor(e){this.node=e,e.$fastTemplate=this}get context(){return this}bind(e){}unbind(){}insertBefore(e){e.parentNode.insertBefore(this.node,e)}remove(){this.node.parentNode.removeChild(this.node)}create(){return this}hydrate(e,t){return this}}function vn(e,t){let n,s;n=void 0===e?de((e=>e)):he(e);let i=!1;if(void 0===t)i=!0,s=de(((e,t)=>{var s;const i=n.evaluate(e,t);return i instanceof Node?null!==(s=i.$fastTemplate)&&void 0!==s?s:new bn(i):dn(gn(i))}));else if(d(t))s=ae(((e,s)=>{var i;let r=t(e,s);return h(r)?r=dn(gn(n.evaluate(e,s),r)):r instanceof Node&&(r=null!==(i=r.$fastTemplate)&&void 0!==i?i:new bn(r)),r}),void 0,!0);else if(h(t))i=!0,s=de(((e,s)=>{var i;const r=n.evaluate(e,s);return r instanceof Node?null!==(i=r.$fastTemplate)&&void 0!==i?i:new bn(r):dn(gn(r,t))}));else if(t instanceof re){const e=t.evaluate;t.evaluate=(t,s)=>{var i;let r=e(t,s);return h(r)?r=dn(gn(n.evaluate(t,s),r)):r instanceof Node&&(r=null!==(i=r.$fastTemplate)&&void 0!==i?i:new bn(r)),r},s=t}else s=de(((e,n)=>t));return new sn(n,s,i)}const mn=Object.freeze({positioning:!1,recycle:!0});function yn(e,t,n,s){e.context.parent=s.source,e.context.parentContext=s.context,e.bind(t[n])}function wn(e,t,n,s){e.context.parent=s.source,e.context.parentContext=s.context,e.context.length=t.length,e.context.index=n,e.bind(t[n])}function Cn(e){return e.nodeType===Node.COMMENT_NODE}class Sn extends Error{constructor(e,t){super(e),this.propertyBag=t}}class Tn{constructor(e){this.directive=e,this.items=null,this.itemsObserver=null,this.bindView=yn,this.views=[],this.itemsBindingObserver=e.dataBinding.createObserver(this,e),this.templateBindingObserver=e.templateBinding.createObserver(this,e),e.options.positioning&&(this.bindView=wn)}bind(e){this.location=e.targets[this.directive.targetNodeId],this.controller=e,this.items=this.itemsBindingObserver.bind(e),this.template=this.templateBindingObserver.bind(e),this.observeItems(!0),tt(this.template)&&tt(e)&&e.hydrationStage!==bt?this.hydrateViews(this.template):this.refreshAllViews(),e.onUnbind(this)}unbind(){null!==this.itemsObserver&&this.itemsObserver.unsubscribe(this),this.unbindAllViews()}handleChange(e,t){if(t===this.itemsBindingObserver)this.items=this.itemsBindingObserver.bind(this.controller),this.observeItems(),this.refreshAllViews();else if(t===this.templateBindingObserver)this.template=this.templateBindingObserver.bind(this.controller),this.refreshAllViews(!0);else{if(!t[0])return;t[0].reset?this.refreshAllViews():t[0].sorted?this.updateSortedViews(t):this.updateSplicedViews(t)}}observeItems(e=!1){if(!this.items)return void(this.items=g);const t=this.itemsObserver,n=this.itemsObserver=D.getNotifier(this.items),s=t!==n;s&&null!==t&&t.unsubscribe(this),(s||e)&&n.subscribe(this)}updateSortedViews(e){const t=this.views;for(let n=0,s=e.length;n<s;++n){const s=e[n].sorted.slice(),i=s.slice().sort();for(let e=0,n=s.length;e<n;++e){const n=s.find((t=>s[e]===i[t]));if(n!==e){const s=i.splice(n,1);i.splice(e,0,...s);const r=t[e],o=r?r.firstChild:this.location;t[n].remove(),t[n].insertBefore(o);const a=t.splice(n,1);t.splice(e,0,...a)}}}}updateSplicedViews(e){const t=this.views,n=this.bindView,s=this.items,i=this.template,r=this.controller,o=this.directive.options.recycle,a=[];let l=0,c=0;for(let d=0,h=e.length;d<h;++d){const h=e[d],u=h.removed;let p=0,f=h.index;const g=f+h.addedCount,b=t.splice(h.index,u.length),v=c=a.length+b.length;for(;f<g;++f){const e=t[f],d=e?e.firstChild:this.location;let h;o&&c>0?(p<=v&&b.length>0?(h=b[p],p++):(h=a[l],l++),c--):h=i.create(),t.splice(f,0,h),n(h,s,f,r),h.insertBefore(d)}b[p]&&a.push(...b.slice(p))}for(let e=l,t=a.length;e<t;++e)a[e].dispose();if(this.directive.options.positioning)for(let e=0,n=t.length;e<n;++e){const s=t[e].context;s.length=n,s.index=e}}refreshAllViews(e=!1){const t=this.items,n=this.template,s=this.location,i=this.bindView,r=this.controller;let o=t.length,a=this.views,l=a.length;if(0!==o&&!e&&this.directive.options.recycle||(pt.disposeContiguousBatch(a),l=0),0===l){this.views=a=new Array(o);for(let e=0;e<o;++e){const o=n.create();i(o,t,e,r),a[e]=o,o.insertBefore(s)}}else{let e=0;for(;e<o;++e)if(e<l){const s=a[e];if(!s){const t=new XMLSerializer;throw new Sn(`View is null or undefined inside "${this.location.getRootNode().host.nodeName}".`,{index:e,hydrationStage:this.controller.hydrationStage,itemsLength:o,viewsState:a.map((e=>e?"hydrated":"empty")),viewTemplateString:t.serializeToString(n.create().fragment),rootNodeContent:t.serializeToString(this.location.getRootNode())})}i(s,t,e,r)}else{const o=n.create();i(o,t,e,r),a.push(o),o.insertBefore(s)}const c=a.splice(e,l-e);for(e=0,o=c.length;e<o;++e)c[e].dispose()}}unbindAllViews(){const e=this.views;for(let t=0,n=e.length;t<n;++t){const n=e[t];if(!n){const n=new XMLSerializer;throw new Sn(`View is null or undefined inside "${this.location.getRootNode().host.nodeName}".`,{index:t,hydrationStage:this.controller.hydrationStage,viewsState:e.map((e=>e?"hydrated":"empty")),rootNodeContent:n.serializeToString(this.location.getRootNode())})}n.unbind()}}hydrateViews(e){if(!this.items)return;this.views=new Array(this.items.length);let t=this.location.previousSibling;for(;null!==t;){if(!Cn(t)){t=t.previousSibling;continue}const n=Xe.parseRepeatEndMarker(t.data);if(null===n){t=t.previousSibling;continue}t.data="";const s=t.previousSibling;if(!s)throw new Error(`Error when hydrating inside "${this.location.getRootNode().host.nodeName}": end should never be null.`);let i=s,r=0;for(;null!==i;){if(Cn(i))if(Xe.isRepeatViewEndMarker(i.data))r++;else if(Xe.isRepeatViewStartMarker(i.data)){if(!r){if(Xe.parseRepeatStartMarker(i.data)!==n)throw new Error(`Error when hydrating inside "${this.location.getRootNode().host.nodeName}": Mismatched start and end markers.`);i.data="",t=i.previousSibling,i=i.nextSibling;const r=e.hydrate(i,s);this.views[n]=r,this.bindView(r,this.items,n,this.controller);break}r--}i=i.previousSibling}if(!i)throw new Error(`Error when hydrating inside "${this.location.getRootNode().host.nodeName}": start should never be null.`)}}}class On{createHTML(e){return Me.comment(e(this))}constructor(e,t,n){this.dataBinding=e,this.templateBinding=t,this.options=n,ne.enable()}createBehavior(){return new Tn(this)}}function $n(e,t,n=mn){const s=he(e),i=he(t);return new On(s,i,Object.assign(Object.assign({},mn),n))}je.define(On);const xn="slotchange";class Bn extends Le{observe(e){e.addEventListener(xn,this)}disconnect(e){e.removeEventListener(xn,this)}getNodes(e){return e.assignedNodes(this.options)}handleEvent(e){const t=e.currentTarget;this.updateTarget(this.getSource(t),this.computeNodes(t))}}function Nn(e){return h(e)&&(e={property:e}),new Bn(e)}je.define(Bn);const kn=()=>null;function An(e){return void 0===e?kn:d(e)?e:()=>e}function En(e,t,n){const s=d(e)?e:()=>e,i=An(t),r=An(n);return(e,t)=>s(e,t)?i(e,t):r(e,t)}class Mn extends MutationObserver{constructor(e){super((function(e){this.callback.call(null,e.filter((e=>this.observedNodes.has(e.target))))})),this.callback=e,this.observedNodes=new Set}observe(e,t){this.observedNodes.add(e),super.observe(e,t)}unobserve(e){this.observedNodes.delete(e),this.observedNodes.size<1&&this.disconnect()}}Object.freeze({create(e){const t=[],n={};let s=null,i=!1;return{source:e,context:H.default,targets:n,get isBound(){return i},addBehaviorFactory(e,t){var n,s,i,r;const o=e;o.id=null!==(n=o.id)&&void 0!==n?n:Ee(),o.targetNodeId=null!==(s=o.targetNodeId)&&void 0!==s?s:Ee(),o.targetTagName=null!==(i=t.tagName)&&void 0!==i?i:null,o.policy=null!==(r=o.policy)&&void 0!==r?r:O.policy,this.addTarget(o.targetNodeId,t),this.addBehavior(o.createBehavior())},addTarget(e,t){n[e]=t},addBehavior(e){t.push(e),i&&e.bind(this)},onUnbind(e){null===s&&(s=[]),s.push(e)},connectedCallback(e){i||(i=!0,t.forEach((e=>e.bind(this))))},disconnectedCallback(e){i&&(i=!1,null!==s&&s.forEach((e=>e.unbind(this))))}}}});const In={bubbles:!0,composed:!0,cancelable:!0},Rn="isConnected",jn=new WeakMap;function Vn(e){var t,n;return null!==(n=null!==(t=e.shadowRoot)&&void 0!==t?t:jn.get(e))&&void 0!==n?n:null}let _n;var Dn;!function(e){e[e.connecting=0]="connecting",e[e.connected=1]="connected",e[e.disconnecting=2]="disconnecting",e[e.disconnected=3]="disconnected"}(Dn||(Dn={}));class Fn extends j{get isConnected(){return D.track(this,Rn),this.stage===Dn.connected}get context(){var e,t;return null!==(t=null===(e=this.view)||void 0===e?void 0:e.context)&&void 0!==t?t:H.default}get isBound(){var e,t;return null!==(t=null===(e=this.view)||void 0===e?void 0:e.isBound)&&void 0!==t&&t}get sourceLifetime(){var e;return null===(e=this.view)||void 0===e?void 0:e.sourceLifetime}get template(){var e;if(null===this._template){const t=this.definition;this.source.resolveTemplate?this._template=this.source.resolveTemplate():t.template&&(this._template=null!==(e=t.template)&&void 0!==e?e:null)}return this._template}set template(e){this._template!==e&&(this._template=e,this.needsInitialization||this.renderTemplate(e))}get shadowOptions(){return this._shadowRootOptions}set shadowOptions(e){if(void 0===this._shadowRootOptions&&void 0!==e){this._shadowRootOptions=e;let t=this.source.shadowRoot;t?this.hasExistingShadowRoot=!0:(t=this.source.attachShadow(e),"closed"===e.mode&&jn.set(this.source,t))}}get mainStyles(){var e;if(null===this._mainStyles){const t=this.definition;this.source.resolveStyles?this._mainStyles=this.source.resolveStyles():t.styles&&(this._mainStyles=null!==(e=t.styles)&&void 0!==e?e:null)}return this._mainStyles}set mainStyles(e){this._mainStyles!==e&&(null!==this._mainStyles&&this.removeStyles(this._mainStyles),this._mainStyles=e,this.needsInitialization||this.addStyles(e))}constructor(e,t){super(e),this.boundObservables=null,this.needsInitialization=!0,this.hasExistingShadowRoot=!1,this._template=null,this.stage=Dn.disconnected,this.guardBehaviorConnection=!1,this.behaviors=null,this.behaviorsConnected=!1,this._mainStyles=null,this.$fastController=this,this.view=null,this.source=e,this.definition=t,this.shadowOptions=t.shadowOptions;const n=D.getAccessors(e);if(n.length>0){const t=this.boundObservables=Object.create(null);for(let s=0,i=n.length;s<i;++s){const i=n[s].name,r=e[i];void 0!==r&&(delete e[i],t[i]=r)}}}onUnbind(e){var t;null===(t=this.view)||void 0===t||t.onUnbind(e)}addBehavior(e){var t,n;const s=null!==(t=this.behaviors)&&void 0!==t?t:this.behaviors=new Map,i=null!==(n=s.get(e))&&void 0!==n?n:0;0===i?(s.set(e,1),e.addedCallback&&e.addedCallback(this),!e.connectedCallback||this.guardBehaviorConnection||this.stage!==Dn.connected&&this.stage!==Dn.connecting||e.connectedCallback(this)):s.set(e,i+1)}removeBehavior(e,t=!1){const n=this.behaviors;if(null===n)return;const s=n.get(e);void 0!==s&&(1===s||t?(n.delete(e),e.disconnectedCallback&&this.stage!==Dn.disconnected&&e.disconnectedCallback(this),e.removedCallback&&e.removedCallback(this)):n.set(e,s-1))}addStyles(e){var t;if(!e)return;const n=this.source;if(e instanceof HTMLElement){(null!==(t=Vn(n))&&void 0!==t?t:this.source).append(e)}else if(!e.isAttachedTo(n)){const t=e.behaviors;if(e.addStylesTo(n),null!==t)for(let e=0,n=t.length;e<n;++e)this.addBehavior(t[e])}}removeStyles(e){var t;if(!e)return;const n=this.source;if(e instanceof HTMLElement){(null!==(t=Vn(n))&&void 0!==t?t:n).removeChild(e)}else if(e.isAttachedTo(n)){const t=e.behaviors;if(e.removeStylesFrom(n),null!==t)for(let e=0,n=t.length;e<n;++e)this.removeBehavior(t[e])}}connect(){this.stage===Dn.disconnected&&(this.stage=Dn.connecting,this.bindObservables(),this.connectBehaviors(),this.needsInitialization?(this.renderTemplate(this.template),this.addStyles(this.mainStyles),this.needsInitialization=!1):null!==this.view&&this.view.bind(this.source),this.stage=Dn.connected,D.notify(this,Rn))}bindObservables(){if(null!==this.boundObservables){const e=this.source,t=this.boundObservables,n=Object.keys(t);for(let s=0,i=n.length;s<i;++s){const i=n[s];e[i]=t[i]}this.boundObservables=null}}connectBehaviors(){if(!1===this.behaviorsConnected){const e=this.behaviors;if(null!==e){this.guardBehaviorConnection=!0;for(const t of e.keys())t.connectedCallback&&t.connectedCallback(this);this.guardBehaviorConnection=!1}this.behaviorsConnected=!0}}disconnectBehaviors(){if(!0===this.behaviorsConnected){const e=this.behaviors;if(null!==e)for(const t of e.keys())t.disconnectedCallback&&t.disconnectedCallback(this);this.behaviorsConnected=!1}}disconnect(){this.stage===Dn.connected&&(this.stage=Dn.disconnecting,D.notify(this,Rn),null!==this.view&&this.view.unbind(),this.disconnectBehaviors(),this.stage=Dn.disconnected)}onAttributeChangedCallback(e,t,n){const s=this.definition.attributeLookup[e];void 0!==s&&s.onAttributeChangedCallback(this.source,n)}emit(e,t,n){return this.stage===Dn.connected&&this.source.dispatchEvent(new CustomEvent(e,Object.assign(Object.assign({detail:t},In),n)))}renderTemplate(e){var t;const n=this.source,s=null!==(t=Vn(n))&&void 0!==t?t:n;if(null!==this.view)this.view.dispose(),this.view=null;else if(!this.needsInitialization||this.hasExistingShadowRoot){this.hasExistingShadowRoot=!1;for(let e=s.firstChild;null!==e;e=s.firstChild)s.removeChild(e)}e&&(this.view=e.render(n,s,n),this.view.sourceLifetime=_.coupled)}static forCustomElement(e,t=!1){const n=e.$fastController;if(void 0!==n&&!t)return n;const s=Kt.getForInstance(e);if(void 0===s)throw f.error(c.missingElementDefinition);return D.getNotifier(s).subscribe({handleChange:()=>{Fn.forCustomElement(e,!0),e.$fastController.connect()}},"template"),D.getNotifier(s).subscribe({handleChange:()=>{Fn.forCustomElement(e,!0),e.$fastController.connect()}},"shadowOptions"),e.$fastController=new _n(e,s)}static setStrategy(e){_n=e}}function Ln(e){var t;return"adoptedStyleSheets"in e?e:null!==(t=Vn(e))&&void 0!==t?t:e.getRootNode()}m(Fn),Fn.setStrategy(Fn);class Pn{constructor(e){const t=Pn.styleSheetCache;this.sheets=e.map((e=>{if(e instanceof CSSStyleSheet)return e;let n=t.get(e);return void 0===n&&(n=new CSSStyleSheet,n.replaceSync(e),t.set(e,n)),n}))}addStylesTo(e){qn(Ln(e),this.sheets)}removeStylesFrom(e){Wn(Ln(e),this.sheets)}}Pn.styleSheetCache=new Map;let Hn=0;function zn(e){return e===document?document.body:e}class Un{constructor(e){this.styles=e,this.styleClass="fast-"+ ++Hn}addStylesTo(e){e=zn(Ln(e));const t=this.styles,n=this.styleClass;for(let s=0;s<t.length;s++){const i=document.createElement("style");i.innerHTML=t[s],i.className=n,e.append(i)}}removeStylesFrom(e){const t=(e=zn(Ln(e))).querySelectorAll(`.${this.styleClass}`);for(let n=0,s=t.length;n<s;++n)e.removeChild(t[n])}}let qn=(e,t)=>{e.adoptedStyleSheets=[...e.adoptedStyleSheets,...t]},Wn=(e,t)=>{e.adoptedStyleSheets=e.adoptedStyleSheets.filter((e=>-1===t.indexOf(e)))};if(ye.supportsAdoptedStyleSheets){try{document.adoptedStyleSheets.push(),document.adoptedStyleSheets.splice(),qn=(e,t)=>{e.adoptedStyleSheets.push(...t)},Wn=(e,t)=>{for(const n of t){const t=e.adoptedStyleSheets.indexOf(n);-1!==t&&e.adoptedStyleSheets.splice(t,1)}}}catch(e){}ye.setDefaultStrategy(Pn)}else ye.setDefaultStrategy(Un);const Qn="needs-hydration";class Jn extends Fn{get shadowOptions(){return super.shadowOptions}set shadowOptions(e){super.shadowOptions=e,(this.hasExistingShadowRoot||void 0!==e&&!this.template)&&this.definition.templateOptions===Jt.deferAndHydrate&&(this.source.toggleAttribute(nt,!0),this.source.toggleAttribute(Qn,!0))}addHydratingInstance(){if(!Jn.hydratingInstances)return;const e=this.definition.name;let t=Jn.hydratingInstances.get(e);t||(t=new Set,Jn.hydratingInstances.set(e,t)),t.add(this.source)}static config(e){return Jn.lifecycleCallbacks=e,this}static hydrationObserverHandler(e){for(const t of e)t.target.hasAttribute(nt)||(Jn.hydrationObserver.unobserve(t.target),t.target.$fastController.connect())}static checkHydrationComplete(e){var t,n,s;if(e.didTimeout)Jn.idleCallbackId=requestIdleCallback(Jn.checkHydrationComplete,{timeout:50});else if(0===(null===(t=Jn.hydratingInstances)||void 0===t?void 0:t.size)){try{null===(s=(n=Jn.lifecycleCallbacks).hydrationComplete)||void 0===s||s.call(n)}catch(e){}Fn.setStrategy(Fn)}}connect(){var e,t,n,s,i,r,o;if(this.needsHydration=null!==(e=this.needsHydration)&&void 0!==e?e:this.source.hasAttribute(Qn),this.source.hasAttribute(nt))return this.addHydratingInstance(),void Jn.hydrationObserver.observe(this.source,{attributeFilter:[nt]});if(!this.needsHydration)return super.connect(),void this.removeHydratingInstance();if(this.stage===Dn.disconnected){if(!Jn.hydrationStarted){Jn.hydrationStarted=!0;try{null===(n=(t=Jn.lifecycleCallbacks).hydrationStarted)||void 0===n||n.call(t)}catch(e){}}try{null===(i=(s=Jn.lifecycleCallbacks).elementWillHydrate)||void 0===i||i.call(s,this.source)}catch(e){}if(this.stage=Dn.connecting,this.bindObservables(),this.connectBehaviors(),this.template)if(tt(this.template)){const e=this.source,t=null!==(r=Vn(e))&&void 0!==r?r:e;let n=t.firstChild,s=t.lastChild;null===e.shadowRoot&&(Xe.isElementBoundaryStartMarker(n)&&(n.data="",n=n.nextSibling),Xe.isElementBoundaryEndMarker(s)&&(s.data="",s=s.previousSibling)),this.view=this.template.hydrate(n,s,e),null===(o=this.view)||void 0===o||o.bind(this.source)}else this.renderTemplate(this.template);this.addStyles(this.mainStyles),this.stage=Dn.connected,this.source.removeAttribute(Qn),this.needsInitialization=this.needsHydration=!1,this.removeHydratingInstance(),D.notify(this,Rn)}}removeHydratingInstance(){var e,t;if(!Jn.hydratingInstances)return;try{null===(t=(e=Jn.lifecycleCallbacks).elementDidHydrate)||void 0===t||t.call(e,this.source)}catch(e){}const n=this.definition.name,s=Jn.hydratingInstances.get(n);s&&(s.delete(this.source),s.size||Jn.hydratingInstances.delete(n),Jn.idleCallbackId&&cancelIdleCallback(Jn.idleCallbackId),Jn.idleCallbackId=requestIdleCallback(Jn.checkHydrationComplete,{timeout:50}))}disconnect(){super.disconnect(),Jn.hydrationObserver.unobserve(this.source)}static install(){Fn.setStrategy(Jn)}}function Kn(e){const t=class extends e{constructor(){super(),Fn.forCustomElement(this)}$emit(e,t,n){return this.$fastController.emit(e,t,n)}connectedCallback(){this.$fastController.connect()}disconnectedCallback(){this.$fastController.disconnect()}attributeChangedCallback(e,t,n){this.$fastController.onAttributeChangedCallback(e,t,n)}};return Kt.registerBaseType(t),t}function Xn(e,t){return d(e)?Kt.compose(e,t).define().type:Kt.compose(this,e).define().type}Jn.hydrationObserver=new Mn(Jn.hydrationObserverHandler),Jn.lifecycleCallbacks={},Jn.hydrationStarted=!1,Jn.idleCallbackId=null,Jn.hydratingInstances=new Map;const Gn=Object.assign(Kn(HTMLElement),{from:function(e){return Kn(e)},define:Xn,compose:function(e,t){return d(e)?Kt.compose(e,t):Kt.compose(this,e)},defineAsync:function(e,t){return d(e)?new Promise((n=>{Kt.composeAsync(e,t).then((e=>{n(e)}))})).then((e=>e.define().type)):new Promise((t=>{Kt.composeAsync(this,e).then((e=>{t(e)}))})).then((e=>e.define().type))}});function Yn(e){return function(t){Xn(t,e)}}O.setPolicy(I.create());export{ne as ArrayObserver,Vt as AttributeConfiguration,Pt as AttributeDefinition,re as Binding,be as CSSBindingDirective,pe as CSSDirective,Pe as ChildrenDirective,At as Compiler,O as DOM,y as DOMAspect,Fn as ElementController,ye as ElementStyles,H as ExecutionContext,f as FAST,Gn as FASTElement,Kt as FASTElementDefinition,yt as HTMLBindingDirective,je as HTMLDirective,pt as HTMLView,Jn as HydratableElementController,vt as HydrationBindingError,Yt as InlineTemplateDirective,Me as Markup,Le as NodeObservationDirective,D as Observable,Ie as Parser,j as PropertyChangeNotifier,Et as RefDirective,nn as RenderBehavior,sn as RenderDirective,Tn as RepeatBehavior,On as RepeatDirective,Bn as SlottedDirective,U as Sort,_ as SourceLifetime,z as Splice,Y as SpliceStrategy,q as SpliceStrategySupport,Dn as Stages,_e as StatelessAttachedAttributeDirective,R as SubscriberSet,Jt as TemplateOptions,V as Updates,en as ViewTemplate,Ht as attr,_t as booleanConverter,He as children,Oe as css,fe as cssDirective,Yn as customElement,nt as deferHydrationAttribute,Fe as elements,g as emptyArray,Qt as fastElementRegistry,tn as html,Ve as htmlDirective,tt as isHydratable,se as lengthOf,le as listener,Qn as needsHydrationAttribute,he as normalizeBinding,Dt as nullableBooleanConverter,Lt as nullableNumberConverter,F as observable,de as oneTime,ae as oneWay,Mt as ref,vn as render,$n as repeat,Nn as slotted,ie as sortedCount,L as volatile,En as when};
@@ -2572,10 +2572,6 @@ class ChildrenDirective extends NodeObservationDirective {
2572
2572
  constructor(options) {
2573
2573
  super(options);
2574
2574
  this.observerProperty = Symbol();
2575
- this.handleEvent = (mutations, observer) => {
2576
- const target = observer.target;
2577
- this.updateTarget(this.getSource(target), this.computeNodes(target));
2578
- };
2579
2575
  options.childList = true;
2580
2576
  }
2581
2577
  /**
@@ -2585,11 +2581,13 @@ class ChildrenDirective extends NodeObservationDirective {
2585
2581
  observe(target) {
2586
2582
  let observer = target[this.observerProperty];
2587
2583
  if (!observer) {
2588
- observer = new MutationObserver(this.handleEvent);
2584
+ const handleEvent = (mutations, observer) => {
2585
+ this.updateTarget(this.getSource(target), this.computeNodes(target));
2586
+ };
2587
+ observer = new MutationObserver(handleEvent);
2589
2588
  observer.toJSON = noop;
2590
2589
  target[this.observerProperty] = observer;
2591
2590
  }
2592
- observer.target = target;
2593
2591
  observer.observe(target, this.options);
2594
2592
  }
2595
2593
  /**
@@ -2598,7 +2596,6 @@ class ChildrenDirective extends NodeObservationDirective {
2598
2596
  */
2599
2597
  disconnect(target) {
2600
2598
  const observer = target[this.observerProperty];
2601
- observer.target = null;
2602
2599
  observer.disconnect();
2603
2600
  }
2604
2601
  /**
@@ -1,3 +1,3 @@
1
- let e;const t="fast-kernel";try{if(document.currentScript)e=document.currentScript.getAttribute(t);else{const s=document.getElementsByTagName("script");e=s[s.length-1].getAttribute(t)}}catch(t){e="isolate"}let s;switch(e){case"share":s=Object.freeze({updateQueue:1,observable:2,contextEvent:3,elementRegistry:4});break;case"share-v2":s=Object.freeze({updateQueue:1.2,observable:2.2,contextEvent:3.2,elementRegistry:4.2});break;default:const e=`-${Math.random().toString(36).substring(2,8)}`;s=Object.freeze({updateQueue:`1.2${e}`,observable:`2.2${e}`,contextEvent:`3.2${e}`,elementRegistry:`4.2${e}`})}var n;!function(e){e[e.needsArrayObservation=1101]="needsArrayObservation",e[e.onlySetDOMPolicyOnce=1201]="onlySetDOMPolicyOnce",e[e.bindingInnerHTMLRequiresTrustedTypes=1202]="bindingInnerHTMLRequiresTrustedTypes",e[e.twoWayBindingRequiresObservables=1203]="twoWayBindingRequiresObservables",e[e.hostBindingWithoutHost=1204]="hostBindingWithoutHost",e[e.unsupportedBindingBehavior=1205]="unsupportedBindingBehavior",e[e.directCallToHTMLTagNotAllowed=1206]="directCallToHTMLTagNotAllowed",e[e.onlySetTemplatePolicyOnce=1207]="onlySetTemplatePolicyOnce",e[e.cannotSetTemplatePolicyAfterCompilation=1208]="cannotSetTemplatePolicyAfterCompilation",e[e.blockedByDOMPolicy=1209]="blockedByDOMPolicy",e[e.missingElementDefinition=1401]="missingElementDefinition",e[e.noRegistrationForContext=1501]="noRegistrationForContext",e[e.noFactoryForResolver=1502]="noFactoryForResolver",e[e.invalidResolverStrategy=1503]="invalidResolverStrategy",e[e.cannotAutoregisterDependency=1504]="cannotAutoregisterDependency",e[e.cannotResolveKey=1505]="cannotResolveKey",e[e.cannotConstructNativeFunction=1506]="cannotConstructNativeFunction",e[e.cannotJITRegisterNonConstructor=1507]="cannotJITRegisterNonConstructor",e[e.cannotJITRegisterIntrinsic=1508]="cannotJITRegisterIntrinsic",e[e.cannotJITRegisterInterface=1509]="cannotJITRegisterInterface",e[e.invalidResolver=1510]="invalidResolver",e[e.invalidKey=1511]="invalidKey",e[e.noDefaultResolver=1512]="noDefaultResolver",e[e.cyclicDependency=1513]="cyclicDependency",e[e.connectUpdateRequiresController=1514]="connectUpdateRequiresController"}(n||(n={}));const i=e=>"function"==typeof e,r=e=>"string"==typeof e,o=()=>{};!function(){if("undefined"==typeof globalThis)if("undefined"!=typeof global)global.globalThis=global;else if("undefined"!=typeof self)self.globalThis=self;else if("undefined"!=typeof window)window.globalThis=window;else{const e=new Function("return this")();e.globalThis=e}}(),"requestIdleCallback"in globalThis||(globalThis.requestIdleCallback=function(e,t){const s=Date.now();return setTimeout((()=>{e({didTimeout:!!(null==t?void 0:t.timeout)&&Date.now()-s>=t.timeout,timeRemaining:()=>0})}),1)},globalThis.cancelIdleCallback=function(e){clearTimeout(e)});const a={configurable:!1,enumerable:!1,writable:!1};void 0===globalThis.FAST&&Reflect.defineProperty(globalThis,"FAST",Object.assign({value:Object.create(null)},a));const l=globalThis.FAST;if(void 0===l.getById){const e=Object.create(null);Reflect.defineProperty(l,"getById",Object.assign({value(t,s){let n=e[t];return void 0===n&&(n=s?e[t]=s():null),n}},a))}void 0===l.error&&Object.assign(l,{warn(){},error:e=>new Error(`Error ${e}`),addMessages(){}});const c=Object.freeze([]);function d(){const e=new Map;return Object.freeze({register:t=>!e.has(t.type)&&(e.set(t.type,t),!0),getByType:t=>e.get(t),getForInstance(t){if(null!=t)return e.get(t.constructor)}})}function h(){const e=new WeakMap;return function(t){let s=e.get(t);if(void 0===s){let n=Reflect.getPrototypeOf(t);for(;void 0===s&&null!==n;)s=e.get(n),n=Reflect.getPrototypeOf(n);s=void 0===s?[]:s.slice(0),e.set(t,s)}return s}}function u(e){e.prototype.toJSON=o}const f=Object.freeze({none:0,attribute:1,booleanAttribute:2,property:3,content:4,tokenList:5,event:6}),p=e=>e,g=globalThis.trustedTypes?globalThis.trustedTypes.createPolicy("fast-html",{createHTML:p}):{createHTML:p};let b=Object.freeze({createHTML:e=>g.createHTML(e),protect:(e,t,s,n)=>n});const v=b,m=Object.freeze({get policy(){return b},setPolicy(e){if(b!==v)throw l.error(n.onlySetDOMPolicyOnce);b=e},setAttribute(e,t,s){null==s?e.removeAttribute(t):e.setAttribute(t,s)},setBooleanAttribute(e,t,s){s?e.setAttribute(t,""):e.removeAttribute(t)}});function y(e,t,s,n){return(e,t,s,...i)=>{r(s)&&(s=s.replace(/(javascript:|vbscript:|data:)/,"")),n(e,t,s,...i)}}function w(e,t,s,i){throw l.error(n.blockedByDOMPolicy,{aspectName:s,tagName:null!=e?e:"text"})}const C={onabort:w,onauxclick:w,onbeforeinput:w,onbeforematch:w,onblur:w,oncancel:w,oncanplay:w,oncanplaythrough:w,onchange:w,onclick:w,onclose:w,oncontextlost:w,oncontextmenu:w,oncontextrestored:w,oncopy:w,oncuechange:w,oncut:w,ondblclick:w,ondrag:w,ondragend:w,ondragenter:w,ondragleave:w,ondragover:w,ondragstart:w,ondrop:w,ondurationchange:w,onemptied:w,onended:w,onerror:w,onfocus:w,onformdata:w,oninput:w,oninvalid:w,onkeydown:w,onkeypress:w,onkeyup:w,onload:w,onloadeddata:w,onloadedmetadata:w,onloadstart:w,onmousedown:w,onmouseenter:w,onmouseleave:w,onmousemove:w,onmouseout:w,onmouseover:w,onmouseup:w,onpaste:w,onpause:w,onplay:w,onplaying:w,onprogress:w,onratechange:w,onreset:w,onresize:w,onscroll:w,onsecuritypolicyviolation:w,onseeked:w,onseeking:w,onselect:w,onslotchange:w,onstalled:w,onsubmit:w,onsuspend:w,ontimeupdate:w,ontoggle:w,onvolumechange:w,onwaiting:w,onwebkitanimationend:w,onwebkitanimationiteration:w,onwebkitanimationstart:w,onwebkittransitionend:w,onwheel:w},S={elements:{a:{[f.attribute]:{href:y},[f.property]:{href:y}},area:{[f.attribute]:{href:y},[f.property]:{href:y}},button:{[f.attribute]:{formaction:y},[f.property]:{formAction:y}},embed:{[f.attribute]:{src:w},[f.property]:{src:w}},form:{[f.attribute]:{action:y},[f.property]:{action:y}},frame:{[f.attribute]:{src:y},[f.property]:{src:y}},iframe:{[f.attribute]:{src:y},[f.property]:{src:y,srcdoc:w}},input:{[f.attribute]:{formaction:y},[f.property]:{formAction:y}},link:{[f.attribute]:{href:w},[f.property]:{href:w}},object:{[f.attribute]:{codebase:w,data:w},[f.property]:{codeBase:w,data:w}},script:{[f.attribute]:{src:w,text:w},[f.property]:{src:w,text:w,innerText:w,textContent:w}},style:{[f.property]:{innerText:w,textContent:w}}},aspects:{[f.attribute]:Object.assign({},C),[f.property]:Object.assign({innerHTML:w},C),[f.event]:Object.assign({},C)}};function T(e,t){const s={};for(const n in t){const i=e[n],r=t[n];switch(i){case null:break;case void 0:s[n]=r;break;default:s[n]=i}}for(const t in e)t in s||(s[t]=e[t]);return Object.freeze(s)}function O(e,t){const s={};for(const n in t){const i=e[n],r=t[n];switch(i){case null:break;case void 0:s[n]=T(r,{});break;default:s[n]=T(i,r)}}for(const t in e)t in s||(s[t]=T(e[t],{}));return Object.freeze(s)}function x(e,t){const s={};for(const n in t){const i=e[n],r=t[n];switch(i){case null:break;case void 0:s[n]=O(i,{});break;default:s[n]=O(i,r)}}for(const t in e)t in s||(s[t]=O(e[t],{}));return Object.freeze(s)}function B(e,t,s,n,i){const r=e[s];if(r){const e=r[n];if(e)return e(t,s,n,i)}}const $=Object.freeze({create(e={}){var t,s;const n=null!==(t=e.trustedType)&&void 0!==t?t:function(){const e=e=>e;return globalThis.trustedTypes?globalThis.trustedTypes.createPolicy("fast-html",{createHTML:e}):{createHTML:e}}(),i=(r=null!==(s=e.guards)&&void 0!==s?s:{},o=S,Object.freeze({elements:r.elements?x(r.elements,o.elements):o.elements,aspects:r.aspects?O(r.aspects,o.aspects):o.aspects}));var r,o;return Object.freeze({createHTML:e=>n.createHTML(e),protect(e,t,s,n){var r;const o=(null!=e?e:"").toLowerCase(),a=i.elements[o];if(a){const i=B(a,e,t,s,n);if(i)return i}return null!==(r=B(i.aspects,e,t,s,n))&&void 0!==r?r:n}})}});class N{constructor(e,t){this.sub1=void 0,this.sub2=void 0,this.spillover=void 0,this.subject=e,this.sub1=t}has(e){return void 0===this.spillover?this.sub1===e||this.sub2===e:-1!==this.spillover.indexOf(e)}subscribe(e){const t=this.spillover;if(void 0===t){if(this.has(e))return;if(void 0===this.sub1)return void(this.sub1=e);if(void 0===this.sub2)return void(this.sub2=e);this.spillover=[this.sub1,this.sub2,e],this.sub1=void 0,this.sub2=void 0}else{-1===t.indexOf(e)&&t.push(e)}}unsubscribe(e){const t=this.spillover;if(void 0===t)this.sub1===e?this.sub1=void 0:this.sub2===e&&(this.sub2=void 0);else{const s=t.indexOf(e);-1!==s&&t.splice(s,1)}}notify(e){const t=this.spillover,s=this.subject;if(void 0===t){const t=this.sub1,n=this.sub2;void 0!==t&&t.handleChange(s,e),void 0!==n&&n.handleChange(s,e)}else for(let n=0,i=t.length;n<i;++n)t[n].handleChange(s,e)}}class k{constructor(e){this.subscribers={},this.subjectSubscribers=null,this.subject=e}notify(e){var t,s;null===(t=this.subscribers[e])||void 0===t||t.notify(e),null===(s=this.subjectSubscribers)||void 0===s||s.notify(e)}subscribe(e,t){var s,n;let i;i=t?null!==(s=this.subscribers[t])&&void 0!==s?s:this.subscribers[t]=new N(this.subject):null!==(n=this.subjectSubscribers)&&void 0!==n?n:this.subjectSubscribers=new N(this.subject),i.subscribe(e)}unsubscribe(e,t){var s,n;t?null===(s=this.subscribers[t])||void 0===s||s.unsubscribe(e):null===(n=this.subjectSubscribers)||void 0===n||n.unsubscribe(e)}}const A=l.getById(s.updateQueue,(()=>{const e=[],t=[],s=globalThis.requestAnimationFrame;let n=!0;function i(){if(t.length)throw t.shift()}function r(s){try{s.call()}catch(s){if(!n)throw e.length=0,s;t.push(s),setTimeout(i,0)}}function o(){let t=0;for(;t<e.length;)if(r(e[t]),t++,t>1024){for(let s=0,n=e.length-t;s<n;s++)e[s]=e[s+t];e.length-=t,t=0}e.length=0}function a(t){e.push(t),e.length<2&&(n?s(o):o())}return Object.freeze({enqueue:a,next:()=>new Promise(a),process:o,setMode:e=>n=e})})),E=Object.freeze({unknown:void 0,coupled:1}),M=l.getById(s.observable,(()=>{const e=A.enqueue,t=/(:|&&|\|\||if|\?\.)/,s=new WeakMap;let o,a=e=>{throw l.error(n.needsArrayObservation)};function c(e){var t;let n=null!==(t=e.$fastController)&&void 0!==t?t:s.get(e);return void 0===n&&(Array.isArray(e)?n=a(e):s.set(e,n=new k(e))),n}const d=h();class f{constructor(e){this.name=e,this.field=`_${e}`,this.callback=`${e}Changed`}getValue(e){return void 0!==o&&o.watch(e,this.name),e[this.field]}setValue(e,t){const s=this.field,n=e[s];if(n!==t){e[s]=t;const r=e[this.callback];i(r)&&r.call(e,n,t),c(e).notify(this.name)}}}class p extends N{constructor(e,t,s=!1){super(e,t),this.expression=e,this.isVolatileBinding=s,this.needsRefresh=!0,this.needsQueue=!0,this.isAsync=!0,this.first=this,this.last=null,this.propertySource=void 0,this.propertyName=void 0,this.notifier=void 0,this.next=void 0}setMode(e){this.isAsync=this.needsQueue=e}bind(e){this.controller=e;const t=this.observe(e.source,e.context);return!e.isBound&&this.requiresUnbind(e)&&e.onUnbind(this),t}requiresUnbind(e){return e.sourceLifetime!==E.coupled||this.first!==this.last||this.first.propertySource!==e.source}unbind(e){this.dispose()}observe(e,t){this.needsRefresh&&null!==this.last&&this.dispose();const s=o;let n;o=this.needsRefresh?this:void 0,this.needsRefresh=this.isVolatileBinding;try{n=this.expression(e,t)}finally{o=s}return n}disconnect(){this.dispose()}dispose(){if(null!==this.last){let e=this.first;for(;void 0!==e;)e.notifier.unsubscribe(this,e.propertyName),e=e.next;this.last=null,this.needsRefresh=this.needsQueue=this.isAsync}}watch(e,t){const s=this.last,n=c(e),i=null===s?this.first:{};if(i.propertySource=e,i.propertyName=t,i.notifier=n,n.subscribe(this,t),null!==s){if(!this.needsRefresh){let t;o=void 0,t=s.propertySource[s.propertyName],o=this,e===t&&(this.needsRefresh=!0)}s.next=i}this.last=i}handleChange(){this.needsQueue?(this.needsQueue=!1,e(this)):this.isAsync||this.call()}call(){null!==this.last&&(this.needsQueue=this.isAsync,this.notify(this))}*records(){let e=this.first;for(;void 0!==e;)yield e,e=e.next}}return u(p),Object.freeze({setArrayObserverFactory(e){a=e},getNotifier:c,track(e,t){o&&o.watch(e,t)},trackVolatile(){o&&(o.needsRefresh=!0)},notify(e,t){c(e).notify(t)},defineProperty(e,t){r(t)&&(t=new f(t)),d(e).push(t),Reflect.defineProperty(e,t.name,{enumerable:!0,get(){return t.getValue(this)},set(e){t.setValue(this,e)}})},getAccessors:d,binding(e,t,s=this.isVolatileBinding(e)){return new p(e,t,s)},isVolatileBinding:e=>t.test(e.toString())})}));function I(e,t){M.defineProperty(e,t)}function R(e,t,s){return Object.assign({},s,{get(){return M.trackVolatile(),s.get.apply(this)}})}const j=l.getById(s.contextEvent,(()=>{let e=null;return{get:()=>e,set(t){e=t}}})),V=Object.freeze({default:{index:0,length:0,get event(){return V.getEvent()},eventDetail(){return this.event.detail},eventTarget(){return this.event.target}},getEvent:()=>j.get(),setEvent(e){j.set(e)}});class _{constructor(e,t,s){this.index=e,this.removed=t,this.addedCount=s}adjustTo(e){let t=this.index;const s=e.length;return t>s?t=s-this.addedCount:t<0&&(t=s+this.removed.length+t-this.addedCount),this.index=t<0?0:t,this}}class L{constructor(e){this.sorted=e}}const z=Object.freeze({reset:1,splice:2,optimized:3}),H=new _(0,c,0);H.reset=!0;const F=[H];var P;function D(e,t,s,n,i,r){let o=0,a=0;const l=Math.min(s-t,r-i);if(0===t&&0===i&&(o=function(e,t,s){for(let n=0;n<s;++n)if(e[n]!==t[n])return n;return s}(e,n,l)),s===e.length&&r===n.length&&(a=function(e,t,s){let n=e.length,i=t.length,r=0;for(;r<s&&e[--n]===t[--i];)r++;return r}(e,n,l-o)),i+=o,r-=a,(s-=a)-(t+=o)==0&&r-i==0)return c;if(t===s){const e=new _(t,[],0);for(;i<r;)e.removed.push(n[i++]);return[e]}if(i===r)return[new _(t,[],s-t)];const d=function(e){let t=e.length-1,s=e[0].length-1,n=e[t][s];const i=[];for(;t>0||s>0;){if(0===t){i.push(P.add),s--;continue}if(0===s){i.push(P.delete),t--;continue}const r=e[t-1][s-1],o=e[t-1][s],a=e[t][s-1];let l;l=o<a?o<r?o:r:a<r?a:r,l===r?(r===n?i.push(P.leave):(i.push(P.update),n=r),t--,s--):l===o?(i.push(P.delete),t--,n=o):(i.push(P.add),s--,n=a)}return i.reverse()}(function(e,t,s,n,i,r){const o=r-i+1,a=s-t+1,l=new Array(o);let c,d;for(let e=0;e<o;++e)l[e]=new Array(a),l[e][0]=e;for(let e=0;e<a;++e)l[0][e]=e;for(let s=1;s<o;++s)for(let r=1;r<a;++r)e[t+r-1]===n[i+s-1]?l[s][r]=l[s-1][r-1]:(c=l[s-1][r]+1,d=l[s][r-1]+1,l[s][r]=c<d?c:d);return l}(e,t,s,n,i,r)),h=[];let u,f=t,p=i;for(let e=0;e<d.length;++e)switch(d[e]){case P.leave:void 0!==u&&(h.push(u),u=void 0),f++,p++;break;case P.update:void 0===u&&(u=new _(f,[],0)),u.addedCount++,f++,u.removed.push(n[p]),p++;break;case P.add:void 0===u&&(u=new _(f,[],0)),u.addedCount++,f++;break;case P.delete:void 0===u&&(u=new _(f,[],0)),u.removed.push(n[p]),p++}return void 0!==u&&h.push(u),h}function q(e,t){let s=!1,n=0;for(let l=0;l<t.length;l++){const c=t[l];if(c.index+=n,s)continue;const d=(i=e.index,r=e.index+e.removed.length,o=c.index,a=c.index+c.addedCount,r<o||a<i?-1:r===o||a===i?0:i<o?r<a?r-o:a-o:a<r?a-i:r-i);if(d>=0){t.splice(l,1),l--,n-=c.addedCount-c.removed.length,e.addedCount+=c.addedCount-d;const i=e.removed.length+c.removed.length-d;if(e.addedCount||i){let t=c.removed;if(e.index<c.index){const s=e.removed.slice(0,c.index-e.index);s.push(...t),t=s}if(e.index+e.removed.length>c.index+c.addedCount){const s=e.removed.slice(c.index+c.addedCount-e.index);t.push(...s)}e.removed=t,c.index<e.index&&(e.index=c.index)}else s=!0}else if(e.index<c.index){s=!0,t.splice(l,0,e),l++;const i=e.addedCount-e.removed.length;c.index+=i,n+=i}}var i,r,o,a;s||t.push(e)}!function(e){e[e.leave=0]="leave",e[e.update=1]="update",e[e.add=2]="add",e[e.delete=3]="delete"}(P||(P={}));let U=Object.freeze({support:z.optimized,normalize:(e,t,s)=>void 0===e?void 0===s?c:function(e,t){let s=[];const n=[];for(let e=0,s=t.length;e<s;e++)q(t[e],n);for(let t=0,i=n.length;t<i;++t){const i=n[t];1!==i.addedCount||1!==i.removed.length?s=s.concat(D(e,i.index,i.index+i.addedCount,i.removed,0,i.removed.length)):i.removed[0]!==e[i.index]&&s.push(i)}return s}(t,s):F,pop(e,t,s,n){const i=e.length>0,r=s.apply(e,n);return i&&t.addSplice(new _(e.length,[r],0)),r},push(e,t,s,n){const i=s.apply(e,n);return t.addSplice(new _(e.length-n.length,[],n.length).adjustTo(e)),i},reverse(e,t,s,n){const i=s.apply(e,n);e.sorted++;const r=[];for(let t=e.length-1;t>=0;t--)r.push(t);return t.addSort(new L(r)),i},shift(e,t,s,n){const i=e.length>0,r=s.apply(e,n);return i&&t.addSplice(new _(0,[r],0)),r},sort(e,t,s,n){const i=new Map;for(let t=0,s=e.length;t<s;++t){const s=i.get(e[t])||[];i.set(e[t],[...s,t])}const r=s.apply(e,n);e.sorted++;const o=[];for(let t=0,s=e.length;t<s;++t){const s=i.get(e[t]);o.push(s[0]),i.set(e[t],s.splice(1))}return t.addSort(new L(o)),r},splice(e,t,s,n){const i=s.apply(e,n);return t.addSplice(new _(+n[0],i,n.length>2?n.length-2:0).adjustTo(e)),i},unshift(e,t,s,n){const i=s.apply(e,n);return t.addSplice(new _(0,[],n.length).adjustTo(e)),i}});const W=Object.freeze({reset:F,setDefaultStrategy(e){U=e}});function Q(e,t,s,n=!0){Reflect.defineProperty(e,t,{value:s,enumerable:!1,writable:n})}class J extends N{get strategy(){return this._strategy}set strategy(e){this._strategy=e}get lengthObserver(){let e=this._lengthObserver;if(void 0===e){const t=this.subject;this._lengthObserver=e={length:t.length,handleChange(){this.length!==t.length&&(this.length=t.length,M.notify(e,"length"))}},this.subscribe(e)}return e}get sortObserver(){let e=this._sortObserver;if(void 0===e){const t=this.subject;this._sortObserver=e={sorted:t.sorted,handleChange(){this.sorted!==t.sorted&&(this.sorted=t.sorted,M.notify(e,"sorted"))}},this.subscribe(e)}return e}constructor(e){super(e),this.oldCollection=void 0,this.splices=void 0,this.sorts=void 0,this.needsQueue=!0,this._strategy=null,this._lengthObserver=void 0,this._sortObserver=void 0,this.call=this.flush,Q(e,"$fastController",this)}subscribe(e){this.flush(),super.subscribe(e)}addSplice(e){void 0===this.splices?this.splices=[e]:this.splices.push(e),this.enqueue()}addSort(e){void 0===this.sorts?this.sorts=[e]:this.sorts.push(e),this.enqueue()}reset(e){this.oldCollection=e,this.enqueue()}flush(){var e;const t=this.splices,s=this.sorts,n=this.oldCollection;void 0===t&&void 0===n&&void 0===s||(this.needsQueue=!0,this.splices=void 0,this.sorts=void 0,this.oldCollection=void 0,void 0!==s?this.notify(s):this.notify((null!==(e=this._strategy)&&void 0!==e?e:U).normalize(n,this.subject,t)))}enqueue(){this.needsQueue&&(this.needsQueue=!1,A.enqueue(this))}}let K=!1;const X=Object.freeze({sorted:0,enable(){if(K)return;K=!0,M.setArrayObserverFactory((e=>new J(e)));const e=Array.prototype;e.$fastPatch||(Q(e,"$fastPatch",1),Q(e,"sorted",0),[e.pop,e.push,e.reverse,e.shift,e.sort,e.splice,e.unshift].forEach((t=>{e[t.name]=function(...e){var s;const n=this.$fastController;return void 0===n?t.apply(this,e):(null!==(s=n.strategy)&&void 0!==s?s:U)[t.name](this,n,t,e)}})))}});function G(e){if(!e)return 0;let t=e.$fastController;return void 0===t&&(X.enable(),t=M.getNotifier(e)),M.track(t.lengthObserver,"length"),e.length}function Y(e){if(!e)return 0;let t=e.$fastController;return void 0===t&&(X.enable(),t=M.getNotifier(e)),M.track(t.sortObserver,"sorted"),e.sorted}class Z{constructor(e,t,s=!1){this.evaluate=e,this.policy=t,this.isVolatile=s}}class ee extends Z{createObserver(e){return M.binding(this.evaluate,e,this.isVolatile)}}function te(e,t,s=M.isVolatileBinding(e)){return new ee(e,t,s)}function se(e,t){const s=new ee(e);return s.options=t,s}class ne extends Z{createObserver(){return this}bind(e){return this.evaluate(e.source,e.context)}}function ie(e,t){return new ne(e,t)}function re(e){return i(e)?te(e):e instanceof Z?e:ie((()=>e))}u(ne);const oe=d(),ae=Object.freeze({getForInstance:oe.getForInstance,getByType:oe.getByType,define:e=>(oe.register({type:e}),e)});function le(){return function(e){ae.define(e)}}function ce(e,t,s){t.source.style.setProperty(e.targetAspect,s.bind(t))}class de{constructor(e,t){this.dataBinding=e,this.targetAspect=t}createCSS(e){return e(this),`var(${this.targetAspect})`}addedCallback(e){var t;const s=e.source;if(!s.$cssBindings){s.$cssBindings=new Map;const e=s.setAttribute;s.setAttribute=(t,n)=>{e.call(s,t,n),"style"===t&&s.$cssBindings.forEach(((e,t)=>ce(t,e.controller,e.observer)))}}const n=null!==(t=e[this.targetAspect])&&void 0!==t?t:e[this.targetAspect]=this.dataBinding.createObserver(this,this);n.controller=e,e.source.$cssBindings.set(this,{controller:e,observer:n})}connectedCallback(e){ce(this,e,e[this.targetAspect])}removedCallback(e){e.source.$cssBindings&&e.source.$cssBindings.delete(this)}handleChange(e,t){ce(this,t.controller,t)}}let he;function ue(e){return e.map((e=>e instanceof fe?ue(e.styles):[e])).reduce(((e,t)=>e.concat(t)),[])}ae.define(de);class fe{get strategy(){return null===this._strategy&&this.withStrategy(he),this._strategy}constructor(e){this.styles=e,this.targets=new WeakSet,this._strategy=null,this.behaviors=e.map((e=>e instanceof fe?e.behaviors:null)).reduce(((e,t)=>null===t?e:null===e?t:e.concat(t)),null)}addStylesTo(e){this.strategy.addStylesTo(e),this.targets.add(e)}removeStylesFrom(e){this.strategy.removeStylesFrom(e),this.targets.delete(e)}isAttachedTo(e){return this.targets.has(e)}withBehaviors(...e){return this.behaviors=null===this.behaviors?e:this.behaviors.concat(e),this}withStrategy(e){return this._strategy=new e(ue(this.styles)),this}static setDefaultStrategy(e){he=e}static normalize(e){return void 0===e?void 0:Array.isArray(e)?new fe(e):e instanceof fe?e:new fe([e])}}fe.supportsAdoptedStyleSheets=Array.isArray(document.adoptedStyleSheets)&&"replace"in CSSStyleSheet.prototype;const pe=`${Math.random().toString(36).substring(2,8)}`;let ge=0;const be=()=>`--v${pe}${++ge}`;function ve(e,t){const s=[];let n="";const r=[],o=e=>{r.push(e)};for(let r=0,a=e.length-1;r<a;++r){n+=e[r];let a=t[r];i(a)?a=new de(te(a),be()).createCSS(o):a instanceof Z?a=new de(a,be()).createCSS(o):void 0!==ae.getForInstance(a)&&(a=a.createCSS(o)),a instanceof fe||a instanceof CSSStyleSheet?(""!==n.trim()&&(s.push(n),n=""),s.push(a)):n+=a}return n+=e[e.length-1],""!==n.trim()&&s.push(n),{styles:s,behaviors:r}}const me=(e,...t)=>{const{styles:s,behaviors:n}=ve(e,t),i=new fe(s);return n.length?i.withBehaviors(...n):i};class ye{constructor(e,t){this.behaviors=t,this.css="";const s=e.reduce(((e,t)=>(r(t)?this.css+=t:e.push(t),e)),[]);s.length&&(this.styles=new fe(s))}createCSS(e){return this.behaviors.forEach(e),this.styles&&e(this),this.css}addedCallback(e){e.addStyles(this.styles)}removedCallback(e){e.removeStyles(this.styles)}}ae.define(ye),me.partial=(e,...t)=>{const{styles:s,behaviors:n}=ve(e,t);return new ye(s,n)};const we=`fast-${Math.random().toString(36).substring(2,8)}`,Ce=`${we}{`,Se=`}${we}`,Te=Se.length;let Oe=0;const xe=()=>`${we}-${++Oe}`,Be=Object.freeze({interpolation:e=>`${Ce}${e}${Se}`,attribute:e=>`${xe()}="${Ce}${e}${Se}"`,comment:e=>`\x3c!--${Ce}${e}${Se}--\x3e`}),$e=Object.freeze({parse(e,t){const s=e.split(Ce);if(1===s.length)return null;const n=[];for(let e=0,i=s.length;e<i;++e){const i=s[e],r=i.indexOf(Se);let o;if(-1===r)o=i;else{const e=i.substring(0,r);n.push(t[e]),o=i.substring(r+Te)}""!==o&&n.push(o)}return n}}),Ne=d(),ke=Object.freeze({getForInstance:Ne.getForInstance,getByType:Ne.getByType,define:(e,t)=>((t=t||{}).type=e,Ne.register(t),e),assignAspect(e,t){if(t)switch(e.sourceAspect=t,t[0]){case":":e.targetAspect=t.substring(1),e.aspectType="classList"===e.targetAspect?f.tokenList:f.property;break;case"?":e.targetAspect=t.substring(1),e.aspectType=f.booleanAttribute;break;case"@":e.targetAspect=t.substring(1),e.aspectType=f.event;break;default:e.targetAspect=t,e.aspectType=f.attribute}else e.aspectType=f.content}});function Ae(e){return function(t){ke.define(t,e)}}class Ee{constructor(e){this.options=e}createHTML(e){return Be.attribute(e(this))}createBehavior(){return this}}u(Ee);const Me=e=>1===e.nodeType,Ie=e=>e?t=>1===t.nodeType&&t.matches(e):Me;class Re extends Ee{get id(){return this._id}set id(e){this._id=e,this._controllerProperty=`${e}-c`}bind(e){const t=e.targets[this.targetNodeId];t[this._controllerProperty]=e,this.updateTarget(e.source,this.computeNodes(t)),this.observe(t),e.onUnbind(this)}unbind(e){const t=e.targets[this.targetNodeId];this.updateTarget(e.source,c),this.disconnect(t),t[this._controllerProperty]=null}getSource(e){return e[this._controllerProperty].source}updateTarget(e,t){e[this.options.property]=t}computeNodes(e){let t=this.getNodes(e);return"filter"in this.options&&(t=t.filter(this.options.filter)),t}}class je extends Re{constructor(e){super(e),this.observerProperty=Symbol(),this.handleEvent=(e,t)=>{const s=t.target;this.updateTarget(this.getSource(s),this.computeNodes(s))},e.childList=!0}observe(e){let t=e[this.observerProperty];t||(t=new MutationObserver(this.handleEvent),t.toJSON=o,e[this.observerProperty]=t),t.target=e,t.observe(e,this.options)}disconnect(e){const t=e[this.observerProperty];t.target=null,t.disconnect()}getNodes(e){return"selector"in this.options?Array.from(e.querySelectorAll(this.options.selector)):Array.from(e.childNodes)}}function Ve(e){return r(e)&&(e={property:e}),new je(e)}ke.define(je);const _e=/fe-b\$\$start\$\$(\d+)\$\$(.+)\$\$fe-b/,Le=/fe-b\$\$end\$\$(\d+)\$\$(.+)\$\$fe-b/,ze=/fe-repeat\$\$start\$\$(\d+)\$\$fe-repeat/,He=/fe-repeat\$\$end\$\$(\d+)\$\$fe-repeat/,Fe=/^(?:.{0,1000})fe-eb\$\$start\$\$(.+?)\$\$fe-eb/,Pe=/fe-eb\$\$end\$\$(.{0,1000})\$\$fe-eb(?:.{0,1000})$/;function De(e){return e&&e.nodeType===Node.COMMENT_NODE}const qe=Object.freeze({attributeMarkerName:"data-fe-b",compactAttributeMarkerName:"data-fe-c",attributeBindingSeparator:" ",contentBindingStartMarker:(e,t)=>`fe-b$$start$$${e}$$${t}$$fe-b`,contentBindingEndMarker:(e,t)=>`fe-b$$end$$${e}$$${t}$$fe-b`,repeatStartMarker:e=>`fe-repeat$$start$$${e}$$fe-repeat`,repeatEndMarker:e=>`fe-repeat$$end$$${e}$$fe-repeat`,isContentBindingStartMarker:e=>_e.test(e),isContentBindingEndMarker:e=>Le.test(e),isRepeatViewStartMarker:e=>ze.test(e),isRepeatViewEndMarker:e=>He.test(e),isElementBoundaryStartMarker:e=>De(e)&&Fe.test(e.data.trim()),isElementBoundaryEndMarker:e=>De(e)&&Pe.test(e.data),parseAttributeBinding(e){const t=e.getAttribute(this.attributeMarkerName);return null===t?t:t.split(this.attributeBindingSeparator).map((e=>parseInt(e)))},parseEnumeratedAttributeBinding(e){const t=[],s=this.attributeMarkerName.length+1,n=`${this.attributeMarkerName}-`;for(const i of e.getAttributeNames())if(i.startsWith(n)){const e=Number(i.slice(s));if(Number.isNaN(e))throw l.error(1601,{name:i,expectedFormat:`${n}<number>`});t.push(e)}return 0===t.length?null:t},parseCompactAttributeBinding(e){const t=`${this.compactAttributeMarkerName}-`,s=e.getAttributeNames().find((e=>e.startsWith(t)));if(!s)return null;const n=s.slice(t.length).split("-"),i=parseInt(n[0],10),r=parseInt(n[1],10);if(2!==n.length||Number.isNaN(i)||Number.isNaN(r)||i<0||r<1)throw l.error(1604,{name:s,expectedFormat:`${this.compactAttributeMarkerName}-{index}-{count}`});const o=[];for(let e=0;e<r;e++)o.push(i+e);return o},parseContentBindingStartMarker:e=>Qe(_e,e),parseContentBindingEndMarker:e=>Qe(Le,e),parseRepeatStartMarker:e=>Ue(ze,e),parseRepeatEndMarker:e=>Ue(He,e),parseElementBoundaryStartMarker:e=>We(Fe,e.trim()),parseElementBoundaryEndMarker:e=>We(Pe,e)});function Ue(e,t){const s=e.exec(t);return null===s?s:parseInt(s[1])}function We(e,t){const s=e.exec(t);return null===s?s:s[1]}function Qe(e,t){const s=e.exec(t);return null===s?s:[parseInt(s[1]),s[2]]}const Je=Symbol.for("fe-hydration");function Ke(e){return e[Je]===Je}const Xe="defer-hydration";class Ge extends Error{constructor(e,t,s){super(e),this.factories=t,this.node=s}}function Ye(e){return e.nodeType===Node.COMMENT_NODE}function Ze(e){return e.nodeType===Node.TEXT_NODE}function et(e,t){const s=document.createRange();return s.setStart(e,0),s.setEnd(t,Ye(t)||Ze(t)?t.data.length:t.childNodes.length),s}function tt(e,t,s,n){var i,r;const o=null!==(r=null!==(i=qe.parseAttributeBinding(e))&&void 0!==i?i:qe.parseEnumeratedAttributeBinding(e))&&void 0!==r?r:qe.parseCompactAttributeBinding(e);if(null!==o){for(const i of o){const r=t[i+n];if(!r)throw new Ge(`HydrationView was unable to successfully target factory on ${e.nodeName} inside ${e.getRootNode().host.nodeName}. This likely indicates a template mismatch between SSR rendering and hydration.`,t,e);nt(r,e,s)}e.removeAttribute(qe.attributeMarkerName)}}function st(e,t,s,n,i,r){if(qe.isElementBoundaryStartMarker(e))!function(e,t){const s=qe.parseElementBoundaryStartMarker(e.data);let n=t.nextSibling();for(;null!==n;){if(Ye(n)){const e=qe.parseElementBoundaryEndMarker(n.data);if(e&&e===s)break}n=t.nextSibling()}}(e,t);else if(qe.isContentBindingStartMarker(e.data)){const o=qe.parseContentBindingStartMarker(e.data);if(null===o)return;const[a,l]=o,c=s[a+r],d=[];let h=t.nextSibling();e.data="";const u=h;for(;null!==h;){if(Ye(h)){const e=qe.parseContentBindingEndMarker(h.data);if(e&&e[1]===l)break}d.push(h),h=t.nextSibling()}if(null===h){const t=e.getRootNode();throw new Error(`Error hydrating Comment node inside "${function(e){return e instanceof DocumentFragment&&"mode"in e}(t)?t.host.nodeName:t.nodeName}".`)}if(h.data="",1===d.length&&Ze(d[0]))nt(c,d[0],n);else{h!==u&&null!==h.previousSibling&&(i[c.targetNodeId]={first:u,last:h.previousSibling});nt(c,h.parentNode.insertBefore(document.createTextNode(""),h),n)}}}function nt(e,t,s){if(void 0===e.targetNodeId)throw new Error("Factory could not be target to the node");s[e.targetNodeId]=t}var it;function rt(e,t){const s=e.parentNode;let n,i=e;for(;i!==t;){if(n=i.nextSibling,!n)throw new Error(`Unmatched first/last child inside "${t.getRootNode().host.nodeName}".`);s.removeChild(i),i=n}s.removeChild(t)}class ot{constructor(){this.index=0,this.length=0}get event(){return V.getEvent()}get isEven(){return this.index%2==0}get isOdd(){return this.index%2!=0}get isFirst(){return 0===this.index}get isInMiddle(){return!this.isFirst&&!this.isLast}get isLast(){return this.index===this.length-1}eventDetail(){return this.event.detail}eventTarget(){return this.event.target}}class at extends ot{constructor(e,t,s){super(),this.fragment=e,this.factories=t,this.targets=s,this.behaviors=null,this.unbindables=[],this.source=null,this.isBound=!1,this.sourceLifetime=E.unknown,this.context=this,this.firstChild=e.firstChild,this.lastChild=e.lastChild}appendTo(e){e.appendChild(this.fragment)}insertBefore(e){if(this.fragment.hasChildNodes())e.parentNode.insertBefore(this.fragment,e);else{const t=this.lastChild;if(e.previousSibling===t)return;const s=e.parentNode;let n,i=this.firstChild;for(;i!==t;)n=i.nextSibling,s.insertBefore(i,e),i=n;s.insertBefore(t,e)}}remove(){const e=this.fragment,t=this.lastChild;let s,n=this.firstChild;for(;n!==t;)s=n.nextSibling,e.appendChild(n),n=s;e.appendChild(t)}dispose(){rt(this.firstChild,this.lastChild),this.unbind()}onUnbind(e){this.unbindables.push(e)}bind(e,t=this){if(this.source===e)return;let s=this.behaviors;if(null===s){this.source=e,this.context=t,this.behaviors=s=new Array(this.factories.length);const n=this.factories;for(let e=0,t=n.length;e<t;++e){const t=n[e].createBehavior();t.bind(this),s[e]=t}}else{null!==this.source&&this.evaluateUnbindables(),this.isBound=!1,this.source=e,this.context=t;for(let e=0,t=s.length;e<t;++e)s[e].bind(this)}this.isBound=!0}unbind(){this.isBound&&null!==this.source&&(this.evaluateUnbindables(),this.source=null,this.context=this,this.isBound=!1)}evaluateUnbindables(){const e=this.unbindables;for(let t=0,s=e.length;t<s;++t)e[t].unbind(this);e.length=0}static disposeContiguousBatch(e){if(0!==e.length){rt(e[0].firstChild,e[e.length-1].lastChild);for(let t=0,s=e.length;t<s;++t)e[t].unbind()}}}u(at),M.defineProperty(at.prototype,"index"),M.defineProperty(at.prototype,"length");const lt="unhydrated",ct="hydrating",dt="hydrated";class ht extends Error{constructor(e,t,s,n){super(e),this.factory=t,this.fragment=s,this.templateString=n}}it=Je,u(class extends ot{get hydrationStage(){return this._hydrationStage}get targets(){return this._targets}get bindingViewBoundaries(){return this._bindingViewBoundaries}constructor(e,t,s,n){super(),this.firstChild=e,this.lastChild=t,this.sourceTemplate=s,this.hostBindingTarget=n,this[it]=Je,this.context=this,this.source=null,this.isBound=!1,this.sourceLifetime=E.unknown,this.unbindables=[],this.fragment=null,this.behaviors=null,this._hydrationStage=lt,this._bindingViewBoundaries={},this._targets={},this.factories=s.compile().factories}insertBefore(e){if(null!==this.fragment)if(this.fragment.hasChildNodes())e.parentNode.insertBefore(this.fragment,e);else{const t=this.lastChild;if(e.previousSibling===t)return;const s=e.parentNode;let n,i=this.firstChild;for(;i!==t;)n=i.nextSibling,s.insertBefore(i,e),i=n;s.insertBefore(t,e)}}appendTo(e){null!==this.fragment&&e.appendChild(this.fragment)}remove(){const e=this.fragment||(this.fragment=document.createDocumentFragment()),t=this.lastChild;let s,n=this.firstChild;for(;n!==t;){if(s=n.nextSibling,!s)throw new Error(`Unmatched first/last child inside "${t.getRootNode().host.nodeName}".`);e.appendChild(n),n=s}e.appendChild(t)}bind(e,t=this){var s;if(this.hydrationStage!==dt&&(this._hydrationStage=ct),this.source===e)return;let n=this.behaviors;if(null===n){this.source=e,this.context=t;try{const{targets:e,boundaries:t}=function(e,t,s){const n=et(e,t),i=n.commonAncestorContainer,r=function(e){let t=0;for(let s=0,n=e.length;s<n&&"h"===e[s].targetNodeId;++s)t++;return t}(s),o=document.createTreeWalker(i,NodeFilter.SHOW_ELEMENT+NodeFilter.SHOW_COMMENT+NodeFilter.SHOW_TEXT,{acceptNode:e=>0===n.comparePoint(e,0)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}),a={},l={};let c=o.currentNode=e;for(;null!==c;){switch(c.nodeType){case Node.ELEMENT_NODE:tt(c,s,a,r);break;case Node.COMMENT_NODE:st(c,o,s,a,l,r)}c=o.nextNode()}return n.detach(),{targets:a,boundaries:l}}(this.firstChild,this.lastChild,this.factories);this._targets=e,this._bindingViewBoundaries=t}catch(e){if(e instanceof Ge){let t=this.sourceTemplate.html;"string"!=typeof t&&(t=t.innerHTML),e.templateString=t}throw e}this.behaviors=n=new Array(this.factories.length);const i=this.factories;for(let e=0,t=i.length;e<t;++e){const t=i[e];if("h"===t.targetNodeId&&this.hostBindingTarget&&nt(t,this.hostBindingTarget,this._targets),!(t.targetNodeId in this.targets)){let e=this.sourceTemplate.html;"string"!=typeof e&&(e=e.innerHTML);const n=(null===(s=this.firstChild)||void 0===s?void 0:s.getRootNode()).host,i=t,r=[`HydrationView was unable to successfully target bindings inside "<${((null==n?void 0:n.nodeName)||"unknown").toLowerCase()}>".`,"\nMismatch Details:",` - Expected target node ID: "${t.targetNodeId}"`,` - Available target IDs: [${Object.keys(this.targets).join(", ")||"none"}]`];throw t.targetTagName&&r.push(` - Expected tag name: "${t.targetTagName}"`),i.sourceAspect&&r.push(` - Source aspect: "${i.sourceAspect}"`),void 0!==i.aspectType&&r.push(` - Aspect type: ${i.aspectType}`),r.push("\nThis usually means:"," 1. The server-rendered HTML doesn't match the client template"," 2. The hydration markers are missing or corrupted"," 3. The DOM structure was modified before hydration",`\nTemplate: ${e.slice(0,200)}${e.length>200?"...":""}`),new ht(r.join("\n"),t,et(this.firstChild,this.lastChild).cloneContents(),e)}{const s=t.createBehavior();s.bind(this),n[e]=s}}}else{null!==this.source&&this.evaluateUnbindables(),this.isBound=!1,this.source=e,this.context=t;for(let e=0,t=n.length;e<t;++e)n[e].bind(this)}this.isBound=!0,this._hydrationStage=dt}unbind(){this.isBound&&null!==this.source&&(this.evaluateUnbindables(),this.source=null,this.context=this,this.isBound=!1)}dispose(){rt(this.firstChild,this.lastChild),this.unbind()}onUnbind(e){this.unbindables.push(e)}evaluateUnbindables(){const e=this.unbindables;for(let t=0,s=e.length;t<s;++t)e[t].unbind(this);e.length=0}});const ut={[f.attribute]:m.setAttribute,[f.booleanAttribute]:m.setBooleanAttribute,[f.property]:(e,t,s)=>e[t]=s,[f.content]:function(e,t,s,n){if(null==s&&(s=""),function(e){return void 0!==e.create}(s)){e.textContent="";let t=e.$fastView;if(void 0===t)if(Ke(n)&&Ke(s)&&void 0!==n.bindingViewBoundaries[this.targetNodeId]&&n.hydrationStage!==dt){const e=n.bindingViewBoundaries[this.targetNodeId];t=s.hydrate(e.first,e.last)}else t=s.create();else e.$fastTemplate!==s&&(t.isComposed&&(t.remove(),t.unbind()),t=s.create());t.isComposed?t.needsBindOnly&&(t.needsBindOnly=!1,t.bind(n.source,n.context)):(t.isComposed=!0,t.bind(n.source,n.context),t.insertBefore(e),e.$fastView=t,e.$fastTemplate=s)}else{const t=e.$fastView;void 0!==t&&t.isComposed&&(t.isComposed=!1,t.remove(),t.needsBindOnly?t.needsBindOnly=!1:t.unbind()),e.textContent=s}},[f.tokenList]:function(e,t,s){var n;const i=`${this.id}-t`,r=null!==(n=e[i])&&void 0!==n?n:e[i]={v:0,cv:Object.create(null)},o=r.cv;let a=r.v;const l=e[t];if(null!=s&&s.length){const e=s.split(/\s+/);for(let t=0,s=e.length;t<s;++t){const s=e[t];""!==s&&(o[s]=a,l.add(s))}}if(r.v=a+1,0!==a){a-=1;for(const e in o)o[e]===a&&l.remove(e)}},[f.event]:()=>{}};class ft{constructor(e){this.dataBinding=e,this.updateTarget=null,this.aspectType=f.content}createHTML(e){return Be.interpolation(e(this))}createBehavior(){var e;if(null===this.updateTarget){const t=ut[this.aspectType],s=null!==(e=this.dataBinding.policy)&&void 0!==e?e:this.policy;if(!t)throw l.error(n.unsupportedBindingBehavior);this.data=`${this.id}-d`,this.updateTarget=s.protect(this.targetTagName,this.aspectType,this.targetAspect,t)}return this}bind(e){var t;const s=e.targets[this.targetNodeId],n=Ke(e)&&e.hydrationStage&&e.hydrationStage!==dt;switch(this.aspectType){case f.event:s[this.data]=e,s.addEventListener(this.targetAspect,this,this.dataBinding.options);break;case f.content:e.onUnbind(this);default:const i=null!==(t=s[this.data])&&void 0!==t?t:s[this.data]=this.dataBinding.createObserver(this,this);if(i.target=s,i.controller=e,n&&(this.aspectType===f.attribute||this.aspectType===f.booleanAttribute)){i.bind(e);break}this.updateTarget(s,this.targetAspect,i.bind(e),e)}}unbind(e){const t=e.targets[this.targetNodeId].$fastView;void 0!==t&&t.isComposed&&(t.unbind(),t.needsBindOnly=!0)}handleEvent(e){const t=e.currentTarget[this.data];if(t.isBound){V.setEvent(e);const s=this.dataBinding.evaluate(t.source,t.context);V.setEvent(null),!0!==s&&e.preventDefault()}}handleChange(e,t){const s=t.target,n=t.controller;this.updateTarget(s,this.targetAspect,t.bind(n),n)}}ke.define(ft,{aspected:!0});const pt=(e,t)=>`${e}.${t}`,gt={},bt={index:0,node:null};function vt(e){e.startsWith("fast-")||l.warn(n.hostBindingWithoutHost,{name:e})}const mt=new Proxy(document.createElement("div"),{get(e,t){vt(t);const s=Reflect.get(e,t);return i(s)?s.bind(e):s},set:(e,t,s)=>(vt(t),Reflect.set(e,t,s))});class yt{constructor(e,t,s){this.fragment=e,this.directives=t,this.policy=s,this.proto=null,this.nodeIds=new Set,this.descriptors={},this.factories=[]}addFactory(e,t,s,n,i){var r,o;this.nodeIds.has(s)||(this.nodeIds.add(s),this.addTargetDescriptor(t,s,n)),e.id=null!==(r=e.id)&&void 0!==r?r:xe(),e.targetNodeId=s,e.targetTagName=i,e.policy=null!==(o=e.policy)&&void 0!==o?o:this.policy,this.factories.push(e)}freeze(){return this.proto=Object.create(null,this.descriptors),this}addTargetDescriptor(e,t,s){const n=this.descriptors;if("r"===t||"h"===t||n[t])return;if(!n[e]){const t=e.lastIndexOf("."),s=e.substring(0,t),n=parseInt(e.substring(t+1));this.addTargetDescriptor(s,e,n)}let i=gt[t];if(!i){const n=`_${t}`;gt[t]=i={get(){var t;return null!==(t=this[n])&&void 0!==t?t:this[n]=this[e].childNodes[s]}}}n[t]=i}createView(e){const t=this.fragment.cloneNode(!0),s=Object.create(this.proto);s.r=t,s.h=null!=e?e:mt;for(const e of this.nodeIds)s[e];return new at(t,this.factories,s)}}function wt(e,t,s,n,i,r=!1){const o=s.attributes,a=e.directives;for(let l=0,c=o.length;l<c;++l){const d=o[l],h=d.value,u=$e.parse(h,a);let f=null;null===u?r&&(f=new ft(ie((()=>h),e.policy)),ke.assignAspect(f,d.name)):f=Ot.aggregate(u,e.policy),null!==f&&(s.removeAttributeNode(d),l--,c--,e.addFactory(f,t,n,i,s.tagName))}}function Ct(e,t,s){let n=0,i=t.firstChild;for(;i;){const t=St(e,s,i,n);i=t.node,n=t.index}}function St(e,t,s,n){const i=pt(t,n);switch(s.nodeType){case 1:wt(e,t,s,i,n),Ct(e,s,i);break;case 3:return function(e,t,s,n,i){const o=$e.parse(t.textContent,e.directives);if(null===o)return bt.node=t.nextSibling,bt.index=i+1,bt;let a,l=a=t;for(let t=0,c=o.length;t<c;++t){const c=o[t];0!==t&&(i++,n=pt(s,i),a=l.parentNode.insertBefore(document.createTextNode(""),l.nextSibling)),r(c)?a.textContent=c:(a.textContent=" ",ke.assignAspect(c),e.addFactory(c,s,n,i,null)),l=a}return bt.index=i+1,bt.node=l.nextSibling,bt}(e,s,t,i,n);case 8:const o=$e.parse(s.data,e.directives);null!==o&&e.addFactory(Ot.aggregate(o),t,i,n,null)}return bt.index=n+1,bt.node=s.nextSibling,bt}const Tt="TEMPLATE",Ot={compile(e,t,s=m.policy){let n;if(r(e)){n=document.createElement(Tt),n.innerHTML=s.createHTML(e);const t=n.content.firstElementChild;null!==t&&t.tagName===Tt&&(n=t)}else n=e;n.content.firstChild||n.content.lastChild||n.content.appendChild(document.createComment(""));const i=document.adoptNode(n.content),o=new yt(i,t,s);var a,l;return wt(o,"",n,"h",0,!0),a=i.firstChild,l=t,(a&&8==a.nodeType&&null!==$e.parse(a.data,l)||1===i.childNodes.length&&Object.keys(t).length>0)&&i.insertBefore(document.createComment(""),i.firstChild),Ct(o,i,"r"),bt.node=null,o.freeze()},setDefaultStrategy(e){this.compile=e},aggregate(e,t=m.policy){if(1===e.length)return e[0];let s,n,i=!1;const o=e.length,a=e.map((e=>r(e)?()=>e:(s=e.sourceAspect||s,i=i||e.dataBinding.isVolatile,n=n||e.dataBinding.policy,e.dataBinding.evaluate))),l=new ft(te(((e,t)=>{let s="";for(let n=0;n<o;++n)s+=a[n](e,t);return s}),null!=n?n:t,i));return ke.assignAspect(l,s),l}};class xt extends Ee{bind(e){e.source[this.options]=e.targets[this.targetNodeId]}}ke.define(xt);const Bt=e=>new xt(e);function $t(e,t,s,n){return new(s||(s=Promise))((function(i,r){function o(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,a)}l((n=n.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const Nt="boolean",kt="reflect",At=Object.freeze({locate:h()}),Et={toView:e=>e?"true":"false",fromView:e=>!(null==e||"false"===e||!1===e||0===e)},Mt={toView:e=>"boolean"==typeof e?e.toString():"",fromView:e=>[null,void 0,void 0].includes(e)?null:Et.fromView(e)};function It(e){if(null==e)return null;const t=1*e;return isNaN(t)?null:t}const Rt={toView(e){const t=It(e);return t?t.toString():t},fromView:It};class jt{constructor(e,t,s=t.toLowerCase(),n=kt,i){this.guards=new Set,this.Owner=e,this.name=t,this.attribute=s,this.mode=n,this.converter=i,this.fieldName=`_${t}`,this.callbackName=`${t}Changed`,this.hasCallback=this.callbackName in e.prototype,n===Nt&&void 0===i&&(this.converter=Et)}setValue(e,t){const s=e[this.fieldName],n=this.converter;void 0!==n&&(t=n.fromView(t)),s!==t&&(e[this.fieldName]=t,this.tryReflectToAttribute(e),this.hasCallback&&e[this.callbackName](s,t),e.$fastController.notify(this.name))}getValue(e){return M.track(e,this.name),e[this.fieldName]}onAttributeChangedCallback(e,t){this.guards.has(e)||(this.guards.add(e),this.setValue(e,t),this.guards.delete(e))}tryReflectToAttribute(e){const t=this.mode,s=this.guards;s.has(e)||"fromView"===t||A.enqueue((()=>{s.add(e);const n=e[this.fieldName];switch(t){case kt:const t=this.converter;m.setAttribute(e,this.attribute,void 0!==t?t.toView(n):n);break;case Nt:m.setBooleanAttribute(e,this.attribute,n)}s.delete(e)}))}static collect(e,...t){const s=[];t.push(At.locate(e));for(let n=0,i=t.length;n<i;++n){const i=t[n];if(void 0!==i)for(let t=0,n=i.length;t<n;++t){const n=i[t];r(n)?s.push(new jt(e,n)):s.push(new jt(e,n.property,n.attribute,n.mode,n.converter))}}return s}}function Vt(e,t){let s;function n(e,t){arguments.length>1&&(s.property=t),At.locate(e.constructor).push(s)}return arguments.length>1?(s={},void n(e,t)):(s=void 0===e?{}:e,n)}var _t;const Lt={mode:"open"},zt={},Ht=new Set,Ft=l.getById(s.elementRegistry,(()=>d())),Pt={deferAndHydrate:"defer-and-hydrate"};class Dt{get isDefined(){return this.platformDefined}constructor(e,t=e.definition){var s;this.platformDefined=!1,r(t)&&(t={name:t}),this.type=e,this.name=t.name,this.template=t.template,this.templateOptions=t.templateOptions,this.registry=null!==(s=t.registry)&&void 0!==s?s:customElements;const n=e.prototype,i=jt.collect(e,t.attributes),o=new Array(i.length),a={},l={};for(let e=0,t=i.length;e<t;++e){const t=i[e];o[e]=t.attribute,a[t.name]=t,l[t.attribute]=t,M.defineProperty(n,t)}Reflect.defineProperty(e,"observedAttributes",{value:o,enumerable:!0}),this.attributes=i,this.propertyLookup=a,this.attributeLookup=l,this.shadowOptions=void 0===t.shadowOptions?Lt:null===t.shadowOptions?void 0:Object.assign(Object.assign({},Lt),t.shadowOptions),this.elementOptions=void 0===t.elementOptions?zt:Object.assign(Object.assign({},zt),t.elementOptions),this.styles=fe.normalize(t.styles),Ft.register(this),M.defineProperty(_t.isRegistered,this.name),_t.isRegistered[this.name]=this.type}define(e=this.registry){var t,s;const n=this.type;return e.get(this.name)||(this.platformDefined=!0,e.define(this.name,n,this.elementOptions),null===(s=null===(t=this.lifecycleCallbacks)||void 0===t?void 0:t.elementDidDefine)||void 0===s||s.call(t,this.name)),this}static compose(e,t){return Ht.has(e)||Ft.getByType(e)?new _t(class extends e{},t):new _t(e,t)}static registerBaseType(e){Ht.add(e)}static composeAsync(e,t){return new Promise((s=>{(Ht.has(e)||Ft.getByType(e))&&s(new _t(class extends e{},t));const n=new _t(e,t);M.getNotifier(n).subscribe({handleChange:()=>{var e,t;null===(t=null===(e=n.lifecycleCallbacks)||void 0===e?void 0:e.templateDidUpdate)||void 0===t||t.call(e,n.name),s(n)}},"template")}))}}_t=Dt,Dt.isRegistered={},Dt.getByType=Ft.getByType,Dt.getForInstance=Ft.getForInstance,Dt.registerAsync=e=>$t(void 0,void 0,void 0,(function*(){return new Promise((t=>{_t.isRegistered[e]&&t(_t.isRegistered[e]),M.getNotifier(_t.isRegistered).subscribe({handleChange:()=>t(_t.isRegistered[e])},e)}))})),M.defineProperty(Dt.prototype,"template");const qt=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/,Ut=Object.create(null);class Wt{constructor(e,t=Ut){this.html=e,this.factories=t}createHTML(e){const t=this.factories;for(const s in t)e(t[s]);return this.html}}function Qt(e,t,s,n=ke.getForInstance(e)){if(n.aspected){const s=qt.exec(t);null!==s&&ke.assignAspect(e,s[2])}return e.createHTML(s)}Wt.empty=new Wt(""),ke.define(Wt);class Jt{constructor(e,t={},s){this.policy=s,this.result=null,this.html=e,this.factories=t}compile(){return null===this.result&&(this.result=Ot.compile(this.html,this.factories,this.policy)),this.result}create(e){return this.compile().createView(e)}inline(){return new Wt(r(this.html)?this.html:this.html.innerHTML,this.factories)}withPolicy(e){if(this.result)throw l.error(n.cannotSetTemplatePolicyAfterCompilation);if(this.policy)throw l.error(n.onlySetTemplatePolicyOnce);return this.policy=e,this}render(e,t,s){const n=this.create(s);return n.bind(e),n.appendTo(t),n}static create(e,t,s){let n="";const r=Object.create(null),o=e=>{var t;const s=null!==(t=e.id)&&void 0!==t?t:e.id=xe();return r[s]=e,s};for(let s=0,r=e.length-1;s<r;++s){const r=e[s];let a,l=t[s];if(n+=r,i(l))l=new ft(te(l));else if(l instanceof Z)l=new ft(l);else if(!(a=ke.getForInstance(l))){const e=l;l=new ft(ie((()=>e)))}n+=Qt(l,r,o,a)}return new Jt(n+e[e.length-1],r,s)}}u(Jt);const Kt=(e,...t)=>{if(Array.isArray(e)&&Array.isArray(e.raw))return Jt.create(e,t);throw l.error(n.directCallToHTMLTagNotAllowed)};Kt.partial=e=>new Wt(e);class Xt{constructor(e){this.directive=e,this.location=null,this.controller=null,this.view=null,this.data=null,this.dataBindingObserver=e.dataBinding.createObserver(this,e),this.templateBindingObserver=e.templateBinding.createObserver(this,e)}bind(e){if(this.location=e.targets[this.directive.targetNodeId],this.controller=e,this.data=this.dataBindingObserver.bind(e),this.template=this.templateBindingObserver.bind(e),e.onUnbind(this),Ke(this.template)&&Ke(e)&&e.hydrationStage!==dt&&!this.view){const t=e.bindingViewBoundaries[this.directive.targetNodeId];t&&(this.view=this.template.hydrate(t.first,t.last),this.bindView(this.view))}else this.refreshView()}unbind(e){const t=this.view;null!==t&&t.isComposed&&(t.unbind(),t.needsBindOnly=!0)}handleChange(e,t){t===this.dataBindingObserver&&(this.data=this.dataBindingObserver.bind(this.controller)),(this.directive.templateBindingDependsOnData||t===this.templateBindingObserver)&&(this.template=this.templateBindingObserver.bind(this.controller)),this.refreshView()}bindView(e){e.isComposed?e.needsBindOnly&&(e.needsBindOnly=!1,e.bind(this.data)):(e.isComposed=!0,e.bind(this.data),e.insertBefore(this.location),e.$fastTemplate=this.template)}refreshView(){let e=this.view;const t=this.template;null===e?(this.view=e=t.create(),this.view.context.parent=this.controller.source,this.view.context.parentContext=this.controller.context):e.$fastTemplate!==t&&(e.isComposed&&(e.remove(),e.unbind()),this.view=e=t.create(),this.view.context.parent=this.controller.source,this.view.context.parentContext=this.controller.context),this.bindView(e)}}class Gt{constructor(e,t,s){this.dataBinding=e,this.templateBinding=t,this.templateBindingDependsOnData=s}createHTML(e){return Be.comment(e(this))}createBehavior(){return new Xt(this)}}ke.define(Gt);const Yt=new Map,Zt={":model":e=>e},es=Symbol("RenderInstruction"),ts="default-view",ss=Kt`
1
+ let e;const t="fast-kernel";try{if(document.currentScript)e=document.currentScript.getAttribute(t);else{const s=document.getElementsByTagName("script");e=s[s.length-1].getAttribute(t)}}catch(t){e="isolate"}let s;switch(e){case"share":s=Object.freeze({updateQueue:1,observable:2,contextEvent:3,elementRegistry:4});break;case"share-v2":s=Object.freeze({updateQueue:1.2,observable:2.2,contextEvent:3.2,elementRegistry:4.2});break;default:const e=`-${Math.random().toString(36).substring(2,8)}`;s=Object.freeze({updateQueue:`1.2${e}`,observable:`2.2${e}`,contextEvent:`3.2${e}`,elementRegistry:`4.2${e}`})}var n;!function(e){e[e.needsArrayObservation=1101]="needsArrayObservation",e[e.onlySetDOMPolicyOnce=1201]="onlySetDOMPolicyOnce",e[e.bindingInnerHTMLRequiresTrustedTypes=1202]="bindingInnerHTMLRequiresTrustedTypes",e[e.twoWayBindingRequiresObservables=1203]="twoWayBindingRequiresObservables",e[e.hostBindingWithoutHost=1204]="hostBindingWithoutHost",e[e.unsupportedBindingBehavior=1205]="unsupportedBindingBehavior",e[e.directCallToHTMLTagNotAllowed=1206]="directCallToHTMLTagNotAllowed",e[e.onlySetTemplatePolicyOnce=1207]="onlySetTemplatePolicyOnce",e[e.cannotSetTemplatePolicyAfterCompilation=1208]="cannotSetTemplatePolicyAfterCompilation",e[e.blockedByDOMPolicy=1209]="blockedByDOMPolicy",e[e.missingElementDefinition=1401]="missingElementDefinition",e[e.noRegistrationForContext=1501]="noRegistrationForContext",e[e.noFactoryForResolver=1502]="noFactoryForResolver",e[e.invalidResolverStrategy=1503]="invalidResolverStrategy",e[e.cannotAutoregisterDependency=1504]="cannotAutoregisterDependency",e[e.cannotResolveKey=1505]="cannotResolveKey",e[e.cannotConstructNativeFunction=1506]="cannotConstructNativeFunction",e[e.cannotJITRegisterNonConstructor=1507]="cannotJITRegisterNonConstructor",e[e.cannotJITRegisterIntrinsic=1508]="cannotJITRegisterIntrinsic",e[e.cannotJITRegisterInterface=1509]="cannotJITRegisterInterface",e[e.invalidResolver=1510]="invalidResolver",e[e.invalidKey=1511]="invalidKey",e[e.noDefaultResolver=1512]="noDefaultResolver",e[e.cyclicDependency=1513]="cyclicDependency",e[e.connectUpdateRequiresController=1514]="connectUpdateRequiresController"}(n||(n={}));const i=e=>"function"==typeof e,r=e=>"string"==typeof e,o=()=>{};!function(){if("undefined"==typeof globalThis)if("undefined"!=typeof global)global.globalThis=global;else if("undefined"!=typeof self)self.globalThis=self;else if("undefined"!=typeof window)window.globalThis=window;else{const e=new Function("return this")();e.globalThis=e}}(),"requestIdleCallback"in globalThis||(globalThis.requestIdleCallback=function(e,t){const s=Date.now();return setTimeout((()=>{e({didTimeout:!!(null==t?void 0:t.timeout)&&Date.now()-s>=t.timeout,timeRemaining:()=>0})}),1)},globalThis.cancelIdleCallback=function(e){clearTimeout(e)});const a={configurable:!1,enumerable:!1,writable:!1};void 0===globalThis.FAST&&Reflect.defineProperty(globalThis,"FAST",Object.assign({value:Object.create(null)},a));const l=globalThis.FAST;if(void 0===l.getById){const e=Object.create(null);Reflect.defineProperty(l,"getById",Object.assign({value(t,s){let n=e[t];return void 0===n&&(n=s?e[t]=s():null),n}},a))}void 0===l.error&&Object.assign(l,{warn(){},error:e=>new Error(`Error ${e}`),addMessages(){}});const c=Object.freeze([]);function d(){const e=new Map;return Object.freeze({register:t=>!e.has(t.type)&&(e.set(t.type,t),!0),getByType:t=>e.get(t),getForInstance(t){if(null!=t)return e.get(t.constructor)}})}function h(){const e=new WeakMap;return function(t){let s=e.get(t);if(void 0===s){let n=Reflect.getPrototypeOf(t);for(;void 0===s&&null!==n;)s=e.get(n),n=Reflect.getPrototypeOf(n);s=void 0===s?[]:s.slice(0),e.set(t,s)}return s}}function u(e){e.prototype.toJSON=o}const f=Object.freeze({none:0,attribute:1,booleanAttribute:2,property:3,content:4,tokenList:5,event:6}),p=e=>e,g=globalThis.trustedTypes?globalThis.trustedTypes.createPolicy("fast-html",{createHTML:p}):{createHTML:p};let b=Object.freeze({createHTML:e=>g.createHTML(e),protect:(e,t,s,n)=>n});const v=b,m=Object.freeze({get policy(){return b},setPolicy(e){if(b!==v)throw l.error(n.onlySetDOMPolicyOnce);b=e},setAttribute(e,t,s){null==s?e.removeAttribute(t):e.setAttribute(t,s)},setBooleanAttribute(e,t,s){s?e.setAttribute(t,""):e.removeAttribute(t)}});function y(e,t,s,n){return(e,t,s,...i)=>{r(s)&&(s=s.replace(/(javascript:|vbscript:|data:)/,"")),n(e,t,s,...i)}}function w(e,t,s,i){throw l.error(n.blockedByDOMPolicy,{aspectName:s,tagName:null!=e?e:"text"})}const C={onabort:w,onauxclick:w,onbeforeinput:w,onbeforematch:w,onblur:w,oncancel:w,oncanplay:w,oncanplaythrough:w,onchange:w,onclick:w,onclose:w,oncontextlost:w,oncontextmenu:w,oncontextrestored:w,oncopy:w,oncuechange:w,oncut:w,ondblclick:w,ondrag:w,ondragend:w,ondragenter:w,ondragleave:w,ondragover:w,ondragstart:w,ondrop:w,ondurationchange:w,onemptied:w,onended:w,onerror:w,onfocus:w,onformdata:w,oninput:w,oninvalid:w,onkeydown:w,onkeypress:w,onkeyup:w,onload:w,onloadeddata:w,onloadedmetadata:w,onloadstart:w,onmousedown:w,onmouseenter:w,onmouseleave:w,onmousemove:w,onmouseout:w,onmouseover:w,onmouseup:w,onpaste:w,onpause:w,onplay:w,onplaying:w,onprogress:w,onratechange:w,onreset:w,onresize:w,onscroll:w,onsecuritypolicyviolation:w,onseeked:w,onseeking:w,onselect:w,onslotchange:w,onstalled:w,onsubmit:w,onsuspend:w,ontimeupdate:w,ontoggle:w,onvolumechange:w,onwaiting:w,onwebkitanimationend:w,onwebkitanimationiteration:w,onwebkitanimationstart:w,onwebkittransitionend:w,onwheel:w},S={elements:{a:{[f.attribute]:{href:y},[f.property]:{href:y}},area:{[f.attribute]:{href:y},[f.property]:{href:y}},button:{[f.attribute]:{formaction:y},[f.property]:{formAction:y}},embed:{[f.attribute]:{src:w},[f.property]:{src:w}},form:{[f.attribute]:{action:y},[f.property]:{action:y}},frame:{[f.attribute]:{src:y},[f.property]:{src:y}},iframe:{[f.attribute]:{src:y},[f.property]:{src:y,srcdoc:w}},input:{[f.attribute]:{formaction:y},[f.property]:{formAction:y}},link:{[f.attribute]:{href:w},[f.property]:{href:w}},object:{[f.attribute]:{codebase:w,data:w},[f.property]:{codeBase:w,data:w}},script:{[f.attribute]:{src:w,text:w},[f.property]:{src:w,text:w,innerText:w,textContent:w}},style:{[f.property]:{innerText:w,textContent:w}}},aspects:{[f.attribute]:Object.assign({},C),[f.property]:Object.assign({innerHTML:w},C),[f.event]:Object.assign({},C)}};function T(e,t){const s={};for(const n in t){const i=e[n],r=t[n];switch(i){case null:break;case void 0:s[n]=r;break;default:s[n]=i}}for(const t in e)t in s||(s[t]=e[t]);return Object.freeze(s)}function O(e,t){const s={};for(const n in t){const i=e[n],r=t[n];switch(i){case null:break;case void 0:s[n]=T(r,{});break;default:s[n]=T(i,r)}}for(const t in e)t in s||(s[t]=T(e[t],{}));return Object.freeze(s)}function x(e,t){const s={};for(const n in t){const i=e[n],r=t[n];switch(i){case null:break;case void 0:s[n]=O(i,{});break;default:s[n]=O(i,r)}}for(const t in e)t in s||(s[t]=O(e[t],{}));return Object.freeze(s)}function B(e,t,s,n,i){const r=e[s];if(r){const e=r[n];if(e)return e(t,s,n,i)}}const $=Object.freeze({create(e={}){var t,s;const n=null!==(t=e.trustedType)&&void 0!==t?t:function(){const e=e=>e;return globalThis.trustedTypes?globalThis.trustedTypes.createPolicy("fast-html",{createHTML:e}):{createHTML:e}}(),i=(r=null!==(s=e.guards)&&void 0!==s?s:{},o=S,Object.freeze({elements:r.elements?x(r.elements,o.elements):o.elements,aspects:r.aspects?O(r.aspects,o.aspects):o.aspects}));var r,o;return Object.freeze({createHTML:e=>n.createHTML(e),protect(e,t,s,n){var r;const o=(null!=e?e:"").toLowerCase(),a=i.elements[o];if(a){const i=B(a,e,t,s,n);if(i)return i}return null!==(r=B(i.aspects,e,t,s,n))&&void 0!==r?r:n}})}});class N{constructor(e,t){this.sub1=void 0,this.sub2=void 0,this.spillover=void 0,this.subject=e,this.sub1=t}has(e){return void 0===this.spillover?this.sub1===e||this.sub2===e:-1!==this.spillover.indexOf(e)}subscribe(e){const t=this.spillover;if(void 0===t){if(this.has(e))return;if(void 0===this.sub1)return void(this.sub1=e);if(void 0===this.sub2)return void(this.sub2=e);this.spillover=[this.sub1,this.sub2,e],this.sub1=void 0,this.sub2=void 0}else{-1===t.indexOf(e)&&t.push(e)}}unsubscribe(e){const t=this.spillover;if(void 0===t)this.sub1===e?this.sub1=void 0:this.sub2===e&&(this.sub2=void 0);else{const s=t.indexOf(e);-1!==s&&t.splice(s,1)}}notify(e){const t=this.spillover,s=this.subject;if(void 0===t){const t=this.sub1,n=this.sub2;void 0!==t&&t.handleChange(s,e),void 0!==n&&n.handleChange(s,e)}else for(let n=0,i=t.length;n<i;++n)t[n].handleChange(s,e)}}class k{constructor(e){this.subscribers={},this.subjectSubscribers=null,this.subject=e}notify(e){var t,s;null===(t=this.subscribers[e])||void 0===t||t.notify(e),null===(s=this.subjectSubscribers)||void 0===s||s.notify(e)}subscribe(e,t){var s,n;let i;i=t?null!==(s=this.subscribers[t])&&void 0!==s?s:this.subscribers[t]=new N(this.subject):null!==(n=this.subjectSubscribers)&&void 0!==n?n:this.subjectSubscribers=new N(this.subject),i.subscribe(e)}unsubscribe(e,t){var s,n;t?null===(s=this.subscribers[t])||void 0===s||s.unsubscribe(e):null===(n=this.subjectSubscribers)||void 0===n||n.unsubscribe(e)}}const A=l.getById(s.updateQueue,(()=>{const e=[],t=[],s=globalThis.requestAnimationFrame;let n=!0;function i(){if(t.length)throw t.shift()}function r(s){try{s.call()}catch(s){if(!n)throw e.length=0,s;t.push(s),setTimeout(i,0)}}function o(){let t=0;for(;t<e.length;)if(r(e[t]),t++,t>1024){for(let s=0,n=e.length-t;s<n;s++)e[s]=e[s+t];e.length-=t,t=0}e.length=0}function a(t){e.push(t),e.length<2&&(n?s(o):o())}return Object.freeze({enqueue:a,next:()=>new Promise(a),process:o,setMode:e=>n=e})})),E=Object.freeze({unknown:void 0,coupled:1}),M=l.getById(s.observable,(()=>{const e=A.enqueue,t=/(:|&&|\|\||if|\?\.)/,s=new WeakMap;let o,a=e=>{throw l.error(n.needsArrayObservation)};function c(e){var t;let n=null!==(t=e.$fastController)&&void 0!==t?t:s.get(e);return void 0===n&&(Array.isArray(e)?n=a(e):s.set(e,n=new k(e))),n}const d=h();class f{constructor(e){this.name=e,this.field=`_${e}`,this.callback=`${e}Changed`}getValue(e){return void 0!==o&&o.watch(e,this.name),e[this.field]}setValue(e,t){const s=this.field,n=e[s];if(n!==t){e[s]=t;const r=e[this.callback];i(r)&&r.call(e,n,t),c(e).notify(this.name)}}}class p extends N{constructor(e,t,s=!1){super(e,t),this.expression=e,this.isVolatileBinding=s,this.needsRefresh=!0,this.needsQueue=!0,this.isAsync=!0,this.first=this,this.last=null,this.propertySource=void 0,this.propertyName=void 0,this.notifier=void 0,this.next=void 0}setMode(e){this.isAsync=this.needsQueue=e}bind(e){this.controller=e;const t=this.observe(e.source,e.context);return!e.isBound&&this.requiresUnbind(e)&&e.onUnbind(this),t}requiresUnbind(e){return e.sourceLifetime!==E.coupled||this.first!==this.last||this.first.propertySource!==e.source}unbind(e){this.dispose()}observe(e,t){this.needsRefresh&&null!==this.last&&this.dispose();const s=o;let n;o=this.needsRefresh?this:void 0,this.needsRefresh=this.isVolatileBinding;try{n=this.expression(e,t)}finally{o=s}return n}disconnect(){this.dispose()}dispose(){if(null!==this.last){let e=this.first;for(;void 0!==e;)e.notifier.unsubscribe(this,e.propertyName),e=e.next;this.last=null,this.needsRefresh=this.needsQueue=this.isAsync}}watch(e,t){const s=this.last,n=c(e),i=null===s?this.first:{};if(i.propertySource=e,i.propertyName=t,i.notifier=n,n.subscribe(this,t),null!==s){if(!this.needsRefresh){let t;o=void 0,t=s.propertySource[s.propertyName],o=this,e===t&&(this.needsRefresh=!0)}s.next=i}this.last=i}handleChange(){this.needsQueue?(this.needsQueue=!1,e(this)):this.isAsync||this.call()}call(){null!==this.last&&(this.needsQueue=this.isAsync,this.notify(this))}*records(){let e=this.first;for(;void 0!==e;)yield e,e=e.next}}return u(p),Object.freeze({setArrayObserverFactory(e){a=e},getNotifier:c,track(e,t){o&&o.watch(e,t)},trackVolatile(){o&&(o.needsRefresh=!0)},notify(e,t){c(e).notify(t)},defineProperty(e,t){r(t)&&(t=new f(t)),d(e).push(t),Reflect.defineProperty(e,t.name,{enumerable:!0,get(){return t.getValue(this)},set(e){t.setValue(this,e)}})},getAccessors:d,binding(e,t,s=this.isVolatileBinding(e)){return new p(e,t,s)},isVolatileBinding:e=>t.test(e.toString())})}));function I(e,t){M.defineProperty(e,t)}function R(e,t,s){return Object.assign({},s,{get(){return M.trackVolatile(),s.get.apply(this)}})}const j=l.getById(s.contextEvent,(()=>{let e=null;return{get:()=>e,set(t){e=t}}})),V=Object.freeze({default:{index:0,length:0,get event(){return V.getEvent()},eventDetail(){return this.event.detail},eventTarget(){return this.event.target}},getEvent:()=>j.get(),setEvent(e){j.set(e)}});class _{constructor(e,t,s){this.index=e,this.removed=t,this.addedCount=s}adjustTo(e){let t=this.index;const s=e.length;return t>s?t=s-this.addedCount:t<0&&(t=s+this.removed.length+t-this.addedCount),this.index=t<0?0:t,this}}class L{constructor(e){this.sorted=e}}const z=Object.freeze({reset:1,splice:2,optimized:3}),H=new _(0,c,0);H.reset=!0;const F=[H];var P;function D(e,t,s,n,i,r){let o=0,a=0;const l=Math.min(s-t,r-i);if(0===t&&0===i&&(o=function(e,t,s){for(let n=0;n<s;++n)if(e[n]!==t[n])return n;return s}(e,n,l)),s===e.length&&r===n.length&&(a=function(e,t,s){let n=e.length,i=t.length,r=0;for(;r<s&&e[--n]===t[--i];)r++;return r}(e,n,l-o)),i+=o,r-=a,(s-=a)-(t+=o)==0&&r-i==0)return c;if(t===s){const e=new _(t,[],0);for(;i<r;)e.removed.push(n[i++]);return[e]}if(i===r)return[new _(t,[],s-t)];const d=function(e){let t=e.length-1,s=e[0].length-1,n=e[t][s];const i=[];for(;t>0||s>0;){if(0===t){i.push(P.add),s--;continue}if(0===s){i.push(P.delete),t--;continue}const r=e[t-1][s-1],o=e[t-1][s],a=e[t][s-1];let l;l=o<a?o<r?o:r:a<r?a:r,l===r?(r===n?i.push(P.leave):(i.push(P.update),n=r),t--,s--):l===o?(i.push(P.delete),t--,n=o):(i.push(P.add),s--,n=a)}return i.reverse()}(function(e,t,s,n,i,r){const o=r-i+1,a=s-t+1,l=new Array(o);let c,d;for(let e=0;e<o;++e)l[e]=new Array(a),l[e][0]=e;for(let e=0;e<a;++e)l[0][e]=e;for(let s=1;s<o;++s)for(let r=1;r<a;++r)e[t+r-1]===n[i+s-1]?l[s][r]=l[s-1][r-1]:(c=l[s-1][r]+1,d=l[s][r-1]+1,l[s][r]=c<d?c:d);return l}(e,t,s,n,i,r)),h=[];let u,f=t,p=i;for(let e=0;e<d.length;++e)switch(d[e]){case P.leave:void 0!==u&&(h.push(u),u=void 0),f++,p++;break;case P.update:void 0===u&&(u=new _(f,[],0)),u.addedCount++,f++,u.removed.push(n[p]),p++;break;case P.add:void 0===u&&(u=new _(f,[],0)),u.addedCount++,f++;break;case P.delete:void 0===u&&(u=new _(f,[],0)),u.removed.push(n[p]),p++}return void 0!==u&&h.push(u),h}function q(e,t){let s=!1,n=0;for(let l=0;l<t.length;l++){const c=t[l];if(c.index+=n,s)continue;const d=(i=e.index,r=e.index+e.removed.length,o=c.index,a=c.index+c.addedCount,r<o||a<i?-1:r===o||a===i?0:i<o?r<a?r-o:a-o:a<r?a-i:r-i);if(d>=0){t.splice(l,1),l--,n-=c.addedCount-c.removed.length,e.addedCount+=c.addedCount-d;const i=e.removed.length+c.removed.length-d;if(e.addedCount||i){let t=c.removed;if(e.index<c.index){const s=e.removed.slice(0,c.index-e.index);s.push(...t),t=s}if(e.index+e.removed.length>c.index+c.addedCount){const s=e.removed.slice(c.index+c.addedCount-e.index);t.push(...s)}e.removed=t,c.index<e.index&&(e.index=c.index)}else s=!0}else if(e.index<c.index){s=!0,t.splice(l,0,e),l++;const i=e.addedCount-e.removed.length;c.index+=i,n+=i}}var i,r,o,a;s||t.push(e)}!function(e){e[e.leave=0]="leave",e[e.update=1]="update",e[e.add=2]="add",e[e.delete=3]="delete"}(P||(P={}));let U=Object.freeze({support:z.optimized,normalize:(e,t,s)=>void 0===e?void 0===s?c:function(e,t){let s=[];const n=[];for(let e=0,s=t.length;e<s;e++)q(t[e],n);for(let t=0,i=n.length;t<i;++t){const i=n[t];1!==i.addedCount||1!==i.removed.length?s=s.concat(D(e,i.index,i.index+i.addedCount,i.removed,0,i.removed.length)):i.removed[0]!==e[i.index]&&s.push(i)}return s}(t,s):F,pop(e,t,s,n){const i=e.length>0,r=s.apply(e,n);return i&&t.addSplice(new _(e.length,[r],0)),r},push(e,t,s,n){const i=s.apply(e,n);return t.addSplice(new _(e.length-n.length,[],n.length).adjustTo(e)),i},reverse(e,t,s,n){const i=s.apply(e,n);e.sorted++;const r=[];for(let t=e.length-1;t>=0;t--)r.push(t);return t.addSort(new L(r)),i},shift(e,t,s,n){const i=e.length>0,r=s.apply(e,n);return i&&t.addSplice(new _(0,[r],0)),r},sort(e,t,s,n){const i=new Map;for(let t=0,s=e.length;t<s;++t){const s=i.get(e[t])||[];i.set(e[t],[...s,t])}const r=s.apply(e,n);e.sorted++;const o=[];for(let t=0,s=e.length;t<s;++t){const s=i.get(e[t]);o.push(s[0]),i.set(e[t],s.splice(1))}return t.addSort(new L(o)),r},splice(e,t,s,n){const i=s.apply(e,n);return t.addSplice(new _(+n[0],i,n.length>2?n.length-2:0).adjustTo(e)),i},unshift(e,t,s,n){const i=s.apply(e,n);return t.addSplice(new _(0,[],n.length).adjustTo(e)),i}});const W=Object.freeze({reset:F,setDefaultStrategy(e){U=e}});function Q(e,t,s,n=!0){Reflect.defineProperty(e,t,{value:s,enumerable:!1,writable:n})}class J extends N{get strategy(){return this._strategy}set strategy(e){this._strategy=e}get lengthObserver(){let e=this._lengthObserver;if(void 0===e){const t=this.subject;this._lengthObserver=e={length:t.length,handleChange(){this.length!==t.length&&(this.length=t.length,M.notify(e,"length"))}},this.subscribe(e)}return e}get sortObserver(){let e=this._sortObserver;if(void 0===e){const t=this.subject;this._sortObserver=e={sorted:t.sorted,handleChange(){this.sorted!==t.sorted&&(this.sorted=t.sorted,M.notify(e,"sorted"))}},this.subscribe(e)}return e}constructor(e){super(e),this.oldCollection=void 0,this.splices=void 0,this.sorts=void 0,this.needsQueue=!0,this._strategy=null,this._lengthObserver=void 0,this._sortObserver=void 0,this.call=this.flush,Q(e,"$fastController",this)}subscribe(e){this.flush(),super.subscribe(e)}addSplice(e){void 0===this.splices?this.splices=[e]:this.splices.push(e),this.enqueue()}addSort(e){void 0===this.sorts?this.sorts=[e]:this.sorts.push(e),this.enqueue()}reset(e){this.oldCollection=e,this.enqueue()}flush(){var e;const t=this.splices,s=this.sorts,n=this.oldCollection;void 0===t&&void 0===n&&void 0===s||(this.needsQueue=!0,this.splices=void 0,this.sorts=void 0,this.oldCollection=void 0,void 0!==s?this.notify(s):this.notify((null!==(e=this._strategy)&&void 0!==e?e:U).normalize(n,this.subject,t)))}enqueue(){this.needsQueue&&(this.needsQueue=!1,A.enqueue(this))}}let K=!1;const X=Object.freeze({sorted:0,enable(){if(K)return;K=!0,M.setArrayObserverFactory((e=>new J(e)));const e=Array.prototype;e.$fastPatch||(Q(e,"$fastPatch",1),Q(e,"sorted",0),[e.pop,e.push,e.reverse,e.shift,e.sort,e.splice,e.unshift].forEach((t=>{e[t.name]=function(...e){var s;const n=this.$fastController;return void 0===n?t.apply(this,e):(null!==(s=n.strategy)&&void 0!==s?s:U)[t.name](this,n,t,e)}})))}});function G(e){if(!e)return 0;let t=e.$fastController;return void 0===t&&(X.enable(),t=M.getNotifier(e)),M.track(t.lengthObserver,"length"),e.length}function Y(e){if(!e)return 0;let t=e.$fastController;return void 0===t&&(X.enable(),t=M.getNotifier(e)),M.track(t.sortObserver,"sorted"),e.sorted}class Z{constructor(e,t,s=!1){this.evaluate=e,this.policy=t,this.isVolatile=s}}class ee extends Z{createObserver(e){return M.binding(this.evaluate,e,this.isVolatile)}}function te(e,t,s=M.isVolatileBinding(e)){return new ee(e,t,s)}function se(e,t){const s=new ee(e);return s.options=t,s}class ne extends Z{createObserver(){return this}bind(e){return this.evaluate(e.source,e.context)}}function ie(e,t){return new ne(e,t)}function re(e){return i(e)?te(e):e instanceof Z?e:ie((()=>e))}u(ne);const oe=d(),ae=Object.freeze({getForInstance:oe.getForInstance,getByType:oe.getByType,define:e=>(oe.register({type:e}),e)});function le(){return function(e){ae.define(e)}}function ce(e,t,s){t.source.style.setProperty(e.targetAspect,s.bind(t))}class de{constructor(e,t){this.dataBinding=e,this.targetAspect=t}createCSS(e){return e(this),`var(${this.targetAspect})`}addedCallback(e){var t;const s=e.source;if(!s.$cssBindings){s.$cssBindings=new Map;const e=s.setAttribute;s.setAttribute=(t,n)=>{e.call(s,t,n),"style"===t&&s.$cssBindings.forEach(((e,t)=>ce(t,e.controller,e.observer)))}}const n=null!==(t=e[this.targetAspect])&&void 0!==t?t:e[this.targetAspect]=this.dataBinding.createObserver(this,this);n.controller=e,e.source.$cssBindings.set(this,{controller:e,observer:n})}connectedCallback(e){ce(this,e,e[this.targetAspect])}removedCallback(e){e.source.$cssBindings&&e.source.$cssBindings.delete(this)}handleChange(e,t){ce(this,t.controller,t)}}let he;function ue(e){return e.map((e=>e instanceof fe?ue(e.styles):[e])).reduce(((e,t)=>e.concat(t)),[])}ae.define(de);class fe{get strategy(){return null===this._strategy&&this.withStrategy(he),this._strategy}constructor(e){this.styles=e,this.targets=new WeakSet,this._strategy=null,this.behaviors=e.map((e=>e instanceof fe?e.behaviors:null)).reduce(((e,t)=>null===t?e:null===e?t:e.concat(t)),null)}addStylesTo(e){this.strategy.addStylesTo(e),this.targets.add(e)}removeStylesFrom(e){this.strategy.removeStylesFrom(e),this.targets.delete(e)}isAttachedTo(e){return this.targets.has(e)}withBehaviors(...e){return this.behaviors=null===this.behaviors?e:this.behaviors.concat(e),this}withStrategy(e){return this._strategy=new e(ue(this.styles)),this}static setDefaultStrategy(e){he=e}static normalize(e){return void 0===e?void 0:Array.isArray(e)?new fe(e):e instanceof fe?e:new fe([e])}}fe.supportsAdoptedStyleSheets=Array.isArray(document.adoptedStyleSheets)&&"replace"in CSSStyleSheet.prototype;const pe=`${Math.random().toString(36).substring(2,8)}`;let ge=0;const be=()=>`--v${pe}${++ge}`;function ve(e,t){const s=[];let n="";const r=[],o=e=>{r.push(e)};for(let r=0,a=e.length-1;r<a;++r){n+=e[r];let a=t[r];i(a)?a=new de(te(a),be()).createCSS(o):a instanceof Z?a=new de(a,be()).createCSS(o):void 0!==ae.getForInstance(a)&&(a=a.createCSS(o)),a instanceof fe||a instanceof CSSStyleSheet?(""!==n.trim()&&(s.push(n),n=""),s.push(a)):n+=a}return n+=e[e.length-1],""!==n.trim()&&s.push(n),{styles:s,behaviors:r}}const me=(e,...t)=>{const{styles:s,behaviors:n}=ve(e,t),i=new fe(s);return n.length?i.withBehaviors(...n):i};class ye{constructor(e,t){this.behaviors=t,this.css="";const s=e.reduce(((e,t)=>(r(t)?this.css+=t:e.push(t),e)),[]);s.length&&(this.styles=new fe(s))}createCSS(e){return this.behaviors.forEach(e),this.styles&&e(this),this.css}addedCallback(e){e.addStyles(this.styles)}removedCallback(e){e.removeStyles(this.styles)}}ae.define(ye),me.partial=(e,...t)=>{const{styles:s,behaviors:n}=ve(e,t);return new ye(s,n)};const we=`fast-${Math.random().toString(36).substring(2,8)}`,Ce=`${we}{`,Se=`}${we}`,Te=Se.length;let Oe=0;const xe=()=>`${we}-${++Oe}`,Be=Object.freeze({interpolation:e=>`${Ce}${e}${Se}`,attribute:e=>`${xe()}="${Ce}${e}${Se}"`,comment:e=>`\x3c!--${Ce}${e}${Se}--\x3e`}),$e=Object.freeze({parse(e,t){const s=e.split(Ce);if(1===s.length)return null;const n=[];for(let e=0,i=s.length;e<i;++e){const i=s[e],r=i.indexOf(Se);let o;if(-1===r)o=i;else{const e=i.substring(0,r);n.push(t[e]),o=i.substring(r+Te)}""!==o&&n.push(o)}return n}}),Ne=d(),ke=Object.freeze({getForInstance:Ne.getForInstance,getByType:Ne.getByType,define:(e,t)=>((t=t||{}).type=e,Ne.register(t),e),assignAspect(e,t){if(t)switch(e.sourceAspect=t,t[0]){case":":e.targetAspect=t.substring(1),e.aspectType="classList"===e.targetAspect?f.tokenList:f.property;break;case"?":e.targetAspect=t.substring(1),e.aspectType=f.booleanAttribute;break;case"@":e.targetAspect=t.substring(1),e.aspectType=f.event;break;default:e.targetAspect=t,e.aspectType=f.attribute}else e.aspectType=f.content}});function Ae(e){return function(t){ke.define(t,e)}}class Ee{constructor(e){this.options=e}createHTML(e){return Be.attribute(e(this))}createBehavior(){return this}}u(Ee);const Me=e=>1===e.nodeType,Ie=e=>e?t=>1===t.nodeType&&t.matches(e):Me;class Re extends Ee{get id(){return this._id}set id(e){this._id=e,this._controllerProperty=`${e}-c`}bind(e){const t=e.targets[this.targetNodeId];t[this._controllerProperty]=e,this.updateTarget(e.source,this.computeNodes(t)),this.observe(t),e.onUnbind(this)}unbind(e){const t=e.targets[this.targetNodeId];this.updateTarget(e.source,c),this.disconnect(t),t[this._controllerProperty]=null}getSource(e){return e[this._controllerProperty].source}updateTarget(e,t){e[this.options.property]=t}computeNodes(e){let t=this.getNodes(e);return"filter"in this.options&&(t=t.filter(this.options.filter)),t}}class je extends Re{constructor(e){super(e),this.observerProperty=Symbol(),e.childList=!0}observe(e){let t=e[this.observerProperty];if(!t){t=new MutationObserver(((t,s)=>{this.updateTarget(this.getSource(e),this.computeNodes(e))})),t.toJSON=o,e[this.observerProperty]=t}t.observe(e,this.options)}disconnect(e){e[this.observerProperty].disconnect()}getNodes(e){return"selector"in this.options?Array.from(e.querySelectorAll(this.options.selector)):Array.from(e.childNodes)}}function Ve(e){return r(e)&&(e={property:e}),new je(e)}ke.define(je);const _e=/fe-b\$\$start\$\$(\d+)\$\$(.+)\$\$fe-b/,Le=/fe-b\$\$end\$\$(\d+)\$\$(.+)\$\$fe-b/,ze=/fe-repeat\$\$start\$\$(\d+)\$\$fe-repeat/,He=/fe-repeat\$\$end\$\$(\d+)\$\$fe-repeat/,Fe=/^(?:.{0,1000})fe-eb\$\$start\$\$(.+?)\$\$fe-eb/,Pe=/fe-eb\$\$end\$\$(.{0,1000})\$\$fe-eb(?:.{0,1000})$/;function De(e){return e&&e.nodeType===Node.COMMENT_NODE}const qe=Object.freeze({attributeMarkerName:"data-fe-b",compactAttributeMarkerName:"data-fe-c",attributeBindingSeparator:" ",contentBindingStartMarker:(e,t)=>`fe-b$$start$$${e}$$${t}$$fe-b`,contentBindingEndMarker:(e,t)=>`fe-b$$end$$${e}$$${t}$$fe-b`,repeatStartMarker:e=>`fe-repeat$$start$$${e}$$fe-repeat`,repeatEndMarker:e=>`fe-repeat$$end$$${e}$$fe-repeat`,isContentBindingStartMarker:e=>_e.test(e),isContentBindingEndMarker:e=>Le.test(e),isRepeatViewStartMarker:e=>ze.test(e),isRepeatViewEndMarker:e=>He.test(e),isElementBoundaryStartMarker:e=>De(e)&&Fe.test(e.data.trim()),isElementBoundaryEndMarker:e=>De(e)&&Pe.test(e.data),parseAttributeBinding(e){const t=e.getAttribute(this.attributeMarkerName);return null===t?t:t.split(this.attributeBindingSeparator).map((e=>parseInt(e)))},parseEnumeratedAttributeBinding(e){const t=[],s=this.attributeMarkerName.length+1,n=`${this.attributeMarkerName}-`;for(const i of e.getAttributeNames())if(i.startsWith(n)){const e=Number(i.slice(s));if(Number.isNaN(e))throw l.error(1601,{name:i,expectedFormat:`${n}<number>`});t.push(e)}return 0===t.length?null:t},parseCompactAttributeBinding(e){const t=`${this.compactAttributeMarkerName}-`,s=e.getAttributeNames().find((e=>e.startsWith(t)));if(!s)return null;const n=s.slice(t.length).split("-"),i=parseInt(n[0],10),r=parseInt(n[1],10);if(2!==n.length||Number.isNaN(i)||Number.isNaN(r)||i<0||r<1)throw l.error(1604,{name:s,expectedFormat:`${this.compactAttributeMarkerName}-{index}-{count}`});const o=[];for(let e=0;e<r;e++)o.push(i+e);return o},parseContentBindingStartMarker:e=>Qe(_e,e),parseContentBindingEndMarker:e=>Qe(Le,e),parseRepeatStartMarker:e=>Ue(ze,e),parseRepeatEndMarker:e=>Ue(He,e),parseElementBoundaryStartMarker:e=>We(Fe,e.trim()),parseElementBoundaryEndMarker:e=>We(Pe,e)});function Ue(e,t){const s=e.exec(t);return null===s?s:parseInt(s[1])}function We(e,t){const s=e.exec(t);return null===s?s:s[1]}function Qe(e,t){const s=e.exec(t);return null===s?s:[parseInt(s[1]),s[2]]}const Je=Symbol.for("fe-hydration");function Ke(e){return e[Je]===Je}const Xe="defer-hydration";class Ge extends Error{constructor(e,t,s){super(e),this.factories=t,this.node=s}}function Ye(e){return e.nodeType===Node.COMMENT_NODE}function Ze(e){return e.nodeType===Node.TEXT_NODE}function et(e,t){const s=document.createRange();return s.setStart(e,0),s.setEnd(t,Ye(t)||Ze(t)?t.data.length:t.childNodes.length),s}function tt(e,t,s,n){var i,r;const o=null!==(r=null!==(i=qe.parseAttributeBinding(e))&&void 0!==i?i:qe.parseEnumeratedAttributeBinding(e))&&void 0!==r?r:qe.parseCompactAttributeBinding(e);if(null!==o){for(const i of o){const r=t[i+n];if(!r)throw new Ge(`HydrationView was unable to successfully target factory on ${e.nodeName} inside ${e.getRootNode().host.nodeName}. This likely indicates a template mismatch between SSR rendering and hydration.`,t,e);nt(r,e,s)}e.removeAttribute(qe.attributeMarkerName)}}function st(e,t,s,n,i,r){if(qe.isElementBoundaryStartMarker(e))!function(e,t){const s=qe.parseElementBoundaryStartMarker(e.data);let n=t.nextSibling();for(;null!==n;){if(Ye(n)){const e=qe.parseElementBoundaryEndMarker(n.data);if(e&&e===s)break}n=t.nextSibling()}}(e,t);else if(qe.isContentBindingStartMarker(e.data)){const o=qe.parseContentBindingStartMarker(e.data);if(null===o)return;const[a,l]=o,c=s[a+r],d=[];let h=t.nextSibling();e.data="";const u=h;for(;null!==h;){if(Ye(h)){const e=qe.parseContentBindingEndMarker(h.data);if(e&&e[1]===l)break}d.push(h),h=t.nextSibling()}if(null===h){const t=e.getRootNode();throw new Error(`Error hydrating Comment node inside "${function(e){return e instanceof DocumentFragment&&"mode"in e}(t)?t.host.nodeName:t.nodeName}".`)}if(h.data="",1===d.length&&Ze(d[0]))nt(c,d[0],n);else{h!==u&&null!==h.previousSibling&&(i[c.targetNodeId]={first:u,last:h.previousSibling});nt(c,h.parentNode.insertBefore(document.createTextNode(""),h),n)}}}function nt(e,t,s){if(void 0===e.targetNodeId)throw new Error("Factory could not be target to the node");s[e.targetNodeId]=t}var it;function rt(e,t){const s=e.parentNode;let n,i=e;for(;i!==t;){if(n=i.nextSibling,!n)throw new Error(`Unmatched first/last child inside "${t.getRootNode().host.nodeName}".`);s.removeChild(i),i=n}s.removeChild(t)}class ot{constructor(){this.index=0,this.length=0}get event(){return V.getEvent()}get isEven(){return this.index%2==0}get isOdd(){return this.index%2!=0}get isFirst(){return 0===this.index}get isInMiddle(){return!this.isFirst&&!this.isLast}get isLast(){return this.index===this.length-1}eventDetail(){return this.event.detail}eventTarget(){return this.event.target}}class at extends ot{constructor(e,t,s){super(),this.fragment=e,this.factories=t,this.targets=s,this.behaviors=null,this.unbindables=[],this.source=null,this.isBound=!1,this.sourceLifetime=E.unknown,this.context=this,this.firstChild=e.firstChild,this.lastChild=e.lastChild}appendTo(e){e.appendChild(this.fragment)}insertBefore(e){if(this.fragment.hasChildNodes())e.parentNode.insertBefore(this.fragment,e);else{const t=this.lastChild;if(e.previousSibling===t)return;const s=e.parentNode;let n,i=this.firstChild;for(;i!==t;)n=i.nextSibling,s.insertBefore(i,e),i=n;s.insertBefore(t,e)}}remove(){const e=this.fragment,t=this.lastChild;let s,n=this.firstChild;for(;n!==t;)s=n.nextSibling,e.appendChild(n),n=s;e.appendChild(t)}dispose(){rt(this.firstChild,this.lastChild),this.unbind()}onUnbind(e){this.unbindables.push(e)}bind(e,t=this){if(this.source===e)return;let s=this.behaviors;if(null===s){this.source=e,this.context=t,this.behaviors=s=new Array(this.factories.length);const n=this.factories;for(let e=0,t=n.length;e<t;++e){const t=n[e].createBehavior();t.bind(this),s[e]=t}}else{null!==this.source&&this.evaluateUnbindables(),this.isBound=!1,this.source=e,this.context=t;for(let e=0,t=s.length;e<t;++e)s[e].bind(this)}this.isBound=!0}unbind(){this.isBound&&null!==this.source&&(this.evaluateUnbindables(),this.source=null,this.context=this,this.isBound=!1)}evaluateUnbindables(){const e=this.unbindables;for(let t=0,s=e.length;t<s;++t)e[t].unbind(this);e.length=0}static disposeContiguousBatch(e){if(0!==e.length){rt(e[0].firstChild,e[e.length-1].lastChild);for(let t=0,s=e.length;t<s;++t)e[t].unbind()}}}u(at),M.defineProperty(at.prototype,"index"),M.defineProperty(at.prototype,"length");const lt="unhydrated",ct="hydrating",dt="hydrated";class ht extends Error{constructor(e,t,s,n){super(e),this.factory=t,this.fragment=s,this.templateString=n}}it=Je,u(class extends ot{get hydrationStage(){return this._hydrationStage}get targets(){return this._targets}get bindingViewBoundaries(){return this._bindingViewBoundaries}constructor(e,t,s,n){super(),this.firstChild=e,this.lastChild=t,this.sourceTemplate=s,this.hostBindingTarget=n,this[it]=Je,this.context=this,this.source=null,this.isBound=!1,this.sourceLifetime=E.unknown,this.unbindables=[],this.fragment=null,this.behaviors=null,this._hydrationStage=lt,this._bindingViewBoundaries={},this._targets={},this.factories=s.compile().factories}insertBefore(e){if(null!==this.fragment)if(this.fragment.hasChildNodes())e.parentNode.insertBefore(this.fragment,e);else{const t=this.lastChild;if(e.previousSibling===t)return;const s=e.parentNode;let n,i=this.firstChild;for(;i!==t;)n=i.nextSibling,s.insertBefore(i,e),i=n;s.insertBefore(t,e)}}appendTo(e){null!==this.fragment&&e.appendChild(this.fragment)}remove(){const e=this.fragment||(this.fragment=document.createDocumentFragment()),t=this.lastChild;let s,n=this.firstChild;for(;n!==t;){if(s=n.nextSibling,!s)throw new Error(`Unmatched first/last child inside "${t.getRootNode().host.nodeName}".`);e.appendChild(n),n=s}e.appendChild(t)}bind(e,t=this){var s;if(this.hydrationStage!==dt&&(this._hydrationStage=ct),this.source===e)return;let n=this.behaviors;if(null===n){this.source=e,this.context=t;try{const{targets:e,boundaries:t}=function(e,t,s){const n=et(e,t),i=n.commonAncestorContainer,r=function(e){let t=0;for(let s=0,n=e.length;s<n&&"h"===e[s].targetNodeId;++s)t++;return t}(s),o=document.createTreeWalker(i,NodeFilter.SHOW_ELEMENT+NodeFilter.SHOW_COMMENT+NodeFilter.SHOW_TEXT,{acceptNode:e=>0===n.comparePoint(e,0)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}),a={},l={};let c=o.currentNode=e;for(;null!==c;){switch(c.nodeType){case Node.ELEMENT_NODE:tt(c,s,a,r);break;case Node.COMMENT_NODE:st(c,o,s,a,l,r)}c=o.nextNode()}return n.detach(),{targets:a,boundaries:l}}(this.firstChild,this.lastChild,this.factories);this._targets=e,this._bindingViewBoundaries=t}catch(e){if(e instanceof Ge){let t=this.sourceTemplate.html;"string"!=typeof t&&(t=t.innerHTML),e.templateString=t}throw e}this.behaviors=n=new Array(this.factories.length);const i=this.factories;for(let e=0,t=i.length;e<t;++e){const t=i[e];if("h"===t.targetNodeId&&this.hostBindingTarget&&nt(t,this.hostBindingTarget,this._targets),!(t.targetNodeId in this.targets)){let e=this.sourceTemplate.html;"string"!=typeof e&&(e=e.innerHTML);const n=(null===(s=this.firstChild)||void 0===s?void 0:s.getRootNode()).host,i=t,r=[`HydrationView was unable to successfully target bindings inside "<${((null==n?void 0:n.nodeName)||"unknown").toLowerCase()}>".`,"\nMismatch Details:",` - Expected target node ID: "${t.targetNodeId}"`,` - Available target IDs: [${Object.keys(this.targets).join(", ")||"none"}]`];throw t.targetTagName&&r.push(` - Expected tag name: "${t.targetTagName}"`),i.sourceAspect&&r.push(` - Source aspect: "${i.sourceAspect}"`),void 0!==i.aspectType&&r.push(` - Aspect type: ${i.aspectType}`),r.push("\nThis usually means:"," 1. The server-rendered HTML doesn't match the client template"," 2. The hydration markers are missing or corrupted"," 3. The DOM structure was modified before hydration",`\nTemplate: ${e.slice(0,200)}${e.length>200?"...":""}`),new ht(r.join("\n"),t,et(this.firstChild,this.lastChild).cloneContents(),e)}{const s=t.createBehavior();s.bind(this),n[e]=s}}}else{null!==this.source&&this.evaluateUnbindables(),this.isBound=!1,this.source=e,this.context=t;for(let e=0,t=n.length;e<t;++e)n[e].bind(this)}this.isBound=!0,this._hydrationStage=dt}unbind(){this.isBound&&null!==this.source&&(this.evaluateUnbindables(),this.source=null,this.context=this,this.isBound=!1)}dispose(){rt(this.firstChild,this.lastChild),this.unbind()}onUnbind(e){this.unbindables.push(e)}evaluateUnbindables(){const e=this.unbindables;for(let t=0,s=e.length;t<s;++t)e[t].unbind(this);e.length=0}});const ut={[f.attribute]:m.setAttribute,[f.booleanAttribute]:m.setBooleanAttribute,[f.property]:(e,t,s)=>e[t]=s,[f.content]:function(e,t,s,n){if(null==s&&(s=""),function(e){return void 0!==e.create}(s)){e.textContent="";let t=e.$fastView;if(void 0===t)if(Ke(n)&&Ke(s)&&void 0!==n.bindingViewBoundaries[this.targetNodeId]&&n.hydrationStage!==dt){const e=n.bindingViewBoundaries[this.targetNodeId];t=s.hydrate(e.first,e.last)}else t=s.create();else e.$fastTemplate!==s&&(t.isComposed&&(t.remove(),t.unbind()),t=s.create());t.isComposed?t.needsBindOnly&&(t.needsBindOnly=!1,t.bind(n.source,n.context)):(t.isComposed=!0,t.bind(n.source,n.context),t.insertBefore(e),e.$fastView=t,e.$fastTemplate=s)}else{const t=e.$fastView;void 0!==t&&t.isComposed&&(t.isComposed=!1,t.remove(),t.needsBindOnly?t.needsBindOnly=!1:t.unbind()),e.textContent=s}},[f.tokenList]:function(e,t,s){var n;const i=`${this.id}-t`,r=null!==(n=e[i])&&void 0!==n?n:e[i]={v:0,cv:Object.create(null)},o=r.cv;let a=r.v;const l=e[t];if(null!=s&&s.length){const e=s.split(/\s+/);for(let t=0,s=e.length;t<s;++t){const s=e[t];""!==s&&(o[s]=a,l.add(s))}}if(r.v=a+1,0!==a){a-=1;for(const e in o)o[e]===a&&l.remove(e)}},[f.event]:()=>{}};class ft{constructor(e){this.dataBinding=e,this.updateTarget=null,this.aspectType=f.content}createHTML(e){return Be.interpolation(e(this))}createBehavior(){var e;if(null===this.updateTarget){const t=ut[this.aspectType],s=null!==(e=this.dataBinding.policy)&&void 0!==e?e:this.policy;if(!t)throw l.error(n.unsupportedBindingBehavior);this.data=`${this.id}-d`,this.updateTarget=s.protect(this.targetTagName,this.aspectType,this.targetAspect,t)}return this}bind(e){var t;const s=e.targets[this.targetNodeId],n=Ke(e)&&e.hydrationStage&&e.hydrationStage!==dt;switch(this.aspectType){case f.event:s[this.data]=e,s.addEventListener(this.targetAspect,this,this.dataBinding.options);break;case f.content:e.onUnbind(this);default:const i=null!==(t=s[this.data])&&void 0!==t?t:s[this.data]=this.dataBinding.createObserver(this,this);if(i.target=s,i.controller=e,n&&(this.aspectType===f.attribute||this.aspectType===f.booleanAttribute)){i.bind(e);break}this.updateTarget(s,this.targetAspect,i.bind(e),e)}}unbind(e){const t=e.targets[this.targetNodeId].$fastView;void 0!==t&&t.isComposed&&(t.unbind(),t.needsBindOnly=!0)}handleEvent(e){const t=e.currentTarget[this.data];if(t.isBound){V.setEvent(e);const s=this.dataBinding.evaluate(t.source,t.context);V.setEvent(null),!0!==s&&e.preventDefault()}}handleChange(e,t){const s=t.target,n=t.controller;this.updateTarget(s,this.targetAspect,t.bind(n),n)}}ke.define(ft,{aspected:!0});const pt=(e,t)=>`${e}.${t}`,gt={},bt={index:0,node:null};function vt(e){e.startsWith("fast-")||l.warn(n.hostBindingWithoutHost,{name:e})}const mt=new Proxy(document.createElement("div"),{get(e,t){vt(t);const s=Reflect.get(e,t);return i(s)?s.bind(e):s},set:(e,t,s)=>(vt(t),Reflect.set(e,t,s))});class yt{constructor(e,t,s){this.fragment=e,this.directives=t,this.policy=s,this.proto=null,this.nodeIds=new Set,this.descriptors={},this.factories=[]}addFactory(e,t,s,n,i){var r,o;this.nodeIds.has(s)||(this.nodeIds.add(s),this.addTargetDescriptor(t,s,n)),e.id=null!==(r=e.id)&&void 0!==r?r:xe(),e.targetNodeId=s,e.targetTagName=i,e.policy=null!==(o=e.policy)&&void 0!==o?o:this.policy,this.factories.push(e)}freeze(){return this.proto=Object.create(null,this.descriptors),this}addTargetDescriptor(e,t,s){const n=this.descriptors;if("r"===t||"h"===t||n[t])return;if(!n[e]){const t=e.lastIndexOf("."),s=e.substring(0,t),n=parseInt(e.substring(t+1));this.addTargetDescriptor(s,e,n)}let i=gt[t];if(!i){const n=`_${t}`;gt[t]=i={get(){var t;return null!==(t=this[n])&&void 0!==t?t:this[n]=this[e].childNodes[s]}}}n[t]=i}createView(e){const t=this.fragment.cloneNode(!0),s=Object.create(this.proto);s.r=t,s.h=null!=e?e:mt;for(const e of this.nodeIds)s[e];return new at(t,this.factories,s)}}function wt(e,t,s,n,i,r=!1){const o=s.attributes,a=e.directives;for(let l=0,c=o.length;l<c;++l){const d=o[l],h=d.value,u=$e.parse(h,a);let f=null;null===u?r&&(f=new ft(ie((()=>h),e.policy)),ke.assignAspect(f,d.name)):f=Ot.aggregate(u,e.policy),null!==f&&(s.removeAttributeNode(d),l--,c--,e.addFactory(f,t,n,i,s.tagName))}}function Ct(e,t,s){let n=0,i=t.firstChild;for(;i;){const t=St(e,s,i,n);i=t.node,n=t.index}}function St(e,t,s,n){const i=pt(t,n);switch(s.nodeType){case 1:wt(e,t,s,i,n),Ct(e,s,i);break;case 3:return function(e,t,s,n,i){const o=$e.parse(t.textContent,e.directives);if(null===o)return bt.node=t.nextSibling,bt.index=i+1,bt;let a,l=a=t;for(let t=0,c=o.length;t<c;++t){const c=o[t];0!==t&&(i++,n=pt(s,i),a=l.parentNode.insertBefore(document.createTextNode(""),l.nextSibling)),r(c)?a.textContent=c:(a.textContent=" ",ke.assignAspect(c),e.addFactory(c,s,n,i,null)),l=a}return bt.index=i+1,bt.node=l.nextSibling,bt}(e,s,t,i,n);case 8:const o=$e.parse(s.data,e.directives);null!==o&&e.addFactory(Ot.aggregate(o),t,i,n,null)}return bt.index=n+1,bt.node=s.nextSibling,bt}const Tt="TEMPLATE",Ot={compile(e,t,s=m.policy){let n;if(r(e)){n=document.createElement(Tt),n.innerHTML=s.createHTML(e);const t=n.content.firstElementChild;null!==t&&t.tagName===Tt&&(n=t)}else n=e;n.content.firstChild||n.content.lastChild||n.content.appendChild(document.createComment(""));const i=document.adoptNode(n.content),o=new yt(i,t,s);var a,l;return wt(o,"",n,"h",0,!0),a=i.firstChild,l=t,(a&&8==a.nodeType&&null!==$e.parse(a.data,l)||1===i.childNodes.length&&Object.keys(t).length>0)&&i.insertBefore(document.createComment(""),i.firstChild),Ct(o,i,"r"),bt.node=null,o.freeze()},setDefaultStrategy(e){this.compile=e},aggregate(e,t=m.policy){if(1===e.length)return e[0];let s,n,i=!1;const o=e.length,a=e.map((e=>r(e)?()=>e:(s=e.sourceAspect||s,i=i||e.dataBinding.isVolatile,n=n||e.dataBinding.policy,e.dataBinding.evaluate))),l=new ft(te(((e,t)=>{let s="";for(let n=0;n<o;++n)s+=a[n](e,t);return s}),null!=n?n:t,i));return ke.assignAspect(l,s),l}};class xt extends Ee{bind(e){e.source[this.options]=e.targets[this.targetNodeId]}}ke.define(xt);const Bt=e=>new xt(e);function $t(e,t,s,n){return new(s||(s=Promise))((function(i,r){function o(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,a)}l((n=n.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const Nt="boolean",kt="reflect",At=Object.freeze({locate:h()}),Et={toView:e=>e?"true":"false",fromView:e=>!(null==e||"false"===e||!1===e||0===e)},Mt={toView:e=>"boolean"==typeof e?e.toString():"",fromView:e=>[null,void 0,void 0].includes(e)?null:Et.fromView(e)};function It(e){if(null==e)return null;const t=1*e;return isNaN(t)?null:t}const Rt={toView(e){const t=It(e);return t?t.toString():t},fromView:It};class jt{constructor(e,t,s=t.toLowerCase(),n=kt,i){this.guards=new Set,this.Owner=e,this.name=t,this.attribute=s,this.mode=n,this.converter=i,this.fieldName=`_${t}`,this.callbackName=`${t}Changed`,this.hasCallback=this.callbackName in e.prototype,n===Nt&&void 0===i&&(this.converter=Et)}setValue(e,t){const s=e[this.fieldName],n=this.converter;void 0!==n&&(t=n.fromView(t)),s!==t&&(e[this.fieldName]=t,this.tryReflectToAttribute(e),this.hasCallback&&e[this.callbackName](s,t),e.$fastController.notify(this.name))}getValue(e){return M.track(e,this.name),e[this.fieldName]}onAttributeChangedCallback(e,t){this.guards.has(e)||(this.guards.add(e),this.setValue(e,t),this.guards.delete(e))}tryReflectToAttribute(e){const t=this.mode,s=this.guards;s.has(e)||"fromView"===t||A.enqueue((()=>{s.add(e);const n=e[this.fieldName];switch(t){case kt:const t=this.converter;m.setAttribute(e,this.attribute,void 0!==t?t.toView(n):n);break;case Nt:m.setBooleanAttribute(e,this.attribute,n)}s.delete(e)}))}static collect(e,...t){const s=[];t.push(At.locate(e));for(let n=0,i=t.length;n<i;++n){const i=t[n];if(void 0!==i)for(let t=0,n=i.length;t<n;++t){const n=i[t];r(n)?s.push(new jt(e,n)):s.push(new jt(e,n.property,n.attribute,n.mode,n.converter))}}return s}}function Vt(e,t){let s;function n(e,t){arguments.length>1&&(s.property=t),At.locate(e.constructor).push(s)}return arguments.length>1?(s={},void n(e,t)):(s=void 0===e?{}:e,n)}var _t;const Lt={mode:"open"},zt={},Ht=new Set,Ft=l.getById(s.elementRegistry,(()=>d())),Pt={deferAndHydrate:"defer-and-hydrate"};class Dt{get isDefined(){return this.platformDefined}constructor(e,t=e.definition){var s;this.platformDefined=!1,r(t)&&(t={name:t}),this.type=e,this.name=t.name,this.template=t.template,this.templateOptions=t.templateOptions,this.registry=null!==(s=t.registry)&&void 0!==s?s:customElements;const n=e.prototype,i=jt.collect(e,t.attributes),o=new Array(i.length),a={},l={};for(let e=0,t=i.length;e<t;++e){const t=i[e];o[e]=t.attribute,a[t.name]=t,l[t.attribute]=t,M.defineProperty(n,t)}Reflect.defineProperty(e,"observedAttributes",{value:o,enumerable:!0}),this.attributes=i,this.propertyLookup=a,this.attributeLookup=l,this.shadowOptions=void 0===t.shadowOptions?Lt:null===t.shadowOptions?void 0:Object.assign(Object.assign({},Lt),t.shadowOptions),this.elementOptions=void 0===t.elementOptions?zt:Object.assign(Object.assign({},zt),t.elementOptions),this.styles=fe.normalize(t.styles),Ft.register(this),M.defineProperty(_t.isRegistered,this.name),_t.isRegistered[this.name]=this.type}define(e=this.registry){var t,s;const n=this.type;return e.get(this.name)||(this.platformDefined=!0,e.define(this.name,n,this.elementOptions),null===(s=null===(t=this.lifecycleCallbacks)||void 0===t?void 0:t.elementDidDefine)||void 0===s||s.call(t,this.name)),this}static compose(e,t){return Ht.has(e)||Ft.getByType(e)?new _t(class extends e{},t):new _t(e,t)}static registerBaseType(e){Ht.add(e)}static composeAsync(e,t){return new Promise((s=>{(Ht.has(e)||Ft.getByType(e))&&s(new _t(class extends e{},t));const n=new _t(e,t);M.getNotifier(n).subscribe({handleChange:()=>{var e,t;null===(t=null===(e=n.lifecycleCallbacks)||void 0===e?void 0:e.templateDidUpdate)||void 0===t||t.call(e,n.name),s(n)}},"template")}))}}_t=Dt,Dt.isRegistered={},Dt.getByType=Ft.getByType,Dt.getForInstance=Ft.getForInstance,Dt.registerAsync=e=>$t(void 0,void 0,void 0,(function*(){return new Promise((t=>{_t.isRegistered[e]&&t(_t.isRegistered[e]),M.getNotifier(_t.isRegistered).subscribe({handleChange:()=>t(_t.isRegistered[e])},e)}))})),M.defineProperty(Dt.prototype,"template");const qt=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/,Ut=Object.create(null);class Wt{constructor(e,t=Ut){this.html=e,this.factories=t}createHTML(e){const t=this.factories;for(const s in t)e(t[s]);return this.html}}function Qt(e,t,s,n=ke.getForInstance(e)){if(n.aspected){const s=qt.exec(t);null!==s&&ke.assignAspect(e,s[2])}return e.createHTML(s)}Wt.empty=new Wt(""),ke.define(Wt);class Jt{constructor(e,t={},s){this.policy=s,this.result=null,this.html=e,this.factories=t}compile(){return null===this.result&&(this.result=Ot.compile(this.html,this.factories,this.policy)),this.result}create(e){return this.compile().createView(e)}inline(){return new Wt(r(this.html)?this.html:this.html.innerHTML,this.factories)}withPolicy(e){if(this.result)throw l.error(n.cannotSetTemplatePolicyAfterCompilation);if(this.policy)throw l.error(n.onlySetTemplatePolicyOnce);return this.policy=e,this}render(e,t,s){const n=this.create(s);return n.bind(e),n.appendTo(t),n}static create(e,t,s){let n="";const r=Object.create(null),o=e=>{var t;const s=null!==(t=e.id)&&void 0!==t?t:e.id=xe();return r[s]=e,s};for(let s=0,r=e.length-1;s<r;++s){const r=e[s];let a,l=t[s];if(n+=r,i(l))l=new ft(te(l));else if(l instanceof Z)l=new ft(l);else if(!(a=ke.getForInstance(l))){const e=l;l=new ft(ie((()=>e)))}n+=Qt(l,r,o,a)}return new Jt(n+e[e.length-1],r,s)}}u(Jt);const Kt=(e,...t)=>{if(Array.isArray(e)&&Array.isArray(e.raw))return Jt.create(e,t);throw l.error(n.directCallToHTMLTagNotAllowed)};Kt.partial=e=>new Wt(e);class Xt{constructor(e){this.directive=e,this.location=null,this.controller=null,this.view=null,this.data=null,this.dataBindingObserver=e.dataBinding.createObserver(this,e),this.templateBindingObserver=e.templateBinding.createObserver(this,e)}bind(e){if(this.location=e.targets[this.directive.targetNodeId],this.controller=e,this.data=this.dataBindingObserver.bind(e),this.template=this.templateBindingObserver.bind(e),e.onUnbind(this),Ke(this.template)&&Ke(e)&&e.hydrationStage!==dt&&!this.view){const t=e.bindingViewBoundaries[this.directive.targetNodeId];t&&(this.view=this.template.hydrate(t.first,t.last),this.bindView(this.view))}else this.refreshView()}unbind(e){const t=this.view;null!==t&&t.isComposed&&(t.unbind(),t.needsBindOnly=!0)}handleChange(e,t){t===this.dataBindingObserver&&(this.data=this.dataBindingObserver.bind(this.controller)),(this.directive.templateBindingDependsOnData||t===this.templateBindingObserver)&&(this.template=this.templateBindingObserver.bind(this.controller)),this.refreshView()}bindView(e){e.isComposed?e.needsBindOnly&&(e.needsBindOnly=!1,e.bind(this.data)):(e.isComposed=!0,e.bind(this.data),e.insertBefore(this.location),e.$fastTemplate=this.template)}refreshView(){let e=this.view;const t=this.template;null===e?(this.view=e=t.create(),this.view.context.parent=this.controller.source,this.view.context.parentContext=this.controller.context):e.$fastTemplate!==t&&(e.isComposed&&(e.remove(),e.unbind()),this.view=e=t.create(),this.view.context.parent=this.controller.source,this.view.context.parentContext=this.controller.context),this.bindView(e)}}class Gt{constructor(e,t,s){this.dataBinding=e,this.templateBinding=t,this.templateBindingDependsOnData=s}createHTML(e){return Be.comment(e(this))}createBehavior(){return new Xt(this)}}ke.define(Gt);const Yt=new Map,Zt={":model":e=>e},es=Symbol("RenderInstruction"),ts="default-view",ss=Kt`
2
2
  &nbsp;
3
3
  `;function ns(e){return void 0===e?ss:e.template}function is(e,t){const s=[],n=[],{attributes:r,directives:o,content:a,policy:l}=null!=t?t:{};if(s.push(`<${e}`),r){const e=Object.getOwnPropertyNames(r);for(let t=0,i=e.length;t<i;++t){const i=e[t];0===t?s[0]=`${s[0]} ${i}="`:s.push(`" ${i}="`),n.push(r[i])}s.push('"')}if(o){s[s.length-1]+=" ";for(let e=0,t=o.length;e<t;++e){const t=o[e];s.push(e>0?"":" "),n.push(t)}}if(s[s.length-1]+=">",a&&i(a.create))n.push(a),s.push(`</${e}>`);else{const t=s.length-1;s[t]=`${s[t]}${null!=a?a:""}</${e}>`}return Jt.create(s,n,l)}function rs(e){var t;const s=null!==(t=e.name)&&void 0!==t?t:ts;let n;if((i=e).element||i.tagName){let t=e.tagName;if(!t){const s=Dt.getByType(e.element);if(!s)throw new Error("Invalid element for model rendering.");t=s.name}e.attributes||(e.attributes=Zt),n=is(t,e)}else n=e.template;var i;return{brand:es,type:e.type,name:s,template:n}}function os(e){return e&&e.brand===es}function as(e,t){const s=Yt.get(e);if(void 0!==s)return s[null!=t?t:ts]}function ls(e,t){if(e)return as(e.constructor,t)}Object.freeze({instanceOf:os,create:rs,createElementTemplate:is,register:function(e){let t=Yt.get(e.type);void 0===t&&Yt.set(e.type,t=Object.create(null));const s=os(e)?e:rs(e);return t[s.name]=s},getByType:as,getForInstance:ls});class cs{constructor(e){this.node=e,e.$fastTemplate=this}get context(){return this}bind(e){}unbind(){}insertBefore(e){e.parentNode.insertBefore(this.node,e)}remove(){this.node.parentNode.removeChild(this.node)}create(){return this}hydrate(e,t){return this}}function ds(e,t){let s,n;s=void 0===e?ie((e=>e)):re(e);let o=!1;if(void 0===t)o=!0,n=ie(((e,t)=>{var n;const i=s.evaluate(e,t);return i instanceof Node?null!==(n=i.$fastTemplate)&&void 0!==n?n:new cs(i):ns(ls(i))}));else if(i(t))n=te(((e,n)=>{var i;let o=t(e,n);return r(o)?o=ns(ls(s.evaluate(e,n),o)):o instanceof Node&&(o=null!==(i=o.$fastTemplate)&&void 0!==i?i:new cs(o)),o}),void 0,!0);else if(r(t))o=!0,n=ie(((e,n)=>{var i;const r=s.evaluate(e,n);return r instanceof Node?null!==(i=r.$fastTemplate)&&void 0!==i?i:new cs(r):ns(ls(r,t))}));else if(t instanceof Z){const e=t.evaluate;t.evaluate=(t,n)=>{var i;let o=e(t,n);return r(o)?o=ns(ls(s.evaluate(t,n),o)):o instanceof Node&&(o=null!==(i=o.$fastTemplate)&&void 0!==i?i:new cs(o)),o},n=t}else n=ie(((e,s)=>t));return new Gt(s,n,o)}const hs=Object.freeze({positioning:!1,recycle:!0});function us(e,t,s,n){e.context.parent=n.source,e.context.parentContext=n.context,e.bind(t[s])}function fs(e,t,s,n){e.context.parent=n.source,e.context.parentContext=n.context,e.context.length=t.length,e.context.index=s,e.bind(t[s])}function ps(e){return e.nodeType===Node.COMMENT_NODE}class gs extends Error{constructor(e,t){super(e),this.propertyBag=t}}class bs{constructor(e){this.directive=e,this.items=null,this.itemsObserver=null,this.bindView=us,this.views=[],this.itemsBindingObserver=e.dataBinding.createObserver(this,e),this.templateBindingObserver=e.templateBinding.createObserver(this,e),e.options.positioning&&(this.bindView=fs)}bind(e){this.location=e.targets[this.directive.targetNodeId],this.controller=e,this.items=this.itemsBindingObserver.bind(e),this.template=this.templateBindingObserver.bind(e),this.observeItems(!0),Ke(this.template)&&Ke(e)&&e.hydrationStage!==dt?this.hydrateViews(this.template):this.refreshAllViews(),e.onUnbind(this)}unbind(){null!==this.itemsObserver&&this.itemsObserver.unsubscribe(this),this.unbindAllViews()}handleChange(e,t){if(t===this.itemsBindingObserver)this.items=this.itemsBindingObserver.bind(this.controller),this.observeItems(),this.refreshAllViews();else if(t===this.templateBindingObserver)this.template=this.templateBindingObserver.bind(this.controller),this.refreshAllViews(!0);else{if(!t[0])return;t[0].reset?this.refreshAllViews():t[0].sorted?this.updateSortedViews(t):this.updateSplicedViews(t)}}observeItems(e=!1){if(!this.items)return void(this.items=c);const t=this.itemsObserver,s=this.itemsObserver=M.getNotifier(this.items),n=t!==s;n&&null!==t&&t.unsubscribe(this),(n||e)&&s.subscribe(this)}updateSortedViews(e){const t=this.views;for(let s=0,n=e.length;s<n;++s){const n=e[s].sorted.slice(),i=n.slice().sort();for(let e=0,s=n.length;e<s;++e){const s=n.find((t=>n[e]===i[t]));if(s!==e){const n=i.splice(s,1);i.splice(e,0,...n);const r=t[e],o=r?r.firstChild:this.location;t[s].remove(),t[s].insertBefore(o);const a=t.splice(s,1);t.splice(e,0,...a)}}}}updateSplicedViews(e){const t=this.views,s=this.bindView,n=this.items,i=this.template,r=this.controller,o=this.directive.options.recycle,a=[];let l=0,c=0;for(let d=0,h=e.length;d<h;++d){const h=e[d],u=h.removed;let f=0,p=h.index;const g=p+h.addedCount,b=t.splice(h.index,u.length),v=c=a.length+b.length;for(;p<g;++p){const e=t[p],d=e?e.firstChild:this.location;let h;o&&c>0?(f<=v&&b.length>0?(h=b[f],f++):(h=a[l],l++),c--):h=i.create(),t.splice(p,0,h),s(h,n,p,r),h.insertBefore(d)}b[f]&&a.push(...b.slice(f))}for(let e=l,t=a.length;e<t;++e)a[e].dispose();if(this.directive.options.positioning)for(let e=0,s=t.length;e<s;++e){const n=t[e].context;n.length=s,n.index=e}}refreshAllViews(e=!1){const t=this.items,s=this.template,n=this.location,i=this.bindView,r=this.controller;let o=t.length,a=this.views,l=a.length;if(0!==o&&!e&&this.directive.options.recycle||(at.disposeContiguousBatch(a),l=0),0===l){this.views=a=new Array(o);for(let e=0;e<o;++e){const o=s.create();i(o,t,e,r),a[e]=o,o.insertBefore(n)}}else{let e=0;for(;e<o;++e)if(e<l){const n=a[e];if(!n){const t=new XMLSerializer;throw new gs(`View is null or undefined inside "${this.location.getRootNode().host.nodeName}".`,{index:e,hydrationStage:this.controller.hydrationStage,itemsLength:o,viewsState:a.map((e=>e?"hydrated":"empty")),viewTemplateString:t.serializeToString(s.create().fragment),rootNodeContent:t.serializeToString(this.location.getRootNode())})}i(n,t,e,r)}else{const o=s.create();i(o,t,e,r),a.push(o),o.insertBefore(n)}const c=a.splice(e,l-e);for(e=0,o=c.length;e<o;++e)c[e].dispose()}}unbindAllViews(){const e=this.views;for(let t=0,s=e.length;t<s;++t){const s=e[t];if(!s){const s=new XMLSerializer;throw new gs(`View is null or undefined inside "${this.location.getRootNode().host.nodeName}".`,{index:t,hydrationStage:this.controller.hydrationStage,viewsState:e.map((e=>e?"hydrated":"empty")),rootNodeContent:s.serializeToString(this.location.getRootNode())})}s.unbind()}}hydrateViews(e){if(!this.items)return;this.views=new Array(this.items.length);let t=this.location.previousSibling;for(;null!==t;){if(!ps(t)){t=t.previousSibling;continue}const s=qe.parseRepeatEndMarker(t.data);if(null===s){t=t.previousSibling;continue}t.data="";const n=t.previousSibling;if(!n)throw new Error(`Error when hydrating inside "${this.location.getRootNode().host.nodeName}": end should never be null.`);let i=n,r=0;for(;null!==i;){if(ps(i))if(qe.isRepeatViewEndMarker(i.data))r++;else if(qe.isRepeatViewStartMarker(i.data)){if(!r){if(qe.parseRepeatStartMarker(i.data)!==s)throw new Error(`Error when hydrating inside "${this.location.getRootNode().host.nodeName}": Mismatched start and end markers.`);i.data="",t=i.previousSibling,i=i.nextSibling;const r=e.hydrate(i,n);this.views[s]=r,this.bindView(r,this.items,s,this.controller);break}r--}i=i.previousSibling}if(!i)throw new Error(`Error when hydrating inside "${this.location.getRootNode().host.nodeName}": start should never be null.`)}}}class vs{createHTML(e){return Be.comment(e(this))}constructor(e,t,s){this.dataBinding=e,this.templateBinding=t,this.options=s,X.enable()}createBehavior(){return new bs(this)}}function ms(e,t,s=hs){const n=re(e),i=re(t);return new vs(n,i,Object.assign(Object.assign({},hs),s))}ke.define(vs);const ys="slotchange";class ws extends Re{observe(e){e.addEventListener(ys,this)}disconnect(e){e.removeEventListener(ys,this)}getNodes(e){return e.assignedNodes(this.options)}handleEvent(e){const t=e.currentTarget;this.updateTarget(this.getSource(t),this.computeNodes(t))}}function Cs(e){return r(e)&&(e={property:e}),new ws(e)}ke.define(ws);const Ss=()=>null;function Ts(e){return void 0===e?Ss:i(e)?e:()=>e}function Os(e,t,s){const n=i(e)?e:()=>e,r=Ts(t),o=Ts(s);return(e,t)=>n(e,t)?r(e,t):o(e,t)}class xs extends MutationObserver{constructor(e){super((function(e){this.callback.call(null,e.filter((e=>this.observedNodes.has(e.target))))})),this.callback=e,this.observedNodes=new Set}observe(e,t){this.observedNodes.add(e),super.observe(e,t)}unobserve(e){this.observedNodes.delete(e),this.observedNodes.size<1&&this.disconnect()}}Object.freeze({create(e){const t=[],s={};let n=null,i=!1;return{source:e,context:V.default,targets:s,get isBound(){return i},addBehaviorFactory(e,t){var s,n,i,r;const o=e;o.id=null!==(s=o.id)&&void 0!==s?s:xe(),o.targetNodeId=null!==(n=o.targetNodeId)&&void 0!==n?n:xe(),o.targetTagName=null!==(i=t.tagName)&&void 0!==i?i:null,o.policy=null!==(r=o.policy)&&void 0!==r?r:m.policy,this.addTarget(o.targetNodeId,t),this.addBehavior(o.createBehavior())},addTarget(e,t){s[e]=t},addBehavior(e){t.push(e),i&&e.bind(this)},onUnbind(e){null===n&&(n=[]),n.push(e)},connectedCallback(e){i||(i=!0,t.forEach((e=>e.bind(this))))},disconnectedCallback(e){i&&(i=!1,null!==n&&n.forEach((e=>e.unbind(this))))}}}});const Bs={bubbles:!0,composed:!0,cancelable:!0},$s="isConnected",Ns=new WeakMap;function ks(e){var t,s;return null!==(s=null!==(t=e.shadowRoot)&&void 0!==t?t:Ns.get(e))&&void 0!==s?s:null}let As;var Es;!function(e){e[e.connecting=0]="connecting",e[e.connected=1]="connected",e[e.disconnecting=2]="disconnecting",e[e.disconnected=3]="disconnected"}(Es||(Es={}));class Ms extends k{get isConnected(){return M.track(this,$s),this.stage===Es.connected}get context(){var e,t;return null!==(t=null===(e=this.view)||void 0===e?void 0:e.context)&&void 0!==t?t:V.default}get isBound(){var e,t;return null!==(t=null===(e=this.view)||void 0===e?void 0:e.isBound)&&void 0!==t&&t}get sourceLifetime(){var e;return null===(e=this.view)||void 0===e?void 0:e.sourceLifetime}get template(){var e;if(null===this._template){const t=this.definition;this.source.resolveTemplate?this._template=this.source.resolveTemplate():t.template&&(this._template=null!==(e=t.template)&&void 0!==e?e:null)}return this._template}set template(e){this._template!==e&&(this._template=e,this.needsInitialization||this.renderTemplate(e))}get shadowOptions(){return this._shadowRootOptions}set shadowOptions(e){if(void 0===this._shadowRootOptions&&void 0!==e){this._shadowRootOptions=e;let t=this.source.shadowRoot;t?this.hasExistingShadowRoot=!0:(t=this.source.attachShadow(e),"closed"===e.mode&&Ns.set(this.source,t))}}get mainStyles(){var e;if(null===this._mainStyles){const t=this.definition;this.source.resolveStyles?this._mainStyles=this.source.resolveStyles():t.styles&&(this._mainStyles=null!==(e=t.styles)&&void 0!==e?e:null)}return this._mainStyles}set mainStyles(e){this._mainStyles!==e&&(null!==this._mainStyles&&this.removeStyles(this._mainStyles),this._mainStyles=e,this.needsInitialization||this.addStyles(e))}constructor(e,t){super(e),this.boundObservables=null,this.needsInitialization=!0,this.hasExistingShadowRoot=!1,this._template=null,this.stage=Es.disconnected,this.guardBehaviorConnection=!1,this.behaviors=null,this.behaviorsConnected=!1,this._mainStyles=null,this.$fastController=this,this.view=null,this.source=e,this.definition=t,this.shadowOptions=t.shadowOptions;const s=M.getAccessors(e);if(s.length>0){const t=this.boundObservables=Object.create(null);for(let n=0,i=s.length;n<i;++n){const i=s[n].name,r=e[i];void 0!==r&&(delete e[i],t[i]=r)}}}onUnbind(e){var t;null===(t=this.view)||void 0===t||t.onUnbind(e)}addBehavior(e){var t,s;const n=null!==(t=this.behaviors)&&void 0!==t?t:this.behaviors=new Map,i=null!==(s=n.get(e))&&void 0!==s?s:0;0===i?(n.set(e,1),e.addedCallback&&e.addedCallback(this),!e.connectedCallback||this.guardBehaviorConnection||this.stage!==Es.connected&&this.stage!==Es.connecting||e.connectedCallback(this)):n.set(e,i+1)}removeBehavior(e,t=!1){const s=this.behaviors;if(null===s)return;const n=s.get(e);void 0!==n&&(1===n||t?(s.delete(e),e.disconnectedCallback&&this.stage!==Es.disconnected&&e.disconnectedCallback(this),e.removedCallback&&e.removedCallback(this)):s.set(e,n-1))}addStyles(e){var t;if(!e)return;const s=this.source;if(e instanceof HTMLElement){(null!==(t=ks(s))&&void 0!==t?t:this.source).append(e)}else if(!e.isAttachedTo(s)){const t=e.behaviors;if(e.addStylesTo(s),null!==t)for(let e=0,s=t.length;e<s;++e)this.addBehavior(t[e])}}removeStyles(e){var t;if(!e)return;const s=this.source;if(e instanceof HTMLElement){(null!==(t=ks(s))&&void 0!==t?t:s).removeChild(e)}else if(e.isAttachedTo(s)){const t=e.behaviors;if(e.removeStylesFrom(s),null!==t)for(let e=0,s=t.length;e<s;++e)this.removeBehavior(t[e])}}connect(){this.stage===Es.disconnected&&(this.stage=Es.connecting,this.bindObservables(),this.connectBehaviors(),this.needsInitialization?(this.renderTemplate(this.template),this.addStyles(this.mainStyles),this.needsInitialization=!1):null!==this.view&&this.view.bind(this.source),this.stage=Es.connected,M.notify(this,$s))}bindObservables(){if(null!==this.boundObservables){const e=this.source,t=this.boundObservables,s=Object.keys(t);for(let n=0,i=s.length;n<i;++n){const i=s[n];e[i]=t[i]}this.boundObservables=null}}connectBehaviors(){if(!1===this.behaviorsConnected){const e=this.behaviors;if(null!==e){this.guardBehaviorConnection=!0;for(const t of e.keys())t.connectedCallback&&t.connectedCallback(this);this.guardBehaviorConnection=!1}this.behaviorsConnected=!0}}disconnectBehaviors(){if(!0===this.behaviorsConnected){const e=this.behaviors;if(null!==e)for(const t of e.keys())t.disconnectedCallback&&t.disconnectedCallback(this);this.behaviorsConnected=!1}}disconnect(){this.stage===Es.connected&&(this.stage=Es.disconnecting,M.notify(this,$s),null!==this.view&&this.view.unbind(),this.disconnectBehaviors(),this.stage=Es.disconnected)}onAttributeChangedCallback(e,t,s){const n=this.definition.attributeLookup[e];void 0!==n&&n.onAttributeChangedCallback(this.source,s)}emit(e,t,s){return this.stage===Es.connected&&this.source.dispatchEvent(new CustomEvent(e,Object.assign(Object.assign({detail:t},Bs),s)))}renderTemplate(e){var t;const s=this.source,n=null!==(t=ks(s))&&void 0!==t?t:s;if(null!==this.view)this.view.dispose(),this.view=null;else if(!this.needsInitialization||this.hasExistingShadowRoot){this.hasExistingShadowRoot=!1;for(let e=n.firstChild;null!==e;e=n.firstChild)n.removeChild(e)}e&&(this.view=e.render(s,n,s),this.view.sourceLifetime=E.coupled)}static forCustomElement(e,t=!1){const s=e.$fastController;if(void 0!==s&&!t)return s;const i=Dt.getForInstance(e);if(void 0===i)throw l.error(n.missingElementDefinition);return M.getNotifier(i).subscribe({handleChange:()=>{Ms.forCustomElement(e,!0),e.$fastController.connect()}},"template"),M.getNotifier(i).subscribe({handleChange:()=>{Ms.forCustomElement(e,!0),e.$fastController.connect()}},"shadowOptions"),e.$fastController=new As(e,i)}static setStrategy(e){As=e}}function Is(e){var t;return"adoptedStyleSheets"in e?e:null!==(t=ks(e))&&void 0!==t?t:e.getRootNode()}u(Ms),Ms.setStrategy(Ms);class Rs{constructor(e){const t=Rs.styleSheetCache;this.sheets=e.map((e=>{if(e instanceof CSSStyleSheet)return e;let s=t.get(e);return void 0===s&&(s=new CSSStyleSheet,s.replaceSync(e),t.set(e,s)),s}))}addStylesTo(e){Ls(Is(e),this.sheets)}removeStylesFrom(e){zs(Is(e),this.sheets)}}Rs.styleSheetCache=new Map;let js=0;function Vs(e){return e===document?document.body:e}class _s{constructor(e){this.styles=e,this.styleClass="fast-"+ ++js}addStylesTo(e){e=Vs(Is(e));const t=this.styles,s=this.styleClass;for(let n=0;n<t.length;n++){const i=document.createElement("style");i.innerHTML=t[n],i.className=s,e.append(i)}}removeStylesFrom(e){const t=(e=Vs(Is(e))).querySelectorAll(`.${this.styleClass}`);for(let s=0,n=t.length;s<n;++s)e.removeChild(t[s])}}let Ls=(e,t)=>{e.adoptedStyleSheets=[...e.adoptedStyleSheets,...t]},zs=(e,t)=>{e.adoptedStyleSheets=e.adoptedStyleSheets.filter((e=>-1===t.indexOf(e)))};if(fe.supportsAdoptedStyleSheets){try{document.adoptedStyleSheets.push(),document.adoptedStyleSheets.splice(),Ls=(e,t)=>{e.adoptedStyleSheets.push(...t)},zs=(e,t)=>{for(const s of t){const t=e.adoptedStyleSheets.indexOf(s);-1!==t&&e.adoptedStyleSheets.splice(t,1)}}}catch(e){}fe.setDefaultStrategy(Rs)}else fe.setDefaultStrategy(_s);const Hs="needs-hydration";class Fs extends Ms{get shadowOptions(){return super.shadowOptions}set shadowOptions(e){super.shadowOptions=e,(this.hasExistingShadowRoot||void 0!==e&&!this.template)&&this.definition.templateOptions===Pt.deferAndHydrate&&(this.source.toggleAttribute(Xe,!0),this.source.toggleAttribute(Hs,!0))}addHydratingInstance(){if(!Fs.hydratingInstances)return;const e=this.definition.name;let t=Fs.hydratingInstances.get(e);t||(t=new Set,Fs.hydratingInstances.set(e,t)),t.add(this.source)}static config(e){return Fs.lifecycleCallbacks=e,this}static hydrationObserverHandler(e){for(const t of e)t.target.hasAttribute(Xe)||(Fs.hydrationObserver.unobserve(t.target),t.target.$fastController.connect())}static checkHydrationComplete(e){var t,s,n;if(e.didTimeout)Fs.idleCallbackId=requestIdleCallback(Fs.checkHydrationComplete,{timeout:50});else if(0===(null===(t=Fs.hydratingInstances)||void 0===t?void 0:t.size)){try{null===(n=(s=Fs.lifecycleCallbacks).hydrationComplete)||void 0===n||n.call(s)}catch(e){}Ms.setStrategy(Ms)}}connect(){var e,t,s,n,i,r,o;if(this.needsHydration=null!==(e=this.needsHydration)&&void 0!==e?e:this.source.hasAttribute(Hs),this.source.hasAttribute(Xe))return this.addHydratingInstance(),void Fs.hydrationObserver.observe(this.source,{attributeFilter:[Xe]});if(!this.needsHydration)return super.connect(),void this.removeHydratingInstance();if(this.stage===Es.disconnected){if(!Fs.hydrationStarted){Fs.hydrationStarted=!0;try{null===(s=(t=Fs.lifecycleCallbacks).hydrationStarted)||void 0===s||s.call(t)}catch(e){}}try{null===(i=(n=Fs.lifecycleCallbacks).elementWillHydrate)||void 0===i||i.call(n,this.source)}catch(e){}if(this.stage=Es.connecting,this.bindObservables(),this.connectBehaviors(),this.template)if(Ke(this.template)){const e=this.source,t=null!==(r=ks(e))&&void 0!==r?r:e;let s=t.firstChild,n=t.lastChild;null===e.shadowRoot&&(qe.isElementBoundaryStartMarker(s)&&(s.data="",s=s.nextSibling),qe.isElementBoundaryEndMarker(n)&&(n.data="",n=n.previousSibling)),this.view=this.template.hydrate(s,n,e),null===(o=this.view)||void 0===o||o.bind(this.source)}else this.renderTemplate(this.template);this.addStyles(this.mainStyles),this.stage=Es.connected,this.source.removeAttribute(Hs),this.needsInitialization=this.needsHydration=!1,this.removeHydratingInstance(),M.notify(this,$s)}}removeHydratingInstance(){var e,t;if(!Fs.hydratingInstances)return;try{null===(t=(e=Fs.lifecycleCallbacks).elementDidHydrate)||void 0===t||t.call(e,this.source)}catch(e){}const s=this.definition.name,n=Fs.hydratingInstances.get(s);n&&(n.delete(this.source),n.size||Fs.hydratingInstances.delete(s),Fs.idleCallbackId&&cancelIdleCallback(Fs.idleCallbackId),Fs.idleCallbackId=requestIdleCallback(Fs.checkHydrationComplete,{timeout:50}))}disconnect(){super.disconnect(),Fs.hydrationObserver.unobserve(this.source)}static install(){Ms.setStrategy(Fs)}}function Ps(e){const t=class extends e{constructor(){super(),Ms.forCustomElement(this)}$emit(e,t,s){return this.$fastController.emit(e,t,s)}connectedCallback(){this.$fastController.connect()}disconnectedCallback(){this.$fastController.disconnect()}attributeChangedCallback(e,t,s){this.$fastController.onAttributeChangedCallback(e,t,s)}};return Dt.registerBaseType(t),t}function Ds(e,t){return i(e)?Dt.compose(e,t).define().type:Dt.compose(this,e).define().type}Fs.hydrationObserver=new xs(Fs.hydrationObserverHandler),Fs.lifecycleCallbacks={},Fs.hydrationStarted=!1,Fs.idleCallbackId=null,Fs.hydratingInstances=new Map;const qs=Object.assign(Ps(HTMLElement),{from:function(e){return Ps(e)},define:Ds,compose:function(e,t){return i(e)?Dt.compose(e,t):Dt.compose(this,e)},defineAsync:function(e,t){return i(e)?new Promise((s=>{Dt.composeAsync(e,t).then((e=>{s(e)}))})).then((e=>e.define().type)):new Promise((t=>{Dt.composeAsync(this,e).then((e=>{t(e)}))})).then((e=>e.define().type))}});function Us(e){return function(t){Ds(t,e)}}m.setPolicy($.create());export{X as ArrayObserver,At as AttributeConfiguration,jt as AttributeDefinition,Z as Binding,de as CSSBindingDirective,ae as CSSDirective,je as ChildrenDirective,Ot as Compiler,m as DOM,f as DOMAspect,Ms as ElementController,fe as ElementStyles,V as ExecutionContext,l as FAST,qs as FASTElement,Dt as FASTElementDefinition,ft as HTMLBindingDirective,ke as HTMLDirective,at as HTMLView,Fs as HydratableElementController,ht as HydrationBindingError,Wt as InlineTemplateDirective,Be as Markup,Re as NodeObservationDirective,M as Observable,$e as Parser,k as PropertyChangeNotifier,xt as RefDirective,Xt as RenderBehavior,Gt as RenderDirective,bs as RepeatBehavior,vs as RepeatDirective,ws as SlottedDirective,L as Sort,E as SourceLifetime,_ as Splice,W as SpliceStrategy,z as SpliceStrategySupport,Es as Stages,Ee as StatelessAttachedAttributeDirective,N as SubscriberSet,Pt as TemplateOptions,A as Updates,Jt as ViewTemplate,Vt as attr,Et as booleanConverter,Ve as children,me as css,le as cssDirective,Us as customElement,Xe as deferHydrationAttribute,Ie as elements,c as emptyArray,Ft as fastElementRegistry,Kt as html,Ae as htmlDirective,Ke as isHydratable,G as lengthOf,se as listener,Hs as needsHydrationAttribute,re as normalizeBinding,Mt as nullableBooleanConverter,Rt as nullableNumberConverter,I as observable,ie as oneTime,te as oneWay,Bt as ref,ds as render,ms as repeat,Cs as slotted,Y as sortedCount,R as volatile,Os as when};
@@ -339,7 +339,6 @@ export declare class ChildrenDirective extends NodeObservationDirective<Children
339
339
  * @param target - The target to get the node to.
340
340
  */
341
341
  getNodes(target: Element): Node[];
342
- private handleEvent;
343
342
  }
344
343
 
345
344
  /**
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@microsoft/fast-element",
3
3
  "description": "A library for constructing Web Components",
4
- "version": "2.10.0",
4
+ "version": "2.10.1",
5
5
  "author": {
6
6
  "name": "Microsoft",
7
7
  "url": "https://discord.gg/FcSNfg4"