diff --git a/.gitignore b/.gitignore index 269d79c..e53e351 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ # Compiled output /dist +/packages/*/dist /tmp /out-tsc /bazel-out diff --git a/.prettierignore b/.prettierignore index 4cf3a4f..00b7438 100644 --- a/.prettierignore +++ b/.prettierignore @@ -3,5 +3,4 @@ dist .angular pnpm-lock.yaml extension/ui -packages/ng-devtools-assets/dist docs/privacy-policy.html diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bbded08..99c820e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -27,7 +27,6 @@ packages/ src/devframe.ts # defineDevframe() — tool definition src/overlay.ts # Client script running in user's page src/rpc/ # Node-side RPC functions - ng-devtools-assets/ # Built SPA assets package extension/ # Chrome DevTools extension src/ # Angular host app (demo/playground) ``` diff --git a/README.md b/README.md index 6256432..29d140c 100644 --- a/README.md +++ b/README.md @@ -21,11 +21,7 @@ Inspect Angular component trees, signals, dependency injection, and routes — a npm install @santoshyadavdev/ng-devtools devframe ``` -For MCP agent support, also install the optional peer: - -```sh -npm install @devframes/agentic -``` +MCP agent support (`@devframes/agentic`) is included. ## How to Use @@ -192,29 +188,22 @@ pnpm devtools:dev # Build the devtools UI SPA pnpm devtools:build -# Build assets into the publishable package +# Build the publishable package (library + UI in dist/) pnpm devtools:build-pkg -# Run the Angular host app (includes in-page devtools popup) +# Run the Angular host app (builds the package first, includes in-page devtools popup) pnpm start ``` ## Publishing -The devtool ships as two npm packages: - -| Package | Contents | -| ------------------------------------- | ------------------------------------------------------ | -| `@santoshyadavdev/ng-devtools` | Node-side logic, RPC, CLI, overlay, popup | -| `@santoshyadavdev/ng-devtools-assets` | Built SPA (served at runtime via CDN or local install) | +The devtool ships as one npm package, `@santoshyadavdev/ng-devtools`: Node-side logic, RPC, CLI, overlay, popup, and the built UI in `dist/public`. ```sh -# Build assets, then publish both +# Builds on prepack, then publishes pnpm devtools:publish ``` -Keep versions in sync — the tool references the assets package by exact version. - ## Chrome DevTools Extension To distribute this as a Chrome DevTools extension, you need a thin Chrome extension shell that opens the devtools UI in a DevTools panel. The built SPA already works standalone — the extension just embeds it. diff --git a/app/vite.config.ts b/app/vite.config.ts index f64156f..c5fd1d4 100644 --- a/app/vite.config.ts +++ b/app/vite.config.ts @@ -1,3 +1,4 @@ +import { join } from 'node:path'; import { defineConfig } from 'vite'; import angular from '@analogjs/vite-plugin-angular'; import { devframeViteBridge } from '@devframes/vite/single'; @@ -18,7 +19,7 @@ export default defineConfig({ ], }, plugins: [ - angular({ tsconfig: './app/tsconfig.json' }), + angular({ tsconfig: join(import.meta.dirname, 'tsconfig.json') }), devframeViteBridge(ngDevtools, { base: '/__ng-devtools/', auth: false }), ], }); diff --git a/packages/ng-devtools-assets/dist/assets/browser-agent-rpc-BXhoSh1z-C-2MOfcQ.js b/extension/ui/assets/browser-agent-rpc-BXhoSh1z-C-2MOfcQ.js similarity index 100% rename from packages/ng-devtools-assets/dist/assets/browser-agent-rpc-BXhoSh1z-C-2MOfcQ.js rename to extension/ui/assets/browser-agent-rpc-BXhoSh1z-C-2MOfcQ.js diff --git a/extension/ui/assets/browser-agent-rpc-BXhoSh1z-DT7_jkxB.js b/extension/ui/assets/browser-agent-rpc-BXhoSh1z-DT7_jkxB.js deleted file mode 100644 index 58416a7..0000000 --- a/extension/ui/assets/browser-agent-rpc-BXhoSh1z-DT7_jkxB.js +++ /dev/null @@ -1 +0,0 @@ -import{t as e}from"./index-BUkjK2_k.js";var t=Symbol.for(`devframe:browser-agent-registry`),{tools:n,listeners:r}=globalThis[t]??={tools:new Map,listeners:new Set};function i(){return[...n.values()]}function a(e){return r.add(e),()=>r.delete(e)}var o=`devframe:client-id`,s;function c(t=globalThis.window){try{let n=t?.sessionStorage;if(n){let t=n.getItem(o);return t||(t=e(),n.setItem(o,t)),t}}catch{}return s??=e(),s}function l(e){e.client.register({name:`devframe:agent:invoke-client-tool`,type:`action`,jsonSerializable:!0,handler:async(e,t)=>{let n=i().find(t=>t.id===e);if(!n)throw Error(`[devframe/agent] browser tool "${e}" not found`);return await n.invoke(t)}});let t=!1,n=!1,r=0,o=()=>{t||n||(t=!0,queueMicrotask(async()=>{if(t=!1,n)return;let a=i().map(({invoke:e,...t})=>t);(a.length!==0||r!==0)&&(r=a.length,await e.callOptional(`devframe:agent:sync-client-tools`,c(),a).catch(()=>{}))}))},s=a(o),l=e.events.on(`connection:status`,e=>{e===`connected`&&o()});return o(),()=>{n=!0,s(),l()}}export{l as setupBrowserAgentRpcBridge}; \ No newline at end of file diff --git a/extension/ui/assets/index-BUkjK2_k.js b/extension/ui/assets/index-BUkjK2_k.js deleted file mode 100644 index ba761c7..0000000 --- a/extension/ui/assets/index-BUkjK2_k.js +++ /dev/null @@ -1,896 +0,0 @@ -(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e=Object.defineProperty,t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,i=(t,n,r)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r,a=(e,a)=>{for(var o in a||={})n.call(a,o)&&i(e,o,a[o]);if(t)for(var o of t(a))r.call(a,o)&&i(e,o,a[o]);return e},o=(e,t,n)=>(i(e,typeof t==`symbol`?t:t+``,n),n),s=globalThis;function c(e){let t=s.__Zone_symbol_prefix;return(typeof t==`string`?t:`__zone_symbol__`)+e}function l(){let e=s.performance;function t(t){e&&e.mark&&e.mark(t)}function n(t,n){e&&e.measure&&e.measure(t,n)}t(`Zone`);let r=class e{constructor(e,t){o(this,`_parent`),o(this,`_name`),o(this,`_properties`),o(this,`_zoneDelegate`),this._parent=e,this._name=t?t.name||`unnamed`:``,this._properties=t&&t.properties||{},this._zoneDelegate=new l(this,this._parent&&this._parent._zoneDelegate,t)}static assertZonePatched(){if(s.Promise!==re.ZoneAwarePromise)throw Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=e.current;for(;t.parent;)t=t.parent;return t}static get current(){return O.zone}static get currentTask(){return ae}static __load_patch(r,i,a=!1){if(Object.hasOwn(re,r)){let e=s[c(`forceDuplicateZoneCheck`)]===!0;if(!a&&e)throw Error(`Already loaded patch: `+r)}else if(!s[`__Zone_disable_`+r]){let a=`Zone:`+r;t(a),re[r]=i(s,e,ie),n(a,a)}}get parent(){return this._parent}get name(){return this._name}get(e){let t=this.getZoneWith(e);if(t)return t._properties[e]}getZoneWith(e){let t=this;for(;t;){if(Object.hasOwn(t._properties,e))return t;t=t._parent}return null}fork(e){if(!e)throw Error(`ZoneSpec required!`);return this._zoneDelegate.fork(this,e)}wrap(e,t){if(typeof e!=`function`)throw Error(`Expecting function got: `+e);let n=this._zoneDelegate.intercept(this,e,t),r=this;return function(){return r.runGuarded(n,this,arguments,t)}}run(e,t,n,r){O={parent:O,zone:this};try{return this._zoneDelegate.invoke(this,e,t,n,r)}finally{O=O.parent}}runGuarded(e,t=null,n,r){O={parent:O,zone:this};try{try{return this._zoneDelegate.invoke(this,e,t,n,r)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{O=O.parent}}runTask(e,t,n){if(e.zone!=this)throw Error(`A task can only be run in the zone of creation! (Creation: `+(e.zone||x).name+`; Execution: `+this.name+`)`);let r=e,{type:i,data:{isPeriodic:a=!1,isRefreshable:o=!1}={}}=e;if(e.state===S&&(i===D||i===ne))return;let s=e.state!=w;s&&r._transitionTo(w,C);let c=ae;ae=r,O={parent:O,zone:this};try{i==ne&&e.data&&!a&&!o&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,r,t,n)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{let t=e.state;if(t!==S&&t!==te){if(i==D||a||o&&t===ee)s&&r._transitionTo(C,w,ee);else{let e=r._zoneDelegates;this._updateTaskCount(r,-1),s&&r._transitionTo(S,w,S),o&&(r._zoneDelegates=e)}}O=O.parent,ae=c}}scheduleTask(e){if(e.zone&&e.zone!==this){let t=this;for(;t;){if(t===e.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${e.zone.name}`);t=t.parent}}e._transitionTo(ee,S);let t=[];e._zoneDelegates=t,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(t){throw e._transitionTo(te,ee,S),this._zoneDelegate.handleError(this,t),t}return e._zoneDelegates===t&&this._updateTaskCount(e,1),e.state==ee&&e._transitionTo(C,ee),e}scheduleMicroTask(e,t,n,r){return this.scheduleTask(new u(E,e,t,n,r,void 0))}scheduleMacroTask(e,t,n,r,i){return this.scheduleTask(new u(ne,e,t,n,r,i))}scheduleEventTask(e,t,n,r,i){return this.scheduleTask(new u(D,e,t,n,r,i))}cancelTask(e){if(e.zone!=this)throw Error(`A task can only be cancelled in the zone of creation! (Creation: `+(e.zone||x).name+`; Execution: `+this.name+`)`);if(e.state===C||e.state===w){e._transitionTo(T,C,w);try{this._zoneDelegate.cancelTask(this,e)}catch(t){throw e._transitionTo(te,T),this._zoneDelegate.handleError(this,t),t}return this._updateTaskCount(e,-1),e._transitionTo(S,T),e.runCount=-1,e}}_updateTaskCount(e,t){let n=e._zoneDelegates;t==-1&&(e._zoneDelegates=null);for(let r=0;re.hasTask(n,r),onScheduleTask:(e,t,n,r)=>e.scheduleTask(n,r),onInvokeTask:(e,t,n,r,i,a)=>e.invokeTask(n,r,i,a),onCancelTask:(e,t,n,r)=>e.cancelTask(n,r)};class l{constructor(e,t,n){o(this,`_zone`),o(this,`_taskCounts`,{microTask:0,macroTask:0,eventTask:0}),o(this,`_forkDlgt`),o(this,`_forkZS`),o(this,`_forkCurrZone`),o(this,`_interceptDlgt`),o(this,`_interceptZS`),o(this,`_interceptCurrZone`),o(this,`_invokeDlgt`),o(this,`_invokeZS`),o(this,`_invokeCurrZone`),o(this,`_handleErrorDlgt`),o(this,`_handleErrorZS`),o(this,`_handleErrorCurrZone`),o(this,`_scheduleTaskDlgt`),o(this,`_scheduleTaskZS`),o(this,`_scheduleTaskCurrZone`),o(this,`_invokeTaskDlgt`),o(this,`_invokeTaskZS`),o(this,`_invokeTaskCurrZone`),o(this,`_cancelTaskDlgt`),o(this,`_cancelTaskZS`),o(this,`_cancelTaskCurrZone`),o(this,`_hasTaskDlgt`),o(this,`_hasTaskDlgtOwner`),o(this,`_hasTaskZS`),o(this,`_hasTaskCurrZone`),this._zone=e,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this._zone:t._forkCurrZone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this._zone:t._interceptCurrZone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this._zone:t._invokeCurrZone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this._zone:t._handleErrorCurrZone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this._zone:t._scheduleTaskCurrZone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this._zone:t._invokeTaskCurrZone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this._zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;let r=n&&n.onHasTask,i=t&&t._hasTaskZS;(r||i)&&(this._hasTaskZS=r?n:a,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=this._zone,n.onScheduleTask||(this._scheduleTaskZS=a,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this._zone),n.onInvokeTask||(this._invokeTaskZS=a,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this._zone),n.onCancelTask||(this._cancelTaskZS=a,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this._zone))}get zone(){return this._zone}fork(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new i(e,t)}intercept(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t}invoke(e,t,n,r,i){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,r,i):t.apply(n,r)}handleError(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)}scheduleTask(e,t){let n=t;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t),n||=t;else if(t.scheduleFn)t.scheduleFn(t);else if(t.type==E)y(t);else throw Error(`Task is missing scheduleFn.`);return n}invokeTask(e,t,n,r){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,r):t.callback.apply(n,r)}cancelTask(e,t){let n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw Error(`Task is not cancelable`);n=t.cancelFn(t)}return n}hasTask(e,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)}catch(t){this.handleError(e,t)}}_updateTaskCount(e,t){let n=this._taskCounts,r=n[e],i=n[e]=r+t;if(i<0)throw Error(`More tasks executed then were scheduled.`);if(r==0||i==0){let t={microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e};this.hasTask(this._zone,t)}}}class u{constructor(e,t,n,r,i,a){if(o(this,`type`),o(this,`source`),o(this,`invoke`),o(this,`callback`),o(this,`data`),o(this,`scheduleFn`),o(this,`cancelFn`),o(this,`_zone`,null),o(this,`runCount`,0),o(this,`_zoneDelegates`,null),o(this,`_state`,`notScheduled`),this.type=e,this.source=t,this.data=r,this.scheduleFn=i,this.cancelFn=a,!n)throw Error(`callback is not defined`);this.callback=n;let c=this;this.invoke=e===D&&r&&r.useG?u.invokeTask:function(){return u.invokeTask.call(s,c,this,arguments)}}static invokeTask(e,t,n){e||=this,oe++;try{return e.runCount++,e.zone.runTask(e,t,n)}finally{try{oe===1&&!s[m]&&b()}finally{oe--}}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(S,ee)}_transitionTo(e,t,n){if(this._state===t||this._state===n)this._state=e,e==S&&(this._zoneDelegates=null);else throw Error(`${this.type} '${this.source}': can not transition to '${e}', expecting state '${t}'${n?` or '`+n+`'`:``}, was '${this._state}'.`)}toString(){return this.data&&this.data.handleId!==void 0?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}let d=c(`setTimeout`),f=c(`Promise`),p=c(`then`),m=c(`enable_native_microtask_draining`),h=[],g=!1,_;function v(e){!_&&s[f]&&(_=s[f].resolve(0)),_?(_[p]??_.then).call(_,e):s[d](e,0)}function y(e){let t=s[m],n=t&&h.length===0&&!g,r=!t&&oe===0&&h.length===0;(n||r)&&v(b),e&&h.push(e)}function b(){if(!g){g=!0;try{for(;h.length;){let e=h;h=[];for(let t of e)try{t.zone.runTask(t,null,null)}catch(e){ie.onUnhandledError(e)}}}finally{if(s[m])g=!1,ie.microtaskDrainDone();else try{ie.microtaskDrainDone()}finally{g=!1}}}}let x={name:`NO ZONE`},S=`notScheduled`,ee=`scheduling`,C=`scheduled`,w=`running`,T=`canceling`,te=`unknown`,E=`microTask`,ne=`macroTask`,D=`eventTask`,re=Object.create(null),ie={symbol:c,currentZoneFrame:()=>O,onUnhandledError:se,microtaskDrainDone:se,scheduleMicroTask:y,showUncaughtError:()=>!i[c(`ignoreConsoleErrorUncaughtError`)],patchEventTarget:()=>[],patchOnProperties:se,patchMethod:()=>se,bindArguments:()=>[],patchThen:()=>se,patchMacroTask:()=>se,patchEventPrototype:()=>se,getGlobalObjects:()=>void 0,ObjectDefineProperty:()=>se,ObjectGetOwnPropertyDescriptor:()=>void 0,ObjectCreate:()=>void 0,ArraySlice:()=>[],patchClass:()=>se,wrapWithCurrentZone:()=>se,filterProperties:()=>[],attachOriginToPatched:()=>se,_redefineProperty:()=>se,patchCallbacks:()=>se,nativeScheduleMicroTask:v},O={parent:null,zone:new i(null,null)},ae=null,oe=0;function se(){}return n(`Zone`,`Zone`),i}function u(){let e=globalThis,t=e[c(`forceDuplicateZoneCheck`)]===!0;if(e.Zone&&(t||typeof e.Zone.__symbol__!=`function`))throw Error(`Zone already loaded.`);return e.Zone??=l(),e.Zone}var d=Object.getOwnPropertyDescriptor,f=Object.defineProperty,p=Object.getPrototypeOf,m=Object.create,h=Array.prototype.slice,g=`addEventListener`,_=`removeEventListener`,v=c(g),y=c(_),b=`true`,x=`false`,S=c(``);function ee(e,t){return Zone.current.wrap(e,t)}function C(e,t,n,r,i){return Zone.current.scheduleMacroTask(e,t,n,r,i)}var w=c,T=typeof window<`u`,te=T?window:void 0,E=T&&te||globalThis,ne=`removeAttribute`;function D(e,t){for(let n=e.length-1;n>=0;n--)typeof e[n]==`function`&&(e[n]=ee(e[n],t+`_`+n));return e}function re(e,t){let n=e.constructor.name;for(let r=0;r{let t=function(){return e.apply(this,D(arguments,n+`.`+i))};return _e(t,e),t})(a)}}}function ie(e){return e?e.writable===!1?!1:typeof e.get!=`function`||e.set!==void 0:!0}var O=typeof WorkerGlobalScope<`u`&&self instanceof WorkerGlobalScope,ae=!(`nw`in E)&&E.process!==void 0&&E.process.toString()===`[object process]`,oe=!ae&&!O&&!!(T&&te.HTMLElement),se=E.process!==void 0&&E.process.toString()===`[object process]`&&!O&&!!(T&&te.HTMLElement),ce=Object.create(null),le=w(`enable_beforeunload`),ue=function(e){if(e||=E.event,!e)return;let t=ce[e.type];t||=ce[e.type]=w(`ON_PROPERTY`+e.type);let n=this||e.target||E,r=n[t],i;if(oe&&n===te&&e.type===`error`){let t=e;i=r&&r.call(this,t.message,t.filename,t.lineno,t.colno,t.error),i===!0&&e.preventDefault()}else i=r&&r.apply(this,arguments),e.type===`beforeunload`&&E[le]&&typeof i==`string`?e.returnValue=i:i!=null&&!i&&e.preventDefault();return i};function de(e,t,n){let r=d(e,t);if(!r&&n&&d(n,t)&&(r={enumerable:!0,configurable:!0}),!r||!r.configurable)return;let i=w(`on`+t+`patched`);if(Object.hasOwn(e,i)&&e[i])return;delete r.writable,delete r.value;let a=r.get,o=r.set,s=t.slice(2),c=ce[s];c||=ce[s]=w(`ON_PROPERTY`+s),r.set=function(t){let n=this;!n&&e===E&&(n=E),n&&(typeof n[c]==`function`&&n.removeEventListener(s,ue),o?.call(n,null),n[c]=t,typeof t==`function`&&n.addEventListener(s,ue,!1))},r.get=function(){let n=this;if(!n&&e===E&&(n=E),!n)return null;let i=n[c];if(i)return i;if(a){let e=a.call(this);if(e)return r.set.call(this,e),typeof n[ne]==`function`&&n.removeAttribute(t),e}return null},f(e,t,r),e[i]=!0}function fe(e,t,n){if(t)for(let r=0;rfunction(t,r){let a=n(t,r);return a.cbIdx>=0&&typeof r[a.cbIdx]==`function`?C(a.name,r[a.cbIdx],a,i):e.apply(t,r)})}function _e(e,t){e[w(`OriginalDelegate`)]=t}function ve(e){return typeof e==`function`}function ye(e){return typeof e==`number`}var be={useG:!0},xe=Object.create(null),Se={},Ce=RegExp(`^`+S+`(\\w+)(true|false)$`),we=w(`propagationStopped`),Te=[`capture`,`once`,`passive`,`signal`];function Ee(e,t){let n=(t?t(e):e)+x,r=(t?t(e):e)+b,i=S+n,a=S+r;xe[e]={[x]:i,[b]:a}}function De(e,t,n,r){let i=r&&r.add||g,o=r&&r.rm||_,s=r&&r.listeners||`eventListeners`,c=r&&r.rmAll||`removeAllListeners`,l=w(i),u=`.`+i+`:`,d=function(e,t,n){if(e.isRemoved)return;let r=e.callback;typeof r==`object`&&r.handleEvent&&(e.callback=e=>r.handleEvent(e),e.originalDelegate=r);let i;try{e.invoke(e,t,[n])}catch(e){i=e}let a=e.options;if(a&&typeof a==`object`&&a.once){let r=e.originalDelegate?e.originalDelegate:e.callback;t[o].call(t,n.type,r,a)}return i};function f(n,r,i){if(r||=e.event,!r)return;let a=n||r.target||e,o=a[xe[r.type][i?b:x]];if(o){let e=[];if(o.length===1){let t=d(o[0],a,r);t&&e.push(t)}else{let t=o.slice();for(let n=0;n{throw r})}}}let m=function(e){return f(this,e,!1)},h=function(e){return f(this,e,!0)};function v(t,n){if(!t)return!1;let r=!0;n&&n.useG!==void 0&&(r=n.useG);let d=n&&n.vh,f=!0;n&&n.chkDup!==void 0&&(f=n.chkDup);let g=!1;n&&n.rt!==void 0&&(g=n.rt);let _=t;for(;_&&!Object.hasOwn(_,i);)_=p(_);if(!_&&t[i]&&(_=t),!_||_[l])return!1;let v=n&&n.eventNameToString,y={},ee=_[l]=_[i],C=_[w(o)]=_[o],T=_[w(s)]=_[s],te=_[w(c)]=_[c],E;n&&n.prepend&&(E=_[w(n.prepend)]=_[n.prepend]);function ne(e,t){return t?typeof e==`boolean`?{capture:e,passive:!0}:e?(typeof e==`object`&&e.passive!==!1&&(e.passive=!0),e):{passive:!0}:e}let D=function(e){if(!y.isExisting)return ee.call(y.target,y.eventName,y.capture?h:m,y.options)},re=function(e){if(!e.isRemoved){let t=xe[e.eventName],n;t&&(n=t[e.capture?b:x]);let r=n&&e.target[n];if(r){for(let t=0;toe.zone.cancelTask(oe);t.call(_,`abort`,e,{once:!0}),oe.removeAbortListener=()=>_.removeEventListener(`abort`,e)}if(y.target=null,O&&(O.taskData=null),ee&&(y.options.once=!0),typeof oe.options!=`boolean`&&(oe.options=g),oe.target=l,oe.capture=S,oe.eventName=u,m&&(oe.originalDelegate=p),c?te.unshift(oe):te.push(oe),s)return l}};return _[i]=pe(ee,u,se,ce,g),E&&(_.prependListener=pe(E,`.prependListener:`,O,ce,g,!0)),_[o]=function(){let t=this||e,r=arguments[0];n&&n.transferEventName&&(r=n.transferEventName(r));let i=arguments[2],a=i?typeof i==`boolean`||i.capture:!1,o=arguments[1];if(!o)return C.apply(this,arguments);if(d&&!d(C,o,t,arguments))return;let s=xe[r],c;s&&(c=s[a?b:x]);let l=c&&t[c];if(l)for(let e=0;efunction(t,n){t[we]=!0,e&&e.apply(t,n)})}function Ae(e,t){t.patchMethod(e,`queueMicrotask`,e=>function(e,t){Zone.current.scheduleMicroTask(`queueMicrotask`,t[0])})}var je=w(`zoneTask`);function Me(e,t,n,r){let i=null,a=null;t+=r,n+=r;let o={};function s(t){let n=t.data;n.args[0]=function(){return t.invoke.apply(this,arguments)};let r=i.apply(e,n.args);return ye(r)?n.handleId=r:(n.handle=r,n.isRefreshable=ve(r?.refresh)),t}function c(t){let{handle:n,handleId:r}=t.data;return a.call(e,n??r)}i=he(e,t,n=>function(i,a){if(ve(a[0])){let e={isRefreshable:!1,isPeriodic:r===`Interval`,delay:r===`Timeout`||r===`Interval`?a[1]||0:void 0,args:a},n=a[0];a[0]=function(){try{return n.apply(this,arguments)}finally{let{handle:t,handleId:n,isPeriodic:r,isRefreshable:i}=e;!r&&!i&&(n?delete o[n]:t&&(t[je]=null))}};let i=C(t,a[0],e,s,c);if(!i)return i;let{handleId:l,handle:u,isRefreshable:d,isPeriodic:f}=i.data;if(l)o[l]=i;else if(u&&(u[je]=i,d&&!f)){let e=u.refresh;u.refresh=function(){let{zone:t,state:n}=i;return n===`notScheduled`?(i._state=`scheduled`,t._updateTaskCount(i,1)):n===`running`&&(i._state=`scheduling`),e.call(this)}}return u??l??i}return n.apply(e,a)}),a=he(e,n,t=>function(n,r){let i=r[0],a;ye(i)?(a=o[i],delete o[i]):(a=i?.[je],a?i[je]=null:a=i),a?.type?a.cancelFn&&a.zone.cancelTask(a):t.apply(e,r)})}function Ne(e,t){let{isBrowser:n,isMix:r}=t.getGlobalObjects();(n||r)&&e.customElements&&`customElements`in e&&t.patchCallbacks(t,e.customElements,`customElements`,`define`,[`connectedCallback`,`disconnectedCallback`,`adoptedCallback`,`attributeChangedCallback`,`formAssociatedCallback`,`formDisabledCallback`,`formResetCallback`,`formStateRestoreCallback`])}function Pe(e,t){if(Zone[t.symbol(`patchEventTarget`)])return;let{eventNames:n,zoneSymbolEventNames:r,TRUE_STR:i,FALSE_STR:a,ZONE_SYMBOL_PREFIX:o}=t.getGlobalObjects();for(let e=0;et.target===e);if(r.length===0)return t;let i=r[0].ignoreProperties;return t.filter(e=>i.indexOf(e)===-1)}function Le(e,t,n,r){e&&fe(e,Ie(e,t,n),r)}function Re(e){return Object.getOwnPropertyNames(e).filter(e=>e.startsWith(`on`)&&e.length>2).map(e=>e.substring(2))}function ze(e,t){if(ae&&!se||Zone[e.symbol(`patchEvents`)])return;let n=t.__Zone_ignore_on_properties,r=[];if(oe){let e=window;r=r.concat([`Document`,`SVGElement`,`Element`,`HTMLElement`,`HTMLBodyElement`,`HTMLMediaElement`,`HTMLFrameSetElement`,`HTMLFrameElement`,`HTMLIFrameElement`,`HTMLMarqueeElement`,`Worker`]),Le(e,Re(e),n,p(e))}r=r.concat([`XMLHttpRequest`,`XMLHttpRequestEventTarget`,`IDBIndex`,`IDBRequest`,`IDBOpenDBRequest`,`IDBDatabase`,`IDBTransaction`,`IDBCursor`,`WebSocket`]);for(let e=0;e{let t=`clear`;Me(e,`set`,t,`Timeout`),Me(e,`set`,t,`Interval`),Me(e,`set`,t,`Immediate`)}),e.__load_patch(`requestAnimationFrame`,e=>{Me(e,`request`,`cancel`,`AnimationFrame`),Me(e,`mozRequest`,`mozCancel`,`AnimationFrame`),Me(e,`webkitRequest`,`webkitCancel`,`AnimationFrame`)}),e.__load_patch(`blocking`,(e,t)=>{let n=[`alert`,`prompt`,`confirm`];for(let r=0;rfunction(r,a){return t.current.run(n,e,a,i)})}}),e.__load_patch(`EventTarget`,(e,t,n)=>{Fe(e,n),Pe(e,n);let r=e.XMLHttpRequestEventTarget;r&&r.prototype&&n.patchEventTarget(e,n,[r.prototype])}),e.__load_patch(`MutationObserver`,(e,t,n)=>{me(`MutationObserver`),me(`WebKitMutationObserver`)}),e.__load_patch(`IntersectionObserver`,(e,t,n)=>{me(`IntersectionObserver`)}),e.__load_patch(`FileReader`,(e,t,n)=>{me(`FileReader`)}),e.__load_patch(`on_property`,(e,t,n)=>{ze(n,e)}),e.__load_patch(`customElements`,(e,t,n)=>{Ne(e,n)}),e.__load_patch(`XHR`,(e,t)=>{c(e);let n=w(`xhrTask`),r=w(`xhrSync`),i=w(`xhrListener`),a=w(`xhrScheduled`),o=w(`xhrURL`),s=w(`xhrErrorBeforeScheduled`);function c(e){let c=e.XMLHttpRequest;if(!c)return;let l=c.prototype;function u(e){return e[n]}let d=l[v],f=l[y];if(!d){let t=e.XMLHttpRequestEventTarget;if(t){let e=t.prototype;d=e[v],f=e[y]}}let p=`readystatechange`,m=`scheduled`;function h(e){let r=e.data,o=r.target;o[a]=!1,o[s]=!1;let c=o[i];d||(d=o[v],f=o[y]),c&&f.call(o,p,c);let l=o[i]=()=>{if(o.readyState===o.DONE){if(!r.aborted&&o[a]&&e.state===m){let n=o[t.__symbol__(`loadfalse`)];if(o.status!==0&&n&&n.length>0){let i=e.invoke;e.invoke=function(){let n=o[t.__symbol__(`loadfalse`)];for(let t=0;tfunction(e,t){return e[r]=t[2]==0,e[o]=t[1],b.apply(e,t)}),x=w(`fetchTaskAborting`),S=w(`fetchTaskScheduling`),ee=he(l,`send`,()=>function(e,n){if(t.current[S]===!0||e[r])return ee.apply(e,n);{let t={target:e,url:e[o],isPeriodic:!1,args:n,aborted:!1},r=C(`XMLHttpRequest.send`,g,t,h,_);e&&e[s]===!0&&!t.aborted&&r.state===m&&r.invoke()}}),T=he(l,`abort`,()=>function(e,n){let r=u(e);if(r&&typeof r.type==`string`){if(r.cancelFn==null||r.data&&r.data.aborted)return;r.zone.cancelTask(r)}else if(t.current[x]===!0)return T.apply(e,n)})}}),e.__load_patch(`geolocation`,e=>{e.navigator&&e.navigator.geolocation&&re(e.navigator.geolocation,[`getCurrentPosition`,`watchPosition`])}),e.__load_patch(`PromiseRejectionEvent`,(e,t)=>{function n(t){return function(n){Oe(e,t).forEach(r=>{let i=e.PromiseRejectionEvent;if(i){let e=new i(t,{promise:n.promise,reason:n.rejection});r.invoke(e)}})}}e.PromiseRejectionEvent&&(t[w(`unhandledPromiseRejectionHandler`)]=n(`unhandledrejection`),t[w(`rejectionHandledHandler`)]=n(`rejectionhandled`))}),e.__load_patch(`queueMicrotask`,(e,t,n)=>{Ae(e,n)})}function Ve(e){e.__load_patch(`ZoneAwarePromise`,(e,t,n)=>{let r=Object.getOwnPropertyDescriptor,i=Object.defineProperty;function a(e){return e&&e.toString===Object.prototype.toString?(e.constructor&&e.constructor.name||``)+`: `+JSON.stringify(e):e?e.toString():Object.prototype.toString.call(e)}let o=n.symbol,s=[],c=e[o(`DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION`)]!==!1,l=o(`Promise`),u=o(`then`);n.onUnhandledError=e=>{if(n.showUncaughtError()){let t=e&&e.rejection;t&&e.zone&&e.task?console.error(`Unhandled Promise rejection:`,t instanceof Error?t.message:t,`; Zone:`,e.zone.name,`; Task:`,e.task&&e.task.source,`; Value:`,t,t instanceof Error?t.stack:void 0):console.error(e)}},n.microtaskDrainDone=()=>{for(;s.length;){let e=s.shift();try{e.zone.runGuarded(()=>{throw e.throwOriginal?e.rejection:e})}catch(e){f(e)}}};let d=o(`unhandledPromiseRejectionHandler`);function f(e){n.onUnhandledError(e);try{let n=t[d];typeof n==`function`&&n.call(this,e)}catch{}}function p(e){return e&&typeof e.then==`function`}function m(e){return e}function h(e){return D.reject(e)}let g=o(`state`),_=o(`value`),v=o(`finally`),y=o(`parentPromiseValue`),b=o(`parentPromiseState`);function x(e,t){return n=>{try{C(e,t,n)}catch(t){C(e,!1,t)}}}let S=function(){let e=!1;return function(t){return function(){e||(e=!0,t.apply(null,arguments))}}},ee=o(`currentTaskTrace`);function C(e,r,o){let l=S();if(e===o)throw TypeError(`Promise resolved with itself`);if(e[g]===null){let u=null;try{(typeof o==`object`||typeof o==`function`)&&(u=o&&o.then)}catch(t){return l(()=>{C(e,!1,t)})(),e}if(r!==!1&&o instanceof D&&Object.hasOwn(o,g)&&Object.hasOwn(o,_)&&o[g]!==null)T(o),C(e,o[g],o[_]);else if(r!==!1&&typeof u==`function`)try{u.call(o,l(x(e,r)),l(x(e,!1)))}catch(t){l(()=>{C(e,!1,t)})()}else{e[g]=r;let l=e[_];if(e[_]=o,e[v]===v&&r===!0&&(e[g]=e[b],e[_]=e[y]),r===!1&&o instanceof Error){let e=t.currentTask&&t.currentTask.data&&t.currentTask.data.__creationTrace__;e&&i(o,ee,{configurable:!0,enumerable:!1,writable:!0,value:e})}for(let t=0;t{try{let r=e[_],i=!!n&&v===n[v];i&&(n[y]=r,n[b]=a),C(n,!0,t.run(o,void 0,i&&o!==h&&o!==m?[]:[r]))}catch(e){C(n,!1,e)}},n)}let E=function(){},ne=e.AggregateError;class D{static toString(){return`function ZoneAwarePromise() { [native code] }`}static resolve(e){return e instanceof D?e:C(new this(null),!0,e)}static reject(e){return C(new this(null),!1,e)}static withResolvers(){let e={};return e.promise=new D((t,n)=>{e.resolve=t,e.reject=n}),e}static any(e){if(!e||typeof e[Symbol.iterator]!=`function`)return Promise.reject(new ne([],`All promises were rejected`));let t=[],n=0;try{for(let r of e)n++,t.push(D.resolve(r))}catch{return Promise.reject(new ne([],`All promises were rejected`))}if(n===0)return Promise.reject(new ne([],`All promises were rejected`));let r=!1,i=[];return new D((e,a)=>{for(let o=0;o{r||(r=!0,e(t))},e=>{i.push(e),n--,n===0&&(r=!0,a(new ne(i,`All promises were rejected`)))})})}static race(e){let t,n,r=new this((e,r)=>{t=e,n=r});function i(e){t(e)}function a(e){n(e)}for(let t of e)p(t)||(t=this.resolve(t)),t.then(i,a);return r}static all(e){return D.allWithCallback(e)}static allSettled(e){return(this&&this.prototype instanceof D?this:D).allWithCallback(e,{thenCallback:e=>({status:`fulfilled`,value:e}),errorCallback:e=>({status:`rejected`,reason:e})})}static allWithCallback(e,t){let n,r,i=new this((e,t)=>{n=e,r=t}),a=2,o=0,s=[];for(let i of e){p(i)||(i=this.resolve(i));let e=o;try{i.then(r=>{s[e]=t?t.thenCallback(r):r,a--,a===0&&n(s)},i=>{t?(s[e]=t.errorCallback(i),a--,a===0&&n(s)):r(i)})}catch(e){r(e)}a++,o++}return a-=2,a===0&&n(s),i}constructor(e){let t=this;if(!(t instanceof D))throw Error(`Must be an instanceof Promise.`);t[g]=null,t[_]=[];try{let n=S();e&&e(n(x(t,!0)),n(x(t,!1)))}catch(e){C(t,!1,e)}}get[Symbol.toStringTag](){return`Promise`}get[Symbol.species](){return D}then(e,n){let r=this.constructor?.[Symbol.species];(!r||typeof r!=`function`)&&(r=this.constructor||D);let i=new r(E),a=t.current;return this[g]==null?this[_].push(a,i,e,n):te(this,a,i,e,n),i}catch(e){return this.then(null,e)}finally(e){let n=this.constructor?.[Symbol.species];(!n||typeof n!=`function`)&&(n=D);let r=new n(E);r[v]=v;let i=t.current;return this[g]==null?this[_].push(i,r,e,e):te(this,i,r,e,e),r}}D.resolve=D.resolve,D.reject=D.reject,D.race=D.race,D.all=D.all;let re=e[l]=e.Promise;e.Promise=D;let ie=o(`thenPatched`);function O(e){let t=e.prototype,n=r(t,`then`);if(n&&(n.writable===!1||!n.configurable))return;let i=t.then;t[u]=i,e.prototype.then=function(e,t){return new D((e,t)=>{i.call(this,e,t)}).then(e,t)},e[ie]=!0}n.patchThen=O;function ae(e){return function(t,n){let r=e.apply(t,n);if(r instanceof D)return r;let i=r.constructor;return i[ie]||O(i),r}}if(re){O(re);let t=re.try;t&&typeof t==`function`&&(D.try=t),he(e,`fetch`,e=>ae(e))}return Promise[t.__symbol__(`uncaughtPromiseErrors`)]=s,D})}function He(e){e.__load_patch(`toString`,e=>{let t=Function.prototype.toString,n=w(`OriginalDelegate`),r=w(`Promise`),i=w(`Error`),a=function(){if(typeof this==`function`){let a=this[n];if(a)return typeof a==`function`?t.call(a):Object.prototype.toString.call(a);if(this===Promise){let n=e[r];if(n)return t.call(n)}if(this===Error){let n=e[i];if(n)return t.call(n)}}return t.call(this)};a[n]=t,Function.prototype.toString=a;let o=Object.prototype.toString;Object.prototype.toString=function(){return typeof Promise==`function`&&this instanceof Promise?`[object Promise]`:o.call(this)}})}function Ue(e,t,n,r,i){let a=Zone.__symbol__(r);if(t[a])return;let o=t[a]=t[r];t[r]=function(a,s,c){return s&&s.prototype&&i.forEach(function(t){let i=`${n}.${r}::`+t,a=s.prototype;try{if(Object.hasOwn(a,t)){let n=e.ObjectGetOwnPropertyDescriptor(a,t);n&&n.value?(n.value=e.wrapWithCurrentZone(n.value,i),e._redefineProperty(s.prototype,t,n)):a[t]&&(a[t]=e.wrapWithCurrentZone(a[t],i))}else a[t]&&(a[t]=e.wrapWithCurrentZone(a[t],i))}catch{}}),o.call(t,a,s,c)},e.attachOriginToPatched(t[r],o)}function We(e){e.__load_patch(`util`,(e,t,n)=>{let r=Re(e);n.patchOnProperties=fe,n.patchMethod=he,n.bindArguments=D,n.patchMacroTask=ge;let i=t.__symbol__(`BLACK_LISTED_EVENTS`),a=t.__symbol__(`UNPATCHED_EVENTS`);e[a]&&(e[i]=e[a]),e[i]&&(t[i]=t[a]=e[i]),n.patchEventPrototype=ke,n.patchEventTarget=De,n.ObjectDefineProperty=f,n.ObjectGetOwnPropertyDescriptor=d,n.ObjectCreate=m,n.ArraySlice=h,n.patchClass=me,n.wrapWithCurrentZone=ee,n.filterProperties=Ie,n.attachOriginToPatched=_e,n._redefineProperty=Object.defineProperty,n.patchCallbacks=Ue,n.getGlobalObjects=()=>({globalSources:Se,zoneSymbolEventNames:xe,eventNames:r,isBrowser:oe,isMix:se,isNode:ae,TRUE_STR:b,FALSE_STR:x,ZONE_SYMBOL_PREFIX:S,ADD_EVENT_LISTENER_STR:g,REMOVE_EVENT_LISTENER_STR:_})})}function Ge(e){Ve(e),He(e),We(e)}var Ke=u();Ge(Ke),Be(Ke);var qe=(function(e){return e[e.NONE=0]=`NONE`,e[e.HTML=1]=`HTML`,e[e.STYLE=2]=`STYLE`,e[e.SCRIPT=3]=`SCRIPT`,e[e.URL=4]=`URL`,e[e.RESOURCE_URL=5]=`RESOURCE_URL`,e[e.ATTRIBUTE_NO_BINDING=6]=`ATTRIBUTE_NO_BINDING`,e})(qe||{}),Je=(function(e){return e[e.None=0]=`None`,e[e.Const=1]=`Const`,e})(Je||{}),Ye=class{modifiers;constructor(e=Je.None){this.modifiers=e}hasModifier(e){return(this.modifiers&e)!==0}},Xe=(function(e){return e[e.Dynamic=0]=`Dynamic`,e[e.Bool=1]=`Bool`,e[e.String=2]=`String`,e[e.Int=3]=`Int`,e[e.Number=4]=`Number`,e[e.Function=5]=`Function`,e[e.Inferred=6]=`Inferred`,e[e.None=7]=`None`,e})(Xe||{}),Ze=class extends Ye{name;constructor(e,t){super(t),this.name=e}visitType(e,t){return e.visitBuiltinType(this,t)}};Xe.Dynamic;var Qe=new Ze(Xe.Inferred);Xe.Bool,Xe.Int,Xe.Number,Xe.String,Xe.Function,Xe.None;var k=(function(e){return e[e.Equals=0]=`Equals`,e[e.NotEquals=1]=`NotEquals`,e[e.Assign=2]=`Assign`,e[e.Identical=3]=`Identical`,e[e.NotIdentical=4]=`NotIdentical`,e[e.Minus=5]=`Minus`,e[e.Plus=6]=`Plus`,e[e.Divide=7]=`Divide`,e[e.Multiply=8]=`Multiply`,e[e.Modulo=9]=`Modulo`,e[e.And=10]=`And`,e[e.Or=11]=`Or`,e[e.BitwiseOr=12]=`BitwiseOr`,e[e.BitwiseAnd=13]=`BitwiseAnd`,e[e.Lower=14]=`Lower`,e[e.LowerEquals=15]=`LowerEquals`,e[e.Bigger=16]=`Bigger`,e[e.BiggerEquals=17]=`BiggerEquals`,e[e.NullishCoalesce=18]=`NullishCoalesce`,e[e.Exponentiation=19]=`Exponentiation`,e[e.In=20]=`In`,e[e.InstanceOf=21]=`InstanceOf`,e[e.AdditionAssignment=22]=`AdditionAssignment`,e[e.SubtractionAssignment=23]=`SubtractionAssignment`,e[e.MultiplicationAssignment=24]=`MultiplicationAssignment`,e[e.DivisionAssignment=25]=`DivisionAssignment`,e[e.RemainderAssignment=26]=`RemainderAssignment`,e[e.ExponentiationAssignment=27]=`ExponentiationAssignment`,e[e.AndAssignment=28]=`AndAssignment`,e[e.OrAssignment=29]=`OrAssignment`,e[e.NullishCoalesceAssignment=30]=`NullishCoalesceAssignment`,e})(k||{});function $e(e,t){return e==null||t==null?e==t:e.isEquivalent(t)}function et(e,t,n){let r=e.length;if(r!==t.length)return!1;for(let i=0;ie.isEquivalent(t))}var nt=class{leadingComments;type;sourceSpan;constructor(e,t,n){this.leadingComments=n,this.type=e||null,this.sourceSpan=t||null}prop(e,t){return new ft(this,e,null,t)}key(e,t,n){return new pt(this,e,t,n)}callFn(e,t,n,r){return new at(this,e,null,t,n,r)}instantiate(e,t,n,r){return new ot(this,e,t,n)}conditional(e,t=null,n,r){return new ut(this,e,t,null,n)}equals(e,t){return new dt(k.Equals,this,e,null,t)}notEquals(e,t){return new dt(k.NotEquals,this,e,null,t)}identical(e,t){return new dt(k.Identical,this,e,null,t)}notIdentical(e,t){return new dt(k.NotIdentical,this,e,null,t)}minus(e,t){return new dt(k.Minus,this,e,null,t)}plus(e,t){return new dt(k.Plus,this,e,null,t)}divide(e,t){return new dt(k.Divide,this,e,null,t)}multiply(e,t){return new dt(k.Multiply,this,e,null,t)}modulo(e,t){return new dt(k.Modulo,this,e,null,t)}power(e,t){return new dt(k.Exponentiation,this,e,null,t)}and(e,t){return new dt(k.And,this,e,null,t)}bitwiseOr(e,t){return new dt(k.BitwiseOr,this,e,null,t)}bitwiseAnd(e,t){return new dt(k.BitwiseAnd,this,e,null,t)}or(e,t){return new dt(k.Or,this,e,null,t)}lower(e,t){return new dt(k.Lower,this,e,null,t)}lowerEquals(e,t){return new dt(k.LowerEquals,this,e,null,t)}bigger(e,t){return new dt(k.Bigger,this,e,null,t)}biggerEquals(e,t){return new dt(k.BiggerEquals,this,e,null,t)}isBlank(e){return this.equals(vt,e)}nullishCoalesce(e,t){return new dt(k.NullishCoalesce,this,e,null,t)}toStmt(e){return new xt(this,null,e)}},rt=class e extends nt{name;constructor(e,t,n,r){super(t,n,r),this.name=e}isEquivalent(t){return t instanceof e&&this.name===t.name}isConstant(){return!1}visitExpression(e,t){return e.visitReadVarExpr(this,t)}clone(){return new e(this.name,this.type,this.sourceSpan)}set(e){return new dt(k.Assign,this,e,null,this.sourceSpan)}},it=class e extends nt{expr;constructor(e,t,n,r){super(t,n,r),this.expr=e}visitExpression(e,t){return e.visitTypeofExpr(this,t)}isEquivalent(t){return t instanceof e&&t.expr.isEquivalent(this.expr)}isConstant(){return this.expr.isConstant()}clone(){return new e(this.expr.clone())}},at=class e extends nt{fn;args;pure;isOptional;constructor(e,t,n,r,i=!1,a,o=!1){super(n,r,a),this.fn=e,this.args=t,this.pure=i,this.isOptional=o}get receiver(){return this.fn}isEquivalent(t){return t instanceof e&&this.fn.isEquivalent(t.fn)&&tt(this.args,t.args)&&this.pure===t.pure}isConstant(){return!1}visitExpression(e,t){return e.visitInvokeFunctionExpr(this,t)}clone(){return new e(this.fn.clone(),this.args.map(e=>e.clone()),this.type,this.sourceSpan,this.pure,[],this.isOptional)}},ot=class e extends nt{classExpr;args;constructor(e,t,n,r,i){super(n,r,i),this.classExpr=e,this.args=t}isEquivalent(t){return t instanceof e&&this.classExpr.isEquivalent(t.classExpr)&&tt(this.args,t.args)}isConstant(){return!1}visitExpression(e,t){return e.visitInstantiateExpr(this,t)}clone(){return new e(this.classExpr.clone(),this.args.map(e=>e.clone()),this.type,this.sourceSpan)}},st=class e extends nt{body;flags;constructor(e,t,n,r){super(null,n,r),this.body=e,this.flags=t}isEquivalent(t){return t instanceof e&&this.body===t.body&&this.flags===t.flags}isConstant(){return!0}visitExpression(e,t){return e.visitRegularExpressionLiteral(this,t)}clone(){return new e(this.body,this.flags,this.sourceSpan)}},ct=class e extends nt{value;constructor(e,t,n,r){super(t,n,r),this.value=e}isEquivalent(t){return t instanceof e&&this.value===t.value}isConstant(){return!0}visitExpression(e,t){return e.visitLiteralExpr(this,t)}clone(){return new e(this.value,this.type,this.sourceSpan)}},lt=class e extends nt{value;typeParams;constructor(e,t,n=null,r,i){super(t,r,i),this.value=e,this.typeParams=n}isEquivalent(t){return t instanceof e&&this.value.name===t.value.name&&this.value.moduleName===t.value.moduleName}isConstant(){return!1}visitExpression(e,t){return e.visitExternalExpr(this,t)}clone(){return new e(this.value,this.type,this.typeParams,this.sourceSpan)}},ut=class e extends nt{condition;falseCase;trueCase;constructor(e,t,n=null,r,i,a){super(r||t.type,i,a),this.condition=e,this.falseCase=n,this.trueCase=t}isEquivalent(t){return t instanceof e&&this.condition.isEquivalent(t.condition)&&this.trueCase.isEquivalent(t.trueCase)&&$e(this.falseCase,t.falseCase)}isConstant(){return!1}visitExpression(e,t){return e.visitConditionalExpr(this,t)}clone(){return new e(this.condition.clone(),this.trueCase.clone(),this.falseCase?.clone(),this.type,this.sourceSpan)}},dt=class e extends nt{operator;rhs;lhs;constructor(e,t,n,r,i,a){super(r||t.type,i,a),this.operator=e,this.rhs=n,this.lhs=t}isEquivalent(t){return t instanceof e&&this.operator===t.operator&&this.lhs.isEquivalent(t.lhs)&&this.rhs.isEquivalent(t.rhs)}isConstant(){return!1}visitExpression(e,t){return e.visitBinaryOperatorExpr(this,t)}clone(){return new e(this.operator,this.lhs.clone(),this.rhs.clone(),this.type,this.sourceSpan)}isAssignment(){let e=this.operator;return e===k.Assign||e===k.AdditionAssignment||e===k.SubtractionAssignment||e===k.MultiplicationAssignment||e===k.DivisionAssignment||e===k.RemainderAssignment||e===k.ExponentiationAssignment||e===k.AndAssignment||e===k.OrAssignment||e===k.NullishCoalesceAssignment}},ft=class e extends nt{receiver;name;isOptional;constructor(e,t,n,r,i,a=!1){super(n,r,i),this.receiver=e,this.name=t,this.isOptional=a}get index(){return this.name}isEquivalent(t){return t instanceof e&&this.receiver.isEquivalent(t.receiver)&&this.name===t.name&&this.isOptional===t.isOptional}isConstant(){return!1}visitExpression(e,t){return e.visitReadPropExpr(this,t)}set(e){return new dt(k.Assign,this.receiver.prop(this.name),e,null,this.sourceSpan)}clone(){return new e(this.receiver.clone(),this.name,this.type,this.sourceSpan,[],this.isOptional)}},pt=class e extends nt{receiver;index;isOptional;constructor(e,t,n,r,i,a=!1){super(n,r,i),this.receiver=e,this.index=t,this.isOptional=a}isEquivalent(t){return t instanceof e&&this.receiver.isEquivalent(t.receiver)&&this.index.isEquivalent(t.index)&&this.isOptional===t.isOptional}isConstant(){return!1}visitExpression(e,t){return e.visitReadKeyExpr(this,t)}set(e){return new dt(k.Assign,this.receiver.key(this.index),e,null,this.sourceSpan)}clone(){return new e(this.receiver.clone(),this.index.clone(),this.type,this.sourceSpan,[],this.isOptional)}},mt=class e extends nt{entries;constructor(e,t,n,r){super(t,n,r),this.entries=e}isConstant(){return this.entries.every(e=>e.isConstant())}isEquivalent(t){return t instanceof e&&tt(this.entries,t.entries)}visitExpression(e,t){return e.visitLiteralArrayExpr(this,t)}clone(){return new e(this.entries.map(e=>e.clone()),this.type,this.sourceSpan)}},ht=class e{expression;constructor(e){this.expression=e}isEquivalent(t){return t instanceof e&&this.expression.isEquivalent(t.expression)}clone(){return new e(this.expression.clone())}isConstant(){return this.expression.isConstant()}},gt=class e extends nt{entries;valueType=null;constructor(e,t,n,r){super(t,n,r),this.entries=e,t&&(this.valueType=t.valueType)}isEquivalent(t){return t instanceof e&&tt(this.entries,t.entries)}isConstant(){return this.entries.every(e=>e.isConstant())}visitExpression(e,t){return e.visitLiteralMapExpr(this,t)}clone(){let t=this.entries.map(e=>e.clone());return new e(t,this.type,this.sourceSpan)}},_t=class e extends nt{expression;constructor(e,t,n){super(null,t,n),this.expression=e}isEquivalent(t){return t instanceof e&&this.expression.isEquivalent(t.expression)}isConstant(){return this.expression.isConstant()}visitExpression(e,t){return e.visitSpreadElementExpr(this,t)}clone(){return new e(this.expression.clone(),this.sourceSpan)}},vt=new ct(null,Qe,null),yt=(function(e){return e[e.None=0]=`None`,e[e.Final=1]=`Final`,e[e.Private=2]=`Private`,e[e.Exported=4]=`Exported`,e[e.Static=8]=`Static`,e})(yt||{}),bt=class{modifiers;sourceSpan;leadingComments;constructor(e=yt.None,t=null,n){this.modifiers=e,this.sourceSpan=t,this.leadingComments=n}hasModifier(e){return(this.modifiers&e)!==0}addLeadingComment(e){this.leadingComments=this.leadingComments??[],this.leadingComments.push(e)}},xt=class e extends bt{expr;constructor(e,t,n){super(yt.None,t,n),this.expr=e}isEquivalent(t){return t instanceof e&&this.expr.isEquivalent(t.expr)}visitStatement(e,t){return e.visitExpressionStmt(this,t)}};(class e{static INSTANCE=new e;keyOf(e){if(e instanceof ct&&typeof e.value==`string`)return`"${e.value}"`;if(e instanceof ct)return String(e.value);if(e instanceof st)return`/${e.body}/${e.flags??``}`;if(e instanceof mt){let t=[];for(let n of e.entries)t.push(this.keyOf(n));return`[${t.join(`,`)}]`}if(e instanceof gt){let t=[];for(let n of e.entries)if(n instanceof ht)t.push(`...`+this.keyOf(n.expression));else{let e=n.key;n.quoted&&(e=`"${e}"`),t.push(e+`:`+this.keyOf(n.value))}return`{${t.join(`,`)}}`}if(e instanceof lt)return`import("${e.value.moduleName}", ${e.value.name})`;if(e instanceof rt)return`read(${e.name})`;if(e instanceof it)return`typeof(${this.keyOf(e.expr)})`;if(e instanceof _t)return`...${this.keyOf(e.expression)}`;throw Error(`${this.constructor.name} does not handle expressions of type ${e.constructor.name}`)}});var A=`@angular/core`,j=(()=>{class e{static core={name:null,moduleName:A};static namespaceHTML={name:`ɵɵnamespaceHTML`,moduleName:A};static namespaceMathML={name:`ɵɵnamespaceMathML`,moduleName:A};static namespaceSVG={name:`ɵɵnamespaceSVG`,moduleName:A};static element={name:`ɵɵelement`,moduleName:A};static elementStart={name:`ɵɵelementStart`,moduleName:A};static elementEnd={name:`ɵɵelementEnd`,moduleName:A};static foreignComponent={name:`ɵɵforeignComponent`,moduleName:A};static foreignContent={name:`ɵɵforeignContent`,moduleName:A};static foreignContentFn={name:`ɵɵforeignContentFn`,moduleName:A};static domElement={name:`ɵɵdomElement`,moduleName:A};static domElementStart={name:`ɵɵdomElementStart`,moduleName:A};static domElementEnd={name:`ɵɵdomElementEnd`,moduleName:A};static domElementContainer={name:`ɵɵdomElementContainer`,moduleName:A};static domElementContainerStart={name:`ɵɵdomElementContainerStart`,moduleName:A};static domElementContainerEnd={name:`ɵɵdomElementContainerEnd`,moduleName:A};static domTemplate={name:`ɵɵdomTemplate`,moduleName:A};static domListener={name:`ɵɵdomListener`,moduleName:A};static advance={name:`ɵɵadvance`,moduleName:A};static syntheticHostProperty={name:`ɵɵsyntheticHostProperty`,moduleName:A};static syntheticHostListener={name:`ɵɵsyntheticHostListener`,moduleName:A};static attribute={name:`ɵɵattribute`,moduleName:A};static classProp={name:`ɵɵclassProp`,moduleName:A};static elementContainerStart={name:`ɵɵelementContainerStart`,moduleName:A};static elementContainerEnd={name:`ɵɵelementContainerEnd`,moduleName:A};static elementContainer={name:`ɵɵelementContainer`,moduleName:A};static styleMap={name:`ɵɵstyleMap`,moduleName:A};static classMap={name:`ɵɵclassMap`,moduleName:A};static styleProp={name:`ɵɵstyleProp`,moduleName:A};static interpolate={name:`ɵɵinterpolate`,moduleName:A};static interpolate1={name:`ɵɵinterpolate1`,moduleName:A};static interpolate2={name:`ɵɵinterpolate2`,moduleName:A};static interpolate3={name:`ɵɵinterpolate3`,moduleName:A};static interpolate4={name:`ɵɵinterpolate4`,moduleName:A};static interpolate5={name:`ɵɵinterpolate5`,moduleName:A};static interpolate6={name:`ɵɵinterpolate6`,moduleName:A};static interpolate7={name:`ɵɵinterpolate7`,moduleName:A};static interpolate8={name:`ɵɵinterpolate8`,moduleName:A};static interpolateV={name:`ɵɵinterpolateV`,moduleName:A};static nextContext={name:`ɵɵnextContext`,moduleName:A};static resetView={name:`ɵɵresetView`,moduleName:A};static templateCreate={name:`ɵɵtemplate`,moduleName:A};static defer={name:`ɵɵdefer`,moduleName:A};static deferWhen={name:`ɵɵdeferWhen`,moduleName:A};static deferOnIdle={name:`ɵɵdeferOnIdle`,moduleName:A};static deferOnImmediate={name:`ɵɵdeferOnImmediate`,moduleName:A};static deferOnTimer={name:`ɵɵdeferOnTimer`,moduleName:A};static deferOnHover={name:`ɵɵdeferOnHover`,moduleName:A};static deferOnInteraction={name:`ɵɵdeferOnInteraction`,moduleName:A};static deferOnViewport={name:`ɵɵdeferOnViewport`,moduleName:A};static deferPrefetchWhen={name:`ɵɵdeferPrefetchWhen`,moduleName:A};static deferPrefetchOnIdle={name:`ɵɵdeferPrefetchOnIdle`,moduleName:A};static deferPrefetchOnImmediate={name:`ɵɵdeferPrefetchOnImmediate`,moduleName:A};static deferPrefetchOnTimer={name:`ɵɵdeferPrefetchOnTimer`,moduleName:A};static deferPrefetchOnHover={name:`ɵɵdeferPrefetchOnHover`,moduleName:A};static deferPrefetchOnInteraction={name:`ɵɵdeferPrefetchOnInteraction`,moduleName:A};static deferPrefetchOnViewport={name:`ɵɵdeferPrefetchOnViewport`,moduleName:A};static deferHydrateWhen={name:`ɵɵdeferHydrateWhen`,moduleName:A};static deferHydrateNever={name:`ɵɵdeferHydrateNever`,moduleName:A};static deferHydrateOnIdle={name:`ɵɵdeferHydrateOnIdle`,moduleName:A};static deferHydrateOnImmediate={name:`ɵɵdeferHydrateOnImmediate`,moduleName:A};static deferHydrateOnTimer={name:`ɵɵdeferHydrateOnTimer`,moduleName:A};static deferHydrateOnHover={name:`ɵɵdeferHydrateOnHover`,moduleName:A};static deferHydrateOnInteraction={name:`ɵɵdeferHydrateOnInteraction`,moduleName:A};static deferHydrateOnViewport={name:`ɵɵdeferHydrateOnViewport`,moduleName:A};static deferEnableTimerScheduling={name:`ɵɵdeferEnableTimerScheduling`,moduleName:A};static enableIncrementalHydrationRuntime={name:`ɵɵenableIncrementalHydrationRuntime`,moduleName:A};static conditionalCreate={name:`ɵɵconditionalCreate`,moduleName:A};static conditionalBranchCreate={name:`ɵɵconditionalBranchCreate`,moduleName:A};static conditional={name:`ɵɵconditional`,moduleName:A};static repeater={name:`ɵɵrepeater`,moduleName:A};static repeaterCreate={name:`ɵɵrepeaterCreate`,moduleName:A};static repeaterTrackByIndex={name:`ɵɵrepeaterTrackByIndex`,moduleName:A};static repeaterTrackByIdentity={name:`ɵɵrepeaterTrackByIdentity`,moduleName:A};static componentInstance={name:`ɵɵcomponentInstance`,moduleName:A};static text={name:`ɵɵtext`,moduleName:A};static enableBindings={name:`ɵɵenableBindings`,moduleName:A};static disableBindings={name:`ɵɵdisableBindings`,moduleName:A};static getCurrentView={name:`ɵɵgetCurrentView`,moduleName:A};static textInterpolate={name:`ɵɵtextInterpolate`,moduleName:A};static textInterpolate1={name:`ɵɵtextInterpolate1`,moduleName:A};static textInterpolate2={name:`ɵɵtextInterpolate2`,moduleName:A};static textInterpolate3={name:`ɵɵtextInterpolate3`,moduleName:A};static textInterpolate4={name:`ɵɵtextInterpolate4`,moduleName:A};static textInterpolate5={name:`ɵɵtextInterpolate5`,moduleName:A};static textInterpolate6={name:`ɵɵtextInterpolate6`,moduleName:A};static textInterpolate7={name:`ɵɵtextInterpolate7`,moduleName:A};static textInterpolate8={name:`ɵɵtextInterpolate8`,moduleName:A};static textInterpolateV={name:`ɵɵtextInterpolateV`,moduleName:A};static restoreView={name:`ɵɵrestoreView`,moduleName:A};static pureFunction0={name:`ɵɵpureFunction0`,moduleName:A};static pureFunction1={name:`ɵɵpureFunction1`,moduleName:A};static pureFunction2={name:`ɵɵpureFunction2`,moduleName:A};static pureFunction3={name:`ɵɵpureFunction3`,moduleName:A};static pureFunction4={name:`ɵɵpureFunction4`,moduleName:A};static pureFunction5={name:`ɵɵpureFunction5`,moduleName:A};static pureFunction6={name:`ɵɵpureFunction6`,moduleName:A};static pureFunction7={name:`ɵɵpureFunction7`,moduleName:A};static pureFunction8={name:`ɵɵpureFunction8`,moduleName:A};static pureFunctionV={name:`ɵɵpureFunctionV`,moduleName:A};static pipeBind1={name:`ɵɵpipeBind1`,moduleName:A};static pipeBind2={name:`ɵɵpipeBind2`,moduleName:A};static pipeBind3={name:`ɵɵpipeBind3`,moduleName:A};static pipeBind4={name:`ɵɵpipeBind4`,moduleName:A};static pipeBindV={name:`ɵɵpipeBindV`,moduleName:A};static domProperty={name:`ɵɵdomProperty`,moduleName:A};static ariaProperty={name:`ɵɵariaProperty`,moduleName:A};static property={name:`ɵɵproperty`,moduleName:A};static control={name:`ɵɵcontrol`,moduleName:A};static controlCreate={name:`ɵɵcontrolCreate`,moduleName:A};static animationEnterListener={name:`ɵɵanimateEnterListener`,moduleName:A};static animationLeaveListener={name:`ɵɵanimateLeaveListener`,moduleName:A};static animationEnter={name:`ɵɵanimateEnter`,moduleName:A};static animationLeave={name:`ɵɵanimateLeave`,moduleName:A};static i18n={name:`ɵɵi18n`,moduleName:A};static i18nAttributes={name:`ɵɵi18nAttributes`,moduleName:A};static i18nExp={name:`ɵɵi18nExp`,moduleName:A};static i18nStart={name:`ɵɵi18nStart`,moduleName:A};static i18nEnd={name:`ɵɵi18nEnd`,moduleName:A};static i18nApply={name:`ɵɵi18nApply`,moduleName:A};static i18nPostprocess={name:`ɵɵi18nPostprocess`,moduleName:A};static pipe={name:`ɵɵpipe`,moduleName:A};static projection={name:`ɵɵprojection`,moduleName:A};static projectionDef={name:`ɵɵprojectionDef`,moduleName:A};static reference={name:`ɵɵreference`,moduleName:A};static inject={name:`ɵɵinject`,moduleName:A};static injectAttribute={name:`ɵɵinjectAttribute`,moduleName:A};static directiveInject={name:`ɵɵdirectiveInject`,moduleName:A};static invalidFactory={name:`ɵɵinvalidFactory`,moduleName:A};static invalidFactoryDep={name:`ɵɵinvalidFactoryDep`,moduleName:A};static templateRefExtractor={name:`ɵɵtemplateRefExtractor`,moduleName:A};static forwardRef={name:`forwardRef`,moduleName:A};static resolveForwardRef={name:`resolveForwardRef`,moduleName:A};static replaceMetadata={name:`ɵɵreplaceMetadata`,moduleName:A};static getReplaceMetadataURL={name:`ɵɵgetReplaceMetadataURL`,moduleName:A};static ɵɵdefineInjectable={name:`ɵɵdefineInjectable`,moduleName:A};static declareInjectable={name:`ɵɵngDeclareInjectable`,moduleName:A};static InjectableDeclaration={name:`ɵɵInjectableDeclaration`,moduleName:A};static defineService={name:`ɵɵdefineService`,moduleName:A};static declareService={name:`ɵɵngDeclareService`,moduleName:A};static resolveWindow={name:`ɵɵresolveWindow`,moduleName:A};static resolveDocument={name:`ɵɵresolveDocument`,moduleName:A};static resolveBody={name:`ɵɵresolveBody`,moduleName:A};static getComponentDepsFactory={name:`ɵɵgetComponentDepsFactory`,moduleName:A};static defineComponent={name:`ɵɵdefineComponent`,moduleName:A};static declareComponent={name:`ɵɵngDeclareComponent`,moduleName:A};static setComponentScope={name:`ɵɵsetComponentScope`,moduleName:A};static ChangeDetectionStrategy={name:`ChangeDetectionStrategy`,moduleName:A};static ViewEncapsulation={name:`ViewEncapsulation`,moduleName:A};static ComponentDeclaration={name:`ɵɵComponentDeclaration`,moduleName:A};static FactoryDeclaration={name:`ɵɵFactoryDeclaration`,moduleName:A};static declareFactory={name:`ɵɵngDeclareFactory`,moduleName:A};static FactoryTarget={name:`ɵɵFactoryTarget`,moduleName:A};static defineDirective={name:`ɵɵdefineDirective`,moduleName:A};static declareDirective={name:`ɵɵngDeclareDirective`,moduleName:A};static DirectiveDeclaration={name:`ɵɵDirectiveDeclaration`,moduleName:A};static InjectorDef={name:`ɵɵInjectorDef`,moduleName:A};static InjectorDeclaration={name:`ɵɵInjectorDeclaration`,moduleName:A};static defineInjector={name:`ɵɵdefineInjector`,moduleName:A};static declareInjector={name:`ɵɵngDeclareInjector`,moduleName:A};static NgModuleDeclaration={name:`ɵɵNgModuleDeclaration`,moduleName:A};static ModuleWithProviders={name:`ModuleWithProviders`,moduleName:A};static defineNgModule={name:`ɵɵdefineNgModule`,moduleName:A};static declareNgModule={name:`ɵɵngDeclareNgModule`,moduleName:A};static setNgModuleScope={name:`ɵɵsetNgModuleScope`,moduleName:A};static registerNgModuleType={name:`ɵɵregisterNgModuleType`,moduleName:A};static PipeDeclaration={name:`ɵɵPipeDeclaration`,moduleName:A};static definePipe={name:`ɵɵdefinePipe`,moduleName:A};static declarePipe={name:`ɵɵngDeclarePipe`,moduleName:A};static declareClassMetadata={name:`ɵɵngDeclareClassMetadata`,moduleName:A};static declareClassMetadataAsync={name:`ɵɵngDeclareClassMetadataAsync`,moduleName:A};static setClassMetadata={name:`ɵsetClassMetadata`,moduleName:A};static setClassMetadataAsync={name:`ɵsetClassMetadataAsync`,moduleName:A};static setClassDebugInfo={name:`ɵsetClassDebugInfo`,moduleName:A};static queryRefresh={name:`ɵɵqueryRefresh`,moduleName:A};static viewQuery={name:`ɵɵviewQuery`,moduleName:A};static loadQuery={name:`ɵɵloadQuery`,moduleName:A};static contentQuery={name:`ɵɵcontentQuery`,moduleName:A};static viewQuerySignal={name:`ɵɵviewQuerySignal`,moduleName:A};static contentQuerySignal={name:`ɵɵcontentQuerySignal`,moduleName:A};static queryAdvance={name:`ɵɵqueryAdvance`,moduleName:A};static twoWayProperty={name:`ɵɵtwoWayProperty`,moduleName:A};static twoWayBindingSet={name:`ɵɵtwoWayBindingSet`,moduleName:A};static twoWayListener={name:`ɵɵtwoWayListener`,moduleName:A};static declareLet={name:`ɵɵdeclareLet`,moduleName:A};static storeLet={name:`ɵɵstoreLet`,moduleName:A};static readContextLet={name:`ɵɵreadContextLet`,moduleName:A};static arrowFunction={name:`ɵɵarrowFunction`,moduleName:A};static attachSourceLocations={name:`ɵɵattachSourceLocations`,moduleName:A};static NgOnChangesFeature={name:`ɵɵNgOnChangesFeature`,moduleName:A};static ControlFeature={name:`ɵɵControlFeature`,moduleName:A};static InheritDefinitionFeature={name:`ɵɵInheritDefinitionFeature`,moduleName:A};static ProvidersFeature={name:`ɵɵProvidersFeature`,moduleName:A};static HostDirectivesFeature={name:`ɵɵHostDirectivesFeature`,moduleName:A};static ExternalStylesFeature={name:`ɵɵExternalStylesFeature`,moduleName:A};static listener={name:`ɵɵlistener`,moduleName:A};static getInheritedFactory={name:`ɵɵgetInheritedFactory`,moduleName:A};static sanitizeHtml={name:`ɵɵsanitizeHtml`,moduleName:A};static sanitizeStyle={name:`ɵɵsanitizeStyle`,moduleName:A};static validateAttribute={name:`ɵɵvalidateAttribute`,moduleName:A};static sanitizeResourceUrl={name:`ɵɵsanitizeResourceUrl`,moduleName:A};static sanitizeScript={name:`ɵɵsanitizeScript`,moduleName:A};static sanitizeUrl={name:`ɵɵsanitizeUrl`,moduleName:A};static sanitizeUrlOrResourceUrl={name:`ɵɵsanitizeUrlOrResourceUrl`,moduleName:A};static trustConstantHtml={name:`ɵɵtrustConstantHtml`,moduleName:A};static trustConstantResourceUrl={name:`ɵɵtrustConstantResourceUrl`,moduleName:A};static inputDecorator={name:`Input`,moduleName:A};static outputDecorator={name:`Output`,moduleName:A};static viewChildDecorator={name:`ViewChild`,moduleName:A};static viewChildrenDecorator={name:`ViewChildren`,moduleName:A};static contentChildDecorator={name:`ContentChild`,moduleName:A};static contentChildrenDecorator={name:`ContentChildren`,moduleName:A};static InputSignalBrandWriteType={name:`ɵINPUT_SIGNAL_BRAND_WRITE_TYPE`,moduleName:A};static UnwrapDirectiveSignalInputs={name:`ɵUnwrapDirectiveSignalInputs`,moduleName:A};static unwrapWritableSignal={name:`ɵunwrapWritableSignal`,moduleName:A};static assertType={name:`ɵassertType`,moduleName:A}}return e})();k.And,k.Bigger,k.BiggerEquals,k.BitwiseOr,k.BitwiseAnd,k.Divide,k.Assign,k.Equals,k.Identical,k.Lower,k.LowerEquals,k.Minus,k.Modulo,k.Exponentiation,k.Multiply,k.NotEquals,k.NotIdentical,k.NullishCoalesce,k.Or,k.Plus,k.In,k.InstanceOf,k.AdditionAssignment,k.SubtractionAssignment,k.MultiplicationAssignment,k.DivisionAssignment,k.RemainderAssignment,k.ExponentiationAssignment,k.AndAssignment,k.OrAssignment,k.NullishCoalesceAssignment;var St=class{span;sourceSpan;constructor(e,t){this.span=e,this.sourceSpan=t}toString(){return`AST`}},Ct=class extends St{receiver;args;argumentSpan;constructor(e,t,n,r,i){super(e,t),this.receiver=n,this.args=r,this.argumentSpan=i}visit(e,t=null){return e.visitCall(this,t)}},wt=(function(e){return e[e.Property=0]=`Property`,e[e.Attribute=1]=`Attribute`,e[e.Class=2]=`Class`,e[e.Style=3]=`Style`,e[e.LegacyAnimation=4]=`LegacyAnimation`,e[e.TwoWay=5]=`TwoWay`,e[e.Animation=6]=`Animation`,e})(wt||{}),Tt=`(:(where|is)\\()?`,Et=`-shadowcsshost`,Dt=`-shadowcsscontext`,Ot=`[^)(]*`,kt=String.raw`(?:\(${Ot}\)|${Ot})+?`,At=String.raw`(?:\(${kt}\)|${Ot})+?`,jt=String.raw`(?:\((${At})\))`;String.raw`(:nth-[-\w]+)`+jt,Et+jt+``,`${Tt}`,Dt+jt+``;var M=(function(e){return e[e.ListEnd=0]=`ListEnd`,e[e.Statement=1]=`Statement`,e[e.Variable=2]=`Variable`,e[e.ElementStart=3]=`ElementStart`,e[e.Element=4]=`Element`,e[e.ForeignComponent=5]=`ForeignComponent`,e[e.Template=6]=`Template`,e[e.ElementEnd=7]=`ElementEnd`,e[e.ContainerStart=8]=`ContainerStart`,e[e.Container=9]=`Container`,e[e.ContainerEnd=10]=`ContainerEnd`,e[e.DisableBindings=11]=`DisableBindings`,e[e.ConditionalCreate=12]=`ConditionalCreate`,e[e.ConditionalBranchCreate=13]=`ConditionalBranchCreate`,e[e.Conditional=14]=`Conditional`,e[e.EnableBindings=15]=`EnableBindings`,e[e.Text=16]=`Text`,e[e.Listener=17]=`Listener`,e[e.InterpolateText=18]=`InterpolateText`,e[e.Binding=19]=`Binding`,e[e.Property=20]=`Property`,e[e.StyleProp=21]=`StyleProp`,e[e.ClassProp=22]=`ClassProp`,e[e.StyleMap=23]=`StyleMap`,e[e.ClassMap=24]=`ClassMap`,e[e.Advance=25]=`Advance`,e[e.Pipe=26]=`Pipe`,e[e.Attribute=27]=`Attribute`,e[e.ExtractedAttribute=28]=`ExtractedAttribute`,e[e.Defer=29]=`Defer`,e[e.DeferOn=30]=`DeferOn`,e[e.DeferWhen=31]=`DeferWhen`,e[e.I18nMessage=32]=`I18nMessage`,e[e.DomProperty=33]=`DomProperty`,e[e.Namespace=34]=`Namespace`,e[e.ProjectionDef=35]=`ProjectionDef`,e[e.EnableIncrementalHydrationRuntime=36]=`EnableIncrementalHydrationRuntime`,e[e.Projection=37]=`Projection`,e[e.Content=38]=`Content`,e[e.RepeaterCreate=39]=`RepeaterCreate`,e[e.Repeater=40]=`Repeater`,e[e.TwoWayProperty=41]=`TwoWayProperty`,e[e.TwoWayListener=42]=`TwoWayListener`,e[e.DeclareLet=43]=`DeclareLet`,e[e.StoreLet=44]=`StoreLet`,e[e.I18nStart=45]=`I18nStart`,e[e.I18n=46]=`I18n`,e[e.I18nEnd=47]=`I18nEnd`,e[e.I18nExpression=48]=`I18nExpression`,e[e.I18nApply=49]=`I18nApply`,e[e.IcuStart=50]=`IcuStart`,e[e.IcuEnd=51]=`IcuEnd`,e[e.IcuPlaceholder=52]=`IcuPlaceholder`,e[e.I18nContext=53]=`I18nContext`,e[e.I18nAttributes=54]=`I18nAttributes`,e[e.SourceLocation=55]=`SourceLocation`,e[e.Animation=56]=`Animation`,e[e.AnimationString=57]=`AnimationString`,e[e.AnimationBinding=58]=`AnimationBinding`,e[e.AnimationListener=59]=`AnimationListener`,e[e.Control=60]=`Control`,e[e.ControlCreate=61]=`ControlCreate`,e})(M||{}),Mt=(function(e){return e[e.LexicalRead=0]=`LexicalRead`,e[e.Context=1]=`Context`,e[e.TrackContext=2]=`TrackContext`,e[e.ReadVariable=3]=`ReadVariable`,e[e.NextContext=4]=`NextContext`,e[e.Reference=5]=`Reference`,e[e.StoreLet=6]=`StoreLet`,e[e.ContextLetReference=7]=`ContextLetReference`,e[e.GetCurrentView=8]=`GetCurrentView`,e[e.RestoreView=9]=`RestoreView`,e[e.ResetView=10]=`ResetView`,e[e.PureFunctionExpr=11]=`PureFunctionExpr`,e[e.PureFunctionParameterExpr=12]=`PureFunctionParameterExpr`,e[e.PipeBinding=13]=`PipeBinding`,e[e.PipeBindingVariadic=14]=`PipeBindingVariadic`,e[e.SafePropertyRead=15]=`SafePropertyRead`,e[e.SafeKeyedRead=16]=`SafeKeyedRead`,e[e.SafeNavigationMigration=17]=`SafeNavigationMigration`,e[e.SafeTernaryExpr=18]=`SafeTernaryExpr`,e[e.EmptyExpr=19]=`EmptyExpr`,e[e.AssignTemporaryExpr=20]=`AssignTemporaryExpr`,e[e.ReadTemporaryExpr=21]=`ReadTemporaryExpr`,e[e.SlotLiteralExpr=22]=`SlotLiteralExpr`,e[e.ConditionalCase=23]=`ConditionalCase`,e[e.ConstCollected=24]=`ConstCollected`,e[e.TwoWayBindingSet=25]=`TwoWayBindingSet`,e[e.ForeignContent=26]=`ForeignContent`,e[e.ArrowFunction=27]=`ArrowFunction`,e})(Mt||{}),Nt=(function(e){return e[e.None=0]=`None`,e[e.AlwaysInline=1]=`AlwaysInline`,e})(Nt||{}),Pt=(function(e){return e[e.Context=0]=`Context`,e[e.Identifier=1]=`Identifier`,e[e.SavedView=2]=`SavedView`,e[e.Alias=3]=`Alias`,e})(Pt||{}),Ft=(function(e){return e[e.Attribute=0]=`Attribute`,e[e.ClassName=1]=`ClassName`,e[e.StyleProperty=2]=`StyleProperty`,e[e.Property=3]=`Property`,e[e.Template=4]=`Template`,e[e.I18n=5]=`I18n`,e[e.LegacyAnimation=6]=`LegacyAnimation`,e[e.TwoWayProperty=7]=`TwoWayProperty`,e[e.Animation=8]=`Animation`,e})(Ft||{}),It=(function(e){return e[e.Creation=0]=`Creation`,e[e.Postproccessing=1]=`Postproccessing`,e})(It||{}),Lt=(function(e){return e[e.I18nText=0]=`I18nText`,e[e.I18nAttribute=1]=`I18nAttribute`,e})(Lt||{}),Rt=(function(e){return e[e.None=0]=`None`,e[e.ElementTag=1]=`ElementTag`,e[e.TemplateTag=2]=`TemplateTag`,e[e.OpenTag=4]=`OpenTag`,e[e.CloseTag=8]=`CloseTag`,e[e.ExpressionIndex=16]=`ExpressionIndex`,e})(Rt||{}),zt=(function(e){return e[e.HTML=0]=`HTML`,e[e.SVG=1]=`SVG`,e[e.Math=2]=`Math`,e})(zt||{}),Bt=(function(e){return e[e.Idle=0]=`Idle`,e[e.Immediate=1]=`Immediate`,e[e.Timer=2]=`Timer`,e[e.Hover=3]=`Hover`,e[e.Interaction=4]=`Interaction`,e[e.Viewport=5]=`Viewport`,e[e.Never=6]=`Never`,e})(Bt||{}),Vt=(function(e){return e[e.RootI18n=0]=`RootI18n`,e[e.Icu=1]=`Icu`,e[e.Attr=2]=`Attr`,e})(Vt||{}),Ht=(function(e){return e[e.NgTemplate=0]=`NgTemplate`,e[e.Structural=1]=`Structural`,e[e.Block=2]=`Block`,e})(Ht||{}),Ut=(function(e){return e[e.None=0]=`None`,e[e.InChildOperation=1]=`InChildOperation`,e[e.InArrowFunctionOperation=2]=`InArrowFunctionOperation`,e[e.InSafeNavigationMigration=4]=`InSafeNavigationMigration`,e})(Ut||{});M.Element,M.ElementStart,M.Container,M.ContainerStart,M.Template,M.RepeaterCreate,M.ConditionalCreate,M.ConditionalBranchCreate;var N=(function(e){return e[e.Tmpl=0]=`Tmpl`,e[e.Host=1]=`Host`,e[e.Both=2]=`Both`,e})(N||{}),Wt=(function(e){return e[e.Full=0]=`Full`,e[e.DomOnly=1]=`DomOnly`,e})(Wt||{});j.ariaProperty,j.ariaProperty,j.attribute,j.attribute,j.classProp,j.classProp,j.element,j.element,j.elementContainer,j.elementContainer,j.elementContainerEnd,j.elementContainerEnd,j.elementContainerStart,j.elementContainerStart,j.elementEnd,j.elementEnd,j.elementStart,j.elementStart,j.domProperty,j.domProperty,j.i18nExp,j.i18nExp,j.listener,j.listener,j.listener,j.listener,j.property,j.property,j.styleProp,j.styleProp,j.syntheticHostListener,j.syntheticHostListener,j.syntheticHostProperty,j.syntheticHostProperty,j.templateCreate,j.templateCreate,j.twoWayProperty,j.twoWayProperty,j.twoWayListener,j.twoWayListener,j.declareLet,j.declareLet,j.conditionalCreate,j.conditionalBranchCreate,j.conditionalBranchCreate,j.conditionalBranchCreate,j.domElement,j.domElement,j.domElementStart,j.domElementStart,j.domElementEnd,j.domElementEnd,j.domElementContainer,j.domElementContainer,j.domElementContainerStart,j.domElementContainerStart,j.domElementContainerEnd,j.domElementContainerEnd,j.domListener,j.domListener,j.domTemplate,j.domTemplate,j.animationEnter,j.animationEnter,j.animationLeave,j.animationLeave,j.animationEnterListener,j.animationEnterListener,j.animationLeaveListener,j.animationLeaveListener,k.And,k.Bigger,k.BiggerEquals,k.BitwiseOr,k.BitwiseAnd,k.Divide,k.Assign,k.Equals,k.Identical,k.Lower,k.LowerEquals,k.Minus,k.Modulo,k.Exponentiation,k.Multiply,k.NotEquals,k.NotIdentical,k.NullishCoalesce,k.Or,k.Plus,k.In,k.InstanceOf,k.AdditionAssignment,k.SubtractionAssignment,k.MultiplicationAssignment,k.DivisionAssignment,k.RemainderAssignment,k.ExponentiationAssignment,k.AndAssignment,k.OrAssignment,k.NullishCoalesceAssignment,M.Property,M.Property,M.Property,M.Attribute,M.Attribute,M.Property,M.TwoWayProperty,M.Container,M.ContainerStart,M.ContainerEnd,M.Element,M.ElementStart,M.ElementEnd,M.Template,M.ElementEnd,M.ElementStart,M.Element,M.ContainerEnd,M.ContainerStart,M.Container,M.I18nEnd,M.I18nStart,M.I18n,M.Pipe;var Gt=` \f -\r \v ᠎ - \u2028\u2029   `;`${Gt}`,`${Gt}`;var Kt=(function(e){return e[e.Character=0]=`Character`,e[e.Identifier=1]=`Identifier`,e[e.PrivateIdentifier=2]=`PrivateIdentifier`,e[e.Keyword=3]=`Keyword`,e[e.String=4]=`String`,e[e.Operator=5]=`Operator`,e[e.Number=6]=`Number`,e[e.RegExpBody=7]=`RegExpBody`,e[e.RegExpFlags=8]=`RegExpFlags`,e[e.Error=9]=`Error`,e})(Kt||{}),qt=(function(e){return e[e.Plain=0]=`Plain`,e[e.TemplateLiteralPart=1]=`TemplateLiteralPart`,e[e.TemplateLiteralEnd=2]=`TemplateLiteralEnd`,e})(qt||{});Kt.Character,M.StyleMap,M.ClassMap,M.StyleProp,M.ClassProp,M.Attribute,M.Property,M.Attribute,M.Control,M.DomProperty,M.DomProperty,M.Attribute,M.StyleMap,M.ClassMap,M.StyleProp,M.ClassProp,M.Listener,M.TwoWayListener,M.AnimationListener,M.StyleMap,M.ClassMap,M.StyleProp,M.ClassProp,M.Property,M.TwoWayProperty,M.DomProperty,M.Attribute,M.Animation,M.Control,Bt.Idle,j.deferOnIdle,j.deferPrefetchOnIdle,j.deferHydrateOnIdle,Bt.Immediate,j.deferOnImmediate,j.deferPrefetchOnImmediate,j.deferHydrateOnImmediate,Bt.Timer,j.deferOnTimer,j.deferPrefetchOnTimer,j.deferHydrateOnTimer,Bt.Hover,j.deferOnHover,j.deferPrefetchOnHover,j.deferHydrateOnHover,Bt.Interaction,j.deferOnInteraction,j.deferPrefetchOnInteraction,j.deferHydrateOnInteraction,Bt.Viewport,j.deferOnViewport,j.deferPrefetchOnViewport,j.deferHydrateOnViewport,Bt.Never,j.deferHydrateNever,j.deferHydrateNever,j.deferHydrateNever,j.pipeBind1,j.pipeBind2,j.pipeBind3,j.pipeBind4,j.textInterpolate,j.textInterpolate1,j.textInterpolate2,j.textInterpolate3,j.textInterpolate4,j.textInterpolate5,j.textInterpolate6,j.textInterpolate7,j.textInterpolate8,j.textInterpolateV,j.interpolate,j.interpolate1,j.interpolate2,j.interpolate3,j.interpolate4,j.interpolate5,j.interpolate6,j.interpolate7,j.interpolate8,j.interpolateV,j.pureFunction0,j.pureFunction1,j.pureFunction2,j.pureFunction3,j.pureFunction4,j.pureFunction5,j.pureFunction6,j.pureFunction7,j.pureFunction8,j.pureFunctionV,j.resolveWindow,j.resolveDocument,j.resolveBody,qe.HTML,j.sanitizeHtml,qe.RESOURCE_URL,j.sanitizeResourceUrl,qe.SCRIPT,j.sanitizeScript,qe.STYLE,j.sanitizeStyle,qe.URL,j.sanitizeUrl,qe.ATTRIBUTE_NO_BINDING,j.validateAttribute,qe.HTML,j.trustConstantHtml,qe.RESOURCE_URL,j.trustConstantResourceUrl;var Jt=(function(e){return e[e.None=0]=`None`,e[e.ViewContextRead=1]=`ViewContextRead`,e[e.ViewContextWrite=2]=`ViewContextWrite`,e[e.SideEffectful=4]=`SideEffectful`,e})(Jt||{});N.Tmpl,N.Tmpl,N.Both,N.Host,N.Tmpl,N.Tmpl,N.Tmpl,N.Both,N.Both,N.Both,N.Tmpl,N.Both,N.Both,N.Tmpl,N.Both,N.Tmpl,N.Both,N.Both,N.Tmpl,N.Tmpl,N.Tmpl,N.Tmpl,N.Tmpl,N.Both,N.Both,N.Tmpl,N.Tmpl,N.Tmpl,N.Tmpl,N.Both,N.Both,N.Both,N.Tmpl,N.Tmpl,N.Both,N.Tmpl,N.Tmpl,N.Tmpl,N.Both,N.Both,N.Tmpl,N.Both,N.Both,N.Both,N.Both,N.Both,N.Tmpl,N.Tmpl,N.Tmpl,N.Tmpl,N.Tmpl,N.Tmpl,N.Tmpl,N.Tmpl,N.Tmpl,N.Tmpl,N.Tmpl,N.Tmpl,N.Both,N.Tmpl,N.Both,N.Tmpl,N.Both,N.Tmpl,N.Tmpl,N.Tmpl,N.Tmpl,N.Tmpl,N.Tmpl,N.Both,N.Both,N.Both,wt.Property,Ft.Property,wt.TwoWay,Ft.TwoWayProperty,wt.Attribute,Ft.Attribute,wt.Class,Ft.ClassName,wt.Style,Ft.StyleProperty,wt.LegacyAnimation,Ft.LegacyAnimation,wt.Animation,Ft.Animation;var Yt=`%COMP%`;`${Yt}`,`${Yt}`,class e{static SINGLETON=new e;static veWillInferAnyFor(t){let n=e.SINGLETON;return t instanceof Ct?t.visit(n):t.receiver.visit(n)}visitUnary(e){return e.expr.visit(this)}visitBinary(e){return e.left.visit(this)||e.right.visit(this)}visitChain(){return!1}visitConditional(e){return e.condition.visit(this)||e.trueExp.visit(this)||e.falseExp.visit(this)}visitCall(){return!0}visitSafeCall(){return!1}visitImplicitReceiver(){return!1}visitThisReceiver(){return!1}visitInterpolation(e){return e.expressions.some(e=>e.visit(this))}visitKeyedRead(){return!1}visitLiteralArray(){return!0}visitLiteralMap(){return!0}visitLiteralPrimitive(){return!1}visitPipe(){return!0}visitPrefixNot(e){return e.expression.visit(this)}visitTypeofExpression(e){return e.expression.visit(this)}visitVoidExpression(e){return e.expression.visit(this)}visitNonNullAssert(e){return e.expression.visit(this)}visitPropertyRead(){return!1}visitSafePropertyRead(){return!1}visitSafeKeyedRead(){return!1}visitTemplateLiteral(){return!1}visitTemplateLiteralElement(){return!1}visitTaggedTemplateLiteral(){return!1}visitParenthesizedExpression(e){return e.expression.visit(this)}visitRegularExpressionLiteral(){return!1}visitSpreadElement(e){return e.expression.visit(this)}visitArrowFunction(e,t){return!1}};var Xt=null,Zt=!1,Qt=1,$t=null,en=Symbol(`SIGNAL`);function P(e){let t=Xt;return Xt=e,t}function tn(){return Xt}var nn={version:0,lastCleanEpoch:0,dirty:!1,producers:void 0,producersTail:void 0,consumers:void 0,consumersTail:void 0,recomputing:!1,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,kind:`unknown`,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function rn(e){if(Zt)throw Error(``);if(Xt===null)return;Xt.consumerOnSignalRead(e);let t=Xt.producersTail;if(t!==void 0&&t.producer===e)return;let n,r=Xt.recomputing;if(r&&(n=t===void 0?Xt.producers:t.nextProducer,n!==void 0&&n.producer===e)){Xt.producersTail=n,n.lastReadVersion=e.version,n.knownValidAtEpoch=Qt;return}let i=e.consumersTail;if(i!==void 0&&i.consumer===Xt&&(!r||i.knownValidAtEpoch===Qt))return;let a=yn(Xt),o={producer:e,consumer:Xt,nextProducer:n,prevConsumer:void 0,knownValidAtEpoch:Qt,lastReadVersion:e.version,nextConsumer:void 0};Xt.producersTail=o,t===void 0?Xt.producers=o:t.nextProducer=o,a&&_n(e,o)}function an(){Qt++}function on(e){if((!yn(e)||e.dirty)&&(e.dirty||e.lastCleanEpoch!==Qt)){if(!e.producerMustRecompute(e)&&!hn(e)){un(e);return}e.producerRecomputeValue(e),un(e)}}function sn(e){if(e.consumers===void 0)return;let t=Zt;Zt=!0;try{for(let t=e.consumers;t!==void 0;t=t.nextConsumer){let e=t.consumer;e.dirty||ln(e)}}finally{Zt=t}}function cn(){return Xt?.consumerAllowSignalWrites!==!1}function ln(e){e.dirty=!0,sn(e),e.consumerMarkedDirty?.(e)}function un(e){e.dirty=!1,e.lastCleanEpoch=Qt}function dn(e){return e&&fn(e),P(e)}function fn(e){if(e.producersTail?.knownValidAtEpoch===Qt){let t=e.producers;for(;t!==void 0;)t.knownValidAtEpoch=null,t=t.nextProducer}e.producersTail=void 0,e.recomputing=!0}function pn(e,t){P(t),e&&mn(e)}function mn(e){e.recomputing=!1;let t=e.producersTail,n=t===void 0?e.producers:t.nextProducer;if(n!==void 0){if(yn(e))do n=vn(n);while(n!==void 0);t===void 0?e.producers=void 0:t.nextProducer=void 0}}function hn(e){for(let t=e.producers;t!==void 0;t=t.nextProducer){let e=t.producer,n=t.lastReadVersion;if(n!==e.version||(on(e),n!==e.version))return!0}return!1}function gn(e){if(yn(e)){let t=e.producers;for(;t!==void 0;)t=vn(t)}e.producers=void 0,e.producersTail=void 0,e.consumers=void 0,e.consumersTail=void 0}function _n(e,t){let n=e.consumersTail,r=yn(e);if(n===void 0?(t.nextConsumer=void 0,e.consumers=t):(t.nextConsumer=n.nextConsumer,n.nextConsumer=t),t.prevConsumer=n,e.consumersTail=t,!r)for(let t=e.producers;t!==void 0;t=t.nextProducer)_n(t.producer,t)}function vn(e){let t=e.producer,n=e.nextProducer,r=e.nextConsumer,i=e.prevConsumer;if(e.nextConsumer=void 0,e.prevConsumer=void 0,r===void 0?t.consumersTail=i:r.prevConsumer=i,i!==void 0)i.nextConsumer=r;else if(t.consumers=r,!yn(t)){let e=t.producers;for(;e!==void 0;)e=vn(e)}return n}function yn(e){return e.consumerIsAlwaysLive||e.consumers!==void 0}function bn(e){$t?.(e)}function xn(e,t){return Object.is(e,t)}function Sn(e,t){let n=Object.create(En);n.computation=e,t!==void 0&&(n.equal=t);let r=()=>{if(on(n),rn(n),n.value===Tn)throw n.error;return n.value};return r[en]=n,bn(n),r}var Cn=Symbol(`UNSET`),wn=Symbol(`COMPUTING`),Tn=Symbol(`ERRORED`),En={...nn,value:Cn,dirty:!0,error:null,equal:xn,kind:`computed`,producerMustRecompute(e){return e.value===Cn||e.value===wn},producerRecomputeValue(e){if(e.value===wn)throw Error(``);let t=e.value;e.value=wn;let n=dn(e),r,i=!1;try{r=e.computation(),P(null),i=t!==Cn&&t!==Tn&&r!==Tn&&e.equal(t,r)}catch(t){r=Tn,e.error=t}finally{pn(e,n)}if(i){e.value=t;return}e.value=r,e.version++}};function Dn(){throw Error()}var On=Dn;function kn(e){On(e)}function An(e){On=e}var jn=null;function Mn(e,t){let n=Object.create(In);n.value=e,t!==void 0&&(n.equal=t);let r=()=>Nn(n);return r[en]=n,bn(n),[r,e=>Pn(n,e),e=>Fn(n,e)]}function Nn(e){return rn(e),e.value}function Pn(e,t){cn()||kn(e),e.equal(e.value,t)||(e.value=t,Ln(e))}function Fn(e,t){cn()||kn(e),Pn(e,t(e.value))}var In={...nn,equal:xn,value:void 0,kind:`signal`};function Ln(e){e.version++,an(),sn(e),jn?.(e)}var Rn={...nn,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!0,dirty:!0,kind:`effect`};function zn(e){if(e.dirty=!1,e.version>0&&!hn(e))return;e.version++;let t=dn(e);try{e.cleanup(),e.fn()}finally{pn(e,t)}}var Bn=void 0;function Vn(){return Bn}function Hn(e){let t=Bn;return Bn=e,t}var Un=Symbol(`NotFound`);function Wn(e){return e===Un||e?.name===`ɵNotFound`}var Gn=function(e,t){return Gn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},Gn(e,t)};function Kn(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Class extends value `+String(t)+` is not a constructor or null`);Gn(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function qn(e){var t=typeof Symbol==`function`&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length==`number`)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?`Object is not iterable.`:`Symbol.iterator is not defined.`)}function Jn(e,t){var n=typeof Symbol==`function`&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,a=[],o;try{for(;(t===void 0||t-->0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a}function Yn(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(t){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)},t.prototype._innerSubscribe=function(e){var t=this,n=this,r=n.hasError,i=n.isStopped,a=n.observers;return r||i?tr:(this.currentObservers=null,a.push(e),new er(function(){t.currentObservers=null,$n(a,e)}))},t.prototype._checkFinalizedStatuses=function(e){var t=this,n=t.hasError,r=t.thrownError,i=t.isStopped;n?e.error(r):i&&e.complete()},t.prototype.asObservable=function(){var e=new Dr;return e.source=this,e},t.create=function(e,t){return new Lr(e,t)},t}(Dr),Lr=function(e){Kn(t,e);function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return t.prototype.next=function(e){var t,n;(n=(t=this.destination)?.next)==null||n.call(t,e)},t.prototype.error=function(e){var t,n;(n=(t=this.destination)?.error)==null||n.call(t,e)},t.prototype.complete=function(){var e,t;(t=(e=this.destination)?.complete)==null||t.call(e)},t.prototype._subscribe=function(e){return this.source?.subscribe(e)??tr},t}(Ir),Rr=function(e){Kn(t,e);function t(t){var n=e.call(this)||this;return n._value=t,n}return Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(t){var n=e.prototype._subscribe.call(this,t);return!n.closed&&t.next(this._value),n},t.prototype.getValue=function(){var e=this,t=e.hasError,n=e.thrownError,r=e._value;if(t)throw n;return this._throwIfClosed(),r},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(Ir);function zr(e,t){return Mr(function(n,r){var i=0;n.subscribe(Nr(r,function(n){r.next(e.call(t,n,i++))}))})}var Br=`https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss`,F=class extends Error{code;constructor(e,t){super(Hr(e,t)),this.code=e}};function Vr(e){return`NG0${Math.abs(e)}`}function Hr(e,t){return`${Vr(e)}${t?`: `+t:``}`}function I(e){for(let t in e)if(e[t]===I)return t;throw Error(``)}function Ur(e){if(typeof e==`string`)return e;if(Array.isArray(e))return`[${e.map(Ur).join(`, `)}]`;if(e==null)return``+e;let t=e.overriddenName||e.name;if(t)return`${t}`;let n=e.toString();if(n==null)return``+n;let r=n.indexOf(` -`);return r>=0?n.slice(0,r):n}function Wr(e,t){return e?t?`${e} ${t}`:e:t||``}var Gr=I({__forward_ref__:I});function Kr(e){return e.__forward_ref__=Kr,e}function qr(e){return Jr(e)?e():e}function Jr(e){return typeof e==`function`&&Object.hasOwn(e,Gr)&&e.__forward_ref__===Kr}function Yr(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Xr(e){return Zr(e,ei)}function Zr(e,t){return Object.hasOwn(e,t)&&e[t]||null}function Qr(e){return(e?.[ei]??null)||null}function $r(e){return e&&Object.hasOwn(e,ti)?e[ti]:null}var ei=I({ɵprov:I}),ti=I({ɵinj:I}),L=class{_desc;ngMetadataName=`InjectionToken`;ɵprov;constructor(e,t){this._desc=e,this.ɵprov=void 0,typeof t==`number`?this.__NG_ELEMENT_ID__=t:t!==void 0&&(this.ɵprov=Yr({token:this,providedIn:t.providedIn||`root`,factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function ni(e){return e&&!!e.ɵproviders}var ri=I({ɵcmp:I}),ii=I({ɵdir:I}),ai=I({ɵpipe:I}),oi=I({ɵfac:I}),si=I({__NG_ELEMENT_ID__:I}),ci=I({__NG_ENV_ID__:I});function li(e){return fi(e,`@Component`),e[ri]||null}function ui(e){return fi(e,`@Directive`),e[ii]||null}function di(e){return fi(e,`@Pipe`),e[ai]||null}function fi(e,t){if(e==null)throw new F(-919,!1)}function pi(e){return typeof e==`string`?e:e==null?``:String(e)}var mi=I({ngErrorCode:I}),hi=I({ngErrorMessage:I}),gi=I({ngTokenPath:I});function _i(e,t){return yi(``,-200,t)}function vi(e,t){throw new F(-201,!1)}function yi(e,t,n){let r=new F(t,e);return r[mi]=t,r[hi]=e,n&&(r[gi]=n),r}function bi(e){return e[mi]}var xi;function Si(){return xi}function Ci(e){let t=xi;return xi=e,t}function wi(e,t,n){let r=Xr(e);if(r&&r.providedIn==`root`)return r.value===void 0?r.value=r.factory():r.value;if(n&8)return null;if(t!==void 0)return t;vi(e,``)}var Ti={},Ei=`__NG_DI_FLAG__`,Di=class{injector;constructor(e){this.injector=e}retrieve(e,t){let n=ki(t)||0;try{return this.injector.get(e,n&8?null:Ti,n)}catch(e){if(Wn(e))return e;throw e}}};function Oi(e,t=0){let n=Vn();if(n===void 0)throw new F(-203,!1);if(n===null)return wi(e,void 0,t);{let r=Ai(t),i=n.retrieve(e,r);if(Wn(i)){if(r.optional)return null;throw i}return i}}function R(e,t=0){return(Si()||Oi)(qr(e),t)}function z(e,t){return R(e,ki(t))}function ki(e){return e===void 0||typeof e==`number`?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Ai(e){return{optional:!!(e&8),host:!!(e&1),self:!!(e&2),skipSelf:!!(e&4)}}function ji(e){let t=[];for(let n=0;nArray.isArray(e)?Pi(e,t):t(e))}function Fi(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function Ii(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Li(e,t,n,r){let i=e.length;if(i==t)e.push(n,r);else if(i===1)e.push(r,e[0]),e[0]=n;else{for(i--,e.push(e[i-1],e[i]);i>t;){let t=i-2;e[i]=e[t],i--}e[t]=n,e[t+1]=r}}function Ri(e,t,n){let r=Bi(e,t);return r>=0?e[r|1]=n:(r=~r,Li(e,r,t,n)),r}function zi(e,t){let n=Bi(e,t);if(n>=0)return e[n|1]}function Bi(e,t){return Vi(e,t,1)}function Vi(e,t,n){let r=0,i=e.length>>n;for(;i!==r;){let a=r+(i-r>>1),o=e[a<t?i=a:r=a+1}return~(i<{n.push(e)};return Pi(t,e=>{let t=e;Zi(t,a,[],r)&&(i||=[],i.push(t))}),i!==void 0&&Xi(i,a),n}function Xi(e,t){for(let n=0;n{t(e,r)})}}function Zi(e,t,n,r){if(e=qr(e),!e)return!1;let i=null,a=$r(e),o=!a&&li(e);if(!a&&!o){let t=e.ngModule;if(a=$r(t),a)i=t;else return!1}else if(o&&!o.standalone)return!1;else i=e;let s=r.has(i);if(o){if(s)return!1;if(r.add(i),o.dependencies){let e=typeof o.dependencies==`function`?o.dependencies():o.dependencies;for(let i of e)Zi(i,t,n,r)}}else if(a){if(a.imports!=null&&!s){r.add(i);let e;try{Pi(a.imports,i=>{Zi(i,t,n,r)&&(e||=[],e.push(i))})}finally{}e!==void 0&&Xi(e,t)}if(!s){let e=Ni(i)||(()=>new i);t({provide:i,useFactory:e,deps:Ui},i),t({provide:Ki,useValue:i,multi:!0},i),t({provide:Wi,useValue:()=>R(i),multi:!0},i)}let o=a.providers;if(o!=null&&!s){let n=e;Qi(o,e=>{t(e,n)})}}else return!1;return i!==e&&e.providers!==void 0}function Qi(e,t){for(let n of e)ni(n)&&(n=n.ɵproviders),Array.isArray(n)?Qi(n,t):t(n)}var $i=I({provide:String,useValue:I});function ea(e){return typeof e==`object`&&!!e&&$i in e}function ta(e){return!!(e&&e.useExisting)}function na(e){return!!(e&&e.useFactory)}function ra(e){return typeof e==`function`}var ia=new L(``),aa={},oa={},sa=void 0;function ca(){return sa===void 0&&(sa=new qi),sa}var la=class{},ua=class extends la{parent;source;scopes;records=new Map;_ngOnDestroyHooks=new Set;_onDestroyHooks=[];get destroyed(){return this._destroyed}_destroyed=!1;injectorDefTypes;constructor(e,t,n,r){super(),this.parent=t,this.source=n,this.scopes=r,ba(e,e=>this.processProvider(e)),this.records.set(Gi,ga(void 0,this)),r.has(`environment`)&&this.records.set(la,ga(void 0,this));let i=this.records.get(ia);i!=null&&typeof i.value==`string`&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(Ki,Ui,{self:!0}))}retrieve(e,t){let n=ki(t)||0;try{return this.get(e,Ti,n)}catch(e){if(Wn(e))return e;throw e}}destroy(){ha(this),this._destroyed=!0;let e=P(null);try{for(let e of this._ngOnDestroyHooks)e.ngOnDestroy();let e=this._onDestroyHooks;this._onDestroyHooks=[];for(let t of e)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),P(e)}}onDestroy(e){return ha(this),this._onDestroyHooks.push(e),()=>this.removeOnDestroy(e)}runInContext(e){ha(this);let t=Hn(this),n=Ci(void 0);try{return e()}finally{Hn(t),Ci(n)}}get(e,t=Ti,n){if(ha(this),Object.hasOwn(e,ci))return e[ci](this);let r=ki(n),i=Hn(this),a=Ci(void 0);try{if(!(r&4)){let t=this.records.get(e);if(t===void 0){let n=ya(e)&&Xr(e);t=n&&this.injectableDefInScope(n)?ga(da(e),aa):null,this.records.set(e,t)}if(t!=null)return this.hydrate(e,t,r)}let n=r&2?ca():this.parent;return t=r&8&&t===Ti?null:t,n.get(e,t)}catch(e){let t=bi(e);throw t===-200||t===-201?new F(t,null):e}finally{Ci(a),Hn(i)}}resolveInjectorInitializers(){let e=P(null),t=Hn(this),n=Ci(void 0);try{let e=this.get(Wi,Ui,{self:!0});for(let t of e)t()}finally{Hn(t),Ci(n),P(e)}}toString(){return`R3Injector[...]`}processProvider(e){e=qr(e);let t=ra(e)?e:qr(e&&e.provide),n=pa(e);if(!ra(e)&&e.multi===!0){let n=this.records.get(t);n||(n=ga(void 0,aa,!0),n.factory=()=>ji(n.multi),this.records.set(t,n)),t=e,n.multi.push(e)}this.records.set(t,n)}hydrate(e,t,n){let r=P(null);try{if(t.value===oa)throw _i(``);return t.value===aa&&(t.value=oa,t.value=t.factory(void 0,n)),typeof t.value==`object`&&t.value&&va(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}finally{P(r)}}injectableDefInScope(e){if(!e.providedIn)return!1;let t=qr(e.providedIn);return typeof t==`string`?t===`any`||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(e){let t=this._onDestroyHooks.indexOf(e);t!==-1&&this._onDestroyHooks.splice(t,1)}};function da(e){let t=Xr(e),n=t===null?Ni(e):t.factory;if(n!==null)return n;if(e instanceof L)throw new F(-204,!1);if(e instanceof Function)return fa(e);throw new F(-204,!1)}function fa(e){if(e.length>0)throw new F(-204,!1);let t=Qr(e);return t===null?()=>new e:()=>t.factory(e)}function pa(e){return ea(e)?ga(void 0,e.useValue):ga(ma(e),aa)}function ma(e,t,n){let r;if(ra(e)){let t=qr(e);return Ni(t)||da(t)}if(ea(e))r=()=>qr(e.useValue);else if(na(e))r=()=>e.useFactory(...ji(e.deps||[]));else if(ta(e))r=(t,n)=>R(qr(e.useExisting),n!==void 0&&n&8?8:void 0);else{let t=qr(e&&(e.useClass||e.provide));if(_a(e))r=()=>new t(...ji(e.deps));else return Ni(t)||da(t)}return r}function ha(e){if(e.destroyed)throw new F(-205,!1)}function ga(e,t,n=!1){return{factory:e,value:t,multi:n?[]:void 0}}function _a(e){return!!e.deps}function va(e){return typeof e==`object`&&!!e&&typeof e.ngOnDestroy==`function`}function ya(e){return typeof e==`function`||typeof e==`object`&&e.ngMetadataName===`InjectionToken`}function ba(e,t){for(let n of e)Array.isArray(n)?ba(n,t):n&&ni(n)?ba(n.ɵproviders,t):t(n)}function xa(e,t){let n;e instanceof ua?(ha(e),n=e):n=new Di(e);let r=Hn(n),i=Ci(void 0);try{return t()}finally{Hn(r),Ci(i)}}function Sa(){return Si()!==void 0||Vn()!=null}var Ca=1;function wa(e){return Array.isArray(e)&&typeof e[Ca]==`object`}function Ta(e){return Array.isArray(e)&&e[Ca]===!0}function Ea(e){return!!(e.flags&4)}function Da(e){return e.componentOffset>-1}function Oa(e){return(e.flags&1)==1}function ka(e){return!!e.template}function Aa(e){return!!(e[2]&512)}function ja(e){return(e[2]&256)==256}var Ma=`math`;function Na(e){for(;Array.isArray(e);)e=e[0];return e}function Pa(e,t){return Na(t[e])}function Fa(e,t){return Na(t[e.index])}function Ia(e,t){return e.data[t]}function La(e,t){return e[t]}function Ra(e,t,n,r){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=r}function za(e,t){let n=t[e];return wa(n)?n:n[0]}function Ba(e){return(e[2]&128)==128}function Va(e,t){return t==null?null:e[t]}function Ha(e){e[17]=0}function Ua(e){e[2]&1024||(e[2]|=1024,Ba(e)&&qa(e))}function Wa(e,t){for(;e>0;)t=t[14],e--;return t}function Ga(e){return!!(e[2]&9216||e[24]?.dirty)}function Ka(e){e[10].changeDetectionScheduler?.notify(8),e[2]&64&&(e[2]|=1024),Ga(e)&&qa(e)}function qa(e){e[10].changeDetectionScheduler?.notify(0);let t=Xa(e);for(;t!==null&&!(t[2]&8192||(t[2]|=8192,!Ba(t)));)t=Xa(t)}function Ja(e,t){if(ja(e))throw new F(911,!1);e[21]===null&&(e[21]=[]),e[21].push(t)}function Ya(e,t){if(e[21]===null)return;let n=e[21].indexOf(t);n!==-1&&e[21].splice(n,1)}function Xa(e){let t=e[3];return Ta(t)?t[3]:t}function Za(e){return e[7]??=[]}function Qa(e){return e.cleanup??=[]}var B={lFrame:Po(null),bindingsEnabled:!0,skipHydrationRootTNode:null},$a=!1;function eo(){return B.lFrame.elementDepthCount}function to(){B.lFrame.elementDepthCount++}function no(){B.lFrame.elementDepthCount--}function ro(){return B.bindingsEnabled}function io(){return B.skipHydrationRootTNode!==null}function ao(e){return B.skipHydrationRootTNode===e}function oo(){B.skipHydrationRootTNode=null}function V(){return B.lFrame.lView}function so(){return B.lFrame.tView}function co(e){return B.lFrame.contextLView=e,e[8]}function lo(e){return B.lFrame.contextLView=null,e}function uo(){let e=fo();for(;e!==null&&e.type===64;)e=e.parent;return e}function fo(){return B.lFrame.currentTNode}function po(){let e=B.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}function mo(e,t){let n=B.lFrame;n.currentTNode=e,n.isParent=t}function ho(){return B.lFrame.isParent}function go(){B.lFrame.isParent=!1}function _o(){return $a}function vo(e){let t=$a;return $a=e,t}function yo(){let e=B.lFrame,t=e.bindingRootIndex;return t===-1&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}function bo(){return B.lFrame.bindingIndex}function xo(e){return B.lFrame.bindingIndex=e}function So(){return B.lFrame.bindingIndex++}function Co(e){let t=B.lFrame,n=t.bindingIndex;return t.bindingIndex+=e,n}function wo(){return B.lFrame.inI18n}function To(e,t){let n=B.lFrame;n.bindingIndex=n.bindingRootIndex=e,Do(t)}function Eo(){return B.lFrame.currentDirectiveIndex}function Do(e){B.lFrame.currentDirectiveIndex=e}function Oo(e){let t=B.lFrame.currentDirectiveIndex;return t===-1?null:e[t]}function ko(e){B.lFrame.currentQueryIndex=e}function Ao(e){let t=e[1];return t.type===2?t.declTNode:t.type===1?e[5]:null}function jo(e,t,n){if(n&4){let r=t,i=e;for(;r=r.parent,r===null&&!(n&1)&&(r=Ao(i),!(r===null||(i=i[14],r.type&10))););if(r===null)return!1;t=r,e=i}let r=B.lFrame=No();return r.currentTNode=t,r.lView=e,!0}function Mo(e){let t=No(),n=e[1];B.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function No(){let e=B.lFrame,t=e===null?null:e.child;return t===null?Po(e):t}function Po(e){let t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return e!==null&&(e.child=t),t}function Fo(){let e=B.lFrame;return B.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}var Io=Fo;function Lo(){let e=Fo();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function Ro(e){return(B.lFrame.contextLView=Wa(e,B.lFrame.contextLView))[8]}function zo(){return B.lFrame.selectedIndex}function Bo(e){B.lFrame.selectedIndex=e}function Vo(){let e=B.lFrame;return Ia(e.tView,e.selectedIndex)}function Ho(){B.lFrame.currentNamespace=`svg`}function Uo(){Wo()}function Wo(){B.lFrame.currentNamespace=null}function Go(){return B.lFrame.currentNamespace}var Ko=!0;function qo(){return Ko}function Jo(e){Ko=e}function Yo(e,t=null,n=null,r){let i=Xo(e,t,n,r);return i.resolveInjectorInitializers(),i}function Xo(e,t=null,n=null,r,i=new Set){return new ua([n||Ui,Ji(e)],t||ca(),null,i)}var Zo=class e{static THROW_IF_NOT_FOUND=Ti;static NULL=new qi;static create(e,t){if(Array.isArray(e))return Yo({name:``},t,e,``);{let t=e.name??``;return Yo({name:t},e.parent,e.providers,t)}}static ɵprov=Yr({token:e,providedIn:`any`,factory:()=>R(Gi)});static __NG_ELEMENT_ID__=-1},Qo=new L(``),$o=class{static __NG_ELEMENT_ID__=ts;static __NG_ENV_ID__=e=>e},es=class extends $o{_lView;constructor(e){super(),this._lView=e}get destroyed(){return ja(this._lView)}onDestroy(e){let t=this._lView;return Ja(t,e),()=>Ya(t,e)}};function ts(){return new es(V())}var ns=new L(``),rs=(()=>{class e{taskId=0;pendingTasks=new Set;destroyed=!1;pendingTask=new Rr(!1);debugTaskTracker=z(ns,{optional:!0});get hasPendingTasks(){return!this.destroyed&&this.pendingTask.value}get hasPendingTasksObservable(){return this.destroyed?new Dr(e=>{e.next(!1),e.complete()}):this.pendingTask}add(){!this.hasPendingTasks&&!this.destroyed&&this.pendingTask.next(!0);let e=this.taskId++;return this.pendingTasks.add(e),this.debugTaskTracker?.add(e),e}has(e){return this.pendingTasks.has(e)}remove(e){this.pendingTasks.delete(e),this.debugTaskTracker?.remove(e),this.pendingTasks.size===0&&this.hasPendingTasks&&this.pendingTask.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks&&this.pendingTask.next(!1),this.destroyed=!0,this.pendingTask.unsubscribe()}static ɵprov=Yr({token:e,providedIn:`root`,factory:()=>new e})}return e})(),is=class extends Ir{__isAsync;destroyRef=void 0;pendingTasks=void 0;constructor(e=!1){super(),this.__isAsync=e,Sa()&&(this.destroyRef=z($o,{optional:!0})??void 0,this.pendingTasks=z(rs,{optional:!0})??void 0)}emit(e){let t=P(null);try{super.next(e)}finally{P(t)}}subscribe(e,t,n){let r=e,i=t||(()=>null),a=n;if(e&&typeof e==`object`){let t=e;r=t.next?.bind(t),i=t.error?.bind(t),a=t.complete?.bind(t)}this.__isAsync&&(i=this.wrapInTimeout(i),r&&=this.wrapInTimeout(r),a&&=this.wrapInTimeout(a));let o=super.subscribe({next:r,error:i,complete:a});return e instanceof er&&e.add(o),o}wrapInTimeout(e){return t=>{let n=this.pendingTasks?.add();setTimeout(()=>{try{e(t)}finally{n!==void 0&&this.pendingTasks?.remove(n)}})}}};function as(...e){}function os(e){let t,n;function r(){e=as;try{n!==void 0&&typeof cancelAnimationFrame==`function`&&cancelAnimationFrame(n),t!==void 0&&clearTimeout(t)}catch{}}return t=setTimeout(()=>{e(),r()}),typeof requestAnimationFrame==`function`&&(n=requestAnimationFrame(()=>{e(),r()})),()=>r()}function ss(e){return queueMicrotask(()=>e()),()=>{e=as}}var cs=`isAngularZone`,ls=`isAngularZone_ID`,us=0,ds=class e{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new is(!1);onMicrotaskEmpty=new is(!1);onStable=new is(!1);onError=new is(!1);constructor(e){let{enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:n=!1,shouldCoalesceRunChangeDetection:r=!1,scheduleInRootZone:i=!1}=e;if(typeof Zone>`u`)throw new F(908,!1);Zone.assertZonePatched();let a=this;a._nesting=0,a._outer=a._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(a._inner=a._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(a._inner=a._inner.fork(Zone.longStackTraceZoneSpec)),a.shouldCoalesceEventChangeDetection=!r&&n,a.shouldCoalesceRunChangeDetection=r,a.callbackScheduled=!1,a.scheduleInRootZone=i,hs(a)}static isInAngularZone(){return typeof Zone<`u`&&Zone.current.get(cs)===!0}static assertInAngularZone(){if(!e.isInAngularZone())throw new F(909,!1)}static assertNotInAngularZone(){if(e.isInAngularZone())throw new F(909,!1)}run(e,t,n){return this._inner.run(e,t,n)}runTask(e,t,n,r){let i=this._inner,a=i.scheduleEventTask(`NgZoneEvent: `+r,e,fs,as,as);try{return i.runTask(a,t,n)}finally{i.cancelTask(a)}}runGuarded(e,t,n){return this._inner.runGuarded(e,t,n)}runOutsideAngular(e){return this._outer.run(e)}},fs={};function ps(e){if(e._nesting==0&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function ms(e){if(e.isCheckStableRunning||e.callbackScheduled)return;e.callbackScheduled=!0;function t(){os(()=>{e.callbackScheduled=!1,gs(e),e.isCheckStableRunning=!0,ps(e),e.isCheckStableRunning=!1})}e.scheduleInRootZone?Zone.root.run(()=>{t()}):e._outer.run(()=>{t()}),gs(e)}function hs(e){let t=()=>{ms(e)},n=us++;e._inner=e._inner.fork({name:`angular`,properties:{[cs]:!0,[ls]:n,[ls+n]:!0},onInvokeTask:(n,r,i,a,o,s)=>{if(bs(s))return n.invokeTask(i,a,o,s);try{return _s(e),n.invokeTask(i,a,o,s)}finally{(e.shouldCoalesceEventChangeDetection&&a.type===`eventTask`||e.shouldCoalesceRunChangeDetection)&&t(),vs(e)}},onInvoke:(n,r,i,a,o,s,c)=>{try{return _s(e),n.invoke(i,a,o,s,c)}finally{e.shouldCoalesceRunChangeDetection&&!e.callbackScheduled&&!xs(s)&&t(),vs(e)}},onHasTask:(t,n,r,i)=>{t.hasTask(r,i),n===r&&(i.change==`microTask`?(e._hasPendingMicrotasks=i.microTask,gs(e),ps(e)):i.change==`macroTask`&&(e.hasPendingMacrotasks=i.macroTask))},onHandleError:(t,n,r,i)=>(t.handleError(r,i),e.runOutsideAngular(()=>e.onError.emit(i)),!1)})}function gs(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&e.callbackScheduled===!0)}function _s(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function vs(e){e._nesting--,ps(e)}var ys=class{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new is;onMicrotaskEmpty=new is;onStable=new is;onError=new is;run(e,t,n){return e.apply(t,n)}runGuarded(e,t,n){return e.apply(t,n)}runOutsideAngular(e){return e()}runTask(e,t,n,r){return e.apply(t,n)}};function bs(e){return Ss(e,`__ignore_ng_zone__`)}function xs(e){return Ss(e,`__scheduler_tick__`)}function Ss(e,t){return!Array.isArray(e)||e.length!==1?!1:e[0]?.data?.[t]===!0}var Cs=class{_console=console;handleError(e){this._console.error(`ERROR`,e)}},ws=new L(``,{factory:()=>{let e=z(ds),t=z(la),n;return r=>{e.runOutsideAngular(()=>{t.destroyed&&!n?setTimeout(()=>{throw r}):(n??=t.get(Cs),n.handleError(r))})}}}),Ts={provide:Wi,useValue:()=>{z(Cs,{optional:!0})},multi:!0};function H(e,t){let[n,r,i]=Mn(e,t?.equal),a=n;return a[en],a.set=r,a.update=i,a.asReadonly=Es.bind(a),a}function Es(){let e=this[en];if(e.readonlyFn===void 0){let t=()=>this();t[en]=e,e.readonlyFn=t}return e.readonlyFn}var Ds=new L(``,{factory:()=>Os}),Os=`ng`,ks=new L(``),As=new L(``,{providedIn:`platform`,factory:()=>`unknown`}),js=new L(``,{factory:()=>z(Qo).body?.querySelector(`[ngCspNonce]`)?.getAttribute(`ngCspNonce`)||null}),Ms=(()=>{class e{view;node;constructor(e,t){this.view=e,this.node=t}static __NG_ELEMENT_ID__=Ns}return e})();function Ns(){return new Ms(V(),uo())}var Ps=class{},Fs=new L(``,{factory:()=>!0}),Is=new L(``),Ls=(()=>{class e{static ɵprov=Yr({token:e,providedIn:`root`,factory:()=>new Rs})}return e})(),Rs=class{dirtyEffectCount=0;queues=new Map;add(e){this.enqueue(e),this.schedule(e)}schedule(e){e.dirty&&this.dirtyEffectCount++}remove(e){let t=e.zone,n=this.queues.get(t);n.has(e)&&(n.delete(e),e.dirty&&this.dirtyEffectCount--)}enqueue(e){let t=e.zone;this.queues.has(t)||this.queues.set(t,new Set);let n=this.queues.get(t);n.has(e)||n.add(e)}flush(){for(;this.dirtyEffectCount>0;){let e=!1;for(let[t,n]of this.queues)e||=t===null?this.flushQueue(n):t.run(()=>this.flushQueue(n));e||(this.dirtyEffectCount=0)}}flushQueue(e){let t=!1;for(let n of e)n.dirty&&(this.dirtyEffectCount--,t=!0,n.run());return t}},zs=class{[en];constructor(e){this[en]=e}destroy(){this[en].destroy()}};function Bs(e,t){let n=t?.injector??z(Zo),r=t?.manualCleanup===!0?null:n.get($o),i,a=n.get(Ms,null,{optional:!0}),o=n.get(Ps);return a===null?i=Gs(e,n.get(Ls),o):(i=Ws(a.view,o,e),r instanceof es&&r._lView===a.view&&(r=null)),i.injector=n,r!==null&&(i.onDestroyFns=[r.onDestroy(()=>i.destroy())]),new zs(i)}var Vs={...Rn,cleanupFns:void 0,zone:null,onDestroyFns:null,run(){let e=vo(!1);try{zn(this)}finally{vo(e)}},cleanup(){if(!this.cleanupFns?.length)return;let e=P(null);try{for(;this.cleanupFns.length;)this.cleanupFns.pop()()}finally{this.cleanupFns=[],P(e)}}},Hs={...Vs,consumerMarkedDirty(){this.scheduler.schedule(this),this.notifier.notify(12)},destroy(){if(gn(this),this.onDestroyFns!==null)for(let e of this.onDestroyFns)e();this.cleanup(),this.scheduler.remove(this)}},Us={...Vs,consumerMarkedDirty(){this.view[2]|=8192,qa(this.view),this.notifier.notify(13)},destroy(){if(gn(this),this.onDestroyFns!==null)for(let e of this.onDestroyFns)e();this.cleanup(),this.view[23]?.delete(this)}};function Ws(e,t,n){let r=Object.create(Us);return r.view=e,r.zone=typeof Zone<`u`?Zone.current:null,r.notifier=t,r.fn=Ks(r,n),e[23]??=new Set,e[23].add(r),r.consumerMarkedDirty(r),r}function Gs(e,t,n){let r=Object.create(Hs);return r.fn=Ks(r,e),r.scheduler=t,r.notifier=n,r.zone=typeof Zone<`u`?Zone.current:null,r.scheduler.add(r),r.notifier.notify(12),r}function Ks(e,t){return()=>{t(t=>(e.cleanupFns??=[]).push(t))}}var qs=(()=>{class e{internalPendingTasks=z(rs);scheduler=z(Ps);errorHandler=z(ws);add(){let e=this.internalPendingTasks.add();return()=>{this.internalPendingTasks.has(e)&&(this.scheduler.notify(11),this.internalPendingTasks.remove(e))}}run(e){let t=this.add();try{e().catch(this.errorHandler).finally(t)}catch(e){this.errorHandler(e),t()}}static ɵprov=Yr({token:e,providedIn:`root`,factory:()=>new e})}return e})(),Js=Symbol(`InputSignalNode#UNSET`),Ys={...In,transformFn:void 0,applyValueToInputSignal(e,t){Pn(e,t)}};function Xs(e){return{toString:e}.toString()}var U=(function(e){return e[e.TemplateCreateStart=0]=`TemplateCreateStart`,e[e.TemplateCreateEnd=1]=`TemplateCreateEnd`,e[e.TemplateUpdateStart=2]=`TemplateUpdateStart`,e[e.TemplateUpdateEnd=3]=`TemplateUpdateEnd`,e[e.LifecycleHookStart=4]=`LifecycleHookStart`,e[e.LifecycleHookEnd=5]=`LifecycleHookEnd`,e[e.OutputStart=6]=`OutputStart`,e[e.OutputEnd=7]=`OutputEnd`,e[e.BootstrapApplicationStart=8]=`BootstrapApplicationStart`,e[e.BootstrapApplicationEnd=9]=`BootstrapApplicationEnd`,e[e.BootstrapComponentStart=10]=`BootstrapComponentStart`,e[e.BootstrapComponentEnd=11]=`BootstrapComponentEnd`,e[e.ChangeDetectionStart=12]=`ChangeDetectionStart`,e[e.ChangeDetectionEnd=13]=`ChangeDetectionEnd`,e[e.ChangeDetectionSyncStart=14]=`ChangeDetectionSyncStart`,e[e.ChangeDetectionSyncEnd=15]=`ChangeDetectionSyncEnd`,e[e.AfterRenderHooksStart=16]=`AfterRenderHooksStart`,e[e.AfterRenderHooksEnd=17]=`AfterRenderHooksEnd`,e[e.ComponentStart=18]=`ComponentStart`,e[e.ComponentEnd=19]=`ComponentEnd`,e[e.DeferBlockStateStart=20]=`DeferBlockStateStart`,e[e.DeferBlockStateEnd=21]=`DeferBlockStateEnd`,e[e.DynamicComponentStart=22]=`DynamicComponentStart`,e[e.DynamicComponentEnd=23]=`DynamicComponentEnd`,e[e.HostBindingsUpdateStart=24]=`HostBindingsUpdateStart`,e[e.HostBindingsUpdateEnd=25]=`HostBindingsUpdateEnd`,e})(U||{});function Zs(e,t,n,r){t===null?e[n]=r:t.applyValueToInputSignal(t,r)}var Qs=null;function $s(){return Qs}var ec=[],W=function(e,t=null,n){for(let r=0;r=r)break}else t[c]<0&&(e[17]+=65536),(s>14>16&&(e[2]&3)===t&&(e[2]+=16384,sc(o,a)):sc(o,a)}var lc=-1,uc=class{factory;name;injectImpl;resolving=!1;canSeeViewProviders;multi;componentProviders;index;providerFactory;constructor(e,t,n,r){this.factory=e,this.name=r,this.canSeeViewProviders=t,this.injectImpl=n}};function dc(e){return!!(e.flags&8)}function fc(e){return!!(e.flags&16)}function pc(e,t,n){let r=0;for(;rt){o=a-1;break}}}for(;a>16}function xc(e,t){let n=bc(e),r=t;for(;n>0;)r=r[14],n--;return r}var Sc=!0;function Cc(e){let t=Sc;return Sc=e,t}var wc=255,Tc=5,Ec=0,Dc={};function Oc(e,t,n){let r;typeof n==`string`?r=n.charCodeAt(0)||0:Object.hasOwn(n,si)&&(r=n[si]),r??=n[si]=Ec++;let i=r&wc,a=1<>Tc)]|=a}function kc(e,t){let n=jc(e,t);if(n!==-1)return n;let r=t[1];r.firstCreatePass&&(e.injectorIndex=t.length,Ac(r.data,e),Ac(t,null),Ac(r.blueprint,null));let i=Mc(e,t),a=e.injectorIndex;if(vc(i)){let e=yc(i),n=xc(i,t),r=n[1].data;for(let i=0;i<8;i++)t[a+i]=n[e+i]|r[e+i]}return t[a+8]=i,a}function Ac(e,t){e.push(0,0,0,0,0,0,0,0,t)}function jc(e,t){return e.injectorIndex===-1||e.parent&&e.parent.injectorIndex===e.injectorIndex||t[e.injectorIndex+8]===null?-1:e.injectorIndex}function Mc(e,t){if(e.parent&&e.parent.injectorIndex!==-1)return e.parent.injectorIndex;let n=0,r=null,i=t;for(;i!==null;){if(r=qc(i),r===null)return lc;if(n++,i=i[14],r.injectorIndex!==-1)return r.injectorIndex|n<<16}return lc}function Nc(e,t,n){Oc(e,t,n)}function Pc(e,t,n){if(n&8||e!==void 0)return e;vi(t,`NodeInjector`)}function Fc(e,t,n,r){if(n&8&&r===void 0&&(r=null),!(n&3)){let i=e[9],a=Ci(void 0);try{return i?i.get(t,r,n&8):wi(t,r,n&8)}finally{Ci(a)}}return Pc(r,t,n)}function Ic(e,t,n,r=0,i){if(e!==null){if(t[2]&2048&&!(r&2)){let i=Kc(e,t,n,r,Dc);if(i!==Dc)return i}let i=Lc(e,t,n,r,Dc);if(i!==Dc)return i}return Fc(t,n,r,i)}function Lc(e,t,n,r,i){let a=Vc(n);if(typeof a==`function`){if(!jo(t,e,r))return r&1?Pc(i,n,r):Fc(t,n,r,i);try{let e;if(e=a(r),e==null&&!(r&8))vi(n);else return e}finally{Io()}}else if(typeof a==`number`){let i=null,o=jc(e,t),s=lc,c=r&1?t[15][5]:null;for((o===-1||r&4)&&(s=o===-1?Mc(e,t):t[o+8],s===lc||!Uc(r,!1)?o=-1:(i=t[1],o=yc(s),t=xc(s,t)));o!==-1;){let e=t[1];if(Hc(a,o,e.data)){let e=Rc(o,t,n,i,r,c);if(e!==Dc)return e}s=t[o+8],s!==lc&&Uc(r,t[1].data[o+8]===c)&&Hc(a,o,t)?(i=e,o=yc(s),t=xc(s,t)):o=-1}}return i}function Rc(e,t,n,r,i,a){let o=t[1],s=o.data[e+8],c=zc(s,o,n,r==null?Da(s)&&Sc:r!=o&&!!(s.type&3),i&1&&a===s);return c===null?Dc:Bc(t,o,c,s,i)}function zc(e,t,n,r,i){let a=e.providerIndexes,o=t.data,s=a&1048575,c=e.directiveStart,l=e.directiveEnd,u=a>>20,d=r?s:s+u,f=i?s+u:l;for(let e=d;e=c&&t.type===n)return e}if(i){let e=o[c];if(e&&ka(e)&&e.type===n)return c}return null}function Bc(e,t,n,r,i){let a=e[n],o=t.data;if(a instanceof uc){let s=a;if(s.resolving)throw _i(``);let c=Cc(s.canSeeViewProviders);s.resolving=!0,o[n].type||o[n];let l=s.injectImpl?Ci(s.injectImpl):null;jo(e,r,0);try{a=e[n]=s.factory(void 0,i,o,e,r),t.firstCreatePass&&n>=r.directiveStart&&tc(n,o[n],t)}finally{l!==null&&Ci(l),Cc(c),s.resolving=!1,Io()}}return a}function Vc(e){if(typeof e==`string`)return e.charCodeAt(0)||0;let t=Object.hasOwn(e,si)?e[si]:void 0;return typeof t==`number`?t>=0?t&wc:Gc:t}function Hc(e,t,n){let r=1<>Tc)]&r)}function Uc(e,t){return!(e&2)&&!(e&1&&t)}var Wc=class{_tNode;_lView;constructor(e,t){this._tNode=e,this._lView=t}get(e,t,n){return Ic(this._tNode,this._lView,e,ki(n),t)}};function Gc(){return new Wc(uo(),V())}function Kc(e,t,n,r,i){let a=e,o=t;for(;a!==null&&o!==null&&o[2]&2048&&!Aa(o);){let e=Lc(a,o,n,r|2,Dc);if(e!==Dc)return e;r&=-5;let t=a.parent;if(!t){let e=o[20];if(e){let t=e.get(n,Dc,r);if(t!==Dc)return t}t=qc(o),o=o[14]}a=t}return i}function qc(e){let t=e[1],n=t.type;return n===2?t.declTNode:n===1?e[5]:null}var Jc=()=>(typeof requestIdleCallback<`u`?requestIdleCallback:e=>setTimeout(e)).bind(globalThis),Yc=()=>(typeof requestIdleCallback<`u`?cancelIdleCallback:clearTimeout).bind(globalThis),Xc=new L(``,{factory:()=>new Zc}),Zc=class{requestIdleCallback=Jc();cancelIdleCallback=Yc();requestOnIdle(e,t){return this.requestIdleCallback(e,t)}cancelOnIdle(e){return this.cancelIdleCallback(e)}};function Qc(e){return{token:e.token,providedIn:e.autoProvided===!1?null:`root`,factory:e.factory,value:void 0}}function $c(){return el(uo(),V())}function el(e,t){return new tl(Fa(e,t))}var tl=(()=>{class e{nativeElement;constructor(e){this.nativeElement=e}static __NG_ELEMENT_ID__=$c}return e})();function nl(e){return(e.flags&128)==128}var rl=(function(e){return e[e.OnPush=0]=`OnPush`,e[e.Eager=1]=`Eager`,e[e.Default=1]=`Default`,e})(rl||{}),il=new Map,al=0;function ol(){return al++}function sl(e){il.set(e[19],e)}function cl(e){il.delete(e[19])}var ll=`__ngContext__`;function ul(e,t){wa(t)?(e[ll]=t[19],sl(t)):e[ll]=t}function dl(e){return pl(e[12])}function fl(e){return pl(e[4])}function pl(e){for(;e!==null&&!Ta(e);)e=e[4];return e}var ml=void 0;function hl(e){ml=e}function gl(){if(ml!==void 0)return ml;if(typeof document<`u`)return document;throw new F(210,!1)}var _l=!1,vl=new L(``,{factory:()=>_l}),yl=new L(``),bl=new WeakMap;function xl(e,t){if(typeof e!=`object`||!e)return;let n=bl.get(e);n||(n=new WeakSet,bl.set(e,n)),n.add(t)}var Sl=new L(``);function Cl(e){return(e.flags&32)==32}var wl=()=>null;function Tl(e,t,n=!1){return wl(e,t,n)}function El(e){return e.get(yl,!1,{optional:!0})}function Dl(e,t){let n=e.contentQueries;if(n!==null){let r=P(null);try{for(let r=0;r|^->||--!>|)/g,Fl=`​$1​`;function Il(e){return e.replace(Nl,e=>e.replace(Pl,Fl))}function Ll(e,t){return e.createText(t)}function Rl(e,t,n){e.setValue(t,n)}function zl(e,t){return e.createComment(Il(t))}function Bl(e,t,n){return e.createElement(t,n)}function Vl(e,t,n,r,i){e.insertBefore(t,n,r,i)}function Hl(e,t,n){e.appendChild(t,n)}function Ul(e,t,n,r,i){r===null?Hl(e,t,n):Vl(e,t,n,r,i)}function Wl(e,t,n,r){e.removeChild(null,t,n,r)}function Gl(e,t,n){e.setAttribute(t,`style`,n)}function Kl(e,t,n){n===``?e.removeAttribute(t,`class`):e.setAttribute(t,`class`,n)}function ql(e,t,n){let{mergedAttrs:r,classes:i,styles:a}=n;r!==null&&pc(e,t,r),i!==null&&Kl(e,t,i),a!==null&&Gl(e,t,a)}function Jl(e,t,n){let r=e.length;for(;;){let i=e.indexOf(t,n);if(i===-1)return i;if(i===0||e.charCodeAt(i-1)<=32){let n=t.length;if(i+n===r||e.charCodeAt(i+n)<=32)return i}n=i+1}}var Yl=`ng-template`;function Xl(e,t,n,r){let i=0;if(r){for(;i-1){let e;for(;++ia?``:i[u+1].toLowerCase(),r&2&&l!==e){if(eu(r))return!1;o=!0}}}}}return eu(r)||o}function eu(e){return!(e&1)}function tu(e,t,n,r){if(t===null)return-1;let i=0;if(r||!n){let n=!1;for(;i-1)for(n++;n0?`="`+t+`"`:``)+`]`}else r&8?i+=`.`+o:r&4&&(i+=` `+o)}else i!==``&&!eu(o)&&(t+=au(a,i),i=``),r=o,a||=!eu(r);n++}return i!==``&&(t+=au(a,i)),t}function su(e){return e.map(ou).join(`,`)}function cu(e){let t=[],n=[],r=1,i=2;for(;r=0;e--){let{el:n,declarationView:s}=r[e],c=n.parentNode;n===t?(r.splice(e,1),gu.add(n),n.dispatchEvent(new CustomEvent(`animationend`,{detail:{cancel:!0}}))):(a&&n===a||c&&i&&c!==i&&(o===null||s===null||o===s))&&(r.splice(e,1),n.dispatchEvent(new CustomEvent(`animationend`,{detail:{cancel:!0}})),n.parentNode?.removeChild(n))}}function vu(e,t,n){let r=hu(n),i=mu.get(e);i?i.some(e=>e.el===t)||i.push({el:t,declarationView:r}):mu.set(e,[{el:t,declarationView:r}])}var yu=(function(e){return e[e.CHANGE_DETECTION=0]=`CHANGE_DETECTION`,e[e.AFTER_NEXT_RENDER=1]=`AFTER_NEXT_RENDER`,e})(yu||{}),bu=new L(``),xu=new Set;function Su(e){xu.has(e)||(xu.add(e),performance?.mark?.(`mark_feature_usage`,{detail:{feature:e}}))}var Cu=(()=>{class e{impl=null;execute(){this.impl?.execute()}static ɵprov=Yr({token:e,providedIn:`root`,factory:()=>new e})}return e})(),wu=new L(``,{factory:()=>{let e=z(la),t=new Set;return e.onDestroy(()=>t.clear()),{queue:t,isScheduled:!1,scheduler:null,injector:e}}});function Tu(e,t,n){let r=e.get(wu);if(Array.isArray(t))for(let e of t)r.queue.add(e),n?.detachedLeaveAnimationFns?.push(e);else r.queue.add(t),n?.detachedLeaveAnimationFns?.push(t);r.scheduler&&r.scheduler(e)}function Eu(e,t){let n=e.get(wu);if(Array.isArray(t))for(let e of t)n.queue.delete(e);else n.queue.delete(t)}function Du(e,t){let n=e.get(wu);if(t.detachedLeaveAnimationFns){for(let e of t.detachedLeaveAnimationFns)n.queue.delete(e);t.detachedLeaveAnimationFns=void 0}}function Ou(e,t){for(let[n,r]of t)Tu(e,r.animateFns)}function ku(e,t,n,r){let i=e?.[26]?.enter;t!==null&&i&&i.has(n.index)&&Ou(r,i)}function Au(e,t,n,r){try{n.get(Gi)}catch{return r(!1)}let i=e?.[26];i?.enter?.has(t.index)&&Eu(n,i.enter.get(t.index).animateFns);let a=ju(e,t,i);if(a.size===0){let n=!1;if(e){let r=[];Nu(e,t,r),n=r.length>0}if(!n)return r(!1)}e&&pu.add(e[19]),Tu(n,()=>Mu(e,t,i||void 0,a,r),i||void 0)}function ju(e,t,n){let r=new Map,i=n?.leave;if(i&&i.has(t.index)&&r.set(t.index,i.get(t.index)),e&&i)for(let[n,a]of i){if(r.has(n))continue;let i=e[1].data[n].parent;for(;i;){if(i===t){r.set(n,a);break}i=i.parent}}return r}function Mu(e,t,n,r,i){let a=[];if(n&&n.leave)for(let[e]of r){if(!n.leave.has(e))continue;let t=n.leave.get(e);for(let e of t.animateFns){let{promise:t}=e();a.push(t)}n.detachedLeaveAnimationFns=void 0}if(e&&Nu(e,t,a),a.length>0){let t=n||e?.[26];if(t){let n=t.running;n&&a.push(n),t.running=Promise.allSettled(a),Fu(e,t.running,i)}else Promise.allSettled(a).then(()=>{e&&pu.delete(e[19]),i(!0)})}else e&&pu.delete(e[19]),i(!1)}function Nu(e,t,n){if(t.type&12){let r=e[t.index];if(Ta(r))for(let e=10;e{e[26]?.running===t&&(e[26].running=void 0,pu.delete(e[19])),n(!0)})}function Iu(e,t,n,r,i,a,o,s){if(i!=null){let c,l=!1;Ta(i)?c=i:wa(i)&&(l=!0,i=i[0]);let u=Na(i);e===0&&r!==null?(ku(s,r,a,n),o==null?Hl(t,r,u):Vl(t,r,u,o||null,!0)):e===1&&r!==null?(ku(s,r,a,n),Vl(t,r,u,o||null,!0),_u(a,u,s)):e===2?(s?.[26]?.leave?.has(a.index)&&vu(a,u,s),gu.delete(u),Au(s,a,n,e=>{if(gu.has(u)){gu.delete(u);return}Wl(t,u,l,e)})):e===3&&(gu.delete(u),Au(s,a,n,()=>{t.destroyNode(u)})),c!=null&&ad(t,e,n,c,a,r,o)}}function Lu(e,t){zu(e,t),t[0]=null,t[5]=null}function Ru(e,t,n,r,i,a){r[0]=i,r[5]=t,nd(e,r,n,1,i,a)}function zu(e,t){t[10].changeDetectionScheduler?.notify(9),nd(e,t,t[11],2,null,null)}function Bu(e){let t=e[12];if(!t)return Uu(e[1],e);for(;t;){let n=null;if(wa(t))n=t[12];else{let e=t[10];e&&(n=e)}if(!n){for(;t&&!t[4]&&t!==e;)wa(t)&&Uu(t[1],t),t=t[3];t===null&&(t=e),wa(t)&&Uu(t[1],t),n=t&&t[4]}t=n}}function Vu(e,t){let n=e[9],r=n.indexOf(t);n.splice(r,1)}function Hu(e,t){if(ja(t))return;let n=t[11];n.destroyNode&&nd(e,t,n,3,null,null),Bu(t)}function Uu(e,t){if(ja(t))return;let n=P(null);try{t[2]&=-129,t[2]|=256,t[24]&&gn(t[24]),Gu(e,t),Wu(e,t),t[1].type===1&&t[11].destroy();let n=t[16];if(n!==null&&Ta(t[3])){n!==t[3]&&Vu(n,t);let r=t[18];r!==null&&r.detachView(e)}cl(t)}finally{P(n)}}function Wu(e,t){let n=e.cleanup,r=t[7];if(n!==null)for(let e=0;e=0?r[t]():r[-t].unsubscribe(),e+=2}else{let t=r[n[e+1]];n[e].call(t)}r!==null&&(t[7]=null);let i=t[21];if(i!==null){t[21]=null;for(let e=0;e27&&hd(e,t,27,!1),W(o?U.TemplateUpdateStart:U.TemplateCreateStart,i,n),n(r,i)}finally{Bo(a),W(o?U.TemplateUpdateEnd:U.TemplateCreateEnd,i,n)}}function yd(e,t,n){Ed(e,t,n),(n.flags&64)==64&&Dd(e,t,n)}function bd(e,t,n=Fa){let r=t.localNames;if(r!==null){let i=t.index+1;for(let a=0;a{qa(e.lView)},consumerOnSignalRead(){this.lView[24]=this}};function Yd(e){let t=e[24]??Object.create(Xd);return t.lView=e,t}var Xd={...nn,consumerIsAlwaysLive:!0,kind:`template`,consumerMarkedDirty:e=>{let t=Xa(e.lView);for(;t&&!Zd(t[1]);)t=Xa(t);t&&Ua(t)},consumerOnSignalRead(){this.lView[24]=this}};function Zd(e){return e.type!==2}function Qd(e){if(e[23]===null)return;let t=!0;for(;t;){let n=!1;for(let t of e[23])if(t.dirty&&(n=!0,t.zone===null||Zone.current===t.zone?t.run():t.zone.run(()=>t.run()),e[23]===null))return;t=n&&!!(e[2]&8192)}}var $d=100;function ef(e,t=0){let n=e[10].rendererFactory;n.begin?.();try{tf(e,t)}finally{n.end?.()}}function tf(e,t){let n=_o();try{vo(!0),cf(e,t);let n=0;for(;Ga(e);){if(n===$d)throw new F(103,!1);n++,cf(e,1)}}finally{vo(n)}}function nf(e,t,n,r){if(ja(t))return;let i=t[2];Mo(t);let a=!0,o=null,s=null;Zd(e)?(s=Gd(t),o=dn(s)):tn()===null?(a=!1,s=Yd(t),o=dn(s)):t[24]&&=(gn(t[24]),null);try{Ha(t),xo(e.bindingStartIndex),n!==null&&vd(e,t,n,2,r);let a=(i&3)==3;if(a){let n=e.preOrderCheckHooks;n!==null&&rc(t,n,null)}else{let n=e.preOrderHooks;n!==null&&ic(t,n,0,null),ac(t,0)}if(af(t),Qd(t),rf(t,0),e.contentQueries!==null&&Dl(e,t),a){let n=e.contentCheckHooks;n!==null&&rc(t,n)}else{let n=e.contentHooks;n!==null&&ic(t,n,1),ac(t,1)}uf(e,t);let o=e.components;o!==null&&lf(t,o,0);let s=e.viewQuery;if(s!==null&&Ol(2,s,r),a){let n=e.viewCheckHooks;n!==null&&rc(t,n)}else{let n=e.viewHooks;n!==null&&ic(t,n,2),ac(t,2)}if(e.firstUpdatePass===!0&&(e.firstUpdatePass=!1),t[22]){for(let e of t[22])e();t[22]=null}Ud(t),t[2]&=-73}catch(e){throw qa(t),e}finally{s!==null&&(pn(s,o),a&&qd(s)),Lo()}}function rf(e,t){for(let n=dl(e);n!==null;n=fl(n))for(let e=10;e0&&(e[n-1][4]=r[4]);let a=Ii(e,10+t);Lu(r[1],r);let o=a[18];o!==null&&o.detachView(a[1]),r[3]=null,r[4]=null,r[2]&=-129}return r}function _f(e,t,n,r){let i=10+r,a=n.length;r>0&&(n[i-1][4]=t),r-1&&(gf(e,n),Ii(t,n))}this._attachedToViewContainer=!1}Hu(this._lView[1],this._lView)}onDestroy(e){Ja(this._lView,e)}markForCheck(){df(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[2]&=-129}reattach(){Ka(this._lView),this._lView[2]|=128}detectChanges(){this._lView[2]|=1024,ef(this._lView)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new F(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;let e=Aa(this._lView),t=this._lView[16];t!==null&&!e&&Vu(t,this._lView),zu(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new F(902,!1);this._appRef=e;let t=Aa(this._lView),n=this._lView[16];n!==null&&!t&&vf(n,this._lView),Ka(this._lView)}};function bf(e,t,n,r,i){let a=e.data[t];if(a===null)a=xf(e,t,n,r,i),wo()&&(a.flags|=32);else if(a.type&64){a.type=n,a.value=r,a.attrs=i;let e=po();a.injectorIndex=e===null?-1:e.injectorIndex}return mo(a,!0),a}function xf(e,t,n,r,i){let a=fo(),o=ho(),s=o?a:a&&a.parent,c=e.data[t]=Cf(e,s,n,t,r,i);return Sf(e,c,a,o),c}function Sf(e,t,n,r){e.firstChild===null&&(e.firstChild=t),n!==null&&(r?n.child==null&&t.parent!==null&&(n.child=t):n.next===null&&(n.next=t,t.prev=n))}function Cf(e,t,n,r,i,a){let o=t?t.injectorIndex:-1,s=0;return io()&&(s|=128),{type:n,index:r,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,controlDirectiveIndex:-1,customControlIndex:-1,propertyBindings:null,flags:s,providerIndexes:0,value:i,namespace:Go(),attrs:a,mergedAttrs:null,localNames:null,initialInputs:null,inputs:null,hostDirectiveInputs:null,outputs:null,hostDirectiveOutputs:null,directiveToIndex:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}function wf(e){let t=e[6]??[],n=e[3][11],r=[];for(let e of t)e.data.di===void 0?Tf(e,n):r.push(e);e[6]=r}function Tf(e,t){let n=0,r=e.firstChild;if(r){let i=e.data.r;for(;nnull,Df=()=>null;function Of(e,t){return Ef(e,t)}function kf(e,t,n){return Df(e,t,n)}var Af=class{},jf=class{},Mf=(()=>{class e{static ɵprov=Yr({token:e,providedIn:`root`,factory:()=>null})}return e})();function Nf(e){return e.debugInfo?.className||e.type.name||null}var Pf={},Ff=class{injector;parentInjector;constructor(e,t){this.injector=e,this.parentInjector=t}get(e,t,n){let r=this.injector.get(e,Pf,n);return r!==Pf||t===Pf?r:this.parentInjector.get(e,t,n)}};function If(e,t,n){return e[t]=n}function Lf(e,t,n){if(n===lu)return!1;let r=e[t];return!Object.is(r,n)&&(e[t]=n,!0)}function Rf(e,t,n,r){let i=Lf(e,t,n);return Lf(e,t+1,r)||i}function zf(e,t,n,r,i){let a=Rf(e,t,n,r);return Lf(e,t+2,i)||a}function Bf(e,t,n){return function r(i){let a=r.__ngNativeEl__;a!==void 0&&xl(i,a),df(Da(e)?za(e.index,t):t,5);let o=t[8],s=Vf(t,o,n,i),c=r.__ngNextListenerFn__;for(;c;)s=Vf(t,o,c,i)&&s,c=c.__ngNextListenerFn__;return s}}function Vf(e,t,n,r){let i=P(null);try{return W(U.OutputStart,t,n),n(r)!==!1}catch(t){return Nd(e,t),!1}finally{W(U.OutputEnd,t,n),P(i)}}function Hf(e,t,n,r,i,a,o,s){let c=Oa(e),l=!1,u=null;if(!r&&c&&(u=Wf(t,n,a,e.index)),u!==null){let e=u.__ngLastListenerFn__||u;e.__ngNextListenerFn__=o,u.__ngLastListenerFn__=o,l=!0}else{let o=Fa(e,n),c=r?r(o):o;r||(s.__ngNativeEl__=o);let l=i.listen(c,a,s);Uf(a)||Gf(r?t=>r(Na(t[e.index])):e.index,t,n,a,s,l,!1)}return l}function Uf(e){return e.startsWith(`animation`)||e.startsWith(`transition`)}function Wf(e,t,n,r){let i=e.cleanup;if(i!=null)for(let e=0;er?n[r]:null}typeof a==`string`&&(e+=2)}return null}function Gf(e,t,n,r,i,a,o){let s=t.firstCreatePass?Qa(t):null,c=Za(n),l=c.length;c.push(i,a),s&&s.push(r,e,l,(l+1)*(o?-1:1))}function Kf(e,t,n,r,i,a){let o=t[n],s=t[1],c=o[s.data[n].outputs[r]].subscribe(a);Gf(e.index,s,t,i,a,c,!0)}var qf=Symbol(`BINDING`),Jf=new L(``);function Yf(e,t,n){let r=n?e.styles:null,i=n?e.classes:null,a=0;if(t!==null)for(let e=0;e0&&(n.directiveToIndex=new Map);for(let c=0;c0;){let n=e[--t];if(typeof n==`number`&&n<0)return n}return 0}function lp(e,t,n){if(n){if(t.exportAs)for(let r=0;r{let[n,r,i]=e[t],a={propName:n,templateName:t,isSignal:(r&gd.SignalBased)!==0};return i&&(a.transform=i),a})}function _p(e){return Object.keys(e).map(t=>({propName:e[t],templateName:t}))}function vp(e,t,n){let r=t instanceof la?t:t?.injector;return r&&e.getStandaloneInjector!==null&&(r=e.getStandaloneInjector(r)||r),r?new Ff(n,r):n}function yp(e){let t=e.get(jf,null);if(t===null)throw new F(407,!1);return{rendererFactory:t,sanitizer:e.get(Mf,null),changeDetectionScheduler:e.get(Ps,null),ngReflect:!1,tracingService:e.get(bu,null,{optional:!0})}}function bp(e,t,n){let r=Sp(e);return Bl(t,r,r===`svg`?`svg`:r===`math`?Ma:n)}function xp(e){if((e&&`localName`in e&&typeof e.localName==`string`?e.localName:e?.tagName)?.toLowerCase()===`script`)throw new F(905,!1)}function Sp(e){return(e.selectors[0][0]||`div`).toLowerCase()}var Cp=class{componentDef;ngModule;selector;componentType;ngContentSelectors;isBoundToModule;cachedInputs=null;cachedOutputs=null;get inputs(){return this.cachedInputs??=gp(this.componentDef.inputs),this.cachedInputs}get outputs(){return this.cachedOutputs??=_p(this.componentDef.outputs),this.cachedOutputs}constructor(e,t){this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=su(e.selectors),this.ngContentSelectors=e.ngContentSelectors??[],this.isBoundToModule=!!t}create(e,t,n,r,i,a,o){W(U.DynamicComponentStart);let s=P(null);try{let s=this.componentDef,c=vp(s,r||this.ngModule,e),l=yp(c),u=l.tracingService;return u&&u.componentCreate?u.componentCreate(Nf(s),()=>this.createComponentRef(l,c,t,n,i,a,o)):this.createComponentRef(l,c,t,n,i,a,o)}finally{P(s)}}createComponentRef(e,t,n,r,i,a,o){let s=this.componentDef,c=wp(r,s,a,i),l=e.rendererFactory.createRenderer(null,s),u=r?xd(l,r,s.encapsulation,t):bp(s,l,o??null);xp(u);let d=t.get(Jf,null),f=Tp(u,()=>t.get(Qo,null)??gl());d&&d.addHost(f);let p=a?.some(Dp)||i?.some(e=>typeof e!=`function`&&e.bindings.some(Dp)),m=ud(null,c,null,512|fd(s),null,null,e,l,t,null,Tl(u,t,!0));d&&mp&&f instanceof ShadowRoot&&Ja(m,()=>{d.removeHost(f)}),m[27]=u,Mo(m);let h=null;try{let e=dp(27,m,2,`#host`,()=>c.directiveRegistry,!0,0);ql(l,u,e),ul(u,m),yd(c,m,e),kl(c,e,m),fp(c,e),n!==void 0&&kp(e,this.ngContentSelectors,n),h=za(e.index,m),m[8]=h[8],Ld(c,m,null)}catch(e){throw h!==null&&cl(h),cl(m),e}finally{W(U.DynamicComponentEnd),Lo()}return new Op(this.componentType,m,!!p)}};function wp(e,t,n,r){let i=e?[`ng-version`,`22.1.7`]:cu(t.selectors[0]),a=null,o=null,s=0;if(n)for(let e of n)s+=e[qf].requiredVars,e.create&&(e.targetIdx=0,(a??=[]).push(e)),e.update&&(e.targetIdx=0,(o??=[]).push(e));if(r)for(let e=0;e{if(n&1&&e)for(let t of e)t.create();if(n&2&&t)for(let e of t)e.update()}}function Dp(e){let t=e[qf].kind;return t===`input`||t===`twoWay`}var Op=class extends Af{_rootLView;_hasInputBindings;instance;hostView;changeDetectorRef;componentType;location;previousInputValues=null;_tNode;constructor(e,t,n){super(),this._rootLView=t,this._hasInputBindings=n,this._tNode=Ia(t[1],27),this.location=el(this._tNode,t),this.instance=za(this._tNode.index,t)[8],this.hostView=this.changeDetectorRef=new yf(t,void 0),this.componentType=e}setInput(e,t){this._hasInputBindings;let n=this._tNode;if(this.previousInputValues??=new Map,this.previousInputValues.has(e)&&Object.is(this.previousInputValues.get(e),t))return;let r=this._rootLView;Pd(n,r[1],r,e,t),this.previousInputValues.set(e,t),df(za(n.index,r),1)}get injector(){return new Wc(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}};function kp(e,t,n){let r=e.projection=[];for(let e=0;e!1;function jp(e,t,n){return Ap(e,t,n)}function Mp(e){return!!e&&typeof e.then==`function`}function Np(e){return!!e&&typeof e.subscribe==`function`}var Pp=class{},Fp=class extends Pp{injector;instance=null;constructor(e){super();let t=new ua([...e.providers,{provide:Pp,useValue:this}],e.parent||ca(),e.debugName,new Set([`environment`]));this.injector=t,e.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(e){this.injector.onDestroy(e)}};function Ip(e,t,n=null){return new Fp({providers:e,parent:t,debugName:n,runEnvironmentInitializers:!0}).injector}var Lp=(()=>{class e{_injector;cachedInjectors=new Map;constructor(e){this._injector=e}getOrCreateStandaloneInjector(e){if(!e.standalone)return null;if(!this.cachedInjectors.has(e)){let t=Yi(!1,e.type),n=t.length>0?Ip([t],this._injector,``):null;this.cachedInjectors.set(e,n)}return this.cachedInjectors.get(e)}ngOnDestroy(){try{for(let e of this.cachedInjectors.values())e!==null&&e.destroy()}finally{this.cachedInjectors.clear()}}static ɵprov=Yr({token:e,providedIn:`environment`,factory:()=>new e(R(la))})}return e})();function Rp(e){return Xs(()=>{let t=Up(e),n={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection!==rl.Eager,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:t.standalone?e=>e.get(Lp).getOrCreateStandaloneInjector(n):null,getExternalStyles:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Al.Emulated,styles:e.styles||Ui,_:null,schemas:e.schemas||null,tView:null,id:``};t.standalone&&Su(`NgStandalone`),Wp(n);let r=e.dependencies;return n.directiveDefs=Gp(r,zp),n.pipeDefs=Gp(r,di),n.id=Kp(n),n})}function zp(e){return li(e)||ui(e)}function Bp(e,t){if(e==null)return Hi;let n={};for(let r in e)if(Object.hasOwn(e,r)){let i=e[r],a,o,s,c;Array.isArray(i)?(s=i[0],a=i[1],o=i[2]??a,c=i[3]||null):(a=i,o=i,s=gd.None,c=null),n[a]=[r,s,c],t[a]=o}return n}function Vp(e){if(e==null)return Hi;let t={};for(let n in e)Object.hasOwn(e,n)&&(t[e[n]]=n);return t}function Hp(e){return{type:e.type,name:e.name,factory:null,pure:e.pure!==!1,standalone:e.standalone??!0,onDestroy:e.type.prototype.ngOnDestroy||null}}function Up(e){let t={};return{type:e.type,providersResolver:null,viewProvidersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:t,inputConfig:e.inputs||Hi,exportAs:e.exportAs||null,standalone:e.standalone??!0,signals:e.signals===!0,selectors:e.selectors||Ui,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,resolveHostDirectives:null,hostDirectives:null,controlDef:null,signalFormsInputPresence:null,inputs:Bp(e.inputs,t),outputs:Vp(e.outputs),debugInfo:null}}function Wp(e){e.features?.forEach(t=>t(e))}function Gp(e,t){return e?()=>{let n=typeof e==`function`?e():e,r=[];for(let e of n){let n=t(e);n!==null&&r.push(n)}return r}:null}function Kp(e){let t=0,n=typeof e.consts==`function`?``:e.consts,r=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,n,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery];for(let e of r.join(`|`))t=Math.imul(31,t)+e.charCodeAt(0)<<0;return t+=2147483648,`c`+t}var qp=new L(``),Jp=(()=>{class e{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((e,t)=>{this.resolve=e,this.reject=t});appInits=z(qp,{optional:!0})??[];injector=z(Zo);constructor(){}runInitializers(){if(this.initialized)return;let e=[];for(let t of this.appInits){let n=xa(this.injector,t);if(Mp(n))e.push(n);else if(Np(n)){let t=new Promise((e,t)=>{n.subscribe({complete:e,error:t})});e.push(t)}}let t=()=>{this.done=!0,this.resolve()};Promise.all(e).then(()=>{t()}).catch(e=>{this.reject(e)}),e.length===0&&t(),this.initialized=!0}static ɵfac=function(t){return new(t||e)};static ɵprov=Qc({token:e,factory:e.ɵfac})}return e})();function Yp(e,t,n,r,i,a,o,s){if(n.firstCreatePass){e.mergedAttrs=gc(e.mergedAttrs,e.attrs);let t=e.tView=sd(2,e,i,a,o,n.directiveRegistry,n.pipeRegistry,null,n.schemas,n.consts,null);n.queries!==null&&(n.queries.template(n,e),t.queries=n.queries.embeddedTView(e))}s&&(e.flags|=s),mo(e,!1);let c=Qp(n,t,e,r);qo()&&Zu(n,t,c,e),ul(c,t);let l=ff(c,t,c,e);t[r+27]=l,md(t,l),jp(l,e,t)}function Xp(e,t,n,r,i,a,o,s,c,l,u){let d=n+27,f;if(t.firstCreatePass){if(f=bf(t,d,4,o||null,s||null),l!=null){let e=Va(t.consts,l);f.localNames=[];for(let t=0;t{class e{cachedInjectors=new Map;getOrCreateInjector(e,t,n,r){if(!this.cachedInjectors.has(e)){let i=n.length>0?Ip(n,t,r):null;this.cachedInjectors.set(e,i)}return this.cachedInjectors.get(e)}ngOnDestroy(){try{for(let e of this.cachedInjectors.values())e!==null&&e.destroy()}finally{this.cachedInjectors.clear()}}static ɵprov=Yr({token:e,providedIn:`environment`,factory:()=>new e})}return e})(),Om=new L(``);function km(e,t,n){return e.get(Dm).getOrCreateInjector(t,e,n,``)}function Am(e,t,n){if(e instanceof Ff){let r=e.injector,i=e.parentInjector;return new Ff(r,km(i,t,n))}let r=e.get(la);return r===e?km(e,t,n):new Ff(e,km(r,t,n))}function jm(e,t,n,r=!1){let i=n[3],a=i[1];if(ja(i))return;let o=vm(i,t),s=o[1],c=o[lm];if(!(c!==null&&ee.data.s===t[1])??-1;return{dehydratedView:n>-1?e[6][n]:null,dehydratedViewIx:n}}function Nm(e,t,n,r,i){W(U.DeferBlockStateStart);let a=Sm(e,i,r);if(a!==null){t[1]=e;let o=i[1],s=Ia(o,a+27);hf(n,0);let c;if(e===rm.Complete){let e=bm(o,r),t=e.providers;t&&t.length>0&&(c=Am(i[9],e,t))}let{dehydratedView:l,dehydratedViewIx:u}=Mm(n,t),d=zd(i,s,null,{injector:c,dehydratedView:l});if(mf(n,d,0,Bd(s,l)),Ua(d),u>-1&&n[6]?.splice(u,1),(e===rm.Complete||e===rm.Error)&&Array.isArray(t[um])){for(let e of t[um])e();t[um]=null}}W(U.DeferBlockStateEnd)}function Pm(e,t){return e{e.loadingState===em.COMPLETE?jm(rm.Complete,t,n):e.loadingState===em.FAILED&&jm(rm.Error,t,n)})}var Lm=null;function Rm(e,t){return t[9].get(Om,null,{optional:!0})?.behavior!==fm.Manual}var zm=new L(``),Bm=new L(``);function Vm(){An(()=>{throw new F(600,``)})}var Hm=10,Um=(()=>{class e{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=z(ws);afterRenderManager=z(Cu);zonelessEnabled=z(Fs);rootEffectScheduler=z(Ls);dirtyFlags=0;tracingSnapshot=null;allTestViews=new Set;autoDetectTestViews=new Set;includeAllTestViews=!1;afterTick=new Ir;get allViews(){return[...(this.includeAllTestViews?this.allTestViews:this.autoDetectTestViews).keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];internalPendingTask=z(rs);get isStable(){return this.internalPendingTask.hasPendingTasksObservable.pipe(zr(e=>!e))}constructor(){z(bu,{optional:!0})}whenStable(){let e;return new Promise(t=>{e=this.isStable.subscribe({next:e=>{e&&t()}})}).finally(()=>{e.unsubscribe()})}_injector=z(la);_rendererFactory=null;get injector(){return this._injector}bootstrap(e,t){return this.bootstrapImpl(e,t)}bootstrapImpl(e,t,n=Zo.NULL){return this._injector.get(ds).run(()=>{if(W(U.BootstrapComponentStart),!this._injector.get(Jp).done)throw new F(405,``);let r=li(e),i=this._injector.get(Pp),a=new Cp(r,i);this.componentTypes.push(e);let{hostElement:o,directives:s,bindings:c}=Wm(t),l=o||a.selector,u=a.create(n,[],l,i.injector,s,c),d=u.location.nativeElement,f=u.injector.get(zm,null);return f?.registerApplication(d),u.onDestroy(()=>{this.detachView(u.hostView),Gm(this.components,u),f?.unregisterApplication(d)}),this._loadComponent(u),W(U.BootstrapComponentEnd,u),u})}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){W(U.ChangeDetectionStart),this.tracingSnapshot===null?this.tickImpl():this.tracingSnapshot.run(yu.CHANGE_DETECTION,this.tickImpl)}tickImpl=()=>{if(this._runningTick)throw W(U.ChangeDetectionEnd),new F(101,!1);let e=P(null);try{this._runningTick=!0,this.synchronize()}finally{this._runningTick=!1,this.tracingSnapshot?.dispose(),this.tracingSnapshot=null,P(e),this.afterTick.next(),W(U.ChangeDetectionEnd)}};synchronize(){this._rendererFactory===null&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get(jf,null,{optional:!0}));let e=0;for(;this.dirtyFlags!==0&&e++Ga(e))){this.dirtyFlags|=2;return}this.dirtyFlags&=-8}attachView(e){let t=e;this._views.push(t),t.attachToAppRef(this)}detachView(e){let t=e;Gm(this._views,t),t.detachFromAppRef()}_loadComponent(e){this.attachView(e.hostView);try{this.tick()}catch(e){this.internalErrorHandler(e)}this.components.push(e),this._injector.get(Bm,[]).forEach(t=>t(e))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(e=>e()),this._views.slice().forEach(e=>e.destroy())}finally{this._destroyed=!0,this._views=[],this._destroyListeners=[]}}onDestroy(e){return this._destroyListeners.push(e),()=>Gm(this._destroyListeners,e)}destroy(){if(this._destroyed)throw new F(406,!1);let e=this._injector;e.destroy&&!e.destroyed&&e.destroy()}get viewCount(){return this._views.length}static ɵfac=function(t){return new(t||e)};static ɵprov=Qc({token:e,factory:e.ɵfac})}return e})();function Wm(e){return e===void 0||typeof e==`string`||e instanceof Element?{hostElement:e}:e}function Gm(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}function Km(e,t,n){let r=t.get(Jm);return r.add(e,n),()=>r.remove(e)}function qm(e){return(t,n)=>Km(t,n,e)}var Jm=(()=>{class e{buckets=new Map;callbackBucket=new Map;applicationRef=z(Um);ngZone=z(ds);idleService=z(Xc);add(e,t){let n=Ym(t);this.callbackBucket.set(e,n);let r=this.buckets.get(n);r??(r={idleId:null,queue:new Set},this.buckets.set(n,r)),r.queue.add(e),this.scheduleBucket(r,t)}remove(e){let t=this.callbackBucket.get(e);if(t===void 0)return;this.callbackBucket.delete(e);let n=this.buckets.get(t);n&&(n.queue.delete(e),n.queue.size===0&&(this.cancelBucket(n),this.buckets.delete(t)))}scheduleBucket(e,t){if(e.idleId!==null)return;let n=Ym(t),r=r=>{for(let t of e.queue)if(t(),this.applicationRef._tick(),e.queue.delete(t),this.callbackBucket.delete(t),r&&r.timeRemaining()===0&&!r.didTimeout)break;e.idleId=null,e.queue.size>0?this.scheduleBucket(e,t):this.buckets.delete(n)};e.idleId=this.idleService.requestOnIdle(e=>this.ngZone.run(()=>r(e)),t)}cancelBucket(e){e.idleId!==null&&(this.idleService.cancelOnIdle(e.idleId),e.idleId=null)}ngOnDestroy(){for(let e of this.buckets.values())this.cancelBucket(e);this.buckets.clear(),this.callbackBucket.clear()}static ɵprov=Yr({token:e,providedIn:`root`,factory:()=>new e})}return e})();function Ym(e){return!e||e.timeout==null?``:`${e.timeout}`}function Xm(e){let t=V(),n=uo();if(Fm(t,n),!Rm(0,t))return;let r=t[9];pm(0,vm(t,n),e(()=>Qm(0,t,n),r))}function Zm(e,t,n){let r=t[9],i=t[1];if(e.loadingState!==em.NOT_STARTED)return e.loadingPromise??Promise.resolve();let a=vm(t,n),o=Em(i,e);e.loadingState=em.IN_PROGRESS,mm(1,a);let s=e.dependencyResolverFn,c=r.get(qs).add();return s?(e.loadingPromise=Promise.allSettled(s()).then(n=>{let r=!1,i=[],a=[];for(let e=0;e0&&(t.directiveRegistry=Tm(t.directiveRegistry,i),e.providers=Yi(!1,...i.map(e=>e.type))),a.length>0&&(t.pipeRegistry=Tm(t.pipeRegistry,a))}}),e.loadingPromise.finally(()=>{e.loadingPromise=null,c()})):(e.loadingPromise=Promise.resolve().then(()=>{e.loadingPromise=null,e.loadingState=em.COMPLETE,c()}),e.loadingPromise)}function Qm(e,t,n){let r=t[1],i=t[n.index];if(!Rm(e,t))return;let a=vm(t,n),o=bm(r,n);switch(hm(a),o.loadingState){case em.NOT_STARTED:jm(rm.Loading,n,i),Zm(o,t,n),o.loadingState===em.IN_PROGRESS&&Im(o,n,i);break;case em.IN_PROGRESS:jm(rm.Loading,n,i),Im(o,n,i);break;case em.COMPLETE:jm(rm.Complete,n,i);break;case em.FAILED:jm(rm.Error,n,i)}}function $m(e,t,n){return e===0?th(t,n):e!==2||!th(t,n)}function eh(e){return e!=null&&(e&1)==1}function th(e,t){let n=e[9],r=bm(e[1],t),i=El(n),a=eh(r.flags),o=vm(e,t)[cm]!==null;return!(a&&o&&i)}function nh(e,t,n,r,i,a,o,s,c,l){let u=V(),d=so(),f=e+27,p=Xp(u,d,e,null,0,0),m=u[9],h=El(m);if(d.firstCreatePass){Su(`NgDefer`);let e={primaryTmplIndex:t,loadingTmplIndex:r??null,placeholderTmplIndex:i??null,errorTmplIndex:a??null,placeholderBlockConfig:null,loadingBlockConfig:null,dependencyResolverFn:n??null,loadingState:em.NOT_STARTED,loadingPromise:null,providers:null,hydrateTriggers:null,debug:null,flags:l??0};c?.(d,e,s,o),xm(d,f,e)}let g=u[f];jp(g,p,u);let _=null,v=null;if(g[6]?.length>0){let e=g[6][0].data;v=e.di??null,_=e.s}let y=[null,im.Initial,null,null,null,null,v,_,null,null];ym(u,f,y);let b=null;v!==null&&h&&(b=m.get(Sl),b.add(v,{lView:u,tNode:p,lContainer:g}));let x=()=>{hm(y),v!==null&&b?.cleanup([v])};pm(0,y,()=>Ya(u,x)),Ja(u,x)}function rh(e){$m(0,V(),uo())&&Xm(qm({timeout:e}))}var ih=class{destroy(e){}updateValue(e,t){}swap(e,t){let n=Math.min(e,t),r=Math.max(e,t),i=this.detach(r);if(r-n>1){let e=this.detach(n);this.attach(n,i),this.attach(r,e)}else this.attach(n,i)}move(e,t){this.attach(t,this.detach(e))}};function ah(e,t,n,r,i){return e===n&&Object.is(t,r)?1:Object.is(i(e,t),i(n,r))?-1:0}function oh(e,t,n,r){let i,a,o=0,s=e.length-1;if(Array.isArray(t)){P(r);let c=t.length-1;for(P(null);o<=s&&o<=c;){let r=e.at(o),l=t[o],u=ah(o,r,o,l,n);if(u!==0){u<0&&e.updateValue(o,l),o++;continue}let d=e.at(s),f=t[c],p=ah(s,d,c,f,n);if(p!==0){p<0&&e.updateValue(s,f),s--,c--;continue}let m=n(o,r),h=n(s,d),g=n(o,l);if(Object.is(g,h)){let t=n(c,f);Object.is(t,m)?(e.swap(o,s),e.updateValue(s,f),c--,s--):e.move(s,o),e.updateValue(o,l),o++;continue}if(i??=new uh,a??=lh(e,o,s,n),sh(e,i,o,g))e.updateValue(o,l),o++,s++;else if(a.has(g))i.set(m,e.detach(o)),s--;else{let n=e.create(o,t[o]);e.attach(o,n),o++,s++}}for(;o<=c;)ch(e,i,n,o,t[o]),o++}else if(t!=null){P(r);let c=t[Symbol.iterator]();P(null);let l=c.next();for(;!l.done&&o<=s;){let t=e.at(o),r=l.value,u=ah(o,t,o,r,n);if(u!==0)u<0&&e.updateValue(o,r),o++,l=c.next();else{i??=new uh,a??=lh(e,o,s,n);let u=n(o,r);if(sh(e,i,o,u))e.updateValue(o,r),o++,s++,l=c.next();else if(!a.has(u))e.attach(o,e.create(o,r)),o++,s++,l=c.next();else{let r=n(o,t);i.set(r,e.detach(o)),s--}}}for(;!l.done;)ch(e,i,n,e.length,l.value),l=c.next()}for(;o<=s;)e.destroy(e.detach(s--));i?.forEach(t=>{e.destroy(t)})}function sh(e,t,n,r){return t!==void 0&&t.has(r)?(e.attach(n,t.get(r)),t.delete(r),!0):!1}function ch(e,t,n,r,i){if(sh(e,t,r,n(r,i)))e.updateValue(r,i);else{let t=e.create(r,i);e.attach(r,t)}}function lh(e,t,n,r){let i=new Set;for(let a=t;a<=n;a++)i.add(r(a,e.at(a)));return i}var uh=class{kvMap=new Map;_vMap=void 0;has(e){return this.kvMap.has(e)}delete(e){if(!this.has(e))return!1;let t=this.kvMap.get(e);return this._vMap!==void 0&&this._vMap.has(t)?(this.kvMap.set(e,this._vMap.get(t)),this._vMap.delete(t)):this.kvMap.delete(e),!0}get(e){return this.kvMap.get(e)}set(e,t){if(this.kvMap.has(e)){let n=this.kvMap.get(e);this._vMap===void 0&&(this._vMap=new Map);let r=this._vMap;for(;r.has(n);)n=r.get(n);r.set(n,t)}else this.kvMap.set(e,t)}forEach(e){for(let[t,n]of this.kvMap)if(e(n,t),this._vMap!==void 0){let r=this._vMap;for(;r.has(n);)n=r.get(n),e(n,t)}}};function K(e,t,n,r,i,a,o,s){Su(`NgControlFlow`);let c=V(),l=so();return Xp(c,l,e,t,n,r,i,Va(l.consts,a),256,o,s),dh}function dh(e,t,n,r,i,a,o,s){Su(`NgControlFlow`);let c=V(),l=so();return Xp(c,l,e,t,n,r,i,Va(l.consts,a),512,o,s),dh}function q(e,t){Su(`NgControlFlow`);let n=V(),r=So(),i=n[r]===lu?-1:n[r],a=i===-1?void 0:vh(n,27+i);if(Lf(n,r,e)){let r=P(null);try{if(a!==void 0&&hf(a,0),e!==-1){let r=27+e,i=vh(n,r),a=Ch(n[1],r),o=kf(i,a,n);mf(i,zd(n,a,t,{dehydratedView:o}),0,Bd(a,o))}}finally{P(r)}}else if(a!==void 0){let e=pf(a,0);e!==void 0&&(e[8]=t)}}var fh=class{lContainer;$implicit;$index;constructor(e,t,n){this.lContainer=e,this.$implicit=t,this.$index=n}get $count(){return this.lContainer.length-10}};function ph(e){return e}var mh=class{hasEmptyBlock;trackByFn;liveCollection;constructor(e,t,n){this.hasEmptyBlock=e,this.trackByFn=t,this.liveCollection=n}};function hh(e,t,n,r,i,a,o,s,c,l,u,d,f){Su(`NgControlFlow`);let p=V(),m=so(),h=c!==void 0,g=V(),_=new mh(h,s?o.bind(g[15][8]):o);g[27+e]=_,Xp(p,m,e+1,t,n,r,i,Va(m.consts,a),256),h&&Xp(p,m,e+2,c,l,u,d,Va(m.consts,f),512)}var gh=class extends ih{lContainer;hostLView;templateTNode;operationsCounter=void 0;needsIndexUpdate=!1;constructor(e,t,n){super(),this.lContainer=e,this.hostLView=t,this.templateTNode=n}get length(){return this.lContainer.length-10}at(e){return this.getLView(e)[8].$implicit}attach(e,t){let n=t[6];this.needsIndexUpdate||=e!==this.length,mf(this.lContainer,t,e,Bd(this.templateTNode,n)),yh(this.lContainer,e)}detach(e){return this.needsIndexUpdate||=e!==this.length-1,bh(this.lContainer,e),xh(this.lContainer,e)}create(e,t){let n=Of(this.lContainer,this.templateTNode.tView.ssrId);return zd(this.hostLView,this.templateTNode,new fh(this.lContainer,t,e),{dehydratedView:n})}destroy(e){Hu(e[1],e)}updateValue(e,t){this.getLView(e)[8].$implicit=t}reset(){this.needsIndexUpdate=!1}updateIndexes(){if(this.needsIndexUpdate)for(let e=0;e0){let e=n[9];Du(e,r),pu.delete(n[19]),r.detachedLeaveAnimationFns=void 0}}function bh(e,t){if(e.length<=10)return;let n=e[10+t],r=n?n[26]:void 0;r&&r.leave&&r.leave.size>0&&(r.detachedLeaveAnimationFns=[])}function xh(e,t){return gf(e,t)}function Sh(e,t){return pf(e,t)}function Ch(e,t){return Ia(e,t)}function wh(e,t,n){let r=V();return Lf(r,So(),t)&&(so(),Cd(Vo(),r,e,t,r[11],n)),wh}function Th(e,t,n,r,i){Pd(t,e,n,i?`class`:`style`,r)}function Eh(e,t,n,r){let i=V(),a=i[1],o=e+27,s=a.firstCreatePass?dp(o,i,2,t,kd,ro(),n,r):a.data[o];if(Da(s)){let n=i[10].tracingService;if(n&&n.componentCreate){let o=a.data[s.directiveStart+s.componentOffset];return n.componentCreate(Nf(o),()=>(Dh(e,t,i,s,r),Eh))}}return Dh(e,t,i,s,r),Eh}function Dh(e,t,n,r,i){if(jd(r,n,e,t,jh),Oa(r)){let e=n[1];yd(e,n,r),kl(e,r,n)}i!=null&&bd(n,r)}function Oh(){let e=so(),t=Md(uo());return e.firstCreatePass&&fp(e,t),ao(t)&&oo(),no(),t.classesWithoutHost!=null&&dc(t)&&Th(e,t,V(),t.classesWithoutHost,!0),t.stylesWithoutHost!=null&&fc(t)&&Th(e,t,V(),t.stylesWithoutHost,!1),Oh}function kh(e,t,n,r){return Eh(e,t,n,r),Oh(),kh}function J(e,t,n,r){let i=V(),a=i[1],o=e+27,s=a.firstCreatePass?pp(o,a,2,t,n,r):a.data[o];return jd(s,i,e,t,jh),r!=null&&bd(i,s),J}function Y(){return ao(Md(uo()))&&oo(),no(),Y}function Ah(e,t,n,r){return J(e,t,n,r),Y(),Ah}var jh=(e,t,n,r,i)=>(Jo(!0),Bl(t[11],r,Go()));function Mh(){let e=so(),t=Md(uo());return e.firstCreatePass&&fp(e,t),Mh}function Nh(e,t,n){let r=V(),i=r[1],a=e+27,o=i.firstCreatePass?pp(a,i,8,`ng-container`,t,n):i.data[a];return jd(o,r,e,`ng-container`,Ih),n!=null&&bd(r,o),Nh}function Ph(){return Md(uo()),Mh}function Fh(e,t,n){return Nh(e,t,n),Ph(),Fh}var Ih=(e,t,n,r,i)=>(Jo(!0),zl(t[11],``));function Lh(){return V()}function Rh(e,t,n){let r=V();return Lf(r,So(),t)&&(so(),wd(Vo(),r,e,t,r[11],n)),Rh}var zh=`en-US`;function Bh(e){typeof e==`string`&&e.toLowerCase().replace(/_/g,`-`)}function Vh(e,t,n){let r=V(),i=so(),a=uo();return Uh(i,r,r[11],a,e,t,n),Vh}function Hh(e,t,n){let r=V(),i=so(),a=uo();return(a.type&3||n)&&Hf(a,i,r,n,r[11],e,t,Bf(a,r,t)),Hh}function Uh(e,t,n,r,i,a,o){let s=!0,c=null;if((r.type&3||o)&&(c??=Bf(r,t,a),Hf(r,e,t,o,n,i,a,c)&&(s=!1)),s){let e=r.outputs?.[i],n=r.hostDirectiveOutputs?.[i];if(n&&n.length)for(let e=0;e>17&32767}function Kh(e){return(e&2)==2}function qh(e,t){return e&131071|t<<17}function Jh(e){return e|2}function Yh(e){return(e&131068)>>2}function Xh(e,t){return e&-131069|t<<2}function Zh(e){return(e&1)==1}function Qh(e){return e|1}function $h(e,t,n,r,i,a){let o=a?t.classBindings:t.styleBindings,s=Gh(o),c=Yh(o);e[r]=n;let l=!1,u;if(Array.isArray(n)){let e=n;u=e[1],(u===null||Bi(e,u)>0)&&(l=!0)}else u=n;if(i){if(c!==0){let t=Gh(e[s+1]);e[r+1]=Wh(t,s),t!==0&&(e[t+1]=Xh(e[t+1],r)),e[s+1]=qh(e[s+1],r)}else e[r+1]=Wh(s,0),s!==0&&(e[s+1]=Xh(e[s+1],r)),s=r}else e[r+1]=Wh(c,0),s===0?s=r:e[c+1]=Xh(e[c+1],r),c=r;l&&(e[r+1]=Jh(e[r+1])),tg(e,u,r,!0),tg(e,u,r,!1),eg(t,u,e,r,a),o=Wh(s,c),a?t.classBindings=o:t.styleBindings=o}function eg(e,t,n,r,i){let a=i?e.residualClasses:e.residualStyles;a!=null&&typeof t==`string`&&Bi(a,t)>=0&&(n[r+1]=Qh(n[r+1]))}function tg(e,t,n,r){let i=e[n+1],a=t===null,o=r?Gh(i):Yh(i),s=!1;for(;o!==0&&(s===!1||a);){let n=e[o],i=e[o+1];ng(n,t)&&(s=!0,e[o+1]=r?Qh(i):Jh(i)),o=r?Gh(i):Yh(i)}s&&(e[n+1]=r?Jh(i):Qh(i))}function ng(e,t){return e===null||t==null||(Array.isArray(e)?e[1]:e)===t?!0:Array.isArray(e)&&typeof t==`string`?Bi(e,t)>=0:!1}function rg(e,t,n){return ag(e,t,n,!1),rg}function ig(e,t){return ag(e,t,null,!0),ig}function ag(e,t,n,r){let i=V(),a=so(),o=Co(2);if(a.firstUpdatePass&&sg(a,e,o,r),t!==lu&&Lf(i,o,t)){let s=a.data[zo()];mg(a,s,i,i[11],e,i[o+1]=_g(t,n),r,o)}}function og(e,t){return t>=e.expandoStartIndex}function sg(e,t,n,r){let i=e.data;if(i[n+1]===null){let a=i[zo()],o=og(e,n);vg(a,r)&&t===null&&!o&&(t=!1),t=cg(i,a,t,r),$h(i,a,t,n,o,r)}}function cg(e,t,n,r){let i=Oo(e),a=r?t.residualClasses:t.residualStyles;if(i===null)(r?t.classBindings:t.styleBindings)===0&&(n=fg(null,e,t,n,r),n=pg(n,t.attrs,r),a=null);else{let o=t.directiveStylingLast;if(o===-1||e[o]!==i){if(n=fg(i,e,t,n,r),a===null){let n=lg(e,t,r);n!==void 0&&Array.isArray(n)&&(n=fg(null,e,t,n[1],r),n=pg(n,t.attrs,r),ug(e,t,r,n))}else a=dg(e,t,r)}}return a!==void 0&&(r?t.residualClasses=a:t.residualStyles=a),n}function lg(e,t,n){let r=n?t.classBindings:t.styleBindings;if(Yh(r)!==0)return e[Gh(r)]}function ug(e,t,n,r){let i=n?t.classBindings:t.styleBindings;e[Gh(i)]=r}function dg(e,t,n){let r,i=t.directiveEnd;for(let a=1+t.directiveStylingLast;a0;){let t=e[i],a=Array.isArray(t),c=a?t[1]:t,l=c===null,u=n[i+1];u===lu&&(u=l?Ui:void 0);let d=l?zi(u,r):c===r?u:void 0;if(a&&!gg(d)&&(d=zi(t,r)),gg(d)&&(s=d,o))return s;let f=e[i+1];i=o?Gh(f):Yh(f)}if(t!==null){let e=a?t.residualClasses:t.residualStyles;e!=null&&(s=zi(e,r))}return s}function gg(e){return e!==void 0}function _g(e,t){return e==null||e===``||(typeof t==`string`?e=Ml(e)+t:typeof e==`object`&&(e=Ur(Ml(e)))),e}function vg(e,t){return!!(e.flags&(t?8:16))}function Z(e,t=``){let n=V(),r=so(),i=e+27,a=r.firstCreatePass?bf(r,i,1,t,null):r.data[i],o=yg(r,n,a,t);n[i]=o,qo()&&Zu(r,n,o,a),mo(a,!1)}var yg=(e,t,n,r)=>(Jo(!0),Ll(t[11],r));function bg(e,t,n,r=``){return Lf(e,So(),n)?t+pi(n)+r:lu}function xg(e,t,n,r,i,a=``){let o=Rf(e,bo(),n,i);return Co(2),o?t+pi(n)+r+pi(i)+a:lu}function Sg(e,t,n,r,i,a,o,s=``){let c=zf(e,bo(),n,i,o);return Co(3),c?t+pi(n)+r+pi(i)+a+pi(o)+s:lu}function Q(e){return $(``,e),Q}function $(e,t,n){let r=V(),i=bg(r,e,t,n);return i!==lu&&Tg(r,zo(),i),$}function Cg(e,t,n,r,i){let a=V(),o=xg(a,e,t,n,r,i);return o!==lu&&Tg(a,zo(),o),Cg}function wg(e,t,n,r,i,a,o){let s=V(),c=Sg(s,e,t,n,r,i,a,o);return c!==lu&&Tg(s,zo(),c),wg}function Tg(e,t,n){let r=Pa(t,e);Rl(e[11],r,n)}function Eg(e,t){let n=e[t];return n===lu?void 0:n}function Dg(e,t,n,r,i,a){let o=t+n;return Lf(e,o,i)?If(e,o+1,a?r.call(a,i):r(i)):Eg(e,o+1)}function Og(e,t){let n=so(),r,i=e+27;n.firstCreatePass?(r=kg(t,n.pipeRegistry),n.data[i]=r,r.onDestroy&&(n.destroyHooks??=[]).push(i,r.onDestroy)):r=n.data[i];let a=r.factory||(r.factory=Ni(r.type,!0)),o=Ci(Xf);try{let e=Cc(!1),t=a();return Cc(e),Ra(n,V(),i,t),t}finally{Ci(o)}}function kg(e,t){if(t)for(let n=t.length-1;n>=0;n--){let r=t[n];if(e===r.name)return r}}function Ag(e,t,n){let r=e+27,i=V(),a=La(i,r);return jg(i,r)?Dg(i,yo(),t,a.transform,n,a):a.transform(n)}function jg(e,t){return e[1].data[t].pure}var Mg=(()=>{class e{applicationErrorHandler=z(ws);appRef=z(Um);taskService=z(rs);ngZone=z(ds);zonelessEnabled=z(Fs);tracing=z(bu,{optional:!0});zoneIsDefined=typeof Zone<`u`&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new er;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(ls):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(z(Is,{optional:!0})??!1);cancelScheduledCallback=null;useMicrotaskScheduler=!1;runningTick=!1;pendingRenderTaskId=null;constructor(){this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{let e=this.taskService.add();if(!this.runningTick&&(this.cleanup(),!this.zonelessEnabled||this.appRef.includeAllTestViews)){this.taskService.remove(e);return}this.switchToMicrotaskScheduler(),this.taskService.remove(e)})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()}))}switchToMicrotaskScheduler(){this.ngZone.runOutsideAngular(()=>{let e=this.taskService.add();this.useMicrotaskScheduler=!0,queueMicrotask(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(e)})})}notify(e){if(!this.zonelessEnabled&&e===5)return;switch(e){case 0:case 2:this.appRef.dirtyFlags|=2;break;case 3:case 4:case 5:case 1:this.appRef.dirtyFlags|=4;break;case 6:this.appRef.dirtyFlags|=2;break;case 12:this.appRef.dirtyFlags|=16;break;case 13:this.appRef.dirtyFlags|=2;break;case 11:break;default:this.appRef.dirtyFlags|=8}if(this.appRef.tracingSnapshot=this.tracing?.snapshot(this.appRef.tracingSnapshot)??null,!this.shouldScheduleTick())return;let t=this.useMicrotaskScheduler?ss:os;this.pendingRenderTaskId=this.taskService.add(),this.cancelScheduledCallback=this.scheduleInRootZone?Zone.root.run(()=>t(()=>this.tick())):this.ngZone.runOutsideAngular(()=>t(()=>this.tick()))}shouldScheduleTick(){return!(this.appRef.destroyed||this.pendingRenderTaskId!==null||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get(`isAngularZone_ID`+this.angularZoneId))}tick(){if(this.runningTick||this.appRef.destroyed)return;if(this.appRef.dirtyFlags===0){this.cleanup();return}!this.zonelessEnabled&&this.appRef.dirtyFlags&7&&(this.appRef.dirtyFlags|=1);let e=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(e){this.applicationErrorHandler(e)}finally{this.taskService.remove(e),this.cleanup()}}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,this.pendingRenderTaskId!==null){let e=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(e)}}static ɵfac=function(t){return new(t||e)};static ɵprov=Qc({token:e,factory:e.ɵfac})}return e})();function Ng(){return[{provide:Ps,useExisting:Mg},{provide:ds,useClass:ys},{provide:Fs,useValue:!0}]}function Pg(){return typeof $localize<`u`&&$localize.locale||`en-US`}var Fg=new L(``,{factory:()=>z(Fg,{optional:!0,skipSelf:!0})||Pg()}),Ig=class{destroyed=!1;listeners=null;errorHandler=z(Cs,{optional:!0});isEmitting=!1;hasNullListeners=!1;destroyRef=z($o);constructor(){this.destroyRef.onDestroy(()=>{this.destroyed=!0,this.listeners=null})}subscribe(e){if(this.destroyed)throw new F(953,!1);return(this.listeners??=[]).push(e),{unsubscribe:()=>{let t=this.listeners?this.listeners.indexOf(e):-1;t>-1&&(this.isEmitting?(this.hasNullListeners=!0,this.listeners[t]=null):this.listeners.splice(t,1))}}}emit(e){if(this.destroyed){console.warn(Hr(953,!1));return}if(this.listeners===null)return;this.isEmitting=!0;let t=P(null);try{for(let t of this.listeners)try{t!==null&&t(e)}catch(e){this.errorHandler?.handleError(e)}}finally{this.hasNullListeners&&(this.hasNullListeners=!1,this.listeners&&Lg(this.listeners)),P(t),this.isEmitting=!1}}};function Lg(e){let t=e.length-1;for(;t>-1;)e[t]===null&&e.splice(t,1),t--}function Rg(e,t){return Sn(e,t?.equal)}(class e extends Error{_brand;constructor(e){super(e)}static IDLE=new e(`IDLE`);static LOADING=new e(`LOADING`)});function zg(e,t){let n=Object.create(Ys);n.value=e,n.transformFn=t?.transform;function r(){if(rn(n),n.value===Js)throw new F(-950,null);return n.value}return r[en]=n,r}function Bg(e){return new Ig}function Vg(e,t){return zg(e,t)}function Hg(e){return zg(Js,e)}var Ug=(Vg.required=Hg,Vg),Wg=new L(``),Gg=new L(``);function Kg(e){return!e.moduleRef}function qg(e){let t=Kg(e)?e.r3Injector:e.moduleRef.injector,n=t.get(ds);return n.run(()=>{Kg(e)?e.r3Injector.resolveInjectorInitializers():e.moduleRef.resolveInjectorInitializers();let r=t.get(ws),i;if(n.runOutsideAngular(()=>{i=n.onError.subscribe({next:r})}),Kg(e)){let n=()=>t.destroy(),r=e.platformInjector.get(Wg);r.add(n),t.onDestroy(()=>{i.unsubscribe(),r.delete(n)})}else{let t=()=>e.moduleRef.destroy(),n=e.platformInjector.get(Wg);n.add(t),e.moduleRef.onDestroy(()=>{Gm(e.allPlatformModules,e.moduleRef),i.unsubscribe(),n.delete(t)})}return Yg(r,n,()=>{let n=t.get(rs),r=n.add(),i=t.get(Jp);return i.runInitializers(),i.donePromise.then(()=>{if(Bh(t.get(Fg,zh)||`en-US`),!t.get(Gg,!0))return Kg(e)?t.get(Um):(e.allPlatformModules.push(e.moduleRef),e.moduleRef);if(Kg(e)){let n=t.get(Um);return e.rootComponent!==void 0&&n.bootstrap(e.rootComponent),n}return Jg?.(e.moduleRef,e.allPlatformModules),e.moduleRef}).finally(()=>void n.remove(r))})})}var Jg;function Yg(e,t,n){try{let r=n();return Mp(r)?r.catch(n=>{throw t.runOutsideAngular(()=>e(n)),n}):r}catch(n){throw t.runOutsideAngular(()=>e(n)),n}}var Xg=null;function Zg(e=[],t){return Zo.create({name:t,providers:[{provide:ia,useValue:`platform`},{provide:Wg,useValue:new Set([()=>Xg=null])},...e]})}function Qg(e=[]){if(Xg)return Xg;let t=Zg(e);return Xg=t,Vm(),$g(t),t}function $g(e){let t=e.get(ks,null);xa(e,()=>{t?.forEach(e=>e())})}function e_(e){let{rootComponent:t,appProviders:n,platformProviders:r,platformRef:i}=e;W(U.BootstrapApplicationStart);try{let e=i?.injector??Qg(r);return qg({r3Injector:new Fp({providers:[Ng(),Ts,...n||[]],parent:e,debugName:``,runEnvironmentInitializers:!1}).injector,platformInjector:e,rootComponent:t})}catch(e){return Promise.reject(e)}finally{W(U.BootstrapApplicationEnd)}}var t_=null;function n_(){return t_}function r_(e){t_??=e}var i_=class{},a_=(()=>{class e{transform(e){return JSON.stringify(e,null,2)}static ɵfac=function(t){return new(t||e)};static ɵpipe=Hp({name:`json`,type:e,pure:!1})}return e})();function o_(e,t){t=encodeURIComponent(t);for(let n of e.split(`;`)){let e=n.indexOf(`=`),[r,i]=e==-1?[n,``]:[n.slice(0,e),n.slice(e+1)];if(r.trim()!==t)continue;let a=i;try{a=decodeURIComponent(i)}catch{}return a.length>1&&a[0]===`"`&&a[a.length-1]===`"`&&(a=a.slice(1,-1)),a}return null}var s_=`browser`,c_=class{_doc;constructor(e){this._doc=e}manager},l_=(()=>{class e extends c_{constructor(e){super(e)}supports(e){return!0}addEventListener(e,t,n,r){return e.addEventListener(t,n,r),()=>this.removeEventListener(e,t,n,r)}removeEventListener(e,t,n,r){return e.removeEventListener(t,n,r)}static ɵfac=function(t){return new(t||e)(R(Qo))};static ɵprov=Yr({token:e,factory:e.ɵfac})}return e})(),u_=new L(``),d_=(()=>{class e{_zone;_plugins;_eventNameToPlugin=new Map;constructor(e,t){this._zone=t,e.forEach(e=>{e.manager=this});let n=e.filter(e=>!(e instanceof l_));this._plugins=n.slice().reverse();let r=e.find(e=>e instanceof l_);r&&this._plugins.push(r)}addEventListener(e,t,n,r){return this._findPluginFor(t).addEventListener(e,t,n,r)}getZone(){return this._zone}_findPluginFor(e){let t=this._eventNameToPlugin.get(e);if(t)return t;if(t=this._plugins.find(t=>t.supports(e)),!t)throw new F(-5101,!1);return this._eventNameToPlugin.set(e,t),t}static ɵfac=function(t){return new(t||e)(R(u_),R(ds))};static ɵprov=Yr({token:e,factory:e.ɵfac})}return e})(),f_=`ng-app-id`;function p_(e){for(let t of e)t.remove()}function m_(e,t){let n=t.createElement(`style`);return n.textContent=e,n}function h_(e,t,n,r){let i=e.head?.querySelectorAll(`style[${f_}="${t}"],link[${f_}="${t}"]`);if(!i||i.length===0)return!1;for(let e of i)e.removeAttribute(f_),e instanceof HTMLLinkElement?r.set(e.href.slice(e.href.lastIndexOf(`/`)+1),{usage:0,elements:[e]}):e.textContent&&n.set(e.textContent,{usage:0,elements:[e]});return!0}function g_(e,t){let n=t.createElement(`link`);return n.setAttribute(`rel`,`stylesheet`),n.setAttribute(`href`,e),n}var __=(()=>{class e{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;constructor(e,t,n,r={}){this.doc=e,this.appId=t,this.nonce=n,h_(e,t,this.inline,this.external)&&this.hosts.add(e.head)}addStyles(e,t){for(let t of e)this.addUsage(t,this.inline,m_);t?.forEach(e=>this.addUsage(e,this.external,g_))}removeStyles(e,t){for(let t of e)this.removeUsage(t,this.inline);t?.forEach(e=>this.removeUsage(e,this.external))}addUsage(e,t,n){let r=t.get(e);r?r.usage++:t.set(e,{usage:1,elements:[...this.hosts].map(t=>this.addElement(t,n(e,this.doc)))})}removeUsage(e,t){let n=t.get(e);n&&(n.usage--,n.usage<=0&&(p_(n.elements),t.delete(e)))}ngOnDestroy(){for(let[,{elements:e}]of[...this.inline,...this.external])p_(e);this.hosts.clear()}addHost(e){if(!this.hosts.has(e)){this.hosts.add(e);for(let[t,{elements:n}]of this.inline)n.push(this.addElement(e,m_(t,this.doc)));for(let[t,{elements:n}]of this.external)n.push(this.addElement(e,g_(t,this.doc)))}}removeHost(e){this.hosts.delete(e);for(let t of[...this.inline.values(),...this.external.values()]){let n=[];for(let r of t.elements)r.parentNode===e?r.remove():n.push(r);t.elements=n}}addElement(e,t){return this.nonce&&t.setAttribute(`nonce`,this.nonce),e.appendChild(t)}static ɵfac=function(t){return new(t||e)(R(Qo),R(Ds),R(js,8),R(As))};static ɵprov=Yr({token:e,factory:e.ɵfac})}return e})(),v_={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`,math:`http://www.w3.org/1998/Math/MathML`},y_=/%COMP%/g,b_=`%COMP%`,x_=`_nghost-${b_}`,S_=`_ngcontent-${b_}`,C_=!0,w_=new L(``,{factory:()=>C_}),T_=new L(``);function E_(e){return S_.replace(y_,e)}function D_(e){return x_.replace(y_,e)}function O_(e,t){return t.map(t=>t.replace(y_,e))}var k_=(()=>{class e{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;cssVarNamespace;constructor(e,t,n,r,i,a,o=null,s=null,c=null){this.eventManager=e,this.sharedStylesHost=t,this.appId=n,this.removeStylesOnCompDestroy=r,this.doc=i,this.ngZone=a,this.nonce=o,this.tracingService=s,this.cssVarNamespace=c??``,this.defaultRenderer=new A_(e,i,a,this.tracingService,this.cssVarNamespace)}createRenderer(e,t){if(!e||!t)return this.defaultRenderer;let n=this.getOrCreateRenderer(e,t);return n instanceof P_?n.applyToHost(e):n instanceof N_&&n.applyStyles(),n}getOrCreateRenderer(e,t){let n=this.rendererByCompId,r=n.get(t.id);if(!r){let i=this.doc,a=this.ngZone,o=this.eventManager,s=this.sharedStylesHost,c=this.removeStylesOnCompDestroy,l=this.tracingService;switch(t.encapsulation){case Al.Emulated:r=new P_(o,s,t,this.appId,c,i,a,l,this.cssVarNamespace);break;case Al.ShadowDom:return new M_(o,e,t,i,a,this.nonce,l,this.cssVarNamespace,s);case Al.ExperimentalIsolatedShadowDom:return new M_(o,e,t,i,a,this.nonce,l,this.cssVarNamespace);default:r=new N_(o,s,t,c,i,a,l,this.cssVarNamespace)}n.set(t.id,r)}return r}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(e){this.rendererByCompId.delete(e)}static ɵfac=function(t){return new(t||e)(R(d_),R(Jf),R(Ds),R(w_),R(Qo),R(ds),R(js),R(bu,8),R(T_,8))};static ɵprov=Yr({token:e,factory:e.ɵfac})}return e})(),A_=class{eventManager;doc;ngZone;tracingService;cssVarNamespace;data=Object.create(null);throwOnSyntheticProps=!0;constructor(e,t,n,r,i=``){this.eventManager=e,this.doc=t,this.ngZone=n,this.tracingService=r,this.cssVarNamespace=i}destroy(){}destroyNode=null;createElement(e,t){return t?this.doc.createElementNS(v_[t]||t,e):this.doc.createElement(e)}createComment(e){return this.doc.createComment(e)}createText(e){return this.doc.createTextNode(e)}appendChild(e,t){(j_(e)?e.content:e).appendChild(t)}insertBefore(e,t,n){if(e){let r=j_(e)?e.content:e;if(n!=null&&n.parentNode!==r)throw new F(-5106,!1);r.insertBefore(t,n)}}removeChild(e,t){t.remove()}selectRootElement(e,t){let n=typeof e==`string`?this.doc.querySelector(e):e;if(!n)throw new F(-5104,!1);return t||(n.textContent=``),n}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,n,r){if(r){t=r+`:`+t;let i=v_[r];i?e.setAttributeNS(i,t,n):e.setAttribute(t,n)}else e.setAttribute(t,n)}removeAttribute(e,t,n){if(n){let r=v_[n];r?e.removeAttributeNS(r,t):e.removeAttribute(`${n}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,n,r){let i=t.startsWith(`--`);i&&(t=t.replace(`%NS%`,this.cssVarNamespace)),i||r&(uu.DashCase|uu.Important)?e.style.setProperty(t,n,r&uu.Important?`important`:``):e.style[t]=n}removeStyle(e,t,n){let r=t.startsWith(`--`);r&&(t=t.replace(`%NS%`,this.cssVarNamespace)),r||n&uu.DashCase?e.style.removeProperty(t):e.style[t]=``}setProperty(e,t,n){e!=null&&(e[t]=n)}setValue(e,t){e.nodeValue=t}listen(e,t,n,r){if(typeof e==`string`&&(e=n_().getGlobalEventTarget(this.doc,e),!e))throw new F(-5102,!1);let i=this.decoratePreventDefault(n);return this.tracingService?.wrapEventListener&&(i=this.tracingService.wrapEventListener(e,t,i)),this.eventManager.addEventListener(e,t,i,r)}decoratePreventDefault(e){return t=>{if(t===`__ngUnwrap__`)return e;e(t)===!1&&t.preventDefault()}}};function j_(e){return e.tagName===`TEMPLATE`&&e.content!==void 0}var M_=class extends A_{hostEl;sharedStylesHost;shadowRoot;constructor(e,t,n,r,i,a,o,s,c){super(e,r,i,o,s),this.hostEl=t,this.sharedStylesHost=c,this.shadowRoot=t.attachShadow({mode:`open`}),this.sharedStylesHost&&this.sharedStylesHost.addHost(this.shadowRoot);let l=n.styles;l=O_(n.id,l).map(e=>e.replace(/%NS%/g,s));for(let e of l){let t=document.createElement(`style`);a&&t.setAttribute(`nonce`,a),t.textContent=e,this.shadowRoot.appendChild(t)}let u=n.getExternalStyles?.();if(u)for(let e of u){let t=g_(e,r);a&&t.setAttribute(`nonce`,a),this.shadowRoot.appendChild(t)}}nodeOrShadowRoot(e){return e===this.hostEl?this.shadowRoot:e}appendChild(e,t){return super.appendChild(this.nodeOrShadowRoot(e),t)}insertBefore(e,t,n){return super.insertBefore(this.nodeOrShadowRoot(e),t,n)}removeChild(e,t){return super.removeChild(null,t)}parentNode(e){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(e)))}destroy(){this.sharedStylesHost&&this.sharedStylesHost.removeHost(this.shadowRoot)}},N_=class extends A_{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(e,t,n,r,i,a,o,s,c){super(e,i,a,o,s),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=r;let l=n.styles,u=c?O_(c,l):l;this.styles=u.map(e=>e.replace(/%NS%/g,s)),this.styleUrls=n.getExternalStyles?.(c)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&pu.size===0&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},P_=class extends N_{contentAttr;hostAttr;constructor(e,t,n,r,i,a,o,s,c){let l=r+`-`+n.id;super(e,t,n,i,a,o,s,c,l),this.contentAttr=E_(l),this.hostAttr=D_(l)}applyToHost(e){this.applyStyles(),this.setAttribute(e,this.hostAttr,``)}createElement(e,t){let n=super.createElement(e,t);return super.setAttribute(n,this.contentAttr,``),n}},F_=class e extends i_{supportsDOMEvents=!0;static makeCurrent(){r_(new e)}onAndCancel(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.remove()}createElement(e,t){return t||=this.getDefaultDocument(),t.createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument(`fakeTitle`)}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,t){return t===`window`?window:t===`document`?e:t===`body`?e.body:null}getBaseHref(e){let t=L_();return t==null?null:R_(t)}resetBaseElement(){I_=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return o_(document.cookie,e)}},I_=null;function L_(){return I_||=document.head.querySelector(`base`),I_?I_.getAttribute(`href`):null}function R_(e){return new URL(e,document.baseURI).pathname}var z_=[`alt`,`control`,`meta`,`shift`],B_={"\b":`Backspace`," ":`Tab`,"":`Delete`,"\x1B":`Escape`,Del:`Delete`,Esc:`Escape`,Left:`ArrowLeft`,Right:`ArrowRight`,Up:`ArrowUp`,Down:`ArrowDown`,Menu:`ContextMenu`,Scroll:`ScrollLock`,Win:`OS`},V_={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey},H_=(()=>{class e extends c_{constructor(e){super(e)}supports(t){return e.parseEventName(t)!=null}addEventListener(t,n,r,i){let a=e.parseEventName(n),o=e.eventCallback(a.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>n_().onAndCancel(t,a.domEventName,o,i))}static parseEventName(t){let n=t.toLowerCase().split(`.`),r=n.shift();if(n.length===0||r!==`keydown`&&r!==`keyup`)return null;let i=e._normalizeKey(n.pop()),a=``,o=n.indexOf(`code`);if(o>-1&&(n.splice(o,1),a=`code.`),z_.forEach(e=>{let t=n.indexOf(e);t>-1&&(n.splice(t,1),a+=e+`.`)}),a+=i,n.length!=0||i.length===0)return null;let s={};return s.domEventName=r,s.fullKey=a,s}static matchEventFullKeyCode(e,t){let n=B_[e.key]||e.key,r=``;return t.indexOf(`code.`)>-1&&(n=e.code,r=`code.`),n==null||!n?!1:(n=n.toLowerCase(),n===` `?n=`space`:n===`.`&&(n=`dot`),z_.forEach(t=>{if(t!==n){let n=V_[t];n(e)&&(r+=t+`.`)}}),r+=n,r===t)}static eventCallback(t,n,r){return i=>{e.matchEventFullKeyCode(i,t)&&r.runGuarded(()=>n(i))}}static _normalizeKey(e){return e===`esc`?`escape`:e}static ɵfac=function(t){return new(t||e)(R(Qo))};static ɵprov=Yr({token:e,factory:e.ɵfac})}return e})();async function U_(e,t,n){return e_({rootComponent:e,...W_(t,n)})}function W_(e,t){return{platformRef:t?.platformRef,appProviders:[...Y_,...e?.providers??[]],platformProviders:J_}}function G_(){F_.makeCurrent()}function K_(){return new Cs}function q_(){return hl(document),document}var J_=[{provide:As,useValue:s_},{provide:ks,useValue:G_,multi:!0},{provide:Qo,useFactory:q_}],Y_=[{provide:ia,useValue:`root`},{provide:Cs,useFactory:K_},{provide:u_,useClass:l_,multi:!0},{provide:u_,useClass:H_,multi:!0},k_,{provide:Jf,useClass:__},{provide:__,useExisting:Jf},d_,{provide:jf,useExisting:k_},[]];function X_(e,t){let n=`\x1B[${e}m`,r=`\x1B[${t}m`;return((e,...t)=>{if(Array.isArray(e)&&`raw`in e){let i=e,a=``;for(let e=0;e{let r=new ev({code:i,why:Q_(a.why,e),fix:Q_(a.fix,e),docs:o,cause:e.cause,sources:e.sources},s);for(let e of t)e(r,n);return r};n[i]=s}return n}function rv(e){return t=>{let n=`${e.bold(e.red(`[${t.name}]`))} ${t.message}`,r=[];return t.fix&&r.push(`${e.dim(`fix:`)} ${t.fix}`),t.sources?.length&&r.push(`${e.dim(`sources:`)} ${t.sources.join(`, `)}`),t.docs&&r.push(`${e.dim(`see:`)} ${e.cyan(t.docs)}`),r.length===0?n:[n,...r.map((t,n)=>`${e.dim(n{e=n,t=r}),resolve:e,reject:t}}var lv=Math.random.bind(Math),uv=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function dv(e=21){let t=``,n=e;for(;n--;)t+=uv[lv()*64|0];return t}var fv=6e4,pv=e=>e,mv=pv,{clearTimeout:hv,setTimeout:gv}=globalThis;function _v(e,t){let{post:n,on:r,off:i=()=>{},eventNames:a=[],serialize:o=pv,deserialize:s=mv,resolver:c,bind:l=`rpc`,timeout:u=fv,proxify:d=!0}=t,f=!1,p=new Map,m,h;async function g(e,r,i,a){if(f)throw Error(`[birpc] rpc is closed, cannot call "${e}"`);let s={m:e,a:r,t:`q`};a&&(s.o=!0);let c=async e=>n(o(e));if(i){await c(s);return}if(m)try{await m}finally{m=void 0}let{promise:l,resolve:d,reject:g}=cv(),_=dv();s.i=_;let v;async function y(n=s){return u>=0&&(v=gv(()=>{try{if(t.onTimeoutError?.call(h,e,r)!==!0)throw Error(`[birpc] timeout on calling "${e}"`)}catch(e){g(e)}p.delete(_)},u),typeof v==`object`&&(v=v.unref?.())),p.set(_,{resolve:d,reject:g,timeoutId:v,method:e}),await c(n),l}try{t.onRequest?await t.onRequest.call(h,s,y,d):await y()}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}finally{hv(v),p.delete(_)}return l}let _={$call:(e,...t)=>g(e,t,!1),$callOptional:(e,...t)=>g(e,t,!1,!0),$callEvent:(e,...t)=>g(e,t,!0),$callRaw:e=>g(e.method,e.args,e.event,e.optional),$rejectPendingCalls:y,get $closed(){return f},get $meta(){return t.meta},$close:v,$functions:e};h=d?new Proxy({},{get(t,n){if(Object.hasOwn(_,n))return _[n];if(n===`then`&&!a.includes(`then`)&&!(`then`in e))return;let r=(...e)=>g(n,e,!0);if(a.includes(n))return r.asEvent=r,r;let i=(...e)=>g(n,e,!1);return i.asEvent=r,i}}):_;function v(e){f=!0,p.forEach(({reject:t,method:n})=>{let r=Error(`[birpc] rpc is closed, cannot call "${n}"`);if(e)return e.cause??=r,t(e);t(r)}),p.clear(),i(b)}function y(e){let t=Array.from(p.values()).map(({method:t,reject:n})=>e?e({method:t,reject:n}):n(Error(`[birpc]: rejected pending call "${t}".`)));return p.clear(),t}async function b(r,...i){let a;try{a=s(r)}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}if(a.t===`q`){let{m:r,a:s,o:u}=a,d,f,p=await(c?c.call(h,r,e[r]):e[r]);if(u&&(p||=()=>void 0),!p)f=Error(`[birpc] function "${r}" not found`);else try{d=await p.apply(l===`rpc`?h:e,s)}catch(e){f=e}if(a.i){if(f&&t.onFunctionError&&t.onFunctionError.call(h,f,r,s)===!0)return;if(!f)try{await n(o({t:`s`,i:a.i,r:d}),...i);return}catch(e){if(f=e,t.onGeneralError?.call(h,e,r,s)!==!0)throw e}try{await n(o({t:`s`,i:a.i,e:f}),...i)}catch(e){if(t.onGeneralError?.call(h,e,r,s)!==!0)throw e}}}else{let{i:e,r:t,e:n}=a,r=p.get(e);r&&(hv(r.timeoutId),n?r.reject(n):r.resolve(t)),p.delete(e)}}return m=r(b),h}function vv(e,t){return t.safety?t.safety:e===`static`||e===`query`||e==null?`read`:`action`}var yv=Object.freeze({type:`object`,additionalProperties:!0});function bv(e){let t=e[`~standard`];if(t.jsonSchema)try{return t.jsonSchema.input({target:`draft-2020-12`})}catch{return yv}return yv}function xv(e){if(!e||e.length===0)return{type:`object`,properties:{}};let t={},n=[];for(let r=0;rn[`arg${t}`]);if(`arg0`in n){let e=[];for(;`arg${e.length}`in n;)e.push(n[`arg${e.length}`]);return e}return Object.keys(n).length===0?[]:void 0}function Cv(e,t){return Sv(e,t)??[e]}function wv(e){return typeof e==`string`?`'${e}'`:new Ov().serialize(e)}var Tv=` _-,;:!?.'"()[]{}@*/\\&#%\`^+<=>|~$0123456789abcdefghijklmnopqrstuvwxyz`,Ev=(function(){let e=new Uint8Array(128);for(let t=0;t<69;t++)e[Tv.charCodeAt(t)]=t+1;for(let t=65;t<=90;t++)e[t]=e[t+32];return e})();function Dv(e,t){if(e===t)return 0;let n=Math.min(e.length,t.length),r=0;for(let i=0;ia?-1:1)}return e.length===t.length?r:e.lengththis.compare(e[0],t[0])),r=`${e}{`;for(let e=0;ethis.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e})(),kv=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],Av=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],jv=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,Mv=[],Nv=class{_data=new Pv;_hash=new Pv([...kv]);_nDataBytes=0;_minBufferSize=0;finalize(e){e&&this._append(e);let t=this._nDataBytes*8,n=this._data.sigBytes*8;return this._data.words[n>>>5]|=128<<24-n%32,this._data.words[(n+64>>>9<<4)+14]=Math.floor(t/4294967296),this._data.words[(n+64>>>9<<4)+15]=t,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(e,t){let n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],c=n[5],l=n[6],u=n[7];for(let n=0;n<64;n++){if(n<16)Mv[n]=e[t+n]|0;else{let e=Mv[n-15],t=(e<<25|e>>>7)^(e<<14|e>>>18)^e>>>3,r=Mv[n-2],i=(r<<15|r>>>17)^(r<<13|r>>>19)^r>>>10;Mv[n]=t+Mv[n-7]+i+Mv[n-16]}let d=s&c^~s&l,f=r&i^r&a^i&a,p=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),m=(s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25),h=u+m+d+Av[n]+Mv[n],g=p+f;u=l,l=c,c=s,s=o+h|0,o=a,a=i,i=r,r=h+g|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+s|0,n[5]=n[5]+c|0,n[6]=n[6]+l|0,n[7]=n[7]+u|0}_append(e){typeof e==`string`&&(e=Pv.fromUtf8(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_process(e){let t,n=this._data.sigBytes/64;n=e?Math.ceil(n):Math.max((n|0)-this._minBufferSize,0);let r=n*16,i=Math.min(r*4,this._data.sigBytes);if(r){for(let e=0;e>>2]|=(n.charCodeAt(e)&255)<<24-e%4*8;return new e(i,r)}toBase64(){let e=[];for(let t=0;t>>2]>>>24-t%4*8&255,r=this.words[t+1>>>2]>>>24-(t+1)%4*8&255,i=this.words[t+2>>>2]>>>24-(t+2)%4*8&255,a=n<<16|r<<8|i;for(let n=0;n<4&&t*8+n*6>>6*(3-n)&63))}return e.join(``)}concat(e){if(this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let t=0;t>>2]>>>24-t%4*8&255;this.words[this.sigBytes+t>>>2]|=n<<24-(this.sigBytes+t)%4*8}else for(let t=0;t>>2]=e.words[t>>>2];this.sigBytes+=e.sigBytes}};function Fv(e){return new Nv().finalize(e).toBase64()}function Iv(e){return Fv(wv(e))}function Lv(e){return Iv(e)}function Rv(){let e={};function t(t,...n){let r=e[t]||[];for(let e=0,t=r.length;e{e[t]=e[t]?.filter(e=>n!==e)}}function i(e,t){let n=r(e,((...e)=>(n(),t(...e))));return n}return{_listeners:e,emit:t,emitOnce:n,on:r,once:i}}var zv=/^[\w+.-]{2,}:\/\//;function Bv(e){return e.endsWith(`/`)?e:`${e}/`}function Vv(e){return(e.endsWith(`/`)?e.slice(0,-1):e)||`/`}function Hv(e,...t){let n=e;for(let e of t)e&&e!==`/`&&(n=n?Bv(n)+e.replace(/^\.?\//,``):e);return n}function Uv(e,t){if(!t||t===`/`||zv.test(e))return e;let n=Vv(t);return e.startsWith(n)?e:Hv(n,e)}function Wv(e,t){let n=e.match(zv);return t+(n?e.slice(n[0].length):e)}var Gv=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function Kv(e=21){let t=``,n=e;for(;n--;)t+=Gv[Math.random()*64|0];return t}var qv=Symbol.for(`immer-nothing`),Jv=Symbol.for(`immer-draftable`),Yv=Symbol.for(`immer-state`),Xv=[function(e){return`The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`},function(e){return`produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`},`This object has been frozen and should not be mutated`,function(e){return`Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? `+e},`An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.`,`Immer forbids circular references`,"The first or second argument to `produce` must be a function","The third argument to `produce` must be a function or undefined","First argument to `createDraft` must be a plain object, an array, or an immerable object","First argument to `finishDraft` must be a draft returned by `createDraft`",function(e){return`'current' expects a draft, got: ${e}`},`Object.defineProperty() cannot be used on an Immer draft`,`Object.setPrototypeOf() cannot be used on an Immer draft`,`Immer only supports deleting array indices`,`Immer only supports setting array indices and the 'length' property`,function(e){return`'original' expects a draft, got: ${e}`}];function Zv(e,...t){{let n=Xv[e],r=xy(n)?n.apply(null,t):n;throw Error(`[Immer] ${r}`)}}var Qv=Object,$v=Qv.getPrototypeOf,ey=`constructor`,ty=`prototype`,ny=`configurable`,ry=`enumerable`,iy=`writable`,ay=`value`,oy=e=>!!e&&!!e[Yv];function sy(e){return e?uy(e)||_y(e)||!!e[Jv]||!!e[ey]?.[Jv]||vy(e)||yy(e):!1}var cy=Qv[ty][ey].toString(),ly=new WeakMap;function uy(e){if(!e||!by(e))return!1;let t=$v(e);if(t===null||t===Qv[ty])return!0;let n=Qv.hasOwnProperty.call(t,ey)&&t[ey];if(n===Object)return!0;if(!xy(n))return!1;let r=ly.get(n);return r===void 0&&(r=Function.toString.call(n),ly.set(n,r)),r===cy}function dy(e,t,n=!0){fy(e)===0?(n?Reflect.ownKeys(e):Qv.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function fy(e){let t=e[Yv];return t?t.type_:_y(e)?1:vy(e)?2:yy(e)?3:0}var py=(e,t,n=fy(e))=>n===2?e.has(t):Qv[ty].hasOwnProperty.call(e,t),my=(e,t,n=fy(e))=>n===2?e.get(t):e[t],hy=(e,t,n,r=fy(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function gy(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var _y=Array.isArray,vy=e=>e instanceof Map,yy=e=>e instanceof Set,by=e=>typeof e==`object`,xy=e=>typeof e==`function`,Sy=e=>typeof e==`boolean`;function Cy(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var wy=e=>by(e)?e?.[Yv]:null,Ty=e=>e.copy_||e.base_,Ey=e=>e.modified_?e.copy_:e.base_;function Dy(e,t){if(vy(e))return new Map(e);if(yy(e))return new Set(e);if(_y(e))return Array[ty].slice.call(e);let n=uy(e);if(t===!0||t===`class_only`&&!n){let t=Qv.getOwnPropertyDescriptors(e);delete t[Yv];let n=Reflect.ownKeys(t);for(let r=0;r1&&Qv.defineProperties(e,{set:Ay,add:Ay,clear:Ay,delete:Ay}),Qv.freeze(e),t&&dy(e,(e,t)=>{Oy(t,!0)},!1),e)}function ky(){Zv(2)}var Ay={[ay]:ky};function jy(e){return e===null||!by(e)||Qv.isFrozen(e)}var My=`MapSet`,Ny=`Patches`,Py=`ArrayMethods`,Fy={};function Iy(e){let t=Fy[e];return t||Zv(0,e),t}var Ly=e=>!!Fy[e];function Ry(e,t){Fy[e]||(Fy[e]=t)}var zy,By=()=>zy,Vy=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:Ly(My)?Iy(My):void 0,arrayMethodsPlugin_:Ly(Py)?Iy(Py):void 0});function Hy(e,t){t&&(e.patchPlugin_=Iy(Ny),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Uy(e){Wy(e),e.drafts_.forEach(Ky),e.drafts_=null}function Wy(e){e===zy&&(zy=e.parent_)}var Gy=e=>zy=Vy(zy,e);function Ky(e){let t=e[Yv];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function qy(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[Yv].modified_&&(Uy(t),Zv(4)),sy(e)&&(e=Jy(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[Yv].base_,e,t)}else e=Jy(t,n);return Yy(t,e,!0),Uy(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===qv?void 0:e}function Jy(e,t){if(jy(t))return t;let n=t[Yv];if(!n)return rb(t,e.handledSet_,e);if(!Zy(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);tb(n,e)}return n.copy_}function Yy(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Oy(t,n)}function Xy(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Zy=(e,t)=>e.scope_===t,Qy=[];function $y(e,t,n,r){let i=Ty(e),a=e.type_;if(r!==void 0&&my(i,r,a)===t){hy(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;dy(i,(e,n)=>{if(oy(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??Qy;for(let e of o)hy(i,e,n,a)}function eb(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!Zy(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=Ey(i);$y(e,i.draft_??i,a,n),tb(i,r)})}function tb(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}Xy(e)}}function nb(e,t,n){let{scope_:r}=e;if(oy(n)){let i=n[Yv];Zy(i,r)&&i.callbacks_.push(function(){fb(e),$y(e,n,Ey(i),t)})}else sy(n)&&e.callbacks_.push(function(){let i=Ty(e);e.type_===3?i.has(n)&&rb(n,r.handledSet_,r):my(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&rb(my(e.copy_,t,e.type_),r.handledSet_,r)})}function rb(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||oy(e)||t.has(e)||!sy(e)||jy(e)?e:(t.add(e),dy(e,(r,i)=>{if(oy(i)){let t=i[Yv];Zy(t,n)&&(hy(e,r,Ey(t),e.type_),Xy(t))}else sy(i)&&rb(i,t,n)}),e)}function ib(e,t){let n=_y(e),r={type_:+!!n,scope_:t?t.scope_:By(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=ab;n&&(i=[r],a=ob);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var ab={get(e,t){if(t===Yv)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=Ty(e);if(!py(i,t,e.type_))return lb(e,i,t);let a=i[t];if(e.finalized_||!sy(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&Cy(t))return a;if(a===sb(e.base_,t)||cb(e,t,a)){fb(e);let n=e.type_===1?+t:t,r=mb(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in Ty(e)},ownKeys(e){return Reflect.ownKeys(Ty(e))},set(e,t,n){let r=ub(Ty(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=sb(Ty(e),t),i=r?.[Yv];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(gy(n,r)&&(n!==void 0||py(e.base_,t,e.type_)))return!0;fb(e),db(e)}return e.copy_[t]===n&&(n!==void 0||py(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),nb(e,t,n),!0)},deleteProperty(e,t){return fb(e),sb(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),db(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=Ty(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[iy]:!0,[ny]:e.type_!==1||t!==`length`,[ry]:r[ry],[ay]:n[t]}},defineProperty(){Zv(11)},getPrototypeOf(e){return $v(e.base_)},setPrototypeOf(){Zv(12)}},ob={};for(let e in ab){let t=ab[e];ob[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}ob.deleteProperty=function(e,t){return isNaN(parseInt(t))&&Zv(13),ob.set.call(this,e,t,void 0)},ob.set=function(e,t,n){return t!==`length`&&isNaN(parseInt(t))&&Zv(14),ab.set.call(this,e[0],t,n,e[0])};function sb(e,t){let n=e[Yv];return(n?Ty(n):e)[t]}function cb(e,t,n){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!sy(n)||n[Yv]?!1:e.baseRefs_.has(n)}function lb(e,t,n){let r=ub(t,n);return r?ay in r?r[ay]:r.get?.call(e.draft_):void 0}function ub(e,t){if(!(t in e))return;let n=$v(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=$v(n)}}function db(e){e.modified_||(e.modified_=!0,e.parent_&&db(e.parent_))}function fb(e){e.copy_||=(e.assigned_=new Map,Dy(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var pb=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(xy(e)&&!xy(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}xy(t)||Zv(6),n!==void 0&&!xy(n)&&Zv(7);let r;if(sy(e)){let i=Gy(this),a=mb(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?Uy(i):Wy(i)}return Hy(i,n),qy(r,i)}if(!e||!by(e)){if(r=t(e),r===void 0&&(r=e),r===qv&&(r=void 0),this.autoFreeze_&&Oy(r,!0),n){let t=[],i=[];Iy(Ny).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}Zv(1,e)},this.produceWithPatches=(e,t)=>{if(xy(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},Sy(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Sy(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Sy(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){sy(e)||Zv(8),oy(e)&&(e=hb(e));let t=Gy(this),n=mb(t,e,void 0);return n[Yv].isManual_=!0,Wy(t),n}finishDraft(e,t){let n=e&&e[Yv];(!n||!n.isManual_)&&Zv(9);let{scope_:r}=n;return Hy(r,t),qy(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=Iy(Ny).applyPatches_;return oy(e)?r(e,t):this.produce(e,e=>r(e,t))}};function mb(e,t,n,r){let[i,a]=vy(t)?Iy(My).proxyMap_(t,n):yy(t)?Iy(My).proxySet_(t,n):ib(t,n);return(n?.scope_??By()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?eb(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function hb(e){return oy(e)||Zv(10,e),gb(e)}function gb(e){if(!sy(e)||jy(e))return e;let t=e[Yv],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=Dy(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=Dy(e,!0);return dy(n,(e,t)=>{hy(n,e,gb(t))},r),t&&(t.finalized_=!1),n}function _b(){Xv.push(`Sets cannot have "replace" patches.`,function(e){return`Unsupported patch operation: `+e},function(e){return`Cannot apply patch, path doesn't resolve: `+e},`Patching reserved attributes like __proto__, prototype and constructor is not allowed`);function e(n,r=[]){if(n.key_!==void 0){let e=n.parent_.copy_??n.parent_.base_,t=wy(my(e,n.key_)),i=my(e,n.key_);if(i===void 0||i!==n.draft_&&i!==n.base_&&i!==n.copy_||t!=null&&t.base_!==n.base_)return null;let a=n.parent_.type_===3,o;if(a){let e=n.parent_;o=Array.from(e.drafts_.keys()).indexOf(n.key_)}else o=n.key_;if(!(a&&e.size>o||py(e,o)))return null;r.push(o)}if(n.parent_)return e(n.parent_,r);r.reverse();try{t(n.copy_,r)}catch{return null}return r}function t(e,t){let n=e;for(let e=0;e{let u=my(o,e,c),f=my(s,e,c),p=l?py(o,e)?n:`add`:r;if(u===f&&p===n)return;let m=t.concat(e);i.push(p===r?{op:p,path:m}:{op:p,path:m,value:d(f)}),a.push(p===`add`?{op:r,path:m}:p===r?{op:`add`,path:m,value:d(u)}:{op:n,path:m,value:d(u)})})}function s(e,t,n,i){let{base_:a,copy_:o}=e,s=0;a.forEach(e=>{if(!o.has(e)){let a=t.concat([s]);n.push({op:r,path:a,value:e}),i.unshift({op:`add`,path:a,value:e})}s++}),s=0,o.forEach(e=>{if(!a.has(e)){let a=t.concat([s]);n.push({op:`add`,path:a,value:e}),i.unshift({op:r,path:a,value:e})}s++})}function c(e,t,r){let{patches_:i,inversePatches_:a}=r;i.push({op:n,path:[],value:t===qv?void 0:t}),a.push({op:n,path:[],value:e})}function l(e,t){return t.forEach(t=>{let{path:i,op:a}=t,o=e;for(let e=0;e[e,u(t)]));if(yy(e))return new Set(Array.from(e).map(u));let t=Object.create($v(e));for(let n in e)t[n]=u(e[n]);return py(e,Jv)&&(t[Jv]=e[Jv]),t}function d(e){return oy(e)?u(e):e}Ry(Ny,{applyPatches_:l,generatePatches_:i,generateReplacementPatches_:c,getPath:e})}globalThis.Iterator?.from;var vb=new pb,yb=vb.produce,bb=vb.produceWithPatches.bind(vb),xb=vb.applyPatches.bind(vb),Sb=1e3;function Cb(e,t){if(e.add(t),e.size>Sb){let t=e.values().next().value;t!==void 0&&e.delete(t)}}function wb(e){let{enablePatches:t=!1}=e;t&&_b();let n=Rv(),r=e.initialValue,i=new Set;return{on:n.on,value:()=>r,patch:(e,t=Kv())=>{i.has(t)||(_b(),r=xb(r,e),Cb(i,t),n.emit(`updated`,r,void 0,t))},mutate:(e,a=Kv())=>{if(!i.has(a)){if(Cb(i,a),t){let[t,i]=bb(r,e);if(t===r)return;r=t,n.emit(`updated`,r,i,a)}else{let t=yb(r,e);if(t===r)return;r=t,n.emit(`updated`,r,void 0,a)}}},syncIds:i}}var Tb=typeof self==`object`?self:globalThis,Eb=new Set([`Error`,`EvalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`,`AggregateError`]),Db=new Set([`Boolean`,`Number`,`String`,`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float16Array`,`Float32Array`,`Float64Array`,`BigInt64Array`,`BigUint64Array`]);function Ob(e,t){let n=(t,n)=>(e.set(n,t),t),r=i=>{if(e.has(i))return e.get(i);let[a,o]=t[i];switch(a){case 0:case-1:return n(o,i);case 1:{let e=n([],i);for(let t of o)e.push(r(t));return e}case 2:{let e=n({},i);for(let[t,n]of o)e[r(t)]=r(n);return e}case 3:return n(new Date(o),i);case 4:{let{source:e,flags:t}=o;return n(new RegExp(e,t),i)}case 5:{let e=n(new Map,i);for(let[t,n]of o)e.set(r(t),r(n));return e}case 6:{let e=n(new Set,i);for(let t of o)e.add(r(t));return e}case 7:{let{name:e,message:t}=o,r=Eb.has(e)?Tb[e]:void 0;return n(new(r??Tb.Error)(t),i)}case 8:return n(BigInt(o),i);case`BigInt`:return n(Object(BigInt(o)),i);case`ArrayBuffer`:return n(new Uint8Array(o).buffer,o);case`DataView`:{let{buffer:e}=new Uint8Array(o);return n(new DataView(e),o)}}if(typeof a==`string`&&Db.has(a))return n(new Tb[a](o),i);throw TypeError(`unable to deserialize unsafe or unknown type: ${String(a)}`)};return r}function kb(e){return Ob(new Map,e)(0)}var Ab=``,{toString:jb}={},{keys:Mb}=Object;function Nb(e){let t=typeof e;if(t!==`object`||!e)return[0,t];let n=jb.call(e).slice(8,-1);switch(n){case`Array`:return[1,Ab];case`Object`:return[2,Ab];case`Date`:return[3,Ab];case`RegExp`:return[4,Ab];case`Map`:return[5,Ab];case`Set`:return[6,Ab];case`DataView`:return[1,n]}return n.includes(`Array`)?[1,n]:n.includes(`Error`)?[7,n]:[2,n]}function Pb([e,t]){return e===0&&(t===`function`||t===`symbol`)}function Fb(e,t,n,r){let i=(e,t)=>{let i=r.push(e)-1;return n.set(t,i),i},a=r=>{if(n.has(r))return n.get(r);let[o,s]=Nb(r);switch(o){case 0:{let t=r;switch(s){case`bigint`:o=8,t=r.toString();break;case`function`:case`symbol`:if(e)throw TypeError(`unable to serialize ${s}`);t=null;break;case`undefined`:return i([-1],r)}return i([o,t],r)}case 1:{if(s){let e=r;return s===`DataView`?e=new Uint8Array(r.buffer):s===`ArrayBuffer`&&(e=new Uint8Array(r)),i([s,[...e]],r)}let e=[],t=i([o,e],r);for(let t of r)e.push(a(t));return t}case 2:{if(s)switch(s){case`BigInt`:return i([s,r.toString()],r);case`Boolean`:case`Number`:case`String`:return i([s,r.valueOf()],r)}if(t&&`toJSON`in r)return a(r.toJSON());let n=[],c=i([o,n],r);for(let t of Mb(r))(e||!Pb(Nb(r[t])))&&n.push([a(t),a(r[t])]);return c}case 3:return i([o,r.toISOString()],r);case 4:{let{source:e,flags:t}=r;return i([o,{source:e,flags:t}],r)}case 5:{let t=[],n=i([o,t],r);for(let[n,i]of r)(e||!(Pb(Nb(n))||Pb(Nb(i))))&&t.push([a(n),a(i)]);return n}case 6:{let t=[],n=i([o,t],r);for(let n of r)(e||!Pb(Nb(n)))&&t.push(a(n));return n}}let{message:c}=r;return i([o,{name:s,message:c}],r)};return a}function Ib(e,t={}){let n=[];return Fb(!(t.json||t.lossy),!!t.json,new Map,n)(e),n}var{parse:Lb,stringify:Rb}=JSON,zb={json:!0,lossy:!0};function Bb(e){return kb(Lb(e))}function Vb(e){return Rb(Ib(e,zb))}function Hb(e){return kb(e)}function Ub(e){return Vb(e)}function Wb(e){return Bb(e)}var Gb=256,Kb=class extends Error{name=`StreamClosedError`};function qb(e={}){let t=e.id??Kv(),n=Math.max(0,e.replayWindow??0),r=Rv(),i=new AbortController,a=[],o=!1,s=0;function c(e){if(o)throw new Kb(`Cannot write to a closed stream "${t}"`);s+=1,n>0&&(a.push({seq:s,chunk:e}),a.length>n&&(a.length-n===1?a.shift():a.splice(0,a.length-n))),r.emit(`chunk`,s,e)}function l(e){if(o)return;o=!0;let t=Yb(e);i.abort(e),r.emit(`end`,t)}function u(){o||(o=!0,i.signal.aborted||i.abort(`stream closed`),r.emit(`end`,void 0))}function d(e){o||i.signal.aborted||i.abort(e??`aborted`)}let f=new WritableStream({write(e){c(e)},close(){u()},abort(e){l(e)}});return{id:t,signal:i.signal,get closed(){return o},get lastSeq(){return s},write:c,error:l,close:u,abort:d,writable:f,events:r,buffer:a}}function Jb(e={}){let t=e.id??Kv(),n=Math.max(1,e.highWaterMark??Gb),r=[],i=0,a=!1,o=!1,s,c,l,u;function d(){if(c){if(r.length>0){let e=r.shift(),t=c;c=void 0,t.resolve({value:e,done:!1});return}if(a){let e=c;if(c=void 0,s){let t=Error(s.message);t.name=s.name,e.reject(t)}else e.resolve({value:void 0,done:!0})}}}function f(){if(l){for(;r.length>0;){let e=r.shift();try{l.enqueue(e)}catch{break}}if(a&&l){try{if(s){let e=Error(s.message);e.name=s.name,l.error(e)}else l.close()}catch{}l=void 0}}}function p(t,s){if(!(a||o)&&!(t<=i)){if(i=t,r.push(s),r.length>n){let t=r.length-n;r.splice(0,t),e.onOverflow?.(t)}d(),u&&f()}}function m(e){a||(a=!0,s=e,d(),u&&f())}function h(){o||a||(o=!0,e.onCancel?.(),m(void 0))}function g(){return u||(u=new ReadableStream({start(e){l=e,f()},cancel(){h()}}),u)}return{id:t,get cancelled(){return o},get done(){return a},get lastSeenSeq(){return i},get readable(){return g()},cancel:h,_push:p,_end:m,[Symbol.asyncIterator](){return{next(){if(r.length>0)return Promise.resolve({value:r.shift(),done:!1});if(a){if(s){let e=Error(s.message);return e.name=s.name,Promise.reject(e)}return Promise.resolve({value:void 0,done:!0})}return new Promise((e,t)=>{c={resolve:e,reject:t}})},return(){return h(),Promise.resolve({value:void 0,done:!0})}}}}}function Yb(e){if(e instanceof Error)return{name:e.name||`Error`,message:e.message};if(typeof e==`string`)return{name:`Error`,message:e};try{return{name:`Error`,message:JSON.stringify(e)}}catch{return{name:`Error`,message:String(e)}}}var Xb=128;function Zb(e){return e.replace(/[^\w-]+/g,`_`).slice(0,Xb)}var Qb=`modulepreload`,$b=function(e,t){return new URL(e,t).href},ex={},tx=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=$b(t,n),t=s(t),t in ex)return;ex[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:Qb,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},nx=`__connection.json`,rx=`__DEVFRAME_CONNECTION__`,ix=`x-birpc-session`,ax=`__rpc-dump/index.json`,ox=`devframe:services`,sx=`devframe_otp`,cx=`devframe_auth_token`;iv.postMessage.remoteAssetsError;var lx=class{cacheMap=new Map;options;keySerializer;constructor(e){this.options=e,this.keySerializer=e.keySerializer||(e=>Lv(e))}updateOptions(e){this.options={...this.options,...e}}cached(e,t){let n=this.cacheMap.get(e);if(n)return n.get(this.keySerializer(t))}has(e,t){return this.cacheMap.get(e)?.has(this.keySerializer(t))??!1}apply(e,t){let n=this.cacheMap.get(e.m)||new Map;n.set(this.keySerializer(e.a),t),this.cacheMap.set(e.m,n)}validate(e){return this.options.functions.includes(e)}clear(e){e?this.cacheMap.delete(e):this.cacheMap.clear()}},ux=sv({docsBase:`https://devfra.me/errors`,codes:{DF0019:{why:e=>`RPC function "${e.name}" has \`agent\` set but \`jsonSerializable\` is \`false\`; MCP requires JSON-serializable data.`,fix:"Remove `jsonSerializable: false`, or remove `agent` to keep it RPC-only."},DF0020:{why:e=>`RPC function "${e.name}" declares \`jsonSerializable: true\` but the value at "${e.path}" is a ${e.type}.`,fix:"Either drop `jsonSerializable: true` (falls back to structured-clone) or change the value to a JSON-safe shape."},DF0021:{why:e=>`RPC function "${e.name}" is already registered`,fix:"Use the `force` parameter to overwrite an existing registration."},DF0022:{why:e=>`RPC function "${e.name}" is not registered. Use register() to add new functions.`},DF0023:{why:e=>`RPC function "${e.name}" is not registered`},DF0024:{why:e=>`Either handler or setup function must be provided for RPC function "${e.name}"`},DF0025:{why:e=>`Function "${e.name}" not found in dump store`},DF0026:{why:e=>`No dump match for "${e.name}" with args: ${e.args}`},DF0027:{why:e=>`Function "${e.name}" with type "${e.type}" cannot have dump configuration. Only "static" and "query" types support dumps.`},DF0028:{why:e=>`Function "${e.name}" with type "${e.type}" cannot use \`snapshot: true\`. Only "query" functions support this sugar; "static" functions have equivalent default behavior already.`,fix:"Remove `snapshot: true`, or change the function type to `query`."},DF0043:{why:e=>`RPC function "${e.name}" received an invalid argument at position ${e.index}: ${e.issues}`,fix:"Pass a value that satisfies the `args` schema declared for this function."},DF0044:{why:e=>`RPC function "${e.name}" returned a value that failed its \`returns\` schema: ${e.issues}`,fix:"Make the handler return a value that satisfies the `returns` schema, or relax the schema."}}});function dx(e){if(e.agent&&e.jsonSerializable===!1)throw ux.DF0019({name:e.name});e.agent&&!e.jsonSerializable&&(e.jsonSerializable=!0)}async function fx(e,t){let n=e[`~standard`].validate(t);return n instanceof Promise?await n:n}function px(e){return e.map(e=>{let t=e.path?.map(e=>typeof e==`object`?e.key:e).join(`.`);return t?`${t}: ${e.message}`:e.message}).join(`; `)}async function mx(e,t,n){let r=n.slice();if(!t||t.length===0)return r;for(let r=0;r{n.get(t)===r&&n.delete(t)}),n.set(t,r)),await r}if(!e.__promise){let n=Promise.resolve(e.setup(t));n.catch(()=>{e.__promise===n&&(e.__promise=void 0)}),e.__promise=n}return await e.__promise}async function _x(e,t){let n=e.handler;if(!n){let r=await gx(e,t);if(!r.handler)throw ux.DF0024({name:e.name});n=r.handler}let r=e.args,i=e.returns;if(!r&&!i)return n;let a=n;return async(...t)=>{let n=await mx(e.name,r,t),o=await a(...n);return await hx(e.name,i,o)}}var vx=class{context;definitions=new Map;functions;_onChanged=[];constructor(e){this.context=e;let t=this.definitions,n=this;this.functions=new Proxy({},{get(e,r){let i=t.get(r);if(i)return _x(i,n.context)},has(e,n){return t.has(n)},getOwnPropertyDescriptor(e,n){return{value:t.get(n)?.handler,configurable:!0,enumerable:!0}},ownKeys(){return Array.from(t.keys())}})}register(e,t=!1){if(this.definitions.has(e.name)&&!t)throw ux.DF0021({name:e.name});dx(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}update(e,t=!1){if(!this.definitions.has(e.name)&&!t)throw ux.DF0022({name:e.name});dx(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}onChanged(e){return this._onChanged.push(e),()=>{let t=this._onChanged.indexOf(e);t!==-1&&this._onChanged.splice(t,1)}}async getHandler(e){return await _x(this.definitions.get(e),this.context)}getSchema(e){let t=this.definitions.get(e);if(!t)throw ux.DF0023({name:String(e)});return{args:t.args,returns:t.returns}}has(e){return this.definitions.has(e)}get(e){return this.definitions.get(e)}list(){return Array.from(this.definitions.keys())}};function yx(e,t=``){return JSON.stringify(e,function(e,n){let r=this,i=r==null?n:r[e];if(i===void 0){if(Array.isArray(r))throw xx(t,`undefined`,r,e);return n}return i!==null&&bx(i,r,e,t),n})}function bx(e,t,n,r){if(typeof e==`bigint`)throw xx(r,`BigInt`,t,n);if(typeof e!=`object`)return;if(e instanceof Map)throw xx(r,`Map`,t,n);if(e instanceof Set)throw xx(r,`Set`,t,n);if(e instanceof Date)throw xx(r,`Date`,t,n);if(Array.isArray(e))return;let i=Object.getPrototypeOf(e);if(i!==null&&i!==Object.prototype)throw xx(r,e.constructor?.name??`class instance`,t,n)}function xx(e,t,n,r){let i=Sx(n,r);return ux.DF0020({name:e||``,type:t,path:i})}function Sx(e,t){return Array.isArray(e)?`[${t}]`:t===``?``:t}var Cx=`__DEVFRAME_CONNECTION_META__`,wx=`__DEVFRAME_CONNECTION_AUTH_TOKEN__`;function Tx(e){let t=[()=>window?.[e],()=>globalThis?.[e],()=>parent.window?.[e]];for(let e of t)try{let t=e();if(t)return t}catch{}}function Ex(){return Tx(rx)}function Dx(){return Tx(Cx)}function Ox(e){if(e)return e;try{let e=localStorage.getItem(wx);if(e)return e}catch{}return Tx(wx)}function kx(e){globalThis[rx]=e,globalThis[Cx]={...e.connectionMeta,baseUrl:e.metaBaseUrl},e.authToken&&Ax(e.authToken)}function Ax(e){try{localStorage.setItem(wx,e)}catch{}globalThis[wx]=e;let t=Ex();t&&(globalThis[rx]={...t,authToken:e})}function jx(e){let t=Uv(nx,e);try{return new URL(t,globalThis.location?.href).href}catch{return t}}function Mx(e,t){return t&&t!==e.authToken?{...e,authToken:t}:e}function Nx(){let e=Ex();if(e)return Mx(e,Ox()??e.authToken??e.connectionMeta.authToken);let t=Dx();if(t)return{connectionMeta:t,metaBaseUrl:t.baseUrl??jx(`./`),authToken:Ox(t.authToken)}}async function Px(e={}){if(e.connection){let t=Mx(e.connection,Ox(e.authToken??e.connection.authToken??e.connection.connectionMeta.authToken));return kx(t),t}let t=Array.isArray(e.baseURL)?e.baseURL:[e.baseURL??`./`];if(e.connectionMeta){let n={connectionMeta:e.connectionMeta,metaBaseUrl:jx(t[0]??`./`),authToken:Ox(e.authToken??e.connectionMeta.authToken)};return kx(n),n}let n=Nx();if(n){let t=Mx(n,Ox(e.authToken??n.authToken??n.connectionMeta.authToken));return kx(t),t}let r=[];for(let n of t){let t=Uv(nx,n),i=jx(n);try{let n=await fetch(t);if(!n.ok)throw Error(`Failed to fetch connection meta from ${i}: ${n.status}`);let r=await n.json(),a=n.url||i,o={connectionMeta:r,metaBaseUrl:r.baseUrl?new URL(r.baseUrl,a).href:a,authToken:Ox(e.authToken??r.authToken)};return kx(o),o}catch(e){r.push(e)}}throw Error(`Failed to get connection meta from ${t.join(`, `)}`,{cause:r})}var Fx=class extends Error{name=`DevframeConnectionError`;kind;constructor(e,t,n){super(t,n),this.kind=e}};function Ix(e=sx){try{let t=globalThis.location?.hash?.replace(/^#/,``)??``;return new URLSearchParams(t).get(e)||void 0}catch{return}}function Lx(e){try{let t=new URL(globalThis.location.href),n=new URLSearchParams(t.hash.replace(/^#/,``));if(!n.has(e))return;n.delete(e),t.hash=n.toString(),globalThis.history?.replaceState(globalThis.history.state,``,t.href)}catch{}}function Rx(e=sx){let t=Ix(e);return t&&Lx(e),t}async function zx(e,t={}){let n=Rx(t.param??`devframe_otp`);return n?e.isTrusted?!0:e.requestTrustWithCode(n):!1}function Bx(e){let t={},n=new WeakMap,r,i=()=>(r??=e.sharedState.get(ox,{initialValue:{}}).then(e=>(t=e.value(),e.on(`updated`,e=>{t=e}),e)),r);return i(),{state:i,has:e=>e in t,keys:()=>Object.keys(t),get:r=>{let i=t[r];if(!i)return;let a=n.get(i);return a||(a={...i,rpc:e.scope(i.scope).rpc},n.set(i,a)),a}}}function Vx(e){let t=new Map,n=new Map,r=new Map,i=new Set,a=e.connectionMeta.backend===`static`;function o(e,t){let n=r.get(e);return n&&typeof n==`object`&&!Array.isArray(n)&&typeof t==`object`&&!Array.isArray(t)?{...n,...t}:t}e.client.register({name:iv.broadcast.clientStateUpdated,type:`event`,handler:(e,n,r)=>{let i=t.get(e);i&&!i.syncIds.has(r)&&i.mutate(()=>o(e,n),r)}}),e.client.register({name:iv.broadcast.clientStatePatch,type:`event`,handler:(e,n,r)=>{let i=t.get(e);i&&!i.syncIds.has(r)&&i.patch(n,r)}});function s(t,n){let r=[];return r.push(n.on(`updated`,(n,r,i)=>{a||(r?e.callEvent(`devframe:rpc:server-state:patch`,t,r,i):e.callEvent(`devframe:rpc:server-state:set`,t,n,i))})),()=>{for(let e of r)e()}}return{keys:()=>Array.from(t.keys()),onKeyAdded(e){return i.add(e),()=>{i.delete(e)}},delete(e){let i=n.get(e);n.delete(e);let a=t.delete(e);return r.delete(e),i?.(),a},get:async(c,l)=>{if(l?.initialValue!==void 0&&r.set(c,l.initialValue),t.has(c))return t.get(c);let u=wb({initialValue:l?.initialValue,enablePatches:!1});async function d(){if(a||e.callEvent(`devframe:rpc:server-state:subscribe`,c),l?.initialValue!==void 0){t.set(c,u);for(let e of i)e(c);return e.call(`devframe:rpc:server-state:get`,c).then(e=>{e!==void 0&&u.mutate(()=>o(c,e))}).catch(e=>{console.error(`Error getting server state`,e)}),n.set(c,s(c,u)),u}{let r=await e.call(`devframe:rpc:server-state:get`,c);u.mutate(()=>o(c,r)),t.set(c,u);for(let e of i)e(c);return n.set(c,s(c,u)),u}}return new Promise(t=>{if(e.isTrusted)d().then(t);else{t(u);let n=!1;e.events.on(iv.client.isTrustedUpdated,e=>{e&&!n&&(n=!0,d())})}})}}}var Hx=new Map;function Ux(e=Hx){let t=new Map;return{serialize:n=>{let r;return n.t===`q`?r=n.m:(r=t.get(n.i),t.delete(n.i)),!(n.t===`s`&&`e`in n)&&r&&e.get(r)?.jsonSerializable===!0?yx(n,r??``):`s:${Ub(n)}`},deserialize:e=>{let n=e.startsWith(`s:`)?Wb(e.slice(2)):JSON.parse(e);return n.t===`q`&&n.i&&n.m&&t.set(n.i,n.m),n}}}function Wx(){}function Gx(e){let t=e.search(/\n\n|\r\n\r\n/);if(!(t<0))return{frame:e.slice(0,t),rest:e.slice(t+(e[t]===`\r`?4:2))}}function Kx(e){let t=`message`,n=[];for(let r of e.split(/\r?\n/))r.startsWith(`:`)||(r.startsWith(`event:`)?t=r.slice(6).trimStart():r.startsWith(`data:`)&&n.push(r.slice(5).replace(/^ /,``)));return{event:t,data:n}}function qx(e){let{onConnected:t=Wx,onError:n=Wx,onDisconnected:r=Wx,definitions:i,fetch:a=globalThis.fetch.bind(globalThis)}=e,o=e.url;e.authToken&&(o=`${o}${o.includes(`?`)?`&`:`?`}${cx}=${encodeURIComponent(e.authToken)}`);let s=Ux(i),c=new AbortController,l=!1,u,d,f,p,m=new Promise((e,t)=>{f=e,p=t});m.catch(()=>{});function h(e){l||(l=!0,p(e),n(e),r())}function g(){l||(l=!0,p(Error(`Devframe SSE stream closed`)),r())}function _(e,n){if(e===`session`){f(n),t();return}u?.(n)}async function v(e){let t=e.getReader();d=t;let n=new TextDecoder,r=``;for(;;){let{done:e,value:i}=await t.read();if(e)break;for(r+=n.decode(i,{stream:!0});;){let e=Gx(r);if(!e)break;r=e.rest;let{event:t,data:n}=Kx(e.frame);n.length>0&&_(t,n.join(` -`))}}g()}return(async()=>{try{let e=await a(o,{headers:{accept:`text/event-stream`},signal:c.signal});if(!e.ok||!e.body)throw Error(`Devframe SSE stream request failed: ${e.status}`);await v(e.body)}catch(e){if(c.signal.aborted){g();return}h(e instanceof Error?e:Error(String(e)))}})(),{close:()=>{l=!0,c.abort(),d?.cancel().catch(()=>{})},on:e=>{u=e},post:async e=>{let t;try{t=await m}catch{return}if(l){n(Error(`Devframe SSE channel is closed; message dropped`));return}try{let n=await a(o,{method:`POST`,headers:{"content-type":`text/plain; charset=utf-8`,[ix]:t},body:e});if(n.status===200){let e=await n.text();e&&u?.(e);return}if(!n.ok)throw Error(`Devframe SSE POST failed: ${n.status}`)}catch(e){n(e instanceof Error?e:Error(String(e)))}},serialize:s.serialize,deserialize:s.deserialize}}function Jx(e,t){let{channel:n,rpcOptions:r={}}=t;return _v(e,{...n,timeout:-1,...r,proxify:!1})}function Yx(e){let{transport:t,authToken:n,connectionMeta:r,events:i,clientRpc:a,rpcOptions:o={},callTimeout:s=0}=e,c=!1,l=`connecting`,u=null,d=Promise.withResolvers();function f(e,t=null){if(t?u=t:e===`connected`&&(u=null),e===l)return;let n=l;l=e,i.emit(iv.client.connectionStatus,e,n)}let p=new Set;function m(e){for(let t of[...p])t.reject(e)}function h(){return l===`disconnected`||l===`error`?new Fx(`connection`,`[devframe] Not connected to the devframe server`,{cause:u??void 0}):l===`unauthorized`?new Fx(`auth`,`[devframe] Not authorized by the devframe server`,{cause:u??void 0}):null}function g(e,t){return new Promise((n,r)=>{let a=!1,o,c={reject(e){a||(l(),i.emit(iv.client.error,e,t),r(e))}};function l(){a=!0,p.delete(c),o&&clearTimeout(o)}p.add(c),s>0&&(o=setTimeout(()=>{c.reject(new Fx(`timeout`,`[devframe] RPC call "${t}" timed out after ${s}ms`))},s)),e.then(e=>{a||(l(),n(e))},e=>{if(a)return;l();let n=e instanceof Error?e:Error(String(e));i.emit(iv.client.error,n,t),r(n)})})}let _=new Map;for(let e of r.jsonSerializableMethods??[])_.set(e,{jsonSerializable:!0});let v=e.createChannel({definitions:_,onError(e){f(`error`,e),i.emit(iv.client.connectionError,e),m(new Fx(`connection`,`[devframe] Connection to the devframe server failed`,{cause:e}))},onDisconnected(){l!==`error`&&f(`disconnected`),m(new Fx(`connection`,`[devframe] Disconnected from the devframe server`,{cause:u??void 0}))}}),y=Jx(a.functions,{channel:v,rpcOptions:o});a.register({name:iv.broadcast.authRevoked,type:`event`,handler:()=>{c=!1;let e=new Fx(`auth`,`[devframe] The devframe server revoked this client's trust`);f(`unauthorized`,e),i.emit(iv.client.connectionError,e),m(e),i.emit(iv.client.isTrustedUpdated,!1)}});let b=n;async function x(e){b=e;let t=await y.$call(`anonymous:devframe:auth`,{authToken:e,ua:navigator.userAgent,origin:location.origin});if(c=t.isTrusted,c)d.resolve(!0),f(`connected`);else{let e=new Fx(`auth`,`[devframe] The devframe server refused this client's credentials`);f(`unauthorized`,e),i.emit(iv.client.connectionError,e)}return i.emit(iv.client.isTrustedUpdated,c),t.isTrusted}async function S(e){let t=(await y.$call(`anonymous:devframe:auth:exchange`,{code:e,ua:navigator.userAgent,origin:location.origin}))?.authToken??null;return t&&(b=t,c=!0,d.resolve(!0),f(`connected`),i.emit(iv.client.isTrustedUpdated,!0)),t}async function ee(e={}){await y.$call(`anonymous:devframe:auth:request-code`,{ua:navigator.userAgent,origin:location.origin,...e.reissue?{reissue:!0}:{}})}async function C(){return c?!0:x(b??``)}async function w(e=6e4){if(c&&d.resolve(!0),e<=0)return d.promise;let t;try{return await Promise.race([d.promise,new Promise((n,r)=>{t=setTimeout(()=>{r(Error(`[devframe] Timeout waiting for rpc to be trusted`))},e)})]),c}finally{clearTimeout(t)}}return{transport:t,get isTrusted(){return c},get status(){return l},get connectionError(){return u},requestTrust:C,requestTrustWithToken:x,requestTrustWithCode:S,requestAuthCode:ee,ensureTrusted:w,call:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(iv.client.error,n,t),Promise.reject(n)):g(y.$call(...e),t)},callEvent:(...e)=>{let t=h();if(t){i.emit(iv.client.error,t,String(e[0]));return}return y.$callEvent(...e)},callOptional:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(iv.client.error,n,t),Promise.reject(n)):g(y.$callOptional(...e),t)},close:()=>{v.close()}}}function Xx(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})();if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`;return new URL(e.path??`/`,`${r.protocol}//${t}`).href}return new URL(e.path??``,r).href}let i=e??``;return/^https?:\/\//i.test(i)?i:new URL(i,r).href}function Zx(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},sseOptions:s={},callTimeout:c=0}=e,l=Xx(n.sse,r??`./`,location);return Yx({transport:`sse`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>qx({url:l,authToken:t,definitions:e.definitions,...s,onConnected(){s.onConnected?.()},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(){e.onDisconnected(),s.onDisconnected?.()}})})}function Qx(e){let{name:t,message:n,cause:r,...i}=e,a=r instanceof Error?r:$x(r)?Qx(r):r,o=a===void 0?Error(n):Error(n,{cause:a});return o.name=t,Object.assign(o,i),o}function $x(e){return typeof e==`object`&&!!e&&typeof e.message==`string`&&typeof e.name==`string`}function eS(e){return typeof e==`object`&&!!e&&e.type===`static`&&typeof e.path==`string`}function tS(e){return typeof e==`object`&&!!e&&e.type===`query`&&typeof e.records==`object`&&e.records!==null}function nS(e){return typeof e==`object`&&!!e&&(`output`in e||`error`in e)}function rS(e){if(e.error)throw Qx(e.error);return e.output}function iS(e){return e.some(e=>e!=null)}function aS(e){return typeof e==`object`&&e&&`serialization`in e&&`data`in e?e.data:e}function oS(e,t){let n=new Map,r=new Map;function i(e,t){return t===`structured-clone`&&Array.isArray(e)?Hb(e):e}function a(e,t){return i(aS(e),t)}async function o(e){n.has(e.path)||n.set(e.path,t(e.path).then(t=>a(t,e.serialization)));let r=await n.get(e.path);return nS(r)?rS(r):r}async function s(e,n){return r.has(e)||r.set(e,t(e).then(e=>a(e,n))),await r.get(e)}async function c(t,n){if(!(t in e))throw Error(`[devframe-rpc] Function "${t}" not found in dump store`);let r=e[t];if(eS(r)){if(iS(n))throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`);return await o(r)}if(tS(r)){let e=Lv(n),i=r.records[e];if(i)return rS(await s(i,r.serialization));if(r.fallback)return rS(await s(r.fallback,r.serialization));throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}if(!iS(n))return r;throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}return{call:async(e,t)=>await c(e,t),callOptional:async(t,n)=>{if(t in e)return await c(t,n)},callEvent:async(e,t)=>{}}}async function sS(e){let t=oS(await e.fetchJsonFromBases(ax),e.fetchJsonFromBases);return{transport:`static`,isTrusted:!0,status:`connected`,connectionError:null,requestTrust:async()=>!0,requestTrustWithToken:async()=>!0,requestTrustWithCode:async()=>null,requestAuthCode:async()=>{},ensureTrusted:async()=>!0,call:(...e)=>t.call(e[0],e.slice(1)),callEvent:(...e)=>t.callEvent(e[0],e.slice(1)),callOptional:(...e)=>t.callOptional(e[0],e.slice(1)),close:()=>{}}}var cS=``;function lS(e,t){return`${e}${cS}${t}`}function uS(e){let t=new Map,n=new Map;e.client.register({name:iv.broadcast.streamingChunk,type:`event`,handler(e,n,r,i){t.get(lS(e,n))?._push(r,i)}}),e.client.register({name:iv.broadcast.streamingEnd,type:`event`,handler(e,n,r){let i=lS(e,n),a=t.get(i);a&&(a._end(r),t.delete(i))}}),e.client.register({name:iv.broadcast.streamingUploadCancel,type:`event`,handler(e,t){let r=lS(e,t),i=n.get(r);i&&(i.abort(`server cancelled upload`),n.delete(r))}}),e.events.on(iv.client.isTrustedUpdated,n=>{if(n)for(let[n,r]of t){if(r.cancelled||r.done)continue;let t=n.indexOf(cS);if(t<0)continue;let i=n.slice(0,t),a=n.slice(t+1);e.callEvent(`devframe:streaming:subscribe`,i,a,{afterSeq:r.lastSeenSeq})}});function r(n,r,i={}){let a=lS(n,r),o=t.get(a);if(o)return o;let s=Jb({id:r,highWaterMark:i.highWaterMark,onOverflow(e){console.warn(`[devframe] DF0029: Stream "${n}#${r}" dropped ${e} chunk(s) after exceeding the client high-water mark.`)},onCancel(){e.callEvent(`devframe:streaming:cancel`,n,r),t.delete(a)}});if(t.set(a,s),e.isTrusted)e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:0});else{let i=e.events.on(iv.client.isTrustedUpdated,o=>{o&&(i(),t.has(a)&&!s.cancelled&&!s.done&&e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:s.lastSeenSeq}))})}return s}function i(t,r){let i=lS(t,r),a=n.get(i);if(a)return a;let o=qb({id:r});return o.events.on(`chunk`,(n,i)=>{e.callEvent(`devframe:streaming:upload-chunk`,t,r,n,i)}),o.events.on(`end`,a=>{e.callEvent(`devframe:streaming:upload-end`,t,r,a),n.delete(i)}),n.set(i,o),o}return{subscribe:r,upload:i}}function dS(){}var fS=new Map;function pS(e){let t=e.url;e.authToken&&(t=`${t}?${cx}=${encodeURIComponent(e.authToken)}`);let n=new WebSocket(t),{onConnected:r=dS,onError:i=dS,onDisconnected:a=dS,definitions:o=fS}=e;n.addEventListener(`open`,e=>{r(e)}),n.addEventListener(`error`,e=>{let t=e instanceof Error?e:Error(e.type);i(t)}),n.addEventListener(`close`,e=>{a(e)});let s=Ux(o);return{close:()=>{n.close()},on:e=>{n.addEventListener(`message`,t=>{e(t.data)})},post:e=>{if(n.readyState===WebSocket.OPEN){n.send(e);return}if(n.readyState===WebSocket.CONNECTING){let t=()=>{i(),n.readyState===WebSocket.OPEN&&n.send(e)},r=()=>i();function i(){n.removeEventListener(`open`,t),n.removeEventListener(`close`,r)}n.addEventListener(`open`,t),n.addEventListener(`close`,r);return}i(Error(`Devframe WebSocket is not open; message dropped`))},serialize:s.serialize,deserialize:s.deserialize}}function mS(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})(),i=r.protocol===`https:`?`wss:`:`ws:`;if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`,n=new URL(e.path??`/`,`${i}//${t}`);return n.protocol=i,n.href}let t=new URL(e.path??``,r);return t.protocol=i,t.href}if(typeof e==`number`)return`${i}//${r.hostname}:${e}`;let a=e??``;if(/^wss?:\/\//i.test(a))return a;if(/^https?:\/\//i.test(a))return Wv(a,/^https/i.test(a)?`wss://`:`ws://`);let o=new URL(a,r);return o.protocol=i,o.href}function hS(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},wsOptions:s={},callTimeout:c=0}=e,l=mS(n.websocket,r??`./`,location);return Yx({transport:`websocket`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>pS({url:l,authToken:t,definitions:e.definitions,...s,onConnected(e){s.onConnected?.(e)},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(t){e.onDisconnected(),s.onDisconnected?.(t)}})})}function gS(e){return e.includes(`:`)}function _S(e,t){return gS(t)?t:`${e}:${t}`}function vS(e){return{async get(t){return(await e()).value()[t]},async set(t,n){(await e()).mutate(e=>{e[t]=n})},async delete(t){(await e()).mutate(e=>{delete e[t]})},async all(){return(await e()).value()},async onChange(t){return(await e()).on(`updated`,e=>t(e))}}}function yS(e,t,n){let r=`devframe:settings:${n}:${t}`,i;function a(){return i||=e.sharedState.get(r,{initialValue:{}}),i}return vS(a)}function bS(e,t){return{global:yS(e,t,`global`),project:yS(e,t,`project`)}}function xS(e,t){return{namespace:t,base:e,rpc:{namespace:t,register(n){if(gS(n.name))throw Error(`[devframe] Scoped client RPC registration for namespace "${t}" received an already-namespaced function name "${n.name}". Pass a bare name without a ":" separator.`);e.client.register({...n,name:`${t}:${n.name}`})},call:((n,...r)=>e.call(_S(t,n),...r)),callEvent:((n,...r)=>e.callEvent(_S(t,n),...r)),callOptional:((n,...r)=>e.callOptional(_S(t,n),...r)),sharedState:((n,r)=>e.sharedState.get(_S(t,n),r)),streaming:{subscribe:(n,r,i)=>e.streaming.subscribe(_S(t,n),r,i),upload:(n,r)=>e.streaming.upload(_S(t,n),r)}},settings:bS(e,t),scope:e.scope}}function SS(){if(typeof document<`u`){let e=document.modelContext;if(e)return e}if(typeof navigator<`u`){let e=navigator.modelContext;if(e)return e}}function CS(e,t={}){let n=t.modelContext??SS();if(!n)return()=>{};let r=n,i=new Map,a=new Map;function o(t,n){let o=Zb(t.name),s=a.get(o);if(s&&s!==t.name){console.warn(`[devframe] WebMCP tool name "${o}" (from "${t.name}") collides with "${s}"; keeping the first registration.`);return}let c=new AbortController,l=vv(t.type,n),u=r.registerTool({name:o,description:n.description,inputSchema:xv(t.args),annotations:{title:n.title??t.name,readOnlyHint:l===`read`,destructiveHint:l===`destructive`},execute:n=>wS(t,e.context,n)},{signal:c.signal});u&&`then`in u&&u.then(()=>{},()=>{}),a.set(o,t.name),i.set(t.name,()=>{c.abort(),u&&`unregister`in u&&typeof u.unregister==`function`&&u.unregister(),a.delete(o)})}function s(t){let n=t?[t]:[...e.definitions.keys()];for(let t of n){i.get(t)?.(),i.delete(t);let n=e.definitions.get(t),r=n?.agent;n&&r&&o(n,r)}}s();let c=e.onChanged(e=>s(e));return()=>{c();for(let e of i.values())e();i.clear()}}async function wS(e,t,n){try{let r=Cv(n,e.args?.length);return{content:[{type:`text`,text:TS(await(await _x(e,t))(...r))}]}}catch(e){return{isError:!0,content:[{type:`text`,text:ES(e)}]}}}function TS(e){return e===void 0?`undefined`:typeof e==`string`?e:JSON.stringify(e,null,2)}function ES(e){if(!(e instanceof Error))return String(e);let t=e.cause instanceof Error?` (cause: ${e.cause.message})`:``;return`${e.name}: ${e.message}${t}`}function DS(e,t){if(t.backend===`static`)return`static`;let n=t.websocket!==void 0,r=t.sse!==void 0;if(e===`websocket`){if(!n)throw Error(`[devframe] transport: 'websocket' was requested, but this server does not advertise a WebSocket endpoint`);return`websocket`}if(e===`sse`){if(!r)throw Error(`[devframe] transport: 'sse' was requested, but this server does not advertise an SSE endpoint`);return`sse`}if(t.backend===`sse`&&r)return`sse`;if(n)return`websocket`;if(r)return`sse`;throw Error(`[devframe] This server advertises no RPC transport (backend "none"), so there is nothing to connect to. Enable the WebSocket or SSE endpoint on the server, or use its static/MCP surfaces instead.`)}async function OS(e={}){let{baseURL:t=`./`,rpcOptions:n={},cacheOptions:r=!1}=e,i=Rv(),a=Array.isArray(t)?t:[t],o=await Px(e),{connectionMeta:s,metaBaseUrl:c,authToken:l}=o,u=a[0]??`./`;try{u=new URL(`.`,c).href}catch{}let d=new lx({functions:[],...typeof e.cacheOptions==`object`?e.cacheOptions:{}}),f={rpc:void 0},p=new vx(f),m=e.webmcp===!1?void 0:CS(p),h,g=!1;async function _(e){let t=[u,...a.filter(e=>e!==u)].filter(e=>e!=null),n=[];for(let r of t)try{return await fetch(Uv(e,r)).then(t=>{if(!t.ok)throw Error(`Failed to fetch ${e} from ${r}: ${t.status}`);return t.json()})}catch(e){n.push(e)}throw Error(`Failed to load ${e} from ${t.join(`, `)}`,{cause:n})}let v={authToken:l,connectionMeta:s,metaBaseUrl:c,events:i,clientRpc:p,callTimeout:e.callTimeout,rpcOptions:{...n,async onRequest(e,t,i){if(await n.onRequest?.call(this,e,t,i),r&&d?.validate(e.m)){if(d.has(e.m,e.a))return i(d.cached(e.m,e.a));let n=await t(e);d.apply(e,n)}else await t(e)}}},y=DS(e.transport??`auto`,s),b=y===`static`?await sS({fetchJsonFromBases:_}):y===`sse`?Zx({...v,sseOptions:e.sseOptions}):hS({...v,wsOptions:e.wsOptions}),x;try{x=new BroadcastChannel(`devframe-auth`)}catch{}let S,ee=!1;function C(e){return((...t)=>ee||!S?e(...t):S.then(()=>e(...t)))}function w(){g=!0;try{h?.(),m?.()}finally{try{x?.close()}finally{b.close?.()}}}let T={events:i,get isTrusted(){return b.isTrusted},get status(){return b.status},get connectionError(){return b.connectionError},get transport(){return b.transport??y},get connection(){return o},connectionMeta:s,ensureTrusted:b.ensureTrusted,requestTrust:b.requestTrust,requestTrustWithToken:async e=>(Ax(e),o={...o,authToken:e},b.requestTrustWithToken(e)),requestTrustWithCode:async e=>{let t=await b.requestTrustWithCode(e);if(!t)return!1;Ax(t),o={...o,authToken:t};try{x?.postMessage({type:`auth-update`,authToken:t})}catch{}return!0},requestAuthCode:e=>b.requestAuthCode(e),call:C(b.call),callEvent:C(b.callEvent),callOptional:C(b.callOptional),client:p,sharedState:void 0,services:void 0,streaming:void 0,cacheManager:d,scope:void 0,close:w};T.sharedState=Vx(T),T.streaming=uS(T),T.services=Bx(T);let te=new Map;T.scope=(e=>{if(!e)return T;let t=te.get(e);return t||(t=xS(T,e),te.set(e,t)),t}),f.rpc=T;function E(){try{return typeof window<`u`&&window.self===window.top}catch{return!1}}async function ne(){if(e.simpleAuth!==!1&&E()&&typeof globalThis.prompt==`function`)for(await T.requestAuthCode().catch(()=>{});!T.isTrusted;){let e=globalThis.prompt(`devframe: enter the authentication code shown in your terminal`);if(e==null)return;let t=e.trim();if(t&&await T.requestTrustWithCode(t))return}}async function D(){let t=await b.requestTrust(),n=e.otpParam??`devframe_otp`,r=n?await zx(T,{param:n}):!1;t||r||T.isTrusted||await ne()}return S=D().then(()=>{ee=!0},()=>{ee=!0}),s.mcp&&tx(async()=>{let{setupBrowserAgentRpcBridge:e}=await import(`./browser-agent-rpc-BXhoSh1z-DT7_jkxB.js`);return{setupBrowserAgentRpcBridge:e}},[],import.meta.url).then(({setupBrowserAgentRpcBridge:e})=>{g||(h=e(T))}).catch(()=>{}),x&&(x.onmessage=e=>{e.data?.type===`auth-update`&&e.data.authToken&&T.requestTrustWithToken(e.data.authToken)}),T}var kS=OS,AS=class e{rpc=Ug(null);navigate=Bg();meta=H(null);componentCount=H(0);routeCount=H(0);signalCount=H(0);providerCount=H(0);storeCount=H(0);constructor(){Bs(()=>{let e=this.rpc();if(!e)return;let t=e.scope(`ng-devtools`);t.rpc.call(`build-meta`).then(e=>this.meta.set(e)).catch(()=>{}),t.rpc.call(`get-components`).then(e=>this.componentCount.set(e.length)).catch(()=>{}),t.rpc.call(`get-routes`).then(e=>this.routeCount.set(e.length)).catch(()=>{}),t.rpc.call(`get-signals`).then(e=>this.signalCount.set(e.length)).catch(()=>{}),t.rpc.call(`get-providers`).then(e=>this.providerCount.set(e.length)).catch(()=>{}),t.rpc.call(`get-ngrx-store`).then(e=>this.storeCount.set(e.length)).catch(()=>{})})}static ɵfac=function(t){return new(t||e)};static ɵcmp=Rp({type:e,selectors:[[`app-dashboard`]],inputs:{rpc:[1,`rpc`]},outputs:{navigate:`navigate`},decls:56,vars:9,consts:[[1,`grid`],[1,`card`],[1,`card`,`clickable`,3,`click`],[1,`big`],[1,`sub`]],template:function(e,t){e&1&&(J(0,`div`,0)(1,`div`,1)(2,`h3`),Z(3,`Project`),Y(),J(4,`dl`)(5,`dt`),Z(6,`Name`),Y(),J(7,`dd`),Z(8),Y(),J(9,`dt`),Z(10,`Angular`),Y(),J(11,`dd`),Z(12),Y(),J(13,`dt`),Z(14,`TypeScript`),Y(),J(15,`dd`),Z(16),Y(),J(17,`dt`),Z(18,`SSR`),Y(),J(19,`dd`),Z(20),Y()()(),J(21,`div`,2),Hh(`click`,function(){return t.navigate.emit(`components`)}),J(22,`h3`),Z(23,`Components`),Y(),J(24,`p`,3),Z(25),Y(),J(26,`p`,4),Z(27,`discovered in source`),Y()(),J(28,`div`,2),Hh(`click`,function(){return t.navigate.emit(`routes`)}),J(29,`h3`),Z(30,`Routes`),Y(),J(31,`p`,3),Z(32),Y(),J(33,`p`,4),Z(34,`registered paths`),Y()(),J(35,`div`,2),Hh(`click`,function(){return t.navigate.emit(`signals`)}),J(36,`h3`),Z(37,`Signals`),Y(),J(38,`p`,3),Z(39),Y(),J(40,`p`,4),Z(41,`reactive primitives`),Y()(),J(42,`div`,2),Hh(`click`,function(){return t.navigate.emit(`injectors`)}),J(43,`h3`),Z(44,`Injectors`),Y(),J(45,`p`,3),Z(46),Y(),J(47,`p`,4),Z(48,`DI providers`),Y()(),J(49,`div`,2),Hh(`click`,function(){return t.navigate.emit(`store`)}),J(50,`h3`),Z(51,`NgRx Store`),Y(),J(52,`p`,3),Z(53),Y(),J(54,`p`,4),Z(55,`store entries`),Y()()()),e&2&&(G(8),Q(t.meta()?.projectName??`…`),G(4),Q(t.meta()?.angularVersion??`…`),G(4),Q(t.meta()?.typescript??`…`),G(4),Q(t.meta()?.ssr?`Yes`:`No`),G(5),Q(t.componentCount()),G(7),Q(t.routeCount()),G(7),Q(t.signalCount()),G(7),Q(t.providerCount()),G(7),Q(t.storeCount()))},styles:[`.grid[_ngcontent-%COMP%] { - display: grid; - grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); - gap: 16px; - } - .card[_ngcontent-%COMP%] { - background: #18181b; - border: 1px solid #27272a; - border-radius: 10px; - padding: 20px; - } - .card.clickable[_ngcontent-%COMP%] { - cursor: pointer; - transition: border-color 0.15s; - } - .card.clickable[_ngcontent-%COMP%]:hover { - border-color: var(--%NS%accent); - } - h3[_ngcontent-%COMP%] { - font-size: 13px; - text-transform: uppercase; - color: #71717a; - margin-bottom: 12px; - letter-spacing: 0.05em; - } - dl[_ngcontent-%COMP%] { - display: grid; - grid-template-columns: auto 1fr; - gap: 6px 12px; - font-size: 14px; - } - dt[_ngcontent-%COMP%] { - color: #a1a1aa; - } - dd[_ngcontent-%COMP%] { - color: #e4e4e7; - font-weight: 500; - } - .big[_ngcontent-%COMP%] { - font-size: 36px; - font-weight: 700; - color: var(--%NS%accent); - } - .sub[_ngcontent-%COMP%] { - font-size: 13px; - color: #71717a; - margin-top: 4px; - }`]})},jS=(e,t)=>t.selector,MS=(e,t)=>t.token+t.line;function NS(e,t){e&1&&(J(0,`p`,3),Z(1,`Scanning components…`),Y())}function PS(e,t){e&1&&(J(0,`p`,3),Z(1,`No components found.`),Y())}function FS(e,t){if(e&1&&(J(0,`div`,10)(1,`span`,11),Z(2,`Inputs:`),Y(),Z(3),Y()),e&2){let e=X().$implicit;G(3),$(` `,e.inputs.join(`, `),` `)}}function IS(e,t){if(e&1&&(J(0,`div`,10)(1,`span`,11),Z(2,`Outputs:`),Y(),Z(3),Y()),e&2){let e=X().$implicit;G(3),$(` `,e.outputs.join(`, `),` `)}}function LS(e,t){if(e&1){let e=Lh();J(0,`li`,7),Hh(`click`,function(){let t=co(e).$implicit;return lo(X(2).select(t))}),J(1,`div`,8),Z(2),Y(),J(3,`div`,9),Z(4),Y(),K(5,FS,4,1,`div`,10),K(6,IS,4,1,`div`,10),Y()}if(e&2){let e=t.$implicit;G(2),$(`<`,e.selector,`>`),G(2),Q(e.file),G(),q(e.inputs.length?5:-1),G(),q(e.outputs.length?6:-1)}}function RS(e,t){if(e&1&&(J(0,`ul`,4),hh(1,LS,7,4,`li`,6,jS),Y()),e&2){let e=X();G(),_h(e.filtered())}}function zS(e,t){if(e&1&&(J(0,`dt`),Z(1,`Inputs`),Y(),J(2,`dd`),Z(3),Y()),e&2){let e=X(2);G(3),Q(e.selected().inputs.join(`, `))}}function BS(e,t){if(e&1&&(J(0,`dt`),Z(1,`Outputs`),Y(),J(2,`dd`),Z(3),Y()),e&2){let e=X(2);G(3),Q(e.selected().outputs.join(`, `))}}function VS(e,t){if(e&1&&(J(0,`span`,17),Z(1),Y()),e&2){let e=X().$implicit;G(),$(`→ `,e.source)}}function HS(e,t){if(e&1&&(J(0,`li`,14)(1,`span`,15),Z(2),Y(),J(3,`span`,16),Z(4),Y(),K(5,VS,2,1,`span`,17),Y()),e&2){let e=t.$implicit;G(2),Q(e.token),G(2),Q(e.type),G(),q(e.source&&e.source!==`class`&&e.source!==`providers array`?5:-1)}}function US(e,t){if(e&1&&(J(0,`h4`),Z(1,`Injected Providers`),Y(),J(2,`ul`,13),hh(3,HS,6,3,`li`,14,MS),Y()),e&2){let e=X(2);G(3),_h(e.selectedProviders())}}function WS(e,t){e&1&&(J(0,`p`,12),Z(1,`No injected providers detected.`),Y())}function GS(e,t){if(e&1&&(J(0,`aside`,5)(1,`h3`),Z(2),Y(),J(3,`dl`)(4,`dt`),Z(5,`File`),Y(),J(6,`dd`),Z(7),Y(),K(8,zS,4,1),K(9,BS,4,1),J(10,`dt`),Z(11,`Standalone`),Y(),J(12,`dd`),Z(13),Y()(),K(14,US,5,0)(15,WS,2,0,`p`,12),Y()),e&2){let e=X();G(2),$(`<`,e.selected().selector,`>`),G(5),Q(e.selected().file),G(),q(e.selected().inputs.length?8:-1),G(),q(e.selected().outputs.length?9:-1),G(4),Q(e.selected().isStandalone?`Yes`:`No`),G(),q(e.selectedProviders().length?14:15)}}var KS=class e{rpc=Ug(null);components=H([]);allProviders=H([]);filter=H(``);loading=H(!1);selected=H(null);selectedProviders=H([]);filtered=H([]);constructor(){Bs(()=>{let e=this.filter().toLowerCase(),t=this.components();this.filtered.set(e?t.filter(t=>t.selector.includes(e)||t.file.includes(e)):t)}),Bs(()=>{this.rpc()&&this.refresh()})}async refresh(){let e=this.rpc();if(e){this.loading.set(!0);try{let t=e.scope(`ng-devtools`),[n,r]=await Promise.all([t.rpc.call(`get-components`),t.rpc.call(`get-providers`)]);this.components.set(n),this.allProviders.set(r);let i=this.selected();i&&this.selectedProviders.set(r.filter(e=>e.file===i.file))}finally{this.loading.set(!1)}}}select(e){this.selected.set(e),this.selectedProviders.set(this.allProviders().filter(t=>t.file===e.file));let t=this.rpc();t&&t.scope(`ng-devtools`).rpc.callEvent(`select-component`,e.selector)}static ɵfac=function(t){return new(t||e)};static ɵcmp=Rp({type:e,selectors:[[`app-component-tree`]],inputs:{rpc:[1,`rpc`]},decls:8,vars:3,consts:[[1,`toolbar`],[`type`,`text`,`placeholder`,`Filter components…`,3,`input`,`value`],[3,`click`],[1,`muted`],[`role`,`list`,1,`component-list`],[1,`detail`],[1,`component-item`],[1,`component-item`,3,`click`],[1,`selector`],[1,`file`],[1,`io`],[1,`label`],[1,`no-providers`],[`role`,`list`,1,`provider-list`],[1,`provider-item`],[1,`provider-token`],[1,`provider-type`],[1,`provider-source`]],template:function(e,t){e&1&&(J(0,`div`,0)(1,`input`,1),Hh(`input`,function(e){return t.filter.set(e.target.value)}),Y(),J(2,`button`,2),Hh(`click`,function(){return t.refresh()}),Z(3,`Refresh`),Y()(),K(4,NS,2,0,`p`,3)(5,PS,2,0,`p`,3)(6,RS,3,0,`ul`,4),K(7,GS,16,6,`aside`,5)),e&2&&(G(),Rh(`value`,t.filter()),G(3),q(t.loading()?4:t.filtered().length===0?5:6),G(3),q(t.selected()?7:-1))},styles:[`.toolbar[_ngcontent-%COMP%] { - display: flex; - gap: 8px; - margin-bottom: 16px; - } - input[_ngcontent-%COMP%] { - flex: 1; - padding: 8px 12px; - background: #18181b; - border: 1px solid #27272a; - border-radius: 6px; - color: #e4e4e7; - font-size: 14px; - outline: none; - } - input[_ngcontent-%COMP%]:focus { - border-color: var(--%NS%accent); - } - button[_ngcontent-%COMP%] { - padding: 8px 16px; - background: #3f3f46; - border: none; - border-radius: 6px; - color: #e4e4e7; - cursor: pointer; - font-size: 13px; - } - button[_ngcontent-%COMP%]:hover { - background: #52525b; - } - .muted[_ngcontent-%COMP%] { - color: #71717a; - font-size: 14px; - } - .component-list[_ngcontent-%COMP%] { - list-style: none; - padding: 0; - display: flex; - flex-direction: column; - gap: 8px; - } - .component-item[_ngcontent-%COMP%] { - background: #18181b; - border: 1px solid #27272a; - border-radius: 8px; - padding: 12px 16px; - cursor: pointer; - transition: border-color 0.15s; - } - .component-item[_ngcontent-%COMP%]:hover { - border-color: var(--%NS%accent); - } - .selector[_ngcontent-%COMP%] { - font-family: monospace; - font-size: 15px; - color: var(--%NS%accent); - font-weight: 600; - } - .file[_ngcontent-%COMP%] { - font-size: 12px; - color: #71717a; - margin-top: 2px; - } - .io[_ngcontent-%COMP%] { - font-size: 13px; - color: #a1a1aa; - margin-top: 4px; - } - .io[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] { - color: #71717a; - } - .detail[_ngcontent-%COMP%] { - margin-top: 16px; - padding: 16px; - background: #18181b; - border: 1px solid #27272a; - border-radius: 8px; - } - .detail[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] { - font-family: monospace; - color: var(--%NS%accent); - margin-bottom: 12px; - } - dl[_ngcontent-%COMP%] { - display: grid; - grid-template-columns: auto 1fr; - gap: 4px 12px; - font-size: 13px; - margin-bottom: 16px; - } - dt[_ngcontent-%COMP%] { - color: #71717a; - } - dd[_ngcontent-%COMP%] { - color: #e4e4e7; - } - h4[_ngcontent-%COMP%] { - font-size: 12px; - text-transform: uppercase; - letter-spacing: 0.05em; - color: #71717a; - margin-bottom: 8px; - } - .provider-list[_ngcontent-%COMP%] { - list-style: none; - padding: 0; - display: flex; - flex-direction: column; - gap: 6px; - } - .provider-item[_ngcontent-%COMP%] { - display: flex; - align-items: center; - gap: 8px; - padding: 6px 10px; - background: #09090b; - border: 1px solid #27272a; - border-radius: 6px; - font-size: 13px; - } - .provider-token[_ngcontent-%COMP%] { - font-family: monospace; - color: #e4e4e7; - font-weight: 600; - } - .provider-type[_ngcontent-%COMP%] { - font-size: 11px; - padding: 1px 6px; - border-radius: 4px; - background: #3f3f46; - color: #a1a1aa; - } - .provider-source[_ngcontent-%COMP%] { - font-size: 12px; - color: #71717a; - } - .no-providers[_ngcontent-%COMP%] { - font-size: 13px; - color: #52525b; - }`]})},qS=(e,t)=>t.path+t.file;function JS(e,t){e&1&&(J(0,`p`,3),Z(1,`Scanning routes…`),Y())}function YS(e,t){e&1&&(J(0,`p`,3),Z(1,`No routes found.`),Y())}function XS(e,t){if(e&1&&(J(0,`tr`)(1,`td`,5),Z(2),Y(),J(3,`td`),Z(4),Y(),J(5,`td`,6),Z(6),Y(),J(7,`td`),Z(8),Y()()),e&2){let e=t.$implicit;G(2),$(`/`,e.path),G(2),Q(e.component??`—`),G(2),Q(e.file),G(2),Q(e.hasChildren?`Yes`:`—`)}}function ZS(e,t){if(e&1&&(J(0,`table`,4)(1,`thead`)(2,`tr`)(3,`th`),Z(4,`Path`),Y(),J(5,`th`),Z(6,`Component`),Y(),J(7,`th`),Z(8,`File`),Y(),J(9,`th`),Z(10,`Children`),Y()()(),J(11,`tbody`),hh(12,XS,9,4,`tr`,null,qS),Y()()),e&2){let e=X();G(12),_h(e.filtered())}}var QS=class e{rpc=Ug(null);routes=H([]);filter=H(``);loading=H(!1);filtered=H([]);constructor(){Bs(()=>{let e=this.filter().toLowerCase(),t=this.routes();this.filtered.set(e?t.filter(t=>t.path.includes(e)||t.file.includes(e)):t)}),Bs(()=>{this.rpc()&&this.refresh()})}async refresh(){let e=this.rpc();if(e){this.loading.set(!0);try{let t=await e.scope(`ng-devtools`).rpc.call(`get-routes`);this.routes.set(t)}finally{this.loading.set(!1)}}}static ɵfac=function(t){return new(t||e)};static ɵcmp=Rp({type:e,selectors:[[`app-route-inspector`]],inputs:{rpc:[1,`rpc`]},decls:7,vars:2,consts:[[1,`toolbar`],[`type`,`text`,`placeholder`,`Filter routes…`,3,`input`,`value`],[3,`click`],[1,`muted`],[`role`,`table`],[1,`path`],[1,`file`]],template:function(e,t){e&1&&(J(0,`div`,0)(1,`input`,1),Hh(`input`,function(e){return t.filter.set(e.target.value)}),Y(),J(2,`button`,2),Hh(`click`,function(){return t.refresh()}),Z(3,`Refresh`),Y()(),K(4,JS,2,0,`p`,3)(5,YS,2,0,`p`,3)(6,ZS,14,0,`table`,4)),e&2&&(G(),Rh(`value`,t.filter()),G(3),q(t.loading()?4:t.filtered().length===0?5:6))},styles:[`.toolbar[_ngcontent-%COMP%] { - display: flex; - gap: 8px; - margin-bottom: 16px; - } - input[_ngcontent-%COMP%] { - flex: 1; - padding: 8px 12px; - background: #18181b; - border: 1px solid #27272a; - border-radius: 6px; - color: #e4e4e7; - font-size: 14px; - outline: none; - } - input[_ngcontent-%COMP%]:focus { - border-color: var(--%NS%accent); - } - button[_ngcontent-%COMP%] { - padding: 8px 16px; - background: #3f3f46; - border: none; - border-radius: 6px; - color: #e4e4e7; - cursor: pointer; - font-size: 13px; - } - button[_ngcontent-%COMP%]:hover { - background: #52525b; - } - .muted[_ngcontent-%COMP%] { - color: #71717a; - font-size: 14px; - } - table[_ngcontent-%COMP%] { - width: 100%; - border-collapse: collapse; - font-size: 14px; - } - thead[_ngcontent-%COMP%] { - position: sticky; - top: 0; - } - th[_ngcontent-%COMP%] { - text-align: left; - padding: 8px 12px; - background: #18181b; - color: #71717a; - font-size: 12px; - text-transform: uppercase; - letter-spacing: 0.05em; - border-bottom: 1px solid #27272a; - } - td[_ngcontent-%COMP%] { - padding: 10px 12px; - border-bottom: 1px solid #1e1e22; - } - tr[_ngcontent-%COMP%]:hover td[_ngcontent-%COMP%] { - background: #18181b; - } - .path[_ngcontent-%COMP%] { - font-family: monospace; - color: var(--%NS%accent); - font-weight: 500; - } - .file[_ngcontent-%COMP%] { - font-size: 12px; - color: #71717a; - }`]})},$S=(e,t)=>t.name+t.file+t.line,eC=(e,t)=>t.kind,tC=(e,t)=>t.id;function nC(e,t){e&1&&(J(0,`div`,3)(1,`p`,4),Z(2,`No signals found.`),Y(),J(3,`p`,5),Z(4,` No signal(), computed(), effect() calls found in source. Runtime graph requires Angular 19+ with the overlay connected. `),Y()())}function rC(e,t){if(e&1&&Z(0),e&2){let e=X().$implicit;$(` · in <`,e.component,`> `)}}function iC(e,t){if(e&1&&(J(0,`div`,8)(1,`div`,9)(2,`span`,10),Z(3),Y(),J(4,`span`,11),Z(5),Y()(),J(6,`div`,12),Z(7),K(8,rC,1,1),Y()()),e&2){let e=t.$implicit,n=X(2);G(2),rg(`background`,n.kindColor(e.kind)),G(),Q(e.kind),G(2),Q(e.name),G(2),Cg(` `,e.file,`:`,e.line,` `),G(),q(e.component?8:-1)}}function aC(e,t){if(e&1&&(J(0,`p`,6),Z(1,`Signals from source scan (static analysis):`),Y(),J(2,`div`,7),hh(3,iC,9,7,`div`,8,$S),Y()),e&2){let e=X();G(3),_h(e.filteredSourceSignals())}}function oC(e,t){if(e&1&&(J(0,`span`,14),Ah(1,`span`,17),Z(2),Y()),e&2){let e=t.$implicit;G(),rg(`background`,e.color),G(),$(` `,e.kind,` `)}}function sC(e,t){e&1&&(J(0,`span`,19),Z(1,`watching`),Y())}function cC(e,t){if(e&1&&(J(0,`div`,20),Z(1),Og(2,`json`),Y()),e&2){let e=X().$implicit;G(),Q(Ag(2,1,e.value))}}function lC(e,t){if(e&1&&Z(0),e&2){let e=X().$implicit;$(` · Deps: `,X(2).getDependencies(e).length,` `)}}function uC(e,t){if(e&1&&Z(0),e&2){let e=X().$implicit;$(` · Consumers: `,X(2).getConsumers(e).length,` `)}}function dC(e,t){if(e&1){let e=Lh();J(0,`div`,18),Hh(`click`,function(){let t=co(e).$implicit;return lo(X(2).selectNode(t))}),J(1,`div`,9)(2,`span`,10),Z(3),Y(),J(4,`span`,11),Z(5),Y(),K(6,sC,2,0,`span`,19),Y(),K(7,cC,3,3,`div`,20),J(8,`div`,12),Z(9),K(10,lC,1,1),K(11,uC,1,1),Y()()}if(e&2){let e=t.$implicit,n=X(2);ig(`selected`,n.selectedNode()?.id===e.id),G(2),rg(`background`,n.kindColor(e.kind)),G(),Q(e.kind),G(2),Q(e.label??`(unnamed)`),G(),q(e.watched?6:-1),G(),q(e.value===void 0?-1:7),G(2),$(` Epoch: `,e.epoch,` `),G(),q(n.getDependencies(e).length?10:-1),G(),q(n.getConsumers(e).length?11:-1)}}function fC(e,t){if(e&1&&(J(0,`dt`),Z(1,`Value`),Y(),J(2,`dd`)(3,`pre`),Z(4),Og(5,`json`),Y()()),e&2){let e=X(3);G(4),Q(Ag(5,1,e.selectedNode().value))}}function pC(e,t){if(e&1&&(J(0,`li`)(1,`span`,21),Z(2),Y(),Z(3),Y()),e&2){let e=t.$implicit,n=X(4);G(),rg(`background`,n.kindColor(e.kind)),G(),Q(e.kind),G(),$(` `,e.label??e.id,` `)}}function mC(e,t){if(e&1&&(J(0,`h4`),Z(1,`Dependencies (producers)`),Y(),J(2,`ul`),hh(3,pC,4,4,`li`,null,tC),Y()),e&2){let e=X(3);G(3),_h(e.getDependencies(e.selectedNode()))}}function hC(e,t){if(e&1&&(J(0,`li`)(1,`span`,21),Z(2),Y(),Z(3),Y()),e&2){let e=t.$implicit,n=X(4);G(),rg(`background`,n.kindColor(e.kind)),G(),Q(e.kind),G(),$(` `,e.label??e.id,` `)}}function gC(e,t){if(e&1&&(J(0,`h4`),Z(1,`Consumers`),Y(),J(2,`ul`),hh(3,hC,4,4,`li`,null,tC),Y()),e&2){let e=X(3);G(3),_h(e.getConsumers(e.selectedNode()))}}function _C(e,t){if(e&1&&(J(0,`aside`,16)(1,`h3`),Z(2),Y(),J(3,`dl`)(4,`dt`),Z(5,`Kind`),Y(),J(6,`dd`),Z(7),Y(),J(8,`dt`),Z(9,`Epoch`),Y(),J(10,`dd`),Z(11),Y(),K(12,fC,6,3),Y(),K(13,mC,5,0),K(14,gC,5,0),Y()),e&2){let e=X(2);G(2),Q(e.selectedNode().label??e.selectedNode().id),G(5),Q(e.selectedNode().kind),G(4),Q(e.selectedNode().epoch),G(),q(e.selectedNode().value===void 0?-1:12),G(),q(e.getDependencies(e.selectedNode()).length?13:-1),G(),q(e.getConsumers(e.selectedNode()).length?14:-1)}}function vC(e,t){if(e&1&&(J(0,`div`,13),hh(1,oC,3,3,`span`,14,eC),Y(),J(3,`div`,7),hh(4,dC,12,11,`div`,15,tC),Y(),K(6,_C,15,6,`aside`,16)),e&2){let e=X();G(),_h(e.kindLegend),G(3),_h(e.filteredNodes()),G(2),q(e.selectedNode()?6:-1)}}var yC={signal:`#a78bfa`,computed:`#60a5fa`,linkedSignal:`#34d399`,effect:`#fb923c`,template:`#94a3b8`,afterRenderEffectPhase:`#f472b6`,childSignalProp:`#c084fc`,"input (signal)":`#f59e0b`,"input.required (signal)":`#f59e0b`,"output (signal)":`#ec4899`,"model (signal)":`#14b8a6`,"model.required (signal)":`#14b8a6`,"viewChild (signal)":`#8b5cf6`,"viewChild.required (signal)":`#8b5cf6`,"viewChildren (signal)":`#8b5cf6`,"contentChild (signal)":`#6366f1`,"contentChild.required (signal)":`#6366f1`,"contentChildren (signal)":`#6366f1`,resource:`#06b6d4`,unknown:`#71717a`},bC=class e{rpc=Ug(null);graph=H(null);sourceSignals=H([]);filter=H(``);selectedNode=H(null);kindLegend=Object.entries(yC).map(([e,t])=>({kind:e,color:t}));filteredNodes=Rg(()=>{let e=this.graph();if(!e)return[];let t=this.filter().toLowerCase();return t?e.nodes.filter(e=>(e.label??``).toLowerCase().includes(t)||e.kind.includes(t)):e.nodes});filteredSourceSignals=Rg(()=>{let e=this.filter().toLowerCase(),t=this.sourceSignals();return e?t.filter(t=>t.name.toLowerCase().includes(e)||t.kind.includes(e)||t.file.includes(e)):t});constructor(){Bs(()=>{let e=this.rpc();e&&(this.loadSignalGraph(e),this.loadSourceSignals(e))})}async loadSignalGraph(e){let t=await e.scope(`ng-devtools`).rpc.sharedState(`signal-graph`),n=t.value();n?.graph&&this.graph.set(n.graph),t.on(`updated`,e=>{e?.graph&&this.graph.set(e.graph)})}async loadSourceSignals(e){let t=e.scope(`ng-devtools`);try{let e=await t.rpc.call(`get-signals`);this.sourceSignals.set(e)}catch{}}selectNode(e){this.selectedNode.set(this.selectedNode()?.id===e.id?null:e)}kindColor(e){return yC[e]??yC.unknown}getDependencies(e){let t=this.graph();if(!t)return[];let n=t.nodes.findIndex(t=>t.id===e.id);return t.edges.filter(e=>e.consumer===n).map(e=>t.nodes[e.producer]).filter(Boolean)}getConsumers(e){let t=this.graph();if(!t)return[];let n=t.nodes.findIndex(t=>t.id===e.id);return t.edges.filter(e=>e.producer===n).map(e=>t.nodes[e.consumer]).filter(Boolean)}static ɵfac=function(t){return new(t||e)};static ɵcmp=Rp({type:e,selectors:[[`app-signal-inspector`]],inputs:{rpc:[1,`rpc`]},decls:7,vars:5,consts:[[1,`toolbar`],[`type`,`text`,`placeholder`,`Filter by name or kind…`,3,`input`,`value`],[1,`label`],[1,`empty`],[1,`muted`],[1,`hint`],[1,`source-label`],[1,`nodes`],[1,`node-card`],[1,`node-header`],[1,`kind-badge`],[1,`node-label`],[1,`node-meta`],[1,`legend`],[1,`legend-item`],[1,`node-card`,3,`selected`],[1,`detail-panel`],[1,`dot`],[1,`node-card`,3,`click`],[1,`watched-badge`],[1,`node-value`],[1,`kind-badge`,`sm`]],template:function(e,t){e&1&&(J(0,`div`,0)(1,`input`,1),Hh(`input`,function(e){return t.filter.set(e.target.value)}),Y(),J(2,`span`,2),Z(3),Y()(),K(4,nC,5,0,`div`,3),K(5,aC,5,0),K(6,vC,7,1)),e&2&&(G(),Rh(`value`,t.filter()),G(2),$(`Component: `,t.graph()?.componentSelector??`—`),G(),q(!t.graph()&&t.sourceSignals().length===0?4:-1),G(),q(!t.graph()&&t.sourceSignals().length>0?5:-1),G(),q(t.graph()?6:-1))},dependencies:[a_],styles:[`.toolbar[_ngcontent-%COMP%] { - display: flex; - gap: 12px; - align-items: center; - margin-bottom: 16px; - } - input[_ngcontent-%COMP%] { - flex: 1; - padding: 8px 12px; - background: #18181b; - border: 1px solid #27272a; - border-radius: 6px; - color: #e4e4e7; - font-size: 14px; - outline: none; - } - input[_ngcontent-%COMP%]:focus { - border-color: var(--%NS%accent); - } - .label[_ngcontent-%COMP%] { - font-size: 13px; - color: #71717a; - white-space: nowrap; - } - .empty[_ngcontent-%COMP%] { - text-align: center; - padding: 48px 16px; - } - .muted[_ngcontent-%COMP%] { - color: #71717a; - font-size: 14px; - } - .hint[_ngcontent-%COMP%] { - color: #52525b; - font-size: 12px; - margin-top: 8px; - } - .source-label[_ngcontent-%COMP%] { - font-size: 13px; - color: #71717a; - margin-bottom: 12px; - } - .legend[_ngcontent-%COMP%] { - display: flex; - gap: 12px; - flex-wrap: wrap; - margin-bottom: 16px; - } - .legend-item[_ngcontent-%COMP%] { - display: flex; - align-items: center; - gap: 4px; - font-size: 12px; - color: #a1a1aa; - } - .dot[_ngcontent-%COMP%] { - width: 8px; - height: 8px; - border-radius: 50%; - } - .nodes[_ngcontent-%COMP%] { - display: flex; - flex-direction: column; - gap: 8px; - } - .node-card[_ngcontent-%COMP%] { - background: #18181b; - border: 1px solid #27272a; - border-radius: 8px; - padding: 12px 16px; - cursor: pointer; - transition: border-color 0.15s; - } - .node-card[_ngcontent-%COMP%]:hover { - border-color: #3f3f46; - } - .node-card.selected[_ngcontent-%COMP%] { - border-color: var(--%NS%accent); - } - .node-header[_ngcontent-%COMP%] { - display: flex; - align-items: center; - gap: 8px; - } - .kind-badge[_ngcontent-%COMP%] { - font-size: 11px; - padding: 2px 8px; - border-radius: 4px; - color: #fff; - font-weight: 600; - text-transform: uppercase; - letter-spacing: 0.05em; - } - .kind-badge.sm[_ngcontent-%COMP%] { - font-size: 10px; - padding: 1px 5px; - } - .node-label[_ngcontent-%COMP%] { - font-family: monospace; - font-size: 14px; - color: #e4e4e7; - } - .watched-badge[_ngcontent-%COMP%] { - font-size: 10px; - padding: 1px 6px; - border-radius: 4px; - background: #14532d; - color: #4ade80; - } - .node-value[_ngcontent-%COMP%] { - font-family: monospace; - font-size: 12px; - color: #a1a1aa; - margin-top: 4px; - max-height: 40px; - overflow: hidden; - } - .node-meta[_ngcontent-%COMP%] { - font-size: 11px; - color: #52525b; - margin-top: 4px; - } - .detail-panel[_ngcontent-%COMP%] { - margin-top: 16px; - padding: 16px; - background: #18181b; - border: 1px solid #27272a; - border-radius: 8px; - } - .detail-panel[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] { - font-family: monospace; - color: var(--%NS%accent); - margin-bottom: 12px; - } - .detail-panel[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] { - font-size: 12px; - color: #71717a; - margin: 12px 0 4px; - text-transform: uppercase; - letter-spacing: 0.05em; - } - dl[_ngcontent-%COMP%] { - display: grid; - grid-template-columns: auto 1fr; - gap: 4px 12px; - font-size: 13px; - } - dt[_ngcontent-%COMP%] { - color: #71717a; - } - dd[_ngcontent-%COMP%] { - color: #e4e4e7; - } - pre[_ngcontent-%COMP%] { - font-size: 12px; - white-space: pre-wrap; - margin: 0; - } - ul[_ngcontent-%COMP%] { - list-style: none; - padding: 0; - font-size: 13px; - } - li[_ngcontent-%COMP%] { - padding: 2px 0; - color: #a1a1aa; - display: flex; - align-items: center; - gap: 6px; - }`]})},xC=(e,t)=>t.type,SC=(e,t)=>t.token+t.file+t.line,CC=(e,t)=>t.injector.id,wC=(e,t)=>t.node.injector.id,TC=(e,t)=>t.token;function EC(e,t){e&1&&(J(0,`div`,4)(1,`p`,5),Z(2,`No DI data found.`),Y(),J(3,`p`,6),Z(4,` No providers, injectables, or inject() calls found. Runtime tree requires Angular 17+ with the overlay connected. `),Y()())}function DC(e,t){if(e&1&&(J(0,`span`,14),Z(1),Y()),e&2){let e=X().$implicit;G(),$(`providedIn: `,e.providedIn)}}function OC(e,t){if(e&1&&Z(0),e&2){let e=X().$implicit;$(` · as `,e.source,` `)}}function kC(e,t){if(e&1&&(J(0,`div`,11)(1,`div`,12)(2,`span`,13),Z(3),Y(),K(4,DC,2,1,`span`,14),Y(),J(5,`div`,15),Z(6),K(7,OC,1,1),Y()()),e&2){let e=t.$implicit;G(3),Q(e.token),G(),q(e.providedIn?4:-1),G(2),Cg(` `,e.file,`:`,e.line,` `),G(),q(e.source!==`class`&&e.source!==`providers array`?7:-1)}}function AC(e,t){if(e&1&&(J(0,`div`,9)(1,`h3`),Z(2),Y(),J(3,`div`,10),hh(4,kC,8,5,`div`,11,SC),Y()()),e&2){let e=t.$implicit;G(2),Cg(``,e.label,` (`,e.items.length,`)`),G(2),_h(e.items)}}function jC(e,t){if(e&1&&(J(0,`p`,7),Z(1,`DI from source scan (static analysis):`),Y(),J(2,`div`,8),hh(3,AC,6,2,`div`,9,xC),Y()),e&2){let e=X();G(3),_h(e.groupedProviders())}}function MC(e,t){e&1&&Fh(0)}function NC(e,t){if(e&1&&(J(0,`span`,24),Z(1),Y()),e&2){let e=X().$implicit;G(),$(``,e.node.injector.providerCount,` providers`)}}function PC(e,t){if(e&1){let e=Lh();J(0,`div`,21),Hh(`click`,function(){let t=co(e).$implicit;return lo(X(4).select(t.node))}),J(1,`span`,22),Z(2),Y(),J(3,`span`,23),Z(4),Y(),K(5,NC,2,1,`span`,24),Y()}if(e&2){let e=t.$implicit,n=X(4);rg(`padding-left`,e.depth*24+12,`px`),ig(`selected`,n.selectedId()===e.node.injector.id),G(),rg(`background`,n.typeColor(e.node.injector.type)),G(),$(` `,e.node.injector.type,` `),G(2),Q(e.node.injector.name),G(),q(e.node.injector.providerCount>0?5:-1)}}function FC(e,t){if(e&1&&(J(0,`div`,19),hh(1,PC,6,9,`div`,20,wC),Y()),e&2){let e=X().$implicit,t=X(2);G(),_h(t.flattenTree(e))}}function IC(e,t){e&1&&(Zp(0,MC,1,0,`ng-container`,18)(1,FC,3,0),nh(2,1),rh()),e&2&&Rh(`ngTemplateOutlet`,void 0)}function LC(e,t){e&1&&(J(0,`p`,5),Z(1,`No providers configured on this injector.`),Y())}function RC(e,t){if(e&1&&(J(0,`tr`)(1,`td`,13),Z(2),Y(),J(3,`td`),Z(4),Y(),J(5,`td`),Z(6),Y()()),e&2){let e=t.$implicit;G(2),Q(e.token),G(2),Q(e.type),G(2),Q(e.isViewProvider?`Yes`:`—`)}}function zC(e,t){if(e&1&&(J(0,`table`,26)(1,`thead`)(2,`tr`)(3,`th`),Z(4,`Token`),Y(),J(5,`th`),Z(6,`Type`),Y(),J(7,`th`),Z(8,`View`),Y()()(),J(9,`tbody`),hh(10,RC,7,3,`tr`,null,TC),Y()()),e&2){let e=X(3);G(10),_h(e.selectedInjector().providers)}}function BC(e,t){if(e&1&&(J(0,`aside`,17)(1,`div`,25)(2,`span`,22),Z(3),Y(),J(4,`h3`),Z(5),Y()(),K(6,LC,2,0,`p`,5)(7,zC,12,0,`table`,26),Y()),e&2){let e=X(2);G(2),rg(`background`,e.typeColor(e.selectedInjector().injector.type)),G(),$(` `,e.selectedInjector().injector.type,` `),G(2),Q(e.selectedInjector().injector.name),G(),q(e.selectedInjector().providers.length===0?6:7)}}function VC(e,t){if(e&1&&(J(0,`div`,16),hh(1,IC,4,1,null,null,CC),Y(),K(3,BC,8,5,`aside`,17)),e&2){let e=X();G(),_h(e.filteredRoots()),G(2),q(e.selectedInjector()?3:-1)}}var HC={element:`#60a5fa`,environment:`#34d399`,null:`#71717a`},UC=class e{rpc=Ug(null);roots=H([]);sourceProviders=H([]);filter=H(``);hideEmpty=H(!1);selectedId=H(null);selectedInjector=Rg(()=>{let e=this.selectedId();return e?this.findNode(this.roots(),e):null});filteredRoots=Rg(()=>{let e=this.roots();this.hideEmpty()&&(e=this.filterEmpty(e));let t=this.filter().toLowerCase();return t&&(e=this.filterByQuery(e,t)),e});groupedProviders=Rg(()=>{let e=this.sourceProviders(),t=this.filter().toLowerCase(),n=t?e.filter(e=>e.token.toLowerCase().includes(t)||e.file.includes(t)):e,r=[{type:`root-provider`,label:`Root Providers (provide*)`,items:[]},{type:`injectable`,label:`Injectable Services`,items:[]},{type:`injection`,label:`inject() Calls`,items:[]},{type:`provider`,label:`Component Providers`,items:[]}];for(let e of n){let t=r.find(t=>t.type===e.type);t&&t.items.push(e)}return r.filter(e=>e.items.length>0)});constructor(){Bs(()=>{let e=this.rpc();e&&(this.loadInjectorTree(e),this.loadSourceProviders(e))})}async loadInjectorTree(e){let t=await e.scope(`ng-devtools`).rpc.sharedState(`injector-tree`),n=t.value();n?.roots?.length&&this.roots.set(n.roots),t.on(`updated`,e=>{e?.roots&&this.roots.set(e.roots)})}async loadSourceProviders(e){let t=e.scope(`ng-devtools`);try{let e=await t.rpc.call(`get-providers`);this.sourceProviders.set(e)}catch{}}select(e){this.selectedId.set(this.selectedId()===e.injector.id?null:e.injector.id)}typeColor(e){return HC[e]??HC.null}flattenTree(e){let t=[],n=(e,r)=>{t.push({node:e,depth:r});for(let t of e.children)n(t,r+1)};return n(e,0),t}findNode(e,t){for(let n of e){if(n.injector.id===t)return n;let e=this.findNode(n.children,t);if(e)return e}return null}filterEmpty(e){return e.map(e=>({...e,children:this.filterEmpty(e.children)})).filter(e=>e.injector.providerCount>0||e.children.length>0)}filterByQuery(e,t){return e.map(e=>({...e,children:this.filterByQuery(e.children,t)})).filter(e=>e.injector.name.toLowerCase().includes(t)||e.providers.some(e=>e.token.toLowerCase().includes(t))||e.children.length>0)}static ɵfac=function(t){return new(t||e)};static ɵcmp=Rp({type:e,selectors:[[`app-di-inspector`]],inputs:{rpc:[1,`rpc`]},decls:8,vars:5,consts:[[1,`toolbar`],[`type`,`text`,`placeholder`,`Filter by injector name or token…`,3,`input`,`value`],[1,`checkbox`],[`type`,`checkbox`,3,`change`,`checked`],[1,`empty`],[1,`muted`],[1,`hint`],[1,`source-label`],[1,`source-providers`],[1,`provider-group`],[1,`provider-list`],[1,`provider-card`],[1,`provider-header`],[1,`token`],[1,`provided-in`],[1,`provider-meta`],[1,`tree-container`],[1,`detail-panel`],[4,`ngTemplateOutlet`],[1,`injector-tree`],[1,`injector-row`,3,`selected`,`paddingLeft`],[1,`injector-row`,3,`click`],[1,`type-badge`],[1,`name`],[1,`provider-count`],[1,`detail-header`],[`role`,`table`]],template:function(e,t){e&1&&(J(0,`div`,0)(1,`input`,1),Hh(`input`,function(e){return t.filter.set(e.target.value)}),Y(),J(2,`label`,2)(3,`input`,3),Hh(`change`,function(){return t.hideEmpty.set(!t.hideEmpty())}),Y(),Z(4,` Hide empty injectors `),Y()(),K(5,EC,5,0,`div`,4),K(6,jC,5,0),K(7,VC,4,1)),e&2&&(G(),Rh(`value`,t.filter()),G(2),Rh(`checked`,t.hideEmpty()),G(2),q(t.roots().length===0&&t.sourceProviders().length===0?5:-1),G(),q(t.roots().length===0&&t.sourceProviders().length>0?6:-1),G(),q(t.roots().length>0?7:-1))},styles:[`.toolbar[_ngcontent-%COMP%] { - display: flex; - gap: 12px; - align-items: center; - margin-bottom: 16px; - } - input[type='text'][_ngcontent-%COMP%] { - flex: 1; - padding: 8px 12px; - background: #18181b; - border: 1px solid #27272a; - border-radius: 6px; - color: #e4e4e7; - font-size: 14px; - outline: none; - } - input[type='text'][_ngcontent-%COMP%]:focus { - border-color: var(--%NS%accent); - } - .checkbox[_ngcontent-%COMP%] { - display: flex; - align-items: center; - gap: 6px; - font-size: 13px; - color: #a1a1aa; - white-space: nowrap; - cursor: pointer; - } - .empty[_ngcontent-%COMP%] { - text-align: center; - padding: 48px 16px; - } - .muted[_ngcontent-%COMP%] { - color: #71717a; - font-size: 14px; - } - .hint[_ngcontent-%COMP%] { - color: #52525b; - font-size: 12px; - margin-top: 8px; - } - .tree-container[_ngcontent-%COMP%] { - display: flex; - flex-direction: column; - } - .injector-row[_ngcontent-%COMP%] { - display: flex; - align-items: center; - gap: 8px; - padding: 8px 12px; - cursor: pointer; - border-bottom: 1px solid #1e1e22; - transition: background 0.1s; - } - .injector-row[_ngcontent-%COMP%]:hover { - background: #18181b; - } - .injector-row.selected[_ngcontent-%COMP%] { - background: color-mix(in srgb, var(--%NS%accent) 22%, transparent); - border-color: var(--%NS%accent); - } - .type-badge[_ngcontent-%COMP%] { - font-size: 10px; - padding: 2px 6px; - border-radius: 4px; - color: #fff; - font-weight: 600; - text-transform: uppercase; - letter-spacing: 0.05em; - } - .name[_ngcontent-%COMP%] { - font-family: monospace; - font-size: 13px; - color: #e4e4e7; - } - .provider-count[_ngcontent-%COMP%] { - font-size: 11px; - color: #71717a; - margin-left: auto; - } - .detail-panel[_ngcontent-%COMP%] { - margin-top: 16px; - padding: 16px; - background: #18181b; - border: 1px solid #27272a; - border-radius: 8px; - } - .detail-header[_ngcontent-%COMP%] { - display: flex; - align-items: center; - gap: 8px; - margin-bottom: 12px; - } - .detail-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] { - font-family: monospace; - color: #e4e4e7; - margin: 0; - } - table[_ngcontent-%COMP%] { - width: 100%; - border-collapse: collapse; - font-size: 13px; - } - th[_ngcontent-%COMP%] { - text-align: left; - padding: 6px 10px; - background: #0f0f11; - color: #71717a; - font-size: 11px; - text-transform: uppercase; - letter-spacing: 0.05em; - border-bottom: 1px solid #27272a; - } - td[_ngcontent-%COMP%] { - padding: 8px 10px; - border-bottom: 1px solid #1e1e22; - } - .token[_ngcontent-%COMP%] { - font-family: monospace; - color: var(--%NS%accent); - } - .source-label[_ngcontent-%COMP%] { - font-size: 13px; - color: #71717a; - margin-bottom: 12px; - } - .source-providers[_ngcontent-%COMP%] { - display: flex; - flex-direction: column; - gap: 20px; - } - .provider-group[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] { - font-size: 13px; - color: #71717a; - text-transform: uppercase; - letter-spacing: 0.05em; - margin-bottom: 8px; - } - .provider-list[_ngcontent-%COMP%] { - display: flex; - flex-direction: column; - gap: 6px; - } - .provider-card[_ngcontent-%COMP%] { - background: #18181b; - border: 1px solid #27272a; - border-radius: 8px; - padding: 10px 14px; - } - .provider-header[_ngcontent-%COMP%] { - display: flex; - align-items: center; - gap: 8px; - } - .provider-header[_ngcontent-%COMP%] .token[_ngcontent-%COMP%] { - font-size: 14px; - font-weight: 500; - } - .provided-in[_ngcontent-%COMP%] { - font-size: 11px; - padding: 1px 6px; - border-radius: 4px; - background: #14532d; - color: #4ade80; - } - .provider-meta[_ngcontent-%COMP%] { - font-size: 11px; - color: #52525b; - margin-top: 4px; - }`]})},WC=(e,t)=>t.kind,GC=(e,t)=>t.name+t.file+t.line;function KC(e,t){e&1&&Ah(0,`span`,4)}function qC(e,t){e&1&&(J(0,`div`,5)(1,`p`,6),Z(2,`No NgRx store patterns found.`),Y(),J(3,`p`,7),Z(4,` No createAction, createReducer, createEffect, createSelector, or createFeature calls found in source. Make sure your app uses @ngrx/store. `),Y()())}function JC(e,t){if(e&1&&(J(0,`span`,9),Ah(1,`span`,14),Z(2),Y()),e&2){let e=t.$implicit;G(),rg(`background`,e.color),G(),$(` `,e.kind,` `)}}function YC(e,t){if(e&1&&(J(0,`span`,15),Z(1),Y()),e&2){let e=t.$implicit;rg(`border-color`,X(3).kindColor(e.kind)),G(),wg(` `,e.count,` `,e.kind,``,e.count===1?``:`s`,` `)}}function XC(e,t){if(e&1&&Z(0),e&2){let e=X().$implicit;$(` · `,e.detail,` `)}}function ZC(e,t){if(e&1&&(J(0,`div`,13)(1,`div`,16)(2,`span`,17),Z(3),Y(),J(4,`span`,18),Z(5),Y()(),J(6,`div`,19),Z(7),K(8,XC,1,1),Y()()),e&2){let e=t.$implicit,n=X(3);G(2),rg(`background`,n.kindColor(e.kind)),G(),$(` `,e.kind,` `),G(2),Q(e.name),G(2),Cg(` `,e.file,`:`,e.line,` `),G(),q(e.detail?8:-1)}}function QC(e,t){if(e&1&&(J(0,`div`,8),hh(1,JC,3,3,`span`,9,WC),Y(),J(3,`div`,10),hh(4,YC,2,5,`span`,11,WC),Y(),J(6,`div`,12),hh(7,ZC,9,7,`div`,13,GC),Y()),e&2){let e=X(2);G(),_h(e.kindLegend),G(3),_h(e.groupedEntries()),G(3),_h(e.filteredEntries())}}function $C(e,t){e&1&&K(0,qC,5,0,`div`,5)(1,QC,9,0),e&2&&q(X().sourceEntries().length===0?0:1)}function ew(e,t){e&1&&(J(0,`div`,5)(1,`p`,6),Z(2,`No NgRx store connection detected.`),Y(),J(3,`p`,7),Z(4,` Runtime inspection requires @ngrx/store-devtools to be configured in your app. The store devtools use the Redux DevTools protocol to expose state. `),Y()())}function tw(e,t){if(e&1){let e=Lh();J(0,`div`,28),Hh(`click`,function(){let t=co(e).$implicit;return lo(X(3).selectedAction.set(t))}),J(1,`div`,29),Z(2),Y(),J(3,`div`,30),Z(4),Y()()}if(e&2){let e=t.$implicit,n=X(3);ig(`selected`,n.selectedAction()===e),G(2),Q(e.type),G(2),Q(n.formatTime(e.timestamp))}}function nw(e,t){e&1&&(J(0,`p`,6),Z(1,`No actions dispatched yet.`),Y())}function rw(e,t){if(e&1&&(J(0,`dt`),Z(1,`Payload`),Y(),J(2,`dd`)(3,`pre`),Z(4),Og(5,`json`),Y()()),e&2){let e=X(4);G(4),Q(Ag(5,1,e.selectedAction().payload))}}function iw(e,t){if(e&1&&(J(0,`aside`,27)(1,`h3`),Z(2),Y(),J(3,`dl`)(4,`dt`),Z(5,`Type`),Y(),J(6,`dd`),Z(7),Y(),J(8,`dt`),Z(9,`Time`),Y(),J(10,`dd`),Z(11),Y(),K(12,rw,6,3),Y()()),e&2){let e=X(3);G(2),Q(e.selectedAction().type),G(5),Q(e.selectedAction().type),G(4),Q(e.formatTime(e.selectedAction().timestamp)),G(),q(e.selectedAction().payload===void 0?-1:12)}}function aw(e,t){if(e&1&&(J(0,`div`,20)(1,`section`,21)(2,`h3`),Z(3,`Current State`),Y(),J(4,`pre`,22),Z(5),Og(6,`json`),Y()(),J(7,`section`,23)(8,`h3`),Z(9,` Recent Actions `),J(10,`span`,24),Z(11),Y()(),J(12,`div`,25),hh(13,tw,5,4,`div`,26,ph,!1,nw,2,0,`p`,6),Y()()(),K(16,iw,13,4,`aside`,27)),e&2){let e=X(2);G(5),Q(Ag(6,4,e.runtimeState()?.state)),G(6),Q(e.filteredActions().length),G(2),_h(e.filteredActions()),G(3),q(e.selectedAction()?16:-1)}}function ow(e,t){e&1&&K(0,ew,5,0,`div`,5)(1,aw,17,6),e&2&&q(+!!X().runtimeState()?.connected)}var sw={action:`#f59e0b`,reducer:`#a78bfa`,effect:`#fb923c`,selector:`#60a5fa`,feature:`#34d399`,"store-setup":`#94a3b8`,"signal-store":`#e879f9`,"signal-state":`#22d3ee`,"signal-method":`#fb7185`},cw=class e{rpc=Ug(null);filter=H(``);mode=H(`source`);sourceEntries=H([]);runtimeState=H(null);selectedAction=H(null);kindLegend=Object.entries(sw).map(([e,t])=>({kind:e,color:t}));filteredEntries=Rg(()=>{let e=this.filter().toLowerCase();return this.sourceEntries().filter(t=>t.name.toLowerCase().includes(e)||t.kind.toLowerCase().includes(e))});groupedEntries=Rg(()=>{let e=this.sourceEntries(),t=new Map;for(let n of e)t.set(n.kind,(t.get(n.kind)??0)+1);return[...t.entries()].map(([e,t])=>({kind:e,count:t}))});filteredActions=Rg(()=>{let e=this.filter().toLowerCase(),t=[...this.runtimeState()?.actions??[]].reverse();return e?t.filter(t=>t.type.toLowerCase().includes(e)):t});constructor(){Bs(()=>{let e=this.rpc();if(!e)return;let t=e.scope(`ng-devtools`);t.rpc.call(`get-ngrx-store`).then(e=>{this.sourceEntries.set(e),e.length===0&&this.mode.set(`runtime`)}).catch(()=>this.sourceEntries.set([])),t.rpc.sharedState(`ngrx-store`).then(e=>{e?.subscribe&&e.subscribe(e=>this.runtimeState.set(e))})})}kindColor(e){return sw[e]??`#71717a`}formatTime(e){return new Date(e).toLocaleTimeString()}static ɵfac=function(t){return new(t||e)};static ɵcmp=Rp({type:e,selectors:[[`app-store-inspector`]],inputs:{rpc:[1,`rpc`]},decls:10,vars:8,consts:[[1,`toolbar`],[`type`,`text`,`placeholder`,`Filter by name or kind…`,3,`input`,`value`],[1,`toggle-group`],[3,`click`],[1,`live-dot`],[1,`empty`],[1,`muted`],[1,`hint`],[1,`legend`],[1,`legend-item`],[1,`summary`],[1,`summary-badge`,3,`border-color`],[1,`nodes`],[1,`node-card`],[1,`dot`],[1,`summary-badge`],[1,`node-header`],[1,`kind-badge`],[1,`node-label`],[1,`node-meta`],[1,`runtime-layout`],[1,`state-panel`],[1,`state-tree`],[1,`actions-panel`],[1,`action-count`],[1,`action-list`],[1,`action-card`,3,`selected`],[1,`detail-panel`],[1,`action-card`,3,`click`],[1,`action-type`],[1,`action-time`]],template:function(e,t){e&1&&(J(0,`div`,0)(1,`input`,1),Hh(`input`,function(e){return t.filter.set(e.target.value)}),Y(),J(2,`div`,2)(3,`button`,3),Hh(`click`,function(){return t.mode.set(`source`)}),Z(4,`Source`),Y(),J(5,`button`,3),Hh(`click`,function(){return t.mode.set(`runtime`)}),Z(6,` Runtime `),K(7,KC,1,0,`span`,4),Y()()(),K(8,$C,2,1),K(9,ow,2,1)),e&2&&(G(),Rh(`value`,t.filter()),G(2),ig(`active`,t.mode()===`source`),G(2),ig(`active`,t.mode()===`runtime`),G(2),q(t.runtimeState()?.connected?7:-1),G(),q(t.mode()===`source`?8:-1),G(),q(t.mode()===`runtime`?9:-1))},dependencies:[a_],styles:[`.toolbar[_ngcontent-%COMP%] { - display: flex; - gap: 12px; - align-items: center; - margin-bottom: 16px; - } - input[_ngcontent-%COMP%] { - flex: 1; - padding: 8px 12px; - background: #18181b; - border: 1px solid #27272a; - border-radius: 6px; - color: #e4e4e7; - font-size: 14px; - outline: none; - } - input[_ngcontent-%COMP%]:focus { - border-color: var(--%NS%accent); - } - .toggle-group[_ngcontent-%COMP%] { - display: flex; - border: 1px solid #27272a; - border-radius: 6px; - overflow: hidden; - } - .toggle-group[_ngcontent-%COMP%] button[_ngcontent-%COMP%] { - padding: 6px 14px; - border: none; - background: transparent; - color: #a1a1aa; - cursor: pointer; - font-size: 13px; - display: flex; - align-items: center; - gap: 6px; - } - .toggle-group[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%] { - background: #3f3f46; - color: #fff; - } - .live-dot[_ngcontent-%COMP%] { - width: 6px; - height: 6px; - border-radius: 50%; - background: #4ade80; - animation: _ngcontent-%COMP%_pulse 2s infinite; - } - @keyframes _ngcontent-%COMP%_pulse { - 0%, - 100% { - opacity: 1; - } - 50% { - opacity: 0.4; - } - } - .empty[_ngcontent-%COMP%] { - text-align: center; - padding: 48px 16px; - } - .muted[_ngcontent-%COMP%] { - color: #71717a; - font-size: 14px; - } - .hint[_ngcontent-%COMP%] { - color: #52525b; - font-size: 12px; - margin-top: 8px; - } - .legend[_ngcontent-%COMP%] { - display: flex; - gap: 12px; - flex-wrap: wrap; - margin-bottom: 12px; - } - .legend-item[_ngcontent-%COMP%] { - display: flex; - align-items: center; - gap: 4px; - font-size: 12px; - color: #a1a1aa; - } - .dot[_ngcontent-%COMP%] { - width: 8px; - height: 8px; - border-radius: 50%; - } - .summary[_ngcontent-%COMP%] { - display: flex; - gap: 8px; - flex-wrap: wrap; - margin-bottom: 16px; - } - .summary-badge[_ngcontent-%COMP%] { - font-size: 12px; - padding: 3px 10px; - border-radius: 99px; - border: 1px solid; - color: #e4e4e7; - } - .nodes[_ngcontent-%COMP%] { - display: flex; - flex-direction: column; - gap: 8px; - } - .node-card[_ngcontent-%COMP%] { - background: #18181b; - border: 1px solid #27272a; - border-radius: 8px; - padding: 12px 16px; - transition: border-color 0.15s; - } - .node-card[_ngcontent-%COMP%]:hover { - border-color: #3f3f46; - } - .node-header[_ngcontent-%COMP%] { - display: flex; - align-items: center; - gap: 8px; - } - .kind-badge[_ngcontent-%COMP%] { - font-size: 11px; - padding: 2px 8px; - border-radius: 4px; - color: #fff; - font-weight: 600; - text-transform: uppercase; - letter-spacing: 0.05em; - } - .node-label[_ngcontent-%COMP%] { - font-family: monospace; - font-size: 14px; - color: #e4e4e7; - } - .node-meta[_ngcontent-%COMP%] { - font-size: 12px; - color: #71717a; - margin-top: 4px; - } - .runtime-layout[_ngcontent-%COMP%] { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 16px; - } - .state-panel[_ngcontent-%COMP%], - .actions-panel[_ngcontent-%COMP%] { - background: #18181b; - border: 1px solid #27272a; - border-radius: 10px; - padding: 16px; - } - h3[_ngcontent-%COMP%] { - font-size: 13px; - text-transform: uppercase; - color: #71717a; - margin-bottom: 12px; - letter-spacing: 0.05em; - display: flex; - align-items: center; - gap: 8px; - } - .action-count[_ngcontent-%COMP%] { - font-size: 11px; - padding: 1px 6px; - border-radius: 99px; - background: #3f3f46; - color: #a1a1aa; - } - .state-tree[_ngcontent-%COMP%] { - font-family: monospace; - font-size: 12px; - color: #a1a1aa; - white-space: pre-wrap; - word-break: break-all; - max-height: 500px; - overflow: auto; - } - .action-list[_ngcontent-%COMP%] { - display: flex; - flex-direction: column; - gap: 6px; - max-height: 500px; - overflow: auto; - } - .action-card[_ngcontent-%COMP%] { - display: flex; - justify-content: space-between; - align-items: center; - padding: 8px 12px; - background: #09090b; - border: 1px solid #27272a; - border-radius: 6px; - cursor: pointer; - transition: border-color 0.15s; - } - .action-card[_ngcontent-%COMP%]:hover { - border-color: #3f3f46; - } - .action-card.selected[_ngcontent-%COMP%] { - border-color: var(--%NS%accent); - } - .action-type[_ngcontent-%COMP%] { - font-family: monospace; - font-size: 13px; - color: #e4e4e7; - } - .action-time[_ngcontent-%COMP%] { - font-size: 11px; - color: #71717a; - } - .detail-panel[_ngcontent-%COMP%] { - margin-top: 16px; - background: #18181b; - border: 1px solid var(--%NS%accent); - border-radius: 10px; - padding: 16px; - } - dl[_ngcontent-%COMP%] { - display: grid; - grid-template-columns: auto 1fr; - gap: 6px 12px; - font-size: 14px; - } - dt[_ngcontent-%COMP%] { - color: #a1a1aa; - } - dd[_ngcontent-%COMP%] { - color: #e4e4e7; - } - pre[_ngcontent-%COMP%] { - font-family: monospace; - font-size: 12px; - white-space: pre-wrap; - word-break: break-all; - }`]})},lw=(e,t)=>t.id;function uw(e,t){if(e&1){let e=Lh();Eh(0,`button`,13),Vh(`click`,function(){let t=co(e).$implicit;return lo(X().switchTab(t.id))}),Z(1),Oh()}if(e&2){let e=t.$implicit;ig(`active`,X().tab()===e.id),G(),Q(e.label)}}function dw(e,t){if(e&1){let e=Lh();Eh(0,`app-dashboard`,14),Vh(`navigate`,function(t){return co(e),lo(X().switchTab(t))}),Oh()}e&2&&wh(`rpc`,X().rpc())}function fw(e,t){e&1&&kh(0,`app-component-tree`,12),e&2&&wh(`rpc`,X().rpc())}function pw(e,t){e&1&&kh(0,`app-route-inspector`,12),e&2&&wh(`rpc`,X().rpc())}function mw(e,t){e&1&&kh(0,`app-signal-inspector`,12),e&2&&wh(`rpc`,X().rpc())}function hw(e,t){e&1&&kh(0,`app-di-inspector`,12),e&2&&wh(`rpc`,X().rpc())}function gw(e,t){e&1&&kh(0,`app-store-inspector`,12),e&2&&wh(`rpc`,X().rpc())}var _w=class e{tabs=[{id:`dashboard`,label:`Dashboard`},{id:`components`,label:`Components`},{id:`routes`,label:`Routes`},{id:`signals`,label:`Signals`},{id:`injectors`,label:`Injectors`},{id:`store`,label:`Store`}];tab=H(`dashboard`);rpc=H(null);connected=H(!1);ngOnInit(){let e=new URLSearchParams(location.hash.replace(/^#/,``)).get(`tab`);e&&this.tabs.some(t=>t.id===e)&&this.tab.set(e);let t=yw();kS(t?{baseURL:t}:{}).then(e=>{this.rpc.set(e),this.connected.set(!0),e.events.on(`connection:status`,e=>{this.connected.set(e===`connected`)})})}ngOnDestroy(){}switchTab(e){this.tab.set(e),history.replaceState(history.state,``,`#tab=${e}`)}static ɵfac=function(t){return new(t||e)};static ɵcmp=Rp({type:e,selectors:[[`app-root`]],decls:26,vars:4,consts:[[1,`brand`],[`width`,`20`,`height`,`22`,`viewBox`,`0 0 223 236`,`fill`,`url(#ng-logo)`,`aria-hidden`,`true`],[`id`,`ng-logo`,`x1`,`49`,`x2`,`226`,`y1`,`214`,`y2`,`130`,`gradientUnits`,`userSpaceOnUse`],[`stop-color`,`#E40035`],[`offset`,`.24`,`stop-color`,`#F60A48`],[`offset`,`.352`,`stop-color`,`#F20755`],[`offset`,`.494`,`stop-color`,`#DC087D`],[`offset`,`.745`,`stop-color`,`#9717E7`],[`offset`,`1`,`stop-color`,`#6C00F5`],[`d`,`m222.077 39.192-8.019 125.923L137.387 0l84.69 39.192Zm-53.105 162.825-57.933 33.056-57.934-33.056 11.783-28.556h92.301l11.783 28.556ZM111.039 62.675l30.357 73.803H80.681l30.358-73.803ZM7.937 165.115 0 39.192 84.69 0 7.937 165.115Z`],[3,`active`],[1,`status`],[3,`rpc`],[3,`click`],[3,`navigate`,`rpc`]],template:function(e,t){if(e&1&&(Eh(0,`header`)(1,`div`,0),Ho(),Eh(2,`svg`,1)(3,`defs`)(4,`linearGradient`,2),kh(5,`stop`,3)(6,`stop`,4)(7,`stop`,5)(8,`stop`,6)(9,`stop`,7)(10,`stop`,8),Oh()(),kh(11,`path`,9),Oh(),Uo(),Eh(12,`span`),Z(13,`Angular DevTools`),Oh()(),Eh(14,`nav`),hh(15,uw,2,3,`button`,10,lw),Oh(),Eh(17,`span`,11),Z(18),Oh()(),Eh(19,`main`),K(20,dw,1,1,`app-dashboard`,12)(21,fw,1,1,`app-component-tree`,12)(22,pw,1,1,`app-route-inspector`,12)(23,mw,1,1,`app-signal-inspector`,12)(24,hw,1,1,`app-di-inspector`,12)(25,gw,1,1,`app-store-inspector`,12),Oh()),e&2){let e;G(15),_h(t.tabs),G(2),ig(`connected`,t.connected()),G(),$(` `,t.connected()?`Connected`:`Connecting…`,` `),G(2),q((e=t.tab())===`dashboard`?20:e===`components`?21:e===`routes`?22:e===`signals`?23:e===`injectors`?24:e===`store`?25:-1)}},dependencies:[AS,KS,QS,bC,UC,cw],styles:[`[_nghost-%COMP%] { - display: flex; - flex-direction: column; - height: 100vh; - } - header[_ngcontent-%COMP%] { - display: flex; - align-items: center; - gap: 16px; - padding: 8px 16px; - background: #18181b; - border-bottom: 1px solid #27272a; - } - .brand[_ngcontent-%COMP%] { - display: flex; - align-items: center; - gap: 8px; - font-weight: 600; - color: var(--%NS%accent); - } - .brand[_ngcontent-%COMP%] span[_ngcontent-%COMP%] { - color: var(--%NS%accent); - white-space: nowrap; - } - nav[_ngcontent-%COMP%] { - display: flex; - gap: 4px; - flex: 1; - } - nav[_ngcontent-%COMP%] button[_ngcontent-%COMP%] { - padding: 6px 14px; - border: none; - border-radius: 6px; - background: transparent; - color: #a1a1aa; - cursor: pointer; - font-size: 13px; - transition: all 0.15s; - } - nav[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover { - background: #27272a; - color: #e4e4e7; - } - nav[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%] { - background: #3f3f46; - color: #fff; - } - .status[_ngcontent-%COMP%] { - font-size: 12px; - padding: 3px 10px; - border-radius: 99px; - background: #44403c; - color: #a8a29e; - } - .status.connected[_ngcontent-%COMP%] { - background: #14532d; - color: #4ade80; - } - main[_ngcontent-%COMP%] { - flex: 1; - overflow: auto; - padding: 16px; - }`]})};function vw(e){try{return new URL(e,location.href).origin===location.origin}catch{return!1}}function yw(){let e=new URLSearchParams(location.search).get(`baseURL`);if(e&&vw(e))return e;if(!location.pathname.includes(`__ng-devtools`))return`/__ng-devtools/`}U_(_w).catch(console.error);export{Kv as t}; \ No newline at end of file diff --git a/packages/ng-devtools-assets/dist/assets/index-Bgeq_xlB.js b/extension/ui/assets/index-Bgeq_xlB.js similarity index 100% rename from packages/ng-devtools-assets/dist/assets/index-Bgeq_xlB.js rename to extension/ui/assets/index-Bgeq_xlB.js diff --git a/extension/ui/index.html b/extension/ui/index.html index b81f0b6..4266fdd 100644 --- a/extension/ui/index.html +++ b/extension/ui/index.html @@ -5,7 +5,7 @@ Angular DevTools - + diff --git a/package.json b/package.json index 05dbc86..20d38cf 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ }, "scripts": { "ng": "ng", - "start": "ng serve", + "start": "pnpm devtools:build-pkg && ng serve", "build": "ng build", "watch": "ng build --watch --configuration development", "test": "ng test", @@ -21,8 +21,8 @@ "devtools:standalone": "node bin.mjs dev", "devtools:mcp": "node bin.mjs mcp", "devtools:report": "node bin.mjs build --outDir dist-report", - "devtools:build-pkg": "npx vite build --config app/vite.config.ts --outDir $PWD/packages/ng-devtools-assets/dist --emptyOutDir", - "devtools:publish": "pnpm devtools:build-pkg && cd packages/ng-devtools-assets && npm publish --access public && cd ../ng-devtools && npm publish --access public", + "devtools:build-pkg": "pnpm --filter @santoshyadavdev/ng-devtools build", + "devtools:publish": "pnpm --filter @santoshyadavdev/ng-devtools publish --access public", "extension:build": "pnpm devtools:build && rm -rf extension/ui && cp -r dist/devtools-ui extension/ui", "extension:zip": "pnpm extension:build && cd extension && zip -r ../dist/ng-devtools-extension.zip . -x '*.DS_Store'" }, diff --git a/packages/ng-devtools-assets/dist/index.html b/packages/ng-devtools-assets/dist/index.html deleted file mode 100644 index 4266fdd..0000000 --- a/packages/ng-devtools-assets/dist/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - Angular DevTools - - - - - - - diff --git a/packages/ng-devtools-assets/package.json b/packages/ng-devtools-assets/package.json deleted file mode 100644 index 71315b8..0000000 --- a/packages/ng-devtools-assets/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "@santoshyadavdev/ng-devtools-assets", - "version": "0.0.2", - "description": "Built UI assets for Angular DevTools (devframe)", - "license": "MIT", - "type": "module", - "exports": { - "./package.json": "./package.json" - }, - "files": [ - "dist" - ] -} diff --git a/packages/ng-devtools/bin.mjs b/packages/ng-devtools/bin.mjs index 25b8b3a..3f41810 100755 --- a/packages/ng-devtools/bin.mjs +++ b/packages/ng-devtools/bin.mjs @@ -1,5 +1,5 @@ #!/usr/bin/env node import { createCac } from 'devframe/adapters/cac'; -import ngDevtools from './src/devframe.ts'; +import ngDevtools from '@santoshyadavdev/ng-devtools/devframe'; createCac(ngDevtools, { mcp: true }).parse(); diff --git a/packages/ng-devtools/package.json b/packages/ng-devtools/package.json index b53163e..28c0236 100644 --- a/packages/ng-devtools/package.json +++ b/packages/ng-devtools/package.json @@ -3,6 +3,12 @@ "version": "0.0.2", "description": "Angular DevTools — inspect components, signals, DI, and routes. Runs standalone, embedded, or over MCP.", "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/santoshyadavdev/angular-devtools.git", + "directory": "packages/ng-devtools" + }, + "homepage": "https://github.com/santoshyadavdev/angular-devtools#readme", "type": "module", "bin": { "ng-devtools": "./bin.mjs" @@ -11,12 +17,25 @@ ".": "./src/devframe.ts", "./devframe": "./src/devframe.ts", "./overlay": "./src/overlay.ts", - "./popup": "./src/popup.ts" + "./popup": "./src/popup.ts", + "./package.json": "./package.json" + }, + "publishConfig": { + "exports": { + ".": "./dist/devframe.mjs", + "./devframe": "./dist/devframe.mjs", + "./overlay": "./dist/overlay.mjs", + "./popup": "./dist/popup.mjs", + "./package.json": "./package.json" + } + }, + "scripts": { + "build": "tsdown && vite build --config ../../app/vite.config.ts --outDir ../packages/ng-devtools/dist/public --emptyOutDir", + "prepack": "pnpm build" }, "files": [ - "src", - "bin.mjs", - "!src/**/__tests__" + "dist", + "bin.mjs" ], "keywords": [ "angular", @@ -27,17 +46,16 @@ "mcp" ], "dependencies": { + "@devframes/agentic": "^1.0.0", "@valibot/to-json-schema": "^1.8.0", "cac": "^7.0.0", "devframe": "^1.0.0", "valibot": "^1.5.0" }, - "peerDependencies": { - "@devframes/agentic": "^1.0.0" + "devDependencies": { + "tsdown": "^0.23.0" }, - "peerDependenciesMeta": { - "@devframes/agentic": { - "optional": true - } + "engines": { + "node": ">=22" } } diff --git a/packages/ng-devtools/src/devframe.ts b/packages/ng-devtools/src/devframe.ts index a7dce9b..3acb750 100644 --- a/packages/ng-devtools/src/devframe.ts +++ b/packages/ng-devtools/src/devframe.ts @@ -11,8 +11,9 @@ import type { NgrxRuntimeAction } from './types.ts'; import pkg from '../package.json' with { type: 'json' }; const clientAssets: RemoteAssets = { - package: '@santoshyadavdev/ng-devtools-assets', + package: pkg.name, version: pkg.version, + path: 'dist/public', }; const ngDevtools = defineDevframe({ diff --git a/packages/ng-devtools/tsdown.config.ts b/packages/ng-devtools/tsdown.config.ts new file mode 100644 index 0000000..2205823 --- /dev/null +++ b/packages/ng-devtools/tsdown.config.ts @@ -0,0 +1,8 @@ +import { defineConfig } from 'tsdown'; + +export default defineConfig({ + entry: ['src/devframe.ts', 'src/popup.ts', 'src/overlay.ts'], + format: 'esm', + platform: 'node', + dts: true, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a123e50..6a71ab2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -114,8 +114,10 @@ importers: valibot: specifier: ^1.5.0 version: 1.5.0(typescript@6.0.3) - - packages/ng-devtools-assets: {} + devDependencies: + tsdown: + specifier: ^0.23.0 + version: 0.23.0(typescript@6.0.3) packages: @@ -1382,6 +1384,9 @@ packages: resolution: {integrity: sha512-7FNeNl8NCE7aINx7WXiKQrPYZWC/hvrTsmk6zmxbI7LTXE7hVek/n8AfVgpe2y82zl3w0HvCHN0bVKMBoJcC0w==} engines: {node: '>= 10.0.0'} + '@quansync/fs@1.1.0': + resolution: {integrity: sha512-qAPG/t3HqML1TlN7sY/pTbEjzFVAKsMjNNMGheyDosro+kT4iw2KCUoHcVdmliwWjorm4elZbgNQyU2eD97eDg==} + '@rolldown/binding-android-arm-eabi@1.2.9': resolution: {integrity: sha512-tNISae1QEf/vkb3xkRcjV5SEdzPE97We5IVaa2Z8jSszQPZ8U60B/YCYpw4QI7VidYsBtKavczXf+DyDs9WGxw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1766,6 +1771,141 @@ packages: '@vitest/utils@4.1.11': resolution: {integrity: sha512-zTCVGpyFsGWBhllOyKlTw/vnr6D9qxsfSDyfbyZmTyjHw5N/VuvzHpHoQjm2ZJzn4RJgx5w4r7V0er69CmLgPQ==} + '@yuku-codegen/binding-android-arm64@0.10.2': + resolution: {integrity: sha512-Oc2KInVkPfUjEB4PeV6X0NvIoyYTzDe/WmqFrTwBqKs6YKnz4A7XwWQvJTb7M0rLz9a6WgpUUiiS5QKaCi4O/g==} + cpu: [arm64] + os: [android] + + '@yuku-codegen/binding-darwin-arm64@0.10.2': + resolution: {integrity: sha512-3H7eNPIHJndUJXZ4QUGBPq1zC6RGcUZfm7bymJes+/N7wTVWUn1bxZ9JcozYHpkWQNm9f23G8YWbaHD9aYH72A==} + cpu: [arm64] + os: [darwin] + + '@yuku-codegen/binding-darwin-x64@0.10.2': + resolution: {integrity: sha512-AJOUpR2s3LF9AWiiub/Uyc/UoXNTWcq8hK3cVI6fUSXtwh34dG21J6hRuNlO6JVJFTo4o3ScVvZOrh/YFfUEAA==} + cpu: [x64] + os: [darwin] + + '@yuku-codegen/binding-freebsd-x64@0.10.2': + resolution: {integrity: sha512-ms7DcZu87u5CiK/wMwvpKAvAmtaqKjCQIXNweMLypG6qbuiaOMQf1jpbB5+j46xBcgCovo8TQMcv0bCQLKIL9w==} + cpu: [x64] + os: [freebsd] + + '@yuku-codegen/binding-linux-arm-gnu@0.10.2': + resolution: {integrity: sha512-xJDpYAsKV5+eaiBhTYl05fvT6sst4PsCeuIFMRu9b0/WCSrNQPfCDtAQ5/MS6xNpsdujdZEPR+gmfWk3ZG5i3A==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@yuku-codegen/binding-linux-arm-musl@0.10.2': + resolution: {integrity: sha512-qfTkgd7AEx61l4K9VtXWCGTxc/fmXJ4ZheDz3i+/AAJUtg4sa0bPrc0VBxPggB/rayR8Z3+JfrBItuyanBJJ9Q==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@yuku-codegen/binding-linux-arm64-gnu@0.10.2': + resolution: {integrity: sha512-4e6Mifm/4UdjtU3D8mATIrvgP+xEiH8xtQOjd0zpd72XKWT7ug3sdyhq2utkkZFP6BvYp7SgZrI+aR4VeIOHdw==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@yuku-codegen/binding-linux-arm64-musl@0.10.2': + resolution: {integrity: sha512-RdsJrUfDYFVV3JOmWFUWwSu31fa1APn12xDeIKxgl/YWxrabwtxsDBNjF2561c7tmcbiewdCUvngqRs8AyGVLA==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@yuku-codegen/binding-linux-x64-gnu@0.10.2': + resolution: {integrity: sha512-mVzWimEPPreaPyXIUvxsHoJzvO7ckZ5j0LgQFHz04zQIRwt9A9T2hA7K5/jYjJKkMxWG/U2VjhGNwVhtyU+uqg==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@yuku-codegen/binding-linux-x64-musl@0.10.2': + resolution: {integrity: sha512-Y77fyISurmr2mvO1yeq3u+x/WJbACgPR4w+lzEVx30ViCxZzIGrZPRN1yEdZ9xUNPNsIO5thBHIdRNG+UGUG+Q==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@yuku-codegen/binding-win32-arm64@0.10.2': + resolution: {integrity: sha512-1+tGLyG0u5YYy0lev4ck7/0sd8xJ9SZde0dLut7qLDPZV5WVTV8x6OxNXUne/PGuHZyO1vK+txPQzzHOyXHGSw==} + cpu: [arm64] + os: [win32] + + '@yuku-codegen/binding-win32-x64@0.10.2': + resolution: {integrity: sha512-8a2SExRohRbwC0MY4VpOF0/RSckrJ2ASZqAor5/RYSJJaeadR93n10gZzcKT6pY9ukiSOIZCRKVRD2tH73T0qA==} + cpu: [x64] + os: [win32] + + '@yuku-parser/binding-android-arm64@0.10.2': + resolution: {integrity: sha512-2VPBU9fRGRAQ2xPAvghnec3oou5Nrxm2Bezhf+13UMspAxQSkF/32r+ySKXSwIPA5/RivumDJDxAxc301Sgicw==} + cpu: [arm64] + os: [android] + + '@yuku-parser/binding-darwin-arm64@0.10.2': + resolution: {integrity: sha512-LD+PMZE51tCYTOss5HBkm3/AE39MvcMDBfWJx7A4yDcjfNbAQDnHZKtzSOuqrswx+TQHY0ws5xn6+fWOwtmfBA==} + cpu: [arm64] + os: [darwin] + + '@yuku-parser/binding-darwin-x64@0.10.2': + resolution: {integrity: sha512-mmZ8cND+AoIIMRERyMinlg5ApHxP23B9jH2B5wT7T+dliPa9rubLxneB/SUjFwyUjGaFnB5G7t4YvpfbO5zbkQ==} + cpu: [x64] + os: [darwin] + + '@yuku-parser/binding-freebsd-x64@0.10.2': + resolution: {integrity: sha512-gVIjaaIddbRfAhHlC8N809wQWml7mxfSVnzaLtzGXObTeFTPAg/YVnQXt1UOhPM1ah5eG/8Y0RUlNpB4GVe7eQ==} + cpu: [x64] + os: [freebsd] + + '@yuku-parser/binding-linux-arm-gnu@0.10.2': + resolution: {integrity: sha512-q/XPPQQAPdlw05aPj30ygBhekmQryGOwxVraBgApjKK8yY1kNQgqq6XCYLF1WHSee+lhxclrTO7W0/bt7dR1GA==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@yuku-parser/binding-linux-arm-musl@0.10.2': + resolution: {integrity: sha512-A+Cb0I1hFF4wilTQpWs79k1aNnj4B2tkrHx3zsuUNF9BtVY2zPZ4yeQEM/zjXrS/qJlNMZVK9NrWJjwdpnTrfg==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@yuku-parser/binding-linux-arm64-gnu@0.10.2': + resolution: {integrity: sha512-aGNSzqIqqphFwAdIFwVvKIyXD1Iy3CxrEJVIZAT87Ecyi4vCmmDD2v2l9h+Gd3/wSy3JZlOI792LJbKAjyy9rQ==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@yuku-parser/binding-linux-arm64-musl@0.10.2': + resolution: {integrity: sha512-Ddl1sF0rtuCXyHGSOV6dcmdx+ETv1iD+IVFqQuOjzkJZWclxJxdBWX6ZJMRtTiGqGUTbqLEKiTXxpR/Bvqk+2A==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@yuku-parser/binding-linux-x64-gnu@0.10.2': + resolution: {integrity: sha512-/nlcpR6IF5U+0m5L9wvAIXeQa2DT+BXuvqKDsTcOTlcc0B4dHNyqE5hTXsS4hAyimpy2ZK8A1zMNF5hTrjg2cg==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@yuku-parser/binding-linux-x64-musl@0.10.2': + resolution: {integrity: sha512-GX80dxTQD/M/OryyuxJcFzFENzry3cDFPvCFTyWogNWQH3fSHfMrNfpwpl1YzMos1eV9NygK5GSDG7VArQlb4w==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@yuku-parser/binding-win32-arm64@0.10.2': + resolution: {integrity: sha512-agePQBV4VHewiGU0ACSjscZ/hJd283f9JfAF19Gf1rI5+wy5tTgx4GS36i0b3xim15AQ4RCpDRosEvhLZ4zAOw==} + cpu: [arm64] + os: [win32] + + '@yuku-parser/binding-win32-x64@0.10.2': + resolution: {integrity: sha512-s8//CMpgL5+y1lvDCdyh1rwGI5+ytDJywFJRe1vnhI7n0j+caxshNucurikYLLVeQ2SYFex6aPrzgQxkabBQRA==} + cpu: [x64] + os: [win32] + + '@yuku-toolchain/types@0.10.2': + resolution: {integrity: sha512-sSeo4SSSToiS+sSD+bwn/s94EEcaLJ7tG5LCp8gFYC1G5VzxzX7fqB6m9RU1yMD8KTpu6zdU/I1NlQf8hVBJ9Q==} + accepts@2.0.0: resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} engines: {node: '>= 0.6'} @@ -1959,6 +2099,9 @@ packages: decimal.js@10.6.0: resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} + defu@6.1.7: + resolution: {integrity: sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==} + depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} @@ -1992,6 +2135,15 @@ packages: domutils@3.2.2: resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + dts-resolver@3.0.0: + resolution: {integrity: sha512-1T1f+z+4tl9XD+m+0HBgWoL/nm0bOIffyWaUuUSBlFg/86IWvfx+wjNaO/ybU0AJzG9/Mi5hBUgGV6zCmWEN7Q==} + engines: {node: ^22.18.0 || >=24.0.0} + peerDependencies: + oxc-resolver: '>=11.0.0' + peerDependenciesMeta: + oxc-resolver: + optional: true + dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -2153,6 +2305,10 @@ packages: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} + get-tsconfig@5.0.0-beta.6: + resolution: {integrity: sha512-X6fBC0pmImC70gvX2zm56go9hx0MyoGVdG0tUCkg/D+Xnh5TJsOZ7iDbOdI3PvmtrDxnu1YdDufpK2QJX1Meqw==} + engines: {node: '>=20.20.0'} + gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} @@ -2185,6 +2341,9 @@ packages: resolution: {integrity: sha512-/Gng7NfoykZl2pjukW5Z6+8Yxm3BPRf86GTbQnt0SbySkvax4fyL4H3HhY1cCpBGmiW9XDRFzRV+CXK2W8QudQ==} engines: {node: '>=16.9.0'} + hookable@6.1.2: + resolution: {integrity: sha512-+abwxtiEA52GCVIsQqut3S/uKTbUwYIp4Pe/vv+6py5XiXBCqMZHg6pA6Y5qhgLSEys0/cYuPbO0z1QFj5ZCmg==} + hosted-git-info@10.1.1: resolution: {integrity: sha512-DeOnSPAvOndYKfw075gt8yZzQ7S2hNztw34zBTfhIzLhmBTswIBg5/y+pqu/VD5cYWm5goAFTusDmUEmKZ0PEQ==} engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} @@ -2222,6 +2381,10 @@ packages: import-meta-resolve@4.2.0: resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} + import-without-cache@0.4.1: + resolution: {integrity: sha512-vXoV9PjKHEednCUu01e98TkImxy67e3BJXbTIOmIq4Hyzw3IAwYRcuPkfeTzJzwyyts4kjuA73x+pWJLc4f86A==} + engines: {node: ^22.18.0 || >=24.0.0} + inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -2486,6 +2649,10 @@ packages: resolution: {integrity: sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q==} engines: {node: '>=12.20.0'} + obug@3.0.0: + resolution: {integrity: sha512-5vvB5+W7ePv+p3uqxi+RcW1XAzLW0/hxt3/4X4Lc4qHudzOhmBiBwOY6DRob4WnanAEGvNcLjF+KNOufrUoEQw==} + engines: {node: '>=12.20.0'} + on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} @@ -2597,6 +2764,9 @@ packages: resolution: {integrity: sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA==} engines: {node: '>=0.6'} + quansync@1.0.0: + resolution: {integrity: sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==} + range-parser@1.3.0: resolution: {integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==} engines: {node: '>= 0.6'} @@ -2616,10 +2786,35 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + restore-cursor@5.1.0: resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} engines: {node: '>=18'} + rolldown-plugin-dts@0.28.6: + resolution: {integrity: sha512-qKrFtBfRfR2hP233m7Ic9zf3wv6MSYdZghWKMdEO6dRYZGlNfINJAa1P5ZVvyHh3mrcd7IJQvIY8L9vnm+v5rQ==} + engines: {node: ^22.18.0 || ^24.11.0 || >=26.0.0} + peerDependencies: + '@typescript/native-preview': '*' + '@volar/typescript': ~2.4.0 + '@vue/language-core': ~3.2.0 || ~3.3.0 + rolldown: ^1.2.0 + typescript: ^5.0.0 || ^6.0.0 || ~7.0.0 + vue-tsc: ~3.2.0 || ~3.3.0 + peerDependenciesMeta: + '@typescript/native-preview': + optional: true + '@volar/typescript': + optional: true + '@vue/language-core': + optional: true + typescript: + optional: true + vue-tsc: + optional: true + rolldown@1.1.5: resolution: {integrity: sha512-t9z29cJjXf/vxQ8dyhCSpt6H6aSwHTk8cT5I3iy6SMXuFpk5mB6PL6XfC8PCwrPTx93udwKUm9HRteAlTGBLiA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2791,6 +2986,44 @@ packages: resolution: {integrity: sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==} engines: {node: '>=20'} + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + + tsdown@0.23.0: + resolution: {integrity: sha512-BaT+ep1xnj5hdyICLd5r5SYYE+TXnI1ATePLykv9vcKpHpFTWUWRH+x1AF/E2qcu3YB6+vI8IdyxIIIffEqw5Q==} + engines: {node: ^22.18.0 || ^24.11.0 || >=26.0.0} + hasBin: true + peerDependencies: + '@arethetypeswrong/core': ^0.18.1 + '@tsdown/css': 0.23.0 + '@tsdown/exe': 0.23.0 + '@vitejs/devtools': '*' + publint: ^0.3.8 + tsx: '*' + typescript: ^5.0.0 || ^6.0.0 || ^7.0.0 + unplugin-unused: '>=0.5.0' + unrun: '*' + peerDependenciesMeta: + '@arethetypeswrong/core': + optional: true + '@tsdown/css': + optional: true + '@tsdown/exe': + optional: true + '@vitejs/devtools': + optional: true + publint: + optional: true + tsx: + optional: true + typescript: + optional: true + unplugin-unused: + optional: true + unrun: + optional: true + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -2803,6 +3036,9 @@ packages: engines: {node: '>=14.17'} hasBin: true + unconfig-core@7.5.0: + resolution: {integrity: sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w==} + undici-types@7.18.2: resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} @@ -2840,6 +3076,10 @@ packages: resolution: {integrity: sha512-zj/ob3UsvJGN0whEAKFp53REA5X66hvffVqoCtVQAakJKnKlH+/PcOfMoFwIG/o4rElqLv/ycAFlx8ZlXUorCg==} engines: {node: '>=18.12.0'} + verkit@0.4.1: + resolution: {integrity: sha512-mMVzj0TXExtVdlDEq+Mzp0eyOuyznNpFobNM3uAqe3HVm/Ps2c+u17BligMkZjZCA6EiXpoon8iRTer3iu40SQ==} + engines: {node: '>=18.12.0'} + vite@8.1.5: resolution: {integrity: sha512-7ULLwsCdYx/nRyrpiEwvqb5TFHrMVZyBt+rg/OAXT7rgj/z+DtTDyKFeLAdDkubDVDKD8jOsndmy7m55XcfUsw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3038,6 +3278,15 @@ packages: resolution: {integrity: sha512-xYqdZFUK/VYazNl/oCDYN+3WloWQwMfZxBoiNt6qNyk+xfOdi598muWE42rNZFp1kNOiqW936q5RhUdnpqElSg==} engines: {node: '>=18'} + yuku-ast@0.10.2: + resolution: {integrity: sha512-UnG9mA6giglCvSErft2/40TVFX750Sj1xgwddPLpG7J7rlr/P1wPADg9G2RK+d/1tNLtRVoLdMMOMVBB9561TQ==} + + yuku-codegen@0.10.2: + resolution: {integrity: sha512-hentl2dtrF6cPjiAirtkfxfFZBA6Hdm61UqRJ7cA0qrlDNMk9PZGOjw5w1mx3E0hu/6pHcJF4dJW+D0SXHPZOA==} + + yuku-parser@0.10.2: + resolution: {integrity: sha512-CgaU0/PPjCAIEZ3WQroosOxTY3eeKldAN3h+vk8pMNz4+jl1CZzBR4pW+K/rRPF112VooCL5FdjJoiMNjDrL2A==} + zod-to-json-schema@3.25.2: resolution: {integrity: sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==} peerDependencies: @@ -4065,6 +4314,10 @@ snapshots: '@parcel/watcher-win32-x64': 2.6.0 optional: true + '@quansync/fs@1.1.0': + dependencies: + quansync: 1.0.0 + '@rolldown/binding-android-arm-eabi@1.2.9': optional: true @@ -4329,6 +4582,80 @@ snapshots: convert-source-map: 2.0.0 tinyrainbow: 3.1.1 + '@yuku-codegen/binding-android-arm64@0.10.2': + optional: true + + '@yuku-codegen/binding-darwin-arm64@0.10.2': + optional: true + + '@yuku-codegen/binding-darwin-x64@0.10.2': + optional: true + + '@yuku-codegen/binding-freebsd-x64@0.10.2': + optional: true + + '@yuku-codegen/binding-linux-arm-gnu@0.10.2': + optional: true + + '@yuku-codegen/binding-linux-arm-musl@0.10.2': + optional: true + + '@yuku-codegen/binding-linux-arm64-gnu@0.10.2': + optional: true + + '@yuku-codegen/binding-linux-arm64-musl@0.10.2': + optional: true + + '@yuku-codegen/binding-linux-x64-gnu@0.10.2': + optional: true + + '@yuku-codegen/binding-linux-x64-musl@0.10.2': + optional: true + + '@yuku-codegen/binding-win32-arm64@0.10.2': + optional: true + + '@yuku-codegen/binding-win32-x64@0.10.2': + optional: true + + '@yuku-parser/binding-android-arm64@0.10.2': + optional: true + + '@yuku-parser/binding-darwin-arm64@0.10.2': + optional: true + + '@yuku-parser/binding-darwin-x64@0.10.2': + optional: true + + '@yuku-parser/binding-freebsd-x64@0.10.2': + optional: true + + '@yuku-parser/binding-linux-arm-gnu@0.10.2': + optional: true + + '@yuku-parser/binding-linux-arm-musl@0.10.2': + optional: true + + '@yuku-parser/binding-linux-arm64-gnu@0.10.2': + optional: true + + '@yuku-parser/binding-linux-arm64-musl@0.10.2': + optional: true + + '@yuku-parser/binding-linux-x64-gnu@0.10.2': + optional: true + + '@yuku-parser/binding-linux-x64-musl@0.10.2': + optional: true + + '@yuku-parser/binding-win32-arm64@0.10.2': + optional: true + + '@yuku-parser/binding-win32-x64@0.10.2': + optional: true + + '@yuku-toolchain/types@0.10.2': {} + accepts@2.0.0: dependencies: mime-types: 3.0.2 @@ -4512,6 +4839,8 @@ snapshots: decimal.js@10.6.0: {} + defu@6.1.7: {} + depd@2.0.0: {} detect-libc@2.1.2: {} @@ -4547,6 +4876,8 @@ snapshots: domelementtype: 2.3.0 domhandler: 5.0.3 + dts-resolver@3.0.0: {} + dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 @@ -4733,6 +5064,10 @@ snapshots: dunder-proto: 1.0.1 es-object-atoms: 1.1.2 + get-tsconfig@5.0.0-beta.6: + dependencies: + resolve-pkg-maps: 1.0.0 + gopd@1.2.0: {} graceful-fs@4.2.11: {} @@ -4752,6 +5087,8 @@ snapshots: hono@4.13.8: {} + hookable@6.1.2: {} + hosted-git-info@10.1.1: dependencies: lru-cache: 11.5.3 @@ -4808,6 +5145,8 @@ snapshots: import-meta-resolve@4.2.0: {} + import-without-cache@0.4.1: {} + inherits@2.0.4: {} ip-address@10.7.2: {} @@ -5051,6 +5390,8 @@ snapshots: obug@2.2.1: {} + obug@3.0.0: {} + on-finished@2.4.1: dependencies: ee-first: 1.1.1 @@ -5194,6 +5535,8 @@ snapshots: es-define-property: 1.0.1 side-channel: 1.1.1 + quansync@1.0.0: {} + range-parser@1.3.0: {} raw-body@3.0.2: @@ -5209,11 +5552,27 @@ snapshots: require-from-string@2.0.2: {} + resolve-pkg-maps@1.0.0: {} + restore-cursor@5.1.0: dependencies: onetime: 7.0.0 signal-exit: 4.1.0 + rolldown-plugin-dts@0.28.6(rolldown@1.2.9)(typescript@6.0.3): + dependencies: + dts-resolver: 3.0.0 + get-tsconfig: 5.0.0-beta.6 + obug: 3.0.0 + rolldown: 1.2.9 + yuku-ast: 0.10.2 + yuku-codegen: 0.10.2 + yuku-parser: 0.10.2 + optionalDependencies: + typescript: 6.0.3 + transitivePeerDependencies: + - oxc-resolver + rolldown@1.1.5: dependencies: '@oxc-project/types': 0.139.0 @@ -5444,6 +5803,33 @@ snapshots: dependencies: punycode: 2.3.1 + tree-kill@1.2.2: {} + + tsdown@0.23.0(typescript@6.0.3): + dependencies: + cac: 7.0.0 + defu: 6.1.7 + empathic: 2.1.0 + hookable: 6.1.2 + import-without-cache: 0.4.1 + obug: 2.2.1 + picomatch: 4.0.7 + rolldown: 1.2.9 + rolldown-plugin-dts: 0.28.6(rolldown@1.2.9)(typescript@6.0.3) + tinyexec: 1.3.1 + tinyglobby: 0.2.17 + tree-kill: 1.2.2 + unconfig-core: 7.5.0 + verkit: 0.4.1 + optionalDependencies: + typescript: 6.0.3 + transitivePeerDependencies: + - '@typescript/native-preview' + - '@volar/typescript' + - '@vue/language-core' + - oxc-resolver + - vue-tsc + tslib@2.8.1: {} type-is@2.1.0: @@ -5454,6 +5840,11 @@ snapshots: typescript@6.0.3: {} + unconfig-core@7.5.0: + dependencies: + '@quansync/fs': 1.1.0 + quansync: 1.0.0 + undici-types@7.18.2: {} undici@7.29.1: {} @@ -5476,10 +5867,12 @@ snapshots: verkit@0.3.2: {} + verkit@0.4.1: {} + vite@8.1.5(@types/node@24.13.6)(esbuild@0.28.2)(sass@1.101.0): dependencies: lightningcss: 1.33.0 - picomatch: 4.0.5 + picomatch: 4.0.7 postcss: 8.5.28 rolldown: 1.1.5 tinyglobby: 0.2.17 @@ -5596,6 +5989,45 @@ snapshots: yoctocolors@2.2.0: {} + yuku-ast@0.10.2: + dependencies: + '@yuku-toolchain/types': 0.10.2 + + yuku-codegen@0.10.2: + dependencies: + '@yuku-toolchain/types': 0.10.2 + optionalDependencies: + '@yuku-codegen/binding-android-arm64': 0.10.2 + '@yuku-codegen/binding-darwin-arm64': 0.10.2 + '@yuku-codegen/binding-darwin-x64': 0.10.2 + '@yuku-codegen/binding-freebsd-x64': 0.10.2 + '@yuku-codegen/binding-linux-arm-gnu': 0.10.2 + '@yuku-codegen/binding-linux-arm-musl': 0.10.2 + '@yuku-codegen/binding-linux-arm64-gnu': 0.10.2 + '@yuku-codegen/binding-linux-arm64-musl': 0.10.2 + '@yuku-codegen/binding-linux-x64-gnu': 0.10.2 + '@yuku-codegen/binding-linux-x64-musl': 0.10.2 + '@yuku-codegen/binding-win32-arm64': 0.10.2 + '@yuku-codegen/binding-win32-x64': 0.10.2 + + yuku-parser@0.10.2: + dependencies: + '@yuku-toolchain/types': 0.10.2 + yuku-ast: 0.10.2 + optionalDependencies: + '@yuku-parser/binding-android-arm64': 0.10.2 + '@yuku-parser/binding-darwin-arm64': 0.10.2 + '@yuku-parser/binding-darwin-x64': 0.10.2 + '@yuku-parser/binding-freebsd-x64': 0.10.2 + '@yuku-parser/binding-linux-arm-gnu': 0.10.2 + '@yuku-parser/binding-linux-arm-musl': 0.10.2 + '@yuku-parser/binding-linux-arm64-gnu': 0.10.2 + '@yuku-parser/binding-linux-arm64-musl': 0.10.2 + '@yuku-parser/binding-linux-x64-gnu': 0.10.2 + '@yuku-parser/binding-linux-x64-musl': 0.10.2 + '@yuku-parser/binding-win32-arm64': 0.10.2 + '@yuku-parser/binding-win32-x64': 0.10.2 + zod-to-json-schema@3.25.2(zod@4.4.3): dependencies: zod: 4.4.3